@import '_content/Revio.Shared/Revio.Shared.bundle.scp.css';

/* _content/Revio.Web/Pages/Admin/Index.razor.rz.scp.css */
.bo-page[b-fbk21sdoei] {
    padding: 24px 32px;
    background: #F8FAFC;
    min-height: 100vh;
    font-family: var(--font-heading);
}

.bo-header[b-fbk21sdoei] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
}

.bo-header h1[b-fbk21sdoei] {
    margin: 0 0 4px;
    font-size: 22px;
    color: #1E293B;
}

.bo-sub[b-fbk21sdoei] {
    font-size: 13px;
    color: #64748B;
    margin: 0;
}

.bo-pill[b-fbk21sdoei] {
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
    background: #DC2626;
    color: #fff;
    letter-spacing: 0.5px;
}

.bo-banner[b-fbk21sdoei] {
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 12px;
    font-size: 13px;
}

.bo-banner--error[b-fbk21sdoei] { background: #FEF2F2; border: 1px solid #FCA5A5; color: #991B1B; }
.bo-banner--success[b-fbk21sdoei] { background: #DCFCE7; border: 1px solid #86EFAC; color: #166534; }

.bo-grid[b-fbk21sdoei] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.bo-card[b-fbk21sdoei] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 20px;
}

.bo-card--full[b-fbk21sdoei] { grid-column: 1 / -1; }

.bo-card-title[b-fbk21sdoei] {
    margin: 0 0 6px;
    font-size: 15px;
    color: #1E293B;
}

.bo-card-sub[b-fbk21sdoei] {
    font-size: 12px;
    color: #64748B;
    margin: 0 0 12px;
}

.bo-table[b-fbk21sdoei] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.bo-table th[b-fbk21sdoei], .bo-table td[b-fbk21sdoei] {
    text-align: left;
    padding: 8px 10px;
    border-bottom: 1px solid #F1F5F9;
}

.bo-table th[b-fbk21sdoei] {
    font-size: 11px;
    text-transform: uppercase;
    color: #94A3B8;
    font-weight: 700;
}

.bo-cell-action[b-fbk21sdoei] { width: 110px; text-align: right; }
.bo-cell-desc[b-fbk21sdoei] { color: #475569; }
.bo-email[b-fbk21sdoei] { font-family: var(--font-monospace); font-size: 12px; color: #475569; }

.bo-state[b-fbk21sdoei] {
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
}

.bo-state--on[b-fbk21sdoei] { background: #DCFCE7; color: #166534; }
.bo-state--off[b-fbk21sdoei] { background: #FEF2F2; color: #991B1B; }

.bo-pill--blue[b-fbk21sdoei] { background: #EFF6FF; color: #1E40AF; }
.bo-pill--purple[b-fbk21sdoei] { background: #F5F3FF; color: #6D28D9; }

.bo-grant-row[b-fbk21sdoei], .bo-create-row[b-fbk21sdoei] {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.bo-input[b-fbk21sdoei] {
    flex: 1;
    padding: 8px 10px;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    font-size: 13px;
    font-family: var(--font-monospace);
}

.bo-input--wide[b-fbk21sdoei] { flex: 2; font-family: inherit; }

[b-fbk21sdoei] .bo-btn-grant {
    background: #2563EB;
    color: #fff;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

[b-fbk21sdoei] .bo-btn-grant:disabled {
    background: #CBD5E1;
    cursor: not-allowed;
}

[b-fbk21sdoei] .bo-btn-revoke {
    background: transparent;
    border: 1px solid #FCA5A5;
    color: #B91C1C;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 11px;
    cursor: pointer;
}

[b-fbk21sdoei] .bo-btn-toggle {
    background: transparent;
    border: 1px solid #E2E8F0;
    color: #1E293B;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 11px;
    cursor: pointer;
}

.bo-forbidden[b-fbk21sdoei] {
    text-align: center;
    padding: 80px 32px;
    color: #475569;
}

.bo-forbidden h2[b-fbk21sdoei] { color: #B91C1C; margin: 0 0 8px; }
.bo-forbidden a[b-fbk21sdoei] { color: #2563EB; }

/* Sprint 36 - System health */
.bo-health-grid[b-fbk21sdoei] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    margin-bottom: 8px;
}

.bo-health-tile[b-fbk21sdoei] {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bo-health-tile--ok[b-fbk21sdoei] { border-color: #86EFAC; background: #F0FDF4; }
.bo-health-tile--ko[b-fbk21sdoei] { border-color: #FCA5A5; background: #FEF2F2; }

.bo-health-label[b-fbk21sdoei] {
    font-size: 11px;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

.bo-health-value[b-fbk21sdoei] {
    font-size: 20px;
    color: #0F172A;
    font-weight: 700;
}

.bo-health-meta[b-fbk21sdoei] {
    margin-top: 8px;
    font-family: var(--font-monospace);
}

/* Sprint 36 - Activity log */
.bo-activity-filters[b-fbk21sdoei] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.bo-activity-filters .bo-input[b-fbk21sdoei] {
    flex: 1;
    min-width: 160px;
}

.bo-cell-mono[b-fbk21sdoei] {
    font-family: var(--font-monospace);
    font-size: 12px;
    color: #475569;
}

.bo-cell-payload[b-fbk21sdoei] {
    font-family: var(--font-monospace);
    font-size: 11px;
    color: #64748B;
    max-width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bo-activity-pager[b-fbk21sdoei] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    justify-content: flex-end;
}

.bo-pager-info[b-fbk21sdoei] {
    font-size: 12px;
    color: #475569;
    font-family: var(--font-monospace);
}

@media (max-width: 1100px) {
    .bo-health-grid[b-fbk21sdoei] { grid-template-columns: repeat(3, 1fr); }
}

/* Sprint 37 - Suspension dialog + Provisioning */
.bo-suspend-dialog[b-fbk21sdoei] {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #FCA5A5;
    border-radius: 8px;
    background: #FEF2F2;
}

.bo-suspend-dialog-title[b-fbk21sdoei] {
    font-size: 13px;
    color: #991B1B;
    margin-bottom: 8px;
}

.bo-suspend-dialog-actions[b-fbk21sdoei] {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    justify-content: flex-end;
}

.bo-provision-grid[b-fbk21sdoei] {
    display: grid;
    grid-template-columns: 2fr 1fr 2fr 1fr 1fr 1fr auto;
    gap: 8px;
    align-items: stretch;
}

@media (max-width: 1200px) {
    .bo-provision-grid[b-fbk21sdoei] { grid-template-columns: 1fr 1fr; }
}
/* _content/Revio.Web/Pages/Comptabilite/Consultation.razor.rz.scp.css */
/* Consultation - 7 onglets - scoped styles */

.consultation-layout[b-0noa2vvxc7] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-card);
    padding: var(--spacing-md);
}

/* Tab content padding */
.consultation-tab-content[b-0noa2vvxc7] {
    padding: var(--spacing-sm) 0;
}

/* --- Barre de filtres contextuelle --- */
.consultation-filter-bar[b-0noa2vvxc7] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
    background: var(--bg-primary);
    border-radius: var(--border-radius-md);
    border: 1px solid var(--border-color);
    padding: 8px 12px;
    flex-wrap: wrap;
}

.filter-bar-title[b-0noa2vvxc7] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.filter-bar-sep[b-0noa2vvxc7] {
    width: 1px;
    height: 16px;
    background: var(--border-color);
}

.filter-bar-spacer[b-0noa2vvxc7] {
    flex: 1;
}

.filter-bar-label[b-0noa2vvxc7] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    white-space: nowrap;
}

/* --- DatePicker inline dans la barre de filtre --- */
[b-0noa2vvxc7] .consultation-datepicker {
    max-width: 140px;
}

[b-0noa2vvxc7] .consultation-datepicker .e-input-group {
    font-size: var(--font-size-sm);
    border-radius: var(--border-radius-md);
}

/* --- Inputs filtres --- */
.consultation-search-input[b-0noa2vvxc7] {
    padding: var(--spacing-xs) var(--spacing-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
    background: var(--input-bg);
    color: var(--text-primary);
}

.consultation-search-sm[b-0noa2vvxc7] {
    width: 140px;
}

.consultation-search-input:focus[b-0noa2vvxc7] {
    outline: none;
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 20%, transparent);
}

.consultation-select[b-0noa2vvxc7] {
    padding: var(--spacing-xs) var(--spacing-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
    background: var(--input-bg);
    color: var(--text-primary);
    min-width: 130px;
}

/* --- Detail header --- */
.consultation-detail-header[b-0noa2vvxc7] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
    padding-bottom: var(--spacing-sm);
    border-bottom: 1px solid var(--border-color);
}

.consultation-detail-info[b-0noa2vvxc7] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.consultation-detail-compte[b-0noa2vvxc7] {
    font-size: var(--font-size-md);
    font-weight: 600;
    color: var(--text-primary);
}

.consultation-detail-solde[b-0noa2vvxc7] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-family: var(--font-monospace);
}

/* --- Empty state --- */
.consultation-empty[b-0noa2vvxc7] {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-lg);
}

.consultation-empty-icon[b-0noa2vvxc7] {
    font-size: var(--font-size-2xl);
    color: var(--text-muted);
    margin-bottom: var(--spacing-md);
    display: block;
}

.consultation-empty p[b-0noa2vvxc7] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0;
}

/* --- Montants colores --- */
.montant-debiteur[b-0noa2vvxc7] {
    color: var(--accent-danger);
    font-family: var(--font-monospace);
    font-weight: 500;
}

.montant-crediteur[b-0noa2vvxc7] {
    color: var(--accent-success);
    font-family: var(--font-monospace);
    font-weight: 500;
}

/* --- Totaux grille --- */
.consultation-total[b-0noa2vvxc7] {
    font-weight: 700;
    font-family: var(--font-monospace);
    color: var(--text-primary);
}

/* --- Statuts ecritures --- */
.revio-status-badge[b-0noa2vvxc7] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-xs);
    font-weight: 500;
}

.revio-status-badge .dot[b-0noa2vvxc7] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.statut-brouillard .dot[b-0noa2vvxc7] { background: var(--accent-warning); }
.statut-validee .dot[b-0noa2vvxc7] { background: var(--accent-success); }
.statut-situation .dot[b-0noa2vvxc7] { background: var(--accent-primary); }
.statut-contrepassee .dot[b-0noa2vvxc7] { background: var(--accent-danger); }
.statut-simulee .dot[b-0noa2vvxc7] { background: var(--accent-purple); }

/* --- Audit badge --- */
.revio-audit-badge[b-0noa2vvxc7] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 3px;
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
}

/* --- TVA KPI Cards --- */
.tva-kpi-row[b-0noa2vvxc7] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}

.tva-kpi-card[b-0noa2vvxc7] {
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-md) var(--spacing-lg);
    text-align: center;
}

.tva-kpi-label[b-0noa2vvxc7] {
    font-size: var(--font-size-sm);
    font-weight: 500;
    margin-bottom: var(--spacing-xs);
}

.tva-kpi-value[b-0noa2vvxc7] {
    font-size: var(--font-size-xl);
    font-weight: 700;
    font-family: var(--font-monospace);
}

.tva-kpi-collectee[b-0noa2vvxc7] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
}

.tva-kpi-deductible[b-0noa2vvxc7] {
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    color: var(--accent-success);
}

.tva-kpi-apayer[b-0noa2vvxc7] {
    background: color-mix(in srgb, var(--accent-danger) 10%, transparent);
    color: var(--accent-danger);
}

.tva-kpi-credit[b-0noa2vvxc7] {
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    color: var(--accent-success);
}

/* --- TVA footer --- */
.tva-footer[b-0noa2vvxc7] {
    padding: 8px 12px;
    border-top: 1px solid var(--border-color);
    text-align: right;
    margin-top: var(--spacing-sm);
}

.tva-footer-label[b-0noa2vvxc7] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.tva-footer-value[b-0noa2vvxc7] {
    font-size: var(--font-size-md);
    font-weight: 700;
    font-family: var(--font-monospace);
    color: var(--text-primary);
    margin-left: var(--spacing-sm);
}

/* Sprint 76 - Etats financiers (Bilan + CR ANC) */
[b-0noa2vvxc7] .ef-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: var(--text-primary);
}
[b-0noa2vvxc7] .ef-banner {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #F3F4F6;
    border-left: 4px solid #1E3A8A;
    padding: 10px 14px;
    margin-bottom: 16px;
    font-size: 13px;
    flex-wrap: wrap;
}
[b-0noa2vvxc7] .ef-banner-label {
    color: var(--text-muted);
}
[b-0noa2vvxc7] .ef-banner-sep {
    color: var(--text-muted);
    margin: 0 4px;
}
[b-0noa2vvxc7] .ef-banner-tag {
    background: #1E3A8A;
    color: #FFF;
    border-radius: 12px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
}
[b-0noa2vvxc7] .ef-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
@media (max-width: 1100px) {
    [b-0noa2vvxc7] .ef-grid { grid-template-columns: 1fr; }
}
[b-0noa2vvxc7] .ef-card {
    background: #FFF;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    overflow: hidden;
}
[b-0noa2vvxc7] .ef-card-header {
    background: #1E3A8A;
    color: #FFF;
    font-weight: 700;
    padding: 8px 14px;
    font-size: 13px;
    letter-spacing: 0.5px;
}
[b-0noa2vvxc7] .ef-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}
[b-0noa2vvxc7] .ef-table th {
    background: #F9FAFB;
    text-align: left;
    padding: 6px 10px;
    font-weight: 600;
    color: var(--text-muted);
    border-bottom: 1px solid #E5E7EB;
}
[b-0noa2vvxc7] .ef-table td {
    padding: 5px 10px;
    border-bottom: 1px solid #F3F4F6;
}
[b-0noa2vvxc7] .ef-num {
    text-align: right;
    font-family: var(--font-monospace);
}
[b-0noa2vvxc7] .ef-section {
    color: var(--text-muted);
    font-size: 11px;
    text-transform: uppercase;
}
[b-0noa2vvxc7] .ef-detail {
    color: var(--text-muted);
    font-size: 11px;
    font-family: var(--font-monospace);
}
/* #BL03 - Sous-lignes par compte (mode "Detail de comptes") */
[b-0noa2vvxc7] .ef-detail-row td {
    background: #FAFAFA;
    font-style: italic;
    color: #6B7280;
    font-size: 12px;
}
[b-0noa2vvxc7] .ef-detail-label {
    padding-left: 24px !important;
    font-family: var(--font-monospace);
}
[b-0noa2vvxc7] .ef-detail-num {
    font-family: var(--font-monospace);
}
[b-0noa2vvxc7] .ef-loading {
    margin-left: 4px;
    color: var(--text-muted);
    font-style: italic;
}
[b-0noa2vvxc7] .ef-total td {
    background: #F9FAFB;
    font-weight: 700;
    border-top: 2px solid #1E3A8A;
}
[b-0noa2vvxc7] .ef-total-resultat td {
    color: #1E3A8A;
}

/* ============================================================
   Sprint 87 — Disposition stricte ANC Bilan + CR
   ============================================================ */
[b-0noa2vvxc7] .ef-stack {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
[b-0noa2vvxc7] .ef-anc {
    table-layout: auto;
    width: 100%;
}
[b-0noa2vvxc7] .ef-anc th,
[b-0noa2vvxc7] .ef-anc td {
    border-bottom: 1px solid #E5E7EB;
    padding: 6px 10px;
    vertical-align: middle;
}
[b-0noa2vvxc7] .ef-col-roman {
    width: 48px;
    text-align: center;
    font-weight: 700;
    color: #1E3A8A;
    font-variant: small-caps;
}
[b-0noa2vvxc7] .ef-section-header td {
    background: #EEF2FF;
    color: #1E3A8A;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.3px;
    padding: 8px 10px;
}
[b-0noa2vvxc7] .ef-section-subtotal td {
    background: #F9FAFB;
    font-weight: 600;
    border-top: 1px dashed #CBD5E1;
}
[b-0noa2vvxc7] .ef-resultat-intermediaire td {
    background: #FEF3C7;
    color: #78350F;
    font-weight: 700;
    border-top: 2px solid #D97706;
    border-bottom: 2px solid #D97706;
}
/* _content/Revio.Web/Pages/Comptabilite/ExportFec.razor.rz.scp.css */
/* ============ Layout 2 colonnes ============ */
.export-grid[b-gd71xwno86] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.export-card[b-gd71xwno86] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    padding: 20px;
}

.export-card-header[b-gd71xwno86] {
    text-align: center;
    margin-bottom: 16px;
}

.export-card-icon[b-gd71xwno86] {
    font-size: var(--font-size-2xl);
    color: var(--accent-primary);
    display: block;
    margin-bottom: 4px;
}

.export-card-title[b-gd71xwno86] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.export-card-subtitle[b-gd71xwno86] {
    font-size: var(--font-size-xs);
    color: var(--text-tertiary);
    margin: 4px 0 0;
}

/* ============ Prerequis box ============ */
.export-prerequis[b-gd71xwno86] {
    background: color-mix(in srgb, var(--accent-warning) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 30%, transparent);
    border-radius: var(--border-radius-md);
    padding: 12px 14px;
    margin-bottom: 14px;
}

.export-prerequis-title[b-gd71xwno86] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--accent-warning);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.export-prerequis-item[b-gd71xwno86] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-xs);
    color: var(--text-tertiary);
    margin-top: 4px;
}

.export-prerequis-item .ok[b-gd71xwno86] {
    color: var(--accent-success);
}

.export-prerequis-icon[b-gd71xwno86] {
    font-size: var(--font-size-base);
}

.export-prerequis-icon.ok[b-gd71xwno86] {
    color: var(--accent-success);
}

.export-prerequis-icon.ko[b-gd71xwno86] {
    color: var(--text-tertiary);
}

/* ============ Controles section ============ */
.export-controles[b-gd71xwno86] {
    background: var(--bg-page);
    border-radius: var(--border-radius-md);
    padding: 12px;
    margin-bottom: 14px;
}

.export-controles-header[b-gd71xwno86] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.export-badge[b-gd71xwno86] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    margin-left: auto;
}

.export-badge.ok[b-gd71xwno86] {
    background: color-mix(in srgb, var(--accent-success) 15%, transparent);
    color: var(--accent-success);
}

.export-badge.warning[b-gd71xwno86] {
    background: color-mix(in srgb, var(--accent-warning) 15%, transparent);
    color: var(--accent-warning);
}

.export-badge.bloquant[b-gd71xwno86] {
    background: color-mix(in srgb, var(--accent-danger) 15%, transparent);
    color: var(--accent-danger);
}

.export-controles-loading[b-gd71xwno86] {
    text-align: center;
    padding: 16px;
}

.export-controles-list[b-gd71xwno86] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.export-controle-row[b-gd71xwno86] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 6px 8px;
    border-radius: var(--border-radius-sm);
}

.export-controle-row.ok[b-gd71xwno86] {
    color: var(--accent-success);
}

.export-controle-row.warning[b-gd71xwno86] {
    color: var(--accent-warning);
}

.export-controle-row.bloquant[b-gd71xwno86] {
    color: var(--accent-danger);
}

.export-controle-icon[b-gd71xwno86] {
    font-size: var(--font-size-sm);
    margin-top: 1px;
}

.export-controle-content[b-gd71xwno86] {
    flex: 1;
}

.export-controle-nom[b-gd71xwno86] {
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-primary);
}

.export-controle-detail[b-gd71xwno86] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
    margin-top: 1px;
}

.export-controle-badge[b-gd71xwno86] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 3px;
    white-space: nowrap;
}

.export-controle-badge.ok[b-gd71xwno86] { background: color-mix(in srgb, var(--accent-success) 15%, transparent); color: var(--accent-success); }
.export-controle-badge.warning[b-gd71xwno86] { background: color-mix(in srgb, var(--accent-warning) 15%, transparent); color: var(--accent-warning); }
.export-controle-badge.bloquant[b-gd71xwno86] { background: color-mix(in srgb, var(--accent-danger) 15%, transparent); color: var(--accent-danger); }

.export-rerun-btn[b-gd71xwno86] {
    margin-top: 6px;
}

/* ============ Bouton generer FEC ============ */
.export-fec-btn[b-gd71xwno86] {
    width: 100%;
    padding: 10px;
    font-size: var(--font-size-sm);
    font-weight: 600;
}

.export-fec-format[b-gd71xwno86] {
    font-size: var(--font-size-2xs);
    color: var(--text-tertiary);
    margin-top: 8px;
    text-align: center;
}

/* ============ Resultat export ============ */
.export-fec-result[b-gd71xwno86] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-success) 30%, transparent);
    border-radius: var(--border-radius-md);
    margin-top: 12px;
}

.export-fec-result-icon[b-gd71xwno86] {
    font-size: var(--font-size-xl);
    color: var(--accent-success);
}

.export-fec-result-title[b-gd71xwno86] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-success);
}

.export-fec-result-detail[b-gd71xwno86] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

/* ============ Historique ============ */
.export-historique[b-gd71xwno86] {
    border-top: 1px solid var(--border-color);
    margin-top: 16px;
    padding-top: 12px;
}

.export-historique-title[b-gd71xwno86] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.export-historique-row[b-gd71xwno86] {
    padding: 8px 0;
    border-bottom: 1px solid var(--border-color-light);
}

.export-historique-file[b-gd71xwno86] {
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--text-primary);
}

.export-historique-meta[b-gd71xwno86] {
    font-size: var(--font-size-2xs);
    color: var(--text-tertiary);
    margin-top: 2px;
}

.export-historique-empty[b-gd71xwno86] {
    font-size: var(--font-size-xs);
    color: var(--text-tertiary);
    font-style: italic;
}

/* ============ Excel export buttons ============ */
.export-excel-list[b-gd71xwno86] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* export-excel-btn replaced by revio-btn revio-btn-export - layout modifier for full-width list items */
.export-excel-layout[b-gd71xwno86] {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 10px 14px;
}

.export-excel-label[b-gd71xwno86] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    font-weight: 500;
}

.export-excel-badge[b-gd71xwno86] {
    font-size: var(--font-size-2xs);
    color: var(--accent-primary);
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
}
/* _content/Revio.Web/Pages/Comptabilite/Immobilisations/ActifImmobilierForm.razor.rz.scp.css */
.immo-modal-backdrop[b-l3n22344y1] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 1100;
}

.immo-modal[b-l3n22344y1] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(720px, 90vw);
    max-height: 90vh;
    overflow-y: auto;
    background: var(--surface-card, #ffffff);
    border-radius: var(--radius-md, 8px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
    z-index: 1101;
    display: flex;
    flex-direction: column;
}

.immo-modal-header[b-l3n22344y1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-md, 16px) var(--spacing-lg, 24px);
    border-bottom: 1px solid var(--border-subtle, #e5e7eb);
}

.immo-modal-header h3[b-l3n22344y1] {
    margin: 0;
    color: var(--text-primary, #111827);
}

.immo-modal-close[b-l3n22344y1] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-secondary, #6b7280);
    font-size: 1.25rem;
    padding: 4px 8px;
}

.immo-modal-body[b-l3n22344y1] {
    padding: var(--spacing-lg, 24px);
    flex: 1;
}

.immo-form-grid[b-l3n22344y1] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md, 16px);
}

.immo-form-field[b-l3n22344y1] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.immo-form-field--full[b-l3n22344y1] {
    grid-column: 1 / -1;
}

.immo-form-field label[b-l3n22344y1] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-secondary, #4b5563);
}

.immo-modal-footer[b-l3n22344y1] {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm, 8px);
    padding: var(--spacing-md, 16px) var(--spacing-lg, 24px);
    border-top: 1px solid var(--border-subtle, #e5e7eb);
    background: var(--surface-subtle, #f9fafb);
}

@media (max-width: 640px) {
    .immo-form-grid[b-l3n22344y1] { grid-template-columns: 1fr; }
}
/* _content/Revio.Web/Pages/Comptabilite/Immobilisations/Detail.razor.rz.scp.css */
.immo-detail-actions[b-tynm5m0ysw] {
    display: flex;
    gap: var(--spacing-sm, 8px);
    align-items: center;
}

.immo-detail-grid[b-tynm5m0ysw] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-md, 16px);
    margin-bottom: var(--spacing-lg, 24px);
}

.immo-detail-card[b-tynm5m0ysw] {
    background: var(--surface-card, #ffffff);
    border: 1px solid var(--border-subtle, #e5e7eb);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-md, 16px) var(--spacing-lg, 24px);
}

.immo-detail-card.immo-vie-comptable[b-tynm5m0ysw] {
    border-left: 3px solid var(--accent-purple, #7c3aed);
}

.immo-detail-card h4[b-tynm5m0ysw] {
    margin: 0 0 var(--spacing-md, 12px);
    color: var(--text-primary, #111827);
    font-size: 1rem;
    border-bottom: 1px solid var(--border-subtle, #e5e7eb);
    padding-bottom: var(--spacing-sm, 8px);
}

.immo-detail-card dl[b-tynm5m0ysw] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px var(--spacing-md, 16px);
    margin: 0;
}

.immo-detail-card dt[b-tynm5m0ysw] {
    color: var(--text-secondary, #6b7280);
    font-size: 0.85rem;
}

.immo-detail-card dd[b-tynm5m0ysw] {
    margin: 0;
    color: var(--text-primary, #111827);
    font-weight: 500;
}

/* Onglets actif migres vers RevioTabBar (norme Revio - voir revio-app.css .revio-tab-bar) */

.immo-tab-panel[b-tynm5m0ysw] {
    background: var(--surface-card, #ffffff);
    border: 1px solid var(--border-subtle, #e5e7eb);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-lg, 24px);
}

.immo-tab-toolbar[b-tynm5m0ysw] {
    display: flex;
    gap: var(--spacing-md, 12px);
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: var(--spacing-md, 16px);
}

.immo-tab-toolbar label[b-tynm5m0ysw] { font-size: 0.9rem; color: var(--text-secondary, #6b7280); }

/* Sprint 73-bis : badge "Reste a decomposer" sur l'onglet Composants */
.composant-decompose-badge[b-tynm5m0ysw] {
    margin-left: auto;
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid;
}
.composant-decompose-badge .decompose-label[b-tynm5m0ysw] { color: var(--text-secondary, #6b7280); }
.composant-decompose-badge strong[b-tynm5m0ysw] { font-size: 1rem; }
.composant-decompose-badge .decompose-detail[b-tynm5m0ysw] {
    color: var(--text-secondary, #6b7280);
    font-size: 0.85rem;
}
.composant-decompose-badge.decompose-ok[b-tynm5m0ysw] {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}
.composant-decompose-badge.decompose-warn[b-tynm5m0ysw] {
    background: #fffbeb;
    color: #b45309;
    border-color: #fde68a;
}
.composant-decompose-badge.decompose-bad[b-tynm5m0ysw] {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.immo-amort-genere-form[b-tynm5m0ysw] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm, 8px);
    margin-left: auto;
    padding-left: var(--spacing-md, 16px);
    border-left: 1px solid var(--border-subtle, #e5e7eb);
}

.immo-empty-state[b-tynm5m0ysw] {
    background: var(--surface-subtle, #f9fafb);
    border: 1px dashed var(--border-subtle, #d1d5db);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-lg, 32px);
    text-align: center;
    color: var(--text-secondary, #6b7280);
}

.immo-cession-empty[b-tynm5m0ysw] {
    background: var(--surface-subtle, #f9fafb);
    border: 1px dashed var(--border-subtle, #d1d5db);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-lg, 32px);
    text-align: center;
}
.immo-cession-empty p[b-tynm5m0ysw] { color: var(--text-secondary, #6b7280); margin-bottom: var(--spacing-md, 16px); }

.immo-cession-card[b-tynm5m0ysw] {
    background: var(--surface-card, #ffffff);
    border: 1px solid var(--accent-orange, #f97316);
    border-left: 4px solid var(--accent-orange, #f97316);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-lg, 24px);
}
.immo-cession-card h4[b-tynm5m0ysw] {
    margin: 0 0 var(--spacing-md, 16px);
    color: var(--accent-orange, #f97316);
}
.immo-cession-card dl[b-tynm5m0ysw] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 8px var(--spacing-md, 16px);
}
.immo-cession-card dt[b-tynm5m0ysw] { color: var(--text-secondary, #6b7280); font-size: 0.9rem; }
.immo-cession-card dd[b-tynm5m0ysw] { margin: 0; font-weight: 500; }

.txt-success[b-tynm5m0ysw] { color: var(--accent-green, #16a34a); }
.txt-danger[b-tynm5m0ysw] { color: var(--accent-red, #dc2626); }

.revio-modal-backdrop[b-tynm5m0ysw] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, 0.5);
    display: flex; align-items: center; justify-content: center;
    z-index: 1000;
}
.revio-modal[b-tynm5m0ysw] {
    background: #fff; border-radius: var(--radius-lg, 12px);
    width: min(560px, 95vw); max-height: 90vh; display: flex; flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}
.revio-modal-header[b-tynm5m0ysw] {
    display: flex; align-items: center; justify-content: space-between;
    padding: var(--spacing-md, 16px) var(--spacing-lg, 24px);
    border-bottom: 1px solid var(--border-subtle, #e5e7eb);
}
.revio-modal-header h3[b-tynm5m0ysw] { margin: 0; font-size: 1.1rem; color: var(--text-primary, #111827); }
.revio-modal-close[b-tynm5m0ysw] {
    background: transparent; border: none; font-size: 1.5rem;
    color: var(--text-secondary, #6b7280); cursor: pointer; line-height: 1;
}
.revio-modal-body[b-tynm5m0ysw] {
    padding: var(--spacing-lg, 24px); overflow-y: auto;
    display: flex; flex-direction: column; gap: var(--spacing-md, 12px);
}
.revio-modal-footer[b-tynm5m0ysw] {
    display: flex; justify-content: flex-end; gap: var(--spacing-sm, 8px);
    padding: var(--spacing-md, 16px) var(--spacing-lg, 24px);
    border-top: 1px solid var(--border-subtle, #e5e7eb);
}
.form-row[b-tynm5m0ysw] { display: flex; flex-direction: column; gap: 4px; }
.form-row label[b-tynm5m0ysw] { font-size: 0.85rem; color: var(--text-secondary, #6b7280); }
.form-row-2col[b-tynm5m0ysw] { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-md, 12px); }
.revio-btn-sm[b-tynm5m0ysw] { padding: 4px 8px !important; font-size: 0.8rem !important; margin-right: 4px; }

.revio-alert[b-tynm5m0ysw] {
    padding: var(--spacing-sm, 8px) var(--spacing-md, 16px);
    border-radius: var(--radius-md, 8px);
    margin-bottom: var(--spacing-md, 16px);
    font-size: 0.9rem;
}
.revio-alert-error[b-tynm5m0ysw] {
    background: #fef2f2; color: #991b1b; border: 1px solid #fecaca;
}
.revio-alert-success[b-tynm5m0ysw] {
    background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0;
}

/* Sprint 65 - Vie economique */
.immo-econ-kpis[b-tynm5m0ysw] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-md, 16px);
    margin-bottom: var(--spacing-lg, 24px);
}

.immo-econ-kpi[b-tynm5m0ysw] {
    background: var(--surface-card, #ffffff);
    border: 1px solid var(--border-subtle, #e5e7eb);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-md, 16px);
    border-left: 3px solid var(--accent-purple, #7c3aed);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.immo-econ-kpi-label[b-tynm5m0ysw] {
    color: var(--text-secondary, #6b7280);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.immo-econ-kpi-value[b-tynm5m0ysw] {
    color: var(--text-primary, #111827);
    font-size: 1.4rem;
    font-weight: 600;
}

.immo-econ-kpi-sub[b-tynm5m0ysw] {
    color: var(--text-tertiary, #9ca3af);
    font-size: 0.78rem;
}

.immo-subtabs[b-tynm5m0ysw] {
    margin-top: var(--spacing-md, 16px);
}

.txt-success[b-tynm5m0ysw] { color: #16a34a; }
.txt-danger[b-tynm5m0ysw] { color: #dc2626; }

.immo-checkbox[b-tynm5m0ysw] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-top: 6px;
}

.grid-cell-sub[b-tynm5m0ysw] {
    color: var(--text-tertiary, #9ca3af);
    font-size: 0.75rem;
    margin-top: 2px;
}

/* Sprint 68 - Bandeaux depreciation IAS 36 */
.immo-dep-banner[b-tynm5m0ysw] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.immo-dep-banner-warn[b-tynm5m0ysw] {
    background: #fef3c7;
    border: 1px solid #f59e0b;
    color: #78350f;
}
.immo-dep-banner-info[b-tynm5m0ysw] {
    background: #dbeafe;
    border: 1px solid #3b82f6;
    color: #1e3a8a;
}
.immo-dep-banner strong[b-tynm5m0ysw] { font-weight: 600; }
.immo-dep-banner .revio-btn[b-tynm5m0ysw] { margin-left: auto; }
.immo-dep-info[b-tynm5m0ysw] {
    margin-top: 12px;
    padding: 10px 14px;
    background: #f3f4f6;
    border-left: 3px solid #6b7280;
    color: #374151;
    font-size: 0.85rem;
}
.badge[b-tynm5m0ysw] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 600;
}
.badge-warn[b-tynm5m0ysw] { background: #fef3c7; color: #78350f; }
.badge-info[b-tynm5m0ysw] { background: #dbeafe; color: #1e3a8a; }

/* Sprint 72 - Onglet Rapprochement composants <-> ecritures */
.reconcile-status[b-tynm5m0ysw] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 8px;
    margin: 12px 0;
    font-size: 0.95rem;
}
.reconcile-status-ok[b-tynm5m0ysw] {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
}
.reconcile-status-warn[b-tynm5m0ysw] {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #78350f;
}
.reconcile-section-title[b-tynm5m0ysw] {
    margin: 18px 0 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #374151;
}
.reconcile-section-header[b-tynm5m0ysw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 18px 0 8px;
}

/* Sprint 72 - hint categorie IFRS sous le dropdown PCG */
.composant-pcg-hint[b-tynm5m0ysw] {
    margin-top: 4px;
    padding: 6px 10px;
    background: #eef2ff;
    border-left: 3px solid #6366f1;
    color: #3730a3;
    font-size: 0.82rem;
    border-radius: 4px;
}
/* _content/Revio.Web/Pages/Comptabilite/Immobilisations/Index.razor.rz.scp.css */
/* Module Immobilisations - liste */

.immo-kpis[b-d8mrb7s72t] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--spacing-md, 16px);
    margin-bottom: var(--spacing-lg, 24px);
}

.immo-grid-wrapper[b-d8mrb7s72t] {
    background: var(--surface-card, #ffffff);
    border-radius: var(--radius-md, 8px);
    border: 1px solid var(--border-subtle, #e5e7eb);
    padding: var(--spacing-md, 16px);
}

.immo-loading[b-d8mrb7s72t] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm, 8px);
    padding: var(--spacing-xl, 32px);
    color: var(--text-secondary, #6b7280);
}

.immo-loading .e-spin[b-d8mrb7s72t] {
    animation: spin-b-d8mrb7s72t 1s linear infinite;
}

@keyframes spin-b-d8mrb7s72t {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.immo-empty[b-d8mrb7s72t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-xl, 48px);
    text-align: center;
    color: var(--text-secondary, #6b7280);
}

.immo-empty .e-icons[b-d8mrb7s72t] {
    font-size: 3rem;
    color: var(--text-disabled, #9ca3af);
    margin-bottom: var(--spacing-md, 16px);
}

.immo-empty h3[b-d8mrb7s72t] {
    margin: 0 0 var(--spacing-sm, 8px);
    color: var(--text-primary, #111827);
}

.immo-empty p[b-d8mrb7s72t] {
    margin: 0;
    font-size: 0.9rem;
}

.revio-alert[b-d8mrb7s72t] {
    padding: var(--spacing-md, 16px);
    border-radius: var(--radius-sm, 6px);
    margin-bottom: var(--spacing-md, 16px);
}

.revio-alert-error[b-d8mrb7s72t] {
    background: var(--accent-danger-bg, #fee2e2);
    color: var(--accent-danger, #b91c1c);
    border: 1px solid var(--accent-danger, #b91c1c);
}
/* _content/Revio.Web/Pages/Comptabilite/ImportFecModal.razor.rz.scp.css */
/* ══════ ImportFecModal - 3 etapes ══════ */

.ifm-container[b-1w76yrhtwo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    padding: var(--spacing-md);
}

/* Nav retour */
.ifm-nav-back[b-1w76yrhtwo] { margin-bottom: var(--spacing-xs); }
/* ifm-btn-link replaced by revio-btn revio-btn-flat */

/* Stepper */
.ifm-stepper[b-1w76yrhtwo] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: var(--spacing-sm) 0;
}
.ifm-step[b-1w76yrhtwo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 80px;
}
.ifm-step-circle[b-1w76yrhtwo] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-sm);
    font-weight: 600;
}
.ifm-step-active .ifm-step-circle[b-1w76yrhtwo] {
    background: var(--accent-primary);
    color: var(--text-on-accent);
}
.ifm-step-done .ifm-step-circle[b-1w76yrhtwo] {
    background: var(--accent-success);
    color: var(--text-on-accent);
}
.ifm-step-pending .ifm-step-circle[b-1w76yrhtwo] {
    background: var(--bg-secondary);
    color: var(--text-muted);
}
.ifm-step-label[b-1w76yrhtwo] {
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-secondary);
}
.ifm-step-active .ifm-step-label[b-1w76yrhtwo] {
    color: var(--accent-primary);
    font-weight: 600;
}
.ifm-step-connector[b-1w76yrhtwo] {
    width: 60px;
    height: 2px;
    background: var(--border-color);
    margin-bottom: 24px;
}
.ifm-connector-done[b-1w76yrhtwo] {
    background: var(--accent-success);
}

/* Section title */
.ifm-section-title[b-1w76yrhtwo] {
    font-size: var(--font-size-base);
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Step content */
.ifm-step-content[b-1w76yrhtwo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

/* Format card */
.ifm-format-card[b-1w76yrhtwo] {
    border: 2px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-md);
    background: var(--bg-card);
}
.ifm-format-selected[b-1w76yrhtwo] {
    border-color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 5%, var(--bg-card));
}
.ifm-format-header[b-1w76yrhtwo] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
.ifm-format-badge[b-1w76yrhtwo] {
    background: var(--accent-primary);
    color: var(--text-on-accent);
    font-size: var(--font-size-xs);
    font-weight: 700;
    padding: 2px 8px;
    border-radius: var(--border-radius-sm);
    letter-spacing: 0.5px;
}
.ifm-format-name[b-1w76yrhtwo] {
    font-size: var(--font-size-base);
    font-weight: 600;
    color: var(--text-primary);
}
.ifm-format-desc[b-1w76yrhtwo] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin-bottom: 8px;
}
.ifm-format-meta[b-1w76yrhtwo] {
    display: flex;
    gap: 16px;
}
.ifm-meta-item[b-1w76yrhtwo] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Info box */
.ifm-info-box[b-1w76yrhtwo] {
    display: flex;
    gap: 10px;
    padding: 12px;
    background: color-mix(in srgb, var(--accent-info) 8%, var(--bg-card));
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    line-height: 1.5;
}
.ifm-info-icon[b-1w76yrhtwo] { color: var(--accent-info); font-size: var(--font-size-lg); flex-shrink: 0; margin-top: 1px; }

.ifm-info-warning[b-1w76yrhtwo] {
    background: color-mix(in srgb, var(--accent-warning) 8%, var(--bg-card));
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, var(--border-color));
}
.ifm-info-warning .ifm-info-icon[b-1w76yrhtwo] { color: var(--accent-warning); }

.ifm-info-tiers[b-1w76yrhtwo] {
    background: color-mix(in srgb, var(--accent-success) 8%, var(--bg-card));
    border: 1px solid color-mix(in srgb, var(--accent-success) 25%, var(--border-color));
}
.ifm-info-tiers .ifm-info-icon[b-1w76yrhtwo] { color: var(--accent-success); }

/* Actions */
.ifm-actions[b-1w76yrhtwo] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: var(--spacing-sm);
}
.ifm-actions-split[b-1w76yrhtwo] {
    justify-content: space-between;
}

/* Dropzone */
.ifm-dropzone[b-1w76yrhtwo] {
    position: relative;
    border: 2px dashed var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: 32px;
    text-align: center;
    background: var(--bg-secondary);
    transition: all 0.2s;
    cursor: pointer;
}
.ifm-dropzone:hover[b-1w76yrhtwo], .ifm-dropzone-active[b-1w76yrhtwo] {
    border-color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 5%, var(--bg-secondary));
}
.ifm-file-input[b-1w76yrhtwo] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}
.ifm-dropzone-content[b-1w76yrhtwo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    pointer-events: none;
}
.ifm-dropzone-icon[b-1w76yrhtwo] { font-size: 32px; color: var(--accent-primary); }
.ifm-dropzone-main[b-1w76yrhtwo] { font-size: var(--font-size-base); font-weight: 600; color: var(--text-primary); }
.ifm-dropzone-sub[b-1w76yrhtwo] { font-size: var(--font-size-sm); color: var(--text-muted); }

/* File info */
.ifm-file-info[b-1w76yrhtwo] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: var(--border-radius-md);
    background: var(--bg-card);
    border: 1px solid var(--border-color);
}
.ifm-file-icon[b-1w76yrhtwo] { font-size: var(--font-size-xl); color: var(--accent-primary); }
.ifm-file-details[b-1w76yrhtwo] { display: flex; flex-direction: column; flex: 1; }
.ifm-file-name[b-1w76yrhtwo] { font-size: var(--font-size-sm); font-weight: 500; color: var(--text-primary); }
.ifm-file-size[b-1w76yrhtwo] { font-size: var(--font-size-xs); color: var(--text-muted); }
/* ifm-btn-remove replaced by revio-btn revio-btn-danger - layout modifier */
.ifm-btn-remove-layout[b-1w76yrhtwo] {
    padding: 4px;
    min-width: auto;
    min-height: auto;
}

/* Error */
.ifm-error-msg[b-1w76yrhtwo] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 14px;
    background: color-mix(in srgb, var(--accent-danger) 8%, var(--bg-card));
    border-radius: var(--border-radius-md);
    color: var(--accent-danger);
    font-size: var(--font-size-sm);
}

/* Summary bar */
.ifm-summary-bar[b-1w76yrhtwo] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 14px;
    background: var(--bg-secondary);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
}
.ifm-summary-item[b-1w76yrhtwo] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--text-secondary);
}
.ifm-summary-ok[b-1w76yrhtwo] { color: var(--accent-success); font-weight: 600; }
.ifm-summary-err[b-1w76yrhtwo] { color: var(--accent-danger); font-weight: 600; }
.ifm-summary-warn[b-1w76yrhtwo] { color: var(--accent-warning); font-weight: 600; }

/* Mapping section */
.ifm-mapping-section[b-1w76yrhtwo] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    background: color-mix(in srgb, var(--accent-warning) 6%, var(--bg-card));
    border-radius: var(--border-radius-lg);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 30%, var(--border-color));
}
.ifm-mapping-title[b-1w76yrhtwo] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-warning);
    display: flex;
    align-items: center;
    gap: 6px;
}
.ifm-mapping-desc[b-1w76yrhtwo] { font-size: var(--font-size-sm); color: var(--text-secondary); }
.ifm-mapping-hint[b-1w76yrhtwo] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    padding: 8px 10px;
    background: var(--bg-secondary);
    border-radius: var(--border-radius-md);
}
.ifm-mapping-hint .e-icons[b-1w76yrhtwo] { color: var(--accent-info); flex-shrink: 0; }
.ifm-mapping-table[b-1w76yrhtwo] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}
.ifm-mapping-table th[b-1w76yrhtwo] {
    text-align: left;
    padding: 6px 10px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-bottom: 1px solid var(--border-color);
}
.ifm-mapping-table td[b-1w76yrhtwo] {
    padding: 6px 10px;
    border-bottom: 1px solid var(--border-light);
}
.ifm-mapping-input-wrapper[b-1w76yrhtwo] { position: relative; }
.ifm-input[b-1w76yrhtwo] {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid var(--input-border);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
    background: var(--input-bg);
    color: var(--text-primary);
}
.ifm-input:focus[b-1w76yrhtwo] {
    border-color: var(--accent-primary);
    outline: none;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 15%, transparent);
}
.ifm-input-mono[b-1w76yrhtwo] { font-family: var(--font-monospace); }
.ifm-mapping-dropdown[b-1w76yrhtwo] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    max-height: 200px;
    overflow-y: auto;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-popup);
    z-index: 10;
}
.ifm-mapping-dropdown-item[b-1w76yrhtwo] {
    padding: 6px 10px;
    cursor: pointer;
    display: flex;
    gap: 8px;
    font-size: var(--font-size-sm);
}
.ifm-mapping-dropdown-item:hover[b-1w76yrhtwo] { background: var(--bg-hover); }

/* Errors section */
.ifm-errors-section[b-1w76yrhtwo] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    background: color-mix(in srgb, var(--accent-danger) 6%, var(--bg-card));
    border-radius: var(--border-radius-lg);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 30%, var(--border-color));
}
.ifm-errors-title[b-1w76yrhtwo] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-danger);
    display: flex;
    align-items: center;
    gap: 6px;
}
.ifm-errors-list[b-1w76yrhtwo] { display: flex; flex-direction: column; gap: 4px; }
.ifm-error-row[b-1w76yrhtwo] {
    display: flex;
    gap: 8px;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    align-items: flex-start;
}
.ifm-error-line[b-1w76yrhtwo] {
    font-weight: 600;
    color: var(--accent-danger);
    min-width: 70px;
    flex-shrink: 0;
}
.ifm-error-col[b-1w76yrhtwo] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    padding: 1px 6px;
    background: var(--bg-secondary);
    border-radius: 3px;
    flex-shrink: 0;
}
.ifm-error-msg-text[b-1w76yrhtwo] { flex: 1; }
.ifm-error-more[b-1w76yrhtwo] { font-size: var(--font-size-sm); color: var(--text-muted); font-style: italic; padding-top: 4px; }

/* Preview grid */
.ifm-preview-grid-container[b-1w76yrhtwo] {
    max-height: 400px;
    overflow: auto;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
}
.ifm-preview-table[b-1w76yrhtwo] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}
.ifm-preview-table thead[b-1w76yrhtwo] {
    position: sticky;
    top: 0;
    z-index: 2;
}
.ifm-preview-table th[b-1w76yrhtwo] {
    text-align: left;
    padding: 8px 10px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    background: var(--bg-primary);
    border-bottom: 1px solid var(--border-color);
}
.ifm-th-check[b-1w76yrhtwo] { width: 36px; text-align: center; }
.ifm-th-right[b-1w76yrhtwo] { text-align: right; }
.ifm-preview-table td[b-1w76yrhtwo] {
    padding: 6px 10px;
    border-bottom: 1px solid var(--border-light);
    color: var(--text-primary);
}
.ifm-td-check[b-1w76yrhtwo] { text-align: center; }
.ifm-td-right[b-1w76yrhtwo] { text-align: right; }
.ifm-td-lib[b-1w76yrhtwo] { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ifm-mono[b-1w76yrhtwo] { font-family: var(--font-monospace); }
.ifm-row-error[b-1w76yrhtwo] { background: color-mix(in srgb, var(--accent-danger) 5%, var(--bg-card)); }
.ifm-row-warn[b-1w76yrhtwo] { background: color-mix(in srgb, var(--accent-warning) 5%, var(--bg-card)); }

.ifm-badge-journal[b-1w76yrhtwo] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    padding: 2px 6px;
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-primary) 10%, var(--bg-card));
    color: var(--accent-primary);
}

/* Mapping badges */
.ifm-mapping-badge[b-1w76yrhtwo] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 10px;
}
.ifm-mapping-auto[b-1w76yrhtwo] {
    background: color-mix(in srgb, var(--accent-success) 10%, var(--bg-card));
    color: var(--accent-success);
}
.ifm-mapping-manuel[b-1w76yrhtwo] {
    background: color-mix(in srgb, var(--accent-primary) 10%, var(--bg-card));
    color: var(--accent-primary);
}
.ifm-mapping-inconnu[b-1w76yrhtwo] {
    background: color-mix(in srgb, var(--accent-warning) 10%, var(--bg-card));
    color: var(--accent-warning);
}

.ifm-preview-more[b-1w76yrhtwo] {
    text-align: center;
    padding: 8px;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    border-top: 1px solid var(--border-color);
}

/* Banque section */
.ifm-banque-section[b-1w76yrhtwo] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    background: color-mix(in srgb, var(--accent-primary) 6%, var(--bg-card));
    border-radius: var(--border-radius-lg);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 25%, var(--border-color));
}
.ifm-banque-title[b-1w76yrhtwo] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-primary);
    display: flex;
    align-items: center;
    gap: 6px;
}
.ifm-banque-desc[b-1w76yrhtwo] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}
.ifm-banque-table[b-1w76yrhtwo] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}
.ifm-banque-table th[b-1w76yrhtwo] {
    text-align: left;
    padding: 6px 10px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-bottom: 1px solid var(--border-color);
}
.ifm-banque-table td[b-1w76yrhtwo] {
    padding: 6px 10px;
    border-bottom: 1px solid var(--border-light);
}
.ifm-banque-libelle-readonly[b-1w76yrhtwo] {
    color: var(--text-secondary);
    font-style: italic;
}
.ifm-banque-badge[b-1w76yrhtwo] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 10px;
}
.ifm-banque-nouveau[b-1w76yrhtwo] {
    background: color-mix(in srgb, var(--accent-primary) 10%, var(--bg-card));
    color: var(--accent-primary);
}
.ifm-banque-existant[b-1w76yrhtwo] {
    background: color-mix(in srgb, var(--accent-success) 10%, var(--bg-card));
    color: var(--accent-success);
}
.ifm-banque-warn[b-1w76yrhtwo] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-sm);
    color: var(--accent-warning);
    padding: 8px 10px;
    background: color-mix(in srgb, var(--accent-warning) 8%, var(--bg-card));
    border-radius: var(--border-radius-md);
}
.ifm-text-muted[b-1w76yrhtwo] {
    color: var(--text-muted);
}

/* Sprint 75 - selecteur source local <-> SharePoint pour wizard import FEC */
.ifm-source-tabs[b-1w76yrhtwo] {
    display: inline-flex;
    background: var(--bg-subtle);
    border: 1px solid var(--border-subtle);
    border-radius: var(--border-radius-md);
    padding: 3px;
    gap: 2px;
    margin-bottom: 16px;
}
.ifm-source-tab[b-1w76yrhtwo] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: none;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    font-weight: 500;
    padding: 7px 14px;
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
}
.ifm-source-tab:hover[b-1w76yrhtwo] {
    color: var(--text-primary);
}
.ifm-source-tab-active[b-1w76yrhtwo] {
    background: var(--bg-card);
    color: var(--accent-primary);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.ifm-sharepoint-wrapper[b-1w76yrhtwo] {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--border-radius-md);
    padding: 16px;
}
.ifm-file-source[b-1w76yrhtwo] {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 8px;
    background: color-mix(in srgb, var(--accent-primary) 10%, var(--bg-card));
    color: var(--accent-primary);
    font-size: var(--font-size-xs);
    border-radius: var(--border-radius-sm);
    font-weight: 500;
}
/* _content/Revio.Web/Pages/Comptabilite/Index.razor.rz.scp.css */
/* Comptabilite Index - scoped styles */

/* --- Access denied --- */
.p-access-denied[b-dmv78pe8ce] {
    text-align: center;
    padding: var(--spacing-xl);
}

.p-access-denied .e-icons[b-dmv78pe8ce] {
    font-size: var(--font-size-2xl);
    color: var(--accent-danger);
    margin-bottom: var(--spacing-md);
}

.p-access-denied h2[b-dmv78pe8ce] {
    font-size: var(--font-size-xl);
    color: var(--text-primary);
    margin: 0 0 var(--spacing-sm);
}

.p-access-denied p[b-dmv78pe8ce] {
    color: var(--text-secondary);
    margin: 0 0 var(--spacing-lg);
}

/* --- Entity Header (compact 1 ligne) --- */
.revio-entity-header[b-dmv78pe8ce] {
    background: var(--gradient-hero);
    border-radius: var(--border-radius-md);
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: var(--spacing-sm);
}

.entity-header-name[b-dmv78pe8ce] {
    font-size: var(--font-size-md);
    font-weight: 700;
    color: var(--text-on-accent);
    white-space: nowrap;
}

.entity-header-meta[b-dmv78pe8ce] {
    font-size: var(--font-size-xs);
    color: var(--text-on-accent-faded);
    white-space: nowrap;
}

.entity-header-divider[b-dmv78pe8ce] {
    width: 1px;
    height: 18px;
    background: var(--divider-on-accent);
    flex-shrink: 0;
}

.entity-header-exercice-label[b-dmv78pe8ce] {
    font-size: var(--font-size-xs);
    color: var(--text-on-accent-faded);
    white-space: nowrap;
}

.entity-header-exercice-value[b-dmv78pe8ce] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-on-accent);
    font-family: var(--font-monospace);
    white-space: nowrap;
}

.entity-header-spacer[b-dmv78pe8ce] {
    flex: 1;
}

.entity-header-select[b-dmv78pe8ce] {
    background: var(--input-on-accent-bg);
    border: 1px solid var(--divider-on-accent);
    border-radius: var(--border-radius-sm);
    padding: 3px 10px;
    color: var(--text-on-accent);
    font-size: var(--font-size-md);
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    outline: none;
}

.entity-header-select:hover[b-dmv78pe8ce],
.entity-header-select:focus[b-dmv78pe8ce] {
    background: var(--divider-on-accent);
    border-color: var(--input-on-accent-border);
}

.entity-header-select option[b-dmv78pe8ce] {
    background: var(--bg-card);
    color: var(--text-primary);
}

/* --- Stepper --- */
.compta-stepper[b-dmv78pe8ce] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
    display: flex;
    align-items: center;
    margin-bottom: var(--spacing-md);
}

.compta-step[b-dmv78pe8ce] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}

.compta-step:hover[b-dmv78pe8ce] {
    background: color-mix(in srgb, var(--accent-primary) 5%, transparent);
}

.compta-step.active[b-dmv78pe8ce] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
}

.compta-step.placeholder[b-dmv78pe8ce] {
    opacity: 0.6;
}

.compta-step.placeholder:hover[b-dmv78pe8ce] {
    opacity: 0.85;
}

.compta-step-number[b-dmv78pe8ce] {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: var(--font-size-xs);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--border-color);
    color: var(--text-muted);
    flex-shrink: 0;
}

.compta-step.active .compta-step-number[b-dmv78pe8ce] {
    background: var(--accent-primary);
    color: var(--text-on-accent);
}

.compta-step-icon[b-dmv78pe8ce] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.compta-step.active .compta-step-icon[b-dmv78pe8ce] {
    color: var(--accent-primary);
}

.compta-step-label[b-dmv78pe8ce] {
    font-size: var(--font-size-sm);
    font-weight: 400;
    color: var(--text-muted);
}

.compta-step.active .compta-step-label[b-dmv78pe8ce] {
    font-weight: 600;
    color: var(--text-primary);
}

.compta-step-connector[b-dmv78pe8ce] {
    flex: 1;
    height: 1px;
    background: var(--border-color);
    margin: 0 var(--spacing-xs);
    min-width: 8px;
}

/* --- Placeholder for future steps --- */
.compta-placeholder[b-dmv78pe8ce] {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-lg);
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-card);
}

.compta-placeholder-icon[b-dmv78pe8ce] {
    font-size: var(--font-size-2xl);
    color: var(--text-muted);
    margin-bottom: var(--spacing-md);
    display: block;
}

.compta-placeholder h3[b-dmv78pe8ce] {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-xs);
}

.compta-placeholder p[b-dmv78pe8ce] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0;
}

/* --- Content area --- */
.compta-content[b-dmv78pe8ce] {
    min-height: 300px;
}
/* _content/Revio.Web/Pages/Comptabilite/Lettrage.razor.rz.scp.css */
.lettrage-layout[b-jij1236nzm] {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 12px;
    min-height: 400px;
}

/* --- Sidebar --- */
.lettrage-sidebar[b-jij1236nzm] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    overflow: hidden;
    align-self: start;
}

.lettrage-sidebar-header[b-jij1236nzm] {
    padding: 10px 12px;
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    gap: 6px;
}

.lettrage-sidebar-title[b-jij1236nzm] {
    flex: 1;
}

.lettrage-compte[b-jij1236nzm] {
    padding: 8px 12px;
    cursor: pointer;
    border-left: 3px solid transparent;
    border-bottom: 1px solid color-mix(in srgb, var(--border-color) 50%, transparent);
    transition: background 0.15s;
}

.lettrage-compte:hover[b-jij1236nzm] {
    background: color-mix(in srgb, var(--accent-primary) 5%, transparent);
}

.lettrage-compte.active[b-jij1236nzm] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    border-left-color: var(--accent-primary);
}

.lettrage-compte-header[b-jij1236nzm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.lettrage-compte-num[b-jij1236nzm] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    font-family: var(--font-monospace);
    color: var(--accent-primary);
}

.lettrage-lock-icon[b-jij1236nzm] {
    font-size: var(--font-size-xs);
    color: var(--accent-success);
}

.lettrage-compte-lib[b-jij1236nzm] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.lettrage-compte-stats[b-jij1236nzm] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
    opacity: 0.8;
}

.lettrage-sidebar-tip[b-jij1236nzm] {
    padding: 8px 12px;
    background: color-mix(in srgb, var(--accent-warning) 10%, transparent);
    border-top: 1px solid color-mix(in srgb, var(--accent-warning) 30%, transparent);
    font-size: var(--font-size-xs);
    color: var(--accent-warning);
    line-height: 1.5;
    display: flex;
    gap: 6px;
    align-items: flex-start;
}

/* --- Content --- */
.lettrage-content[b-jij1236nzm] {
    min-width: 0;
}

.lettrage-empty[b-jij1236nzm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
    color: var(--text-secondary);
}

.lettrage-empty-icon[b-jij1236nzm] {
    font-size: 40px;
    opacity: 0.3;
    margin-bottom: 12px;
}

.lettrage-content-header[b-jij1236nzm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
}

.lettrage-content-title[b-jij1236nzm] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.lettrage-content-num[b-jij1236nzm] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    font-family: var(--font-monospace);
    color: var(--text-primary);
}

.lettrage-content-lib[b-jij1236nzm] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.lettrage-solde-badge[b-jij1236nzm] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    font-family: var(--font-monospace);
    padding: 3px 8px;
    border-radius: 4px;
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
}

.lettrage-content-actions[b-jij1236nzm] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.lettrage-actions-spacer[b-jij1236nzm] {
    flex: 1;
}

/* --- Filtre segmente (Tous / Non lettrees / Lettrees) --- */
.lettrage-filtre-group[b-jij1236nzm] {
    display: inline-flex;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
}

/* lettrage-filtre-btn replaced by revio-btn revio-btn-flat - layout modifier for segmented filter */
.lettrage-filtre-layout[b-jij1236nzm] {
    padding: 4px 12px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    border: none;
    border-radius: 0;
    white-space: nowrap;
}

.lettrage-filtre-layout:not(:last-child)[b-jij1236nzm] {
    border-right: 1px solid var(--border-color);
}

.lettrage-filtre-layout.active[b-jij1236nzm] {
    background: var(--accent-primary);
    color: var(--text-on-accent);
}

/* --- Proposals --- */
.lettrage-proposals[b-jij1236nzm] {
    margin-bottom: 12px;
    padding: 12px;
    background: color-mix(in srgb, var(--accent-warning) 10%, transparent);
    border-radius: var(--border-radius-md);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 30%, transparent);
}

.lettrage-proposals-header[b-jij1236nzm] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-warning);
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.lettrage-proposals-info[b-jij1236nzm] {
    font-size: var(--font-size-xs);
    color: var(--accent-warning);
    margin-bottom: 10px;
    opacity: 0.85;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.lettrage-tolerance-inline[b-jij1236nzm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.lettrage-tolerance-label[b-jij1236nzm] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--accent-warning);
    white-space: nowrap;
}

[b-jij1236nzm] .lettrage-tolerance-input {
    max-width: 80px;
}

[b-jij1236nzm] .lettrage-tolerance-input .e-numerictextbox {
    font-size: var(--font-size-xs);
    font-family: var(--font-monospace);
    height: 26px;
}

[b-jij1236nzm] .lettrage-tolerance-input input.e-input {
    font-size: var(--font-size-xs);
    font-family: var(--font-monospace);
    padding: 2px 6px;
    height: 26px;
    text-align: right;
}

.lettrage-tolerance-unit[b-jij1236nzm] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--accent-warning);
}

.lettrage-proposal-item[b-jij1236nzm] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    background: var(--bg-card);
    border-radius: 6px;
    margin-bottom: 4px;
    font-size: var(--font-size-sm);
}

.lettrage-proposal-detail[b-jij1236nzm] {
    flex: 1;
    color: var(--text-primary);
}

.lettrage-proposal-montant[b-jij1236nzm] {
    font-weight: 600;
    font-family: var(--font-monospace);
}

.lettrage-proposal-methode[b-jij1236nzm] {
    font-size: var(--font-size-xs);
    padding: 2px 6px;
    border-radius: 4px;
}

.lettrage-proposal-methode.exact[b-jij1236nzm] {
    background: color-mix(in srgb, var(--accent-success) 15%, transparent);
    color: var(--accent-success);
}

.lettrage-proposal-methode.tolerance[b-jij1236nzm] {
    background: color-mix(in srgb, var(--accent-warning) 15%, transparent);
    color: var(--accent-warning);
}

.lettrage-proposal-ecart[b-jij1236nzm] {
    font-size: var(--font-size-xs);
    color: var(--accent-warning);
}

/* --- Grid badges --- */
.lettrage-code-badge[b-jij1236nzm] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--accent-success);
}

.lettrage-code-empty[b-jij1236nzm] {
    color: var(--text-secondary);
    opacity: 0.5;
}

.lettrage-statut-badge[b-jij1236nzm] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 3px;
}

.lettrage-statut-badge.lettre[b-jij1236nzm] {
    background: color-mix(in srgb, var(--accent-success) 15%, transparent);
    color: var(--accent-success);
}

.lettrage-statut-badge.non-lettre[b-jij1236nzm] {
    background: color-mix(in srgb, var(--accent-warning) 15%, transparent);
    color: var(--accent-warning);
}

/* --- Footer --- */
.lettrage-footer[b-jij1236nzm] {
    padding: 6px 10px;
    border-top: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 4px;
}

.lettrage-footer-solde[b-jij1236nzm] {
    font-weight: 600;
    font-family: var(--font-monospace);
    color: var(--accent-warning);
}

/* --- Navigation tiers --- */
.lettrage-tiers-nav[b-jij1236nzm] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
}

.lettrage-tiers-nav-hint[b-jij1236nzm] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    white-space: nowrap;
    margin-right: 2px;
}

/* lettrage-tiers-nav-btn replaced by revio-btn revio-btn-flat - layout-only modifier */
.lettrage-tiers-nav-layout[b-jij1236nzm] {
    border: 1px solid var(--border-color);
    font-size: var(--font-size-xs);
    font-weight: 600;
    white-space: nowrap;
}

.lettrage-tiers-nav-layout .e-icons[b-jij1236nzm] {
    font-size: var(--font-size-xs);
}

.lettrage-tiers-nav-label[b-jij1236nzm] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
    width: 240px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lettrage-tiers-badge[b-jij1236nzm] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    padding: 2px 8px;
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-info) 10%, transparent);
    color: var(--accent-info);
}

/* --- Barre de selection lettrage --- */
.lettrage-selection-bar[b-jij1236nzm] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xs) var(--spacing-md);
    margin-bottom: var(--spacing-sm);
    background: color-mix(in srgb, var(--accent-info) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-info) 25%, transparent);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
}

.lettrage-selection-count[b-jij1236nzm] {
    font-weight: 600;
    color: var(--accent-info);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.lettrage-selection-debit[b-jij1236nzm],
.lettrage-selection-credit[b-jij1236nzm] {
    color: var(--text-secondary);
}

.lettrage-selection-debit strong[b-jij1236nzm],
.lettrage-selection-credit strong[b-jij1236nzm],
.lettrage-selection-solde strong[b-jij1236nzm] {
    font-family: var(--font-monospace);
}

.lettrage-selection-solde[b-jij1236nzm] {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.lettrage-selection-solde.balanced[b-jij1236nzm] {
    color: var(--accent-success);
}

.lettrage-selection-solde.unbalanced[b-jij1236nzm] {
    color: var(--accent-danger);
}

.lettrage-selection-warning[b-jij1236nzm] {
    color: var(--accent-danger);
    font-weight: 600;
    font-size: var(--font-size-xs);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.lettrage-dialog-motif[b-jij1236nzm] {
    margin-top: 12px;
}

.lettrage-dialog-motif .e-input[b-jij1236nzm] {
    width: 100%;
}

.lettrage-label[b-jij1236nzm] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 4px;
    display: block;
}
/* _content/Revio.Web/Pages/Comptabilite/ModalCreateEcriture.razor.rz.scp.css */
/* ModalCreateEcriture - Saisie multi-lignes (mockup 3b) */

/* --- Container --- */
.mce-container[b-88qx17rzwa] {
    max-width: 960px;
    margin: 0 auto;
    padding: var(--spacing-md);
}

/* --- Navigation retour --- */
.mce-nav-back[b-88qx17rzwa] {
    margin-bottom: 12px;
}

/* ═══ STEP 1: Masques ═══ */
.mce-step-title[b-88qx17rzwa] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 4px;
}

.mce-step-subtitle[b-88qx17rzwa] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin-bottom: 14px;
}

.mce-masque-grid[b-88qx17rzwa] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.mce-masque-card[b-88qx17rzwa] {
    background: var(--bg-card);
    border-radius: 10px;
    border: 1px solid var(--border-color);
    padding: 14px 12px;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mce-masque-card:hover[b-88qx17rzwa],
.mce-masque-card:focus-visible[b-88qx17rzwa] {
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 15%, transparent);
    outline: none;
}

.mce-masque-header[b-88qx17rzwa] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.mce-masque-icon[b-88qx17rzwa] {
    font-size: var(--font-size-lg);
    color: var(--accent-primary);
}

.mce-masque-label[b-88qx17rzwa] {
    font-size: var(--font-size-base);
    font-weight: 600;
    color: var(--text-primary);
}

.mce-masque-desc[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    line-height: 1.4;
}

.mce-masque-badges[b-88qx17rzwa] {
    display: flex;
    gap: 4px;
    margin-top: 2px;
}

.mce-masque-tip[b-88qx17rzwa] {
    margin-top: 12px;
    background: color-mix(in srgb, var(--accent-warning) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, transparent);
    border-radius: var(--border-radius-sm);
    padding: 8px 12px;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.mce-masque-tip-icon[b-88qx17rzwa] {
    color: var(--accent-warning);
    flex-shrink: 0;
}

/* --- Section labels --- */
.mce-section-label[b-88qx17rzwa] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.mce-section-import[b-88qx17rzwa] {
    margin-top: 16px;
}

/* --- Import grid --- */
.mce-import-grid[b-88qx17rzwa] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.mce-import-card[b-88qx17rzwa] {
    background: var(--bg-card);
    border-radius: 10px;
    border: 2px solid color-mix(in srgb, var(--import-color, var(--accent-primary)) 12%, transparent);
    padding: 12px 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.mce-import-card:hover[b-88qx17rzwa],
.mce-import-card:focus-visible[b-88qx17rzwa] {
    border-color: color-mix(in srgb, var(--import-color, var(--accent-primary)) 40%, transparent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--import-color, var(--accent-primary)) 10%, transparent);
    outline: none;
}

.mce-import-icon-box[b-88qx17rzwa] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--import-color, var(--accent-primary)) 10%, transparent);
    border: 1.5px solid color-mix(in srgb, var(--import-color, var(--accent-primary)) 25%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-lg);
    flex-shrink: 0;
    color: var(--import-color, var(--accent-primary));
}

.mce-import-content[b-88qx17rzwa] {
    flex: 1;
    min-width: 0;
}

.mce-import-label[b-88qx17rzwa] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-primary);
}

.mce-import-desc[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    margin-top: 1px;
}

.mce-import-badges[b-88qx17rzwa] {
    display: flex;
    gap: 3px;
    margin-top: 3px;
}

/* --- Import placeholder overlay --- */
.mce-import-placeholder-overlay[b-88qx17rzwa] {
    position: fixed;
    inset: 0;
    background: var(--modal-overlay-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
}

.mce-import-placeholder-card[b-88qx17rzwa] {
    background: var(--bg-card);
    border-radius: 12px;
    width: 420px;
    box-shadow: var(--shadow-popup);
    overflow: hidden;
}

.mce-import-placeholder-header[b-88qx17rzwa] {
    padding: 14px 18px;
    border-bottom: 1px solid var(--border-color);
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.mce-import-placeholder-body[b-88qx17rzwa] {
    padding: 24px 18px;
    text-align: center;
}

.mce-import-placeholder-icon[b-88qx17rzwa] {
    font-size: 32px;
    color: var(--text-muted);
    margin-bottom: 8px;
}

.mce-import-placeholder-title[b-88qx17rzwa] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.mce-import-placeholder-text[b-88qx17rzwa] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 16px;
}

/* ═══ STEP 2: Saisie ═══ */

/* --- Header row --- */
.mce-header-row[b-88qx17rzwa] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.mce-header-left[b-88qx17rzwa] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mce-header-icon[b-88qx17rzwa] {
    font-size: var(--font-size-xl);
    color: var(--accent-primary);
}

.mce-header-title[b-88qx17rzwa] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
}

.mce-header-code[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

/* mce-btn-link replaced by revio-btn revio-btn-flat */

/* --- Tip --- */
.mce-tip[b-88qx17rzwa] {
    background: color-mix(in srgb, var(--accent-warning) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, transparent);
    border-radius: 6px;
    padding: 5px 10px;
    margin-bottom: 8px;
    display: flex;
    gap: 6px;
    align-items: center;
}

.mce-tip-icon[b-88qx17rzwa] {
    color: var(--accent-warning);
    flex-shrink: 0;
    font-size: var(--font-size-sm);
}

.mce-tip-content[b-88qx17rzwa] {
    flex: 1;
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
    line-height: 1.4;
}

.mce-tip-close[b-88qx17rzwa] {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    font-size: var(--font-size-xs);
    padding: 2px;
}

/* --- Piece header --- */
.mce-piece-header[b-88qx17rzwa] {
    background: var(--bg-secondary);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--border-color);
    padding: 10px 14px;
    margin-bottom: 8px;
}

.mce-piece-grid[b-88qx17rzwa] {
    display: grid;
    grid-template-columns: 140px 140px 120px 1fr;
    gap: 10px;
}

.mce-field[b-88qx17rzwa] {
    display: flex;
    flex-direction: column;
}

.mce-field-grow[b-88qx17rzwa] {
    min-width: 0;
}

.mce-label[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 2px;
}

.mce-label-required[b-88qx17rzwa]::after {
    content: " *";
    color: var(--accent-danger);
}

/* --- Inputs --- */
.mce-input[b-88qx17rzwa] {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid color-mix(in srgb, var(--border-color) 100%, var(--text-muted) 0%);
    border-radius: 6px;
    font-size: var(--font-size-xs);
    background: var(--input-bg);
    color: var(--text-primary);
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.mce-input:focus[b-88qx17rzwa] {
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 15%, transparent);
}

.mce-input-mono[b-88qx17rzwa] {
    font-family: var(--font-monospace);
}

.mce-input-sm[b-88qx17rzwa] {
    padding: 4px 6px;
    font-size: var(--font-size-sm);
}

.mce-input-right[b-88qx17rzwa] {
    text-align: right;
}

.mce-input-active[b-88qx17rzwa] {
    border-color: var(--accent-primary) !important;
}

/* --- Multi-line grid --- */
.mce-grid-container[b-88qx17rzwa] {
    background: var(--bg-secondary);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--border-color);
    overflow: visible;
    margin-bottom: 8px;
}

.mce-table[b-88qx17rzwa] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.mce-th[b-88qx17rzwa] {
    padding: 6px 8px;
    text-align: left;
    font-weight: 600;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    background: var(--bg-page);
    border-bottom: 1px solid var(--border-color);
}

.mce-th-num[b-88qx17rzwa] { width: 28px; }
.mce-th-compte[b-88qx17rzwa] { width: 100px; }
.mce-th-libelle[b-88qx17rzwa] { /* auto */ }
.mce-th-tiers[b-88qx17rzwa] { width: 160px; }
.mce-th-actif[b-88qx17rzwa] { width: 140px; }
.mce-th-montant[b-88qx17rzwa] { width: 110px; text-align: right; }
.mce-th-action[b-88qx17rzwa] { width: 28px; }

.mce-row[b-88qx17rzwa] {
    border-bottom: 1px solid color-mix(in srgb, var(--border-color) 40%, transparent);
}

.mce-row:hover[b-88qx17rzwa] {
    background: color-mix(in srgb, var(--accent-primary) 3%, transparent);
}

.mce-td[b-88qx17rzwa] {
    padding: 4px 4px;
}

.mce-td-num[b-88qx17rzwa] {
    padding: 4px 8px;
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-weight: 600;
}

.mce-td-relative[b-88qx17rzwa] {
    position: relative;
    overflow: visible;
}

.mce-td-action[b-88qx17rzwa] {
    text-align: center;
    padding: 4px;
}

/* --- Autocomplete dropdowns --- */
.mce-dropdown[b-88qx17rzwa] {
    position: absolute;
    top: 100%;
    left: 0;
    max-height: 220px;
    overflow-y: auto;
    background: var(--bg-card);
    border: 1px solid var(--accent-primary);
    border-radius: 6px;
    box-shadow: var(--shadow-popup);
    z-index: 10000;
}

.mce-dropdown-compte[b-88qx17rzwa] {
    width: 320px;
}

.mce-dropdown-tiers[b-88qx17rzwa] {
    width: 280px;
}

.mce-dropdown-header[b-88qx17rzwa] {
    padding: 4px 8px;
    background: var(--bg-page);
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    border-bottom: 1px solid color-mix(in srgb, var(--border-color) 40%, transparent);
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

.mce-dropdown-item[b-88qx17rzwa] {
    padding: 4px 8px;
    cursor: pointer;
    display: flex;
    gap: 6px;
    align-items: center;
    border-bottom: 1px solid color-mix(in srgb, var(--border-color) 30%, transparent);
    transition: background 0.1s;
}

.mce-dropdown-item:hover[b-88qx17rzwa] {
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
}

.mce-dropdown-cp-num[b-88qx17rzwa] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-primary);
    min-width: 50px;
}

.mce-dropdown-cp-lib[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    color: var(--text-primary);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mce-dropdown-ti-code[b-88qx17rzwa] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-primary);
    min-width: 35px;
}

.mce-dropdown-ti-nom[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    color: var(--text-primary);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mce-dropdown-ti-delai[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

/* --- Quick-add tiers --- */
.mce-dropdown-add-tiers[b-88qx17rzwa] {
    padding: 6px 8px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--accent-primary);
    cursor: pointer;
    border-top: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    gap: 4px;
}

.mce-dropdown-add-tiers:hover[b-88qx17rzwa] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
}

.mce-add-tiers-form[b-88qx17rzwa] {
    padding: 8px;
}

.mce-add-tiers-fields[b-88qx17rzwa] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 6px 0;
}

.mce-add-tiers-actions[b-88qx17rzwa] {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
    padding-top: 4px;
}

.mce-th-cond[b-88qx17rzwa] {
    color: var(--accent-warning);
    font-weight: 400;
    font-size: var(--font-size-2xs);
}

.mce-dropdown-empty[b-88qx17rzwa] {
    padding: 8px;
    text-align: center;
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

/* --- Remove button (layout only - color/behavior via revio-btn revio-btn-danger) --- */
.mce-btn-remove-layout[b-88qx17rzwa] {
    font-size: var(--font-size-xs);
    padding: 2px;
    min-width: auto;
    min-height: auto;
}

/* --- Grid footer --- */
.mce-grid-footer[b-88qx17rzwa] {
    padding: 6px 8px;
    border-top: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* --- Add line button (layout only - behavior via revio-btn revio-btn-flat) --- */
.mce-btn-add-layout[b-88qx17rzwa] {
    border: 1px dashed var(--border-color);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

.mce-grid-totals[b-88qx17rzwa] {
    display: flex;
    gap: 12px;
    align-items: center;
}

.mce-total-label[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
}

.mce-total-value[b-88qx17rzwa] {
    font-family: var(--font-monospace);
    color: var(--text-primary);
}

/* --- Balance badge --- */
.mce-balance-badge[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.mce-balanced[b-88qx17rzwa] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.mce-unbalanced[b-88qx17rzwa] {
    background: color-mix(in srgb, var(--accent-danger) 12%, transparent);
    color: var(--accent-danger);
}

.mce-neutral[b-88qx17rzwa] {
    background: color-mix(in srgb, var(--text-muted) 10%, transparent);
    color: var(--text-muted);
}

/* --- Shortcuts --- */
.mce-shortcuts[b-88qx17rzwa] {
    background: var(--bg-card);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--border-color);
    padding: 8px 12px;
    margin-bottom: 8px;
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
}

.mce-shortcuts-label[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 4px;
}

.mce-shortcut-item[b-88qx17rzwa] {
    display: flex;
    gap: 3px;
    align-items: center;
}

.mce-kbd[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    font-family: var(--font-monospace);
    padding: 1px 4px;
    border-radius: 3px;
    background: var(--bg-page);
    border: 1px solid color-mix(in srgb, var(--border-color) 60%, transparent);
    color: var(--text-primary);
    font-weight: 600;
}

.mce-shortcut-desc[b-88qx17rzwa] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

/* --- Validation error --- */
.mce-validation-error[b-88qx17rzwa] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 20%, transparent);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
    color: var(--accent-danger);
    margin-bottom: 8px;
}

/* --- Actions --- */
.mce-actions[b-88qx17rzwa] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.mce-actions-left[b-88qx17rzwa] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.mce-actions-right[b-88qx17rzwa] {
    display: flex;
    gap: 8px;
    align-items: center;
}

/* mce-btn-outline replaced by revio-btn revio-btn-outline */

/* Purple accent modifier for "Save as masque" button */
.mce-btn-purple-accent[b-88qx17rzwa] {
    border-color: var(--accent-purple);
    background: color-mix(in srgb, var(--accent-purple) 8%, transparent);
    color: var(--accent-purple);
}

/* --- Resume piece --- */
.mce-resume[b-88qx17rzwa] {
    margin-top: 8px;
    background: var(--bg-page);
    border-radius: 6px;
    padding: 6px 12px;
    display: flex;
    gap: 12px;
    align-items: center;
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
}

.mce-resume .e-icons[b-88qx17rzwa] {
    font-size: var(--font-size-xs);
    margin-right: 2px;
}

.mce-mono[b-88qx17rzwa] {
    font-family: var(--font-monospace);
}

.mce-resume-status[b-88qx17rzwa] {
    margin-left: auto;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}

.mce-status-ok[b-88qx17rzwa] {
    color: var(--accent-success);
}

.mce-status-err[b-88qx17rzwa] {
    color: var(--accent-danger);
}

/* --- Responsive --- */
@media (max-width: 800px) {
    .mce-masque-grid[b-88qx17rzwa] {
        grid-template-columns: repeat(2, 1fr);
    }

    .mce-import-grid[b-88qx17rzwa] {
        grid-template-columns: repeat(2, 1fr);
    }

    .mce-piece-grid[b-88qx17rzwa] {
        grid-template-columns: 1fr 1fr;
    }
}

/* --- Save as masque inline form (DT-308) --- */
.mce-save-masque-inline[b-88qx17rzwa] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.mce-save-masque-inline .mce-input[b-88qx17rzwa] {
    min-width: 180px;
    max-width: 250px;
}
/* _content/Revio.Web/Pages/Comptabilite/Referentiels.razor.rz.scp.css */
/* Referentiels - scoped styles */

/* --- Toolbar --- */
.ref-toolbar[b-r8l2ca6zh0] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) 0;
    margin-bottom: var(--spacing-sm);
    flex-wrap: wrap;
}

.ref-toolbar-spacer[b-r8l2ca6zh0] {
    flex: 1;
}

.ref-search-input[b-r8l2ca6zh0] {
    flex: 1;
    min-width: 180px;
    max-width: 300px;
    padding: var(--spacing-xs) var(--spacing-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
    background: var(--input-bg);
    color: var(--text-primary);
    outline: none;
    transition: border-color 0.2s;
}

.ref-search-input:focus[b-r8l2ca6zh0] {
    border-color: var(--accent-primary);
}

.ref-search-input[b-r8l2ca6zh0]::placeholder {
    color: var(--text-muted);
}

.ref-filter-select[b-r8l2ca6zh0] {
    padding: var(--spacing-xs) var(--spacing-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
    background: var(--input-bg);
    color: var(--text-primary);
    outline: none;
}

/* --- Monospace text --- */
.ref-monospace[b-r8l2ca6zh0] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.ref-accent[b-r8l2ca6zh0] {
    color: var(--accent-primary);
    font-weight: 500;
}

.ref-bold[b-r8l2ca6zh0] {
    font-weight: 700;
}

.ref-text-muted[b-r8l2ca6zh0] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* ref-icon-btn replaced by revio-btn revio-btn-icon */

.ref-checkbox[b-r8l2ca6zh0] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--accent-primary);
    margin: 0;
}

/* --- Tip banner --- */
.ref-tip-banner[b-r8l2ca6zh0] {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: color-mix(in srgb, var(--accent-warning) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, transparent);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin-top: var(--spacing-md);
    line-height: 1.5;
}

.ref-tip-icon[b-r8l2ca6zh0] {
    color: var(--accent-warning);
    font-size: var(--font-size-lg);
    flex-shrink: 0;
    margin-top: 1px;
}

/* Onglets : utilise la classe globale revio-tab-pills (voir revio-syncfusion.css) */
/* _content/Revio.Web/Pages/Comptabilite/Saisie.razor.rz.scp.css */
/* Saisie - scoped styles */

/* --- Layout vertical (plus de panel gauche) --- */
.saisie-layout[b-aul76a5ugt] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    min-height: 400px;
}

/* --- Barre de contexte unifiee --- */
.context-bar[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
    padding: var(--spacing-sm) var(--spacing-md);
    background: color-mix(in srgb, var(--accent-primary) 5%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 15%, transparent);
    border-radius: var(--border-radius-md);
    flex-wrap: wrap;
}

.context-bar-left[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex: 1;
    min-width: 0;
    overflow-x: auto;
}

.context-bar-label[b-aul76a5ugt] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
    flex-shrink: 0;
}

.journal-pills[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    flex-wrap: nowrap;
    overflow-x: auto;
}

.journal-pill[b-aul76a5ugt] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent);
    border-radius: var(--border-radius-sm);
    background: var(--bg-card);
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s;
}

.journal-pill:hover[b-aul76a5ugt] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border-color: var(--accent-primary);
}

.journal-pill.active[b-aul76a5ugt] {
    background: var(--accent-primary);
    color: white;
    border-color: var(--accent-primary);
    font-weight: 600;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--accent-primary) 30%, transparent);
}

.journal-pill-code[b-aul76a5ugt] {
    font-family: var(--font-monospace);
    font-weight: 700;
}

.journal-pill-lib[b-aul76a5ugt] {
    font-size: var(--font-size-xs);
}

.journal-pill.active .journal-pill-lib[b-aul76a5ugt] {
    opacity: 0.85;
}

.journal-pill-count[b-aul76a5ugt] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 0 4px;
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-info) 12%, transparent);
    color: var(--accent-info);
    line-height: 1.4;
}

.journal-pill.active .journal-pill-count[b-aul76a5ugt] {
    background: color-mix(in srgb, white 20%, transparent);
    color: white;
}

/* --- Navigateur de periode --- */
.context-bar-right[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.periode-nav[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-3xs) var(--spacing-xs);
}

.periode-nav-btn[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    color: var(--accent-primary);
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: background 0.15s;
}

.periode-nav-btn:hover:not(:disabled)[b-aul76a5ugt] {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
}

.periode-nav-btn:disabled[b-aul76a5ugt] {
    opacity: 0.3;
    cursor: not-allowed;
}

.periode-selector[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    min-width: 170px;
}

.periode-icon[b-aul76a5ugt] {
    color: var(--accent-primary);
    font-size: var(--font-size-sm);
    flex-shrink: 0;
}

[b-aul76a5ugt] .periode-dropdown {
    font-size: var(--font-size-sm) !important;
    border: none !important;
    background: transparent !important;
}

[b-aul76a5ugt] .periode-dropdown .e-input-group {
    border: none !important;
    background: transparent !important;
}

[b-aul76a5ugt] .periode-dropdown input.e-input {
    font-size: var(--font-size-sm) !important;
    font-weight: 600 !important;
    color: var(--accent-primary) !important;
}

/* --- Soldes banque --- */
.saisie-solde-banque[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-sm) var(--spacing-md);
    background: color-mix(in srgb, var(--accent-success) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-success) 25%, transparent);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
    color: var(--text-primary);
}

.saisie-solde-item strong[b-aul76a5ugt] {
    font-family: var(--font-monospace);
    font-weight: 700;
    color: var(--accent-success);
}

.saisie-solde-sep[b-aul76a5ugt] {
    width: 1px;
    height: 18px;
    background: color-mix(in srgb, var(--accent-success) 30%, transparent);
}

/* --- Toolbar --- */
.saisie-toolbar[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.saisie-toolbar-spacer[b-aul76a5ugt] {
    flex: 1;
}

.saisie-search-input[b-aul76a5ugt] {
    min-width: 150px;
    max-width: 250px;
    padding: var(--spacing-xs) var(--spacing-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
    background: var(--input-bg);
    color: var(--text-primary);
    outline: none;
    transition: border-color 0.2s;
}

.saisie-search-input:focus[b-aul76a5ugt] {
    border-color: var(--accent-primary);
}

.saisie-search-input[b-aul76a5ugt]::placeholder {
    color: var(--text-muted);
}

/* --- Search small variant --- */
.saisie-search-small[b-aul76a5ugt] {
    max-width: 120px;
    min-width: 90px;
}

/* --- Tip popover (replaces inline tip banner) --- */
.saisie-tip-wrapper[b-aul76a5ugt] {
    position: relative;
}

.saisie-tip-btn[b-aul76a5ugt] {
    position: relative;
}

.saisie-tip-btn.active[b-aul76a5ugt] {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    border-color: var(--accent-warning);
    color: var(--accent-warning);
}

.saisie-tip-badge[b-aul76a5ugt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    height: 16px;
    font-size: var(--font-size-2xs);
    font-weight: 700;
    border-radius: 8px;
    background: var(--accent-warning);
    color: white;
    padding: 0 4px;
    animation: saisie-pulse-b-aul76a5ugt 2s ease-in-out infinite;
}

@keyframes saisie-pulse-b-aul76a5ugt {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.15); }
}

.saisie-tip-popover[b-aul76a5ugt] {
    position: absolute;
    top: calc(100% + var(--spacing-xs));
    right: 0;
    width: 320px;
    background: var(--bg-card);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 30%, transparent);
    border-radius: var(--border-radius-md);
    box-shadow: 0 4px 12px color-mix(in srgb, black 10%, transparent);
    z-index: 100;
}

.saisie-tip-popover-header[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-warning);
    border-bottom: 1px solid color-mix(in srgb, var(--accent-warning) 15%, transparent);
}

.saisie-tip-popover-close[b-aul76a5ugt] {
    margin-left: auto;
    background: none;
    border: none;
    padding: var(--spacing-3xs);
    cursor: pointer;
    color: var(--text-muted);
}

.saisie-tip-popover-close:hover[b-aul76a5ugt] {
    color: var(--text-primary);
}

.saisie-tip-popover-content[b-aul76a5ugt] {
    padding: var(--spacing-sm) var(--spacing-md);
}

.saisie-tip-popover-item[b-aul76a5ugt] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    line-height: 1.5;
    padding: var(--spacing-xs) 0;
}

.saisie-tip-popover-item + .saisie-tip-popover-item[b-aul76a5ugt] {
    border-top: 1px solid var(--bg-secondary);
}

/* --- Grid monospace --- */
.saisie-monospace[b-aul76a5ugt] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    color: var(--accent-primary);
    font-weight: 500;
}

.saisie-text-muted[b-aul76a5ugt] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* --- Footer --- */
.saisie-footer[b-aul76a5ugt] {
    padding: var(--spacing-sm) var(--spacing-md);
    border-top: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--bg-card);
    border-radius: 0 0 var(--border-radius-md) var(--border-radius-md);
    margin-top: -1px;
}

.saisie-footer-count[b-aul76a5ugt] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.saisie-footer-totals[b-aul76a5ugt] {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
}

.saisie-footer-item[b-aul76a5ugt] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.saisie-footer-item strong[b-aul76a5ugt] {
    font-family: var(--font-monospace);
}

.saisie-footer-balance[b-aul76a5ugt] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.saisie-footer-balance.balanced[b-aul76a5ugt] {
    color: var(--accent-success);
}

.saisie-footer-balance.unbalanced[b-aul76a5ugt] {
    color: var(--accent-danger);
}

/* --- Loading overlay --- */
.saisie-loading-overlay[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-xl);
    background: color-mix(in srgb, var(--bg-card) 80%, transparent);
    border-radius: var(--border-radius-md);
}

.saisie-loading-spinner[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.saisie-loading-spinner .e-icons[b-aul76a5ugt] {
    font-size: var(--font-size-lg);
    color: var(--accent-primary);
    animation: saisie-spin-b-aul76a5ugt 1s linear infinite;
}

@keyframes saisie-spin-b-aul76a5ugt {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* --- Batch action bar (DT-302) --- */
.saisie-batch-bar[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xs) var(--spacing-md);
    background: color-mix(in srgb, var(--accent-info) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-info) 25%, transparent);
    border-radius: var(--border-radius-md);
}

.saisie-batch-badge[b-aul76a5ugt] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-info);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    margin-right: var(--spacing-sm);
}

/* --- Bouton purple (Deplacer) --- */
[b-aul76a5ugt] .revio-btn-purple {
    background: var(--accent-purple);
    color: white;
    border-color: var(--accent-purple);
}

[b-aul76a5ugt] .revio-btn-purple:hover:not(:disabled) {
    background: color-mix(in srgb, var(--accent-purple) 85%, black);
}

/* --- Bouton danger outline (footer purge) --- */
[b-aul76a5ugt] .revio-btn-danger-outline {
    background: transparent;
    color: var(--accent-danger);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 40%, transparent);
}

[b-aul76a5ugt] .revio-btn-danger-outline:hover:not(:disabled) {
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border-color: var(--accent-danger);
}

/* --- Status purple for SIMULEE --- */
[b-aul76a5ugt] .status-purple .dot {
    background: var(--accent-purple) !important;
}

[b-aul76a5ugt] .status-purple {
    color: var(--accent-purple) !important;
}

/* Dialog : utilise la classe globale revio-dialog (voir revio-syncfusion.css) */

/* --- Contrepassation dialog --- */
.saisie-cp-detail[b-aul76a5ugt] {
    background: color-mix(in srgb, var(--accent-info) 5%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-info) 15%, transparent);
    border-radius: var(--border-radius-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    margin: var(--spacing-sm) 0;
    font-size: var(--font-size-sm);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.saisie-cp-motif[b-aul76a5ugt] {
    margin-top: var(--spacing-sm);
}

.saisie-cp-label[b-aul76a5ugt] {
    display: block;
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 4px;
}

/* --- Dialog Nouvelle Ecriture - auto-sizing --- */
[b-aul76a5ugt] .saisie-create-dialog {
    max-width: 92vw;
}

[b-aul76a5ugt] .saisie-create-dialog .e-dlg-content {
    max-height: 80vh;
    overflow-y: auto;
}

/* --- Alternance visuelle par NumeroEcriture --- */
[b-aul76a5ugt] [cssclass~="saisie-grid"] .saisie-ecr-odd td {
    background: color-mix(in srgb, var(--accent-primary) 4%, var(--bg-card));
}

[b-aul76a5ugt] [cssclass~="saisie-grid"] .saisie-ecr-even td {
    background: var(--bg-card);
}

[b-aul76a5ugt] [cssclass~="saisie-grid"] .saisie-ecr-odd:hover td,
[b-aul76a5ugt] [cssclass~="saisie-grid"] .saisie-ecr-even:hover td {
    background: color-mix(in srgb, var(--accent-primary) 10%, var(--bg-card)) !important;
}

/* --- Modale Deplacer (custom overlay) --- */
.move-dialog-overlay[b-aul76a5ugt] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: color-mix(in srgb, black 40%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.move-dialog[b-aul76a5ugt] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    width: 450px;
    max-width: 92vw;
    box-shadow: 0 8px 32px color-mix(in srgb, black 20%, transparent);
}

.move-dialog-header[b-aul76a5ugt] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--accent-purple);
    border-bottom: 1px solid var(--border-color);
}

.move-dialog-body[b-aul76a5ugt] {
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.move-dialog-info[b-aul76a5ugt] {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    font-size: var(--font-size-sm);
    color: var(--accent-info);
    background: color-mix(in srgb, var(--accent-info) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-info) 20%, transparent);
    border-radius: var(--border-radius-sm);
    padding: var(--spacing-sm) var(--spacing-md);
}

.move-dialog-field[b-aul76a5ugt] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.move-dialog-label[b-aul76a5ugt] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
}

[b-aul76a5ugt] .move-dropdown {
    width: 100%;
}

.move-dialog-footer[b-aul76a5ugt] {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    border-top: 1px solid var(--border-color);
}

/* --- Purge warning dialog --- */
.saisie-purge-warning[b-aul76a5ugt] {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
}
/* _content/Revio.Web/Pages/Comptabilite/Verification.razor.rz.scp.css */
/* ============ Layout ============ */
.verif-grid[b-6v4nznf2jv] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ============ Header ============ */
.verif-header[b-6v4nznf2jv] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: 16px 20px;
}

.verif-header-text[b-6v4nznf2jv] {
    flex: 1;
}

.verif-title[b-6v4nznf2jv] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 4px;
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
}

.verif-title-icon[b-6v4nznf2jv] {
    color: var(--accent-primary);
}

.verif-subtitle[b-6v4nznf2jv] {
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--text-tertiary);
    max-width: 780px;
}

/* ============ Empty ============ */
.verif-empty[b-6v4nznf2jv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 32px;
    background: var(--bg-card);
    border: 1px dashed var(--border-color);
    border-radius: var(--border-radius-lg);
    color: var(--text-tertiary);
    text-align: center;
}

.verif-empty .e-icons[b-6v4nznf2jv] {
    font-size: var(--font-size-2xl);
    color: var(--accent-primary);
}

.verif-empty p[b-6v4nznf2jv] {
    margin: 0;
    font-size: var(--font-size-sm);
}

/* ============ Summary ============ */
.verif-summary[b-6v4nznf2jv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 16px 20px;
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    background: var(--bg-card);
}

.verif-summary.ok[b-6v4nznf2jv] {
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    border-color: color-mix(in srgb, var(--accent-success) 30%, transparent);
}

.verif-summary.warning[b-6v4nznf2jv] {
    background: color-mix(in srgb, var(--accent-warning) 10%, transparent);
    border-color: color-mix(in srgb, var(--accent-warning) 30%, transparent);
}

.verif-summary.bloquant[b-6v4nznf2jv] {
    background: color-mix(in srgb, var(--accent-danger) 10%, transparent);
    border-color: color-mix(in srgb, var(--accent-danger) 30%, transparent);
}

.verif-summary-main[b-6v4nznf2jv] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.verif-summary-icon[b-6v4nznf2jv] {
    font-size: var(--font-size-2xl);
}

.verif-summary.ok .verif-summary-icon[b-6v4nznf2jv] {
    color: var(--accent-success);
}

.verif-summary.warning .verif-summary-icon[b-6v4nznf2jv] {
    color: var(--accent-warning);
}

.verif-summary.bloquant .verif-summary-icon[b-6v4nznf2jv] {
    color: var(--accent-danger);
}

.verif-summary-title[b-6v4nznf2jv] {
    font-size: var(--font-size-base);
    font-weight: 700;
    color: var(--text-primary);
}

.verif-summary-meta[b-6v4nznf2jv] {
    font-size: var(--font-size-xs);
    color: var(--text-tertiary);
    margin-top: 2px;
}

.verif-summary-counters[b-6v4nznf2jv] {
    display: flex;
    gap: 12px;
}

.verif-counter[b-6v4nznf2jv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 72px;
    padding: 8px 12px;
    border-radius: var(--border-radius-md);
    background: var(--bg-base);
    border: 1px solid var(--border-color);
}

.verif-counter-value[b-6v4nznf2jv] {
    font-size: var(--font-size-xl);
    font-weight: 700;
    line-height: 1.1;
}

.verif-counter-label[b-6v4nznf2jv] {
    font-size: var(--font-size-xs);
    color: var(--text-tertiary);
    margin-top: 2px;
}

.verif-counter.bloquant .verif-counter-value[b-6v4nznf2jv] {
    color: var(--accent-danger);
}

.verif-counter.warning .verif-counter-value[b-6v4nznf2jv] {
    color: var(--accent-warning);
}

.verif-counter.ok .verif-counter-value[b-6v4nznf2jv] {
    color: var(--accent-success);
}

/* ============ Controles list ============ */
.verif-controles[b-6v4nznf2jv] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.verif-controle[b-6v4nznf2jv] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 16px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-left-width: 4px;
    border-radius: var(--border-radius-md);
}

.verif-controle.ok[b-6v4nznf2jv] {
    border-left-color: var(--accent-success);
}

.verif-controle.warning[b-6v4nznf2jv] {
    border-left-color: var(--accent-warning);
}

.verif-controle.bloquant[b-6v4nznf2jv] {
    border-left-color: var(--accent-danger);
}

.verif-controle-icon[b-6v4nznf2jv] {
    font-size: var(--font-size-lg);
    margin-top: 2px;
}

.verif-controle.ok .verif-controle-icon[b-6v4nznf2jv] {
    color: var(--accent-success);
}

.verif-controle.warning .verif-controle-icon[b-6v4nznf2jv] {
    color: var(--accent-warning);
}

.verif-controle.bloquant .verif-controle-icon[b-6v4nznf2jv] {
    color: var(--accent-danger);
}

.verif-controle-body[b-6v4nznf2jv] {
    flex: 1;
}

.verif-controle-head[b-6v4nznf2jv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.verif-controle-nom[b-6v4nznf2jv] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
}

.verif-controle-badge[b-6v4nznf2jv] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.verif-controle-badge.ok[b-6v4nznf2jv] {
    background: color-mix(in srgb, var(--accent-success) 15%, transparent);
    color: var(--accent-success);
}

.verif-controle-badge.warning[b-6v4nznf2jv] {
    background: color-mix(in srgb, var(--accent-warning) 15%, transparent);
    color: var(--accent-warning);
}

.verif-controle-badge.bloquant[b-6v4nznf2jv] {
    background: color-mix(in srgb, var(--accent-danger) 15%, transparent);
    color: var(--accent-danger);
}

.verif-controle-detail[b-6v4nznf2jv] {
    font-size: var(--font-size-xs);
    color: var(--text-tertiary);
    margin-top: 4px;
}

.verif-controle-ack[b-6v4nznf2jv] {
    margin-top: 8px;
}

.verif-ack-done[b-6v4nznf2jv] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-xs);
    color: var(--accent-success);
    font-weight: 600;
}

/* Sprint 48 - Variante BLOQUANT acquitte (rouge fonce -> orange-ambre) */
.verif-ack-done--bloquant[b-6v4nznf2jv] {
    color: #B45309;
}

/* Sprint 48 - Bloc motif d'acquittement (audit read-only) */
.verif-ack-reason[b-6v4nznf2jv] {
    margin-top: 6px;
    padding: 8px 12px;
    background: color-mix(in srgb, #10B981 6%, transparent);
    border-left: 3px solid #10B981;
    border-radius: 4px;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    display: flex;
    gap: 8px;
    align-items: flex-start;
}

.verif-ack-reason em[b-6v4nznf2jv] {
    font-style: italic;
    color: var(--text-primary);
}

.verif-ack-reason .e-icons[b-6v4nznf2jv] {
    color: #10B981;
    font-size: 14px;
    margin-top: 2px;
    flex-shrink: 0;
}

.verif-ack-reason--bloquant[b-6v4nznf2jv] {
    background: color-mix(in srgb, #DC2626 6%, transparent);
    border-left-color: #DC2626;
}

.verif-ack-reason--bloquant .e-icons[b-6v4nznf2jv] {
    color: #DC2626;
}

/* ============ Closure banner ============ */
.verif-closure[b-6v4nznf2jv] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    background: var(--bg-card);
}

.verif-closure.allowed[b-6v4nznf2jv] {
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    border-color: color-mix(in srgb, var(--accent-success) 30%, transparent);
}

.verif-closure.pending[b-6v4nznf2jv] {
    background: color-mix(in srgb, var(--accent-warning) 10%, transparent);
    border-color: color-mix(in srgb, var(--accent-warning) 30%, transparent);
}

.verif-closure.blocked[b-6v4nznf2jv] {
    background: color-mix(in srgb, var(--accent-danger) 10%, transparent);
    border-color: color-mix(in srgb, var(--accent-danger) 30%, transparent);
}

.verif-closure-icon[b-6v4nznf2jv] {
    font-size: var(--font-size-xl);
}

.verif-closure.allowed .verif-closure-icon[b-6v4nznf2jv] {
    color: var(--accent-success);
}

.verif-closure.pending .verif-closure-icon[b-6v4nznf2jv] {
    color: var(--accent-warning);
}

.verif-closure.blocked .verif-closure-icon[b-6v4nznf2jv] {
    color: var(--accent-danger);
}

.verif-closure-title[b-6v4nznf2jv] {
    font-size: var(--font-size-base);
    font-weight: 700;
    color: var(--text-primary);
}

.verif-closure-detail[b-6v4nznf2jv] {
    font-size: var(--font-size-xs);
    color: var(--text-tertiary);
    margin-top: 2px;
}

/* ============ History ============ */
.verif-history[b-6v4nznf2jv] {
    margin-top: 8px;
    padding: 16px 20px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
}

.verif-history-title[b-6v4nznf2jv] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    font-size: var(--font-size-base);
    font-weight: 700;
    color: var(--text-primary);
}

.verif-history-title .e-icons[b-6v4nznf2jv] {
    color: var(--accent-primary);
}

.verif-history-table[b-6v4nznf2jv] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-xs);
}

.verif-history-table th[b-6v4nznf2jv],
.verif-history-table td[b-6v4nznf2jv] {
    padding: 8px 10px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.verif-history-table th[b-6v4nznf2jv] {
    font-weight: 700;
    color: var(--text-secondary);
    background: var(--bg-base);
}
/* _content/Revio.Web/Pages/Dashboard/Index.razor.rz.scp.css */
/* Dashboard - scoped styles (Sprint 42 - refonte mockup_1_dashboard_cabinet) */

/* --- Bandeau accueil simple (compact 1 ligne, role restreint L3/L4) --- */
.dashboard-greeting[b-lr2j7584d6] {
    background: var(--gradient-hero);
    border-radius: var(--border-radius-md);
    padding: 8px 16px;
    margin-bottom: var(--spacing-sm);
    display: flex;
    align-items: center;
    gap: 10px;
}

.greeting-text[b-lr2j7584d6] {
    font-size: var(--font-size-md);
    font-weight: 700;
    color: var(--text-on-accent);
    white-space: nowrap;
}

.greeting-divider[b-lr2j7584d6] {
    width: 1px;
    height: 18px;
    background: var(--divider-on-accent);
    flex-shrink: 0;
}

.greeting-date[b-lr2j7584d6] {
    font-size: var(--font-size-sm);
    color: var(--text-on-accent-muted);
    text-transform: capitalize;
    white-space: nowrap;
}

/* --- Hero gradient + 3 mini-KPIs --- */
.dashboard-hero[b-lr2j7584d6] {
    background: var(--gradient-hero);
    border-radius: var(--border-radius-lg);
    padding: 18px 24px;
    margin-bottom: var(--spacing-lg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-md);
    flex-wrap: wrap;
}

.hero-title[b-lr2j7584d6] {
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--text-on-accent);
}

.hero-subtitle[b-lr2j7584d6] {
    font-size: var(--font-size-sm);
    color: var(--text-on-accent-muted);
    margin-top: 4px;
    text-transform: capitalize;
}

.hero-emphasis[b-lr2j7584d6] {
    color: #FDE68A;
    font-weight: 600;
}

.hero-pills[b-lr2j7584d6] {
    display: flex;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.hero-pill[b-lr2j7584d6] {
    background: rgba(255, 255, 255, 0.12);
    border-radius: var(--border-radius-md);
    padding: 8px 18px;
    text-align: center;
    min-width: 80px;
}

.hero-pill-value[b-lr2j7584d6] {
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--text-on-accent);
    font-family: var(--font-heading);
}

.hero-pill-label[b-lr2j7584d6] {
    font-size: var(--font-size-xs);
    color: var(--text-on-accent-muted);
    margin-top: 2px;
}

/* --- KPI row (5 cards) --- */
.dashboard-kpis[b-lr2j7584d6] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}

@media (max-width: 1100px) {
    .dashboard-kpis[b-lr2j7584d6] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 700px) {
    .dashboard-kpis[b-lr2j7584d6] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.kpi-card[b-lr2j7584d6] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    padding: 14px 16px;
    box-shadow: var(--shadow-card);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    border: 1px solid var(--border-card, transparent);
}

.kpi-clickable[b-lr2j7584d6] {
    cursor: pointer;
}

.kpi-clickable:hover[b-lr2j7584d6] {
    transform: translateY(-2px);
    box-shadow: var(--shadow-popup);
}

.kpi-card-critical[b-lr2j7584d6] {
    border-color: #FECACA;
}

.kpi-icon[b-lr2j7584d6] {
    width: 40px;
    height: 40px;
    border-radius: var(--border-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.kpi-icon-blue[b-lr2j7584d6] {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

.kpi-icon-amber[b-lr2j7584d6] {
    background: color-mix(in srgb, var(--accent-warning) 14%, transparent);
    color: var(--accent-warning);
}

.kpi-icon-green[b-lr2j7584d6] {
    background: color-mix(in srgb, var(--accent-success) 14%, transparent);
    color: var(--accent-success);
}

.kpi-icon-cyan[b-lr2j7584d6] {
    background: color-mix(in srgb, var(--accent-info) 14%, transparent);
    color: var(--accent-info);
}

.kpi-icon-red[b-lr2j7584d6] {
    background: color-mix(in srgb, var(--accent-danger) 14%, transparent);
    color: var(--accent-danger);
}

.kpi-content[b-lr2j7584d6] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.kpi-value[b-lr2j7584d6] {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    font-family: var(--font-heading);
    color: var(--text-primary);
    line-height: 1.1;
}

.kpi-label[b-lr2j7584d6] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

/* --- 3-col grid --- */
.dashboard-grid[b-lr2j7584d6] {
    display: grid;
    grid-template-columns: 1fr 1fr 320px;
    gap: var(--spacing-md);
}

@media (max-width: 1100px) {
    .dashboard-grid[b-lr2j7584d6] {
        grid-template-columns: 1fr 1fr;
    }
    .dashboard-card:nth-child(3)[b-lr2j7584d6] {
        grid-column: 1 / span 2;
    }
}

@media (max-width: 700px) {
    .dashboard-grid[b-lr2j7584d6] {
        grid-template-columns: 1fr;
    }
    .dashboard-card:nth-child(3)[b-lr2j7584d6] {
        grid-column: auto;
    }
}

.dashboard-card[b-lr2j7584d6] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-card, transparent);
    box-shadow: var(--shadow-card);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.dashboard-col-stack[b-lr2j7584d6] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.card-badge[b-lr2j7584d6] {
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 10px;
    font-weight: 600;
}

.card-badge-critical[b-lr2j7584d6] {
    background: color-mix(in srgb, var(--accent-danger) 14%, transparent);
    color: var(--accent-danger);
}

/* --- Alert row --- */
.alert-row[b-lr2j7584d6] {
    padding: 10px 16px;
    border-bottom: 1px solid var(--border-divider, #F1F5F9);
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.alert-row:last-child[b-lr2j7584d6] {
    border-bottom: none;
}

.alert-row.alert-critical[b-lr2j7584d6] {
    background: color-mix(in srgb, var(--accent-danger) 6%, transparent);
}

.alert-row.alert-warning[b-lr2j7584d6] {
    background: color-mix(in srgb, var(--accent-warning) 5%, transparent);
}

.alert-icon[b-lr2j7584d6] {
    font-size: 14px;
    margin-top: 1px;
    flex-shrink: 0;
}

.alert-content[b-lr2j7584d6] {
    flex: 1;
    min-width: 0;
}

.alert-message[b-lr2j7584d6] {
    font-size: var(--font-size-xs);
    color: var(--text-primary);
    line-height: 1.4;
}

.alert-foot[b-lr2j7584d6] {
    display: flex;
    justify-content: space-between;
    margin-top: 4px;
    align-items: center;
}

.alert-time[b-lr2j7584d6] {
    font-size: 10px;
    color: var(--text-muted);
}

.alert-action[b-lr2j7584d6] {
    font-size: 10px;
    color: var(--accent-primary);
    text-decoration: none;
    font-weight: 500;
}

.alert-action:hover[b-lr2j7584d6] {
    text-decoration: underline;
}

/* Sprint 45 - Filtre temporel alertes */
.card-header-right[b-lr2j7584d6] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.alerte-period-segments[b-lr2j7584d6] {
    display: inline-flex;
    border: 1px solid var(--border-card, #E2E8F0);
    border-radius: 6px;
    overflow: hidden;
}

.alerte-period-btn[b-lr2j7584d6] {
    padding: 3px 9px;
    font-size: 10px;
    font-weight: 600;
    background: transparent;
    color: var(--text-secondary, #64748B);
    border: none;
    border-right: 1px solid var(--border-card, #E2E8F0);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.alerte-period-btn:last-child[b-lr2j7584d6] {
    border-right: none;
}

.alerte-period-btn:hover:not(:disabled):not(.active)[b-lr2j7584d6] {
    background: var(--bg-hover, #F1F5F9);
}

.alerte-period-btn.active[b-lr2j7584d6] {
    background: var(--accent-primary, #2563EB);
    color: #fff;
}

.alerte-period-btn:disabled[b-lr2j7584d6] {
    opacity: 0.6;
    cursor: progress;
}

/* Sprint 50 - Filtre temporel Todos (J+3 / J+7 / J+14) */
.todos-period-filter[b-lr2j7584d6] {
    display: inline-flex;
    border: 1px solid var(--border-card, #E2E8F0);
    border-radius: 6px;
    overflow: hidden;
    margin-left: 8px;
}

.todos-period-btn[b-lr2j7584d6] {
    padding: 3px 9px;
    font-size: 10px;
    font-weight: 600;
    background: transparent;
    color: var(--text-secondary, #64748B);
    border: none;
    border-right: 1px solid var(--border-card, #E2E8F0);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.todos-period-btn:last-child[b-lr2j7584d6] {
    border-right: none;
}

.todos-period-btn:hover:not(.todos-period-btn--active)[b-lr2j7584d6] {
    background: var(--bg-hover, #F1F5F9);
}

.todos-period-btn--active[b-lr2j7584d6] {
    background: var(--accent-primary, #2563EB);
    color: #fff;
}

/* Sprint 44 - Acquittement inline */
.alert-ack-btn[b-lr2j7584d6] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    font-size: 10px;
    font-weight: 600;
    border-radius: 6px;
    border: 1px solid color-mix(in srgb, #F59E0B 35%, transparent);
    background: color-mix(in srgb, #F59E0B 10%, transparent);
    color: #B45309;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.alert-ack-btn:hover:not(:disabled)[b-lr2j7584d6] {
    background: #F59E0B;
    color: #fff;
}

.alert-ack-btn:disabled[b-lr2j7584d6] {
    opacity: 0.6;
    cursor: progress;
}

.alert-ack-btn .e-icons[b-lr2j7584d6] {
    font-size: 10px;
}

/* Sprint 46 - Variante BLOQUANT (rouge) du bouton "Acquitter avec motif" */
.alert-ack-btn--bloquant[b-lr2j7584d6] {
    border-color: color-mix(in srgb, #DC2626 35%, transparent);
    background: color-mix(in srgb, #DC2626 10%, transparent);
    color: #991B1B;
}

.alert-ack-btn--bloquant:hover:not(:disabled)[b-lr2j7584d6] {
    background: #DC2626;
    color: #fff;
}

/* Sprint 46 - Panneau motif inline sous l'alerte BLOQUANT */
.alert-motif-panel[b-lr2j7584d6] {
    margin-top: 8px;
    padding: 10px;
    background: color-mix(in srgb, #DC2626 5%, var(--bg-card, #fff));
    border: 1px solid color-mix(in srgb, #DC2626 25%, transparent);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.alert-motif-input[b-lr2j7584d6] {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border-card, #E2E8F0);
    border-radius: 6px;
    font-size: 12px;
    font-family: inherit;
    color: var(--text-primary, #0F172A);
    background: var(--bg-card, #fff);
    resize: vertical;
    min-height: 60px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.alert-motif-input:focus[b-lr2j7584d6] {
    outline: none;
    border-color: #DC2626;
    box-shadow: 0 0 0 3px color-mix(in srgb, #DC2626 15%, transparent);
}

.alert-motif-foot[b-lr2j7584d6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.alert-motif-counter[b-lr2j7584d6] {
    font-size: 11px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.alert-motif-counter.ko[b-lr2j7584d6] {
    color: #991B1B;
}

.alert-motif-counter.ok[b-lr2j7584d6] {
    color: #15803D;
}

.alert-motif-confirm[b-lr2j7584d6] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 6px;
    border: 1px solid #DC2626;
    background: #DC2626;
    color: #fff;
    cursor: pointer;
    transition: background-color 0.15s ease, opacity 0.15s ease;
}

.alert-motif-confirm:hover:not(:disabled)[b-lr2j7584d6] {
    background: #B91C1C;
}

.alert-motif-confirm:disabled[b-lr2j7584d6] {
    opacity: 0.5;
    cursor: not-allowed;
}

.alert-motif-confirm .e-icons[b-lr2j7584d6] {
    font-size: 11px;
}

.card-header[b-lr2j7584d6] {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-divider, var(--border-card, #E2E8F0));
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.card-title[b-lr2j7584d6] {
    font-size: var(--font-size-md);
    font-weight: 700;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    flex-shrink: 0;
}

.card-title-icon[b-lr2j7584d6] {
    font-size: var(--font-size-base);
    color: var(--accent-primary);
}

.card-link[b-lr2j7584d6] {
    font-size: var(--font-size-xs);
    color: var(--accent-primary);
    text-decoration: none;
    font-weight: 500;
}

.card-link:hover[b-lr2j7584d6] {
    text-decoration: underline;
}

.card-empty[b-lr2j7584d6] {
    padding: var(--spacing-md);
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    text-align: center;
}

/* --- Mission row --- */
.mission-row[b-lr2j7584d6] {
    padding: 10px 16px;
    border-bottom: 1px solid var(--border-divider, #F1F5F9);
    cursor: pointer;
    transition: background 0.12s ease;
}

.mission-row:hover[b-lr2j7584d6] {
    background: var(--bg-hover, #F8FAFC);
}

.mission-row:last-child[b-lr2j7584d6] {
    border-bottom: none;
}

.mission-row-urgent[b-lr2j7584d6] {
    background: color-mix(in srgb, var(--accent-danger) 6%, transparent);
}

.mission-row-head[b-lr2j7584d6] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.mission-row-name[b-lr2j7584d6] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 6px;
}

.mission-row-urgent-badge[b-lr2j7584d6] {
    font-size: 9px;
    background: color-mix(in srgb, var(--accent-danger) 18%, transparent);
    color: var(--accent-danger);
    padding: 1px 6px;
    border-radius: 4px;
    font-weight: 700;
    letter-spacing: 0.4px;
}

.mission-row-sub[b-lr2j7584d6] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.mission-row-right[b-lr2j7584d6] {
    text-align: right;
    flex-shrink: 0;
}

.mission-row-phase[b-lr2j7584d6] {
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-secondary);
}

.mission-row-echeance[b-lr2j7584d6] {
    font-size: 10px;
    color: var(--text-muted);
}

.mission-row-progress[b-lr2j7584d6] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
}

.mission-row-progress-bar[b-lr2j7584d6] {
    flex: 1;
    height: 4px;
    background: var(--bg-progress, #F1F5F9);
    border-radius: 2px;
    overflow: hidden;
}

.mission-row-progress-fill[b-lr2j7584d6] {
    height: 100%;
    background: var(--accent-primary);
    transition: width 0.3s ease;
}

.mission-row-progress-urgent[b-lr2j7584d6] {
    background: var(--accent-danger);
}

.mission-row-progress-pct[b-lr2j7584d6] {
    font-size: 10px;
    font-weight: 600;
    color: var(--text-secondary);
    min-width: 32px;
    text-align: right;
}

/* --- Activity row --- mini-tableau compact (1 ligne par activite) */
.activity-table[b-lr2j7584d6] {
    display: flex;
    flex-direction: column;
}

.activity-row[b-lr2j7584d6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-bottom: 1px solid var(--border-divider, #F1F5F9);
    font-size: var(--font-size-xs);
    line-height: 1.3;
}

.activity-row:last-child[b-lr2j7584d6] {
    border-bottom: none;
}

.activity-icon[b-lr2j7584d6] {
    font-size: 12px;
    flex-shrink: 0;
}

.activity-label[b-lr2j7584d6] {
    color: var(--text-primary);
    font-weight: 600;
    flex-shrink: 0;
}

.activity-target[b-lr2j7584d6] {
    color: var(--text-secondary);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.activity-time[b-lr2j7584d6] {
    color: var(--text-muted);
    font-size: 10px;
    margin-left: auto;
    flex-shrink: 0;
}

/* --- Sprint 49 - Todo personnel row --- */
/* Sprint 52 - Wrapper devient un container + .todo-row-link porte la nav */
.todo-row[b-lr2j7584d6] {
    display: flex;
    align-items: center;
    gap: 4px;
    border-bottom: 1px solid var(--border-divider, #F1F5F9);
    transition: background-color 0.15s ease;
}

.todo-row:hover[b-lr2j7584d6] {
    background: var(--bg-hover, #F8FAFC);
}

.todo-row:last-child[b-lr2j7584d6] {
    border-bottom: none;
}

.todo-row-link[b-lr2j7584d6] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 8px 10px 16px;
    flex: 1;
    min-width: 0;
    color: var(--text-primary, #0F172A);
    text-decoration: none;
}

.todo-priority-dot[b-lr2j7584d6] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 5px;
    align-self: flex-start;
}

.todo-priority-critical[b-lr2j7584d6] {
    background: #DC2626;
    box-shadow: 0 0 0 3px color-mix(in srgb, #DC2626 20%, transparent);
}

.todo-priority-high[b-lr2j7584d6] {
    background: #F59E0B;
    box-shadow: 0 0 0 3px color-mix(in srgb, #F59E0B 20%, transparent);
}

.todo-priority-normal[b-lr2j7584d6] {
    background: #94A3B8;
}

.todo-content[b-lr2j7584d6] {
    flex: 1;
    min-width: 0;
}

.todo-title[b-lr2j7584d6] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.todo-subtitle[b-lr2j7584d6] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 2px;
}

.todo-arrow[b-lr2j7584d6] {
    color: var(--text-muted, #94A3B8);
    font-size: 12px;
    flex-shrink: 0;
}

.todo-row:hover .todo-arrow[b-lr2j7584d6] {
    color: var(--accent-primary, #2563EB);
}

/* --- Sprint 52 - Snooze inline --- */
.todo-snooze-wrap[b-lr2j7584d6] {
    position: relative;
    flex-shrink: 0;
    padding-right: 12px;
}

.todo-snooze-btn[b-lr2j7584d6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-muted, #94A3B8);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.todo-snooze-btn:hover[b-lr2j7584d6] {
    background: var(--bg-hover, #F1F5F9);
    border-color: var(--border-default, #E2E8F0);
    color: var(--accent-primary, #2563EB);
}

.todo-snooze-menu[b-lr2j7584d6] {
    position: absolute;
    top: 32px;
    right: 8px;
    min-width: 110px;
    background: var(--bg-card, #FFFFFF);
    border: 1px solid var(--border-default, #E2E8F0);
    border-radius: 8px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.12);
    z-index: 30;
    overflow: hidden;
}

.todo-snooze-menu-item[b-lr2j7584d6] {
    display: block;
    width: 100%;
    padding: 8px 12px;
    border: none;
    background: transparent;
    text-align: left;
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    cursor: pointer;
    transition: background-color 0.1s ease;
}

.todo-snooze-menu-item:hover[b-lr2j7584d6] {
    background: var(--bg-hover, #F1F5F9);
    color: var(--accent-primary, #2563EB);
}

.card-badge[b-lr2j7584d6] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    background: var(--bg-hover, #F1F5F9);
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary, #64748B);
}

/* --- Team row --- */
.team-row[b-lr2j7584d6] {
    padding: 10px 16px;
    border-bottom: 1px solid var(--border-divider, #F1F5F9);
    display: flex;
    align-items: center;
    gap: 10px;
}

.team-row:last-child[b-lr2j7584d6] {
    border-bottom: none;
}

.team-avatar-wrap[b-lr2j7584d6] {
    position: relative;
    flex-shrink: 0;
}

.team-avatar[b-lr2j7584d6] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
}

.team-avatar-active[b-lr2j7584d6] {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    border: 2px solid var(--accent-primary);
    color: var(--accent-primary);
}

.team-avatar-inactive[b-lr2j7584d6] {
    background: var(--bg-hover, #F1F5F9);
    border: 2px solid var(--border-card, #E2E8F0);
    color: var(--text-muted);
}

.team-presence[b-lr2j7584d6] {
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid var(--bg-card);
}

.team-presence-online[b-lr2j7584d6] {
    background: var(--accent-success);
}

.team-presence-offline[b-lr2j7584d6] {
    background: var(--text-muted);
}

.team-content[b-lr2j7584d6] {
    flex: 1;
    min-width: 0;
}

.team-name[b-lr2j7584d6] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
}

.team-sub[b-lr2j7584d6] {
    font-size: 10px;
    color: var(--text-muted);
}

.team-last[b-lr2j7584d6] {
    font-size: 9px;
    color: var(--text-muted);
    flex-shrink: 0;
}

.team-last-online[b-lr2j7584d6] {
    color: var(--accent-success);
    font-weight: 600;
}

/* --- Welcome (L3/L4 restricted) --- */
.dashboard-welcome[b-lr2j7584d6] {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-lg);
    color: var(--text-secondary);
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-card);
}

.welcome-icon[b-lr2j7584d6] {
    font-size: var(--font-size-2xl);
    color: var(--accent-primary);
    opacity: 0.4;
    display: block;
    margin-bottom: var(--spacing-md);
}

.welcome-title[b-lr2j7584d6] {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-xs);
}

.welcome-subtitle[b-lr2j7584d6] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--spacing-md);
}

.welcome-list[b-lr2j7584d6] {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: inline-flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    text-align: left;
}

.welcome-list li[b-lr2j7584d6] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.welcome-list li .e-icons[b-lr2j7584d6] {
    font-size: var(--font-size-base);
    color: var(--accent-primary);
    opacity: 0.6;
}

/* ================================================================
   Sprint 53 - Vue "Reportes" repliable + bouton Annuler snooze
   ================================================================ */

.snoozed-section[b-lr2j7584d6] {
    padding: 0;
}

.snoozed-header[b-lr2j7584d6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: var(--spacing-md) var(--spacing-lg);
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: left;
    border-radius: var(--border-radius-lg);
    transition: background 120ms ease;
}

.snoozed-header:hover[b-lr2j7584d6] {
    background: var(--bg-hover, rgba(0, 0, 0, 0.02));
}

.snoozed-header-right[b-lr2j7584d6] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.snoozed-badge[b-lr2j7584d6] {
    background: var(--bg-tertiary, #eef0f5);
    color: var(--text-secondary);
}

.snoozed-chevron[b-lr2j7584d6] {
    font-size: var(--font-size-base);
    color: var(--text-tertiary, #8893a3);
}

.snoozed-list[b-lr2j7584d6] {
    border-top: 1px solid var(--border-color, #e5e7eb);
    padding: var(--spacing-xs) 0;
}

.snoozed-row[b-lr2j7584d6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-lg);
    border-bottom: 1px solid var(--border-color-light, rgba(0, 0, 0, 0.04));
}

.snoozed-row:last-child[b-lr2j7584d6] {
    border-bottom: 0;
}

.snoozed-row-link[b-lr2j7584d6] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex: 1 1 auto;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

.snoozed-content[b-lr2j7584d6] {
    min-width: 0;
    flex: 1 1 auto;
}

.snoozed-title[b-lr2j7584d6] {
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.snoozed-subtitle[b-lr2j7584d6] {
    font-size: var(--font-size-xs, 12px);
    color: var(--text-tertiary, #8893a3);
    margin-top: 2px;
}

.snoozed-unsnooze-btn[b-lr2j7584d6] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: var(--border-radius-sm, 6px);
    border: 1px solid var(--border-color, #e5e7eb);
    background: var(--bg-card, #fff);
    color: var(--text-secondary);
    font-size: var(--font-size-xs, 12px);
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
    flex: 0 0 auto;
}

.snoozed-unsnooze-btn:hover:not(:disabled)[b-lr2j7584d6] {
    background: var(--bg-hover, rgba(0, 0, 0, 0.04));
    color: var(--text-primary);
    border-color: var(--accent-primary, #3b82f6);
}

.snoozed-unsnooze-btn:disabled[b-lr2j7584d6] {
    opacity: 0.6;
    cursor: not-allowed;
}
/* _content/Revio.Web/Pages/Demo/Index.razor.rz.scp.css */
/* Demo page - scoped styles */

[b-uyyorwtrqu] .revio-demo-card:hover {
    border-color: var(--card-accent, var(--accent-primary));
}

/* Sprint 38 - Profil super-admin REVIO (S0) : chip distinctif coin top-right */
[b-uyyorwtrqu] .revio-demo-card--revio {
    position: relative;
}

[b-uyyorwtrqu] .revio-demo-card-revio-chip {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #0F172A;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}
/* _content/Revio.Web/Pages/Documents/Index.razor.rz.scp.css */
/* Documents Page - scoped styles */

/* --- Access denied --- */
.doc-access-denied[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-xl);
    text-align: center;
    color: var(--text-muted);
    min-height: 400px;
}

.doc-access-denied .e-icons[b-vokgmpdsqo] {
    font-size: 48px;
    color: var(--accent-danger);
    margin-bottom: var(--spacing-md);
}

.doc-access-denied h2[b-vokgmpdsqo] {
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-sm) 0;
}

.doc-access-denied p[b-vokgmpdsqo] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--spacing-lg) 0;
}

/* --- Empty state --- */
.doc-empty-state[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-xl) var(--spacing-lg);
    text-align: center;
    min-height: 300px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
}

.doc-empty-state .e-icons[b-vokgmpdsqo] {
    color: var(--text-muted);
    margin-bottom: var(--spacing-md);
}

.doc-empty-state h3[b-vokgmpdsqo] {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-xs) 0;
}

.doc-empty-state p[b-vokgmpdsqo] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--spacing-md) 0;
    max-width: 400px;
}

.doc-error-state .e-icons[b-vokgmpdsqo] {
    color: var(--accent-danger);
}

.doc-empty-icon[b-vokgmpdsqo] {
    font-size: 48px;
}

/* --- Hero Banner M365 --- */
.doc-hero-banner[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-lg);
    border-radius: var(--border-radius-lg);
    background: linear-gradient(135deg, #0078D4, #106EBE);
    margin-bottom: var(--spacing-md);
    gap: var(--spacing-md);
}

.doc-hero-content[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    min-width: 0;
}

.doc-hero-icon[b-vokgmpdsqo] {
    font-size: 32px;
    color: var(--text-on-accent);
    flex-shrink: 0;
}

.doc-hero-info[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    min-width: 0;
}

.doc-hero-title[b-vokgmpdsqo] {
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--text-on-accent);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.doc-hero-url[b-vokgmpdsqo] {
    font-size: var(--font-size-xs);
    font-family: var(--font-monospace);
    color: var(--text-on-accent-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* doc-hero-btn replaced by revio-btn revio-btn-primary - layout modifier for hero banner context */
.doc-hero-btn-layout[b-vokgmpdsqo] {
    background: var(--input-on-accent-bg);
    color: var(--text-on-accent);
    border: 1px solid var(--input-on-accent-border);
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}

.doc-hero-btn-layout:hover[b-vokgmpdsqo] {
    background: var(--divider-on-accent);
    color: var(--text-on-accent);
    text-decoration: none;
}

/* --- Tab system --- */
.doc-tabs[b-vokgmpdsqo] {
    display: flex;
    gap: var(--spacing-xs);
    margin-bottom: var(--spacing-lg);
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 0;
}

.doc-tab[b-vokgmpdsqo] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm) var(--spacing-md);
    border: none;
    background: none;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    font-weight: 500;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.15s, border-color 0.15s;
}

.doc-tab .e-icons[b-vokgmpdsqo] {
    font-size: var(--font-size-base);
}

.doc-tab:hover[b-vokgmpdsqo] {
    color: var(--text-primary);
}

.doc-tab--active[b-vokgmpdsqo] {
    color: var(--accent-primary);
    font-weight: 700;
    border-bottom-color: var(--accent-primary);
}

/* --- Info banner (blue) --- */
.doc-info-banner[b-vokgmpdsqo] {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: color-mix(in srgb, var(--accent-info) 8%, var(--bg-card));
    border: 1px solid color-mix(in srgb, var(--accent-info) 25%, transparent);
    border-radius: var(--border-radius-md);
    margin-bottom: var(--spacing-md);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.doc-info-icon[b-vokgmpdsqo] {
    color: var(--accent-info);
    flex-shrink: 0;
    margin-top: 1px;
}

/* --- Tip banner (warning/info) --- */
.doc-tip-banner[b-vokgmpdsqo] {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--state-warning-bg);
    border: 1px solid var(--state-warning-border);
    border-radius: var(--border-radius-md);
    margin-top: var(--spacing-lg);
    font-size: var(--font-size-sm);
    color: var(--state-warning-text);
}

.doc-tip-icon[b-vokgmpdsqo] {
    color: var(--accent-warning);
    flex-shrink: 0;
    margin-top: 1px;
}

.doc-tip-content[b-vokgmpdsqo] {
    line-height: 1.5;
}

/* --- Libraries grid --- */
.doc-libraries-grid[b-vokgmpdsqo] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

/* --- Library card (enriched) --- */
.doc-library-card[b-vokgmpdsqo] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.doc-library-card:hover[b-vokgmpdsqo] {
    box-shadow: var(--shadow-card);
    border-color: color-mix(in srgb, var(--accent-primary) 30%, var(--border-color));
}

/* Library card header - colored */
.doc-library-header[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
}

.doc-library-header-icon[b-vokgmpdsqo] {
    width: 36px;
    height: 36px;
    border-radius: var(--border-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.25);
}

.doc-library-header-icon .e-icons[b-vokgmpdsqo] {
    font-size: var(--font-size-xl);
    color: inherit;
}

.doc-library-header-info[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.doc-library-label[b-vokgmpdsqo] {
    font-size: var(--font-size-base);
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.doc-library-desc[b-vokgmpdsqo] {
    font-size: var(--font-size-xs);
    opacity: 0.85;
}

/* Library color variants */
.lib-color-blue.doc-library-header[b-vokgmpdsqo] {
    background: linear-gradient(135deg, #0078D4, #106EBE);
    color: var(--text-on-accent);
}

.lib-color-purple.doc-library-header[b-vokgmpdsqo] {
    background: linear-gradient(135deg, #7C3AED, #6D28D9);
    color: var(--text-on-accent);
}

.lib-color-green.doc-library-header[b-vokgmpdsqo] {
    background: linear-gradient(135deg, #059669, #047857);
    color: var(--text-on-accent);
}

.lib-color-orange.doc-library-header[b-vokgmpdsqo] {
    background: linear-gradient(135deg, #EA580C, #C2410C);
    color: var(--text-on-accent);
}

/* Library card body */
.doc-library-body[b-vokgmpdsqo] {
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    flex: 1;
}

.doc-library-metrics[b-vokgmpdsqo] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-sm);
}

.doc-library-metric[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.doc-library-metric-value[b-vokgmpdsqo] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    font-family: var(--font-monospace);
}

.doc-library-metric-label[b-vokgmpdsqo] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.doc-library-last-modified[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.doc-library-last-modified .e-icons[b-vokgmpdsqo] {
    font-size: var(--font-size-xs);
}

.doc-library-access[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.doc-library-access .e-icons[b-vokgmpdsqo] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* Library card actions */
.doc-library-actions[b-vokgmpdsqo] {
    padding: var(--spacing-sm) var(--spacing-md);
    border-top: 1px solid var(--border-light);
    display: flex;
    justify-content: flex-end;
}

/* --- Recent files --- */
.doc-section-title[b-vokgmpdsqo] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-md) 0;
}

.doc-recent-files[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.doc-recent-file-card[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-md);
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    transition: box-shadow 0.15s, border-color 0.15s;
}

.doc-recent-file-card:hover[b-vokgmpdsqo] {
    box-shadow: var(--shadow-card);
    border-color: color-mix(in srgb, var(--accent-primary) 20%, var(--border-color));
}

.doc-recent-file-icon[b-vokgmpdsqo] {
    width: 36px;
    height: 36px;
    border-radius: var(--border-radius-md);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.doc-recent-file-icon .e-icons[b-vokgmpdsqo] {
    font-size: var(--font-size-xl);
}

.doc-recent-file-info[b-vokgmpdsqo] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.doc-recent-file-header[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.doc-recent-file-name[b-vokgmpdsqo] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    font-family: var(--font-monospace);
    color: var(--accent-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.doc-recent-file-tag[b-vokgmpdsqo] {
    display: inline-flex;
    align-items: center;
    padding: 1px var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Tag color variants (reuse library colors) */
.doc-recent-file-tag.lib-color-blue[b-vokgmpdsqo] {
    background: color-mix(in srgb, #0078D4 15%, transparent);
    color: #0078D4;
}

.doc-recent-file-tag.lib-color-purple[b-vokgmpdsqo] {
    background: color-mix(in srgb, var(--accent-purple) 15%, transparent);
    color: var(--accent-purple);
}

.doc-recent-file-tag.lib-color-green[b-vokgmpdsqo] {
    background: color-mix(in srgb, var(--accent-success) 15%, transparent);
    color: #059669;
}

.doc-recent-file-tag.lib-color-orange[b-vokgmpdsqo] {
    background: color-mix(in srgb, var(--accent-orange) 15%, transparent);
    color: var(--accent-orange);
}

.doc-recent-file-meta[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.doc-recent-file-sep[b-vokgmpdsqo] {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--text-muted);
    flex-shrink: 0;
}

.doc-recent-file-btn[b-vokgmpdsqo] {
    flex-shrink: 0;
}

/* --- Shares section --- */
.doc-partages-actions[b-vokgmpdsqo] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--spacing-md);
}

.doc-shares-empty[b-vokgmpdsqo] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    padding: var(--spacing-lg);
    text-align: center;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
}

/* Email in grid - monospace */
.doc-email-cell[b-vokgmpdsqo] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    color: var(--text-primary);
}

/* Access level tags in grid */
.doc-access-tag[b-vokgmpdsqo] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-xs);
    font-weight: 600;
    white-space: nowrap;
}

.access-tag-blue[b-vokgmpdsqo] {
    background: color-mix(in srgb, #0078D4 12%, transparent);
    color: #0078D4;
}

.access-tag-green[b-vokgmpdsqo] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: #059669;
}

.access-tag-purple[b-vokgmpdsqo] {
    background: color-mix(in srgb, var(--accent-purple) 12%, transparent);
    color: var(--accent-purple);
}

/* Info card M365 */
.doc-info-card-m365[b-vokgmpdsqo] {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    background: color-mix(in srgb, #0078D4 6%, var(--bg-card));
    border: 1px solid color-mix(in srgb, #0078D4 20%, transparent);
    border-radius: var(--border-radius-md);
    margin-top: var(--spacing-lg);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.doc-info-card-icon[b-vokgmpdsqo] {
    color: #0078D4;
    flex-shrink: 0;
    margin-top: 1px;
}

.doc-info-card-content[b-vokgmpdsqo] {
    line-height: 1.5;
}

/* --- Modal form --- */
.doc-modal-form[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.doc-form-group[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.doc-form-group label[b-vokgmpdsqo] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-secondary);
}

/* Invite info banner inside modal */
.doc-invite-info-banner[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: color-mix(in srgb, var(--accent-info) 8%, var(--bg-card));
    border: 1px solid color-mix(in srgb, var(--accent-info) 20%, transparent);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.doc-invite-info-banner .e-icons[b-vokgmpdsqo] {
    color: var(--accent-info);
    flex-shrink: 0;
}

/* Invite warning inside modal */
.doc-invite-warning[b-vokgmpdsqo] {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--state-warning-bg);
    border: 1px solid var(--state-warning-border);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
    color: var(--state-warning-text);
}

.doc-invite-warning .e-icons[b-vokgmpdsqo] {
    color: var(--accent-warning);
    flex-shrink: 0;
    margin-top: 1px;
}

/* --- Revoke modal --- */
.doc-revoke-content[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.doc-revoke-person[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.doc-revoke-email[b-vokgmpdsqo] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.doc-revoke-warning[b-vokgmpdsqo] {
    font-size: var(--font-size-sm);
    color: var(--accent-danger);
    font-weight: 500;
    margin: 0;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .doc-libraries-grid[b-vokgmpdsqo] {
        grid-template-columns: 1fr;
    }

    .doc-hero-banner[b-vokgmpdsqo] {
        flex-direction: column;
        align-items: flex-start;
    }

    .doc-tabs[b-vokgmpdsqo] {
        overflow-x: auto;
    }

    .doc-recent-file-card[b-vokgmpdsqo] {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* --- Per-library pane (one tab per SharePoint library) --- */
.doc-library-pane[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    margin-top: var(--spacing-md);
}

.doc-library-pane-header[b-vokgmpdsqo] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--spacing-md);
    flex-wrap: wrap;
}

.doc-library-pane-info[b-vokgmpdsqo] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

.doc-library-pane-title[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.doc-library-pane-title .e-icons[b-vokgmpdsqo] {
    font-size: 20px;
    color: var(--accent-primary);
}

.doc-library-pane-desc[b-vokgmpdsqo] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.doc-library-pane-actions[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

/* --- File grid cells --- */
.doc-files-grid[b-vokgmpdsqo] {
    margin-top: var(--spacing-xs);
}

.doc-file-cell[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    min-width: 0;
}

.doc-file-cell-icon[b-vokgmpdsqo] {
    font-size: 16px;
    color: var(--text-muted);
    flex-shrink: 0;
}

.doc-file-cell-name[b-vokgmpdsqo] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-primary);
}

.doc-file-actions[b-vokgmpdsqo] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.doc-file-btn[b-vokgmpdsqo] {
    padding: 4px 8px;
    min-width: 0;
}

@media (max-width: 768px) {
    .doc-library-pane-header[b-vokgmpdsqo] {
        flex-direction: column;
    }

    .doc-library-pane-actions[b-vokgmpdsqo] {
        width: 100%;
        justify-content: flex-start;
    }
}

/* _content/Revio.Web/Pages/Documents/SharePointTest.razor.rz.scp.css */
.sp-test-layout[b-g934iy9ixf] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    max-width: 900px;
}

.sp-section[b-g934iy9ixf] {
    background: var(--bg-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    padding: var(--spacing-lg);
}

.sp-section-title[b-g934iy9ixf] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-md) 0;
}

.sp-connection-card[b-g934iy9ixf] {
    border-radius: var(--radius-md);
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.sp-connected[b-g934iy9ixf] {
    background: color-mix(in srgb, var(--success) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--success) 30%, transparent);
}

.sp-disconnected[b-g934iy9ixf] {
    background: color-mix(in srgb, var(--danger) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--danger) 30%, transparent);
}

.sp-status-indicator[b-g934iy9ixf] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
}

.sp-connected .sp-status-indicator .e-icons[b-g934iy9ixf] {
    color: var(--success);
}

.sp-disconnected .sp-status-indicator .e-icons[b-g934iy9ixf] {
    color: var(--danger);
}

.sp-status-text[b-g934iy9ixf] {
    font-weight: 600;
    font-size: var(--font-size-md);
}

.sp-connection-details[b-g934iy9ixf] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.sp-detail-row[b-g934iy9ixf] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.sp-detail-label[b-g934iy9ixf] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    min-width: 100px;
    font-weight: 600;
}

.sp-detail-value[b-g934iy9ixf] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
}

.sp-mono[b-g934iy9ixf] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
}

.sp-link[b-g934iy9ixf] {
    font-size: var(--font-size-sm);
    color: var(--accent);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.sp-link:hover[b-g934iy9ixf] {
    text-decoration: underline;
}

.sp-error-msg[b-g934iy9ixf] {
    font-size: var(--font-size-sm);
    color: var(--danger);
    margin-top: var(--spacing-xs);
}

.sp-upload-form[b-g934iy9ixf] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: flex-end;
    margin-bottom: var(--spacing-md);
}

.sp-upload-form .e-textbox[b-g934iy9ixf] {
    flex: 1;
}

.sp-upload-result[b-g934iy9ixf] {
    border-radius: var(--radius-md);
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.sp-empty[b-g934iy9ixf] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    padding: var(--spacing-md);
    text-align: center;
}

.p-access-denied[b-g934iy9ixf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-xxl);
    text-align: center;
    color: var(--text-muted);
}

.p-access-denied .e-icons[b-g934iy9ixf] {
    color: var(--danger);
}

.revio-btn-danger[b-g934iy9ixf] {
    color: var(--danger);
}
/* _content/Revio.Web/Pages/Dossiers/Detail.razor.rz.scp.css */
/* Detail Dossier - scoped styles */

/* --- Provisioning banner --- */
.provisioning-banner[b-naoq2jw2ig] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
    font-weight: 500;
    margin-bottom: var(--spacing-md);
}

.provisioning-pending[b-naoq2jw2ig] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent);
}

.provisioning-success[b-naoq2jw2ig] {
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    color: var(--accent-success);
    border: 1px solid color-mix(in srgb, var(--accent-success) 25%, transparent);
}

.provisioning-error[b-naoq2jw2ig] {
    background: color-mix(in srgb, var(--accent-warning) 10%, transparent);
    color: var(--accent-warning);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, transparent);
}

.provisioning-spinner[b-naoq2jw2ig] {
    width: 16px;
    height: 16px;
    border: 2px solid color-mix(in srgb, var(--accent-primary) 30%, transparent);
    border-top-color: var(--accent-primary);
    border-radius: 50%;
    animation: spin-b-naoq2jw2ig 0.8s linear infinite;
    flex-shrink: 0;
}

@keyframes spin-b-naoq2jw2ig {
    to { transform: rotate(360deg); }
}

/* --- Header gradient --- */
.detail-header[b-naoq2jw2ig] {
    background: var(--gradient-hero);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-md) var(--spacing-lg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-md);
}

.detail-header-left[b-naoq2jw2ig] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.detail-header-back[b-naoq2jw2ig] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--border-radius-md);
    background: var(--input-on-accent-bg);
    color: var(--text-on-accent);
    text-decoration: none;
    flex-shrink: 0;
    transition: background 0.15s;
}

.detail-header-back:hover[b-naoq2jw2ig] {
    background: color-mix(in srgb, var(--input-on-accent-bg) 80%, white);
}

.detail-header-back .e-icons[b-naoq2jw2ig] {
    font-size: var(--font-size-sm);
}

.detail-header-name[b-naoq2jw2ig] {
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--text-on-accent);
}

.detail-header-meta[b-naoq2jw2ig] {
    font-size: var(--font-size-xs);
    color: var(--text-on-accent-muted);
    margin-top: 2px;
}

.detail-header-kpis[b-naoq2jw2ig] {
    display: flex;
    gap: var(--spacing-sm);
    flex-shrink: 0;
}

.detail-kpi[b-naoq2jw2ig] {
    background: var(--input-on-accent-bg);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-xs) var(--spacing-md);
    text-align: center;
    min-width: 64px;
}

.detail-kpi-value[b-naoq2jw2ig] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-on-accent);
}

.detail-kpi-label[b-naoq2jw2ig] {
    font-size: var(--font-size-2xs);
    color: var(--text-on-accent-faded);
}

/* --- Content grid: table + detail panel --- */
.detail-content[b-naoq2jw2ig] {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: var(--spacing-md);
    min-height: 400px;
}

.detail-table-panel[b-naoq2jw2ig] {
    min-width: 0;
}

.detail-side-panel[b-naoq2jw2ig] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

/* --- Card container --- */
.detail-card[b-naoq2jw2ig] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.detail-card-toolbar[b-naoq2jw2ig] {
    padding: var(--spacing-sm) var(--spacing-md);
    border-bottom: 1px solid var(--border-light);
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

/* --- Table --- */
.detail-table[b-naoq2jw2ig] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.detail-table thead tr[b-naoq2jw2ig] {
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
}

.detail-table th[b-naoq2jw2ig] {
    padding: var(--spacing-sm) var(--spacing-sm);
    text-align: left;
    font-weight: 600;
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.detail-table tbody tr[b-naoq2jw2ig] {
    border-bottom: 1px solid var(--border-light);
    cursor: pointer;
    transition: background 0.1s;
}

.detail-table tbody tr:hover[b-naoq2jw2ig] {
    background: var(--bg-hover);
}

.detail-table tbody tr.row-selected[b-naoq2jw2ig] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
}

.detail-table td[b-naoq2jw2ig] {
    padding: var(--spacing-xs) var(--spacing-sm);
    vertical-align: middle;
}

/* --- Cell styles --- */
.cell-entite[b-naoq2jw2ig] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.cell-entite .e-icons[b-naoq2jw2ig] {
    color: var(--accent-primary);
    font-size: var(--font-size-sm);
    flex-shrink: 0;
}

.cell-entite-name[b-naoq2jw2ig] {
    font-weight: 500;
    color: var(--text-primary);
    font-size: var(--font-size-sm);
}

.cell-sub[b-naoq2jw2ig] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

.cell-phase[b-naoq2jw2ig] {
    font-size: var(--font-size-xs);
    color: var(--text-primary);
}

.cell-text[b-naoq2jw2ig] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.cell-name[b-naoq2jw2ig] {
    font-weight: 500;
    color: var(--text-primary);
    font-size: var(--font-size-sm);
}

.cell-mono[b-naoq2jw2ig] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

/* --- Progress bar --- */
.cell-progress[b-naoq2jw2ig] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.progress-bar[b-naoq2jw2ig] {
    width: 40px;
    height: 4px;
    background: var(--bg-secondary);
    border-radius: 2px;
    overflow: hidden;
}

.progress-fill[b-naoq2jw2ig] {
    height: 100%;
    background: var(--accent-primary);
    border-radius: 2px;
    transition: width 0.3s;
}

.progress-fill.progress-complete[b-naoq2jw2ig] {
    background: var(--accent-success);
}

.progress-label[b-naoq2jw2ig] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-secondary);
}

/* --- Side panel cards --- */
.side-card[b-naoq2jw2ig] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    padding: var(--spacing-md);
}

.side-card-header[b-naoq2jw2ig] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: var(--spacing-sm);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.side-card-header .e-icons[b-naoq2jw2ig] {
    font-size: var(--font-size-sm);
    color: var(--accent-primary);
}

.side-card-sub[b-naoq2jw2ig] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-bottom: var(--spacing-md);
}

.side-card-placeholder[b-naoq2jw2ig] {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-md);
    color: var(--text-muted);
}

.side-card-placeholder p[b-naoq2jw2ig] {
    font-size: var(--font-size-sm);
    margin: var(--spacing-sm) 0 0;
}

.side-placeholder-icon[b-naoq2jw2ig] {
    font-size: var(--font-size-2xl);
    color: var(--text-muted);
    display: block;
}

/* --- Side field rows --- */
.side-field[b-naoq2jw2ig] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 3px 0;
    border-bottom: 1px solid var(--border-light);
}

.side-label[b-naoq2jw2ig] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.side-value[b-naoq2jw2ig] {
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-primary);
    text-align: right;
    max-width: 180px;
    word-break: break-word;
}

.side-value-mono[b-naoq2jw2ig] {
    font-family: var(--font-monospace);
}

/* --- Workflow steps (mission panel) --- */
.workflow-section-label[b-naoq2jw2ig] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: var(--spacing-sm);
    margin-top: var(--spacing-sm);
}

.workflow-steps[b-naoq2jw2ig] {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: var(--spacing-sm) 0;
    gap: 0;
}

.workflow-step[b-naoq2jw2ig] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 80px;
}

.workflow-step-link[b-naoq2jw2ig] {
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.15s;
}

.workflow-step-link:hover[b-naoq2jw2ig] {
    transform: scale(1.08);
}

.workflow-step-link:hover .step-circle[b-naoq2jw2ig] {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-primary) 20%, transparent);
}

.step-circle[b-naoq2jw2ig] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--border-color);
    background: transparent;
}

.step-circle .e-icons[b-naoq2jw2ig] {
    font-size: var(--font-size-xs);
}

.step-circle.step-done[b-naoq2jw2ig] {
    background: var(--accent-success);
    border-color: var(--accent-success);
    color: var(--text-on-accent);
}

.step-circle.step-done .e-icons[b-naoq2jw2ig] {
    color: var(--text-on-accent);
}

.step-circle.step-active[b-naoq2jw2ig] {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--text-on-accent);
}

.step-circle.step-active .e-icons[b-naoq2jw2ig] {
    color: var(--text-on-accent);
}

.step-circle.step-pending[b-naoq2jw2ig] {
    border-color: var(--border-color);
    color: var(--text-muted);
}

.step-circle.step-pending .e-icons[b-naoq2jw2ig] {
    color: var(--text-muted);
}

.step-label[b-naoq2jw2ig] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    margin-top: 2px;
    text-align: center;
}

.step-label-active[b-naoq2jw2ig] {
    font-weight: 600;
    color: var(--text-primary);
}

.step-progress[b-naoq2jw2ig] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

.step-connector[b-naoq2jw2ig] {
    width: 24px;
    height: 2px;
    background: var(--border-color);
    margin-top: 14px;
    flex-shrink: 0;
}

.step-connector.connector-done[b-naoq2jw2ig] {
    background: var(--accent-success);
}

/* --- Workflow quick buttons --- */
.workflow-quick-btns[b-naoq2jw2ig] {
    display: flex;
    gap: var(--spacing-xs);
    flex-wrap: wrap;
    margin-top: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
}

.workflow-phase-btn[b-naoq2jw2ig] {
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--border-color);
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--font-size-2xs);
    font-weight: 400;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}

.workflow-phase-btn:hover[b-naoq2jw2ig] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}

.workflow-phase-btn .e-icons[b-naoq2jw2ig] {
    font-size: var(--font-size-2xs);
}

.workflow-phase-btn.phase-btn-active[b-naoq2jw2ig] {
    border: 2px solid var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    color: var(--accent-primary);
    font-weight: 600;
}

/* --- Toolbar spacer --- */
.toolbar-spacer[b-naoq2jw2ig] {
    flex: 1;
}

/* --- Toolbar danger button --- */
.toolbar-btn-danger[b-naoq2jw2ig] {
    color: var(--accent-danger) !important;
    border-color: color-mix(in srgb, var(--accent-danger) 30%, transparent) !important;
}

.toolbar-btn-danger:hover:not(:disabled)[b-naoq2jw2ig] {
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent) !important;
}

/* --- Small button variant for toolbar --- */
.revio-btn-sm[b-naoq2jw2ig] {
    padding: var(--spacing-xs) var(--spacing-sm) !important;
    font-size: var(--font-size-xs) !important;
}

/* --- Cycle / Diligence rows (side panel) --- */
.side-cycle-row[b-naoq2jw2ig] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3px 0;
    border-bottom: 1px solid var(--border-light);
}

.side-cycle-row:last-child[b-naoq2jw2ig] {
    border-bottom: none;
}

.side-cycle-left[b-naoq2jw2ig] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    min-width: 0;
}

.side-cycle-code[b-naoq2jw2ig] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--accent-primary);
    font-family: var(--font-monospace);
    width: 20px;
    flex-shrink: 0;
}

.side-cycle-label[b-naoq2jw2ig] {
    font-size: var(--font-size-xs);
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.side-cycle-badge[b-naoq2jw2ig] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 1px 5px;
    border-radius: var(--border-radius-sm);
    white-space: nowrap;
    flex-shrink: 0;
}

/* --- Delete confirmation dialog --- */
.delete-confirm-content[b-naoq2jw2ig] {
    line-height: 1.6;
}

.delete-confirm-warning[b-naoq2jw2ig] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border-radius: var(--border-radius-sm);
    border-left: 3px solid var(--accent-danger);
    margin-bottom: var(--spacing-md);
    color: var(--accent-danger);
    font-size: var(--font-size-sm);
}

.delete-confirm-icon[b-naoq2jw2ig] {
    font-size: var(--font-size-lg);
    color: var(--accent-danger);
    flex-shrink: 0;
}

.delete-confirm-content p[b-naoq2jw2ig] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    margin: 0 0 var(--spacing-sm);
}

.delete-confirm-list[b-naoq2jw2ig] {
    margin: 0 0 var(--spacing-sm);
    padding-left: var(--spacing-lg);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.delete-confirm-list li[b-naoq2jw2ig] {
    margin-bottom: var(--spacing-3xs);
}

.delete-confirm-error[b-naoq2jw2ig] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border-radius: var(--border-radius-sm);
    color: var(--accent-danger);
    font-size: var(--font-size-sm);
    margin-top: var(--spacing-sm);
}

.delete-confirm-error .e-icons[b-naoq2jw2ig] {
    font-size: var(--font-size-sm);
    flex-shrink: 0;
}

/* --- Empty state --- */
.detail-empty[b-naoq2jw2ig] {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-lg);
    color: var(--text-muted);
}

.detail-empty-icon[b-naoq2jw2ig] {
    font-size: var(--font-size-2xl);
    display: block;
    margin-bottom: var(--spacing-sm);
}

.detail-empty p[b-naoq2jw2ig] {
    font-size: var(--font-size-sm);
    margin: 0;
}

/* Sprint 38b - Colonne "Detenue par" dans la grille entites */
[b-naoq2jw2ig] .cell-detention {
    font-size: var(--font-size-xs, 12px);
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    max-width: 100%;
}

[b-naoq2jw2ig] .cell-detention-empty {
    color: var(--text-tertiary, #9ca3af);
    font-size: var(--font-size-xs, 12px);
}
/* _content/Revio.Web/Pages/Dossiers/Index.razor.rz.scp.css */
/* Dossiers - scoped styles */

/* ================================================================
   Drafts card (revio-card, revio-table, revio-badge)
   ================================================================ */
.revio-card[b-iqqgr5pcs5] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-card);
}

.revio-card-header[b-iqqgr5pcs5] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    border-bottom: 1px solid var(--border-color);
}

.revio-card-title[b-iqqgr5pcs5] {
    font-size: var(--font-size-base);
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.revio-card-body[b-iqqgr5pcs5] {
    padding: var(--spacing-md);
}

.revio-badge[b-iqqgr5pcs5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 var(--spacing-xs);
    border-radius: 11px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    line-height: 1;
}

.revio-badge-warning[b-iqqgr5pcs5] {
    background: color-mix(in srgb, var(--accent-warning) 15%, transparent);
    color: var(--accent-warning);
}

.revio-table[b-iqqgr5pcs5] {
    width: 100%;
    border-collapse: collapse;
}

.revio-table th[b-iqqgr5pcs5] {
    text-align: left;
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-muted);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-bottom: 1px solid var(--border-color);
}

.revio-table td[b-iqqgr5pcs5] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-bottom: 1px solid var(--border-light);
}

.revio-table tbody tr:last-child td[b-iqqgr5pcs5] {
    border-bottom: none;
}

.revio-table tbody tr:hover[b-iqqgr5pcs5] {
    background: var(--bg-hover);
}

/* ================================================================
   Grid toolbar
   ================================================================ */
.dossiers-grid-toolbar[b-iqqgr5pcs5] {
    display: flex;
    align-items: center;
    padding: var(--spacing-xs) var(--spacing-sm);
    border-bottom: 1px solid var(--border-color);
}

.toolbar-spacer[b-iqqgr5pcs5] {
    flex: 1;
}

/* ================================================================
   Empty state
   ================================================================ */
.dossiers-empty[b-iqqgr5pcs5] {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-lg);
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-card);
    margin-top: var(--spacing-md);
}

.empty-illustration[b-iqqgr5pcs5] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--spacing-md);
}

.empty-illustration .e-icons[b-iqqgr5pcs5] {
    font-size: var(--font-size-2xl);
    color: var(--accent-primary);
    opacity: 0.6;
}

.empty-title[b-iqqgr5pcs5] {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-xs);
}

.empty-description[b-iqqgr5pcs5] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 var(--spacing-lg);
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

/* --- Access denied --- */
.p-access-denied[b-iqqgr5pcs5] {
    text-align: center;
    padding: var(--spacing-xl);
}

/* ================================================================
   Filter bar
   ================================================================ */
.dossiers-filter-bar[b-iqqgr5pcs5] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
    flex-wrap: wrap;
}

.filter-group[b-iqqgr5pcs5] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.filter-label[b-iqqgr5pcs5] {
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-muted);
    margin-right: var(--spacing-xs);
}

.filter-separator[b-iqqgr5pcs5] {
    width: 1px;
    height: 20px;
    background: var(--border-color);
    margin: 0 var(--spacing-xs);
}

.filter-pill[b-iqqgr5pcs5] {
    padding: var(--spacing-xs) var(--spacing-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-sm);
    background: var(--bg-card);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    line-height: 1.4;
}

.filter-pill:hover[b-iqqgr5pcs5] {
    background: var(--bg-hover);
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}

.filter-pill.active[b-iqqgr5pcs5] {
    background: var(--accent-primary);
    color: var(--text-on-accent);
    border-color: var(--accent-primary);
}

.filter-pill.active.danger[b-iqqgr5pcs5] {
    background: var(--accent-danger);
    border-color: var(--accent-danger);
}

.filter-count[b-iqqgr5pcs5] {
    margin-left: auto;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

/* ================================================================
   KPI cards
   ================================================================ */
.dossiers-kpis[b-iqqgr5pcs5] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
}

.kpi-card[b-iqqgr5pcs5] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-sm) var(--spacing-md);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-card);
}

.kpi-header[b-iqqgr5pcs5] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    margin-bottom: var(--spacing-xs);
}

.kpi-icon[b-iqqgr5pcs5] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.kpi-label[b-iqqgr5pcs5] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.kpi-value[b-iqqgr5pcs5] {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
}

.kpi-value-danger[b-iqqgr5pcs5] {
    color: var(--accent-danger);
}

.kpi-card-danger[b-iqqgr5pcs5] {
    border-color: color-mix(in srgb, var(--accent-danger) 30%, transparent);
}

/* ================================================================
   Split layout
   ================================================================ */
.dossiers-split[b-iqqgr5pcs5] {
    display: flex;
    gap: var(--spacing-md);
}

.dossiers-table-wrapper[b-iqqgr5pcs5] {
    flex: 1;
    min-width: 0;
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-card);
    overflow: hidden;
}

/* ================================================================
   Table column templates
   ================================================================ */

/* Client column */
.col-client[b-iqqgr5pcs5] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.col-client-name[b-iqqgr5pcs5] {
    font-size: var(--font-size-base);
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.3;
}

.col-client-sub[b-iqqgr5pcs5] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    line-height: 1.2;
}

/* Type badge */
.col-type-badge[b-iqqgr5pcs5] {
    display: inline-block;
    font-size: var(--font-size-xs);
    font-weight: 600;
    padding: 2px var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    line-height: 1.4;
    white-space: nowrap;
}

/* Progress bar */
.col-progress[b-iqqgr5pcs5] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.col-progress-track[b-iqqgr5pcs5] {
    width: 80px;
    height: 6px;
    background: var(--bg-secondary);
    border-radius: 3px;
    overflow: hidden;
    flex-shrink: 0;
}

.col-progress-fill[b-iqqgr5pcs5] {
    height: 100%;
    border-radius: 3px;
    transition: width 0.3s ease;
}

.col-progress-label[b-iqqgr5pcs5] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    min-width: 32px;
}

/* Selected row highlight */
[b-iqqgr5pcs5] .row-selected td {
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent) !important;
}

/* ================================================================
   Detail panel (right side)
   ================================================================ */
.dossiers-detail-panel[b-iqqgr5pcs5] {
    width: 360px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.detail-card[b-iqqgr5pcs5] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-card);
    padding: var(--spacing-md);
}

.detail-card-header[b-iqqgr5pcs5] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--spacing-md);
}

.detail-client-name[b-iqqgr5pcs5] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.3;
}

.detail-client-siren[b-iqqgr5pcs5] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.detail-info-row[b-iqqgr5pcs5] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-xs) 0;
    border-bottom: 1px solid var(--border-light);
}

.detail-info-label[b-iqqgr5pcs5] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.detail-info-value[b-iqqgr5pcs5] {
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--text-primary);
}

/* CTAs */
.detail-ctas[b-iqqgr5pcs5] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-md);
}

.detail-btn-full[b-iqqgr5pcs5] {
    width: 100%;
    justify-content: center;
    padding: var(--spacing-sm) var(--spacing-md) !important;
    font-size: var(--font-size-sm) !important;
}

.detail-ctas-row[b-iqqgr5pcs5] {
    display: flex;
    gap: var(--spacing-sm);
}

.detail-btn-half[b-iqqgr5pcs5] {
    flex: 1;
    justify-content: center;
    text-align: center;
    padding: var(--spacing-xs) var(--spacing-xs) !important;
    font-size: var(--font-size-2xs) !important;
}

/* Card title */
.detail-card-title[b-iqqgr5pcs5] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-base);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: var(--spacing-sm);
}

.detail-card-title .e-icons[b-iqqgr5pcs5] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

/* Resume grid */
.detail-resume-grid[b-iqqgr5pcs5] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--spacing-sm);
}

.detail-resume-item[b-iqqgr5pcs5] {
    text-align: center;
    padding: var(--spacing-sm);
    background: var(--bg-secondary);
    border-radius: var(--border-radius-md);
}

.detail-resume-value[b-iqqgr5pcs5] {
    display: block;
    font-size: var(--font-size-xl);
    font-weight: 700;
    line-height: 1.2;
}

.detail-resume-label[b-iqqgr5pcs5] {
    display: block;
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    margin-top: 2px;
}

/* Contact */
.detail-contact-block[b-iqqgr5pcs5] {
    padding: var(--spacing-xs) 0;
    border-bottom: 1px solid var(--border-light);
}

.detail-contact-block:last-child[b-iqqgr5pcs5] {
    border-bottom: none;
}

.detail-contact-role[b-iqqgr5pcs5] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-right: var(--spacing-xs);
}

.detail-contact-name[b-iqqgr5pcs5] {
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-primary);
}

.detail-contact-email[b-iqqgr5pcs5] {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--accent-primary);
    padding-top: 1px;
    padding-bottom: var(--spacing-xs);
}

.detail-contact-empty[b-iqqgr5pcs5] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-style: italic;
}

/* ================================================================
   Responsive: hide detail panel on narrow screens
   ================================================================ */
@media (max-width: 1100px) {
    .dossiers-detail-panel[b-iqqgr5pcs5] {
        display: none;
    }

    .dossiers-kpis[b-iqqgr5pcs5] {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* _content/Revio.Web/Pages/Dossiers/Missions.razor.rz.scp.css */
/* Missions list - scoped styles (mirrored from Detail.razor.css) */

/* --- Content grid: table + detail panel --- */
.detail-content[b-0vz6ojswsi] {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: var(--spacing-md);
    min-height: 400px;
}

.detail-table-panel[b-0vz6ojswsi] {
    min-width: 0;
}

.detail-side-panel[b-0vz6ojswsi] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

/* --- Card container --- */
.detail-card[b-0vz6ojswsi] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.detail-card-toolbar[b-0vz6ojswsi] {
    padding: var(--spacing-sm) var(--spacing-md);
    border-bottom: 1px solid var(--border-light);
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

/* --- Cell styles --- */
.cell-entite-name[b-0vz6ojswsi] {
    font-weight: 500;
    color: var(--text-primary);
    font-size: var(--font-size-sm);
}

.cell-text[b-0vz6ojswsi] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

/* --- Side panel cards --- */
.side-card[b-0vz6ojswsi] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    padding: var(--spacing-md);
}

.side-card-header[b-0vz6ojswsi] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: var(--spacing-sm);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.side-card-header .e-icons[b-0vz6ojswsi] {
    font-size: var(--font-size-sm);
    color: var(--accent-primary);
}

.side-card-sub[b-0vz6ojswsi] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-bottom: var(--spacing-md);
}

.side-card-placeholder[b-0vz6ojswsi] {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-md);
    color: var(--text-muted);
}

.side-card-placeholder p[b-0vz6ojswsi] {
    font-size: var(--font-size-sm);
    margin: var(--spacing-sm) 0 0;
}

.side-placeholder-icon[b-0vz6ojswsi] {
    font-size: var(--font-size-2xl);
    color: var(--text-muted);
    display: block;
}

/* --- Side field rows --- */
.side-field[b-0vz6ojswsi] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 3px 0;
    border-bottom: 1px solid var(--border-light);
}

.side-label[b-0vz6ojswsi] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.side-value[b-0vz6ojswsi] {
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-primary);
    text-align: right;
    max-width: 180px;
    word-break: break-word;
}

/* --- Workflow steps (mission panel) --- */
.workflow-section-label[b-0vz6ojswsi] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: var(--spacing-sm);
    margin-top: var(--spacing-sm);
}

.workflow-steps[b-0vz6ojswsi] {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: var(--spacing-sm) 0;
    gap: 0;
}

.workflow-step[b-0vz6ojswsi] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 80px;
}

.workflow-step-link[b-0vz6ojswsi] {
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.15s;
}

.workflow-step-link:hover[b-0vz6ojswsi] {
    transform: scale(1.08);
}

.workflow-step-link:hover .step-circle[b-0vz6ojswsi] {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-primary) 20%, transparent);
}

.step-circle[b-0vz6ojswsi] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--border-color);
    background: transparent;
}

.step-circle .e-icons[b-0vz6ojswsi] {
    font-size: var(--font-size-xs);
}

.step-circle.step-done[b-0vz6ojswsi] {
    background: var(--accent-success);
    border-color: var(--accent-success);
    color: var(--text-on-accent);
}

.step-circle.step-done .e-icons[b-0vz6ojswsi] {
    color: var(--text-on-accent);
}

.step-circle.step-active[b-0vz6ojswsi] {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--text-on-accent);
}

.step-circle.step-active .e-icons[b-0vz6ojswsi] {
    color: var(--text-on-accent);
}

.step-circle.step-pending[b-0vz6ojswsi] {
    border-color: var(--border-color);
    color: var(--text-muted);
}

.step-circle.step-pending .e-icons[b-0vz6ojswsi] {
    color: var(--text-muted);
}

.step-label[b-0vz6ojswsi] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    margin-top: 2px;
    text-align: center;
}

.step-label-active[b-0vz6ojswsi] {
    font-weight: 600;
    color: var(--text-primary);
}

.step-progress[b-0vz6ojswsi] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

.step-connector[b-0vz6ojswsi] {
    width: 24px;
    height: 2px;
    background: var(--border-color);
    margin-top: 14px;
    flex-shrink: 0;
}

.step-connector.connector-done[b-0vz6ojswsi] {
    background: var(--accent-success);
}

/* --- Workflow quick buttons --- */
.workflow-quick-btns[b-0vz6ojswsi] {
    display: flex;
    gap: var(--spacing-xs);
    flex-wrap: wrap;
    margin-top: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
}

.workflow-phase-btn[b-0vz6ojswsi] {
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--border-color);
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--font-size-2xs);
    font-weight: 400;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}

.workflow-phase-btn:hover[b-0vz6ojswsi] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}

.workflow-phase-btn .e-icons[b-0vz6ojswsi] {
    font-size: var(--font-size-2xs);
}

.workflow-phase-btn.phase-btn-active[b-0vz6ojswsi] {
    border: 2px solid var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    color: var(--accent-primary);
    font-weight: 600;
}

/* --- Toolbar spacer --- */
.toolbar-spacer[b-0vz6ojswsi] {
    flex: 1;
}

/* --- Toolbar danger button --- */
.toolbar-btn-danger[b-0vz6ojswsi] {
    color: var(--accent-danger) !important;
    border-color: color-mix(in srgb, var(--accent-danger) 30%, transparent) !important;
}

.toolbar-btn-danger:hover:not(:disabled)[b-0vz6ojswsi] {
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent) !important;
}

/* --- Small button variant for toolbar --- */
.revio-btn-sm[b-0vz6ojswsi] {
    padding: var(--spacing-xs) var(--spacing-sm) !important;
    font-size: var(--font-size-xs) !important;
}

/* --- Delete confirmation dialog --- */
.delete-confirm-content[b-0vz6ojswsi] {
    line-height: 1.6;
}

.delete-confirm-warning[b-0vz6ojswsi] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border-radius: var(--border-radius-sm);
    border-left: 3px solid var(--accent-danger);
    margin-bottom: var(--spacing-md);
    color: var(--accent-danger);
    font-size: var(--font-size-sm);
}

.delete-confirm-icon[b-0vz6ojswsi] {
    font-size: var(--font-size-lg);
    color: var(--accent-danger);
    flex-shrink: 0;
}

.delete-confirm-content p[b-0vz6ojswsi] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    margin: 0 0 var(--spacing-sm);
}

.delete-confirm-list[b-0vz6ojswsi] {
    margin: 0 0 var(--spacing-sm);
    padding-left: var(--spacing-lg);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.delete-confirm-list li[b-0vz6ojswsi] {
    margin-bottom: var(--spacing-3xs);
}

.delete-confirm-error[b-0vz6ojswsi] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border-radius: var(--border-radius-sm);
    color: var(--accent-danger);
    font-size: var(--font-size-sm);
    margin-top: var(--spacing-sm);
}

.delete-confirm-error .e-icons[b-0vz6ojswsi] {
    font-size: var(--font-size-sm);
    flex-shrink: 0;
}

/* --- Empty state --- */
.detail-empty[b-0vz6ojswsi] {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-lg);
    color: var(--text-muted);
}

.detail-empty-icon[b-0vz6ojswsi] {
    font-size: var(--font-size-2xl);
    display: block;
    margin-bottom: var(--spacing-sm);
}

.detail-empty p[b-0vz6ojswsi] {
    font-size: var(--font-size-sm);
    margin: 0;
}
/* _content/Revio.Web/Pages/Dossiers/ModifierEntiteDialog.razor.rz.scp.css */
/* ==========================================================================
   ModifierEntiteDialog - Inline overlay (medium width, single form)
   All values via var(--token) - no hardcoded px
   ========================================================================== */

/* --- Overlay --- */
.med-overlay[b-e8bnhalycf] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--modal-overlay-bg);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-lg);
}

.med-container[b-e8bnhalycf] {
    background: var(--bg-primary);
    border-radius: var(--border-radius-lg);
    width: 100%;
    max-width: 700px;
    max-height: calc(100vh - 2 * var(--spacing-lg));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--shadow-popup);
}

/* --- Header --- */
.med-header[b-e8bnhalycf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}

.med-header-left[b-e8bnhalycf] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    min-width: 0;
}

.med-header-icon[b-e8bnhalycf] {
    font-size: var(--font-size-xl);
    color: var(--accent-primary);
}

.med-header-title[b-e8bnhalycf] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
}

.med-header-sub[b-e8bnhalycf] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

/* --- Body (scrollable content) --- */
.med-body[b-e8bnhalycf] {
    flex: 1;
    overflow-y: auto;
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

/* --- Form card (reuse NouvelleEntiteDialog patterns) --- */
.form-card[b-e8bnhalycf] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-lg);
    box-shadow: var(--shadow-card);
}

.form-grid[b-e8bnhalycf] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xs) var(--spacing-md);
}

.form-grid.form-grid-4[b-e8bnhalycf] {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.form-group[b-e8bnhalycf] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.form-group.span-2[b-e8bnhalycf] {
    grid-column: span 2;
}

.form-label[b-e8bnhalycf] {
    font-size: var(--font-size-2xs);
    font-weight: 500;
    color: var(--text-muted);
}

.form-label.required[b-e8bnhalycf]::after {
    content: " *";
    color: var(--accent-danger);
}

/* --- Compact inputs inside form-cards --- */
[b-e8bnhalycf] .form-card .e-input,
[b-e8bnhalycf] .form-card .e-input-group {
    font-size: var(--font-size-sm);
}

[b-e8bnhalycf] .form-card .e-input-group .e-input {
    height: 30px;
    padding: 2px var(--spacing-sm);
}

.form-section-title[b-e8bnhalycf] {
    font-size: var(--font-size-base);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-xs) 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.form-section-title .e-icons[b-e8bnhalycf] {
    color: var(--accent-primary);
    font-size: var(--font-size-xl);
}

.form-checkbox-field[b-e8bnhalycf] {
    padding-top: var(--spacing-lg);
}

/* --- SIREN highlight block --- */
.siren-highlight-block[b-e8bnhalycf] {
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
    border-radius: var(--border-radius-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
}

.siren-highlight-label[b-e8bnhalycf] {
    display: block;
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 2px;
}

.siren-lookup-row[b-e8bnhalycf] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

.siren-lookup-row > :first-child[b-e8bnhalycf] {
    flex: 1;
}

.siren-lookup-error[b-e8bnhalycf] {
    font-size: var(--font-size-sm);
    color: var(--accent-danger);
    margin-top: var(--spacing-xs);
}

.siren-lookup-success[b-e8bnhalycf] {
    font-size: var(--font-size-sm);
    color: var(--accent-success);
    margin-top: var(--spacing-xs);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.siren-lookup-success .e-icons[b-e8bnhalycf] {
    font-size: var(--font-size-sm);
}

/* --- NAF lookup status --- */
.naf-lookup-status[b-e8bnhalycf] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-style: italic;
}

/* --- Info banner (active missions) --- */
.med-info-banner[b-e8bnhalycf] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
    background: color-mix(in srgb, var(--accent-warning) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, transparent);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
    color: var(--accent-warning);
}

.med-info-banner .e-icons[b-e8bnhalycf] {
    font-size: var(--font-size-base);
    flex-shrink: 0;
}

/* --- Footer --- */
.med-footer[b-e8bnhalycf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-top: 1px solid var(--border-color);
    flex-shrink: 0;
}

/* --- Sprint 38b - Detention block --- */
.med-detention-cumul[b-e8bnhalycf] {
    margin-left: auto;
    font-size: var(--font-size-xs, 12px);
    font-weight: 500;
    color: var(--text-secondary);
    background: var(--bg-subtle, #f3f4f6);
    padding: 2px 10px;
    border-radius: 12px;
}

.med-detention-empty[b-e8bnhalycf] {
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    margin: 0 0 var(--spacing-sm) 0;
}

.med-detention-table[b-e8bnhalycf] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: var(--spacing-md);
    font-size: var(--font-size-sm);
}

.med-detention-table thead th[b-e8bnhalycf] {
    text-align: left;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border-default, #e5e7eb);
    color: var(--text-secondary);
    font-weight: 600;
}

.med-detention-table thead th.num[b-e8bnhalycf] {
    text-align: right;
}

.med-detention-table thead th.actions[b-e8bnhalycf] {
    width: 40px;
}

.med-detention-table tbody td[b-e8bnhalycf] {
    padding: 8px 12px;
    border-bottom: 1px solid var(--border-subtle, #f3f4f6);
}

.med-detention-table tbody td.num[b-e8bnhalycf] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 500;
}

.med-detention-table tbody td.actions[b-e8bnhalycf] {
    text-align: right;
}

.med-detention-add[b-e8bnhalycf] {
    background: var(--bg-subtle, #f9fafb);
    border-radius: 8px;
    padding: var(--spacing-md);
    margin-top: var(--spacing-sm);
}

.med-detention-error[b-e8bnhalycf] {
    color: var(--color-danger, #b91c1c);
    font-size: var(--font-size-sm);
    margin-top: var(--spacing-sm);
}

.med-detention-actions[b-e8bnhalycf] {
    display: flex;
    gap: var(--spacing-sm);
    justify-content: flex-end;
    margin-top: var(--spacing-sm);
}

/* --- Responsive --- */
@media (max-width: 700px) {
    .med-overlay[b-e8bnhalycf] {
        padding: var(--spacing-sm);
    }

    .form-grid[b-e8bnhalycf],
    .form-grid.form-grid-4[b-e8bnhalycf] {
        grid-template-columns: 1fr;
    }

    .form-group.span-2[b-e8bnhalycf] {
        grid-column: span 1;
    }

    .med-footer[b-e8bnhalycf] {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
}
/* _content/Revio.Web/Pages/Dossiers/ModifierMissionDialog.razor.rz.scp.css */
/* ==========================================================================
   ModifierMissionDialog - reuses NouvelleMissionDialog patterns
   ========================================================================== */

.med-overlay[b-pzgg7awyre] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--modal-overlay-bg);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-lg);
}

.med-container[b-pzgg7awyre] {
    background: var(--bg-primary);
    border-radius: var(--border-radius-lg);
    width: 100%;
    max-width: 600px;
    max-height: calc(100vh - 2 * var(--spacing-lg));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--shadow-popup);
}

.med-header[b-pzgg7awyre] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}

.med-header-left[b-pzgg7awyre] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    min-width: 0;
}

.med-header-icon[b-pzgg7awyre] {
    font-size: var(--font-size-xl);
    color: var(--accent-primary);
}

.med-header-title[b-pzgg7awyre] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
}

.med-header-sub[b-pzgg7awyre] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.med-body[b-pzgg7awyre] {
    flex: 1;
    overflow-y: auto;
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.form-card[b-pzgg7awyre] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-lg);
    box-shadow: var(--shadow-card);
}

.form-section-title[b-pzgg7awyre] {
    font-size: var(--font-size-base);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-xs) 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.form-section-title .e-icons[b-pzgg7awyre] {
    color: var(--accent-primary);
    font-size: var(--font-size-xl);
}

.form-grid[b-pzgg7awyre] {
    display: grid;
    gap: var(--spacing-xs) var(--spacing-md);
}

.form-grid.form-grid-2[b-pzgg7awyre] {
    grid-template-columns: 1fr 1fr;
}

.form-group[b-pzgg7awyre] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.form-group.span-2[b-pzgg7awyre] {
    grid-column: span 2;
}

.form-label[b-pzgg7awyre] {
    font-size: var(--font-size-2xs);
    font-weight: 500;
    color: var(--text-muted);
}

.form-label.required[b-pzgg7awyre]::after {
    content: " *";
    color: var(--accent-danger);
}

/* --- Compact inputs --- */
[b-pzgg7awyre] .form-card .e-input,
[b-pzgg7awyre] .form-card .e-input-group {
    font-size: var(--font-size-sm);
}

[b-pzgg7awyre] .form-card .e-input-group .e-input {
    height: 30px;
    padding: 2px var(--spacing-sm);
}

/* --- Info banner --- */
.med-info-banner[b-pzgg7awyre] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
}

.med-info-banner .e-icons[b-pzgg7awyre] {
    font-size: var(--font-size-base);
    flex-shrink: 0;
}

.med-info-warning[b-pzgg7awyre] {
    background: color-mix(in srgb, var(--accent-warning) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, transparent);
    color: var(--accent-warning);
}

/* --- Footer --- */
.med-footer[b-pzgg7awyre] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-top: 1px solid var(--border-color);
    flex-shrink: 0;
}

/* --- Responsive --- */
@media (max-width: 600px) {
    .med-overlay[b-pzgg7awyre] {
        padding: var(--spacing-sm);
    }

    .form-grid[b-pzgg7awyre],
    .form-grid.form-grid-2[b-pzgg7awyre] {
        grid-template-columns: 1fr;
    }

    .form-group.span-2[b-pzgg7awyre] {
        grid-column: span 1;
    }

    .med-footer[b-pzgg7awyre] {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
}
/* _content/Revio.Web/Pages/Dossiers/NouveauClient.razor.rz.scp.css */
/* ==========================================================================
   Nouveau Client Wizard - Scoped Styles
   Toutes les valeurs via var(--token) - aucune valeur hardcodee
   ========================================================================== */

/* --- Wizard stepper row (stepper + draft status) --- */
.wizard-stepper-row[b-qp2i2kmper] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--spacing-lg);
    padding: var(--spacing-md) 0;
    position: relative;
}

.draft-status-area[b-qp2i2kmper] {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

/* --- Wizard stepper --- */
.wizard-stepper[b-qp2i2kmper] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xs);
}

.wizard-step[b-qp2i2kmper] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--border-radius-lg);
    background: transparent;
    transition: background 0.2s, color 0.2s;
}

.wizard-step:not(:last-child)[b-qp2i2kmper]::after {
    content: "";
    display: block;
    width: 32px;
    height: 2px;
    background: var(--border-color);
    margin-left: var(--spacing-sm);
    flex-shrink: 0;
}

.wizard-step.completed:not(:last-child)[b-qp2i2kmper]::after {
    background: var(--accent-success);
}

.wizard-step.active:not(:last-child)[b-qp2i2kmper]::after {
    background: var(--accent-primary);
}

.wizard-step-number[b-qp2i2kmper] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-sm);
    font-weight: 700;
    background: var(--bg-secondary);
    color: var(--text-muted);
    border: 2px solid var(--border-color);
    flex-shrink: 0;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.wizard-step.active .wizard-step-number[b-qp2i2kmper] {
    background: var(--accent-primary);
    color: var(--text-inverse);
    border-color: var(--accent-primary);
}

.wizard-step.completed .wizard-step-number[b-qp2i2kmper] {
    background: var(--accent-success);
    color: var(--text-inverse);
    border-color: var(--accent-success);
}

.wizard-step-label[b-qp2i2kmper] {
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--text-muted);
    white-space: nowrap;
}

.wizard-step.active .wizard-step-label[b-qp2i2kmper] {
    color: var(--accent-primary);
    font-weight: 700;
}

.wizard-step.completed .wizard-step-label[b-qp2i2kmper] {
    color: var(--accent-success);
}

/* --- Wizard content area --- */
.wizard-content[b-qp2i2kmper] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    min-height: 300px;
}

/* --- Wizard actions (bottom nav) --- */
.wizard-actions[b-qp2i2kmper] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: var(--spacing-lg);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--border-color);
}

.wizard-actions-left[b-qp2i2kmper] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.wizard-actions-right[b-qp2i2kmper] {
    display: flex;
    gap: var(--spacing-sm);
}

/* --- Form card --- */
.form-card[b-qp2i2kmper] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
    box-shadow: var(--shadow-card);
}

.form-card + .form-card[b-qp2i2kmper] {
    margin-top: var(--spacing-sm);
}

/* --- Form grid --- */
.form-grid[b-qp2i2kmper] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xs) var(--spacing-md);
}

.form-grid.form-grid-3[b-qp2i2kmper] {
    grid-template-columns: 1fr 1fr 1fr;
}

.form-grid.form-grid-4[b-qp2i2kmper] {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.form-group.span-2[b-qp2i2kmper] {
    grid-column: span 2;
}

.form-group.span-3[b-qp2i2kmper] {
    grid-column: span 3;
}

.form-group[b-qp2i2kmper] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3xs, 2px);
}

.form-group.full-width[b-qp2i2kmper] {
    grid-column: 1 / -1;
}

.form-label[b-qp2i2kmper] {
    font-size: var(--font-size-2xs);
    font-weight: 500;
    color: var(--text-muted);
}

.form-label.required[b-qp2i2kmper]::after {
    content: " *";
    color: var(--accent-danger);
}

/* --- Compact inputs inside form-cards --- */
[b-qp2i2kmper] .form-card .e-input,
[b-qp2i2kmper] .form-card .e-input-group {
    font-size: var(--font-size-sm);
}

[b-qp2i2kmper] .form-card .e-input-group .e-input {
    height: 30px;
    padding: 2px var(--spacing-sm);
}

/* --- Section title --- */
.form-section-title[b-qp2i2kmper] {
    font-size: var(--font-size-base);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-xs) 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.form-section-title .e-icons[b-qp2i2kmper] {
    color: var(--accent-primary);
    font-size: var(--font-size-xl);
}

.form-section-title-sub[b-qp2i2kmper] {
    margin-top: var(--spacing-lg);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--border-color);
}

/* --- Checkbox row --- */
.form-checkbox-row[b-qp2i2kmper] {
    margin-top: var(--spacing-md);
    padding-top: var(--spacing-sm);
}

.form-checkbox-row-spread[b-qp2i2kmper] {
    display: flex !important;
    align-items: center;
    justify-content: space-around;
    gap: var(--spacing-xl);
    flex-wrap: wrap;
    padding: var(--spacing-sm) 0;
}

.form-checkbox-field[b-qp2i2kmper] {
    padding-top: var(--spacing-lg);
}

/* --- Step header with action button --- */
.step-header-row[b-qp2i2kmper] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-md);
}

.step-header-row .form-section-title[b-qp2i2kmper] {
    margin-bottom: 0;
}

/* --- Entite card (compact) --- */
.entite-card[b-qp2i2kmper] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
    margin-bottom: var(--spacing-xs);
}

.entite-card:last-child[b-qp2i2kmper] {
    margin-bottom: 0;
}

.entite-card-header[b-qp2i2kmper] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-sm);
    padding-bottom: var(--spacing-xs);
    border-bottom: 1px solid var(--border-color);
}

.entite-card-title[b-qp2i2kmper] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

/* Compact form overrides inside entite cards */
[b-qp2i2kmper] .entite-card .form-grid {
    gap: var(--spacing-xs) var(--spacing-sm);
}

[b-qp2i2kmper] .entite-card .form-label {
    font-size: var(--font-size-2xs);
    margin-bottom: 0;
}

[b-qp2i2kmper] .entite-card .form-group {
    gap: 2px;
}

.entite-tete-icon[b-qp2i2kmper] {
    color: var(--accent-success);
    font-size: var(--font-size-lg);
}

.entite-tete-badge[b-qp2i2kmper] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 1px var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

/* entite-remove-btn replaced by revio-btn revio-btn-danger - layout modifier */
.entite-remove-layout[b-qp2i2kmper] {
    font-size: var(--font-size-xs);
    flex-shrink: 0;
}

.entite-tree-connector[b-qp2i2kmper] {
    color: var(--text-muted);
    font-family: var(--font-monospace);
    font-size: var(--font-size-lg);
    line-height: 1;
}

.entite-card-tete[b-qp2i2kmper] {
    border-color: color-mix(in srgb, var(--accent-primary) 30%, transparent);
    background: color-mix(in srgb, var(--accent-primary) 6%, var(--bg-card));
}


/* --- Mission auto-determined info --- */
.mission-auto-info[b-qp2i2kmper] {
    display: flex;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
    flex-wrap: wrap;
}

.mission-auto-tag[b-qp2i2kmper] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-3xs);
    padding: var(--spacing-3xs) var(--spacing-sm);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    font-weight: 500;
}

.entite-siren-summary[b-qp2i2kmper] {
    margin-top: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

/* --- Acceptation tabs --- */
.acceptation-tabs[b-qp2i2kmper] {
    display: flex;
    gap: var(--spacing-xs);
    margin-bottom: var(--spacing-md);
    flex-wrap: wrap;
}

.acceptation-tab[b-qp2i2kmper] {
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--border-radius-md);
    border: 1px solid var(--border-color);
    background: var(--bg-card);
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.acceptation-tab:hover[b-qp2i2kmper] {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.acceptation-tab.active[b-qp2i2kmper] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    color: var(--accent-primary);
    border-color: var(--accent-primary);
    font-weight: 700;
}

/* --- Acceptation compact grid --- */
.acc-grid-card[b-qp2i2kmper] {
    padding: 0;
    overflow-y: auto;
    max-height: calc(100vh - 400px);
}

/* Grid compact overrides */
[b-qp2i2kmper] [cssclass~="acc-compact-grid"].e-grid {
    border: none;
}

[b-qp2i2kmper] [cssclass~="acc-compact-grid"] .e-gridheader .e-headercell {
    padding: 2px var(--spacing-sm);
    background: var(--bg-secondary);
    height: 28px;
}

[b-qp2i2kmper] [cssclass~="acc-compact-grid"] .e-rowcell {
    padding: var(--spacing-xs) var(--spacing-sm);
    line-height: 1.4;
    vertical-align: middle;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Group caption (section headers) */
[b-qp2i2kmper] [cssclass~="acc-compact-grid"] .e-groupcaption {
    background: color-mix(in srgb, var(--accent-primary) 6%, var(--bg-card));
    font-weight: 600;
    height: 30px;
}

[b-qp2i2kmper] [cssclass~="acc-compact-grid"] .e-groupcaption td {
    padding: 2px var(--spacing-sm);
}

.acc-grid-section-hdr[b-qp2i2kmper] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.acc-grid-section-hdr .e-icons[b-qp2i2kmper] {
    color: var(--accent-primary);
    font-size: var(--font-size-sm);
}

.acc-grid-section-title[b-qp2i2kmper] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.acc-grid-section-count[b-qp2i2kmper] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 1px var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

/* Question cell */
.acc-grid-q[b-qp2i2kmper] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.4;
}

.acc-grid-q.required[b-qp2i2kmper]::after {
    content: " *";
    color: var(--accent-danger);
}

/* Checkbox (Oui/Non) */
.acc-grid-cb[b-qp2i2kmper] {
    width: 14px;
    height: 14px;
    cursor: pointer;
    accent-color: var(--accent-primary);
    margin: 0;
}

/* Native inputs inside grid cells */
.acc-grid-input[b-qp2i2kmper],
.acc-grid-select[b-qp2i2kmper] {
    width: 100%;
    height: 24px;
    padding: 2px var(--spacing-sm);
    border: 1px solid var(--input-border);
    border-radius: var(--border-radius-sm);
    background: var(--input-bg);
    font-size: var(--font-size-sm);
    font-family: var(--font-body);
    color: var(--text-primary);
    box-sizing: border-box;
}

.acc-grid-select[b-qp2i2kmper] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394A3B8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 6px center;
    padding-right: 20px;
}

.acc-grid-input:focus[b-qp2i2kmper],
.acc-grid-select:focus[b-qp2i2kmper] {
    outline: none;
    border-color: var(--accent-primary);
}

.acc-grid-input[b-qp2i2kmper]::placeholder {
    color: var(--text-muted);
}

/* Bulk buttons (Oui a toutes / Non a toutes) */
.acc-grid-bulk-btn[b-qp2i2kmper] {
    font-size: var(--font-size-2xs);
    padding: 1px var(--spacing-sm);
    border: 1px solid var(--accent-primary);
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
    cursor: pointer;
    font-weight: 600;
    font-family: var(--font-body);
    white-space: nowrap;
    transition: background 0.15s;
}

.acc-grid-bulk-btn:hover[b-qp2i2kmper] {
    background: color-mix(in srgb, var(--accent-primary) 20%, transparent);
}

.acc-grid-bulk-btn-non[b-qp2i2kmper] {
    border-color: var(--accent-danger);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    color: var(--accent-danger);
}

.acc-grid-bulk-btn-non:hover[b-qp2i2kmper] {
    background: color-mix(in srgb, var(--accent-danger) 18%, transparent);
}

/* Paperclip (PJ) button */
.acc-grid-pj-btn[b-qp2i2kmper] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: var(--border-radius-sm);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.acc-grid-pj-btn:hover:not(:disabled)[b-qp2i2kmper] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
}

.acc-grid-pj-btn:disabled[b-qp2i2kmper] {
    cursor: default;
    opacity: 0.5;
}

.acc-grid-pj-btn .e-icons[b-qp2i2kmper] {
    font-size: var(--font-size-sm);
}

/* Alternate row coloring */
[b-qp2i2kmper] [cssclass~="acc-compact-grid"] .e-altrow {
    background: color-mix(in srgb, var(--bg-secondary) 50%, var(--bg-card));
}

/* --- Empty state --- */
.empty-state[b-qp2i2kmper] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl);
    color: var(--text-muted);
    font-size: var(--font-size-base);
    text-align: center;
}

.empty-state-icon[b-qp2i2kmper] {
    font-size: var(--font-size-2xl);
}

/* --- Access denied --- */
.p-access-denied[b-qp2i2kmper] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl);
    text-align: center;
}

.p-access-denied .e-icons[b-qp2i2kmper] {
    font-size: var(--font-size-2xl);
    color: var(--accent-warning);
}

.p-access-denied h2[b-qp2i2kmper] {
    font-size: var(--font-size-xl);
    color: var(--text-primary);
    margin: 0;
}

.p-access-denied p[b-qp2i2kmper] {
    font-size: var(--font-size-base);
    color: var(--text-muted);
    margin: 0;
}

/* --- Section subtitle --- */
.form-section-subtitle[b-qp2i2kmper] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    margin: 0 0 var(--spacing-xs) 0;
}

/* --- Form subsection divider --- */
.form-subsection-divider[b-qp2i2kmper] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: var(--spacing-sm);
    padding-bottom: var(--spacing-xs);
    border-bottom: 1px solid var(--border-color-light);
}

/* --- SIREN + Nom inline row --- */
.siren-nom-row[b-qp2i2kmper] {
    display: flex;
    gap: var(--spacing-md);
    align-items: flex-end;
    margin-bottom: var(--spacing-sm);
}

.siren-compact-block[b-qp2i2kmper] {
    flex: 0 0 280px;
}

.nom-client-block[b-qp2i2kmper] {
    flex: 1;
}

/* --- SIREN lookup row --- */
.siren-lookup-row[b-qp2i2kmper] {
    display: flex;
    gap: var(--spacing-xs);
    align-items: center;
}

.siren-lookup-row > :first-child[b-qp2i2kmper] {
    flex: 1;
}

[b-qp2i2kmper] .revio-btn-sm {
    padding: 4px 8px;
    font-size: var(--font-size-xs);
}

.siren-lookup-error[b-qp2i2kmper] {
    font-size: var(--font-size-sm);
    color: var(--accent-danger);
    margin-top: var(--spacing-xs);
}

.siren-lookup-success[b-qp2i2kmper] {
    font-size: var(--font-size-sm);
    color: var(--accent-success);
    margin-top: var(--spacing-xs);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.siren-lookup-success .e-icons[b-qp2i2kmper] {
    font-size: var(--font-size-sm);
}

/* --- SIREN bloqué (doublon) --- */
.siren-lookup-blocked[b-qp2i2kmper] {
    font-size: var(--font-size-sm);
    color: var(--accent-danger);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 20%, transparent);
    border-radius: var(--border-radius-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
    margin-top: var(--spacing-sm);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-weight: 600;
}

/* --- SIREN cessée warning --- */
.siren-lookup-warning[b-qp2i2kmper] {
    font-size: var(--font-size-sm);
    color: var(--accent-danger);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 20%, transparent);
    border-radius: var(--border-radius-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
    margin-top: var(--spacing-sm);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

/* --- SIREN info banner (tags) --- */
.siren-info-banner[b-qp2i2kmper] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
    margin-bottom: var(--spacing-md);
}

.siren-info-tag[b-qp2i2kmper] {
    font-size: var(--font-size-xs);
    font-weight: 500;
    padding: 2px var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    color: var(--accent-primary);
}

.siren-info-tag-muted[b-qp2i2kmper] {
    background: var(--bg-secondary);
    color: var(--text-muted);
    font-family: var(--font-monospace);
}

/* --- Draft save indicator --- */
.draft-save-indicator[b-qp2i2kmper] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.draft-save-indicator.draft-saving[b-qp2i2kmper] {
    color: var(--accent-primary);
}

.draft-save-icon[b-qp2i2kmper] {
    font-size: var(--font-size-xs);
}

.draft-save-icon.spinning[b-qp2i2kmper] {
    animation: spin-b-qp2i2kmper 1s linear infinite;
}

@keyframes spin-b-qp2i2kmper {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* --- Responsive --- */
@media (max-width: 900px) {
    .form-grid[b-qp2i2kmper],
    .form-grid.form-grid-3[b-qp2i2kmper],
    .form-grid.form-grid-4[b-qp2i2kmper] {
        grid-template-columns: 1fr;
    }

    .form-group.span-3[b-qp2i2kmper] {
        grid-column: span 1;
    }

    .form-group.span-2[b-qp2i2kmper] {
        grid-column: span 1;
    }

    .wizard-stepper[b-qp2i2kmper] {
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .wizard-step:not(:last-child)[b-qp2i2kmper]::after {
        display: none;
    }

    .step-header-row[b-qp2i2kmper] {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-sm);
    }

    .acceptation-tabs[b-qp2i2kmper] {
        flex-direction: column;
    }

    .siren-nom-row[b-qp2i2kmper] {
        flex-direction: column;
    }

    .siren-compact-block[b-qp2i2kmper] {
        flex: 1 1 auto;
    }

    .wizard-stepper-row[b-qp2i2kmper] {
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .draft-status-area[b-qp2i2kmper] {
        position: static;
        transform: none;
    }

    .wizard-actions[b-qp2i2kmper] {
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .wizard-actions-left[b-qp2i2kmper] {
        width: 100%;
        justify-content: flex-start;
    }

    .wizard-actions-right[b-qp2i2kmper] {
        width: 100%;
        justify-content: flex-end;
    }
}
/* _content/Revio.Web/Pages/Dossiers/NouvelleEntiteDialog.razor.rz.scp.css */
/* ==========================================================================
   NouvelleEntiteDialog - Fullscreen overlay (same pattern as FDTModal)
   All values via var(--token) - no hardcoded px
   ========================================================================== */

/* --- Overlay --- */
.ned-overlay[b-9ukvcd4gj4] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--modal-overlay-bg);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-lg);
}

.ned-container[b-9ukvcd4gj4] {
    background: var(--bg-primary);
    border-radius: var(--border-radius-lg);
    width: 100%;
    max-width: 900px;
    max-height: calc(100vh - 2 * var(--spacing-lg));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--shadow-popup);
}

/* --- Header --- */
.ned-header[b-9ukvcd4gj4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}

.ned-header-left[b-9ukvcd4gj4] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    min-width: 0;
}

.ned-header-icon[b-9ukvcd4gj4] {
    font-size: var(--font-size-xl);
    color: var(--accent-primary);
}

.ned-header-title[b-9ukvcd4gj4] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
}

.ned-header-sub[b-9ukvcd4gj4] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

/* --- Stepper (reuses wizard-step classes from NouveauClient) --- */
.ned-stepper[b-9ukvcd4gj4] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}

/* --- Wizard step classes (scoped copy from NouveauClient) --- */
.wizard-step[b-9ukvcd4gj4] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-lg);
    background: transparent;
    transition: background 0.2s, color 0.2s;
}

.wizard-step:not(:last-child)[b-9ukvcd4gj4]::after {
    content: "";
    display: block;
    width: 32px;
    height: 2px;
    background: var(--border-color);
    margin-left: var(--spacing-sm);
    flex-shrink: 0;
}

.wizard-step.completed:not(:last-child)[b-9ukvcd4gj4]::after {
    background: var(--accent-success);
}

.wizard-step.active:not(:last-child)[b-9ukvcd4gj4]::after {
    background: var(--accent-primary);
}

.wizard-step-number[b-9ukvcd4gj4] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-xs);
    font-weight: 700;
    background: var(--bg-secondary);
    color: var(--text-muted);
    border: 2px solid var(--border-color);
    flex-shrink: 0;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.wizard-step.active .wizard-step-number[b-9ukvcd4gj4] {
    background: var(--accent-primary);
    color: var(--text-inverse);
    border-color: var(--accent-primary);
}

.wizard-step.completed .wizard-step-number[b-9ukvcd4gj4] {
    background: var(--accent-success);
    color: var(--text-inverse);
    border-color: var(--accent-success);
}

.wizard-step-label[b-9ukvcd4gj4] {
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-muted);
    white-space: nowrap;
}

.wizard-step.active .wizard-step-label[b-9ukvcd4gj4] {
    color: var(--accent-primary);
    font-weight: 700;
}

.wizard-step.completed .wizard-step-label[b-9ukvcd4gj4] {
    color: var(--accent-success);
}

/* --- Body (scrollable content) --- */
.ned-body[b-9ukvcd4gj4] {
    flex: 1;
    overflow-y: auto;
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

/* --- Form card --- */
.form-card[b-9ukvcd4gj4] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-lg);
    box-shadow: var(--shadow-card);
}

.form-grid[b-9ukvcd4gj4] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xs) var(--spacing-md);
}

.form-grid.form-grid-3[b-9ukvcd4gj4] {
    grid-template-columns: 1fr 1fr 1fr;
}

.form-grid.form-grid-4[b-9ukvcd4gj4] {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.form-group[b-9ukvcd4gj4] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.form-group.span-2[b-9ukvcd4gj4] {
    grid-column: span 2;
}

.form-group.full-width[b-9ukvcd4gj4] {
    grid-column: 1 / -1;
}

.form-label[b-9ukvcd4gj4] {
    font-size: var(--font-size-2xs);
    font-weight: 500;
    color: var(--text-muted);
}

.form-label.required[b-9ukvcd4gj4]::after {
    content: " *";
    color: var(--accent-danger);
}

/* --- Compact inputs inside form-cards --- */
[b-9ukvcd4gj4] .form-card .e-input,
[b-9ukvcd4gj4] .form-card .e-input-group {
    font-size: var(--font-size-sm);
}

[b-9ukvcd4gj4] .form-card .e-input-group .e-input {
    height: 30px;
    padding: 2px var(--spacing-sm);
}

.form-section-title[b-9ukvcd4gj4] {
    font-size: var(--font-size-base);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-xs) 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.form-section-title .e-icons[b-9ukvcd4gj4] {
    color: var(--accent-primary);
    font-size: var(--font-size-xl);
}

.form-checkbox-field[b-9ukvcd4gj4] {
    padding-top: var(--spacing-lg);
}

/* --- SIREN highlight block --- */
.siren-highlight-block[b-9ukvcd4gj4] {
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
    border-radius: var(--border-radius-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
}

.siren-highlight-label[b-9ukvcd4gj4] {
    display: block;
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 2px;
}

.siren-lookup-row[b-9ukvcd4gj4] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

.siren-lookup-row > :first-child[b-9ukvcd4gj4] {
    flex: 1;
}

.siren-lookup-error[b-9ukvcd4gj4] {
    font-size: var(--font-size-sm);
    color: var(--accent-danger);
    margin-top: var(--spacing-xs);
}

.siren-lookup-blocked[b-9ukvcd4gj4] {
    font-size: var(--font-size-sm);
    color: var(--accent-danger);
    margin-top: var(--spacing-xs);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.siren-lookup-success[b-9ukvcd4gj4] {
    font-size: var(--font-size-sm);
    color: var(--accent-success);
    margin-top: var(--spacing-xs);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.siren-lookup-success .e-icons[b-9ukvcd4gj4] {
    font-size: var(--font-size-sm);
}

/* --- NAF lookup status --- */
.naf-lookup-status[b-9ukvcd4gj4] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-style: italic;
}

/* --- Acceptation compact grid --- */
.acc-grid-card[b-9ukvcd4gj4] {
    padding: 0;
    overflow-y: auto;
    flex: 1;
    min-height: 200px;
    max-height: calc(100vh - 380px);
    display: flex;
    flex-direction: column;
}

/* Grid compact overrides */
[b-9ukvcd4gj4] [cssclass~="acc-compact-grid"].e-grid {
    border: none;
    flex: 1;
    min-height: 0;
}

[b-9ukvcd4gj4] [cssclass~="acc-compact-grid"] .e-gridheader .e-headercell {
    padding: 2px var(--spacing-sm);
    background: var(--bg-secondary);
    height: 28px;
}

[b-9ukvcd4gj4] [cssclass~="acc-compact-grid"] .e-rowcell {
    padding: var(--spacing-xs) var(--spacing-sm);
    line-height: 1.4;
    vertical-align: middle;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Group caption (section headers) */
[b-9ukvcd4gj4] [cssclass~="acc-compact-grid"] .e-groupcaption {
    background: color-mix(in srgb, var(--accent-primary) 6%, var(--bg-card));
    font-weight: 600;
    height: 30px;
}

[b-9ukvcd4gj4] [cssclass~="acc-compact-grid"] .e-groupcaption td {
    padding: 2px var(--spacing-sm);
}

.acc-grid-section-hdr[b-9ukvcd4gj4] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.acc-grid-section-hdr .e-icons[b-9ukvcd4gj4] {
    color: var(--accent-primary);
    font-size: var(--font-size-sm);
}

.acc-grid-section-title[b-9ukvcd4gj4] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.acc-grid-section-count[b-9ukvcd4gj4] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 1px 6px;
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

/* Question cell */
.acc-grid-q[b-9ukvcd4gj4] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.4;
}

.acc-grid-q.required[b-9ukvcd4gj4]::after {
    content: " *";
    color: var(--accent-danger);
}

/* Checkbox (Oui/Non) */
.acc-grid-cb[b-9ukvcd4gj4] {
    width: 14px;
    height: 14px;
    cursor: pointer;
    accent-color: var(--accent-primary);
    margin: 0;
}

/* Native inputs inside grid cells */
.acc-grid-input[b-9ukvcd4gj4],
.acc-grid-select[b-9ukvcd4gj4] {
    width: 100%;
    height: 24px;
    padding: 2px var(--spacing-sm);
    border: 1px solid var(--input-border);
    border-radius: var(--border-radius-sm);
    background: var(--input-bg);
    font-size: var(--font-size-sm);
    font-family: var(--font-body);
    color: var(--text-primary);
    box-sizing: border-box;
}

.acc-grid-select[b-9ukvcd4gj4] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394A3B8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 6px center;
    padding-right: 20px;
}

.acc-grid-input:focus[b-9ukvcd4gj4],
.acc-grid-select:focus[b-9ukvcd4gj4] {
    outline: none;
    border-color: var(--accent-primary);
}

.acc-grid-input[b-9ukvcd4gj4]::placeholder {
    color: var(--text-muted);
}

/* Bulk buttons (Oui a toutes / Non a toutes) */
.acc-grid-bulk-btn[b-9ukvcd4gj4] {
    font-size: var(--font-size-2xs);
    padding: 1px var(--spacing-sm);
    border: 1px solid var(--accent-primary);
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
    cursor: pointer;
    font-weight: 600;
    font-family: var(--font-body);
    white-space: nowrap;
    transition: background 0.15s;
}

.acc-grid-bulk-btn:hover[b-9ukvcd4gj4] {
    background: color-mix(in srgb, var(--accent-primary) 20%, transparent);
}

.acc-grid-bulk-btn-non[b-9ukvcd4gj4] {
    border-color: var(--accent-danger);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    color: var(--accent-danger);
}

.acc-grid-bulk-btn-non:hover[b-9ukvcd4gj4] {
    background: color-mix(in srgb, var(--accent-danger) 18%, transparent);
}

/* Paperclip (PJ) button */
.acc-grid-pj-btn[b-9ukvcd4gj4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: var(--border-radius-sm);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.acc-grid-pj-btn:hover:not(:disabled)[b-9ukvcd4gj4] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
}

.acc-grid-pj-btn:disabled[b-9ukvcd4gj4] {
    cursor: default;
    opacity: 0.5;
}

.acc-grid-pj-btn .e-icons[b-9ukvcd4gj4] {
    font-size: var(--font-size-sm);
}

/* Alternate row coloring */
[b-9ukvcd4gj4] [cssclass~="acc-compact-grid"] .e-altrow {
    background: color-mix(in srgb, var(--bg-secondary) 50%, var(--bg-card));
}

/* --- Mission auto-info tags (aligned with NouveauClient) --- */
.mission-auto-info[b-9ukvcd4gj4] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
    flex-wrap: wrap;
}

.mission-auto-tag[b-9ukvcd4gj4] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 20%, transparent);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--accent-primary);
}

.mission-auto-tag .e-icons[b-9ukvcd4gj4] {
    font-size: var(--font-size-sm);
}

/* --- Refused state --- */
.ned-refused-state[b-9ukvcd4gj4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl);
    text-align: center;
}

.ned-refused-icon[b-9ukvcd4gj4] {
    font-size: var(--font-size-2xl);
    color: var(--accent-danger);
}

.ned-refused-state h3[b-9ukvcd4gj4] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.ned-refused-state p[b-9ukvcd4gj4] {
    font-size: var(--font-size-base);
    color: var(--text-muted);
    margin: 0;
}


/* --- Footer --- */
.ned-footer[b-9ukvcd4gj4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-top: 1px solid var(--border-color);
    flex-shrink: 0;
}

.ned-footer-save-area[b-9ukvcd4gj4] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.ned-save-btn[b-9ukvcd4gj4] {
    font-size: var(--font-size-sm);
    gap: var(--spacing-xs);
}

.ned-save-status[b-9ukvcd4gj4] {
    font-size: var(--font-size-2xs);
    color: var(--accent-success);
    display: flex;
    align-items: center;
    gap: 2px;
    white-space: nowrap;
}

.ned-save-check[b-9ukvcd4gj4] {
    font-size: var(--font-size-2xs);
}

.ned-footer-right[b-9ukvcd4gj4] {
    display: flex;
    gap: var(--spacing-sm);
}

/* --- Responsive --- */
@media (max-width: 700px) {
    .ned-overlay[b-9ukvcd4gj4] {
        padding: var(--spacing-sm);
    }

    .form-grid[b-9ukvcd4gj4],
    .form-grid.form-grid-3[b-9ukvcd4gj4],
    .form-grid.form-grid-4[b-9ukvcd4gj4] {
        grid-template-columns: 1fr;
    }

    .form-group.span-2[b-9ukvcd4gj4] {
        grid-column: span 1;
    }

    .ned-stepper[b-9ukvcd4gj4] {
        gap: var(--spacing-xs);
    }

    .wizard-step:not(:last-child)[b-9ukvcd4gj4]::after {
        display: none;
    }

    .ned-footer[b-9ukvcd4gj4] {
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .ned-footer-right[b-9ukvcd4gj4] {
        width: 100%;
        justify-content: flex-end;
    }
}
/* _content/Revio.Web/Pages/Dossiers/NouvelleMissionDialog.razor.rz.scp.css */
/* ==========================================================================
   NouvelleMissionDialog - large overlay with questionnaire grid
   ========================================================================== */

.nmd-overlay[b-3igrx4289c] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--modal-overlay-bg);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-lg);
}

.nmd-container[b-3igrx4289c] {
    background: var(--bg-primary);
    border-radius: var(--border-radius-lg);
    width: 100%;
    max-width: 960px;
    max-height: calc(100vh - 2 * var(--spacing-lg));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--shadow-popup);
}

.nmd-header[b-3igrx4289c] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}

.nmd-header-left[b-3igrx4289c] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    min-width: 0;
}

.nmd-header-icon[b-3igrx4289c] {
    font-size: var(--font-size-xl);
    color: var(--accent-primary);
}

.nmd-header-title[b-3igrx4289c] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
}

.nmd-header-sub[b-3igrx4289c] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.nmd-body[b-3igrx4289c] {
    flex: 1;
    overflow-y: auto;
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

/* --- Form cards --- */
.form-card[b-3igrx4289c] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-lg);
    box-shadow: var(--shadow-card);
}

.form-section-title[b-3igrx4289c] {
    font-size: var(--font-size-base);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-xs) 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.form-section-title .e-icons[b-3igrx4289c] {
    color: var(--accent-primary);
    font-size: var(--font-size-xl);
}

.form-grid[b-3igrx4289c] {
    display: grid;
    gap: var(--spacing-xs) var(--spacing-md);
}

.form-grid.form-grid-2[b-3igrx4289c] {
    grid-template-columns: 1fr 1fr;
}

.form-group[b-3igrx4289c] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.form-group.span-2[b-3igrx4289c] {
    grid-column: span 2;
}

.form-label[b-3igrx4289c] {
    font-size: var(--font-size-2xs);
    font-weight: 500;
    color: var(--text-muted);
}

.form-label.required[b-3igrx4289c]::after {
    content: " *";
    color: var(--accent-danger);
}

/* --- Compact inputs --- */
[b-3igrx4289c] .form-card .e-input,
[b-3igrx4289c] .form-card .e-input-group {
    font-size: var(--font-size-sm);
}

[b-3igrx4289c] .form-card .e-input-group .e-input {
    height: 30px;
    padding: 2px var(--spacing-sm);
}

/* ===== Questionnaire grid card ===== */
.acc-grid-card[b-3igrx4289c] {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    max-height: calc(100vh - 400px);
    min-height: 200px;
}

.acc-grid-card .form-section-title[b-3igrx4289c] {
    flex-shrink: 0;
}

/* Compact grid styling */
[b-3igrx4289c] [cssclass~="acc-compact-grid"] .e-gridheader .e-headercell {
    padding: var(--spacing-xs) var(--spacing-sm);
    background: var(--bg-secondary);
}

[b-3igrx4289c] [cssclass~="acc-compact-grid"] .e-gridcontent .e-rowcell {
    padding: var(--spacing-xs) var(--spacing-sm);
    vertical-align: middle;
}

[b-3igrx4289c] [cssclass~="acc-compact-grid"] .e-groupcaption {
    padding: var(--spacing-xs) var(--spacing-sm);
    background: var(--bg-secondary);
}

/* Section header in group caption */
.acc-grid-section-hdr[b-3igrx4289c] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: nowrap;
}

.acc-grid-section-hdr .e-icons[b-3igrx4289c] {
    font-size: var(--font-size-sm);
    color: var(--accent-primary);
    flex-shrink: 0;
}

.acc-grid-section-title[b-3igrx4289c] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    white-space: nowrap;
}

.acc-grid-section-count[b-3igrx4289c] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-on-accent);
    background: var(--accent-primary);
    border-radius: var(--border-radius-sm);
    padding: 0 var(--spacing-xs);
    min-width: 18px;
    text-align: center;
    flex-shrink: 0;
}

/* Question cell */
.acc-grid-q[b-3igrx4289c] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.4;
}

.acc-grid-q.required[b-3igrx4289c]::after {
    content: " *";
    color: var(--accent-danger);
}

/* Checkbox (Oui/Non) */
.acc-grid-cb[b-3igrx4289c] {
    width: 14px;
    height: 14px;
    cursor: pointer;
    accent-color: var(--accent-primary);
    margin: 0;
}

/* Native inputs inside grid cells */
.acc-grid-input[b-3igrx4289c],
.acc-grid-select[b-3igrx4289c] {
    width: 100%;
    height: 24px;
    padding: 2px var(--spacing-sm);
    border: 1px solid var(--input-border);
    border-radius: var(--border-radius-sm);
    background: var(--input-bg);
    font-size: var(--font-size-sm);
    font-family: var(--font-body);
    color: var(--text-primary);
    box-sizing: border-box;
}

.acc-grid-select[b-3igrx4289c] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394A3B8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 6px center;
    padding-right: 20px;
}

.acc-grid-input:focus[b-3igrx4289c],
.acc-grid-select:focus[b-3igrx4289c] {
    outline: none;
    border-color: var(--accent-primary);
}

.acc-grid-input[b-3igrx4289c]::placeholder {
    color: var(--text-muted);
}

/* Bulk buttons (Oui a toutes / Non a toutes) */
.acc-grid-bulk-btn[b-3igrx4289c] {
    font-size: var(--font-size-2xs);
    padding: 1px var(--spacing-sm);
    border: 1px solid var(--accent-primary);
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
    cursor: pointer;
    font-weight: 600;
    font-family: var(--font-body);
    white-space: nowrap;
    transition: background 0.15s;
}

.acc-grid-bulk-btn:hover[b-3igrx4289c] {
    background: color-mix(in srgb, var(--accent-primary) 20%, transparent);
}

.acc-grid-bulk-btn-non[b-3igrx4289c] {
    border-color: var(--accent-danger);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    color: var(--accent-danger);
}

.acc-grid-bulk-btn-non:hover[b-3igrx4289c] {
    background: color-mix(in srgb, var(--accent-danger) 18%, transparent);
}

/* Paperclip (PJ) button */
.acc-grid-pj-btn[b-3igrx4289c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: var(--border-radius-sm);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.acc-grid-pj-btn:hover:not(:disabled)[b-3igrx4289c] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
}

.acc-grid-pj-btn:disabled[b-3igrx4289c] {
    cursor: default;
    opacity: 0.5;
}

.acc-grid-pj-btn .e-icons[b-3igrx4289c] {
    font-size: var(--font-size-sm);
}

/* Alternate row coloring */
[b-3igrx4289c] [cssclass~="acc-compact-grid"] .e-altrow {
    background: color-mix(in srgb, var(--bg-secondary) 50%, var(--bg-card));
}

/* --- Footer --- */
.nmd-footer[b-3igrx4289c] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-top: 1px solid var(--border-color);
    flex-shrink: 0;
}

/* --- Responsive --- */
@media (max-width: 700px) {
    .nmd-overlay[b-3igrx4289c] {
        padding: var(--spacing-sm);
    }

    .form-grid[b-3igrx4289c],
    .form-grid.form-grid-2[b-3igrx4289c] {
        grid-template-columns: 1fr;
    }

    .form-group.span-2[b-3igrx4289c] {
        grid-column: span 1;
    }

    .nmd-footer[b-3igrx4289c] {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
}
/* _content/Revio.Web/Pages/GestionCabinet/Index.razor.rz.scp.css */
/* ==========================================================================
   Gestion Cabinet - Scoped Styles
   Toutes les valeurs via var(--token) - aucune valeur hardcodee
   ========================================================================== */

/* --- Tabs ---
   Overrides Syncfusion dans revio-app.css (global) car ::deep ne traverse
   pas le DOM genere par Syncfusion SfTab. Voir docs/SYNCFUSION_GUIDE.md
   ========================================================================== */

/* --- Tab content --- */
.tab-content[b-likaqzmdju] {
    padding: var(--spacing-sm) 0;
}

.tab-actions[b-likaqzmdju] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--spacing-md);
}

/* --- Form card --- */
.form-card[b-likaqzmdju] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-lg);
}

.form-grid[b-likaqzmdju] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md) var(--spacing-lg);
}

.form-group[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.form-group.full-width[b-likaqzmdju] {
    grid-column: 1 / -1;
}

.form-label[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--text-secondary);
}

.form-label.required[b-likaqzmdju]::after {
    content: " *";
    color: var(--accent-danger);
}

.form-actions[b-likaqzmdju] {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--spacing-lg);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--border-color);
}

/* --- Role badges --- */
.role-badge[b-likaqzmdju] {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 9999px;
    font-size: var(--font-size-sm);
    font-weight: 500;
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.role-badge.role-l1[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-purple) 10%, transparent);
    color: var(--accent-purple);
}

.role-badge.role-l2[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
}

.role-badge.role-l3[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    color: var(--accent-success);
}

.role-badge.role-l4[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-warning) 10%, transparent);
    color: var(--accent-warning);
}

.role-badge.role-l5[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-orange) 10%, transparent);
    color: var(--accent-orange);
}

/* =============================================================
   Parametres tab - Mockup-faithful 2x2 cards (all tokens)
   ============================================================= */

/* Grid 2x2 */
.p-grid-2x2[b-likaqzmdju] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md);
}

/* Card base */
.p-card[b-likaqzmdju] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    padding: var(--spacing-md) var(--spacing-md);
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
}

/* Card header */
.p-card-head[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.p-card-head .e-icons[b-likaqzmdju] {
    font-size: var(--font-size-lg);
    color: var(--accent-primary);
}

/* Rows container */
.p-card-rows[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    flex: 1;
}

/* Key-value row */
.p-kv[b-likaqzmdju] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-sm);
}

.p-k[b-likaqzmdju] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-weight: 600;
    flex-shrink: 0;
}

.p-v[b-likaqzmdju] {
    font-size: var(--font-size-xs);
    color: var(--text-primary);
    font-weight: 500;
    text-align: right;
    max-width: 220px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.p-v-long[b-likaqzmdju] {
    max-width: 180px;
}

/* Value + edit icon wrapper */
.p-val-wrap[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    justify-content: flex-end;
}

/* Tags (like mockup) */
.p-tag[b-likaqzmdju] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    padding: 2px 7px;
    border-radius: var(--border-radius-sm);
}

.p-tag-green[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.p-tag-yellow[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-warning) 15%, transparent);
    color: var(--accent-warning);
}

/* Code values (monospace) */
.p-code[b-likaqzmdju] {
    font-size: var(--font-size-xs);
    font-family: var(--font-monospace);
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    padding: 2px 6px;
    border-radius: var(--border-radius-sm);
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Inline edit icon - visible at low opacity, full on hover */
.p-edit-icon[b-likaqzmdju] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px var(--spacing-xs);
    opacity: 0.25;
    transition: opacity 0.15s;
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    line-height: 1;
}

.p-kv:hover .p-edit-icon[b-likaqzmdju] {
    opacity: 1;
}

.p-edit-icon:hover[b-likaqzmdju] {
    color: var(--accent-primary);
}

/* Inline edit row */
.p-edit-inline[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

[b-likaqzmdju] .p-input-mini {
    max-width: 130px;
}

[b-likaqzmdju] .p-input-mini .e-input {
    font-size: var(--font-size-xs);
    height: calc(var(--spacing-md) + var(--spacing-sm) + 2px);
}

[b-likaqzmdju] .p-input-url {
    min-width: 350px;
    max-width: 500px;
}

[b-likaqzmdju] .p-input-url .e-input {
    font-size: var(--font-size-xs);
    font-family: var(--font-monospace);
    height: calc(var(--spacing-md) + var(--spacing-sm) + 2px);
}

.p-url[b-likaqzmdju] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    color: var(--accent-primary);
    word-break: break-all;
}

.p-done-btn[b-likaqzmdju] {
    background: var(--accent-primary);
    border: none;
    color: var(--text-inverse);
    cursor: pointer;
    padding: 2px var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-xs);
    font-weight: 700;
    display: flex;
    align-items: center;
}

.p-done-btn:hover[b-likaqzmdju] {
    opacity: 0.85;
}

/* Card bottom button (like mockup "Modifier") */
.p-card-btn[b-likaqzmdju] {
    margin-top: var(--spacing-sm);
    width: 100%;
    padding: var(--spacing-xs) 0;
    border-radius: var(--border-radius-md);
    border: 1px solid var(--border-color);
    background: transparent;
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.p-card-btn:hover[b-likaqzmdju] {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.p-card-btn-primary[b-likaqzmdju] {
    border-color: var(--accent-primary);
    color: var(--accent-primary);
    font-weight: 600;
}

.p-card-btn-primary:hover[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
}

.p-card-btn-primary:disabled[b-likaqzmdju] {
    opacity: 0.5;
    cursor: not-allowed;
}

.p-card-btn-cancel[b-likaqzmdju] {
    border-color: var(--border-color);
    color: var(--text-muted);
    font-weight: 500;
    margin-top: var(--spacing-xs);
}

.p-card-btn-cancel:hover[b-likaqzmdju] {
    color: var(--accent-danger);
    border-color: var(--accent-danger);
    background: color-mix(in srgb, var(--accent-danger) 5%, transparent);
}

/* Status banners (M365 card) */
.p-status-banner[b-likaqzmdju] {
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--border-radius-md);
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

.p-status-pending[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-warning) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 30%, transparent);
}

.p-status-dot[b-likaqzmdju] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.p-status-dot-warning[b-likaqzmdju] {
    background: var(--accent-warning);
}

.p-status-title[b-likaqzmdju] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--accent-warning);
}

.p-status-sub[b-likaqzmdju] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-top: 1px;
}

/* Stats grid (2x3 like mockup) */
.p-stats-grid[b-likaqzmdju] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
}

.p-stat-item[b-likaqzmdju] {
    background: var(--bg-secondary);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.p-stat-icon[b-likaqzmdju] {
    font-size: var(--font-size-xl);
    flex-shrink: 0;
}

.p-stat-val[b-likaqzmdju] {
    font-size: var(--font-size-base);
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
}

.p-stat-lbl[b-likaqzmdju] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

/* Tip banner */
.p-tip[b-likaqzmdju] {
    padding: var(--spacing-sm);
    background: color-mix(in srgb, var(--accent-warning) 7%, transparent);
    border-radius: var(--border-radius-md);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, transparent);
    font-size: var(--font-size-xs);
    color: var(--accent-warning);
}

/* Section divider inside workflow card */
.p-section-label[b-likaqzmdju] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--text-secondary);
    padding-top: var(--spacing-xs);
    margin-top: var(--spacing-xs);
    border-top: 1px solid var(--border-color);
}

/* ==========================================================================
   Plans Comptables - Tab 3
   ========================================================================== */

.pc-container[b-likaqzmdju] {
    display: flex;
    gap: var(--spacing-md);
    min-height: 500px;
}

.pc-sidebar[b-likaqzmdju] {
    width: 260px;
    min-width: 260px;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.pc-sidebar-title[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-base);
    font-weight: 600;
    color: var(--text-primary);
    padding: var(--spacing-sm) var(--spacing-xs);
    border-bottom: 1px solid var(--border-default);
    margin-bottom: var(--spacing-xs);
}

.pc-sidebar-title .e-icons[b-likaqzmdju] {
    font-size: var(--font-size-lg);
    color: var(--accent-primary);
}

.pc-plan-card[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--spacing-sm) var(--spacing-sm);
    border-radius: var(--border-radius-md);
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.15s, border-color 0.15s;
}

.pc-plan-card:hover[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
    border-color: color-mix(in srgb, var(--accent-primary) 15%, transparent);
}

.pc-plan-card--active[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    border-color: var(--accent-primary);
}

.pc-plan-code[b-likaqzmdju] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-primary);
}

.pc-plan-nom[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
}

.pc-plan-meta[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.pc-badge-system[b-likaqzmdju] {
    display: inline-block;
    padding: 1px 6px;
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-xs);
    background: color-mix(in srgb, var(--text-muted) 12%, transparent);
    color: var(--text-secondary);
}

.pc-badge-cabinet[b-likaqzmdju] {
    display: inline-block;
    padding: 1px 6px;
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-xs);
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

.pc-content[b-likaqzmdju] {
    flex: 1;
    min-width: 0;
}

.pc-empty-state[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl) 0;
    color: var(--text-muted);
}

.pc-empty-state .e-icons[b-likaqzmdju] {
    font-size: 32px;
}

.pc-empty-state p[b-likaqzmdju] {
    font-size: var(--font-size-base);
    margin: 0;
}

.pc-content-header[b-likaqzmdju] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--spacing-sm);
    gap: var(--spacing-md);
}

.pc-content-title[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: var(--font-size-base);
    font-weight: 600;
    color: var(--text-primary);
}

.pc-plan-code-lg[b-likaqzmdju] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    padding: 2px 8px;
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
}

.pc-content-actions[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.pc-filter-group[b-likaqzmdju] {
    display: flex;
    align-items: center;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
}

.pc-filter-btn[b-likaqzmdju] {
    padding: 3px var(--spacing-sm);
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--text-muted);
    background: transparent;
    border: none;
    border-right: 1px solid var(--border-color);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}

.pc-filter-btn:last-child[b-likaqzmdju] {
    border-right: none;
}

.pc-filter-btn:hover[b-likaqzmdju] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.pc-filter-btn--active[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
    font-weight: 600;
}

.pc-loading[b-likaqzmdju] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-xl);
    color: var(--text-muted);
}

.pc-badge-synthese[b-likaqzmdju],
.pc-badge-general[b-likaqzmdju],
.pc-badge-auxiliaire[b-likaqzmdju] {
    display: inline-block;
    padding: 1px var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

.pc-badge-synthese[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
}

.pc-badge-general[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

.pc-badge-auxiliaire[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.form-grid-2col[b-likaqzmdju] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-sm);
}

/* Placeholder tab */
.p-placeholder-tab[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl) 0;
    color: var(--text-muted);
}

.p-placeholder-tab .e-icons[b-likaqzmdju] {
    font-size: var(--font-size-2xl);
}

.p-placeholder-tab p[b-likaqzmdju] {
    font-size: var(--font-size-base);
    margin: 0;
}

/* Access denied */
.p-access-denied[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl);
    text-align: center;
}

.p-access-denied .e-icons[b-likaqzmdju] {
    font-size: var(--font-size-2xl);
    color: var(--accent-warning);
}

.p-access-denied h2[b-likaqzmdju] {
    font-size: var(--font-size-xl);
    color: var(--text-primary);
    margin: 0;
}

.p-access-denied p[b-likaqzmdju] {
    font-size: var(--font-size-base);
    color: var(--text-muted);
    margin: 0;
}

/* Warning banner for partial load errors */
.p-load-warning[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-warning) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, transparent);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: var(--font-size-sm);
    color: var(--accent-warning);
    margin-bottom: var(--spacing-md);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

/* Empty state icon */
.empty-state-icon[b-likaqzmdju] {
    font-size: var(--font-size-2xl);
}

/* Responsive */
@media (max-width: 900px) {
    .p-grid-2x2[b-likaqzmdju] {
        grid-template-columns: 1fr;
    }

    .form-grid[b-likaqzmdju] {
        grid-template-columns: 1fr;
    }
}

/* --- Dialog form --- */
.dialog-form[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    padding: var(--spacing-sm) 0;
}

.dialog-info[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin-bottom: var(--spacing-sm);
}

/* --- Empty state --- */
.empty-state[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl);
    color: var(--text-muted);
    font-size: var(--font-size-base);
}

/* --- Grid overrides (compact, aligned with acc-compact-grid pattern) --- */
[b-likaqzmdju] [cssclass~="pc-compact-grid"].e-grid {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
}

[b-likaqzmdju] [cssclass~="pc-compact-grid"] .e-gridheader .e-headercell {
    padding: 2px var(--spacing-sm);
    background: var(--bg-secondary);
    height: 30px;
}

[b-likaqzmdju] [cssclass~="pc-compact-grid"] .e-rowcell {
    padding: var(--spacing-xs) var(--spacing-sm);
    line-height: 1.3;
    vertical-align: middle;
}

[b-likaqzmdju] [cssclass~="pc-compact-grid"] .e-altrow td {
    background: color-mix(in srgb, var(--bg-secondary) 50%, transparent);
}

.pc-mono[b-likaqzmdju] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-primary);
}

.pc-muted[b-likaqzmdju] {
    color: var(--text-muted);
    font-weight: 400;
}

/* Plan card row - flex for delete button alignment */
.pc-plan-card-row[b-likaqzmdju] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--spacing-xs);
}

.pc-plan-card-info[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

/* Delete button on plan card */
.pc-plan-delete-btn[b-likaqzmdju] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px var(--spacing-xs);
    color: var(--text-muted);
    opacity: 0;
    transition: opacity 0.15s, color 0.15s;
    font-size: var(--font-size-sm);
    flex-shrink: 0;
    border-radius: var(--border-radius-sm);
}

.pc-plan-card:hover .pc-plan-delete-btn[b-likaqzmdju] {
    opacity: 0.6;
}

.pc-plan-delete-btn:hover[b-likaqzmdju] {
    opacity: 1;
    color: var(--accent-danger);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
}

/* Sidebar add button */
.pc-sidebar-add-btn[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm);
    cursor: pointer;
    border: 1px dashed var(--border-color);
    border-radius: var(--border-radius-md);
    margin-top: var(--spacing-sm);
    transition: background 0.15s, border-color 0.15s;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    font-weight: 500;
}

.pc-sidebar-add-btn:hover[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 5%, transparent);
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}

/* --- Toolbar --- */
.pc-toolbar[b-likaqzmdju] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
    flex-wrap: wrap;
}

.pc-toolbar-left[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.pc-toolbar-right[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    flex-wrap: wrap;
}

.pc-toolbar-separator[b-likaqzmdju] {
    width: 1px;
    height: 20px;
    background: var(--border-color);
    flex-shrink: 0;
}

.pc-toolbar-btn[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
}

.pc-toolbar-btn-danger[b-likaqzmdju] {
    color: var(--accent-danger);
    border-color: color-mix(in srgb, var(--accent-danger) 30%, transparent);
}

.pc-toolbar-btn-danger:hover:not(:disabled)[b-likaqzmdju] {
    color: var(--text-inverse);
    background: var(--accent-danger);
    border-color: var(--accent-danger);
}

.pc-toolbar-btn-danger:disabled[b-likaqzmdju] {
    opacity: 0.4;
    cursor: not-allowed;
}

.pc-search-box[b-likaqzmdju] {
    max-width: 240px;
}

[b-likaqzmdju] .pc-search-input {
    max-width: 240px;
}

[b-likaqzmdju] .pc-search-input .e-input {
    font-size: var(--font-size-sm);
    height: calc(var(--spacing-md) + var(--spacing-sm));
}

/* Origine badges */
.pc-badge-origin-system[b-likaqzmdju] {
    display: inline-block;
    padding: 1px 6px;
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    background: color-mix(in srgb, var(--text-muted) 12%, transparent);
    color: var(--text-secondary);
}

.pc-badge-origin-cabinet[b-likaqzmdju] {
    display: inline-block;
    padding: 1px 6px;
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

/* Monospace input in modal */
[b-likaqzmdju] .pc-input-mono .e-input {
    font-family: var(--font-monospace);
}

/* Import warning */
.pc-import-warning[b-likaqzmdju] {
    padding: var(--spacing-sm);
    background: color-mix(in srgb, var(--accent-warning) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, transparent);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
    color: var(--accent-warning);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

/* Responsive toolbar */
@media (max-width: 900px) {
    .pc-toolbar[b-likaqzmdju] {
        flex-direction: column;
        align-items: stretch;
    }

    .pc-toolbar-right[b-likaqzmdju] {
        justify-content: flex-end;
    }

    .pc-search-box[b-likaqzmdju] {
        max-width: 100%;
    }
}

/* ==========================================================================
   Questionnaires Tab (case 4) - q-* prefixed
   ========================================================================== */

/* Layout : sidebar + main */
.q-layout[b-likaqzmdju] {
    display: flex;
    min-height: 500px;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    background: var(--bg-card);
    overflow: hidden;
}

/* --- Sidebar --- */
.q-sidebar[b-likaqzmdju] {
    width: 250px;
    border-right: 1px solid var(--border-color);
    background: var(--bg-secondary);
    overflow-y: auto;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}

.q-sidebar-title[b-likaqzmdju] {
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    border-bottom: 1px solid var(--border-color);
}

.q-type-item[b-likaqzmdju] {
    padding: var(--spacing-xs) var(--spacing-md);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    cursor: pointer;
    border-left: 3px solid transparent;
    transition: background 0.15s, border-color 0.15s;
}

.q-type-item:hover[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 5%, transparent);
}

.q-type-disabled[b-likaqzmdju] {
    cursor: default;
    opacity: 0.55;
}

.q-type-disabled:hover[b-likaqzmdju] {
    background: transparent;
}

.q-type-active[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border-left-color: var(--accent-primary);
}

.q-type-icon[b-likaqzmdju] {
    font-size: var(--font-size-base);
    color: var(--text-muted);
    flex-shrink: 0;
}

.q-type-active .q-type-icon[b-likaqzmdju] {
    color: var(--accent-primary);
}

.q-type-info[b-likaqzmdju] {
    flex: 1;
    min-width: 0;
}

.q-type-label[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.q-type-active .q-type-label[b-likaqzmdju] {
    font-weight: 700;
    color: var(--accent-primary);
}

.q-type-cycle[b-likaqzmdju] {
    font-size: var(--font-size-2xs);
    color: var(--accent-primary);
    font-weight: 500;
    margin-top: 1px;
}

.q-type-count-sub[b-likaqzmdju] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    margin-top: 1px;
}

.q-type-badge[b-likaqzmdju] {
    font-size: var(--font-size-2xs);
    font-weight: 700;
    padding: 1px var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
}

.q-sidebar-tip[b-likaqzmdju] {
    margin-top: auto;
    padding: var(--spacing-md);
    border-top: 1px solid var(--border-color);
    font-size: var(--font-size-2xs);
    color: var(--accent-warning);
    background: color-mix(in srgb, var(--accent-warning) 7%, transparent);
    display: flex;
    gap: var(--spacing-xs);
    align-items: flex-start;
    line-height: 1.5;
}

.q-sidebar-tip .e-icons[b-likaqzmdju] {
    flex-shrink: 0;
    margin-top: 1px;
}

/* --- Main content --- */
.q-main[b-likaqzmdju] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
}

/* Empty state */
.q-empty-main[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    padding: var(--spacing-xl);
    color: var(--text-muted);
    flex: 1;
}

.q-empty-icon[b-likaqzmdju] {
    font-size: var(--font-size-2xl);
}

.q-empty-main p[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    margin: 0;
}

.q-empty-sub[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

/* Loading state */
.q-loading[b-likaqzmdju] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xl);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    flex: 1;
}

/* --- Toolbar --- */
.q-toolbar[b-likaqzmdju] {
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
    flex-shrink: 0;
}

.q-toolbar-icon[b-likaqzmdju] {
    font-size: var(--font-size-base);
    color: var(--accent-primary);
}

.q-toolbar-title[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.q-toolbar-title-editable[b-likaqzmdju] {
    cursor: pointer;
    border-bottom: 1px dashed transparent;
    transition: border-color 0.15s;
}

.q-toolbar-title-editable:hover[b-likaqzmdju] {
    border-bottom-color: var(--accent-primary);
}

.q-toolbar-title-input[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    font-family: var(--font-body);
    color: var(--text-primary);
    background: var(--input-bg);
    border: 1px solid var(--accent-primary);
    border-radius: var(--border-radius-sm);
    padding: 2px var(--spacing-sm);
    outline: none;
    min-width: 180px;
}

.q-toolbar-sep[b-likaqzmdju] {
    width: 1px;
    height: 20px;
    background: var(--border-color);
    flex-shrink: 0;
}

.q-toolbar-btn-delete[b-likaqzmdju] {
    color: var(--accent-danger);
    border-color: color-mix(in srgb, var(--accent-danger) 30%, transparent);
}

.q-toolbar-btn-delete:hover[b-likaqzmdju] {
    color: var(--text-inverse);
    background: var(--accent-danger);
    border-color: var(--accent-danger);
}

.q-toolbar-stats[b-likaqzmdju] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 2px var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    color: var(--accent-primary);
}

.q-toolbar-actions[b-likaqzmdju] {
    margin-left: auto;
    display: flex;
    gap: var(--spacing-xs);
    align-items: center;
    flex-wrap: wrap;
}

[b-likaqzmdju] .q-search-input {
    max-width: 160px;
}

[b-likaqzmdju] .q-search-input .e-input {
    font-size: var(--font-size-sm);
    height: calc(var(--spacing-md) + var(--spacing-sm));
}

.q-filter-select[b-likaqzmdju] {
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--border-color);
    background: var(--input-bg);
    color: var(--text-primary);
    font-size: var(--font-size-sm);
    cursor: pointer;
    font-family: var(--font-body);
}

.q-toolbar-btn[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
}

/* --- SfGrid group caption --- */
.q-section-label[b-likaqzmdju] {
    font-weight: 700;
    font-size: var(--font-size-sm);
    color: var(--text-primary);
}

.q-section-count[b-likaqzmdju] {
    font-size: var(--font-size-2xs);
    font-weight: 400;
    color: var(--text-muted);
    margin-left: var(--spacing-xs);
}

/* Data rows - secteur coloring via RowDataBound */

[b-likaqzmdju] .q-row-opci td {
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
}

[b-likaqzmdju] .q-row-opci:hover td {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
}

[b-likaqzmdju] .q-row-sci td {
    background: color-mix(in srgb, var(--accent-success) 6%, transparent);
}

[b-likaqzmdju] .q-row-sci:hover td {
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
}

/* SfGrid q-grid overrides */
[b-likaqzmdju] [cssclass~="q-grid"] .e-rowcell {
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.4;
}

[b-likaqzmdju] [cssclass~="q-grid"] .e-groupcaption {
    background: var(--accent-primary);
    color: var(--text-inverse);
}

[b-likaqzmdju] [cssclass~="q-grid"] .e-groupcaption td {
    background: var(--accent-primary);
    color: var(--text-inverse);
    font-weight: 700;
}

/* Command column buttons */
[b-likaqzmdju] .q-cmd-btn {
    padding: 2px var(--spacing-xs) !important;
    min-width: auto !important;
    font-size: var(--font-size-xs) !important;
}

[b-likaqzmdju] .q-cmd-btn .e-icons {
    font-size: var(--font-size-sm);
}

/* Type badges */
.q-type-tag[b-likaqzmdju] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 1px var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    display: inline-block;
}

.q-type-bool[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
}

.q-type-text[b-likaqzmdju] {
    background: color-mix(in srgb, var(--text-muted) 10%, transparent);
    color: var(--text-muted);
}

.q-type-enum[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-purple) 10%, transparent);
    color: var(--accent-purple);
}

.q-type-date[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-cyan) 10%, transparent);
    color: var(--accent-cyan);
}

.q-type-file[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-orange) 10%, transparent);
    color: var(--accent-orange);
}

/* Secteur badges */
.q-secteur-tag[b-likaqzmdju] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 1px var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    display: inline-block;
}

.q-secteur-opci[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
}

.q-secteur-sci[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    color: var(--accent-success);
}

.q-secteur-all[b-likaqzmdju] {
    background: color-mix(in srgb, var(--text-muted) 10%, transparent);
    color: var(--text-muted);
}

/* Portee d'une question : filtree par compte vs toujours visible */
.q-scope-tag[b-likaqzmdju] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-2xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 2px var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.q-scope-tag .e-icons[b-likaqzmdju] {
    font-size: var(--font-size-xs);
}

.q-scope-unfiltered[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 35%, transparent);
}

.q-scope-filtered[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 30%, transparent);
}

.q-footer-audit[b-likaqzmdju] {
    color: var(--accent-warning);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-2xs);
}

.q-footer-audit .e-icons[b-likaqzmdju] {
    font-size: var(--font-size-xs);
}

/* Profile tags (PCG / OPCI / SCI) sur les templates REVISION_CYCLE */
.q-profile-tag[b-likaqzmdju] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 1px var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    display: inline-block;
    margin-left: var(--spacing-xs);
    letter-spacing: 0.02em;
}

.q-profile-pcg[b-likaqzmdju] {
    background: color-mix(in srgb, var(--text-muted) 12%, transparent);
    color: var(--text-secondary);
}

.q-profile-opci[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

.q-profile-sci[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

/* Sidebar profile tabs pour les questionnaires (PCG / OPCI / SCI / Transverses) */
.q-sidebar-tabs[b-likaqzmdju] {
    padding: 0 var(--spacing-xs) var(--spacing-xs);
    border-bottom: 1px solid var(--border-primary);
    margin-bottom: var(--spacing-xs);
}

[b-likaqzmdju] .q-profile-tabbar {
    gap: 2px;
}

[b-likaqzmdju] .q-profile-tabbar .revio-tab {
    font-size: var(--font-size-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
}

/* Obligatoire indicators */
.q-oblig-yes[b-likaqzmdju] {
    color: var(--accent-success);
    font-weight: 700;
}

.q-oblig-yes .e-icons[b-likaqzmdju] {
    font-size: var(--font-size-sm);
}

.q-oblig-no[b-likaqzmdju] {
    color: var(--text-muted);
}

/* --- Footer --- */
.q-footer[b-likaqzmdju] {
    padding: var(--spacing-xs) var(--spacing-md);
    background: var(--bg-card);
    border-top: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    flex-shrink: 0;
}

.q-footer-count[b-likaqzmdju] {
    font-weight: 700;
    color: var(--text-primary);
}

.q-footer-legend[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.q-legend-dot[b-likaqzmdju] {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    border: 1px solid var(--border-color);
}

.q-legend-all[b-likaqzmdju] {
    background: var(--bg-secondary);
}

.q-legend-opci[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
}

.q-legend-sci[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-success) 15%, transparent);
}

.q-footer-updated[b-likaqzmdju] {
    margin-left: auto;
    font-size: var(--font-size-2xs);
}

/* --- Sidebar add template button --- */
.q-sidebar-add[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    cursor: pointer;
    border: 1px dashed var(--border-color);
    border-radius: var(--border-radius-md);
    margin: var(--spacing-sm) var(--spacing-sm) 0;
    transition: background 0.15s, border-color 0.15s;
    color: var(--text-muted);
}

.q-sidebar-add:hover[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 5%, transparent);
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}

/* --- Form hint --- */
.form-hint[b-likaqzmdju] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    margin-top: 2px;
}

/* --- Grid options chips --- */
.q-options-cell[b-likaqzmdju] {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
}

.q-option-chip[b-likaqzmdju] {
    display: inline-block;
    padding: 1px var(--spacing-xs);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-2xs);
    color: var(--accent-primary);
    font-weight: 500;
    line-height: 1.4;
}

/* --- Enum options tags --- */
.enum-options-tags[b-likaqzmdju] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
    margin-bottom: var(--spacing-xs);
}

.enum-option-tag[b-likaqzmdju] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px var(--spacing-sm);
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 30%, transparent);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-xs);
    color: var(--accent-primary);
    font-weight: 500;
}

.enum-option-remove[b-likaqzmdju] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    color: var(--text-muted);
    border-radius: 50%;
}

.enum-option-remove:hover[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-danger) 15%, transparent);
    color: var(--accent-danger);
}

.enum-option-remove .e-icons[b-likaqzmdju] {
    font-size: var(--font-size-2xs);
}

.enum-options-input-row[b-likaqzmdju] {
    display: flex;
    gap: var(--spacing-xs);
    align-items: flex-start;
}

.enum-options-input-row .e-textbox[b-likaqzmdju] {
    flex: 1;
}

/* ==========================================================================
   Onglet 6 : Templates FDT
   ========================================================================== */

.fdt-tpl-tab[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.fdt-tpl-toolbar[b-likaqzmdju] {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm);
}

.fdt-tpl-filename[b-likaqzmdju] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    color: var(--text-primary);
}

.fdt-tpl-icon-yes[b-likaqzmdju] {
    color: var(--accent-success);
    font-size: var(--font-size-sm);
}

.fdt-tpl-icon-no[b-likaqzmdju] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.fdt-tpl-actions[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: 2px;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.15s ease;
}

.e-row:hover .fdt-tpl-actions[b-likaqzmdju] {
    opacity: 1;
}

.fdt-tpl-filename--missing[b-likaqzmdju] {
    color: var(--text-muted);
    font-style: italic;
}

.fdt-tpl-code[b-likaqzmdju] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    max-width: 170px;
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
}

.fdt-tpl-cycle-badge[b-likaqzmdju] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-xs);
    font-weight: 500;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.fdt-cycle-capitaux[b-likaqzmdju] { background: color-mix(in srgb, var(--accent-primary) 15%, transparent); color: var(--accent-primary); }
.fdt-cycle-charges[b-likaqzmdju] { background: color-mix(in srgb, var(--accent-danger) 15%, transparent); color: var(--accent-danger); }
.fdt-cycle-clients[b-likaqzmdju] { background: color-mix(in srgb, var(--accent-info) 15%, transparent); color: var(--accent-info); }
.fdt-cycle-engagement-hb[b-likaqzmdju] { background: color-mix(in srgb, var(--text-muted) 20%, transparent); color: var(--text-secondary); }
.fdt-cycle-fiscal[b-likaqzmdju] { background: color-mix(in srgb, var(--accent-warning) 15%, transparent); color: var(--accent-warning); }
.fdt-cycle-fiscal-social[b-likaqzmdju] { background: color-mix(in srgb, var(--accent-warning) 25%, transparent); color: var(--accent-warning); }
.fdt-cycle-fournisseurs[b-likaqzmdju] { background: color-mix(in srgb, var(--accent-success) 15%, transparent); color: var(--accent-success); }
.fdt-cycle-immobilisations[b-likaqzmdju] { background: color-mix(in srgb, var(--accent-primary) 20%, transparent); color: var(--accent-primary); }
.fdt-cycle-intercos[b-likaqzmdju] { background: color-mix(in srgb, var(--text-secondary) 15%, transparent); color: var(--text-secondary); }
.fdt-cycle-opci-valorisation[b-likaqzmdju] { background: color-mix(in srgb, #8b5cf6 15%, transparent); color: #7c3aed; }
.fdt-cycle-opci-vl-ratios[b-likaqzmdju] { background: color-mix(in srgb, #8b5cf6 25%, transparent); color: #7c3aed; }
.fdt-cycle-personnel[b-likaqzmdju] { background: color-mix(in srgb, #ec4899 15%, transparent); color: #db2777; }
.fdt-cycle-produits[b-likaqzmdju] { background: color-mix(in srgb, var(--accent-success) 25%, transparent); color: var(--accent-success); }
.fdt-cycle-provisions[b-likaqzmdju] { background: color-mix(in srgb, var(--accent-danger) 20%, transparent); color: var(--accent-danger); }
.fdt-cycle-regularite[b-likaqzmdju] { background: color-mix(in srgb, var(--accent-info) 20%, transparent); color: var(--accent-info); }
.fdt-cycle-tresorerie[b-likaqzmdju] { background: color-mix(in srgb, #06b6d4 15%, transparent); color: #0891b2; }

.fdt-upload-form[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.fdt-upload-form label[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--text-secondary);
}

.fdt-upload-form .form-row[b-likaqzmdju] {
    display: flex;
    gap: var(--spacing-sm);
}

.fdt-upload-form .form-row > *[b-likaqzmdju] {
    flex: 1;
}

.fdt-upload-file-info[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: 4px;
}

.fdt-preview-loading[b-likaqzmdju] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 400px;
    color: var(--text-muted);
    font-size: var(--font-size-md);
}

.fdt-tpl-row-inactive[b-likaqzmdju] {
    opacity: 0.5;
}

/* ==========================================================================
   Cycles sub-tab (Parametrage Revision) - cy-* prefixed
   ========================================================================== */

.cy-container[b-likaqzmdju] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.cy-toolbar[b-likaqzmdju] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.cy-toolbar-left[b-likaqzmdju] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.cy-toolbar-icon[b-likaqzmdju] {
    font-size: var(--font-size-base);
    color: var(--accent-primary);
}

.cy-toolbar-title[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.cy-toolbar-sep[b-likaqzmdju] {
    width: 1px;
    height: 20px;
    background: var(--border-color);
    flex-shrink: 0;
}

.cy-profile-label[b-likaqzmdju] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-weight: 500;
}

.cy-profile-pills[b-likaqzmdju] {
    display: flex;
    gap: 2px;
    background: var(--bg-secondary);
    border-radius: var(--border-radius-md);
    padding: 2px;
}

.cy-profile-pill[b-likaqzmdju] {
    border: none;
    background: transparent;
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-secondary);
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: var(--transition-default);
    white-space: nowrap;
}

.cy-profile-pill:hover[b-likaqzmdju] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    color: var(--text-primary);
}

.cy-profile-pill--active[b-likaqzmdju] {
    background: var(--bg-card);
    color: var(--accent-primary);
    font-weight: 600;
    box-shadow: var(--shadow-card);
}

.cy-racines-exclues[b-likaqzmdju] {
    color: var(--accent-danger);
    font-size: var(--font-size-xs);
    font-family: var(--font-monospace);
}

.cy-toolbar-actions[b-likaqzmdju] {
    display: flex;
    gap: var(--spacing-xs);
    align-items: center;
}

/* Cycle code badge in SfGrid */
.cy-code-badge[b-likaqzmdju] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    font-family: var(--font-monospace);
    padding: 1px var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
    white-space: nowrap;
    display: inline-block;
}

.cy-code-tech[b-likaqzmdju] {
    font-size: var(--font-size-xs);
    font-family: var(--font-monospace);
    color: var(--text-secondary);
}

[b-likaqzmdju] .cy-racines-input .e-input {
    font-size: var(--font-size-xs);
    font-family: var(--font-monospace);
    background: var(--input-bg);
}

@media (max-width: 900px) {
    .cy-toolbar[b-likaqzmdju] {
        flex-direction: column;
        align-items: stretch;
    }
}

/* --- Responsive --- */
@media (max-width: 900px) {
    .q-layout[b-likaqzmdju] {
        flex-direction: column;
    }

    .q-sidebar[b-likaqzmdju] {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border-color);
        max-height: 200px;
    }

    .q-toolbar[b-likaqzmdju] {
        flex-direction: column;
        align-items: stretch;
        gap: var(--spacing-xs);
    }

    .q-toolbar-actions[b-likaqzmdju] {
        margin-left: 0;
        justify-content: flex-end;
    }
}

/* --- Sprint 35 - Onglet NPMQ / SMQ --- */
[b-likaqzmdju] .npmq-tab { display: flex; flex-direction: column; gap: 1.25rem; padding: 1rem 0; }

[b-likaqzmdju] .npmq-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}
[b-likaqzmdju] .npmq-kpi-card {
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
[b-likaqzmdju] .npmq-kpi--ok { border-left: 4px solid #10b981; }
[b-likaqzmdju] .npmq-kpi--warn { border-left: 4px solid #f59e0b; }
[b-likaqzmdju] .npmq-kpi-label { font-size: 0.85rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.05em; }
[b-likaqzmdju] .npmq-kpi-value { font-size: 2rem; font-weight: 700; color: #111827; }
[b-likaqzmdju] .npmq-kpi-sub { font-size: 0.8rem; color: #6b7280; }

[b-likaqzmdju] .npmq-checklist { display: flex; flex-direction: column; gap: 1rem; }
[b-likaqzmdju] .npmq-domaine {
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}
[b-likaqzmdju] .npmq-domaine-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    background: #f9fafb;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}
[b-likaqzmdju] .npmq-domaine-head h3 { margin: 0; font-size: 1rem; font-weight: 600; }
[b-likaqzmdju] .npmq-ref { font-size: 0.8rem; color: #6b7280; }
[b-likaqzmdju] .npmq-domaine-pct { text-align: right; }
[b-likaqzmdju] .npmq-pct-value { display: block; font-size: 1.25rem; font-weight: 700; color: #111827; }
[b-likaqzmdju] .npmq-pct-detail { font-size: 0.75rem; color: #6b7280; }

[b-likaqzmdju] .npmq-items { display: flex; flex-direction: column; }
[b-likaqzmdju] .npmq-item {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--border-color, #f3f4f6);
}
[b-likaqzmdju] .npmq-item:first-child { border-top: 0; }
[b-likaqzmdju] .npmq-item-libelle { font-size: 0.95rem; }
[b-likaqzmdju] .npmq-item-actions { display: flex; gap: 0.25rem; }

[b-likaqzmdju] .npmq-independance { display: flex; flex-direction: column; gap: 1rem; }
[b-likaqzmdju] .npmq-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}
[b-likaqzmdju] .npmq-toolbar-left { display: flex; gap: 0.5rem; align-items: center; }

[b-likaqzmdju] .npmq-confirmations-table { width: 100%; border-collapse: collapse; }
[b-likaqzmdju] .npmq-confirmations-table thead th {
    text-align: left;
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
    color: #6b7280;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}
[b-likaqzmdju] .npmq-confirmations-table tbody td {
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid var(--border-color, #f3f4f6);
    font-size: 0.9rem;
}
[b-likaqzmdju] .npmq-confirmations-table .col-actions { text-align: right; display: flex; gap: 0.25rem; justify-content: flex-end; }

/* ============================================================ */
/* Sprint 74 — Listes documentaires sub-tab (dr-* prefixed)     */
/* ============================================================ */
[b-likaqzmdju] .dr-container { display: flex; flex-direction: column; gap: 1rem; }
[b-likaqzmdju] .dr-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}
[b-likaqzmdju] .dr-scope-chips { display: flex; gap: 0.5rem; flex-wrap: wrap; }
[b-likaqzmdju] .dr-chip {
    background: #f9fafb;
    border: 1px solid var(--border-color, #e5e7eb);
    color: #6b7280;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
}
[b-likaqzmdju] .dr-chip:hover { background: #f3f4f6; }
[b-likaqzmdju] .dr-chip--active {
    background: var(--accent-primary, #2563eb);
    color: white;
    border-color: var(--accent-primary, #2563eb);
}
[b-likaqzmdju] .dr-table { width: 100%; border-collapse: collapse; }
[b-likaqzmdju] .dr-table thead th {
    text-align: left;
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
    color: #6b7280;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}
[b-likaqzmdju] .dr-table tbody td {
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid var(--border-color, #f3f4f6);
    font-size: 0.9rem;
    vertical-align: middle;
}
[b-likaqzmdju] .dr-badge {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}
[b-likaqzmdju] .dr-badge-type { background: #eff6ff; color: #1e40af; }
[b-likaqzmdju] .dr-badge-cabinet { background: #ecfdf5; color: #065f46; }
[b-likaqzmdju] .dr-badge-global { background: #f3f4f6; color: #4b5563; }
[b-likaqzmdju] .dr-status { font-size: 0.85rem; font-weight: 500; }
[b-likaqzmdju] .dr-status-on { color: var(--accent-success, #059669); }
[b-likaqzmdju] .dr-status-off { color: #9ca3af; text-decoration: line-through; }
/* _content/Revio.Web/Pages/Missions/CycleBalance.razor.rz.scp.css */
/* CycleBalance - scoped styles (extracted from Step2Cycles) */

/* --- Cards --- */
.step2-card[b-e1m4we6jq6] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.step2-card-header[b-e1m4we6jq6] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.step2-card-title[b-e1m4we6jq6] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.step2-card-title .e-icons[b-e1m4we6jq6] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

.step2-card-actions[b-e1m4we6jq6] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

/* --- Loading zone --- */
.step2-loading-zone[b-e1m4we6jq6] {
    padding: var(--spacing-lg);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-style: italic;
}

/* --- Empty state --- */
.step2-empty-state[b-e1m4we6jq6] {
    padding: var(--spacing-xl);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
}

.step2-empty-state .e-icons[b-e1m4we6jq6] {
    font-size: 32px;
    color: var(--text-muted);
}

/* --- Balance total --- */
.step2-balance-total[b-e1m4we6jq6] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.step2-balance-total-value[b-e1m4we6jq6] {
    font-family: var(--font-monospace);
    font-weight: 700;
    color: var(--text-primary);
}

/* --- Balance grid templates --- */
[b-e1m4we6jq6] .step2-compte-mono {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
}

[b-e1m4we6jq6] .step2-montant {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
}

[b-e1m4we6jq6] .step2-montant-muted {
    color: var(--text-muted);
}

[b-e1m4we6jq6] .step2-montant-neg {
    color: var(--accent-danger);
}

[b-e1m4we6jq6] .step2-montant-ajust {
    color: var(--accent-primary);
    font-weight: 600;
}

[b-e1m4we6jq6] .step2-xref-badge {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border: 1px solid var(--accent-primary);
    border-radius: var(--spacing-xs);
    padding: 1px 6px;
}

[b-e1m4we6jq6] .step2-xref-orphelin {
    color: var(--text-muted);
    font-size: var(--font-size-2xs);
}

/* --- Conclusion badges --- */
[b-e1m4we6jq6] .step2-conclusion-badge {
    display: inline-block;
    padding: 1px 6px;
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

[b-e1m4we6jq6] .conclusion-pas_anomalie {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

[b-e1m4we6jq6] .conclusion-en_attente {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
}

[b-e1m4we6jq6] .conclusion-ajustement {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

[b-e1m4we6jq6] .conclusion-na {
    background: color-mix(in srgb, var(--text-secondary) 12%, transparent);
    color: var(--text-secondary);
}

[b-e1m4we6jq6] .conclusion-en_cours {
    background: color-mix(in srgb, var(--accent-cyan) 12%, transparent);
    color: var(--accent-cyan);
}

[b-e1m4we6jq6] .step2-conclusion-empty {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-style: italic;
}
/* _content/Revio.Web/Pages/Missions/CycleFDT.razor.rz.scp.css */
/* CycleFDT - scoped styles (extracted from Step2Cycles) */

/* --- Cards --- */
.step2-card[b-wyy5doz7di] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.step2-card-header[b-wyy5doz7di] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.step2-card-title[b-wyy5doz7di] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.step2-card-title .e-icons[b-wyy5doz7di] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

.step2-card-actions[b-wyy5doz7di] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

/* --- Empty state --- */
.step2-empty-state[b-wyy5doz7di] {
    padding: var(--spacing-xl);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
}

.step2-empty-state .e-icons[b-wyy5doz7di] {
    font-size: 32px;
    color: var(--text-muted);
}

/* --- FDT counter --- */
.step2-fdt-counter[b-wyy5doz7di] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-weight: 600;
}

/* --- FDT cards grid --- */
.step2-fdt-grid[b-wyy5doz7di] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
}

.step2-fdt-card[b-wyy5doz7di] {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: 10px 12px;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.step2-fdt-card:hover[b-wyy5doz7di] {
    border-color: var(--accent-primary);
    box-shadow: var(--shadow-card);
}

.step2-fdt-card:focus-visible[b-wyy5doz7di] {
    outline: 2px solid var(--accent-primary);
    outline-offset: 2px;
}

.step2-fdt-card.fdt-validated[b-wyy5doz7di] {
    border-color: color-mix(in srgb, var(--accent-success) 40%, transparent);
    background: color-mix(in srgb, var(--accent-success) 5%, var(--bg-secondary));
}

.step2-fdt-card-header[b-wyy5doz7di] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-xs);
}

.step2-fdt-xref[b-wyy5doz7di] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--accent-primary);
}

.step2-fdt-validated-icon[b-wyy5doz7di] {
    color: var(--accent-success);
    font-size: var(--font-size-sm);
}

.step2-fdt-card-title[b-wyy5doz7di] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--spacing-xs);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.step2-fdt-card-footer[b-wyy5doz7di] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-xs);
}

.step2-fdt-prep[b-wyy5doz7di] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-family: var(--font-monospace);
}

/* --- Conclusion badges --- */
[b-wyy5doz7di] .step2-conclusion-badge {
    display: inline-block;
    padding: 1px 6px;
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

[b-wyy5doz7di] .conclusion-pas_anomalie {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

[b-wyy5doz7di] .conclusion-en_attente {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
}

[b-wyy5doz7di] .conclusion-ajustement {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

[b-wyy5doz7di] .conclusion-na {
    background: color-mix(in srgb, var(--text-secondary) 12%, transparent);
    color: var(--text-secondary);
}

[b-wyy5doz7di] .conclusion-en_cours {
    background: color-mix(in srgb, var(--accent-cyan) 12%, transparent);
    color: var(--accent-cyan);
}

[b-wyy5doz7di] .step2-conclusion-empty {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-style: italic;
}

/* --- Evaluations section (IMMOBILISATIONS) --- */
.step2-eval-content[b-wyy5doz7di] {
    padding: var(--spacing-sm);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.step2-eval-separator[b-wyy5doz7di] {
    height: 1px;
    background: var(--border-color);
    margin: var(--spacing-sm) 0;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .step2-fdt-grid[b-wyy5doz7di] {
        grid-template-columns: 1fr;
    }
}
/* _content/Revio.Web/Pages/Missions/CycleQuestionnaire.razor.rz.scp.css */
/* CycleQuestionnaire - scoped styles (extracted from Step2Cycles) */

/* --- Cards --- */
.step2-card[b-gbwawfb1to] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.step2-card-header[b-gbwawfb1to] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.step2-card-title[b-gbwawfb1to] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.step2-card-title .e-icons[b-gbwawfb1to] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

.step2-card-actions[b-gbwawfb1to] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

/* --- Loading zone --- */
.step2-loading-zone[b-gbwawfb1to] {
    padding: var(--spacing-lg);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-style: italic;
}

/* --- Empty state --- */
.step2-empty-state[b-gbwawfb1to] {
    padding: var(--spacing-xl);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
}

.step2-empty-state .e-icons[b-gbwawfb1to] {
    font-size: 32px;
    color: var(--text-muted);
}

/* --- Scoring badge --- */
.step2-scoring-badge[b-gbwawfb1to] {
    display: inline-block;
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    text-transform: uppercase;
}

.scoring-complet[b-gbwawfb1to] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.scoring-partiel[b-gbwawfb1to] {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
}

.scoring-non_rempli[b-gbwawfb1to] {
    background: color-mix(in srgb, var(--text-secondary) 12%, transparent);
    color: var(--text-secondary);
}

/* --- Questionnaire --- */
.step2-question-section[b-gbwawfb1to] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-light);
}

.step2-question-section:last-child[b-gbwawfb1to] {
    border-bottom: none;
}

.step2-question-section-title[b-gbwawfb1to] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--accent-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: var(--spacing-xs);
    padding-bottom: 4px;
    border-bottom: 1px solid var(--border-light);
}

.step2-question-row[b-gbwawfb1to] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-xs) 0;
    gap: var(--spacing-md);
}

.step2-question-label[b-gbwawfb1to] {
    font-size: var(--font-size-xs);
    color: var(--text-primary);
    flex: 1;
}

.step2-required-marker[b-gbwawfb1to] {
    color: var(--accent-danger);
    font-weight: 700;
    margin-left: 2px;
}

.step2-question-input[b-gbwawfb1to] {
    flex: 0 0 180px;
}

[b-gbwawfb1to] .step2-select-small {
    max-width: 180px;
    font-size: var(--font-size-xs);
    padding: 3px 6px;
}

[b-gbwawfb1to] .step2-input-montant {
    max-width: 180px;
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    text-align: right;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .step2-question-row[b-gbwawfb1to] {
        flex-direction: column;
        align-items: flex-start;
    }

    .step2-question-input[b-gbwawfb1to] {
        flex: 1;
        width: 100%;
    }
}

/* #BL17 - Dropdown de reponse + colonne piece jointe SharePoint */
[b-gbwawfb1to] .revio-qgrid-select {
    width: 100%;
    padding: 4px 8px;
    border: 1px solid var(--border-default, #d1d5db);
    border-radius: var(--radius-sm, 4px);
    background: var(--bg-card, #fff);
    font-size: var(--font-size-xs, 0.85rem);
    color: var(--text-primary, #111827);
}

[b-gbwawfb1to] .revio-qgrid-select:disabled {
    background: var(--bg-subtle, #f3f4f6);
    color: var(--text-secondary, #6b7280);
    cursor: not-allowed;
}

[b-gbwawfb1to] .revio-qgrid-att-btn,
[b-gbwawfb1to] .revio-qgrid-att-clear {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border: 1px dashed var(--border-default, #d1d5db);
    border-radius: var(--radius-sm, 4px);
    background: transparent;
    color: var(--accent-primary, #2563eb);
    font-size: 0.8rem;
    cursor: pointer;
}

[b-gbwawfb1to] .revio-qgrid-att-btn:hover {
    background: rgba(37, 99, 235, 0.08);
    border-color: var(--accent-primary, #2563eb);
}

[b-gbwawfb1to] .revio-qgrid-att-clear {
    margin-left: 4px;
    border: none;
    color: var(--text-secondary, #6b7280);
    padding: 2px 4px;
}

[b-gbwawfb1to] .revio-qgrid-att-clear:hover {
    color: var(--accent-danger, #dc2626);
}

[b-gbwawfb1to] .revio-qgrid-att-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--accent-primary, #2563eb);
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 500;
}

[b-gbwawfb1to] .revio-qgrid-att-link:hover {
    text-decoration: underline;
}

[b-gbwawfb1to] .revio-qgrid-att-none {
    color: var(--text-secondary, #9ca3af);
    font-size: 0.8rem;
}

/* Textarea auto-grow pour les questions TEXT (Option B JS).
   La hauteur est ajustee dynamiquement par revio-qgrid-textarea-autogrow.js
   au scrollHeight + plafond max-height pour eviter de defoncer la grille. */
[b-gbwawfb1to] textarea.revio-qgrid-input {
    width: 100%;
    min-height: 32px;
    max-height: 240px;
    overflow-y: auto;
    padding: 6px 8px;
    border: 1px solid var(--border-default, #d1d5db);
    border-radius: var(--radius-sm, 4px);
    background: var(--bg-card, #fff);
    font-family: inherit;
    font-size: var(--font-size-xs, 0.85rem);
    color: var(--text-primary, #111827);
    resize: none;
    line-height: 1.4;
    box-sizing: border-box;
}

[b-gbwawfb1to] textarea.revio-qgrid-input:focus {
    outline: none;
    border-color: var(--accent-primary, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}

[b-gbwawfb1to] textarea.revio-qgrid-input:disabled {
    background: var(--bg-subtle, #f3f4f6);
    color: var(--text-secondary, #6b7280);
    cursor: not-allowed;
}
/* _content/Revio.Web/Pages/Missions/DriversCP.razor.rz.scp.css */
/* DriversCP - scoped styles */

.drv-loading[b-6q81fb1cit] {
    padding: var(--spacing-lg);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-style: italic;
}

/* --- Section --- */
.drv-section[b-6q81fb1cit] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.drv-section-header[b-6q81fb1cit] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary);
}

.drv-section-title[b-6q81fb1cit] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.drv-section-title .e-icons[b-6q81fb1cit] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

/* --- Table --- */
.drv-table-wrapper[b-6q81fb1cit] {
    overflow-x: auto;
}

.drv-table[b-6q81fb1cit] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-xs);
}

.drv-table th[b-6q81fb1cit] {
    text-align: left;
    font-weight: 700;
    color: var(--text-secondary);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: var(--spacing-xs) var(--spacing-sm);
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary);
}

.drv-table td[b-6q81fb1cit] {
    padding: var(--spacing-xs) var(--spacing-sm);
    border-bottom: 1px solid var(--border-light);
    vertical-align: middle;
}

.drv-col-num[b-6q81fb1cit] {
    width: 36px;
    text-align: center !important;
}

.drv-cell-num[b-6q81fb1cit] {
    text-align: center;
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--text-muted);
}

.drv-cell-label[b-6q81fb1cit] {
    font-weight: 600;
    color: var(--text-primary);
}

.drv-col-montant[b-6q81fb1cit] {
    text-align: right !important;
    width: 160px;
}

[b-6q81fb1cit] .drv-numeric {
    max-width: 160px;
}

[b-6q81fb1cit] .drv-input-comment {
    font-size: var(--font-size-xs);
    padding: 3px 6px;
    width: 100%;
}

/* --- Recap --- */
.drv-recap[b-6q81fb1cit] {
    padding: var(--spacing-sm) var(--spacing-md);
    border-top: 1px solid var(--border-color);
    background: var(--bg-secondary);
}

.drv-recap-row[b-6q81fb1cit] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-xs) 0;
}

.drv-recap-row + .drv-recap-row[b-6q81fb1cit] {
    border-top: 1px solid var(--border-light);
}

.drv-recap-label[b-6q81fb1cit] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.drv-recap-value[b-6q81fb1cit] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.drv-recap-ecart[b-6q81fb1cit] {
    border-top: 2px solid var(--border-color) !important;
    margin-top: var(--spacing-xs);
    padding-top: var(--spacing-sm);
}

.drv-recap-warning .drv-recap-value[b-6q81fb1cit] {
    color: var(--accent-danger);
}

.drv-warning-badge[b-6q81fb1cit] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: 1px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    background: color-mix(in srgb, var(--accent-warning) 15%, transparent);
    color: var(--accent-warning);
}

.drv-warning-badge .e-icons[b-6q81fb1cit] {
    font-size: var(--font-size-xs);
}

/* --- Save row --- */
.drv-save-row[b-6q81fb1cit] {
    display: flex;
    justify-content: flex-end;
    padding: var(--spacing-sm) var(--spacing-md);
    border-top: 1px solid var(--border-light);
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .drv-recap[b-6q81fb1cit] {
        padding: var(--spacing-sm);
    }
}
/* _content/Revio.Web/Pages/Missions/EvaluationsOPCI.razor.rz.scp.css */
/* EvaluationsOPCI - scoped styles */

.eval-loading[b-berj8trs3r] {
    padding: var(--spacing-lg);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-style: italic;
}

/* --- Section --- */
.eval-section[b-berj8trs3r] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    margin-bottom: var(--spacing-sm);
}

.eval-section-header[b-berj8trs3r] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary);
}

.eval-section-title[b-berj8trs3r] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.eval-section-title .e-icons[b-berj8trs3r] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

.eval-section-actions[b-berj8trs3r] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

/* --- Tables --- */
.eval-table-wrapper[b-berj8trs3r] {
    overflow-x: auto;
}

.eval-table[b-berj8trs3r] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-xs);
}

.eval-table th[b-berj8trs3r] {
    text-align: left;
    font-weight: 700;
    color: var(--text-secondary);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: var(--spacing-xs) var(--spacing-sm);
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary);
    white-space: nowrap;
}

.eval-table td[b-berj8trs3r] {
    padding: var(--spacing-xs) var(--spacing-sm);
    border-bottom: 1px solid var(--border-light);
    vertical-align: middle;
}

.eval-col-montant[b-berj8trs3r] {
    text-align: right !important;
}

.eval-cell-montant[b-berj8trs3r] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    text-align: right;
}

.eval-col-action[b-berj8trs3r] {
    width: 36px;
    text-align: center;
}

[b-berj8trs3r] .eval-input {
    font-size: var(--font-size-xs);
    padding: var(--spacing-xs) 6px;
}

[b-berj8trs3r] .eval-input-sm {
    max-width: 140px;
}

[b-berj8trs3r] .eval-numeric {
    max-width: 130px;
}

[b-berj8trs3r] .eval-date {
    max-width: 140px;
}

.eval-total-row[b-berj8trs3r] {
    background: var(--bg-secondary);
}

.eval-total-row td[b-berj8trs3r] {
    border-bottom: none;
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
}

.eval-auto-badge[b-berj8trs3r] {
    display: inline-block;
    padding: 1px 6px;
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    background: color-mix(in srgb, var(--accent-cyan) 12%, transparent);
    color: var(--accent-cyan);
}

/* --- Save row --- */
.eval-save-row[b-berj8trs3r] {
    display: flex;
    justify-content: flex-end;
    padding: var(--spacing-sm) 14px;
    border-top: 1px solid var(--border-light);
}

/* --- Empty --- */
.eval-empty[b-berj8trs3r] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-lg);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    justify-content: center;
    font-style: italic;
}

.eval-empty .e-icons[b-berj8trs3r] {
    font-size: 32px;
    color: var(--text-muted);
}

/* --- Recap --- */
.eval-recap[b-berj8trs3r] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) 14px;
}

.eval-recap-row[b-berj8trs3r] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-xs) 0;
}

.eval-recap-row + .eval-recap-row[b-berj8trs3r] {
    border-top: 1px solid var(--border-light);
}

.eval-recap-total[b-berj8trs3r] {
    border-top: 2px solid var(--accent-primary) !important;
    margin-top: var(--spacing-xs);
    padding-top: var(--spacing-sm);
}

.eval-recap-label[b-berj8trs3r] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
}

.eval-recap-total .eval-recap-label[b-berj8trs3r] {
    font-weight: 700;
    color: var(--accent-primary);
}

.eval-recap-value[b-berj8trs3r] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.eval-recap-total .eval-recap-value[b-berj8trs3r] {
    color: var(--accent-primary);
    font-size: var(--font-size-base);
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .eval-section-header[b-berj8trs3r] {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-sm);
    }
}
/* _content/Revio.Web/Pages/Missions/FDTModal.razor.rz.scp.css */
/* FDTModal - fullscreen overlay scoped styles */

/* --- Overlay --- */
.fdt-overlay[b-kbmy063z7u] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--modal-overlay-bg);
    z-index: 1000;
    display: flex;
    align-items: stretch;
    justify-content: center;
    padding: var(--spacing-lg);
}

.fdt-container[b-kbmy063z7u] {
    background: var(--bg-primary);
    border-radius: var(--border-radius-lg);
    width: 100%;
    max-width: 960px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--shadow-popup);
}

/* --- Header --- */
.fdt-header[b-kbmy063z7u] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}

.fdt-header-left[b-kbmy063z7u] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    min-width: 0;
}

.fdt-header-title-group[b-kbmy063z7u] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    min-width: 0;
}

.fdt-xref-badge[b-kbmy063z7u] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    border: 1px solid var(--accent-primary);
    border-radius: var(--spacing-xs);
    padding: 1px var(--spacing-xs);
    flex-shrink: 0;
}

.fdt-title[b-kbmy063z7u] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fdt-validated-badge[b-kbmy063z7u] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: 1px var(--spacing-xs);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
    flex-shrink: 0;
}

.fdt-header-right[b-kbmy063z7u] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    flex-shrink: 0;
}

.fdt-meta[b-kbmy063z7u] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
}

/* --- Messages --- */
.fdt-msg-wrapper[b-kbmy063z7u] {
    padding: var(--spacing-sm) var(--spacing-md) 0;
}

/* --- Body --- */
.fdt-body[b-kbmy063z7u] {
    flex: 1;
    overflow-y: auto;
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

/* --- Zones --- */
.fdt-zone[b-kbmy063z7u] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) 14px;
}

.fdt-zone-disabled[b-kbmy063z7u] {
    opacity: 0.55;
    cursor: not-allowed;
}

.fdt-zone-header[b-kbmy063z7u] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    margin-bottom: var(--spacing-sm);
}

.fdt-zone-header .e-icons[b-kbmy063z7u] {
    color: var(--accent-primary);
    font-size: var(--font-size-sm);
}

.fdt-zone-title[b-kbmy063z7u] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.fdt-zone-sprint-tag[b-kbmy063z7u] {
    display: inline-block;
    padding: 1px var(--spacing-xs);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    background: color-mix(in srgb, var(--text-secondary) 12%, transparent);
    color: var(--text-secondary);
    margin-left: auto;
}

.fdt-zone-placeholder[b-kbmy063z7u] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    justify-content: center;
}

.fdt-zone-placeholder .e-icons[b-kbmy063z7u] {
    color: var(--text-muted);
    font-size: var(--font-size-lg);
}

/* --- Zone Template --- */
.fdt-zone-template[b-kbmy063z7u] {
    border-color: color-mix(in srgb, var(--accent-primary) 30%, var(--border-color));
}

.fdt-template-instance[b-kbmy063z7u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
    flex-wrap: wrap;
}

.fdt-template-file-info[b-kbmy063z7u] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    min-width: 0;
}

.fdt-template-file-icon[b-kbmy063z7u] {
    color: var(--accent-primary);
    font-size: var(--font-size-md);
    flex-shrink: 0;
}

.fdt-template-file-name[b-kbmy063z7u] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--accent-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fdt-template-actions[b-kbmy063z7u] {
    display: flex;
    gap: var(--spacing-sm);
    flex-shrink: 0;
}

.fdt-template-select[b-kbmy063z7u] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.fdt-template-picker[b-kbmy063z7u] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

[b-kbmy063z7u] .fdt-template-dropdown {
    flex: 1;
    min-width: 200px;
    max-width: 400px;
}

.fdt-template-loading[b-kbmy063z7u] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.fdt-template-empty[b-kbmy063z7u] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-style: italic;
}

.fdt-template-empty .e-icons[b-kbmy063z7u] {
    color: var(--text-muted);
    font-size: var(--font-size-md);
}

/* --- Textareas --- */
[b-kbmy063z7u] .fdt-textarea {
    width: 100%;
    min-height: 60px;
    font-size: var(--font-size-xs);
    line-height: 1.5;
    resize: vertical;
    font-family: var(--font-body);
}

[b-kbmy063z7u] .fdt-textarea:disabled {
    background: var(--input-bg-readonly);
}

[b-kbmy063z7u] .fdt-textarea-large {
    min-height: 120px;
}

/* --- Conclusion toggle buttons --- */
.fdt-conclusion-toggles[b-kbmy063z7u] {
    display: flex;
    gap: var(--spacing-xs);
    flex-wrap: wrap;
    margin-bottom: var(--spacing-sm);
}

.fdt-toggle[b-kbmy063z7u] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--border-color);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
}

.fdt-toggle:hover:not(:disabled)[b-kbmy063z7u] {
    border-color: var(--text-muted);
}

.fdt-toggle:disabled[b-kbmy063z7u] {
    opacity: 0.5;
    cursor: not-allowed;
}

.fdt-toggle .e-icons[b-kbmy063z7u] {
    font-size: var(--font-size-sm);
}

/* Active states per conclusion type */
.fdt-toggle-ras.active[b-kbmy063z7u] {
    background: color-mix(in srgb, var(--accent-success) 15%, transparent);
    border-color: var(--accent-success);
    color: var(--accent-success);
    font-weight: 700;
}

.fdt-toggle-attente.active[b-kbmy063z7u] {
    background: color-mix(in srgb, var(--accent-warning) 15%, transparent);
    border-color: var(--accent-warning);
    color: var(--accent-warning);
    font-weight: 700;
}

.fdt-toggle-ajust.active[b-kbmy063z7u] {
    background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
    border-color: var(--accent-primary);
    color: var(--accent-primary);
    font-weight: 700;
}

.fdt-toggle-na.active[b-kbmy063z7u] {
    background: color-mix(in srgb, var(--text-secondary) 15%, transparent);
    border-color: var(--text-secondary);
    color: var(--text-secondary);
    font-weight: 700;
}

.fdt-toggle-encours.active[b-kbmy063z7u] {
    background: color-mix(in srgb, var(--accent-cyan) 15%, transparent);
    border-color: var(--accent-cyan);
    color: var(--accent-cyan);
    font-weight: 700;
}

/* --- Footer actions --- */
.fdt-footer[b-kbmy063z7u] {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border-top: 1px solid var(--border-color);
    flex-shrink: 0;
}

/* --- Zone OD --- */
.fdt-od-add-btn[b-kbmy063z7u] {
    margin-left: auto;
    font-size: var(--font-size-xs);
}

.fdt-od-form[b-kbmy063z7u] {
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: var(--border-radius-sm);
    padding: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
}

.fdt-od-form-row[b-kbmy063z7u] {
    display: flex;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
    align-items: flex-end;
}

.fdt-od-form-field[b-kbmy063z7u] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    flex: 0 0 auto;
    min-width: 100px;
}

.fdt-od-field-libelle[b-kbmy063z7u] {
    flex: 1;
    min-width: 180px;
}

.fdt-od-label[b-kbmy063z7u] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-secondary);
}

[b-kbmy063z7u] .fdt-od-input-compte {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    max-width: 120px;
}

[b-kbmy063z7u] .fdt-od-numeric {
    max-width: 120px;
}

[b-kbmy063z7u] .fdt-od-date {
    max-width: 140px;
}

.fdt-od-form-actions[b-kbmy063z7u] {
    display: flex;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-sm);
    justify-content: flex-end;
}

/* --- OD Table --- */
.fdt-od-table[b-kbmy063z7u] {
    width: 100%;
    border-collapse: collapse;
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-xs);
}

.fdt-od-table th[b-kbmy063z7u] {
    text-align: left;
    font-weight: 700;
    color: var(--text-secondary);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: var(--spacing-xs) var(--spacing-sm);
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary);
}

.fdt-od-table td[b-kbmy063z7u] {
    padding: var(--spacing-xs) var(--spacing-sm);
    border-bottom: 1px solid var(--border-light);
    color: var(--text-primary);
}

.fdt-od-col-montant[b-kbmy063z7u] {
    text-align: right !important;
}

.fdt-od-cell-mono[b-kbmy063z7u] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

.fdt-od-cell-montant[b-kbmy063z7u] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    text-align: right;
}

.fdt-od-col-action[b-kbmy063z7u] {
    width: 36px;
    text-align: center;
}

.fdt-od-total-row[b-kbmy063z7u] {
    background: var(--bg-secondary);
}

.fdt-od-total-row td[b-kbmy063z7u] {
    border-bottom: none;
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
}

.fdt-od-empty[b-kbmy063z7u] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    justify-content: center;
    font-style: italic;
}

.fdt-od-empty .e-icons[b-kbmy063z7u] {
    color: var(--text-muted);
    font-size: var(--font-size-lg);
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .fdt-overlay[b-kbmy063z7u] {
        padding: 0;
    }

    .fdt-container[b-kbmy063z7u] {
        border-radius: 0;
        max-width: 100%;
    }

    .fdt-header[b-kbmy063z7u] {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-sm);
    }

    .fdt-header-right[b-kbmy063z7u] {
        flex-wrap: wrap;
    }

    .fdt-conclusion-toggles[b-kbmy063z7u] {
        flex-direction: column;
    }

    .fdt-od-form-row[b-kbmy063z7u] {
        flex-direction: column;
    }

    .fdt-od-form-field[b-kbmy063z7u] {
        min-width: 100%;
    }
}
/* _content/Revio.Web/Pages/Missions/Index.razor.rz.scp.css */
/* Missions Index - scoped styles */

/* ============================================================ */
/* Access denied                                                */
/* ============================================================ */
.p-access-denied[b-vrcaa9035h] {
    text-align: center;
    padding: 32px;
}

.p-access-denied .e-icons[b-vrcaa9035h] {
    font-size: 32px;
    color: var(--accent-danger);
    margin-bottom: 12px;
}

.p-access-denied h2[b-vrcaa9035h] {
    font-size: var(--font-size-xl);
    color: var(--text-primary);
    margin: 0 0 8px;
}

.p-access-denied p[b-vrcaa9035h] {
    color: var(--text-secondary);
    margin: 0 0 16px;
}

/* ============================================================ */
/* HERO                                                         */
/* ============================================================ */
.np-hero[b-vrcaa9035h] {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--accent-primary) 10%, var(--bg-card)) 0%,
        var(--bg-card) 60%);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg, 10px);
    padding: 28px 32px;
    margin: 16px 0 24px;
}

.np-hero-eyebrow[b-vrcaa9035h] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--accent-primary);
    margin-bottom: 12px;
}

.np-hero-eyebrow .e-icons[b-vrcaa9035h] {
    font-size: var(--font-size-md);
}

.np-hero-title[b-vrcaa9035h] {
    font-size: clamp(20px, 2.6vw, 30px);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 12px;
    line-height: 1.2;
}

.np-hero-lead[b-vrcaa9035h] {
    font-size: var(--font-size-md);
    color: var(--text-secondary);
    margin: 0 0 20px;
    max-width: 880px;
    line-height: 1.5;
}

.np-hero-lead strong[b-vrcaa9035h] {
    color: var(--text-primary);
    font-weight: 700;
}

.np-hero-badges[b-vrcaa9035h] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.np-badge[b-vrcaa9035h] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    border: 1px solid transparent;
}

.np-badge .e-icons[b-vrcaa9035h] {
    font-size: var(--font-size-sm);
}

.np-badge--success[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
    border-color: color-mix(in srgb, var(--accent-success) 30%, transparent);
}

.np-badge--primary[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
    border-color: color-mix(in srgb, var(--accent-primary) 30%, transparent);
}

.np-badge--purple[b-vrcaa9035h] {
    background: color-mix(in srgb, #8b5cf6 12%, transparent);
    color: #8b5cf6;
    border-color: color-mix(in srgb, #8b5cf6 30%, transparent);
}

.np-badge--orange[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-orange) 12%, transparent);
    color: var(--accent-orange);
    border-color: color-mix(in srgb, var(--accent-orange) 30%, transparent);
}

/* ============================================================ */
/* SECTION HEADERS (numbered 1-2-3-4)                           */
/* ============================================================ */
.np-selector-section[b-vrcaa9035h],
.np-phases-section[b-vrcaa9035h],
.np-timeline-section[b-vrcaa9035h],
.np-trust-section[b-vrcaa9035h],
.np-list-section[b-vrcaa9035h] {
    margin: 24px 0;
}

.np-section-header[b-vrcaa9035h] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 16px;
}

.np-section-step[b-vrcaa9035h] {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--accent-primary);
    color: #fff;
    font-weight: 700;
    font-size: var(--font-size-md);
    line-height: 1;
}

.np-section-title[b-vrcaa9035h] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 4px;
    line-height: 1.2;
}

.np-section-subtitle[b-vrcaa9035h] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.4;
    max-width: 760px;
}

/* ============================================================ */
/* SELECTOR section                                             */
/* ============================================================ */
.np-selected-recap[b-vrcaa9035h] {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    color: var(--accent-success);
    border: 1px solid color-mix(in srgb, var(--accent-success) 30%, transparent);
    font-size: var(--font-size-sm);
}

.np-selected-recap .e-icons[b-vrcaa9035h] {
    font-size: var(--font-size-md);
}

.np-selected-recap strong[b-vrcaa9035h] {
    color: var(--text-primary);
}

.np-selected-step[b-vrcaa9035h] {
    margin-left: auto;
    padding: 2px 10px;
    border-radius: 999px;
    background: var(--bg-card);
    color: var(--accent-success);
    font-weight: 700;
    font-size: var(--font-size-xs);
    border: 1px solid color-mix(in srgb, var(--accent-success) 30%, transparent);
}

/* ============================================================ */
/* PHASES grid                                                  */
/* ============================================================ */
.np-phases-grid[b-vrcaa9035h] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

.np-phase-card[b-vrcaa9035h] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 18px 18px 16px;
    border-radius: 10px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
    overflow: hidden;
}

.np-phase-card:hover[b-vrcaa9035h] {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    border-color: color-mix(in srgb, var(--accent-primary) 40%, var(--border-color));
}

.np-phase-card.np-phase--locked[b-vrcaa9035h] {
    opacity: 0.65;
    cursor: not-allowed;
    pointer-events: none;
}

.np-phase-rail[b-vrcaa9035h] {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 4px;
    background: var(--accent-primary);
}

.np-phase--planif .np-phase-rail[b-vrcaa9035h] { background: var(--accent-primary); }
.np-phase--revision .np-phase-rail[b-vrcaa9035h] { background: var(--accent-orange); }
.np-phase--attestation .np-phase-rail[b-vrcaa9035h] { background: var(--accent-success); }

.np-phase-head[b-vrcaa9035h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: 6px;
}

.np-phase-num[b-vrcaa9035h] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-secondary);
}

.np-phase-icon[b-vrcaa9035h] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

.np-phase--revision .np-phase-icon[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-orange) 12%, transparent);
    color: var(--accent-orange);
}

.np-phase--attestation .np-phase-icon[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.np-phase-icon .e-icons[b-vrcaa9035h] {
    font-size: var(--font-size-md);
}

.np-phase-title[b-vrcaa9035h] {
    font-size: var(--font-size-md);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    margin-left: 6px;
}

.np-phase-tagline[b-vrcaa9035h] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0;
    margin-left: 6px;
}

.np-phase-bullets[b-vrcaa9035h] {
    list-style: none;
    padding: 0;
    margin: 4px 0 0 6px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.np-phase-bullets li[b-vrcaa9035h] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    line-height: 1.3;
}

.np-step-pill[b-vrcaa9035h] {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-xs);
    font-weight: 700;
    background: var(--bg-secondary, #f4f5f7);
    color: var(--text-secondary);
}

.np-phase--planif .np-step-pill[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-primary) 14%, transparent);
    color: var(--accent-primary);
}

.np-phase--revision .np-step-pill[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-orange) 14%, transparent);
    color: var(--accent-orange);
}

.np-phase--attestation .np-step-pill[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-success) 14%, transparent);
    color: var(--accent-success);
}

.np-phase-footer[b-vrcaa9035h] {
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px dashed var(--border-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: 6px;
}

.np-phase-target[b-vrcaa9035h] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-primary);
}

.np-phase--revision .np-phase-target[b-vrcaa9035h] { color: var(--accent-orange); }
.np-phase--attestation .np-phase-target[b-vrcaa9035h] { color: var(--accent-success); }

.np-phase-go[b-vrcaa9035h] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--accent-primary);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.np-phase--revision .np-phase-go[b-vrcaa9035h] { background: var(--accent-orange); }
.np-phase--attestation .np-phase-go[b-vrcaa9035h] { background: var(--accent-success); }

.np-phase-lock-msg[b-vrcaa9035h] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-style: italic;
}

/* ============================================================ */
/* TIMELINE                                                     */
/* ============================================================ */
.np-timeline[b-vrcaa9035h] {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-left: 12px;
    border-left: 2px dashed var(--border-color);
    margin-left: 14px;
}

.np-timeline-item[b-vrcaa9035h] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 8px 0 14px 4px;
}

.np-timeline-bullet[b-vrcaa9035h] {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: var(--font-size-sm);
    background: var(--bg-card);
    color: var(--text-secondary);
    border: 2px solid var(--border-color);
    margin-left: -27px;
}

.np-timeline-bullet[data-phase="planif"][b-vrcaa9035h] {
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}

.np-timeline-bullet[data-phase="revision"][b-vrcaa9035h] {
    border-color: var(--accent-orange);
    color: var(--accent-orange);
}

.np-timeline-bullet[data-phase="attestation"][b-vrcaa9035h] {
    border-color: var(--accent-success);
    color: var(--accent-success);
}

.np-timeline-item.is-current .np-timeline-bullet[b-vrcaa9035h] {
    background: var(--accent-primary);
    color: #fff;
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent-primary) 20%, transparent);
}

.np-timeline-item.is-done .np-timeline-bullet[b-vrcaa9035h] {
    background: var(--accent-success);
    color: #fff;
    border-color: var(--accent-success);
}

.np-timeline-card[b-vrcaa9035h] {
    flex: 1;
    padding: 10px 12px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 8px;
}

.np-timeline-card-head[b-vrcaa9035h] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.np-timeline-phase[b-vrcaa9035h] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: var(--font-size-2xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.np-timeline-phase--planif[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

.np-timeline-phase--revision[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-orange) 12%, transparent);
    color: var(--accent-orange);
}

.np-timeline-phase--attestation[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.np-timeline-num[b-vrcaa9035h] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-left: auto;
    font-family: var(--font-monospace);
}

.np-timeline-title[b-vrcaa9035h] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 2px;
}

.np-timeline-desc[b-vrcaa9035h] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.4;
}

/* ============================================================ */
/* TRUST cards                                                  */
/* ============================================================ */
.np-trust-grid[b-vrcaa9035h] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.np-trust-card[b-vrcaa9035h] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.np-trust-icon[b-vrcaa9035h] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.np-trust-icon .e-icons[b-vrcaa9035h] {
    font-size: var(--font-size-lg);
}

.np-trust-card h4[b-vrcaa9035h] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.np-trust-card p[b-vrcaa9035h] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.5;
}

.np-trust-card code[b-vrcaa9035h] {
    background: var(--bg-secondary, #f4f5f7);
    padding: 1px 5px;
    border-radius: 3px;
    font-family: var(--font-monospace);
    font-size: 0.95em;
    color: var(--accent-primary);
}

/* ============================================================ */
/* COLLAPSIBLE LIST                                             */
/* ============================================================ */
.np-list-toggle[b-vrcaa9035h] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 8px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    font-size: var(--font-size-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.np-list-toggle:hover[b-vrcaa9035h] {
    background: var(--bg-secondary, #f4f5f7);
    border-color: color-mix(in srgb, var(--accent-primary) 40%, var(--border-color));
}

.np-list-count[b-vrcaa9035h] {
    margin-left: 4px;
    padding: 1px 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent-primary) 14%, transparent);
    color: var(--accent-primary);
    font-size: var(--font-size-xs);
    font-weight: 700;
}

.np-list-body[b-vrcaa9035h] {
    margin-top: 14px;
    padding: 14px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 8px;
}

/* ============================================================ */
/* HEADER + EMPTY (legacy classes used inside the list)         */
/* ============================================================ */
.missions-header[b-vrcaa9035h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.missions-header-actions[b-vrcaa9035h] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.missions-filter-statut[b-vrcaa9035h] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.missions-filter-label[b-vrcaa9035h] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-secondary);
}

.missions-empty[b-vrcaa9035h] {
    text-align: center;
    padding: 48px 16px;
    color: var(--text-secondary);
}

.missions-empty-icon[b-vrcaa9035h] {
    font-size: 48px;
    color: var(--accent-primary);
    margin-bottom: 12px;
    display: block;
}

.missions-empty h3[b-vrcaa9035h] {
    font-size: var(--font-size-lg);
    margin: 8px 0 4px;
}

/* ============================================================ */
/* Badges (grid templates -> ::deep)                            */
/* ============================================================ */
[b-vrcaa9035h] .mission-type-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    text-transform: uppercase;
}

[b-vrcaa9035h] .type-revision {
    background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
    color: var(--accent-primary);
}

[b-vrcaa9035h] .type-situation {
    background: color-mix(in srgb, var(--accent-orange) 15%, transparent);
    color: var(--accent-orange);
}

[b-vrcaa9035h] .mission-step-badge {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-secondary);
}

[b-vrcaa9035h] .mission-statut-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: var(--font-size-xs);
    font-weight: 500;
}

[b-vrcaa9035h] .statut-planifiee { background: color-mix(in srgb, var(--accent-primary) 10%, transparent); color: var(--accent-primary); }
[b-vrcaa9035h] .statut-en_cours { background: color-mix(in srgb, var(--accent-orange) 10%, transparent); color: var(--accent-orange); }
[b-vrcaa9035h] .statut-terminee { background: color-mix(in srgb, var(--accent-success) 10%, transparent); color: var(--accent-success); }
[b-vrcaa9035h] .statut-cloturee { background: color-mix(in srgb, var(--text-secondary) 10%, transparent); color: var(--text-secondary); }

/* Sprint 26 - Export Excel toast */
.missions-export-msg[b-vrcaa9035h] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 6px;
    margin: 0 0 12px;
    font-size: var(--font-size-sm);
}

.missions-export-msg.is-success[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
    border: 1px solid color-mix(in srgb, var(--accent-success) 30%, transparent);
}

.missions-export-msg.is-error[b-vrcaa9035h] {
    background: color-mix(in srgb, var(--accent-danger) 12%, transparent);
    color: var(--accent-danger);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 30%, transparent);
}
/* _content/Revio.Web/Pages/Missions/MissionAnnexes.razor.rz.scp.css */
.annexes-page[b-kq3cdzn7a0] {
    padding: 24px 32px;
    max-width: 1280px;
    margin: 0 auto;
}

.annexes-header[b-kq3cdzn7a0] {
    margin-bottom: 16px;
}

.annexes-header h2[b-kq3cdzn7a0] {
    font-size: 1.5rem;
    margin: 0 0 4px 0;
}

.annexes-header .hint[b-kq3cdzn7a0] {
    color: var(--text-muted, #6b7280);
    margin: 0;
    font-size: 0.95rem;
}

.annexes-actions[b-kq3cdzn7a0] {
    margin: 16px 0;
}

.annexes-list[b-kq3cdzn7a0] {
    margin-top: 12px;
}

.empty[b-kq3cdzn7a0] {
    padding: 24px;
    text-align: center;
    color: var(--text-muted, #6b7280);
    background: var(--surface-muted, #f9fafb);
    border: 1px dashed var(--border-color, #e5e7eb);
    border-radius: 8px;
}

.revio-table[b-kq3cdzn7a0] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    overflow: hidden;
}

.revio-table th[b-kq3cdzn7a0],
.revio-table td[b-kq3cdzn7a0] {
    padding: 8px 12px;
    text-align: left;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
    font-size: 0.92rem;
}

.revio-table th[b-kq3cdzn7a0] {
    background: var(--surface-muted, #f3f4f6);
    font-weight: 600;
}

.badge[b-kq3cdzn7a0] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.badge-brouillon[b-kq3cdzn7a0] {
    background: #fef3c7;
    color: #92400e;
}

.badge-relue[b-kq3cdzn7a0] {
    background: #dbeafe;
    color: #1e40af;
}

.badge-finale[b-kq3cdzn7a0] {
    background: #dcfce7;
    color: #166534;
}

.badge-archivee[b-kq3cdzn7a0] {
    background: #e5e7eb;
    color: #374151;
}

.annexe-detail[b-kq3cdzn7a0] {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 2px solid var(--border-color, #e5e7eb);
}

.detail-header[b-kq3cdzn7a0] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}

.detail-header h3[b-kq3cdzn7a0] {
    margin: 0;
    font-size: 1.2rem;
    display: flex;
    gap: 12px;
    align-items: center;
}

.detail-actions[b-kq3cdzn7a0] {
    display: flex;
    gap: 8px;
}

.categorie-block[b-kq3cdzn7a0] {
    margin: 24px 0;
    padding: 16px;
    background: var(--surface-muted, #f9fafb);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 10px;
}

.categorie-block h4[b-kq3cdzn7a0] {
    margin: 0 0 12px 0;
    font-size: 1.05rem;
    color: var(--primary-color, #2563eb);
}

.rubrique-card[b-kq3cdzn7a0] {
    background: #fff;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 12px;
}

.rubrique-head[b-kq3cdzn7a0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.rubrique-code[b-kq3cdzn7a0] {
    font-family: 'JetBrains Mono', 'Consolas', monospace;
    font-size: 0.85rem;
    color: var(--primary-color, #2563eb);
    font-weight: 600;
}

.rubrique-label[b-kq3cdzn7a0] {
    flex: 1;
    font-weight: 500;
}

.rubrique-source[b-kq3cdzn7a0] {
    font-size: 0.72rem;
    padding: 2px 6px;
    border-radius: 4px;
    text-transform: uppercase;
    font-weight: 600;
}

.rubrique-source-auto[b-kq3cdzn7a0] {
    background: #ede9fe;
    color: #6d28d9;
}

.rubrique-source-saisie[b-kq3cdzn7a0] {
    background: #fef9c3;
    color: #854d0e;
}

.rubrique-source-mixte[b-kq3cdzn7a0] {
    background: #cffafe;
    color: #0e7490;
}

.rubrique-tag[b-kq3cdzn7a0] {
    font-size: 0.7rem;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 600;
}

.tag-required[b-kq3cdzn7a0] {
    background: #fee2e2;
    color: #991b1b;
}

.tag-auto[b-kq3cdzn7a0] {
    background: #d1fae5;
    color: #065f46;
}

.tag-empty[b-kq3cdzn7a0] {
    background: #fef3c7;
    color: #92400e;
}

.rubrique-diag[b-kq3cdzn7a0] {
    margin-bottom: 6px;
    padding: 6px 8px;
    background: #eff6ff;
    border-left: 3px solid #2563eb;
    color: #1e3a8a;
    font-size: 0.85rem;
    border-radius: 4px;
}

.rubrique-footer[b-kq3cdzn7a0] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
    gap: 12px;
}

.dialog-form[b-kq3cdzn7a0] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 4px 0;
}

.dialog-form label[b-kq3cdzn7a0] {
    font-weight: 600;
    font-size: 0.9rem;
    margin-top: 6px;
}

.dialog-form .auto-field[b-kq3cdzn7a0] {
    padding: 8px 12px;
    background: var(--surface-2, #f3f4f6);
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    font-size: 0.95rem;
    color: var(--text, #111827);
}

/* ============================================================
   Sprint 89 — 3 onglets : Etats financiers / Redaction / Impression CAN
   ============================================================ */

.ca-tab[b-kq3cdzn7a0] {
    margin-top: 16px;
}

.ca-filter-bar[b-kq3cdzn7a0] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    margin-bottom: 12px;
    background: var(--bg-card, #ffffff);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
}

.ca-filter-title[b-kq3cdzn7a0] {
    font-weight: 600;
    color: var(--text-strong, #111827);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ca-filter-spacer[b-kq3cdzn7a0] {
    flex: 1;
}

.ca-checkbox[b-kq3cdzn7a0] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--text, #374151);
}

.ca-checkbox input[type="checkbox"][b-kq3cdzn7a0] {
    cursor: pointer;
}

.ca-checkbox-label[b-kq3cdzn7a0] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.92rem;
    color: var(--text, #374151);
    margin: 8px 0;
}

.ca-loading[b-kq3cdzn7a0] {
    color: var(--accent-primary, #2563eb);
    font-weight: 600;
}

.ca-banner[b-kq3cdzn7a0] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 10px 14px;
    margin-bottom: 16px;
    background: var(--surface-muted, #f9fafb);
    border-left: 3px solid var(--accent-primary, #2563eb);
    border-radius: 6px;
    font-size: 0.9rem;
}

.ca-banner-label[b-kq3cdzn7a0] {
    color: var(--text-muted, #6b7280);
}

.ca-banner-sep[b-kq3cdzn7a0] {
    color: var(--border-color, #d1d5db);
}

.ca-banner-tag[b-kq3cdzn7a0] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    background: var(--accent-primary-soft, #dbeafe);
    color: var(--accent-primary, #1e40af);
    font-size: 0.75rem;
    font-weight: 600;
}

.ca-card[b-kq3cdzn7a0] {
    background: var(--bg-card, #ffffff);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 10px;
    margin-bottom: 16px;
    overflow: hidden;
}

.ca-card-header[b-kq3cdzn7a0] {
    padding: 10px 14px;
    background: var(--surface-muted, #f3f4f6);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--text-strong, #111827);
    letter-spacing: 0.02em;
}

.ca-table[b-kq3cdzn7a0] {
    width: 100%;
    border: 0;
    border-radius: 0;
}

.ca-table th[b-kq3cdzn7a0],
.ca-table td[b-kq3cdzn7a0] {
    padding: 6px 12px;
    font-size: 0.9rem;
}

.ca-num[b-kq3cdzn7a0] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ca-section-header td[b-kq3cdzn7a0] {
    background: var(--surface-muted, #f9fafb);
    font-weight: 600;
    color: var(--text-strong, #1f2937);
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
}

.ca-detail-row td[b-kq3cdzn7a0] {
    background: #fcfcfd;
    color: var(--text-muted, #6b7280);
    font-size: 0.85rem;
    padding-top: 3px;
    padding-bottom: 3px;
}

.ca-detail-label[b-kq3cdzn7a0] {
    padding-left: 28px !important;
    font-family: 'JetBrains Mono', 'Consolas', monospace;
}

.ca-detail-num[b-kq3cdzn7a0] {
    color: var(--text-muted, #6b7280);
}

.ca-total td[b-kq3cdzn7a0] {
    background: var(--surface-muted, #f3f4f6);
    font-weight: 700;
    border-top: 2px solid var(--border-color, #d1d5db);
}

.ca-hint[b-kq3cdzn7a0] {
    margin-top: 12px;
    color: var(--text-muted, #6b7280);
    font-size: 0.88rem;
}

.ca-hint a[b-kq3cdzn7a0] {
    color: var(--accent-primary, #2563eb);
    text-decoration: none;
}

.ca-hint a:hover[b-kq3cdzn7a0] {
    text-decoration: underline;
}

.ca-can-intro[b-kq3cdzn7a0] {
    margin-bottom: 16px;
}

.ca-can-intro h3[b-kq3cdzn7a0] {
    margin: 0 0 6px 0;
    font-size: 1.15rem;
    color: var(--text-strong, #111827);
}

.ca-can-intro code[b-kq3cdzn7a0] {
    background: var(--surface-muted, #f3f4f6);
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 0.85em;
    color: var(--accent-primary, #2563eb);
}

.ca-can-form[b-kq3cdzn7a0] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ca-can-form label[b-kq3cdzn7a0] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-strong, #1f2937);
}

.ca-can-actions[b-kq3cdzn7a0] {
    margin-top: 8px;
}

.ca-result-card[b-kq3cdzn7a0] {
    border-left: 3px solid var(--accent-success, #10b981);
}

.ca-result-grid[b-kq3cdzn7a0] {
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 0.92rem;
}

.ca-result-grid > div[b-kq3cdzn7a0] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ca-result-label[b-kq3cdzn7a0] {
    font-weight: 600;
    color: var(--text-muted, #6b7280);
    min-width: 80px;
}

.ca-result-grid code[b-kq3cdzn7a0] {
    background: var(--surface-muted, #f3f4f6);
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.88em;
    word-break: break-all;
}

.badge-link[b-kq3cdzn7a0] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    background: var(--accent-primary-soft, #dbeafe);
    color: var(--accent-primary, #1e40af);
    font-size: 0.78rem;
    text-decoration: none;
    font-weight: 600;
}

.badge-link:hover[b-kq3cdzn7a0] {
    background: var(--accent-primary, #2563eb);
    color: #ffffff;
}

.ca-loading-row[b-kq3cdzn7a0] {
    padding: 16px;
    color: var(--text-muted, #6b7280);
    font-style: italic;
}

.ca-empty[b-kq3cdzn7a0] {
    padding: 16px;
    color: var(--text-muted, #6b7280);
    font-size: 0.92rem;
    background: var(--surface-muted, #f9fafb);
}

.ca-no-link[b-kq3cdzn7a0] {
    color: var(--text-muted, #9ca3af);
    font-size: 0.85rem;
}
/* _content/Revio.Web/Pages/Missions/MissionAttestation.razor.rz.scp.css */
/* MissionAttestation - scoped styles */

.p-access-denied[b-one41apv0s] { text-align: center; padding: 32px; }
.p-access-denied .e-icons[b-one41apv0s] { font-size: 32px; color: var(--accent-danger); margin-bottom: 12px; }
.p-access-denied h2[b-one41apv0s] { font-size: var(--font-size-xl); color: var(--text-primary); margin: 0 0 8px; }
.p-access-denied p[b-one41apv0s] { color: var(--text-secondary); margin: 0 0 16px; }

/* Hero header - SUPPRIME, fusionne dans topbar hero (MainLayout) */
/* Mini-stepper migre vers RevioTabBar (norme Revio - voir revio-app.css .revio-tab-bar) */

/* Step title bar */
.mission-step-title-bar[b-one41apv0s] { display: flex; align-items: center; gap: 8px; padding: 5px 16px 0; }
.mission-step-title-icon[b-one41apv0s] { font-size: var(--font-size-sm); color: var(--accent-primary); }
.mission-step-title-label[b-one41apv0s] { font-size: var(--font-size-sm); font-weight: 700; color: var(--text-primary); }
.mission-step-title-tag[b-one41apv0s] { display: inline-block; padding: 1px 6px; border-radius: 3px; font-size: var(--font-size-2xs); font-weight: 600; }
.tag-purple[b-one41apv0s] { background: color-mix(in srgb, var(--accent-purple) 12%, transparent); color: var(--accent-purple); }
.tag-blue[b-one41apv0s] { background: color-mix(in srgb, var(--accent-primary) 12%, transparent); color: var(--accent-primary); }
.tag-cyan[b-one41apv0s] { background: color-mix(in srgb, var(--accent-cyan) 12%, transparent); color: var(--accent-cyan); }

/* Content + Placeholder */
.mission-content[b-one41apv0s] { min-height: 300px; padding: 6px 0 12px; }
.mission-placeholder[b-one41apv0s] { text-align: center; padding: 48px 16px; color: var(--text-secondary); }
.mission-placeholder-icon[b-one41apv0s] { font-size: 48px; color: var(--accent-primary); margin-bottom: 12px; display: block; }

/* Nav links */
.mission-nav-links[b-one41apv0s] { display: flex; justify-content: space-between; padding: var(--spacing-md) 0; }
/* _content/Revio.Web/Pages/Missions/MissionGestion.razor.rz.scp.css */
/* MissionGestion - scoped styles (reuses Workflow patterns) */

.p-access-denied[b-3twgg622uo] {
    text-align: center;
    padding: var(--spacing-xl);
}
.p-access-denied .e-icons[b-3twgg622uo] { font-size: var(--font-size-2xl); color: var(--accent-danger); margin-bottom: var(--spacing-sm); }
.p-access-denied h2[b-3twgg622uo] { font-size: var(--font-size-xl); color: var(--text-primary); margin: 0 0 var(--spacing-sm); }
.p-access-denied p[b-3twgg622uo] { color: var(--text-secondary); margin: 0 0 var(--spacing-md); }

/* Module header */
.mission-module-header[b-3twgg622uo] {
    margin-bottom: var(--spacing-md);
}

.mission-module-header-info[b-3twgg622uo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.mission-module-header-info h2[b-3twgg622uo] {
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.mission-module-header-info p[b-3twgg622uo] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0;
}

.mission-module-icon[b-3twgg622uo] {
    font-size: var(--font-size-2xl);
    color: var(--module-color, var(--accent-primary));
}

/* Hero header - SUPPRIME, fusionne dans topbar hero (MainLayout) */

/* Step header KPI bandeau */
.step-header-bar[b-3twgg622uo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
    margin-top: 0;
    margin-bottom: var(--spacing-xs);
    gap: var(--spacing-md);
}

.step-header-left[b-3twgg622uo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.step-header-badge[b-3twgg622uo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--accent-primary);
    color: var(--text-inverse);
    font-size: var(--font-size-xs);
    font-weight: 700;
    flex-shrink: 0;
}

.step-header-title[b-3twgg622uo] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.step-header-tag[b-3twgg622uo] {
    display: inline-block;
    padding: var(--spacing-3xs) var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    text-transform: uppercase;
}

.tag-purple[b-3twgg622uo] {
    background: color-mix(in srgb, var(--accent-purple) 12%, transparent);
    color: var(--accent-purple);
}

.step-header-kpis[b-3twgg622uo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.step-header-kpi[b-3twgg622uo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-2xs);
}

.step-header-kpi .e-icons[b-3twgg622uo] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.step-header-kpi-label[b-3twgg622uo] {
    color: var(--text-secondary);
    font-weight: 500;
}

.step-header-kpi-value[b-3twgg622uo] {
    font-weight: 700;
    font-family: var(--font-monospace);
}

.kpi-ok[b-3twgg622uo] {
    color: var(--accent-success);
}

.kpi-warn[b-3twgg622uo] {
    color: var(--accent-warning);
}

.kpi-bad[b-3twgg622uo] {
    color: var(--accent-danger);
}

.kpi-accent[b-3twgg622uo] {
    color: var(--accent-primary);
}

.kpi-placeholder[b-3twgg622uo] {
    color: var(--text-muted);
}

.step-header-kpi-sep[b-3twgg622uo] {
    width: 1px;
    height: 14px;
    background: var(--border-color);
}

/* Wizard stepper migre vers RevioTabBar (norme Revio - voir revio-app.css .revio-tab-bar) */

/* Content */
.mission-content[b-3twgg622uo] { min-height: 300px; padding: var(--spacing-xs) 0 var(--spacing-sm); }

/* Nav to next sub-screen */
.mission-nav-next[b-3twgg622uo] { display: flex; justify-content: flex-end; padding: var(--spacing-md) 0; }

/* --- Responsive --- */
@media (max-width: 900px) {
    .step-header-bar[b-3twgg622uo] {
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .step-header-kpis[b-3twgg622uo] {
        flex-wrap: wrap;
    }
}
/* _content/Revio.Web/Pages/Missions/MissionRevision.razor.rz.scp.css */
/* MissionRevision - scoped styles */

/* Bandeau planification non validee (read-only banner) */
.revision-banner-warning[b-qtn5vomj1i] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    margin: 12px 14px 0;
    background: color-mix(in srgb, var(--accent-warning, #f59e0b) 10%, var(--bg-card));
    border: 1px solid color-mix(in srgb, var(--accent-warning, #f59e0b) 40%, transparent);
    border-left: 4px solid var(--accent-warning, #f59e0b);
    border-radius: 6px;
    color: var(--text-primary);
    font-size: var(--font-size-sm);
}
.revision-banner-warning .e-icons[b-qtn5vomj1i] { font-size: 20px; color: var(--accent-warning, #f59e0b); flex-shrink: 0; }
.revision-banner-warning-text[b-qtn5vomj1i] { flex: 1; line-height: 1.4; }
.revision-banner-warning-text strong[b-qtn5vomj1i] { display: block; margin-bottom: 2px; }

.p-access-denied[b-qtn5vomj1i] { text-align: center; padding: 32px; }
.p-access-denied .e-icons[b-qtn5vomj1i] { font-size: 32px; color: var(--accent-danger); margin-bottom: 12px; }
.p-access-denied h2[b-qtn5vomj1i] { font-size: var(--font-size-xl); color: var(--text-primary); margin: 0 0 8px; }
.p-access-denied p[b-qtn5vomj1i] { color: var(--text-secondary); margin: 0 0 16px; }

/* Hero header - SUPPRIME, fusionne dans topbar hero (MainLayout) */
/* Mini-stepper migre vers RevioTabBar (norme Revio - voir revio-app.css .revio-tab-bar) */

/* Step title bar */
.mission-step-title-bar[b-qtn5vomj1i] { display: flex; align-items: center; gap: 8px; padding: 5px 16px 0; }
.mission-step-title-icon[b-qtn5vomj1i] { font-size: var(--font-size-sm); color: var(--accent-primary); }
.mission-step-title-label[b-qtn5vomj1i] { font-size: var(--font-size-sm); font-weight: 700; color: var(--text-primary); }
.mission-step-title-tag[b-qtn5vomj1i] { display: inline-block; padding: 1px 6px; border-radius: 3px; font-size: var(--font-size-2xs); font-weight: 600; }
.tag-purple[b-qtn5vomj1i] { background: color-mix(in srgb, var(--accent-purple) 12%, transparent); color: var(--accent-purple); }
.tag-blue[b-qtn5vomj1i] { background: color-mix(in srgb, var(--accent-primary) 12%, transparent); color: var(--accent-primary); }
.tag-cyan[b-qtn5vomj1i] { background: color-mix(in srgb, var(--accent-cyan) 12%, transparent); color: var(--accent-cyan); }

/* Content */
.mission-content[b-qtn5vomj1i] { min-height: 300px; padding: 6px 0 12px; }

/* Nav links */
.mission-nav-links[b-qtn5vomj1i] { display: flex; justify-content: space-between; padding: var(--spacing-md) 0; }
/* _content/Revio.Web/Pages/Missions/NewMissionWizard.razor.rz.scp.css */
/* NewMissionWizard - scoped styles */

/* ═══════════════════════════════════════════════════════════════
   DIALOG OVERRIDES
   ═══════════════════════════════════════════════════════════════ */

[b-5jzg0chskb] .wizard-dialog .e-dlg-content {
    padding: 0;
    overflow-y: auto;
    max-height: 65vh;
}

[b-5jzg0chskb] .wizard-dialog .e-dlg-header-content {
    padding: var(--spacing-sm) var(--spacing-md);
    border-bottom: 1px solid var(--border-color);
}

[b-5jzg0chskb] .wizard-dialog .e-footer-content {
    padding: var(--spacing-sm) var(--spacing-md);
    border-top: 1px solid var(--border-color);
}

/* ═══════════════════════════════════════════════════════════════
   WIZARD HEADER & STEPPER
   ═══════════════════════════════════════════════════════════════ */

.wizard-header[b-5jzg0chskb] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.wizard-title[b-5jzg0chskb] {
    font-family: var(--font-heading);
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.wizard-stepper[b-5jzg0chskb] {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: var(--spacing-xs);
}

.wizard-stepper__step[b-5jzg0chskb] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    flex-shrink: 0;
}

.wizard-stepper__circle[b-5jzg0chskb] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-2xs);
    font-weight: 700;
    background: var(--bg-secondary);
    color: var(--text-muted);
    border: 2px solid var(--border-color);
    transition: all 200ms ease;
    flex-shrink: 0;
}

.wizard-stepper__step.active .wizard-stepper__circle[b-5jzg0chskb] {
    background: var(--accent-primary);
    color: var(--text-inverse);
    border-color: var(--accent-primary);
}

.wizard-stepper__step.completed .wizard-stepper__circle[b-5jzg0chskb] {
    background: var(--accent-success);
    color: var(--text-inverse);
    border-color: var(--accent-success);
}

.wizard-stepper__circle .e-icons[b-5jzg0chskb] {
    font-size: var(--font-size-2xs);
}

.wizard-stepper__label[b-5jzg0chskb] {
    font-size: var(--font-size-2xs);
    font-weight: 400;
    color: var(--text-muted);
    white-space: nowrap;
}

.wizard-stepper__step.active .wizard-stepper__label[b-5jzg0chskb] {
    color: var(--text-primary);
    font-weight: 600;
}

.wizard-stepper__step.completed .wizard-stepper__label[b-5jzg0chskb] {
    color: var(--text-secondary);
}

.wizard-stepper__line[b-5jzg0chskb] {
    width: 16px;
    height: 2px;
    background: var(--border-color);
    margin: 0 var(--spacing-xs);
    flex-shrink: 0;
}

.wizard-stepper__line.completed[b-5jzg0chskb] {
    background: var(--accent-success);
}

/* ═══════════════════════════════════════════════════════════════
   WIZARD CONTENT AREA
   ═══════════════════════════════════════════════════════════════ */

.wizard-content[b-5jzg0chskb] {
    padding: var(--spacing-md);
}

/* ═══════════════════════════════════════════════════════════════
   WIZARD FOOTER
   ═══════════════════════════════════════════════════════════════ */

.wizard-footer[b-5jzg0chskb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

/* ═══════════════════════════════════════════════════════════════
   CREATING / SUCCESS STATES
   ═══════════════════════════════════════════════════════════════ */

.wizard-creating[b-5jzg0chskb] {
    text-align: center;
    padding: var(--spacing-xl) 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
}

.wizard-creating__icon[b-5jzg0chskb] {
    font-size: 28px;
    color: var(--accent-primary);
}

.wizard-success[b-5jzg0chskb] {
    text-align: center;
    padding: var(--spacing-md) 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
}

.wizard-success__icon[b-5jzg0chskb] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.wizard-success__icon .e-icons[b-5jzg0chskb] {
    font-size: 26px;
    color: var(--accent-success);
}

.wizard-success__title[b-5jzg0chskb] {
    font-family: var(--font-heading);
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.wizard-success__label[b-5jzg0chskb] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0;
}

.wizard-success__sp[b-5jzg0chskb] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin: 0;
}

.wizard-success__actions[b-5jzg0chskb] {
    display: flex;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-sm);
}

/* ═══════════════════════════════════════════════════════════════
   STEP SECTIONS
   ═══════════════════════════════════════════════════════════════ */

.step-section[b-5jzg0chskb] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.step-section__title[b-5jzg0chskb] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
}

.step-section__title--spaced[b-5jzg0chskb] {
    margin-top: var(--spacing-md);
}

/* ═══════════════════════════════════════════════════════════════
   STEP 1 - TYPE CARDS
   ═══════════════════════════════════════════════════════════════ */

.step-types[b-5jzg0chskb] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.type-card[b-5jzg0chskb] {
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--border-radius-md);
    border: 2px solid var(--border-color);
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    transition: all 150ms ease;
}

.type-card:hover[b-5jzg0chskb] {
    border-color: color-mix(in srgb, var(--type-color) 50%, transparent);
    background: color-mix(in srgb, var(--type-color) 4%, transparent);
}

.type-card.selected[b-5jzg0chskb] {
    border-color: var(--type-color);
    background: color-mix(in srgb, var(--type-color) 6%, transparent);
}

.type-card__radio[b-5jzg0chskb] {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: var(--font-size-2xs);
    transition: all 150ms ease;
}

.type-card.selected .type-card__radio[b-5jzg0chskb] {
    background: var(--type-color);
    border-color: var(--type-color);
    color: var(--text-inverse);
}

.type-card__content[b-5jzg0chskb] {
    flex: 1;
}

.type-card__label[b-5jzg0chskb] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
}

.type-card.selected .type-card__label[b-5jzg0chskb] {
    color: var(--type-color);
}

.type-card__ref[b-5jzg0chskb] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

/* ═══════════════════════════════════════════════════════════════
   FORM GRID (2 columns)
   ═══════════════════════════════════════════════════════════════ */

.step-form-grid[b-5jzg0chskb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-sm) var(--spacing-md);
}

.form-group[b-5jzg0chskb] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.form-group--full[b-5jzg0chskb] {
    grid-column: 1 / -1;
}

.form-group--team[b-5jzg0chskb] {
    margin-top: var(--spacing-sm);
}

.form-label[b-5jzg0chskb] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-secondary);
}

.form-label.required[b-5jzg0chskb]::after {
    content: " *";
    color: var(--accent-danger);
}

/* ═══════════════════════════════════════════════════════════════
   TEAM CHIPS
   ═══════════════════════════════════════════════════════════════ */

.team-chips[b-5jzg0chskb] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
}

.team-chip[b-5jzg0chskb] {
    padding: 3px var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    border: 1.5px solid var(--border-color);
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: 400;
    cursor: pointer;
    transition: all 150ms ease;
}

.team-chip:hover[b-5jzg0chskb] {
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}

.team-chip.selected[b-5jzg0chskb] {
    border-color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════
   STEP 3 - ACCEPTATION QUESTIONS
   ═══════════════════════════════════════════════════════════════ */

.step3-header[b-5jzg0chskb] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--spacing-sm);
}

.step3-subtitle[b-5jzg0chskb] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    margin-top: 2px;
}

.step3-progress-badge[b-5jzg0chskb] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: 2px var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    white-space: nowrap;
    flex-shrink: 0;
}

.step3-questions[b-5jzg0chskb] {
    max-height: 320px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.section-header[b-5jzg0chskb] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--accent-primary);
    padding: var(--spacing-sm) 0 var(--spacing-xs);
    border-bottom: 1px solid var(--border-light);
}

.section-header:first-child[b-5jzg0chskb] {
    padding-top: 0;
}

.question-row[b-5jzg0chskb] {
    padding: var(--spacing-xs) 0;
    border-bottom: 1px solid var(--border-light);
}

.question-row:last-child[b-5jzg0chskb] {
    border-bottom: none;
}

.question-text[b-5jzg0chskb] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    line-height: 1.5;
    margin-bottom: var(--spacing-xs);
}

.question-ref[b-5jzg0chskb] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

.question-controls[b-5jzg0chskb] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.response-buttons[b-5jzg0chskb] {
    display: flex;
    gap: var(--spacing-xs);
    flex-shrink: 0;
}

.response-btn[b-5jzg0chskb] {
    padding: 3px var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    border: 1.5px solid var(--border-color);
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-weight: 400;
    cursor: pointer;
    transition: all 150ms ease;
}

.response-btn:hover[b-5jzg0chskb] {
    border-color: var(--text-secondary);
}

/* Oui */
.response-btn--oui.selected[b-5jzg0chskb] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    border-color: var(--accent-success);
    color: var(--accent-success);
    font-weight: 600;
}

/* Non */
.response-btn--non.selected[b-5jzg0chskb] {
    background: color-mix(in srgb, var(--accent-danger) 12%, transparent);
    border-color: var(--accent-danger);
    color: var(--accent-danger);
    font-weight: 600;
}

/* N/A */
.response-btn--na.selected[b-5jzg0chskb] {
    background: color-mix(in srgb, var(--text-secondary) 12%, transparent);
    border-color: var(--text-secondary);
    color: var(--text-secondary);
    font-weight: 600;
}

.question-observation[b-5jzg0chskb] {
    flex: 1;
    font-size: var(--font-size-2xs);
    min-width: 0;
}

/* ═══════════════════════════════════════════════════════════════
   STEP 4 - LETTRE DE MISSION ZONES
   ═══════════════════════════════════════════════════════════════ */

.step4-intro[b-5jzg0chskb] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-bottom: var(--spacing-sm);
}

.zone-blue[b-5jzg0chskb] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 20%, transparent);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-sm);
}

.zone-blue__title[b-5jzg0chskb] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--accent-primary);
    margin-bottom: var(--spacing-xs);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.zone-blue__desc[b-5jzg0chskb] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: var(--spacing-sm);
}

.zone-blue__hint[b-5jzg0chskb] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    margin-top: var(--spacing-xs);
}

.zone-gray[b-5jzg0chskb] {
    background: var(--bg-secondary);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
    margin-bottom: var(--spacing-sm);
}

.zone-gray__title[b-5jzg0chskb] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--spacing-xs);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.zone-gray__desc[b-5jzg0chskb] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
    line-height: 1.5;
}

.zone-upload[b-5jzg0chskb] {
    border: 2px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-sm);
    transition: border-color 150ms ease;
}

.zone-upload--ready[b-5jzg0chskb] {
    border-color: var(--accent-success);
}

.zone-upload__title[b-5jzg0chskb] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--spacing-sm);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.zone-upload__file[b-5jzg0chskb] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.zone-upload__file-icon[b-5jzg0chskb] {
    font-size: var(--font-size-2xl);
    color: var(--accent-primary);
}

.zone-upload__file-info[b-5jzg0chskb] {
    flex: 1;
}

.zone-upload__file-name[b-5jzg0chskb] {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
}

.zone-upload__file-size[b-5jzg0chskb] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.zone-upload__remove[b-5jzg0chskb] {
    color: var(--accent-danger);
}

.zone-upload__ready-badge[b-5jzg0chskb] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--accent-success);
    display: flex;
    align-items: center;
    gap: 2px;
}

.zone-upload__dropzone[b-5jzg0chskb] {
    position: relative;
    text-align: center;
    padding: var(--spacing-sm);
}

.zone-upload__input[b-5jzg0chskb] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.zone-upload__dropzone-content[b-5jzg0chskb] {
    pointer-events: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xs);
}

.zone-upload__dropzone-icon[b-5jzg0chskb] {
    font-size: 28px;
    color: var(--text-muted);
}

.zone-upload__dropzone-text[b-5jzg0chskb] {
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--text-primary);
}

.zone-upload__dropzone-sub[b-5jzg0chskb] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

.zone-upload__browse-btn[b-5jzg0chskb] {
    pointer-events: none;
    margin-top: var(--spacing-xs);
}

.zone-upload__error[b-5jzg0chskb] {
    margin-top: var(--spacing-sm);
    font-size: var(--font-size-xs);
    color: var(--accent-danger);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

/* ═══════════════════════════════════════════════════════════════
   STEP 5 - RECAP
   ═══════════════════════════════════════════════════════════════ */

.recap-card[b-5jzg0chskb] {
    background: var(--bg-secondary);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-md);
}

.recap-grid[b-5jzg0chskb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xs) var(--spacing-md);
    font-size: var(--font-size-xs);
}

.recap-item[b-5jzg0chskb] {
    display: flex;
    gap: var(--spacing-xs);
    align-items: baseline;
}

.recap-item--full[b-5jzg0chskb] {
    grid-column: 1 / -1;
}

.recap-label[b-5jzg0chskb] {
    color: var(--text-muted);
    flex-shrink: 0;
}

.recap-label--accent[b-5jzg0chskb] {
    color: var(--text-muted);
}

.recap-value[b-5jzg0chskb] {
    color: var(--text-primary);
    word-break: break-word;
}

.recap-value--accent[b-5jzg0chskb] {
    color: var(--accent-primary);
}

.recap-value--purple[b-5jzg0chskb] {
    color: var(--accent-purple);
}

.recap-badges[b-5jzg0chskb] {
    display: flex;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-sm);
}

.recap-badge[b-5jzg0chskb] {
    flex: 1;
    border-radius: var(--border-radius-md);
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    text-align: center;
}

.alert-danger[b-5jzg0chskb] {
    background: color-mix(in srgb, var(--accent-danger) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 25%, transparent);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-2xs);
    color: var(--accent-danger);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

/* ═══════════════════════════════════════════════════════════════
   INFO BANNER
   ═══════════════════════════════════════════════════════════════ */

.wizard-info-banner[b-5jzg0chskb] {
    background: var(--state-warning-bg);
    border: 1px solid var(--state-warning-border);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-2xs);
    color: var(--state-warning-text);
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-xs);
}

.wizard-info-banner .e-icons[b-5jzg0chskb] {
    margin-top: 1px;
    flex-shrink: 0;
}
/* _content/Revio.Web/Pages/Missions/NPMQQuestionnaire.razor.rz.scp.css */
/* NPMQQuestionnaire - scoped styles (extracted from Step3Synthese.npmq) */

/* --- Card --- */
.npmq-card[b-mpg9gbxrnh] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.npmq-card-header[b-mpg9gbxrnh] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.npmq-card-title[b-mpg9gbxrnh] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.npmq-card-title .e-icons[b-mpg9gbxrnh] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

.npmq-card-actions[b-mpg9gbxrnh] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

.npmq-counter[b-mpg9gbxrnh] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-secondary);
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    background: var(--bg-subtle, #f5f5f5);
}

/* --- Body --- */
.npmq-body[b-mpg9gbxrnh] {
    padding: var(--spacing-sm) 14px;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.npmq-section[b-mpg9gbxrnh] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.npmq-section-title[b-mpg9gbxrnh] {
    margin: 0;
    padding: 6px 10px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
    border-left: 3px solid var(--accent-primary);
    border-radius: 4px;
}

.npmq-item[b-mpg9gbxrnh] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    background: var(--bg-card, #fff);
    transition: opacity 0.15s ease, border-color 0.15s ease;
}

.npmq-item:hover[b-mpg9gbxrnh] {
    border-color: color-mix(in srgb, var(--accent-primary) 30%, var(--border-light));
}

.npmq-item.npmq-non-applicable[b-mpg9gbxrnh] {
    opacity: 0.55;
    background: var(--bg-subtle, #fafafa);
}

.npmq-item-header[b-mpg9gbxrnh] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.npmq-item-label[b-mpg9gbxrnh] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    line-height: 1.35;
}

.npmq-code[b-mpg9gbxrnh] {
    display: inline-block;
    padding: 1px 6px;
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    border-radius: 3px;
    flex-shrink: 0;
}

.npmq-required[b-mpg9gbxrnh] {
    color: var(--accent-danger);
    font-weight: 700;
    cursor: help;
}

.npmq-reference[b-mpg9gbxrnh] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-style: italic;
    padding-left: 2px;
}

/* --- Widget zone --- */
.npmq-item-widget[b-mpg9gbxrnh] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* BOOL radio group - segmented pills */
.npmq-radio-group[b-mpg9gbxrnh] {
    display: inline-flex;
    gap: 0;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    overflow: hidden;
    background: var(--bg-card, #fff);
}

.npmq-radio[b-mpg9gbxrnh] {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    padding: 0;
    margin: 0;
    position: relative;
}

.npmq-radio input[type="radio"][b-mpg9gbxrnh] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.npmq-radio span[b-mpg9gbxrnh] {
    display: inline-block;
    padding: 5px 14px;
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-secondary);
    border-right: 1px solid var(--border-color);
    transition: all 0.15s ease;
    user-select: none;
}

.npmq-radio:last-child span[b-mpg9gbxrnh] {
    border-right: none;
}

.npmq-radio:hover span[b-mpg9gbxrnh] {
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
}

.npmq-radio input[type="radio"]:checked + span[b-mpg9gbxrnh] {
    background: var(--accent-primary);
    color: #fff;
    font-weight: 600;
}

/* Variantes coloriees Oui / Non / NA */
.npmq-radio input[type="radio"][value="Oui"]:checked + span[b-mpg9gbxrnh] {
    background: var(--accent-success);
}

.npmq-radio input[type="radio"][value="Non"]:checked + span[b-mpg9gbxrnh] {
    background: var(--accent-danger);
}

.npmq-radio input[type="radio"][value="NA"]:checked + span[b-mpg9gbxrnh] {
    background: var(--text-muted);
}

.npmq-radio input[type="radio"]:disabled + span[b-mpg9gbxrnh] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* TEXT / ENUM / DATE widgets */
[b-mpg9gbxrnh] .npmq-text {
    width: 100%;
    min-height: 56px;
    font-size: var(--font-size-sm);
    font-family: inherit;
    resize: vertical;
}

[b-mpg9gbxrnh] .npmq-select {
    min-width: 220px;
    max-width: 100%;
    font-size: var(--font-size-sm);
}

[b-mpg9gbxrnh] .npmq-date {
    width: 180px;
    font-size: var(--font-size-sm);
}

/* Commentaire (toutes questions) */
[b-mpg9gbxrnh] .npmq-comment {
    width: 100%;
    font-size: var(--font-size-xs);
}

/* Toggle "Non applicable" */
.npmq-exclude[b-mpg9gbxrnh] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
    cursor: pointer;
    user-select: none;
}

.npmq-exclude input[type="checkbox"][b-mpg9gbxrnh] {
    width: 14px;
    height: 14px;
    accent-color: var(--accent-primary);
    cursor: pointer;
    margin: 0;
}

.npmq-exclude:hover[b-mpg9gbxrnh] {
    color: var(--text-primary);
}

/* Document attendu - pill info */
.npmq-doc[b-mpg9gbxrnh] {
    display: inline-block;
    padding: 3px 10px;
    font-size: var(--font-size-2xs);
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border-radius: 3px;
    width: fit-content;
}

.npmq-footer[b-mpg9gbxrnh] {
    padding: var(--spacing-sm) 14px;
    border-top: 1px solid var(--border-color);
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm);
}

.npmq-meta[b-mpg9gbxrnh] {
    padding: var(--spacing-xs) 14px var(--spacing-sm);
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-style: italic;
}

/* --- Statut badge --- */
.npmq-statut-badge[b-mpg9gbxrnh] {
    display: inline-block;
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

.npmq-statut-badge.statut-complet[b-mpg9gbxrnh] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.npmq-statut-badge.statut-en_cours[b-mpg9gbxrnh] {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
}

/* --- Empty state --- */
.npmq-empty-state[b-mpg9gbxrnh] {
    padding: var(--spacing-xl);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
}

.npmq-empty-state .e-icons[b-mpg9gbxrnh] {
    font-size: 32px;
    color: var(--text-muted);
}
/* _content/Revio.Web/Pages/Missions/Step0Init.razor.rz.scp.css */
/* Step0Init - scoped styles (mockup-aligned, token-only) */

/* --- 2-column grid --- */
.step0-grid[b-emeq48t14o] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-sm);
}

.step0-col[b-emeq48t14o] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

/* --- Card --- */
.step0-card[b-emeq48t14o] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
}

.step0-card-stretch[b-emeq48t14o] {
    flex: 1;
}

.step0-card-header[b-emeq48t14o] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-sm);
}

.step0-card-title[b-emeq48t14o] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.step0-card-title .e-icons[b-emeq48t14o] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

/* --- Readonly tag --- */
.step0-readonly-tag[b-emeq48t14o] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-3xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

.step0-readonly-tag .e-icons[b-emeq48t14o] {
    font-size: var(--font-size-2xs);
}

/* --- Params grid (2x3) --- */
.step0-param-grid[b-emeq48t14o] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-sm);
}

.step0-param-item[b-emeq48t14o] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3xs);
}

.step0-param-label[b-emeq48t14o] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

.step0-param-value[b-emeq48t14o] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    background: var(--bg-secondary);
    border-radius: var(--border-radius-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
    color: var(--text-secondary);
}

/* --- Balance --- */
.step0-balance-status[b-emeq48t14o] {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--border-radius-md);
    margin-bottom: var(--spacing-sm);
}

.step0-balance-status .e-icons[b-emeq48t14o] {
    font-size: var(--font-size-lg);
    flex-shrink: 0;
    margin-top: 1px;
}

.step0-balance-status.status-ok[b-emeq48t14o] {
    background: color-mix(in srgb, var(--accent-success) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-success) 25%, transparent);
}

.step0-balance-status.status-ok .e-icons[b-emeq48t14o] {
    color: var(--accent-success);
}

.step0-balance-status.status-warn[b-emeq48t14o] {
    background: color-mix(in srgb, var(--accent-warning) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, transparent);
}

.step0-balance-status.status-warn .e-icons[b-emeq48t14o] {
    color: var(--accent-warning);
}

.step0-balance-status.status-info[b-emeq48t14o] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent);
}

.step0-balance-status.status-info .e-icons[b-emeq48t14o] {
    color: var(--accent-primary);
}

/* --- Balance action button --- */
.step0-balance-action[b-emeq48t14o] {
    margin-top: var(--spacing-xs);
    display: flex;
    gap: var(--spacing-sm);
}

.step0-balance-title[b-emeq48t14o] {
    display: block;
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-primary);
}

.step0-balance-detail[b-emeq48t14o] {
    display: block;
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
    margin-top: var(--spacing-3xs);
}

.step0-balance-kpis[b-emeq48t14o] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--spacing-sm);
}

.step0-balance-kpi[b-emeq48t14o] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--spacing-sm);
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
    border-radius: var(--border-radius-md);
}

.step0-kpi-value[b-emeq48t14o] {
    font-size: var(--font-size-lg);
    font-weight: 800;
    color: var(--accent-primary);
    font-family: var(--font-monospace);
}

.step0-kpi-label[b-emeq48t14o] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    margin-top: var(--spacing-3xs);
}

/* --- Collecte documents --- */
.step0-doc-counter[b-emeq48t14o] {
    font-size: var(--font-size-2xs);
    font-weight: 700;
    font-family: var(--font-monospace);
}

.counter-ok[b-emeq48t14o] { color: var(--accent-success); }
.counter-warn[b-emeq48t14o] { color: var(--accent-warning); }

.step0-doc-progress[b-emeq48t14o] {
    margin-bottom: var(--spacing-sm);
}

.step0-doc-progress-bar[b-emeq48t14o] {
    width: 100%;
    height: 4px;
    background: var(--bg-secondary);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
}

.step0-doc-progress-fill[b-emeq48t14o] {
    height: 100%;
    border-radius: var(--border-radius-sm);
    transition: width 0.3s;
}

.fill-ok[b-emeq48t14o] { background: var(--accent-success); }
.fill-warn[b-emeq48t14o] { background: var(--accent-warning); }

/* --- Checkbox list --- */
.step0-doc-list[b-emeq48t14o] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3xs);
}

.step0-doc-row[b-emeq48t14o] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    transition: background 0.15s;
}

.step0-doc-row:hover[b-emeq48t14o] {
    background: color-mix(in srgb, var(--accent-primary) 4%, transparent);
}

.step0-doc-row.doc-received[b-emeq48t14o] {
    background: color-mix(in srgb, var(--accent-success) 6%, transparent);
}

.step0-doc-main[b-emeq48t14o] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex: 1;
    min-width: 0;
}

.step0-doc-link[b-emeq48t14o] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: var(--border-radius-sm);
    color: var(--accent-primary);
    text-decoration: none;
    transition: background 0.15s;
}

.step0-doc-link:hover[b-emeq48t14o] {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
}

.step0-doc-link .e-icons[b-emeq48t14o] {
    font-size: var(--font-size-sm);
}

.step0-doc-na[b-emeq48t14o] {
    background: transparent;
    border: 1px solid var(--border-color);
    color: var(--text-muted);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    padding: var(--spacing-3xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: all 0.15s;
}

.step0-doc-na:hover[b-emeq48t14o] {
    border-color: var(--accent-warning);
    color: var(--accent-warning);
}

.step0-doc-na--active[b-emeq48t14o] {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    border-color: var(--accent-warning);
    color: var(--accent-warning);
}

/* Sprint 72-bis : bouton SharePoint sur ligne collecte */
.step0-doc-sp[b-emeq48t14o] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-3xs);
    background: transparent;
    border: 1px solid var(--border-color);
    color: var(--accent-primary);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    padding: var(--spacing-3xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: all 0.15s;
}

.step0-doc-sp:hover[b-emeq48t14o] {
    border-color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
}

.step0-doc-sp .e-icons[b-emeq48t14o] {
    font-size: var(--font-size-xs);
}

/* Sprint 72-bis : balance external action - 2 boutons cote a cote */
.step0-balance-action--row[b-emeq48t14o] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.step0-checkbox[b-emeq48t14o] {
    width: 16px;
    height: 16px;
    border-radius: var(--border-radius-sm);
    border: 2px solid var(--border-color);
    background: var(--bg-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s, border-color 0.15s;
}

.step0-checkbox.checked[b-emeq48t14o] {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
}

.step0-checkbox .e-icons[b-emeq48t14o] {
    font-size: var(--font-size-2xs);
    color: var(--text-inverse);
}

.step0-doc-label[b-emeq48t14o] {
    font-size: var(--font-size-xs);
    color: var(--text-primary);
    flex: 1;
}

.step0-doc-label.doc-pending[b-emeq48t14o] {
    color: var(--text-muted);
}

.step0-doc-requis[b-emeq48t14o] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    flex-shrink: 0;
}

/* --- Tip NP2300 --- */
.step0-tip[b-emeq48t14o] {
    background: var(--state-warning-bg);
    border: 1px solid var(--state-warning-border);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
    margin-top: var(--spacing-sm);
}

.step0-tip-title[b-emeq48t14o] {
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--state-warning-text);
    margin-bottom: var(--spacing-3xs);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.step0-tip-text[b-emeq48t14o] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
    line-height: 1.5;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .step0-grid[b-emeq48t14o] { grid-template-columns: 1fr; }
    .step0-param-grid[b-emeq48t14o] { grid-template-columns: 1fr; }
    .step0-balance-kpis[b-emeq48t14o] { grid-template-columns: 1fr; }
}
/* _content/Revio.Web/Pages/Missions/Step1Planification.razor.rz.scp.css */
/* Step1Planification - scoped styles (mockup aligned) */

/* Sub-tabs migres vers RevioTabBar (norme Revio - voir revio-app.css .revio-tab-bar) */

/* --- Content area --- */
.planif-content[b-rkesjmyc4r] {
    margin-top: 0;
}

/* --- Grid layout (main + sidebar) --- */
.planif-grid[b-rkesjmyc4r] {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 10px;
}

.planif-main[b-rkesjmyc4r] {
    min-width: 0;
}

.planif-sidebar[b-rkesjmyc4r] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* --- Cards --- */
.planif-card[b-rkesjmyc4r] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow: hidden;
}

.planif-card-header[b-rkesjmyc4r] {
    padding: 8px 14px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.planif-card-title[b-rkesjmyc4r] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.planif-card-actions[b-rkesjmyc4r] {
    display: flex;
    gap: 6px;
}

/* --- Sidebar cards --- */
.planif-sidebar-card[b-rkesjmyc4r] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 14px;
}

.planif-sidebar-title[b-rkesjmyc4r] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.planif-sidebar-metric[b-rkesjmyc4r] {
    display: flex;
    justify-content: space-between;
    padding: 3px 0;
    border-bottom: 1px solid var(--border-light);
}

.planif-metric-label[b-rkesjmyc4r] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
}

.planif-metric-value[b-rkesjmyc4r] {
    font-size: var(--font-size-2xs);
    font-weight: 700;
}

.metric-ok[b-rkesjmyc4r] {
    color: var(--accent-success);
}

.metric-danger[b-rkesjmyc4r] {
    color: var(--accent-danger);
}

.planif-sidebar-empty[b-rkesjmyc4r] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
    font-style: italic;
}

/* --- Charge equipe bars --- */
.planif-charge-row[b-rkesjmyc4r] {
    margin-bottom: 6px;
}

.planif-charge-header[b-rkesjmyc4r] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2px;
}

.planif-charge-name[b-rkesjmyc4r] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-primary);
}

.planif-charge-hours[b-rkesjmyc4r] {
    font-size: var(--font-size-2xs);
    font-family: var(--font-monospace);
    color: var(--accent-primary);
}

.planif-charge-bar[b-rkesjmyc4r] {
    height: 5px;
    background: var(--border-light);
    border-radius: 3px;
}

.planif-charge-fill[b-rkesjmyc4r] {
    height: 100%;
    background: var(--accent-primary);
    border-radius: 3px;
    transition: width 0.3s;
}

/* --- Validated card --- */
.planif-validated-card[b-rkesjmyc4r] {
    background: color-mix(in srgb, var(--accent-success) 8%, transparent);
    border-color: color-mix(in srgb, var(--accent-success) 30%, transparent);
}

.planif-validated-label[b-rkesjmyc4r] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--accent-success);
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
}

.planif-validated-detail[b-rkesjmyc4r] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
}

.planif-validate-btn[b-rkesjmyc4r] {
    width: 100%;
    padding: 7px;
    font-size: var(--font-size-xs);
    font-weight: 600;
}

/* --- Programme de travail grid templates --- */
[b-rkesjmyc4r] .planif-xref-code {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--accent-primary);
}

[b-rkesjmyc4r] .planif-section-text {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    max-width: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}

[b-rkesjmyc4r] .planif-label-text {
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-primary);
}

[b-rkesjmyc4r] .planif-objectif-text {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}

[b-rkesjmyc4r] .planif-comptes-text {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

[b-rkesjmyc4r] .planif-initiales {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--accent-primary);
}

[b-rkesjmyc4r] .planif-initiales-muted {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

[b-rkesjmyc4r] .planif-heures {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
}

/* --- Statut badges --- */
[b-rkesjmyc4r] .planif-statut-badge {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: var(--font-size-2xs);
    font-weight: 600;
    text-transform: uppercase;
}

[b-rkesjmyc4r] .statut-pending { background: color-mix(in srgb, var(--text-secondary) 10%, transparent); color: var(--text-secondary); }
[b-rkesjmyc4r] .statut-en_cours { background: color-mix(in srgb, var(--accent-orange) 10%, transparent); color: var(--accent-orange); }
[b-rkesjmyc4r] .statut-fait { background: color-mix(in srgb, var(--accent-success) 10%, transparent); color: var(--accent-success); }

/* --- Couverture balance --- */
.planif-couverture[b-rkesjmyc4r] {
    margin: 8px 14px 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.planif-couverture-bar[b-rkesjmyc4r] {
    height: 8px;
    background: var(--border-light);
    border-radius: 4px;
    overflow: hidden;
}

.planif-couverture-fill[b-rkesjmyc4r] {
    height: 100%;
    background: var(--accent-success);
    border-radius: 4px;
    transition: width 0.3s;
}

.planif-couverture-text[b-rkesjmyc4r] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.planif-couverture-orphelins[b-rkesjmyc4r] {
    font-size: var(--font-size-2xs);
    color: var(--accent-danger);
    font-family: var(--font-monospace);
}

/* --- Balance Xref templates --- */
[b-rkesjmyc4r] .planif-compte-mono {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
}

[b-rkesjmyc4r] .planif-montant {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
}

[b-rkesjmyc4r] .planif-montant-muted {
    color: var(--text-muted);
}

[b-rkesjmyc4r] .planif-montant-neg {
    color: var(--accent-success);
}

[b-rkesjmyc4r] .planif-xref-mapped-btn {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border: 1px solid var(--accent-primary);
    border-radius: 4px;
    padding: 1px 6px;
    cursor: pointer;
}

[b-rkesjmyc4r] .planif-xref-mapped-btn:hover {
    background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
}

[b-rkesjmyc4r] .planif-xref-orphelin {
    color: var(--accent-danger);
    font-size: var(--font-size-2xs);
    font-style: italic;
}

/* --- Validate bar --- */
.planif-validate-bar[b-rkesjmyc4r] {
    display: flex;
    justify-content: flex-end;
    padding: 16px 0;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .planif-grid[b-rkesjmyc4r] { grid-template-columns: 1fr; }
}
/* _content/Revio.Web/Pages/Missions/Step2Cycles.razor.rz.scp.css */
/* Step2Cycles - scoped styles */

/* --- Sub-tabs --- */
.step2-subtabs[b-0nd3fu55qi] {
    margin-bottom: var(--spacing-sm);
}

/* --- Content area --- */
.step2-content[b-0nd3fu55qi] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-sm);
}

/* --- Cards --- */
.step2-card[b-0nd3fu55qi] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.step2-card-header[b-0nd3fu55qi] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.step2-card-title[b-0nd3fu55qi] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.step2-card-title .e-icons[b-0nd3fu55qi] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

.step2-card-actions[b-0nd3fu55qi] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

/* --- Loading zone --- */
.step2-loading-zone[b-0nd3fu55qi] {
    padding: var(--spacing-lg);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-style: italic;
}

/* --- Empty state --- */
.step2-empty-state[b-0nd3fu55qi] {
    padding: var(--spacing-xl);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
}

.step2-empty-state .e-icons[b-0nd3fu55qi] {
    font-size: 32px;
    color: var(--text-muted);
}

/* --- Scoring badge --- */
.step2-scoring-badge[b-0nd3fu55qi] {
    display: inline-block;
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    text-transform: uppercase;
}

.scoring-complet[b-0nd3fu55qi] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.scoring-partiel[b-0nd3fu55qi] {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
}

.scoring-non_rempli[b-0nd3fu55qi] {
    background: color-mix(in srgb, var(--text-secondary) 12%, transparent);
    color: var(--text-secondary);
}

/* --- Questionnaire migre vers SfGrid grouped + CaptionTemplate (norme transverse) ;
   styles globaux .revio-qgrid-* dans wwwroot/css/revio-app.css --- */

/* --- Balance grid templates --- */
[b-0nd3fu55qi] .step2-compte-mono {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
}

[b-0nd3fu55qi] .step2-montant {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
}

[b-0nd3fu55qi] .step2-montant-muted {
    color: var(--text-muted);
}

[b-0nd3fu55qi] .step2-montant-neg {
    color: var(--accent-danger);
}

[b-0nd3fu55qi] .step2-xref-badge {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border: 1px solid var(--accent-primary);
    border-radius: var(--spacing-xs);
    padding: 1px 6px;
}

[b-0nd3fu55qi] .step2-xref-orphelin {
    color: var(--text-muted);
    font-size: var(--font-size-2xs);
}

/* --- Balance total --- */
.step2-balance-total[b-0nd3fu55qi] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.step2-balance-total-value[b-0nd3fu55qi] {
    font-family: var(--font-monospace);
    font-weight: 700;
    color: var(--text-primary);
}

/* --- Conclusion badges (shared by balance + FDT cards) --- */
[b-0nd3fu55qi] .step2-conclusion-badge {
    display: inline-block;
    padding: 1px 6px;
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

[b-0nd3fu55qi] .conclusion-pas_anomalie {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

[b-0nd3fu55qi] .conclusion-en_attente {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
}

[b-0nd3fu55qi] .conclusion-ajustement {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

[b-0nd3fu55qi] .conclusion-na {
    background: color-mix(in srgb, var(--text-secondary) 12%, transparent);
    color: var(--text-secondary);
}

[b-0nd3fu55qi] .conclusion-en_cours {
    background: color-mix(in srgb, var(--accent-cyan) 12%, transparent);
    color: var(--accent-cyan);
}

[b-0nd3fu55qi] .step2-montant-ajust {
    color: var(--accent-primary);
    font-weight: 600;
}

[b-0nd3fu55qi] .step2-conclusion-empty {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-style: italic;
}

/* --- FDT counter --- */
.step2-fdt-counter[b-0nd3fu55qi] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-weight: 600;
}

/* --- FDT cards grid --- */
.step2-fdt-grid[b-0nd3fu55qi] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
}

.step2-fdt-card[b-0nd3fu55qi] {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: 10px 12px;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.step2-fdt-card:hover[b-0nd3fu55qi] {
    border-color: var(--accent-primary);
    box-shadow: var(--shadow-card);
}

.step2-fdt-card:focus-visible[b-0nd3fu55qi] {
    outline: 2px solid var(--accent-primary);
    outline-offset: 2px;
}

.step2-fdt-card.fdt-validated[b-0nd3fu55qi] {
    border-color: color-mix(in srgb, var(--accent-success) 40%, transparent);
    background: color-mix(in srgb, var(--accent-success) 5%, var(--bg-secondary));
}

.step2-fdt-card-header[b-0nd3fu55qi] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-xs);
}

.step2-fdt-xref[b-0nd3fu55qi] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--accent-primary);
}

.step2-fdt-validated-icon[b-0nd3fu55qi] {
    color: var(--accent-success);
    font-size: var(--font-size-sm);
}

.step2-fdt-card-title[b-0nd3fu55qi] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--spacing-xs);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.step2-fdt-card-footer[b-0nd3fu55qi] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-xs);
}

.step2-fdt-prep[b-0nd3fu55qi] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-family: var(--font-monospace);
}

/* --- Evaluations section (IMMOBILISATIONS) --- */
.step2-eval-content[b-0nd3fu55qi] {
    padding: var(--spacing-sm);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.step2-eval-separator[b-0nd3fu55qi] {
    height: 1px;
    background: var(--border-color);
    margin: var(--spacing-sm) 0;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .step2-fdt-grid[b-0nd3fu55qi] {
        grid-template-columns: 1fr;
    }
}
/* _content/Revio.Web/Pages/Missions/Step3Synthese.razor.rz.scp.css */
/* Step3Synthese - scoped styles */

/* --- Content area --- */
.step3-content[b-0x17up2jt0] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-sm);
}

/* --- Cards --- */
.step3-card[b-0x17up2jt0] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.step3-card-header[b-0x17up2jt0] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.step3-card-title[b-0x17up2jt0] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.step3-card-title .e-icons[b-0x17up2jt0] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

.step3-card-actions[b-0x17up2jt0] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

/* --- FDT Counter badge --- */
.step3-fdt-counter[b-0x17up2jt0] {
    display: inline-block;
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

.step3-fdt-counter.counter-complete[b-0x17up2jt0] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.step3-fdt-counter.counter-partial[b-0x17up2jt0] {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
}

/* --- Cycle badge --- */
[b-0x17up2jt0] .step3-cycle-badge {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 30%, transparent);
    border-radius: var(--spacing-xs);
    padding: 1px 6px;
}

/* --- Objectif text --- */
[b-0x17up2jt0] .step3-objectif-text {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

/* --- Conclusion badges (reuse step2 pattern) --- */
[b-0x17up2jt0] .step3-conclusion-badge {
    display: inline-block;
    padding: 1px 6px;
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

[b-0x17up2jt0] .conclusion-pas_anomalie {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

[b-0x17up2jt0] .conclusion-en_attente {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
}

[b-0x17up2jt0] .conclusion-ajustement {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

[b-0x17up2jt0] .conclusion-na {
    background: color-mix(in srgb, var(--text-secondary) 12%, transparent);
    color: var(--text-secondary);
}

[b-0x17up2jt0] .conclusion-en_cours {
    background: color-mix(in srgb, var(--accent-cyan) 12%, transparent);
    color: var(--accent-cyan);
}

[b-0x17up2jt0] .step3-conclusion-empty {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-style: italic;
}

/* --- Status badges --- */
[b-0x17up2jt0] .step3-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

[b-0x17up2jt0] .step3-status-badge.status-validated {
    color: var(--accent-success);
}

[b-0x17up2jt0] .step3-status-badge.status-pending {
    color: var(--accent-warning);
}

[b-0x17up2jt0] .step3-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
}

[b-0x17up2jt0] .step3-status-dot.dot-success {
    background: var(--accent-success);
}

[b-0x17up2jt0] .step3-status-dot.dot-warning {
    background: var(--accent-warning);
}

/* --- Monospace --- */
[b-0x17up2jt0] .step3-mono {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
}

/* --- Montant --- */
[b-0x17up2jt0] .step3-montant {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
}

[b-0x17up2jt0] .step3-montant-bold {
    font-weight: 700;
}

/* --- OD footer (totals) --- */
.step3-od-footer[b-0x17up2jt0] {
    padding: var(--spacing-sm) 14px;
    border-top: 2px solid var(--border-color);
    background: var(--bg-secondary);
}

.step3-od-total-row[b-0x17up2jt0] {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-lg);
    align-items: center;
}

.step3-od-total-label[b-0x17up2jt0] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--text-primary);
}

/* --- Equilibre badge --- */
.step3-equilibre-badge[b-0x17up2jt0] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

.step3-equilibre-badge.equilibre-ok[b-0x17up2jt0] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.step3-equilibre-badge.equilibre-ko[b-0x17up2jt0] {
    background: color-mix(in srgb, var(--accent-danger) 12%, transparent);
    color: var(--accent-danger);
}

/* NPMQ markup -> deplace dans NPMQQuestionnaire.razor / .razor.css (composant reutilisable) */

/* --- Empty state --- */
.step3-empty-state[b-0x17up2jt0] {
    padding: var(--spacing-xl);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
}

.step3-empty-state .e-icons[b-0x17up2jt0] {
    font-size: 32px;
    color: var(--text-muted);
}

/* --- Advance bar --- */
.step3-advance-bar[b-0x17up2jt0] {
    margin-top: var(--spacing-md);
    display: flex;
    justify-content: flex-end;
}
/* _content/Revio.Web/Pages/Missions/Step4RevueAnalytique.razor.rz.scp.css */
/* Step4RevueAnalytique - scoped styles */

/* --- Alerts bar --- */
.step4-alerts-bar[b-7wenxbznnk] {
    margin-bottom: var(--spacing-sm);
}

.step4-alerts-counter[b-7wenxbznnk] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-xs);
    font-weight: 600;
}

.step4-alerts-counter.alerts-none[b-7wenxbznnk] {
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    color: var(--accent-success);
}

.step4-alerts-counter.alerts-ok[b-7wenxbznnk] {
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    color: var(--accent-success);
}

.step4-alerts-counter.alerts-pending[b-7wenxbznnk] {
    background: color-mix(in srgb, var(--accent-danger) 10%, transparent);
    color: var(--accent-danger);
}

/* --- Card --- */
.step4-card[b-7wenxbznnk] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.step4-card-header[b-7wenxbznnk] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.step4-card-title[b-7wenxbznnk] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.step4-card-title .e-icons[b-7wenxbznnk] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

.step4-card-actions[b-7wenxbznnk] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

/* --- Monospace --- */
[b-7wenxbznnk] .step4-mono {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
}

/* --- Montant --- */
[b-7wenxbznnk] .step4-montant {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
}

[b-7wenxbznnk] .step4-montant-muted {
    color: var(--text-muted);
}

[b-7wenxbznnk] .step4-montant-ajust {
    color: var(--accent-primary);
    font-weight: 600;
}

/* --- Variations (convention comptable: positive=rouge, negative=vert) --- */
[b-7wenxbznnk] .step4-variation-pos {
    color: var(--accent-danger);
}

[b-7wenxbznnk] .step4-variation-neg {
    color: var(--accent-success);
}

[b-7wenxbznnk] .step4-variation-alerte {
    color: var(--accent-danger);
    font-weight: 700;
}

/* --- Row alerte highlight --- */
[b-7wenxbznnk] .step4-row-alerte {
    background: color-mix(in srgb, var(--accent-danger) 6%, transparent) !important;
}

[b-7wenxbznnk] .step4-row-alerte:hover {
    background: color-mix(in srgb, var(--accent-danger) 10%, transparent) !important;
}

/* --- Justification input --- */
[b-7wenxbznnk] .step4-justif-input {
    font-size: var(--font-size-2xs);
    padding: 2px 6px;
    max-width: 200px;
}

[b-7wenxbznnk] .step4-justif-text {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
}

/* --- Empty state --- */
.step4-empty-state[b-7wenxbznnk] {
    padding: var(--spacing-xl);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
}

.step4-empty-state .e-icons[b-7wenxbznnk] {
    font-size: 32px;
    color: var(--text-muted);
}

/* --- Advance bar --- */
.step4-advance-bar[b-7wenxbznnk] {
    margin-top: var(--spacing-md);
    display: flex;
    justify-content: flex-end;
}
/* _content/Revio.Web/Pages/Missions/Step5VL.razor.rz.scp.css */
/* Step5VL - scoped styles pour le bloc Calcul VL + ratios AMF */

.step5-vl[b-hkgimjm38x] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.vl-section[b-hkgimjm38x] {
    background: var(--bg-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    padding: var(--spacing-lg);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.vl-section-header[b-hkgimjm38x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
    padding-bottom: var(--spacing-sm);
    border-bottom: 1px solid var(--border-subtle);
}

.vl-section-title[b-hkgimjm38x] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.vl-snapshot-badge[b-hkgimjm38x] {
    padding: 2px 10px;
    border-radius: var(--radius-sm);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.vl-snapshot-badge.status-pending[b-hkgimjm38x] { background: var(--bg-muted); color: var(--text-muted); }
.vl-snapshot-badge.status-encours[b-hkgimjm38x] { background: var(--accent-warning-bg); color: var(--accent-warning); }
.vl-snapshot-badge.status-gele[b-hkgimjm38x]    { background: var(--accent-success-bg); color: var(--accent-success); }

.vl-params-row[b-hkgimjm38x] {
    display: flex;
    align-items: flex-end;
    gap: var(--spacing-lg);
    flex-wrap: wrap;
}

.vl-param[b-hkgimjm38x] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 240px;
}

.vl-param-label[b-hkgimjm38x] {
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.vl-actions[b-hkgimjm38x] {
    display: flex;
    gap: var(--spacing-sm);
}

.vl-numeric[b-hkgimjm38x] {
    width: 240px;
}

.vl-kpis[b-hkgimjm38x] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--spacing-md);
    margin-top: var(--spacing-sm);
}

.vl-kpi[b-hkgimjm38x] {
    background: var(--bg-muted);
    border-radius: var(--radius-sm);
    padding: var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vl-kpi-label[b-hkgimjm38x] {
    font-size: 0.8rem;
    color: var(--text-secondary);
}

.vl-kpi-value[b-hkgimjm38x] {
    font-size: 1.1rem;
    font-weight: 600;
}

.vl-kpi-total[b-hkgimjm38x] {
    background: var(--accent-info-bg);
    color: var(--accent-info);
}

.vl-kpi-highlight[b-hkgimjm38x] {
    background: var(--accent-primary-bg);
    color: var(--accent-primary);
}

.vl-kpi-highlight .vl-kpi-value[b-hkgimjm38x] {
    font-size: 1.25rem;
}

.vl-ratios-title[b-hkgimjm38x] {
    font-size: 0.95rem;
    font-weight: 600;
    margin-top: var(--spacing-sm);
}

.vl-ratios[b-hkgimjm38x] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.vl-ratio[b-hkgimjm38x] {
    display: grid;
    grid-template-columns: 40px 1fr auto auto 28px;
    align-items: center;
    gap: var(--spacing-md);
    padding: 8px var(--spacing-md);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-subtle);
}

.vl-ratio.ratio-ok[b-hkgimjm38x]  { background: var(--accent-success-bg); }
.vl-ratio.ratio-ok .vl-ratio-status[b-hkgimjm38x] { color: var(--accent-success); }

.vl-ratio.ratio-ko[b-hkgimjm38x]  { background: var(--accent-danger-bg); }
.vl-ratio.ratio-ko .vl-ratio-status[b-hkgimjm38x] { color: var(--accent-danger); }

.vl-ratio-code[b-hkgimjm38x] {
    font-weight: 700;
}

.vl-ratio-label[b-hkgimjm38x] {
    font-weight: 500;
}

.vl-ratio-value[b-hkgimjm38x] {
    font-weight: 600;
}

.vl-ratio-seuil[b-hkgimjm38x] {
    color: var(--text-secondary);
    font-size: 0.85rem;
}

.vl-freeze-info[b-hkgimjm38x] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--radius-sm);
    background: var(--accent-success-bg);
    color: var(--accent-success);
    font-size: 0.9rem;
}

.vl-advance-row[b-hkgimjm38x] {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--spacing-md);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--border-subtle);
}

.vl-empty[b-hkgimjm38x] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-lg);
    color: var(--text-secondary);
    background: var(--bg-muted);
    border-radius: var(--radius-sm);
    text-align: center;
    justify-content: center;
}
/* _content/Revio.Web/Pages/Missions/Step6NoteSynthese.razor.rz.scp.css */
/* Step6NoteSynthese - scoped styles pour l'editeur de Note de synthese NP2300 */

.step6-note[b-ep67v20ldf] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

/* --- Header --- */
.ns-header[b-ep67v20ldf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
    flex-wrap: wrap;
    background: var(--bg-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    padding: var(--spacing-md) var(--spacing-lg);
}

.ns-header-left[b-ep67v20ldf] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.ns-header-icon[b-ep67v20ldf] {
    font-size: 1.4rem;
    color: var(--accent-primary);
}

.ns-title[b-ep67v20ldf] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
}

.ns-header-right[b-ep67v20ldf] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.ns-badge[b-ep67v20ldf] {
    padding: 2px 10px;
    border-radius: var(--radius-sm);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.ns-badge.status-brouillon[b-ep67v20ldf] {
    background: var(--bg-muted, #f3f4f6);
    color: var(--text-muted, #6b7280);
    border: 1px solid var(--border-subtle, #e5e7eb);
}

.ns-badge.status-encours[b-ep67v20ldf] {
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
    border: 1px solid rgba(59, 130, 246, 0.25);
}

.ns-badge.status-relue[b-ep67v20ldf] {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
    border: 1px solid rgba(16, 185, 129, 0.25);
}

/* --- Layout sidebar + editor --- */
.ns-layout[b-ep67v20ldf] {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: var(--spacing-lg);
    align-items: start;
}

@media (max-width: 960px) {
    .ns-layout[b-ep67v20ldf] {
        grid-template-columns: 1fr;
    }
}

/* --- Sidebar --- */
.ns-sidebar[b-ep67v20ldf] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--bg-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    padding: var(--spacing-sm);
    position: sticky;
    top: var(--spacing-md);
}

.ns-section-tab[b-ep67v20ldf] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    padding: 8px 10px;
    font-size: 0.9rem;
    color: var(--text-primary);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.ns-section-tab:hover[b-ep67v20ldf] {
    background: var(--bg-hover, #f9fafb);
}

.ns-section-tab.active[b-ep67v20ldf] {
    background: rgba(59, 130, 246, 0.08);
    border-color: rgba(59, 130, 246, 0.35);
    color: #1d4ed8;
    font-weight: 600;
}

.ns-section-index[b-ep67v20ldf] {
    flex: 0 0 auto;
    font-weight: 600;
    color: var(--text-muted, #6b7280);
    min-width: 20px;
}

.ns-section-tab.active .ns-section-index[b-ep67v20ldf] {
    color: inherit;
}

.ns-section-label[b-ep67v20ldf] {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ns-section-check[b-ep67v20ldf] {
    color: var(--accent-success, #10b981);
    font-size: 0.9rem;
}

.ns-section-chip-human[b-ep67v20ldf] {
    flex: 0 0 auto;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
    border: 1px solid rgba(245, 158, 11, 0.25);
}

/* --- Editor --- */
.ns-editor[b-ep67v20ldf] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    background: var(--bg-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    padding: var(--spacing-lg);
    min-height: 460px;
}

.ns-editor-header[b-ep67v20ldf] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
    padding-bottom: var(--spacing-sm);
    border-bottom: 1px solid var(--border-subtle, #e5e7eb);
}

.ns-editor-title[b-ep67v20ldf] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.ns-chip[b-ep67v20ldf] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    font-weight: 600;
}

.ns-chip-info[b-ep67v20ldf] {
    background: rgba(59, 130, 246, 0.1);
    color: #1d4ed8;
    border: 1px solid rgba(59, 130, 246, 0.25);
}

.ns-chip-warning[b-ep67v20ldf] {
    background: rgba(245, 158, 11, 0.1);
    color: #b45309;
    border: 1px solid rgba(245, 158, 11, 0.25);
}

.ns-editor-actions[b-ep67v20ldf] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--spacing-sm);
    padding-top: var(--spacing-sm);
    border-top: 1px solid var(--border-subtle, #e5e7eb);
}

.ns-readonly-hint[b-ep67v20ldf] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: var(--text-muted, #6b7280);
    font-style: italic;
}

/* --- Validation info --- */
.ns-validation-info[b-ep67v20ldf] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px var(--spacing-md);
    border-radius: var(--radius-md);
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.25);
    color: #047857;
    font-size: 0.9rem;
    font-weight: 500;
}
/* _content/Revio.Web/Pages/Missions/Step7Attestation.razor.rz.scp.css */
/* Step7Attestation - scoped styles pour l'attestation NP2300 step 7 */

.step7-att[b-lmblurcp3p] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

/* --- Header --- */
.att-header[b-lmblurcp3p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
    flex-wrap: wrap;
    background: var(--bg-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    padding: var(--spacing-md) var(--spacing-lg);
}

.att-header-left[b-lmblurcp3p] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.att-header-icon[b-lmblurcp3p] {
    font-size: 1.4rem;
    color: var(--accent-success);
}

.att-title[b-lmblurcp3p] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.att-badge[b-lmblurcp3p] {
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.att-badge-draft[b-lmblurcp3p] {
    background: rgba(107, 114, 128, 0.16);
    color: #6b7280;
}

.att-badge-signed[b-lmblurcp3p] {
    background: rgba(34, 197, 94, 0.18);
    color: #166534;
}

/* --- Grid layout --- */
.att-grid[b-lmblurcp3p] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
}

.att-card[b-lmblurcp3p] {
    background: var(--bg-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    padding: var(--spacing-lg);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.att-card-wide[b-lmblurcp3p] {
    grid-column: 1 / -1;
}

.att-card-header[b-lmblurcp3p] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.att-card-icon[b-lmblurcp3p] {
    font-size: 1.2rem;
    color: var(--accent-primary);
}

.att-card-title[b-lmblurcp3p] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
}

.att-counter[b-lmblurcp3p] {
    font-weight: 600;
    font-size: 0.85rem;
    padding: 4px 10px;
    border-radius: var(--radius-sm);
}

.att-counter-ok[b-lmblurcp3p] {
    background: rgba(34, 197, 94, 0.16);
    color: #166534;
}

.att-counter-nok[b-lmblurcp3p] {
    background: rgba(239, 68, 68, 0.16);
    color: #991b1b;
}

/* --- Bouclage list --- */
.bcl-list[b-lmblurcp3p] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.bcl-item[b-lmblurcp3p] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm);
    border-radius: var(--radius-sm);
    background: var(--bg-subtle);
}

.bcl-badge[b-lmblurcp3p] {
    font-weight: 700;
    font-size: 0.7rem;
    padding: 3px 8px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    min-width: 36px;
    text-align: center;
}

.bcl-badge-ok[b-lmblurcp3p] {
    background: rgba(34, 197, 94, 0.18);
    color: #166534;
}

.bcl-badge-nok[b-lmblurcp3p] {
    background: rgba(239, 68, 68, 0.18);
    color: #991b1b;
}

.bcl-badge-na[b-lmblurcp3p] {
    background: rgba(107, 114, 128, 0.18);
    color: #4b5563;
}

.bcl-item-content[b-lmblurcp3p] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.bcl-libelle[b-lmblurcp3p] {
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--text-primary);
}

.bcl-detail[b-lmblurcp3p] {
    font-size: 0.78rem;
    color: var(--text-secondary);
}

.bcl-link[b-lmblurcp3p] {
    font-size: 0.78rem;
    color: var(--accent-primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.bcl-link:hover[b-lmblurcp3p] {
    text-decoration: underline;
}

/* --- Form attestation --- */
.att-form[b-lmblurcp3p] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.att-form-label[b-lmblurcp3p] {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.att-human-only[b-lmblurcp3p] {
    font-size: 0.7rem;
    background: rgba(245, 158, 11, 0.18);
    color: #92400e;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 600;
}

.att-type-row[b-lmblurcp3p] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.att-type-pill[b-lmblurcp3p] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid var(--border-default);
    border-radius: 999px;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all .15s;
    background: var(--bg-card);
}

.att-type-pill input[b-lmblurcp3p] {
    accent-color: var(--accent-primary);
}

.att-type-pill.selected[b-lmblurcp3p] {
    border-color: var(--accent-primary);
    background: rgba(59, 130, 246, 0.10);
}

.att-type-pill.disabled[b-lmblurcp3p] {
    opacity: 0.5;
    cursor: not-allowed;
}

.att-type-label[b-lmblurcp3p] {
    color: var(--text-secondary);
}

.att-hint[b-lmblurcp3p] {
    margin: 0;
    font-size: 0.78rem;
    display: flex;
    align-items: center;
    gap: 6px;
}

.att-hint-warn[b-lmblurcp3p] {
    color: #92400e;
}

.att-decision-row[b-lmblurcp3p] {
    display: flex;
    gap: var(--spacing-sm);
}

.att-decision[b-lmblurcp3p] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: 0.85rem;
    background: var(--bg-card);
}

.att-decision.selected[b-lmblurcp3p] {
    border-color: var(--accent-primary);
    background: rgba(59, 130, 246, 0.10);
}

.att-form-actions[b-lmblurcp3p] {
    display: flex;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.att-signed-info[b-lmblurcp3p] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: var(--spacing-sm) var(--spacing-md);
    background: rgba(34, 197, 94, 0.10);
    border-left: 3px solid #16a34a;
    border-radius: var(--radius-sm);
    font-size: 0.85rem;
    color: var(--text-primary);
}

.att-docx-link[b-lmblurcp3p] {
    margin-left: auto;
    color: var(--accent-primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
}

.att-docx-link:hover[b-lmblurcp3p] {
    text-decoration: underline;
}

/* --- Preview Par.22 --- */
.att-preview-grid[b-lmblurcp3p] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px var(--spacing-md);
    margin: 0;
}

.att-preview-grid dt[b-lmblurcp3p] {
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.82rem;
}

.att-preview-grid dd[b-lmblurcp3p] {
    margin: 0;
    color: var(--text-primary);
    font-size: 0.85rem;
}

.att-par22[b-lmblurcp3p] {
    background: var(--bg-subtle);
    padding: var(--spacing-md);
    border-radius: var(--radius-sm);
    border-left: 3px solid var(--accent-primary);
    font-size: 0.88rem;
    line-height: 1.5;
    color: var(--text-primary);
}

.att-par22 strong[b-lmblurcp3p] {
    color: var(--text-primary);
}

.att-par22 p[b-lmblurcp3p] {
    margin: 0 0 var(--spacing-sm) 0;
}

.att-par22 p:last-child[b-lmblurcp3p] {
    margin-bottom: 0;
}

/* --- NPMQ Cloture list --- #BL19 styles importes du questionnaire NPMQ
   pour coherence visuelle avec le step Maintien (Step3Synthese) */

.npmq-section[b-lmblurcp3p] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
}

.npmq-section-title[b-lmblurcp3p] {
    margin: 0;
    padding: 6px 10px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
    border-left: 3px solid var(--accent-primary);
    border-radius: 4px;
}

.npmq-list[b-lmblurcp3p] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.npmq-item[b-lmblurcp3p] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--border-light, var(--border-default));
    border-radius: 6px;
    background: var(--bg-card, #fff);
    transition: opacity 0.15s ease, border-color 0.15s ease;
}

.npmq-item:hover[b-lmblurcp3p] {
    border-color: color-mix(in srgb, var(--accent-primary) 30%, var(--border-default));
}

.npmq-item.npmq-non-applicable[b-lmblurcp3p] {
    opacity: 0.55;
    background: var(--bg-subtle, #fafafa);
}

.npmq-item-header[b-lmblurcp3p] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
}

.npmq-code[b-lmblurcp3p] {
    display: inline-block;
    padding: 1px 6px;
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: var(--font-size-2xs, 0.7rem);
    font-weight: 600;
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    border-radius: 3px;
    flex-shrink: 0;
}

.npmq-libelle[b-lmblurcp3p] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    line-height: 1.35;
}

.npmq-required[b-lmblurcp3p] {
    color: var(--accent-danger, #dc2626);
    font-weight: 700;
    cursor: help;
}

.npmq-reference[b-lmblurcp3p] {
    font-size: var(--font-size-2xs, 0.7rem);
    color: var(--text-muted);
    font-style: italic;
    padding-left: 2px;
}

.npmq-widget[b-lmblurcp3p] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* BOOL radio group - segmented pills */
.npmq-radio-group[b-lmblurcp3p] {
    display: inline-flex;
    gap: 0;
    border: 1px solid var(--border-default);
    border-radius: 6px;
    overflow: hidden;
    background: var(--bg-card, #fff);
}

.npmq-radio[b-lmblurcp3p] {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    padding: 0;
    margin: 0;
    position: relative;
}

.npmq-radio input[type="radio"][b-lmblurcp3p] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.npmq-radio span[b-lmblurcp3p] {
    display: inline-block;
    padding: 5px 14px;
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-secondary);
    border-right: 1px solid var(--border-default);
    transition: all 0.15s ease;
    user-select: none;
}

.npmq-radio:last-child span[b-lmblurcp3p] {
    border-right: none;
}

.npmq-radio:hover span[b-lmblurcp3p] {
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
}

.npmq-radio input[type="radio"]:checked + span[b-lmblurcp3p] {
    background: var(--accent-primary);
    color: #fff;
    font-weight: 600;
}

.npmq-radio input[type="radio"][value="Oui"]:checked + span[b-lmblurcp3p] {
    background: var(--accent-success, #16a34a);
}

.npmq-radio input[type="radio"][value="Non"]:checked + span[b-lmblurcp3p] {
    background: var(--accent-danger, #dc2626);
}

.npmq-radio input[type="radio"][value="NA"]:checked + span[b-lmblurcp3p] {
    background: var(--text-muted, #6b7280);
}

.npmq-radio input[type="radio"]:disabled + span[b-lmblurcp3p] {
    cursor: not-allowed;
    opacity: 0.6;
}

.npmq-text[b-lmblurcp3p] {
    width: 100%;
    min-height: 56px;
    font-size: var(--font-size-sm);
    font-family: inherit;
    resize: vertical;
}

.npmq-select[b-lmblurcp3p] {
    min-width: 220px;
    max-width: 100%;
    font-size: var(--font-size-sm);
}

.npmq-date[b-lmblurcp3p] {
    width: 180px;
    font-size: var(--font-size-sm);
}

.npmq-comment[b-lmblurcp3p] {
    width: 100%;
    font-size: var(--font-size-xs);
}

.npmq-exclude[b-lmblurcp3p] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-2xs, 0.7rem);
    color: var(--text-secondary);
    cursor: pointer;
    user-select: none;
}

.npmq-exclude input[type="checkbox"][b-lmblurcp3p] {
    width: 14px;
    height: 14px;
    accent-color: var(--accent-primary);
    cursor: pointer;
    margin: 0;
}

.npmq-exclude:hover[b-lmblurcp3p] {
    color: var(--text-primary);
}

/* #BL20 - Toggle Presence CAC */
.att-cac-toggle[b-lmblurcp3p] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--spacing-md);
    background: var(--bg-elevated, #f8fafc);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    cursor: pointer;
    margin-bottom: var(--spacing-md);
}

.att-cac-toggle input[type="checkbox"][b-lmblurcp3p] {
    width: 16px;
    height: 16px;
    accent-color: var(--accent-primary);
    margin-right: 8px;
    vertical-align: middle;
}

.att-cac-hint[b-lmblurcp3p] {
    color: var(--text-secondary);
    font-size: 0.85rem;
    margin-left: 24px;
}

@media (max-width: 1100px) {
    .att-grid[b-lmblurcp3p] {
        grid-template-columns: 1fr;
    }
}
/* _content/Revio.Web/Pages/Missions/Step8Cloture.razor.rz.scp.css */
/* Step8Cloture - scoped styles pour la cloture mission step 8
   #BL21 - Mise en page coherente avec Step7Attestation */

.step8-cloture[b-ztn0anai6s] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.step8-loading[b-ztn0anai6s] {
    padding: var(--spacing-xl);
    text-align: center;
    color: var(--text-secondary);
}

.step8-layout[b-ztn0anai6s] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

/* --- Cards --- */
.step8-card[b-ztn0anai6s] {
    background: var(--bg-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    padding: var(--spacing-lg);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.step8-card-title[b-ztn0anai6s] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.step8-card-desc[b-ztn0anai6s] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

/* --- KPIs synthese --- */
.step8-kpis[b-ztn0anai6s] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--spacing-md);
}

.step8-kpi[b-ztn0anai6s] {
    background: var(--bg-subtle);
    border-radius: var(--radius-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 64px;
}

.step8-kpi-label[b-ztn0anai6s] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
    font-weight: 600;
}

.step8-kpi-value[b-ztn0anai6s] {
    font-size: 0.95rem;
    color: var(--text-primary);
    font-weight: 600;
}

/* Statut couleurs (mission) */
.step8-statut-en_cours[b-ztn0anai6s] {
    color: #b45309;
}

.step8-statut-cloturee[b-ztn0anai6s] {
    color: #166534;
}

.step8-statut-planifiee[b-ztn0anai6s] {
    color: #6b7280;
}

/* --- Badges (attestation, etc.) --- */
.step8-badge[b-ztn0anai6s] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.step8-badge-ok[b-ztn0anai6s] {
    background: rgba(34, 197, 94, 0.18);
    color: #166534;
}

.step8-badge-warn[b-ztn0anai6s] {
    background: rgba(245, 158, 11, 0.20);
    color: #92400e;
}

/* --- Lien dossier clos --- */
.step8-link-row[b-ztn0anai6s] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: var(--spacing-sm) var(--spacing-md);
    background: rgba(34, 197, 94, 0.10);
    border-left: 3px solid #16a34a;
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
}

.step8-link-row a[b-ztn0anai6s] {
    color: var(--accent-primary);
    text-decoration: none;
    font-weight: 600;
}

.step8-link-row a:hover[b-ztn0anai6s] {
    text-decoration: underline;
}

.step8-link-icon[b-ztn0anai6s] {
    color: #16a34a;
}

/* --- Actions (boutons) --- */
.step8-actions[b-ztn0anai6s] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

/* --- Cloture info (mission CLOTUREE) --- */
.step8-cloture-info[b-ztn0anai6s] {
    background: var(--bg-subtle);
    border-radius: var(--radius-sm);
    padding: var(--spacing-md);
    font-size: 0.9rem;
    color: var(--text-primary);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.step8-cloture-info strong[b-ztn0anai6s] {
    color: var(--text-primary);
}

.step8-reopened[b-ztn0anai6s] {
    margin-top: var(--spacing-sm);
    padding-top: var(--spacing-sm);
    border-top: 1px dashed var(--border-default);
    font-size: 0.85rem;
    color: var(--text-secondary);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.step8-reopened em[b-ztn0anai6s] {
    font-style: italic;
}

/* --- Reopen / rollback dialogs --- */
.step8-motif-count[b-ztn0anai6s] {
    font-size: 0.75rem;
    color: var(--text-secondary);
    margin-top: 4px;
    text-align: right;
}

.step8-rollback-warn[b-ztn0anai6s] {
    background: rgba(245, 158, 11, 0.15);
    border-left: 3px solid #f59e0b;
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--radius-sm);
    font-size: 0.85rem;
    color: #92400e;
    margin: var(--spacing-sm) 0;
}

.step8-rollback-form[b-ztn0anai6s] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: var(--spacing-md);
}

.step8-rollback-form label[b-ztn0anai6s] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-primary);
}

@media (max-width: 720px) {
    .step8-kpis[b-ztn0anai6s] {
        grid-template-columns: 1fr 1fr;
    }
}
/* _content/Revio.Web/Pages/Missions/TabBalance.razor.rz.scp.css */
/* TabBalance - scoped styles */

/* --- Card --- */
.tab-balance-card[b-l948o10tqj] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.tab-balance-card-header[b-l948o10tqj] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.tab-balance-card-title[b-l948o10tqj] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.tab-balance-card-title .e-icons[b-l948o10tqj] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

.tab-balance-card-actions[b-l948o10tqj] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
    flex-wrap: wrap;
}

/* --- Status badge --- */
.tab-balance-status-badge[b-l948o10tqj] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

.tab-balance-status-badge.status-disponible[b-l948o10tqj] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.tab-balance-status-badge.status-non-importee[b-l948o10tqj] {
    background: color-mix(in srgb, var(--accent-warning) 12%, transparent);
    color: var(--accent-warning);
}

.tab-balance-status-dot[b-l948o10tqj] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
}

.tab-balance-status-dot.dot-success[b-l948o10tqj] {
    background: var(--accent-success);
}

.tab-balance-status-dot.dot-warning[b-l948o10tqj] {
    background: var(--accent-warning);
}

/* --- Body --- */
.tab-balance-body[b-l948o10tqj] {
    padding: var(--spacing-md) 14px;
}

/* --- Info grid --- */
.tab-balance-info-grid[b-l948o10tqj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--spacing-md);
}

.tab-balance-info-item[b-l948o10tqj] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.tab-balance-info-label[b-l948o10tqj] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tab-balance-info-value[b-l948o10tqj] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    font-weight: 600;
}

/* --- Monospace for numbers --- */
.tab-balance-mono[b-l948o10tqj] {
    font-family: var(--font-monospace);
}

/* --- Tenue badge --- */
.tab-balance-tenue-badge[b-l948o10tqj] {
    display: inline-block;
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    width: fit-content;
}

.tab-balance-tenue-badge.tenue-interne[b-l948o10tqj] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
}

.tab-balance-tenue-badge.tenue-externe[b-l948o10tqj] {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

/* --- Empty state --- */
.tab-balance-empty-state[b-l948o10tqj] {
    padding: var(--spacing-xl);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
}

.tab-balance-empty-state .e-icons[b-l948o10tqj] {
    font-size: var(--font-size-2xl);
    color: var(--text-muted);
}

/* --- Import options in empty state --- */
.tab-balance-import-options[b-l948o10tqj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-xs);
}

.tab-balance-import-alt[b-l948o10tqj] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-style: italic;
    text-align: center;
    max-width: 400px;
    line-height: 1.5;
}

/* --- Actions section --- */
.tab-balance-actions-section[b-l948o10tqj] {
    margin-top: var(--spacing-sm);
}

/* --- Tip card --- */
.tab-balance-tip[b-l948o10tqj] {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm);
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 20%, transparent);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-bottom: var(--spacing-md);
    line-height: 1.5;
}

.tab-balance-tip-icon[b-l948o10tqj] {
    color: var(--accent-primary);
    font-size: var(--font-size-sm);
    flex-shrink: 0;
    margin-top: 1px;
}

/* --- Action bar --- */
.tab-balance-action-bar[b-l948o10tqj] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

/* --- Hint text --- */
.tab-balance-hint[b-l948o10tqj] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-style: italic;
}

.tab-balance-hint .e-icons[b-l948o10tqj] {
    font-size: var(--font-size-xs);
}

/* ===================================================================
   Section 3 : Balance generale & Xref Table
   =================================================================== */

.tab-balance-xref-section[b-l948o10tqj] {
    margin-top: var(--spacing-sm);
}

/* --- Xref stats in card header --- */
.xref-stats[b-l948o10tqj] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.xref-stat-item[b-l948o10tqj] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.xref-stat-label[b-l948o10tqj] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.xref-stat-value[b-l948o10tqj] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--text-primary);
}

.xref-stat-orphan[b-l948o10tqj] {
    color: var(--accent-danger);
}

.xref-stat-separator[b-l948o10tqj] {
    width: 1px;
    height: 16px;
    background: var(--border-color);
}

/* --- Coverage progress bar --- */
.xref-coverage-bar-container[b-l948o10tqj] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
}

.xref-coverage-header[b-l948o10tqj] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-xs);
}

.xref-coverage-label[b-l948o10tqj] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.xref-coverage-pct[b-l948o10tqj] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--accent-primary);
}

.xref-coverage-track[b-l948o10tqj] {
    height: 6px;
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    border-radius: 3px;
    overflow: hidden;
}

.xref-coverage-fill[b-l948o10tqj] {
    height: 100%;
    background: var(--accent-primary);
    border-radius: 3px;
    transition: width 0.4s ease;
    min-width: 0;
}

/* --- Xref grid wrapper (max height + scroll) --- */
.xref-grid-wrapper[b-l948o10tqj] {
    max-height: 460px;
    overflow-y: auto;
}

/* --- Compte column (monospace bold) --- */
.xref-compte[b-l948o10tqj] {
    font-family: var(--font-monospace);
    font-weight: 600;
    font-size: var(--font-size-xs);
    color: var(--text-primary);
}

/* --- Montant columns (monospace) --- */
.xref-montant[b-l948o10tqj] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
}

.xref-montant-muted[b-l948o10tqj] {
    color: var(--text-secondary);
}

.xref-montant-bold[b-l948o10tqj] {
    font-weight: 700;
    color: var(--text-primary);
}

/* --- Variation colors --- */
.xref-variation-positive[b-l948o10tqj] {
    color: var(--accent-success);
    font-weight: 600;
}

.xref-variation-negative[b-l948o10tqj] {
    color: var(--accent-danger);
    font-weight: 600;
}

.xref-variation-zero[b-l948o10tqj] {
    color: var(--text-muted);
}

/* --- Xref FDT tag --- */
.xref-fdt-tag[b-l948o10tqj] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
    color: var(--accent-primary);
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.xref-fdt-tag .e-icons[b-l948o10tqj] {
    font-size: var(--font-size-2xs);
    flex-shrink: 0;
}

/* --- Orphan tag --- */
.xref-orphan-tag[b-l948o10tqj] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    background: color-mix(in srgb, var(--accent-danger) 12%, transparent);
    color: var(--accent-danger);
}

/* --- Orphan row highlight via RowDataBound --- */
[b-l948o10tqj] .xref-row-orphan {
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent) !important;
}

[b-l948o10tqj] .xref-row-orphan:hover {
    background: color-mix(in srgb, var(--accent-danger) 14%, transparent) !important;
}

/* --- Small button variant for action column --- */
.revio-btn-xs[b-l948o10tqj] {
    padding: 2px var(--spacing-sm);
    font-size: var(--font-size-2xs);
    min-height: 24px;
}

/* --- Assign FDT modal --- */
.revio-modal-backdrop[b-l948o10tqj] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}

.revio-modal[b-l948o10tqj] {
    background: var(--bg-card);
    border-radius: var(--border-radius-md);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
    width: min(560px, 92vw);
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.revio-modal-header[b-l948o10tqj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-md) var(--spacing-lg);
    border-bottom: 1px solid var(--border-color);
}

.revio-modal-header h3[b-l948o10tqj] {
    margin: 0;
    font-size: var(--font-size-md);
    font-weight: 600;
}

.revio-modal-close[b-l948o10tqj] {
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: var(--font-size-lg);
    line-height: 1;
    color: var(--text-secondary);
    padding: 4px 8px;
}

.revio-modal-close:hover[b-l948o10tqj] {
    color: var(--text-primary);
}

.revio-modal-body[b-l948o10tqj] {
    padding: var(--spacing-lg);
    overflow-y: auto;
}

.revio-modal-footer[b-l948o10tqj] {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm);
    padding: var(--spacing-md) var(--spacing-lg);
    border-top: 1px solid var(--border-color);
    background: var(--bg-subtle, transparent);
}

.assign-modal-libelle[b-l948o10tqj] {
    color: var(--text-secondary);
    margin: 0 0 var(--spacing-md) 0;
    font-size: var(--font-size-sm);
}

.assign-modal-field[b-l948o10tqj] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.assign-modal-field label[b-l948o10tqj] {
    font-size: var(--font-size-sm);
    font-weight: 500;
}

.assign-modal-select[b-l948o10tqj] {
    width: 100%;
    padding: var(--spacing-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-sm);
    background: var(--bg-input, var(--bg-card));
    font-size: var(--font-size-sm);
}

.assign-modal-error[b-l948o10tqj] {
    margin-top: var(--spacing-md);
    padding: var(--spacing-sm) var(--spacing-md);
    background: #fee2e2;
    color: #991b1b;
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
}
/* _content/Revio.Web/Pages/Missions/TabEquipe.razor.rz.scp.css */
/* TabEquipe - scoped styles */

/* === Sprint 63 : Responsables (EC signataire + Chef de mission) === */
.equipe-leadership-card[b-2bc4uy7jxm] {
    margin-bottom: var(--spacing-md);
}

.equipe-leadership-body[b-2bc4uy7jxm] {
    padding: var(--spacing-md);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md);
}

@media (max-width: 768px) {
    .equipe-leadership-body[b-2bc4uy7jxm] {
        grid-template-columns: 1fr;
    }
}

.equipe-leadership-field[b-2bc4uy7jxm] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.equipe-leadership-label[b-2bc4uy7jxm] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 4px;
}

.equipe-leadership-required[b-2bc4uy7jxm] {
    color: var(--accent-danger);
    font-weight: 700;
}

.equipe-leadership-hint[b-2bc4uy7jxm] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    margin-top: 2px;
}

[b-2bc4uy7jxm] .equipe-leadership-dropdown {
    font-size: var(--font-size-xs);
    background: var(--input-bg);
    border-radius: var(--border-radius-sm);
}

.equipe-leadership-actions[b-2bc4uy7jxm] {
    padding: var(--spacing-sm) var(--spacing-md);
    border-top: 1px solid var(--border-color);
    background: var(--bg-secondary);
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm);
}

.equipe-leadership-badge[b-2bc4uy7jxm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

.equipe-leadership-badge .e-icons[b-2bc4uy7jxm] {
    font-size: var(--font-size-xs);
}

.equipe-leadership-badge-warn[b-2bc4uy7jxm] {
    background: color-mix(in srgb, var(--accent-warning, #d97706) 15%, transparent);
    color: var(--accent-warning, #d97706);
}

.equipe-leadership-badge-ok[b-2bc4uy7jxm] {
    background: color-mix(in srgb, var(--accent-success, #059669) 15%, transparent);
    color: var(--accent-success, #059669);
}

/* === Team cards banner === */
.equipe-team-cards[b-2bc4uy7jxm] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
}

.equipe-team-card[b-2bc4uy7jxm] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    flex: 1 1 200px;
    min-width: 200px;
}

.equipe-team-avatar[b-2bc4uy7jxm] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--text-on-accent);
    flex-shrink: 0;
}

.equipe-team-info[b-2bc4uy7jxm] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.equipe-team-name[b-2bc4uy7jxm] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.equipe-team-role[b-2bc4uy7jxm] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
}

.equipe-team-heures[b-2bc4uy7jxm] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--accent-primary);
    white-space: nowrap;
    flex-shrink: 0;
}

/* === Layout 2 colonnes === */
.equipe-layout[b-2bc4uy7jxm] {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: var(--spacing-md);
    align-items: start;
}

.equipe-main[b-2bc4uy7jxm] {
    min-width: 0;
}

/* === Card === */
.equipe-card[b-2bc4uy7jxm] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.equipe-card-header[b-2bc4uy7jxm] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.equipe-card-title[b-2bc4uy7jxm] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.equipe-card-title .e-icons[b-2bc4uy7jxm] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

.equipe-card-actions[b-2bc4uy7jxm] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

.equipe-counter[b-2bc4uy7jxm] {
    display: inline-block;
    padding: 2px var(--spacing-sm);
    border-radius: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

/* === Table === */
.equipe-table-wrapper[b-2bc4uy7jxm] {
    overflow-x: auto;
}

.equipe-table[b-2bc4uy7jxm] {
    width: 100%;
    border-collapse: collapse;
}

.equipe-th[b-2bc4uy7jxm] {
    padding: var(--spacing-xs) var(--spacing-sm);
    text-align: left;
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary);
    white-space: nowrap;
}

.equipe-th-cycle[b-2bc4uy7jxm] {
    width: 220px;
}

.equipe-th-prep[b-2bc4uy7jxm],
.equipe-th-rev[b-2bc4uy7jxm] {
    width: 240px;
}

.equipe-th-heures[b-2bc4uy7jxm] {
    width: 120px;
    text-align: right;
}

.equipe-row[b-2bc4uy7jxm] {
    border-bottom: 1px solid var(--border-light);
    transition: background 0.15s;
}

.equipe-row:hover[b-2bc4uy7jxm] {
    background: color-mix(in srgb, var(--accent-primary) 3%, transparent);
}

.equipe-row-error[b-2bc4uy7jxm] {
    background: color-mix(in srgb, var(--accent-danger) 4%, transparent);
}

.equipe-row-error:hover[b-2bc4uy7jxm] {
    background: color-mix(in srgb, var(--accent-danger) 7%, transparent);
}

.equipe-td[b-2bc4uy7jxm] {
    padding: var(--spacing-xs) var(--spacing-sm);
    vertical-align: middle;
}

.equipe-td-cycle[b-2bc4uy7jxm] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    min-height: 42px;
}

.equipe-cycle-badge[b-2bc4uy7jxm] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 30%, transparent);
    border-radius: var(--spacing-xs);
    padding: 1px 6px;
    white-space: nowrap;
}

.equipe-cycle-label[b-2bc4uy7jxm] {
    font-size: var(--font-size-xs);
    color: var(--text-primary);
    font-weight: 500;
}

.equipe-td-dropdown[b-2bc4uy7jxm] {
    min-width: 200px;
}

[b-2bc4uy7jxm] .equipe-dropdown {
    font-size: var(--font-size-xs);
    background: var(--input-bg);
    border-radius: var(--border-radius-sm);
}

[b-2bc4uy7jxm] .equipe-dropdown.e-disabled {
    background: var(--input-bg-readonly);
}

.equipe-td-heures[b-2bc4uy7jxm] {
    text-align: right;
}

[b-2bc4uy7jxm] .equipe-heures-input {
    max-width: 100px;
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    background: var(--input-bg);
    text-align: right;
}

[b-2bc4uy7jxm] .equipe-heures-input.e-disabled {
    background: var(--input-bg-readonly);
}

/* === Error row (conflict) === */
.equipe-error-row[b-2bc4uy7jxm] {
    border-bottom: 1px solid var(--border-light);
}

.equipe-error-cell[b-2bc4uy7jxm] {
    padding: 2px var(--spacing-sm) var(--spacing-xs);
    font-size: var(--font-size-2xs);
    color: var(--accent-danger);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.equipe-error-cell .e-icons[b-2bc4uy7jxm] {
    font-size: var(--font-size-xs);
}

/* === Total row === */
.equipe-total-row[b-2bc4uy7jxm] {
    background: var(--bg-secondary);
    border-top: 2px solid var(--border-color);
}

.equipe-total-label[b-2bc4uy7jxm] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--text-primary);
    text-align: right;
    padding-right: var(--spacing-md);
}

.equipe-total-value[b-2bc4uy7jxm] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--accent-primary);
    text-align: right;
    padding: var(--spacing-sm);
}

/* === Empty state === */
.equipe-empty-state[b-2bc4uy7jxm] {
    padding: var(--spacing-xl);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
}

.equipe-empty-state .e-icons[b-2bc4uy7jxm] {
    font-size: var(--font-size-2xl);
    color: var(--text-muted);
}

/* === Actions bar === */
.equipe-actions[b-2bc4uy7jxm] {
    margin-top: var(--spacing-md);
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm);
}

/* === Sidebar : Charge equipe === */
.equipe-sidebar[b-2bc4uy7jxm] {
    position: sticky;
    top: var(--spacing-md);
}

.equipe-sidebar-card[b-2bc4uy7jxm] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.equipe-sidebar-header[b-2bc4uy7jxm] {
    padding: var(--spacing-sm) var(--spacing-sm);
    border-bottom: 1px solid var(--border-color);
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.equipe-sidebar-header .e-icons[b-2bc4uy7jxm] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

.equipe-sidebar-body[b-2bc4uy7jxm] {
    padding: var(--spacing-sm);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.equipe-charge-item[b-2bc4uy7jxm] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.equipe-charge-user[b-2bc4uy7jxm] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.equipe-charge-avatar[b-2bc4uy7jxm] {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--text-on-accent);
    flex-shrink: 0;
}

.equipe-charge-name[b-2bc4uy7jxm] {
    font-size: var(--font-size-2xs);
    font-weight: 500;
    color: var(--text-primary);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.equipe-charge-heures[b-2bc4uy7jxm] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--accent-primary);
    flex-shrink: 0;
}

.equipe-charge-bar-track[b-2bc4uy7jxm] {
    height: 6px;
    background: var(--bg-secondary);
    border-radius: 3px;
    overflow: hidden;
}

.equipe-charge-bar-fill[b-2bc4uy7jxm] {
    height: 100%;
    border-radius: 3px;
    transition: width 0.3s ease;
    background: var(--accent-primary);
}

.equipe-charge-bar-fill.bar-color-ec[b-2bc4uy7jxm] {
    background: var(--accent-purple);
}

.equipe-charge-bar-fill.bar-color-cdm[b-2bc4uy7jxm] {
    background: var(--accent-primary);
}

.equipe-charge-bar-fill.bar-color-collab[b-2bc4uy7jxm] {
    background: var(--accent-cyan);
}

.equipe-charge-bar-fill.bar-color-stagiaire[b-2bc4uy7jxm] {
    background: var(--accent-orange);
}

.equipe-charge-empty[b-2bc4uy7jxm] {
    padding: var(--spacing-md);
    text-align: center;
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xs);
}

.equipe-charge-empty .e-icons[b-2bc4uy7jxm] {
    font-size: var(--font-size-lg);
}

.equipe-sidebar-footer[b-2bc4uy7jxm] {
    padding: var(--spacing-sm);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border-top: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.equipe-sidebar-budget-label[b-2bc4uy7jxm] {
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-secondary);
}

.equipe-sidebar-budget-value[b-2bc4uy7jxm] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--accent-primary);
}

/* === Avatar color classes (shared with sidebar) === */
.avatar-color-ec[b-2bc4uy7jxm] {
    background: var(--accent-purple);
}

.avatar-color-cdm[b-2bc4uy7jxm] {
    background: var(--accent-primary);
}

.avatar-color-collab[b-2bc4uy7jxm] {
    background: var(--accent-cyan);
}

.avatar-color-stagiaire[b-2bc4uy7jxm] {
    background: var(--accent-orange);
}

/* === Colonne "Idem 1er cycle" - propagation preparateur/reviseur === */
.equipe-th-propagate[b-2bc4uy7jxm] {
    width: 110px;
    text-align: center;
}

.equipe-td-propagate[b-2bc4uy7jxm] {
    text-align: center;
    vertical-align: middle;
}

.equipe-propagate-check[b-2bc4uy7jxm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    user-select: none;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.equipe-propagate-check input[type="checkbox"][b-2bc4uy7jxm] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--color-primary, #2563eb);
}

.equipe-propagate-check input[type="checkbox"]:disabled[b-2bc4uy7jxm] {
    cursor: not-allowed;
}

.equipe-propagate-na[b-2bc4uy7jxm] {
    color: var(--text-tertiary, #9ca3af);
    font-size: var(--font-size-xs);
}

.equipe-cycle-source-badge[b-2bc4uy7jxm] {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 6px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    background: var(--color-primary-soft, #e0edff);
    color: var(--color-primary, #2563eb);
    border-radius: 4px;
    vertical-align: middle;
}

.equipe-row-first[b-2bc4uy7jxm] {
    background: linear-gradient(to right, var(--color-primary-soft, #eff6ff) 0%, transparent 40%);
}
/* _content/Revio.Web/Pages/Missions/TabProgramme.razor.rz.scp.css */
/* TabProgramme - scoped styles */

/* --- Summary bar --- */
.programme-summary[b-bnbqjurnbo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    margin-bottom: var(--spacing-sm);
}

.programme-summary-item[b-bnbqjurnbo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.programme-summary-item .e-icons[b-bnbqjurnbo] {
    font-size: var(--font-size-sm);
    color: var(--accent-primary);
}

.programme-summary-value[b-bnbqjurnbo] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    font-family: var(--font-monospace);
}

.programme-summary-label[b-bnbqjurnbo] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
}

.programme-summary-sep[b-bnbqjurnbo] {
    width: 1px;
    height: 16px;
    background: var(--border-color);
    flex-shrink: 0;
}

/* --- Sub-tabs row (pills + regenerate button) --- */
.programme-subtabs-row[b-bnbqjurnbo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--spacing-sm);
}

/* Sub-tabs pills migres vers RevioTabBar (norme Revio - voir revio-app.css .revio-tab-bar) */
/* .programme-subtabs reste en CssClass=" " sur la barre pour neutralite layout */
.programme-subtabs[b-bnbqjurnbo] { margin-bottom: 0; }

.programme-actions[b-bnbqjurnbo] {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

.programme-export-btn[b-bnbqjurnbo],
.programme-regen-btn[b-bnbqjurnbo] {
    padding: var(--spacing-xs) var(--spacing-md);
    font-size: var(--font-size-xs);
    gap: var(--spacing-xs);
}

.programme-regen-btn[b-bnbqjurnbo] {
    box-shadow: 0 1px 3px color-mix(in srgb, var(--accent-primary) 30%, transparent);
}
.programme-regen-btn:hover:not(:disabled)[b-bnbqjurnbo] {
    box-shadow: 0 2px 8px color-mix(in srgb, var(--accent-primary) 45%, transparent);
    transform: translateY(-1px);
}
.programme-regen-btn .e-icons[b-bnbqjurnbo] {
    font-size: var(--font-size-sm);
}

/* --- Layout grid 1fr + 260px sidebar --- */
.programme-layout[b-bnbqjurnbo] {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: var(--spacing-md);
    align-items: start;
}

.programme-main[b-bnbqjurnbo] {
    min-width: 0;
}

/* --- Table styles --- */
.programme-table[b-bnbqjurnbo] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.programme-table thead tr[b-bnbqjurnbo] {
    background: var(--bg-secondary);
}

.programme-table th[b-bnbqjurnbo] {
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--text-secondary);
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--border-color);
    white-space: nowrap;
}

.programme-table td[b-bnbqjurnbo] {
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-xs);
    color: var(--text-primary);
    border-bottom: 1px solid var(--border-light);
    vertical-align: middle;
}

.programme-table tbody tr:last-child td[b-bnbqjurnbo] {
    border-bottom: none;
}

.programme-table tbody tr:hover[b-bnbqjurnbo] {
    background: var(--bg-hover);
}

.programme-table tbody tr.row-excluded[b-bnbqjurnbo] {
    opacity: 0.55;
    background: var(--bg-secondary);
}

.programme-table tbody tr.row-excluded:hover[b-bnbqjurnbo] {
    opacity: 0.75;
}

/* Column widths */
.col-icon[b-bnbqjurnbo] { width: 32px; text-align: center; }
.col-code[b-bnbqjurnbo] { width: 44px; text-align: center; }
.col-label[b-bnbqjurnbo] { min-width: 180px; }
.col-racines[b-bnbqjurnbo] { width: 140px; }
.col-comptes[b-bnbqjurnbo] { width: 70px; text-align: center; }
.col-fdt[b-bnbqjurnbo] { width: 50px; text-align: center; }
.col-questions[b-bnbqjurnbo] { width: 70px; text-align: center; }
.col-toggle[b-bnbqjurnbo] { width: 80px; text-align: center; }

/* --- Table cell content --- */
[b-bnbqjurnbo] .table-cycle-icon {
    font-size: var(--font-size-lg);
    color: var(--text-secondary);
}

/* --- Code badge --- */
.code-badge[b-bnbqjurnbo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 22px;
    padding: 0 var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    font-family: var(--font-monospace);
}

.badge-opci[b-bnbqjurnbo] {
    background: color-mix(in srgb, var(--accent-cyan) 12%, transparent);
    color: var(--accent-cyan);
}

.badge-normal[b-bnbqjurnbo] {
    background: color-mix(in srgb, var(--text-secondary) 12%, transparent);
    color: var(--text-secondary);
}

/* --- Label + tags --- */
.label-content[b-bnbqjurnbo] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.label-row[b-bnbqjurnbo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    flex-wrap: wrap;
}

.label-text[b-bnbqjurnbo] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-primary);
}

/* --- Racines text --- */
.racines-text[b-bnbqjurnbo] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --- Comptes value --- */
.comptes-value[b-bnbqjurnbo] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-primary);
}

.comptes-none[b-bnbqjurnbo] {
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-style: italic;
}

/* --- Count value (FDT / Questions) --- */
.count-value[b-bnbqjurnbo] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 600;
    color: var(--text-secondary);
}

/* --- Toggle switch --- */
.toggle-switch[b-bnbqjurnbo] {
    position: relative;
    display: inline-block;
    width: 32px;
    height: 18px;
    border-radius: 9px;
    background: var(--border-color);
    cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
}

.toggle-switch.active[b-bnbqjurnbo] {
    background: var(--accent-success);
}

.toggle-switch.disabled[b-bnbqjurnbo] {
    cursor: not-allowed;
    opacity: 0.7;
}

.toggle-switch-knob[b-bnbqjurnbo] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--bg-card);
    box-shadow: 0 1px 2px color-mix(in srgb, var(--text-primary) 15%, transparent);
    transition: left 0.2s;
}

.toggle-switch.active .toggle-switch-knob[b-bnbqjurnbo] {
    left: 16px;
}

.toggle-lock[b-bnbqjurnbo] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: var(--font-size-2xs);
    color: var(--bg-card);
    pointer-events: none;
}

.override-label[b-bnbqjurnbo] {
    display: block;
    font-size: var(--font-size-2xs);
    color: var(--accent-warning);
    font-weight: 600;
    margin-top: 1px;
    text-align: center;
}

/* --- Sidebar --- */
.programme-sidebar[b-bnbqjurnbo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.programme-sidebar-card[b-bnbqjurnbo] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
}

.sidebar-card-title[b-bnbqjurnbo] {
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-sm) 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.sidebar-card-title .e-icons[b-bnbqjurnbo] {
    font-size: var(--font-size-sm);
    color: var(--accent-primary);
}

/* --- Sidebar key-value list --- */
.sidebar-kv-list[b-bnbqjurnbo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.sidebar-kv[b-bnbqjurnbo] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2px 0;
}

.sidebar-kv-label[b-bnbqjurnbo] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
}

.sidebar-kv-value[b-bnbqjurnbo] {
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--text-primary);
    font-family: var(--font-monospace);
}

.sidebar-kv-alert[b-bnbqjurnbo] {
    padding: var(--spacing-xs);
    border-radius: var(--border-radius-sm);
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
}

.value-danger[b-bnbqjurnbo] {
    color: var(--accent-danger);
}

/* --- Sidebar alert card (orphelins) --- */
.sidebar-alert-card[b-bnbqjurnbo] {
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border-color: color-mix(in srgb, var(--accent-danger) 25%, transparent);
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-xs);
}

.sidebar-alert-icon[b-bnbqjurnbo] {
    font-size: var(--font-size-sm);
    color: var(--accent-danger);
    flex-shrink: 0;
    margin-top: 1px;
}

.sidebar-alert-text[b-bnbqjurnbo] {
    font-size: var(--font-size-2xs);
    color: var(--accent-danger);
    line-height: 1.4;
}

/* --- Sidebar tip card --- */
.sidebar-tip-card[b-bnbqjurnbo] {
    background: var(--state-warning-bg);
    border-color: var(--state-warning-border);
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-xs);
}

.sidebar-tip-icon[b-bnbqjurnbo] {
    font-size: var(--font-size-sm);
    color: var(--state-warning-text);
    flex-shrink: 0;
    margin-top: 1px;
}

.sidebar-tip-text[b-bnbqjurnbo] {
    font-size: var(--font-size-2xs);
    color: var(--state-warning-text);
    line-height: 1.4;
}

/* --- Accordion (Questionnaires) --- */
.programme-accordion[b-bnbqjurnbo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.accordion-panel[b-bnbqjurnbo] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    transition: border-color 0.15s;
}

.accordion-panel.open[b-bnbqjurnbo] {
    border-color: color-mix(in srgb, var(--accent-primary) 30%, transparent);
}

.accordion-header[b-bnbqjurnbo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    cursor: pointer;
    transition: background 0.15s;
}

.accordion-header:hover[b-bnbqjurnbo] {
    background: var(--bg-hover);
}

.accordion-icon[b-bnbqjurnbo] {
    font-size: var(--font-size-lg);
    color: var(--text-secondary);
    flex-shrink: 0;
    width: 20px;
    text-align: center;
}

.accordion-label[b-bnbqjurnbo] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
    min-width: 0;
}

.accordion-chevron[b-bnbqjurnbo] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    flex-shrink: 0;
    margin-left: auto;
}

.accordion-body[b-bnbqjurnbo] {
    border-top: 1px solid var(--border-light);
    padding: var(--spacing-xs) 0;
}

.accordion-empty[b-bnbqjurnbo] {
    padding: var(--spacing-md);
    text-align: center;
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-style: italic;
}

/* --- Question rows --- */
.question-row[b-bnbqjurnbo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xs) var(--spacing-md);
    transition: background 0.1s;
}

.question-row:hover[b-bnbqjurnbo] {
    background: var(--bg-hover);
}

.question-row-excluded[b-bnbqjurnbo] {
    opacity: 0.55;
}

.question-row-excluded .question-text[b-bnbqjurnbo] {
    text-decoration: line-through;
}

.question-checkbox[b-bnbqjurnbo] {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.question-checkbox:disabled[b-bnbqjurnbo] {
    cursor: not-allowed;
    opacity: 0.5;
}

.question-code[b-bnbqjurnbo] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--accent-primary);
    min-width: 44px;
    flex-shrink: 0;
}

.question-text[b-bnbqjurnbo] {
    font-size: var(--font-size-xs);
    color: var(--text-primary);
    flex: 1;
    min-width: 0;
    line-height: 1.4;
}

.question-delete-btn[b-bnbqjurnbo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: var(--border-radius-sm);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}

.question-delete-btn:hover:not(:disabled)[b-bnbqjurnbo] {
    background: color-mix(in srgb, var(--accent-danger) 10%, transparent);
    color: var(--accent-danger);
}

.question-delete-btn:disabled[b-bnbqjurnbo] {
    cursor: not-allowed;
    opacity: 0.4;
}

.question-delete-btn .e-icons[b-bnbqjurnbo] {
    font-size: var(--font-size-2xs);
}

/* --- Empty state --- */
.programme-empty[b-bnbqjurnbo] {
    padding: var(--spacing-xl);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
}

.programme-empty-icon[b-bnbqjurnbo] {
    font-size: var(--font-size-2xl);
    color: var(--text-muted);
}

/* --- Regeneration progress panel (Sprint 24b) --- */
.regen-progress[b-bnbqjurnbo] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-card);
    border: 1px solid var(--color-primary);
    border-radius: var(--border-radius-md);
    margin-bottom: var(--spacing-sm);
}

.regen-progress-header[b-bnbqjurnbo] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.regen-progress-spinner[b-bnbqjurnbo] {
    color: var(--color-primary);
    animation: spin-b-bnbqjurnbo 1s linear infinite;
}

@keyframes spin-b-bnbqjurnbo {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.regen-progress-step[b-bnbqjurnbo] {
    margin-left: auto;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.regen-progress-bar[b-bnbqjurnbo] {
    width: 100%;
    height: 8px;
    background: var(--bg-muted, #eee);
    border-radius: 4px;
    overflow: hidden;
}

.regen-progress-fill[b-bnbqjurnbo] {
    height: 100%;
    background: var(--color-primary);
    transition: width 0.3s ease-out;
}

.regen-progress-label[b-bnbqjurnbo] {
    font-size: var(--font-size-sm);
    color: var(--text-primary);
}

.regen-progress-detail[b-bnbqjurnbo] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}
/* _content/Revio.Web/Pages/Missions/TabValidation.razor.rz.scp.css */
/* TabValidation - scoped styles */

/* === 2-column layout === */
.valid-layout[b-l4nqa7bvw0] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md);
    align-items: start;
    margin-bottom: var(--spacing-md);
}

.valid-col-left[b-l4nqa7bvw0],
.valid-col-right[b-l4nqa7bvw0] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

/* === KPI row (3 cards in left column) === */
.valid-kpi-row[b-l4nqa7bvw0] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-sm);
}

.valid-kpi-card[b-l4nqa7bvw0] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) 14px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
}

.valid-kpi-icon[b-l4nqa7bvw0] {
    font-size: var(--font-size-lg);
    color: var(--accent-primary);
    flex-shrink: 0;
}

.valid-kpi-icon.kpi-icon-green[b-l4nqa7bvw0] { color: var(--accent-success); }
.valid-kpi-icon.kpi-icon-yellow[b-l4nqa7bvw0] { color: var(--accent-warning); }
.valid-kpi-icon.kpi-icon-red[b-l4nqa7bvw0] { color: var(--accent-danger); }

.valid-kpi-body[b-l4nqa7bvw0] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.valid-kpi-value[b-l4nqa7bvw0] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.valid-kpi-value.kpi-value-green[b-l4nqa7bvw0] { color: var(--accent-success); }
.valid-kpi-value.kpi-value-yellow[b-l4nqa7bvw0] { color: var(--accent-warning); }
.valid-kpi-value.kpi-value-red[b-l4nqa7bvw0] { color: var(--accent-danger); }

.valid-kpi-label[b-l4nqa7bvw0] {
    font-size: var(--font-size-2xs);
    color: var(--text-secondary);
}

/* === Card === */
.valid-card[b-l4nqa7bvw0] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.valid-card-header[b-l4nqa7bvw0] {
    padding: var(--spacing-sm) 14px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.valid-card-title[b-l4nqa7bvw0] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.valid-card-title .e-icons[b-l4nqa7bvw0] {
    color: var(--accent-primary);
    font-size: var(--font-size-lg);
}

/* === Checklist === */
.valid-checklist[b-l4nqa7bvw0] {
    padding: var(--spacing-sm) 14px;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.valid-check-item[b-l4nqa7bvw0] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xs) 0;
}

.valid-check-icon[b-l4nqa7bvw0] {
    font-size: var(--font-size-sm);
    flex-shrink: 0;
    width: 18px;
    text-align: center;
}

.valid-check-icon.check-ok[b-l4nqa7bvw0] { color: var(--accent-success); }
.valid-check-icon.check-ko[b-l4nqa7bvw0] { color: var(--accent-danger); }
.valid-check-icon.check-warn[b-l4nqa7bvw0] { color: var(--accent-warning); }
.valid-check-icon.check-info[b-l4nqa7bvw0] { color: var(--accent-primary); }

.valid-check-text[b-l4nqa7bvw0] {
    font-size: var(--font-size-xs);
    color: var(--text-primary);
}

.valid-check-mono[b-l4nqa7bvw0] {
    font-family: var(--font-monospace);
    font-weight: 600;
}

/* === Alerts section === */
.valid-alerts-section[b-l4nqa7bvw0] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.valid-alert-group[b-l4nqa7bvw0] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.valid-alert[b-l4nqa7bvw0] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-xs);
}

.valid-alert .e-icons[b-l4nqa7bvw0] {
    font-size: var(--font-size-sm);
    flex-shrink: 0;
}

.valid-alert-danger[b-l4nqa7bvw0] {
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 25%, transparent);
    color: var(--accent-danger);
}

.valid-alert-warning[b-l4nqa7bvw0] {
    background: color-mix(in srgb, var(--accent-warning) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-warning) 25%, transparent);
    color: var(--accent-warning);
}

/* === Cycles chips (right column) === */
.valid-cycles-body[b-l4nqa7bvw0] {
    padding: var(--spacing-sm);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.valid-cycle-chip[b-l4nqa7bvw0] {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    background: color-mix(in srgb, var(--accent-primary) 5%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-primary) 20%, transparent);
    border-radius: var(--border-radius-sm);
    transition: background 0.15s;
}

.valid-cycle-chip:hover[b-l4nqa7bvw0] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
}

.valid-cycle-chip-icon[b-l4nqa7bvw0] {
    font-size: var(--font-size-xs);
    color: var(--accent-primary);
    flex-shrink: 0;
}

.valid-cycle-chip-code[b-l4nqa7bvw0] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    border-radius: var(--spacing-xs);
    padding: 0 4px;
    flex-shrink: 0;
}

.valid-cycle-chip-label[b-l4nqa7bvw0] {
    font-size: var(--font-size-2xs);
    font-weight: 500;
    color: var(--text-primary);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.valid-cycle-chip-fdt[b-l4nqa7bvw0] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    flex-shrink: 0;
}

.valid-cycles-empty[b-l4nqa7bvw0] {
    padding: var(--spacing-md);
    text-align: center;
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xs);
}

.valid-cycles-empty .e-icons[b-l4nqa7bvw0] {
    font-size: var(--font-size-lg);
}

/* === Charge par collaborateur (right column) === */
.valid-charge-body[b-l4nqa7bvw0] {
    padding: var(--spacing-sm);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.valid-charge-item[b-l4nqa7bvw0] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xs) 0;
}

.valid-charge-avatar[b-l4nqa7bvw0] {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color: var(--text-on-accent);
    flex-shrink: 0;
}

.valid-avatar-ec[b-l4nqa7bvw0] {
    background: var(--accent-purple);
}

.valid-avatar-cdm[b-l4nqa7bvw0] {
    background: var(--accent-primary);
}

.valid-avatar-collab[b-l4nqa7bvw0] {
    background: var(--accent-cyan);
}

.valid-avatar-stagiaire[b-l4nqa7bvw0] {
    background: var(--accent-orange);
}

.valid-charge-name[b-l4nqa7bvw0] {
    font-size: var(--font-size-xs);
    font-weight: 500;
    color: var(--text-primary);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.valid-charge-heures[b-l4nqa7bvw0] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--accent-primary);
    flex-shrink: 0;
}

.valid-charge-empty[b-l4nqa7bvw0] {
    padding: var(--spacing-md);
    text-align: center;
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xs);
}

.valid-charge-empty .e-icons[b-l4nqa7bvw0] {
    font-size: var(--font-size-lg);
}

/* === Action bar (full width) === */
.valid-action-bar[b-l4nqa7bvw0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-md);
}

/* #B04 (S88) - Bandeau VALIDEE : feedback visuel apres signature planification */
.valid-validated-banner[b-l4nqa7bvw0] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: 14px var(--spacing-md);
    background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
    border: 1px solid #10b981;
    border-radius: var(--radius-md);
    margin-bottom: var(--spacing-md);
    color: #065f46;
}

.valid-validated-banner-icon[b-l4nqa7bvw0] {
    font-size: 24px;
    color: #10b981;
}

.valid-validated-banner-body[b-l4nqa7bvw0] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.valid-validated-badge[b-l4nqa7bvw0] {
    background: #10b981;
    color: #fff;
    font-weight: 700;
    font-size: var(--font-size-xs);
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: var(--radius-sm);
}

.valid-validated-text[b-l4nqa7bvw0] {
    font-size: var(--font-size-sm);
}

.valid-blocked-hint[b-l4nqa7bvw0] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--font-size-2xs);
    color: var(--text-muted);
    font-style: italic;
    text-align: center;
    justify-content: center;
}

.valid-blocked-hint .e-icons[b-l4nqa7bvw0] {
    font-size: var(--font-size-xs);
}

.valid-validate-btn[b-l4nqa7bvw0] {
    width: 100%;
    justify-content: center;
}
/* _content/Revio.Web/Pages/Missions/Workflow.razor.rz.scp.css */
/* Missions Workflow - scoped styles */

/* --- Access denied --- */
.p-access-denied[b-q28b6tmvx9] {
    text-align: center;
    padding: 32px;
}

.p-access-denied .e-icons[b-q28b6tmvx9] {
    font-size: 32px;
    color: var(--accent-danger);
    margin-bottom: 12px;
}

.p-access-denied h2[b-q28b6tmvx9] {
    font-size: var(--font-size-xl);
    color: var(--text-primary);
    margin: 0 0 8px;
}

.p-access-denied p[b-q28b6tmvx9] {
    color: var(--text-secondary);
    margin: 0 0 16px;
}

/* --- Entity hero header (mockup aligned) --- */
.revio-entity-header[b-q28b6tmvx9] {
    background: var(--gradient-hero);
    border-radius: 10px;
    padding: 9px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0;
}

.entity-header-left[b-q28b6tmvx9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.entity-header-name[b-q28b6tmvx9] {
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--text-on-accent);
}

.entity-header-details[b-q28b6tmvx9] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.entity-header-meta[b-q28b6tmvx9] {
    font-size: var(--font-size-2xs);
    color: color-mix(in srgb, var(--text-on-accent) 65%, transparent);
}

.entity-header-sep[b-q28b6tmvx9] {
    font-size: var(--font-size-2xs);
    color: color-mix(in srgb, var(--text-on-accent) 35%, transparent);
}

.entity-header-exercice-label[b-q28b6tmvx9] {
    font-size: var(--font-size-2xs);
    color: color-mix(in srgb, var(--text-on-accent) 85%, transparent);
    font-weight: 600;
}

.mission-type-badge[b-q28b6tmvx9] {
    display: inline-block;
    padding: 1px 5px;
    border-radius: 3px;
    font-size: var(--font-size-2xs);
    font-weight: 600;
    text-transform: uppercase;
}

.type-revision[b-q28b6tmvx9] {
    background: color-mix(in srgb, var(--accent-cyan) 25%, transparent);
    color: var(--accent-cyan);
}

.type-situation[b-q28b6tmvx9] {
    background: color-mix(in srgb, var(--accent-cyan) 25%, transparent);
    color: var(--accent-cyan);
}

.entity-header-right[b-q28b6tmvx9] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.entity-header-progress[b-q28b6tmvx9] {
    text-align: right;
}

.entity-header-progress-label[b-q28b6tmvx9] {
    font-size: var(--font-size-2xs);
    color: color-mix(in srgb, var(--text-on-accent) 70%, transparent);
    display: block;
}

.entity-header-progress-bar[b-q28b6tmvx9] {
    width: 160px;
    height: 5px;
    background: color-mix(in srgb, var(--text-on-accent) 20%, transparent);
    border-radius: 3px;
    margin-top: 3px;
}

.entity-header-progress-fill[b-q28b6tmvx9] {
    height: 100%;
    background: var(--accent-success);
    border-radius: 3px;
    transition: width 0.3s;
}

.entity-header-progress-detail[b-q28b6tmvx9] {
    font-size: var(--font-size-2xs);
    color: color-mix(in srgb, var(--text-on-accent) 50%, transparent);
    display: block;
    margin-top: 2px;
}

/* --- Stepper 8 etapes (mockup aligned) --- */
.mission-stepper[b-q28b6tmvx9] {
    display: flex;
    align-items: center;
    background: var(--bg-card);
    border-bottom: 1px solid var(--border-color);
    padding: 7px 14px;
}

.mission-step-wrapper[b-q28b6tmvx9] {
    display: flex;
    align-items: center;
    flex: 1;
}

.mission-step[b-q28b6tmvx9] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 3px 4px;
    border-radius: 5px;
    cursor: pointer;
    flex: 1;
    justify-content: center;
    transition: background 0.15s;
    white-space: nowrap;
    min-width: 0;
}

.mission-step:hover:not(.locked)[b-q28b6tmvx9] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
}

.mission-step.active[b-q28b6tmvx9] {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
}

.mission-step.locked[b-q28b6tmvx9] {
    cursor: not-allowed;
}

.mission-step.placeholder:not(.active)[b-q28b6tmvx9] {
    opacity: 0.55;
}

.mission-step-number[b-q28b6tmvx9] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--border-color);
    color: var(--text-muted);
    font-size: var(--font-size-2xs);
    font-weight: 700;
    flex-shrink: 0;
}

.mission-step.active .mission-step-number[b-q28b6tmvx9] {
    background: var(--accent-primary);
    color: white;
}

.mission-step.completed .mission-step-number[b-q28b6tmvx9] {
    background: var(--accent-success);
    color: white;
}

.mission-step-text[b-q28b6tmvx9] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.mission-step-label[b-q28b6tmvx9] {
    font-size: var(--font-size-2xs);
    font-weight: 400;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mission-step.active .mission-step-label[b-q28b6tmvx9] {
    font-weight: 700;
    color: var(--text-primary);
}

.mission-step-opci-tag[b-q28b6tmvx9] {
    display: inline-block;
    padding: 0 3px;
    border-radius: 2px;
    font-size: var(--font-size-2xs);
    font-weight: 600;
    background: color-mix(in srgb, var(--accent-cyan) 12%, transparent);
    color: var(--accent-cyan);
    margin-left: 3px;
    vertical-align: middle;
}

.mission-step-status[b-q28b6tmvx9] {
    font-size: var(--font-size-2xs);
}

.mission-step-status.status-done[b-q28b6tmvx9] {
    color: var(--accent-success);
}

.mission-step-status.status-active[b-q28b6tmvx9] {
    color: var(--accent-primary);
}

.mission-step-status.status-pending[b-q28b6tmvx9] {
    color: var(--text-muted);
}

.mission-step-connector[b-q28b6tmvx9] {
    width: 8px;
    height: 2px;
    background: var(--border-light);
    flex-shrink: 0;
}

.mission-step-connector.completed[b-q28b6tmvx9] {
    background: var(--accent-success);
}

/* --- Step title bar --- */
.mission-step-title-bar[b-q28b6tmvx9] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 16px 0;
}

.mission-step-title-icon[b-q28b6tmvx9] {
    font-size: var(--font-size-sm);
    color: var(--accent-primary);
}

.mission-step-title-label[b-q28b6tmvx9] {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-primary);
}

.mission-step-title-tag[b-q28b6tmvx9] {
    display: inline-block;
    padding: 1px 6px;
    border-radius: 3px;
    font-size: var(--font-size-2xs);
    font-weight: 600;
}

.tag-purple[b-q28b6tmvx9] {
    background: color-mix(in srgb, var(--accent-purple) 12%, transparent);
    color: var(--accent-purple);
}

.tag-blue[b-q28b6tmvx9] {
    background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
    color: var(--accent-primary);
}

.tag-cyan[b-q28b6tmvx9] {
    background: color-mix(in srgb, var(--accent-cyan) 12%, transparent);
    color: var(--accent-cyan);
}

/* --- Placeholder --- */
.mission-placeholder[b-q28b6tmvx9] {
    text-align: center;
    padding: 48px 16px;
    color: var(--text-secondary);
}

.mission-placeholder-icon[b-q28b6tmvx9] {
    font-size: 48px;
    color: var(--accent-primary);
    margin-bottom: 12px;
    display: block;
}

.mission-content[b-q28b6tmvx9] {
    min-height: 300px;
    padding: 6px 0 12px;
}
/* _content/Revio.Web/Pages/Onboarding/Index.razor.rz.scp.css */
.onb-page[b-9bhz6rpcuc] {
    min-height: 100vh;
    background: #F8FAFC;
    font-family: var(--font-heading);
}

.onb-topbar[b-9bhz6rpcuc] {
    background: #fff;
    border-bottom: 1px solid #E2E8F0;
    height: 56px;
    display: flex;
    align-items: center;
    padding: 0 24px;
    gap: 24px;
    position: relative;
}

.onb-brand[b-9bhz6rpcuc] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.onb-brand-logo[b-9bhz6rpcuc] {
    background: #2563EB;
    color: #fff;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}

.onb-brand-name[b-9bhz6rpcuc] {
    font-size: 15px;
    font-weight: 700;
    color: #1E293B;
}

.onb-brand-pill[b-9bhz6rpcuc] {
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    background: #EFF6FF;
    color: #2563EB;
}

.onb-stepper[b-9bhz6rpcuc] {
    display: flex;
    align-items: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.onb-step[b-9bhz6rpcuc] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.onb-step-bullet[b-9bhz6rpcuc] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #E2E8F0;
}

.onb-step--current .onb-step-bullet[b-9bhz6rpcuc] { background: #2563EB; }
.onb-step--done .onb-step-bullet[b-9bhz6rpcuc] { background: #22C55E; }
.onb-step--future .onb-step-bullet[b-9bhz6rpcuc] { background: #E2E8F0; color: #94A3B8; }

.onb-step-label[b-9bhz6rpcuc] {
    font-size: 11px;
    color: #94A3B8;
}

.onb-step--current .onb-step-label[b-9bhz6rpcuc] {
    font-weight: 600;
    color: #1E293B;
}

.onb-step-sep[b-9bhz6rpcuc] {
    width: 22px;
    height: 2px;
    background: #E2E8F0;
    margin: 0 4px;
}

.onb-step-sep--done[b-9bhz6rpcuc] { background: #22C55E; }

.onb-progress[b-9bhz6rpcuc] {
    height: 3px;
    background: #E2E8F0;
}

.onb-progress-fill[b-9bhz6rpcuc] {
    height: 100%;
    background: linear-gradient(90deg, #2563EB, #3B82F6);
    transition: width .4s ease;
}

.onb-main[b-9bhz6rpcuc] {
    display: flex;
    justify-content: center;
    padding: 32px 24px;
}

.onb-container[b-9bhz6rpcuc] {
    max-width: 720px;
    width: 100%;
}

.onb-banner[b-9bhz6rpcuc] {
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 13px;
}

.onb-banner--error[b-9bhz6rpcuc] {
    background: #FEF2F2;
    border: 1px solid #FCA5A5;
    color: #991B1B;
}

/* HERO STEP 0 */
.onb-hero[b-9bhz6rpcuc] {
    text-align: center;
    background: linear-gradient(135deg, #1E40AF 0%, #3B82F6 50%, #60A5FA 100%);
    color: #fff;
    border-radius: 16px;
    padding: 48px 32px;
    margin-bottom: 24px;
}

.onb-hero-emoji[b-9bhz6rpcuc] { font-size: 48px; }
.onb-hero-title[b-9bhz6rpcuc] { font-size: 28px; font-weight: 700; margin: 12px 0 8px; }
.onb-hero-sub[b-9bhz6rpcuc] { font-size: 14px; opacity: 0.9; max-width: 500px; margin: 0 auto; }

.onb-choice-grid[b-9bhz6rpcuc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.onb-choice[b-9bhz6rpcuc] {
    background: #fff;
    border: 2px solid #E2E8F0;
    border-radius: 12px;
    padding: 24px;
    cursor: pointer;
    text-align: left;
    transition: all .15s;
    font-family: inherit;
}

.onb-choice:hover[b-9bhz6rpcuc] {
    border-color: #2563EB;
    box-shadow: 0 4px 12px rgba(37,99,235,0.1);
}

.onb-choice-icon[b-9bhz6rpcuc] { font-size: 32px; margin-bottom: 8px; }
.onb-choice-title[b-9bhz6rpcuc] { font-size: 16px; font-weight: 700; color: #1E293B; margin-bottom: 4px; }
.onb-choice-desc[b-9bhz6rpcuc] { font-size: 12px; color: #64748B; line-height: 1.5; }

/* CARD */
.onb-card[b-9bhz6rpcuc] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 28px;
    margin-bottom: 16px;
}

.onb-card-title[b-9bhz6rpcuc] {
    font-size: 18px;
    font-weight: 700;
    color: #1E293B;
    margin: 0 0 4px;
}

.onb-card-subtitle[b-9bhz6rpcuc] {
    font-size: 14px;
    font-weight: 700;
    color: #1E293B;
    margin: 24px 0 4px;
}

.onb-card-sub[b-9bhz6rpcuc] {
    font-size: 12px;
    color: #64748B;
    margin: 0 0 20px;
}

/* GRID + FIELDS */
.onb-grid-2[b-9bhz6rpcuc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 12px;
}

.onb-field[b-9bhz6rpcuc] { margin-bottom: 14px; }

.onb-field label[b-9bhz6rpcuc] {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #64748B;
    margin-bottom: 4px;
}

.onb-field .req[b-9bhz6rpcuc] { color: #EF4444; }

/* RADIO */
.onb-radio-group[b-9bhz6rpcuc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.onb-radio[b-9bhz6rpcuc] {
    border: 2px solid #E2E8F0;
    border-radius: 8px;
    padding: 14px;
    cursor: pointer;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    transition: all .15s;
}

.onb-radio.selected[b-9bhz6rpcuc] {
    border-color: #2563EB;
    background: #EFF6FF;
}

.onb-radio input[b-9bhz6rpcuc] { margin-top: 2px; }

.onb-radio-title[b-9bhz6rpcuc] { font-size: 13px; font-weight: 600; color: #1E293B; }
.onb-radio-desc[b-9bhz6rpcuc] { font-size: 11px; color: #64748B; margin-top: 2px; }

/* ACTIONS */
.onb-actions[b-9bhz6rpcuc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
}

.onb-actions-right[b-9bhz6rpcuc] {
    display: flex;
    gap: 8px;
    align-items: center;
}

[b-9bhz6rpcuc] .onb-btn-primary {
    background: #2563EB;
    color: #fff;
    border: none;
    padding: 9px 24px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

[b-9bhz6rpcuc] .onb-btn-secondary {
    background: transparent;
    color: #64748B;
    border: 1px solid #E2E8F0;
    padding: 9px 20px;
    border-radius: 8px;
    font-size: 12px;
    cursor: pointer;
}

[b-9bhz6rpcuc] .onb-btn-skip {
    background: transparent;
    color: #94A3B8;
    border: 1px solid #E2E8F0;
    padding: 9px 16px;
    border-radius: 8px;
    font-size: 12px;
    cursor: pointer;
}

[b-9bhz6rpcuc] .onb-btn-large {
    font-size: 14px;
    padding: 12px 28px;
}

[b-9bhz6rpcuc] .onb-btn-activate {
    background: #22C55E;
    color: #fff;
    border: none;
    padding: 10px 28px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

[b-9bhz6rpcuc] .onb-btn-activate:disabled,
[b-9bhz6rpcuc] .onb-btn-activate.e-btn:disabled {
    background: #E2E8F0;
    color: #94A3B8;
    cursor: not-allowed;
}

[b-9bhz6rpcuc] .onb-btn-add-invite {
    background: transparent;
    border: 1px dashed #94A3B8;
    color: #2563EB;
    padding: 10px;
    border-radius: 8px;
    width: 100%;
    margin: 12px 0 16px;
    font-size: 12px;
    cursor: pointer;
}

[b-9bhz6rpcuc] .onb-btn-remove {
    background: transparent;
    border: 1px solid #E2E8F0;
    color: #94A3B8;
    padding: 7px 11px;
    border-radius: 8px;
    font-size: 11px;
    cursor: pointer;
}

/* SHAREPOINT */
.onb-sp-block[b-9bhz6rpcuc] {
    text-align: center;
    padding: 24px;
    background: #F8FAFC;
    border-radius: 10px;
    margin-bottom: 20px;
}

.onb-ms-icon[b-9bhz6rpcuc] {
    background: #fff;
    color: #2563EB;
    padding: 2px 6px;
    border-radius: 3px;
    font-weight: 700;
    margin-right: 8px;
    font-size: 11px;
}

.onb-tip[b-9bhz6rpcuc] {
    font-size: 11px;
    color: #94A3B8;
    margin-top: 12px;
}

.onb-success-banner[b-9bhz6rpcuc] {
    background: #DCFCE7;
    color: #166534;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
    font-size: 13px;
    font-weight: 600;
}

.onb-benefits[b-9bhz6rpcuc] {
    display: grid;
    gap: 12px;
}

.onb-benefit[b-9bhz6rpcuc] {
    display: flex;
    gap: 12px;
    padding: 12px;
    background: #F8FAFC;
    border-radius: 8px;
}

.onb-benefit-icon[b-9bhz6rpcuc] { font-size: 22px; }
.onb-benefit-title[b-9bhz6rpcuc] { font-size: 12px; font-weight: 700; color: #1E293B; }
.onb-benefit-desc[b-9bhz6rpcuc] { font-size: 11px; color: #64748B; }

/* INVITES */
.onb-invites[b-9bhz6rpcuc] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 8px;
}

.onb-invite-row[b-9bhz6rpcuc] {
    display: grid;
    grid-template-columns: 1fr 200px 36px;
    gap: 8px;
    align-items: center;
}

.onb-tip-box[b-9bhz6rpcuc] {
    background: #EFF6FF;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 11px;
    color: #1E40AF;
    line-height: 1.5;
    margin-top: 8px;
}

/* RECAP STEP 4 */
.onb-recap[b-9bhz6rpcuc] {
    background: #F8FAFC;
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 20px;
}

.onb-recap-row[b-9bhz6rpcuc] {
    display: flex;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #F1F5F9;
}

.onb-recap-row:last-child[b-9bhz6rpcuc] { border-bottom: none; }

.onb-recap-icon[b-9bhz6rpcuc] { font-size: 18px; }

.onb-recap-body[b-9bhz6rpcuc] { flex: 1; }

.onb-recap-label[b-9bhz6rpcuc] {
    font-size: 11px;
    color: #94A3B8;
}

.onb-recap-value[b-9bhz6rpcuc] {
    font-size: 13px;
    font-weight: 600;
    color: #1E293B;
}

.onb-recap-sub[b-9bhz6rpcuc] {
    font-size: 11px;
    color: #94A3B8;
    margin-top: 2px;
}

/* CGU */
.onb-cgu[b-9bhz6rpcuc] {
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 14px 16px;
}

.onb-cgu-title[b-9bhz6rpcuc] {
    font-size: 13px;
    font-weight: 700;
    color: #1E293B;
    margin-bottom: 8px;
}

.onb-cgu-body[b-9bhz6rpcuc] {
    max-height: 150px;
    overflow-y: auto;
    background: #F8FAFC;
    border-radius: 6px;
    padding: 12px;
    font-size: 11px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 12px;
}

.onb-cgu-check[b-9bhz6rpcuc] {
    display: flex;
    gap: 8px;
    cursor: pointer;
    font-size: 12px;
    color: #1E293B;
}

.onb-cgu-check input[b-9bhz6rpcuc] { margin-top: 3px; }

.onb-cgu-sub[b-9bhz6rpcuc] {
    font-size: 10px;
    color: #94A3B8;
    margin-top: 2px;
}

/* DONE */
.onb-done[b-9bhz6rpcuc] {
    text-align: center;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 64px 32px;
}

.onb-done-emoji[b-9bhz6rpcuc] { font-size: 64px; }
.onb-done-title[b-9bhz6rpcuc] { font-size: 28px; font-weight: 700; color: #166534; margin: 16px 0 8px; }
.onb-done-sub[b-9bhz6rpcuc] { font-size: 14px; color: #64748B; }
.onb-done-meta[b-9bhz6rpcuc] { font-size: 12px; color: #94A3B8; margin: 16px 0 32px; font-family: var(--font-monospace); }
/* _content/Revio.Web/Pages/Patrimoine/Depreciations.razor.rz.scp.css */
.depr-toolbar[b-zf5mwnn7e8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--spacing-md, 16px);
    margin-bottom: var(--spacing-md, 16px);
}

.depr-context[b-zf5mwnn7e8] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm, 8px);
}

.depr-label[b-zf5mwnn7e8] {
    color: var(--text-secondary, #6b7280);
    font-size: 0.9rem;
    font-weight: 500;
}

.depr-empty[b-zf5mwnn7e8] {
    background: var(--surface-subtle, #f9fafb);
    border: 1px dashed var(--border-subtle, #d1d5db);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-lg, 32px);
    text-align: center;
    color: var(--text-secondary, #6b7280);
    margin-bottom: var(--spacing-md, 16px);
}

.depr-empty--success[b-zf5mwnn7e8] {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #166534;
}

.depr-warning[b-zf5mwnn7e8] {
    background: #fffbeb;
    border-left: 3px solid var(--accent-warning, #d97706);
    padding: var(--spacing-sm, 12px) var(--spacing-md, 16px);
    border-radius: var(--radius-sm, 6px);
    margin-bottom: var(--spacing-md, 16px);
    color: var(--text-primary, #111827);
    font-size: 0.9rem;
}

.depr-warning a[b-zf5mwnn7e8] {
    color: var(--accent-primary, #2563eb);
    margin-left: 8px;
    text-decoration: none;
    font-weight: 500;
}

.depr-summary[b-zf5mwnn7e8] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--spacing-md, 16px);
    margin-bottom: var(--spacing-lg, 24px);
}

.depr-badge[b-zf5mwnn7e8] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
    margin-right: 4px;
}

.depr-badge--warning[b-zf5mwnn7e8] {
    background: #fef3c7;
    color: #92400e;
}

.depr-badge--info[b-zf5mwnn7e8] {
    background: #dbeafe;
    color: #1e40af;
}

.depr-badge--secondary[b-zf5mwnn7e8] {
    background: #f3f4f6;
    color: #4b5563;
}

.depr-muted[b-zf5mwnn7e8] {
    color: var(--text-tertiary, #9ca3af);
}

.txt-danger[b-zf5mwnn7e8] { color: #dc2626; }

.depr-modal-body[b-zf5mwnn7e8] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm, 12px);
}

.depr-modal-row[b-zf5mwnn7e8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
    padding: 4px 0;
    border-bottom: 1px dashed var(--border-subtle, #e5e7eb);
}

.depr-modal-label[b-zf5mwnn7e8] {
    color: var(--text-secondary, #6b7280);
}

.depr-modal-field[b-zf5mwnn7e8] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: var(--spacing-sm, 8px);
}

.depr-modal-field label[b-zf5mwnn7e8] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-secondary, #6b7280);
}

.depr-error[b-zf5mwnn7e8] {
    background: #fee2e2;
    border: 1px solid #fca5a5;
    color: #991b1b;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.85rem;
    margin-top: var(--spacing-sm, 8px);
}

.depr-footer[b-zf5mwnn7e8] {
    margin-top: var(--spacing-lg, 24px);
}

.depr-footer small[b-zf5mwnn7e8] {
    color: var(--text-tertiary, #9ca3af);
    font-size: 0.8rem;
}
/* _content/Revio.Web/Pages/Profil/Profil.razor.rz.scp.css */
/* Sprint 59 - Refonte UX page /profil aligne mockup_profil_utilisateur.jsx */

.revio-profile-page[b-c0wqqty8a1] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* --- Hero card --- */
.profil-hero[b-c0wqqty8a1] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 20px;
    align-items: center;
    padding: 20px 24px;
    border-radius: 12px;
    background: linear-gradient(135deg, #1E40AF 0%, #2563EB 50%, #3B82F6 100%);
    color: #ffffff;
    box-shadow: 0 6px 18px rgba(30, 64, 175, 0.25);
}

.profil-hero-avatar[b-c0wqqty8a1] {
    position: relative;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    border: 3px solid rgba(255, 255, 255, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 1px;
    backdrop-filter: blur(2px);
}

.profil-hero-initials[b-c0wqqty8a1] {
    color: #ffffff;
}

.profil-hero-status[b-c0wqqty8a1] {
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #ffffff;
}

.profil-hero-status.online[b-c0wqqty8a1] {
    background: #22C55E;
}

.profil-hero-status.offline[b-c0wqqty8a1] {
    background: #94A3B8;
}

.profil-hero-info[b-c0wqqty8a1] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.profil-hero-name[b-c0wqqty8a1] {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
}

.profil-hero-tags[b-c0wqqty8a1] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.profil-hero-tag[b-c0wqqty8a1] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.2px;
}

.profil-hero-tag-muted[b-c0wqqty8a1] {
    background: rgba(255, 255, 255, 0.12);
    font-weight: 500;
}

.profil-hero-tag-demo[b-c0wqqty8a1] {
    background: rgba(255, 191, 0, 0.85);
    color: #1F2937;
}

.profil-hero-tag .e-icons[b-c0wqqty8a1] {
    font-size: 12px;
}

.profil-hero-stats[b-c0wqqty8a1] {
    display: flex;
    gap: 24px;
}

.profil-hero-stat[b-c0wqqty8a1] {
    text-align: center;
    color: #ffffff;
}

.profil-hero-stat-value[b-c0wqqty8a1] {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.profil-hero-stat-label[b-c0wqqty8a1] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.85;
    margin-top: 4px;
}

/* --- Identite card --- */
/* Sprint 61 - Header bilan-card scope a Profil (sinon SfButton se superpose au nom) */
.bilan-card[b-c0wqqty8a1] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 16px 20px;
}

.bilan-card-header[b-c0wqqty8a1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-color);
}

.bilan-card-header h3[b-c0wqqty8a1] {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    flex: 1 1 auto;
    min-width: 0;
}

.bilan-card-header > :not(h3)[b-c0wqqty8a1] {
    flex: 0 0 auto;
}

.profil-grid[b-c0wqqty8a1] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 24px;
}

.profil-field[b-c0wqqty8a1] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.profil-label[b-c0wqqty8a1] {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.profil-required[b-c0wqqty8a1] {
    color: var(--accent-danger);
    margin-left: 2px;
}

.profil-value[b-c0wqqty8a1] {
    font-size: 14px;
    color: var(--text-primary);
    padding: 6px 0;
}

.profil-value-readonly[b-c0wqqty8a1] {
    color: var(--text-primary);
}

.profil-value a[b-c0wqqty8a1] {
    color: var(--accent-primary);
    text-decoration: none;
}

.profil-value a:hover[b-c0wqqty8a1] {
    text-decoration: underline;
}

.profil-value code[b-c0wqqty8a1] {
    font-family: ui-monospace, "SF Mono", Menlo, monospace;
    background: color-mix(in srgb, var(--text-primary) 5%, transparent);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 12px;
}

.profil-empty[b-c0wqqty8a1] {
    color: var(--text-muted);
    font-style: italic;
}

.profil-input[b-c0wqqty8a1] {
    width: 100%;
}

.profil-input-initiales[b-c0wqqty8a1] {
    max-width: 100px;
}

.profil-hint-small[b-c0wqqty8a1] {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 2px;
}

/* --- Edit actions --- */
.profil-edit-actions[b-c0wqqty8a1] {
    display: flex;
    gap: 8px;
}

.profil-btn-edit[b-c0wqqty8a1]  .e-btn-icon {
    margin-right: 6px;
}

.profil-success[b-c0wqqty8a1] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0;
    padding: 8px 12px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    color: var(--accent-success);
    font-size: 13px;
    font-weight: 600;
}

.profil-error-inline[b-c0wqqty8a1] {
    margin: 8px 0;
    padding: 8px 12px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--accent-danger) 12%, transparent);
    color: var(--accent-danger);
    font-size: 13px;
}

.profil-error[b-c0wqqty8a1] {
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    color: var(--accent-danger);
    padding: 12px 16px;
}

/* --- Securite list --- */
.profil-securite-list[b-c0wqqty8a1] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.profil-securite-list li[b-c0wqqty8a1] {
    display: flex;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border-color);
}

.profil-securite-list li:last-child[b-c0wqqty8a1] {
    border-bottom: none;
}

.profil-securite-list .e-icons[b-c0wqqty8a1] {
    font-size: 18px;
    color: var(--accent-primary);
    margin-top: 2px;
}

.profil-securite-list strong[b-c0wqqty8a1] {
    display: block;
    font-size: 13px;
    color: var(--text-primary);
    margin-bottom: 2px;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .profil-hero[b-c0wqqty8a1] {
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
    }

    .profil-hero-stats[b-c0wqqty8a1] {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .profil-grid[b-c0wqqty8a1] {
        grid-template-columns: 1fr;
    }
}
/* _content/Revio.Web/Pages/Reporting/Clients.razor.rz.scp.css */
/* Sprint 39 - page /reporting/clients (analyse financiere client) */

.reporting-cli-greeting[b-eegwesmw6o] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: 12px 16px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.reporting-cli-context[b-eegwesmw6o] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cli-context-label[b-eegwesmw6o] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-weight: 500;
}

.cli-context-divider[b-eegwesmw6o] {
    color: var(--text-muted);
}

.cli-context-divider[b-eegwesmw6o]::before {
    content: "·";
}

.cli-context-meta[b-eegwesmw6o] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

/* #BL10 - Lien drilldown vers /reporting/entites */
.cli-context-link[b-eegwesmw6o] {
    font-size: var(--font-size-sm);
    color: var(--accent-primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.cli-context-link:hover[b-eegwesmw6o] {
    text-decoration: underline;
}

.cli-context-link .e-icons[b-eegwesmw6o] {
    font-size: 12px;
}

/* Sprint 61 - Selecteur exercice (toolbar droite) */
.reporting-cli-actions[b-eegwesmw6o] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.reporting-annee-selector[b-eegwesmw6o] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--font-size-sm);
}

.reporting-annee-selector label[b-eegwesmw6o] {
    color: var(--text-secondary);
    font-weight: 500;
}

/* Sprint 61 - Toggle "Inclure les brouillards" */
.reporting-brouillard-toggle[b-eegwesmw6o] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
    user-select: none;
}

.reporting-brouillard-toggle input[type="checkbox"][b-eegwesmw6o] {
    cursor: pointer;
    accent-color: var(--primary);
}

/* --- Onglets --- */
.reporting-cli-tabs[b-eegwesmw6o] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 16px;
}

.reporting-cli-tab[b-eegwesmw6o] {
    padding: 10px 16px;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    font-family: var(--font-body);
    font-size: var(--font-size-sm);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-bottom: 2px solid transparent;
    transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.reporting-cli-tab:hover[b-eegwesmw6o] {
    color: var(--text-primary);
}

.reporting-cli-tab.is-active[b-eegwesmw6o] {
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border-bottom-color: var(--accent-primary);
    font-weight: 600;
}

/* --- KPIs --- */
.reporting-cli-kpis[b-eegwesmw6o] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

@media (max-width: 1100px) {
    .reporting-cli-kpis[b-eegwesmw6o] {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* .kpi-card / .kpi-icon / .kpi-content / .kpi-value / .kpi-label
   sont definis dans revio-app.css et reutilises ici. */
.reporting-cli-kpis .kpi-sub[b-eegwesmw6o] {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 4px;
}

/* --- Bilan synthetique --- */
.reporting-cli-bilan[b-eegwesmw6o] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

@media (max-width: 1100px) {
    .reporting-cli-bilan[b-eegwesmw6o] {
        grid-template-columns: 1fr;
    }
}

.bilan-card[b-eegwesmw6o] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: 16px;
}

.bilan-card-header[b-eegwesmw6o] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-color);
}

.bilan-card-header h3[b-eegwesmw6o] {
    margin: 0;
    font-size: var(--font-size-md);
    font-weight: 600;
    color: var(--text-primary);
}

.bilan-badge[b-eegwesmw6o] {
    font-size: 9px;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.bilan-badge-actif[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
    color: var(--accent-primary);
}

.bilan-badge-passif[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-purple) 15%, transparent);
    color: var(--accent-purple);
}

.bilan-line[b-eegwesmw6o] {
    display: grid;
    grid-template-columns: 150px 1fr 90px 50px;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.bilan-line-label[b-eegwesmw6o] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bilan-line-bar[b-eegwesmw6o] {
    height: 4px;
    background: var(--bg-hover, rgba(0, 0, 0, 0.06));
    border-radius: 2px;
    overflow: hidden;
}

.bilan-line-bar-fill[b-eegwesmw6o] {
    height: 100%;
    border-radius: 2px;
    transition: width 0.4s ease;
}

.bilan-line-bar-fill--actif[b-eegwesmw6o] {
    background: var(--accent-primary);
}

.bilan-line-bar-fill--passif[b-eegwesmw6o] {
    background: var(--accent-purple);
}

.bilan-line-amount[b-eegwesmw6o] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
    text-align: right;
}

.bilan-line-pct[b-eegwesmw6o] {
    font-size: 11px;
    color: var(--text-muted);
    text-align: right;
}

/* --- Hint / placeholder --- */
.reporting-cli-hint[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-info) 6%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-info) 20%, transparent);
    border-radius: var(--border-radius-md);
    padding: 10px 14px;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    display: flex;
    align-items: center;
    gap: 8px;
}

.reporting-cli-placeholder[b-eegwesmw6o] {
    background: var(--bg-card);
    border: 1px dashed var(--border-color);
    border-radius: var(--border-radius-md);
    padding: 48px 24px;
    text-align: center;
}

.reporting-cli-placeholder .placeholder-icon[b-eegwesmw6o] {
    font-size: 36px;
    color: var(--text-muted);
    display: block;
    margin: 0 auto 12px;
}

.reporting-cli-placeholder h3[b-eegwesmw6o] {
    margin: 0 0 8px;
    font-size: var(--font-size-lg);
    color: var(--text-primary);
}

.reporting-cli-placeholder p[b-eegwesmw6o] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    line-height: 1.5;
}

/* --- Ratios AMF (Sprint 40) --- */
.ratios-amf-grid[b-eegwesmw6o] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

@media (max-width: 1100px) {
    .ratios-amf-grid[b-eegwesmw6o] {
        grid-template-columns: 1fr;
    }
}

/* Sprint 61 - Cartes ratios AMF style mockup (jauges centrees + barre progression) */
.ratio-gauge[b-eegwesmw6o] {
    padding: 14px 12px;
    border-radius: var(--border-radius-md);
    border: 1px solid var(--border-color);
    background: var(--bg-secondary);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 6px;
    transition: border-color 0.15s, transform 0.15s;
}

.ratio-gauge:hover[b-eegwesmw6o] {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--accent-primary) 40%, var(--border-color));
}

.ratio-gauge-value[b-eegwesmw6o] {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.ratio-gauge.ratio-ok .ratio-gauge-value[b-eegwesmw6o] {
    color: var(--accent-success);
}

.ratio-gauge.ratio-ko .ratio-gauge-value[b-eegwesmw6o] {
    color: var(--accent-danger);
}

.ratio-gauge-label[b-eegwesmw6o] {
    font-size: 11px;
    color: var(--text-muted);
    line-height: 1.3;
}

.ratio-gauge-bar[b-eegwesmw6o] {
    height: 4px;
    background: var(--border-color);
    border-radius: 2px;
    overflow: hidden;
    margin-top: 4px;
}

.ratio-gauge-bar-fill[b-eegwesmw6o] {
    height: 100%;
    border-radius: 2px;
    transition: width 0.3s ease;
}

.ratio-gauge.ratio-ok .ratio-gauge-bar-fill[b-eegwesmw6o] {
    background: var(--accent-success);
}

.ratio-gauge.ratio-ko .ratio-gauge-bar-fill[b-eegwesmw6o] {
    background: var(--accent-danger);
}

.ratio-gauge-foot[b-eegwesmw6o] {
    font-size: 9px;
    color: var(--text-muted);
    margin-top: 2px;
    font-style: italic;
}

/* --- Balance agee (Sprint 41) --- */
.balance-table[b-eegwesmw6o] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.balance-table th[b-eegwesmw6o],
.balance-table td[b-eegwesmw6o] {
    padding: 8px 10px;
    border-bottom: 1px solid var(--border-color);
    text-align: left;
}

.balance-table th[b-eegwesmw6o] {
    font-weight: 600;
    color: var(--text-secondary);
    background: color-mix(in srgb, var(--bg-card) 60%, transparent);
}

.balance-table td.num[b-eegwesmw6o],
.balance-table th.num[b-eegwesmw6o] {
    text-align: right;
    font-family: var(--font-monospace);
}

.balance-table tfoot td[b-eegwesmw6o] {
    border-top: 2px solid var(--border-color);
    border-bottom: none;
    background: color-mix(in srgb, var(--accent-primary) 5%, transparent);
}

.balance-table .balance-warn[b-eegwesmw6o] {
    color: var(--accent-danger);
    font-weight: 600;
}

.balance-nb[b-eegwesmw6o] {
    font-size: 11px;
    color: var(--text-muted);
}

.balance-empty[b-eegwesmw6o] {
    color: var(--text-muted);
    font-style: italic;
    margin: 8px 0;
}

/* ============================================================
   Sprint 55 - Visuels alignement mockup_reporting_analyse_financiere
   ============================================================ */

/* Compte numero (mono) - reuse pour position bancaire & heatmap */
.compte-num[b-eegwesmw6o] {
    font-family: var(--font-monospace);
    font-weight: 600;
    color: var(--accent-primary);
}

/* Indicateurs marge (mockup l. 432-444) */
.reporting-cli-marge[b-eegwesmw6o] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin: 16px 0;
}

.marge-card[b-eegwesmw6o] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.marge-card .marge-label[b-eegwesmw6o] {
    font-size: 12px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.marge-card .marge-value[b-eegwesmw6o] {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.1;
}

.marge-card .marge-value.marge-pos[b-eegwesmw6o] { color: var(--accent-success); }
.marge-card .marge-value.marge-neg[b-eegwesmw6o] { color: var(--accent-danger); }

.marge-card .marge-trend[b-eegwesmw6o] {
    font-size: 12px;
    color: var(--text-muted);
}

.marge-card .marge-trend.trend-up[b-eegwesmw6o]    { color: var(--accent-success); }
.marge-card .marge-trend.trend-down[b-eegwesmw6o]  { color: var(--accent-danger); }

/* Heatmap actifs immobiliers (mockup l. 446-485) */
.heatmap-table .heatmap-row.heatmap-good td:nth-child(6)[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-success) 18%, transparent);
}
.heatmap-table .heatmap-row.heatmap-medium td:nth-child(6)[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-warning) 18%, transparent);
}
.heatmap-table .heatmap-row.heatmap-low td:nth-child(6)[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-danger) 18%, transparent);
}

.trend-up[b-eegwesmw6o]   { color: var(--accent-success); font-weight: 600; }
.trend-down[b-eegwesmw6o] { color: var(--accent-danger); font-weight: 600; }

/* Waterfall ANR legend */
.anr-legend[b-eegwesmw6o] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
    font-size: 12px;
    color: var(--text-muted);
}

.anr-legend-item[b-eegwesmw6o] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.anr-legend-dot[b-eegwesmw6o] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    background: var(--accent-primary);
}

.anr-cat-start     .anr-legend-dot[b-eegwesmw6o] { background: var(--accent-primary); }
.anr-cat-driver_pos .anr-legend-dot[b-eegwesmw6o] { background: var(--accent-success); }
.anr-cat-driver_neg .anr-legend-dot[b-eegwesmw6o] { background: var(--accent-danger); }
.anr-cat-end       .anr-legend-dot[b-eegwesmw6o] { background: var(--accent-purple); }

/* Intercos enrichi - statut SOLDE / ECART */
.interco-statut[b-eegwesmw6o] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.interco-statut-solde[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-success) 18%, transparent);
    color: var(--accent-success);
}

.interco-statut-ecart[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-warning) 18%, transparent);
    color: var(--accent-warning);
}

/* Scatter tiers a risque */
.scatter-legend[b-eegwesmw6o] {
    display: flex;
    gap: 16px;
    margin-top: 12px;
    font-size: 12px;
    color: var(--text-muted);
    justify-content: center;
}

.scatter-leg[b-eegwesmw6o] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.scatter-leg[b-eegwesmw6o]::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--accent-primary);
    display: inline-block;
}

.scatter-low[b-eegwesmw6o]::before    { background: var(--accent-success); }
.scatter-medium[b-eegwesmw6o]::before { background: var(--accent-warning); }
.scatter-high[b-eegwesmw6o]::before   { background: var(--accent-danger); }

/* Sprint 59 - Annotation Zone critique scatter */
.scatter-zone-critique[b-eegwesmw6o] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-danger) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 30%, transparent);
    color: var(--text-primary);
    font-size: 12px;
}

.scatter-zone-critique .e-icons[b-eegwesmw6o] {
    color: var(--accent-danger);
    font-size: 16px;
}

.scatter-zone-critique strong[b-eegwesmw6o] {
    color: var(--accent-danger);
}

/* Sprint 59 - Badges statut compte bancaire */
.bank-statut[b-eegwesmw6o] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.bank-statut-ok[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-success) 18%, transparent);
    color: var(--accent-success);
}

.bank-statut-ecart[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-warning) 18%, transparent);
    color: var(--accent-warning);
}

.bank-statut-aucun[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--text-muted) 18%, transparent);
    color: var(--text-muted);
}

/* ============================================================
   Sprint 60 - Onglet Echeancier (mockup l. 304-375)
   ============================================================ */

.waterfall-line[b-eegwesmw6o] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 6px 0;
    border-bottom: 1px solid var(--border-color);
}
.waterfall-line:last-child[b-eegwesmw6o] { border-bottom: none; }

.waterfall-line-label[b-eegwesmw6o] {
    font-size: 12px;
    color: var(--text-secondary);
}

.waterfall-line-amount[b-eegwesmw6o] {
    font-family: var(--font-monospace);
    font-size: 13px;
    font-weight: 600;
}

.waterfall-line--in    .waterfall-line-amount[b-eegwesmw6o] { color: var(--accent-success); }
.waterfall-line--out   .waterfall-line-amount[b-eegwesmw6o] { color: var(--accent-danger); }
.waterfall-line--neutral .waterfall-line-amount[b-eegwesmw6o] { color: var(--text-primary); }
.waterfall-line--result[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 8px;
    border-radius: 4px;
    border: 1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent);
}
.waterfall-line--result .waterfall-line-amount[b-eegwesmw6o] {
    color: var(--accent-primary);
    font-weight: 700;
}

.bfr-card[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 10px;
}

.bfr-card:last-child[b-eegwesmw6o] { margin-bottom: 0; }

.bfr-label[b-eegwesmw6o] {
    font-size: 11px;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

.bfr-value[b-eegwesmw6o] {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.bfr-num[b-eegwesmw6o] {
    font-size: 28px;
    font-weight: 700;
    color: var(--text-primary);
}

.bfr-unit[b-eegwesmw6o] {
    font-size: 12px;
    color: var(--text-muted);
}

.echeance-critique[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-danger) 6%, transparent);
}

/* Drilldown links — visuels discrets dans tableau */
.link-drilldown[b-eegwesmw6o] {
    color: var(--accent-primary);
    text-decoration: none;
    border-bottom: 1px dotted color-mix(in srgb, var(--accent-primary) 40%, transparent);
}
.link-drilldown:hover[b-eegwesmw6o] {
    text-decoration: none;
    border-bottom-color: var(--accent-primary);
    color: var(--accent-primary);
}

/* Sprint 61 - Bandeau message export Excel */
.reporting-cli-export-msg[b-eegwesmw6o] {
    margin: 8px 0 0 0;
    padding: 8px 12px;
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
    font-weight: 500;
}

.reporting-cli-export-msg.is-success[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-success) 40%, transparent);
    color: var(--accent-success);
}

.reporting-cli-export-msg.is-error[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-danger) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 40%, transparent);
    color: var(--accent-danger);
}

/* Sprint 61 - Waterfall ANR natif (mockup l. 405-444) */
.waterfall-anr[b-eegwesmw6o] {
    display: flex;
    align-items: stretch;
    gap: 12px;
    height: 280px;
    padding: 12px 8px 0 8px;
    margin-top: 8px;
    border-bottom: 1px solid var(--border-color);
}

.waterfall-col[b-eegwesmw6o] {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    min-width: 60px;
}

.waterfall-bar-wrap[b-eegwesmw6o] {
    flex: 1 1 auto;
    position: relative;
    width: 100%;
}

.waterfall-bar[b-eegwesmw6o] {
    position: absolute;
    left: 18%;
    right: 18%;
    border-radius: 4px 4px 2px 2px;
    background: var(--accent-primary);
    box-shadow: 0 1px 2px rgba(0,0,0,0.08);
    transition: filter 0.15s;
}

.waterfall-bar:hover[b-eegwesmw6o] {
    filter: brightness(1.1);
}

.waterfall-bar-value[b-eegwesmw6o] {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 11px;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
}

.waterfall-label[b-eegwesmw6o] {
    margin-top: 6px;
    text-align: center;
    font-size: 11px;
    color: var(--text-muted);
    line-height: 1.2;
    word-break: break-word;
}

.waterfall-col.anr-cat-start     .waterfall-bar[b-eegwesmw6o] { background: var(--accent-primary); }
.waterfall-col.anr-cat-driver_pos .waterfall-bar[b-eegwesmw6o] { background: var(--accent-success); }
.waterfall-col.anr-cat-driver_neg .waterfall-bar[b-eegwesmw6o] { background: var(--accent-danger); }
.waterfall-col.anr-cat-end       .waterfall-bar[b-eegwesmw6o] { background: var(--accent-purple); }

/* Sprint 61 - Scatter tiers natif (mockup l. 575-610) */
.scatter-tiers[b-eegwesmw6o] {
    display: grid;
    grid-template-columns: 32px 1fr;
    grid-template-rows: 1fr 28px;
    gap: 4px;
    height: 360px;
    margin-top: 8px;
}

.scatter-axis-y[b-eegwesmw6o] {
    grid-column: 1;
    grid-row: 1;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-align: center;
    font-size: 11px;
    color: var(--text-muted);
    align-self: center;
}

.scatter-plot[b-eegwesmw6o] {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    background: linear-gradient(to top, var(--bg-secondary), var(--bg-card));
    border-left: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    border-radius: 0 6px 0 0;
    overflow: hidden;
}

.scatter-grid-x[b-eegwesmw6o] {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: color-mix(in srgb, var(--border-color) 60%, transparent);
}

.scatter-zone-marker[b-eegwesmw6o] {
    position: absolute;
    right: 0;
    top: 0;
    height: 50%;
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border-left: 1px dashed color-mix(in srgb, var(--accent-danger) 50%, transparent);
    border-bottom: 1px dashed color-mix(in srgb, var(--accent-danger) 50%, transparent);
    pointer-events: none;
}

.scatter-bubble[b-eegwesmw6o] {
    position: absolute;
    border-radius: 50%;
    transform: translate(-50%, 50%);
    border: 2px solid white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
    cursor: pointer;
    transition: transform 0.15s;
}

.scatter-bubble:hover[b-eegwesmw6o] {
    transform: translate(-50%, 50%) scale(1.15);
    z-index: 10;
}

.scatter-bubble.scatter-low[b-eegwesmw6o]    { background: color-mix(in srgb, var(--accent-success) 75%, transparent); }
.scatter-bubble.scatter-medium[b-eegwesmw6o] { background: color-mix(in srgb, var(--accent-warning) 75%, transparent); }
.scatter-bubble.scatter-high[b-eegwesmw6o]   { background: color-mix(in srgb, var(--accent-danger) 75%, transparent); }

.scatter-axis-x[b-eegwesmw6o] {
    grid-column: 2;
    grid-row: 2;
    text-align: center;
    font-size: 11px;
    color: var(--text-muted);
    padding-top: 8px;
}

/* Sprint 61 - Heatmap colorees (cellules toutes colonnes) */
.heatmap-table .heatmap-row.heatmap-good[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-success) 5%, transparent);
}
.heatmap-table .heatmap-row.heatmap-medium[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-warning) 5%, transparent);
}
.heatmap-table .heatmap-row.heatmap-low[b-eegwesmw6o] {
    background: color-mix(in srgb, var(--accent-danger) 5%, transparent);
}
.heatmap-table .heatmap-row.heatmap-good td:first-child[b-eegwesmw6o] {
    border-left: 3px solid var(--accent-success);
}
.heatmap-table .heatmap-row.heatmap-medium td:first-child[b-eegwesmw6o] {
    border-left: 3px solid var(--accent-warning);
}
.heatmap-table .heatmap-row.heatmap-low td:first-child[b-eegwesmw6o] {
    border-left: 3px solid var(--accent-danger);
}
/* _content/Revio.Web/Pages/Reporting/Entites.razor.rz.scp.css */
/* Sprint 39 - page /reporting/entites (analyse financiere entite legale)
   Reutilise les memes classes que Clients.razor.css mais en CSS isolation
   (Blazor scope les selecteurs par fichier .razor.css). */

.reporting-cli-greeting[b-ccaejmdtfc] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: 12px 16px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.reporting-cli-context[b-ccaejmdtfc] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cli-context-label[b-ccaejmdtfc] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-weight: 500;
}

.cli-context-divider[b-ccaejmdtfc] {
    color: var(--text-muted);
}

.cli-context-divider[b-ccaejmdtfc]::before {
    content: "·";
}

.cli-context-meta[b-ccaejmdtfc] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

/* Sprint 61 - Selecteur exercice (toolbar droite) */
.reporting-cli-actions[b-ccaejmdtfc] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.reporting-annee-selector[b-ccaejmdtfc] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--font-size-sm);
}

.reporting-annee-selector label[b-ccaejmdtfc] {
    color: var(--text-secondary);
    font-weight: 500;
}

/* Sprint 61 - Toggle "Inclure les brouillards" */
.reporting-brouillard-toggle[b-ccaejmdtfc] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
    user-select: none;
}

.reporting-brouillard-toggle input[type="checkbox"][b-ccaejmdtfc] {
    cursor: pointer;
    accent-color: var(--primary);
}

/* --- Onglets --- */
.reporting-cli-tabs[b-ccaejmdtfc] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 16px;
}

.reporting-cli-tab[b-ccaejmdtfc] {
    padding: 10px 16px;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    font-family: var(--font-body);
    font-size: var(--font-size-sm);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-bottom: 2px solid transparent;
    transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.reporting-cli-tab:hover[b-ccaejmdtfc] {
    color: var(--text-primary);
}

.reporting-cli-tab.is-active[b-ccaejmdtfc] {
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    border-bottom-color: var(--accent-primary);
    font-weight: 600;
}

/* --- KPIs --- */
.reporting-cli-kpis[b-ccaejmdtfc] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

@media (max-width: 1100px) {
    .reporting-cli-kpis[b-ccaejmdtfc] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.reporting-cli-kpis .kpi-sub[b-ccaejmdtfc] {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 4px;
}

/* --- Bilan synthetique --- */
.reporting-cli-bilan[b-ccaejmdtfc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

@media (max-width: 1100px) {
    .reporting-cli-bilan[b-ccaejmdtfc] {
        grid-template-columns: 1fr;
    }
}

.bilan-card[b-ccaejmdtfc] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: 16px;
}

.bilan-card-header[b-ccaejmdtfc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-color);
}

.bilan-card-header h3[b-ccaejmdtfc] {
    margin: 0;
    font-size: var(--font-size-md);
    font-weight: 600;
    color: var(--text-primary);
}

.bilan-badge[b-ccaejmdtfc] {
    font-size: 9px;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.bilan-badge-actif[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
    color: var(--accent-primary);
}

.bilan-badge-passif[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-purple) 15%, transparent);
    color: var(--accent-purple);
}

.bilan-line[b-ccaejmdtfc] {
    display: grid;
    grid-template-columns: 150px 1fr 90px 50px;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.bilan-line-label[b-ccaejmdtfc] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bilan-line-bar[b-ccaejmdtfc] {
    height: 4px;
    background: var(--bg-hover, rgba(0, 0, 0, 0.06));
    border-radius: 2px;
    overflow: hidden;
}

.bilan-line-bar-fill[b-ccaejmdtfc] {
    height: 100%;
    border-radius: 2px;
    transition: width 0.4s ease;
}

.bilan-line-bar-fill--actif[b-ccaejmdtfc] {
    background: var(--accent-primary);
}

.bilan-line-bar-fill--passif[b-ccaejmdtfc] {
    background: var(--accent-purple);
}

.bilan-line-amount[b-ccaejmdtfc] {
    font-family: var(--font-monospace);
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--text-primary);
    text-align: right;
}

.bilan-line-pct[b-ccaejmdtfc] {
    font-size: 11px;
    color: var(--text-muted);
    text-align: right;
}

/* --- Hint / placeholder --- */
.reporting-cli-hint[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-info) 6%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-info) 20%, transparent);
    border-radius: var(--border-radius-md);
    padding: 10px 14px;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    display: flex;
    align-items: center;
    gap: 8px;
}

.reporting-cli-hint a[b-ccaejmdtfc] {
    color: var(--accent-info);
    text-decoration: underline;
}

.reporting-cli-placeholder[b-ccaejmdtfc] {
    background: var(--bg-card);
    border: 1px dashed var(--border-color);
    border-radius: var(--border-radius-md);
    padding: 48px 24px;
    text-align: center;
}

.reporting-cli-placeholder .placeholder-icon[b-ccaejmdtfc] {
    font-size: 36px;
    color: var(--text-muted);
    display: block;
    margin: 0 auto 12px;
}

.reporting-cli-placeholder h3[b-ccaejmdtfc] {
    margin: 0 0 8px;
    font-size: var(--font-size-lg);
    color: var(--text-primary);
}

.reporting-cli-placeholder p[b-ccaejmdtfc] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    line-height: 1.5;
}

/* --- Ratios AMF (Sprint 40) --- */
.ratios-amf-grid[b-ccaejmdtfc] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

@media (max-width: 1100px) {
    .ratios-amf-grid[b-ccaejmdtfc] {
        grid-template-columns: 1fr;
    }
}

/* Sprint 61 - Cartes ratios AMF style mockup (jauges centrees + barre progression) */
.ratio-gauge[b-ccaejmdtfc] {
    padding: 14px 12px;
    border-radius: var(--border-radius-md);
    border: 1px solid var(--border-color);
    background: var(--bg-secondary);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 6px;
    transition: border-color 0.15s, transform 0.15s;
}

.ratio-gauge:hover[b-ccaejmdtfc] {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--accent-primary) 40%, var(--border-color));
}

.ratio-gauge-value[b-ccaejmdtfc] {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.ratio-gauge.ratio-ok .ratio-gauge-value[b-ccaejmdtfc] {
    color: var(--accent-success);
}

.ratio-gauge.ratio-ko .ratio-gauge-value[b-ccaejmdtfc] {
    color: var(--accent-danger);
}

.ratio-gauge-label[b-ccaejmdtfc] {
    font-size: 11px;
    color: var(--text-muted);
    line-height: 1.3;
}

.ratio-gauge-bar[b-ccaejmdtfc] {
    height: 4px;
    background: var(--border-color);
    border-radius: 2px;
    overflow: hidden;
    margin-top: 4px;
}

.ratio-gauge-bar-fill[b-ccaejmdtfc] {
    height: 100%;
    border-radius: 2px;
    transition: width 0.3s ease;
}

.ratio-gauge.ratio-ok .ratio-gauge-bar-fill[b-ccaejmdtfc] {
    background: var(--accent-success);
}

.ratio-gauge.ratio-ko .ratio-gauge-bar-fill[b-ccaejmdtfc] {
    background: var(--accent-danger);
}

.ratio-gauge-foot[b-ccaejmdtfc] {
    font-size: 9px;
    color: var(--text-muted);
    margin-top: 2px;
    font-style: italic;
}

/* --- Balance agee (Sprint 41) --- */
.balance-table[b-ccaejmdtfc] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.balance-table th[b-ccaejmdtfc],
.balance-table td[b-ccaejmdtfc] {
    padding: 8px 10px;
    border-bottom: 1px solid var(--border-color);
    text-align: left;
}

.balance-table th[b-ccaejmdtfc] {
    font-weight: 600;
    color: var(--text-secondary);
    background: color-mix(in srgb, var(--bg-card) 60%, transparent);
}

.balance-table td.num[b-ccaejmdtfc],
.balance-table th.num[b-ccaejmdtfc] {
    text-align: right;
    font-family: var(--font-monospace);
}

.balance-table tfoot td[b-ccaejmdtfc] {
    border-top: 2px solid var(--border-color);
    border-bottom: none;
    background: color-mix(in srgb, var(--accent-primary) 5%, transparent);
}

.balance-table .balance-warn[b-ccaejmdtfc] {
    color: var(--accent-danger);
    font-weight: 600;
}

.balance-nb[b-ccaejmdtfc] {
    font-size: 11px;
    color: var(--text-muted);
}

.balance-empty[b-ccaejmdtfc] {
    color: var(--text-muted);
    font-style: italic;
    margin: 8px 0;
}

/* ============================================================
   Sprint 55 - Visuels alignement mockup
   ============================================================ */

.compte-num[b-ccaejmdtfc] {
    font-family: var(--font-monospace);
    font-weight: 600;
    color: var(--accent-primary);
}

.reporting-cli-marge[b-ccaejmdtfc] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin: 16px 0;
}

.marge-card[b-ccaejmdtfc] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.marge-card .marge-label[b-ccaejmdtfc] {
    font-size: 12px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.marge-card .marge-value[b-ccaejmdtfc] {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.1;
}

.marge-card .marge-value.marge-pos[b-ccaejmdtfc] { color: var(--accent-success); }
.marge-card .marge-value.marge-neg[b-ccaejmdtfc] { color: var(--accent-danger); }

.marge-card .marge-trend[b-ccaejmdtfc] {
    font-size: 12px;
    color: var(--text-muted);
}

.marge-card .marge-trend.trend-up[b-ccaejmdtfc]    { color: var(--accent-success); }
.marge-card .marge-trend.trend-down[b-ccaejmdtfc]  { color: var(--accent-danger); }

.heatmap-table .heatmap-row.heatmap-good td:nth-child(6)[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-success) 18%, transparent);
}
.heatmap-table .heatmap-row.heatmap-medium td:nth-child(6)[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-warning) 18%, transparent);
}
.heatmap-table .heatmap-row.heatmap-low td:nth-child(6)[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-danger) 18%, transparent);
}

.trend-up[b-ccaejmdtfc]   { color: var(--accent-success); font-weight: 600; }
.trend-down[b-ccaejmdtfc] { color: var(--accent-danger); font-weight: 600; }

.anr-legend[b-ccaejmdtfc] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
    font-size: 12px;
    color: var(--text-muted);
}

.anr-legend-item[b-ccaejmdtfc] { display: inline-flex; align-items: center; gap: 6px; }

.anr-legend-dot[b-ccaejmdtfc] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    background: var(--accent-primary);
}

.anr-cat-start     .anr-legend-dot[b-ccaejmdtfc] { background: var(--accent-primary); }
.anr-cat-driver_pos .anr-legend-dot[b-ccaejmdtfc] { background: var(--accent-success); }
.anr-cat-driver_neg .anr-legend-dot[b-ccaejmdtfc] { background: var(--accent-danger); }
.anr-cat-end       .anr-legend-dot[b-ccaejmdtfc] { background: var(--accent-purple); }

.interco-statut[b-ccaejmdtfc] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.interco-statut-solde[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-success) 18%, transparent);
    color: var(--accent-success);
}

.interco-statut-ecart[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-warning) 18%, transparent);
    color: var(--accent-warning);
}

.scatter-legend[b-ccaejmdtfc] {
    display: flex;
    gap: 16px;
    margin-top: 12px;
    font-size: 12px;
    color: var(--text-muted);
    justify-content: center;
}

.scatter-leg[b-ccaejmdtfc] { display: inline-flex; align-items: center; gap: 6px; }

.scatter-leg[b-ccaejmdtfc]::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--accent-primary);
    display: inline-block;
}

.scatter-low[b-ccaejmdtfc]::before    { background: var(--accent-success); }
.scatter-medium[b-ccaejmdtfc]::before { background: var(--accent-warning); }
.scatter-high[b-ccaejmdtfc]::before   { background: var(--accent-danger); }

/* Sprint 59 - Annotation Zone critique scatter */
.scatter-zone-critique[b-ccaejmdtfc] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-danger) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 30%, transparent);
    color: var(--text-primary);
    font-size: 12px;
}

.scatter-zone-critique .e-icons[b-ccaejmdtfc] {
    color: var(--accent-danger);
    font-size: 16px;
}

.scatter-zone-critique strong[b-ccaejmdtfc] {
    color: var(--accent-danger);
}

/* Sprint 59 - Badges statut compte bancaire (alignes mockup l. 410-415) */
.bank-statut[b-ccaejmdtfc] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.bank-statut-ok[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-success) 18%, transparent);
    color: var(--accent-success);
}

.bank-statut-ecart[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-warning) 18%, transparent);
    color: var(--accent-warning);
}

.bank-statut-aucun[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--text-muted) 18%, transparent);
    color: var(--text-muted);
}

/* ============================================================
   Sprint 60 - Onglet Echeancier (mockup l. 304-375)
   ============================================================ */

.waterfall-line[b-ccaejmdtfc] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 6px 0;
    border-bottom: 1px solid var(--border-color);
}
.waterfall-line:last-child[b-ccaejmdtfc] { border-bottom: none; }

.waterfall-line-label[b-ccaejmdtfc] {
    font-size: 12px;
    color: var(--text-secondary);
}

.waterfall-line-amount[b-ccaejmdtfc] {
    font-family: var(--font-monospace);
    font-size: 13px;
    font-weight: 600;
}

.waterfall-line--in    .waterfall-line-amount[b-ccaejmdtfc] { color: var(--accent-success); }
.waterfall-line--out   .waterfall-line-amount[b-ccaejmdtfc] { color: var(--accent-danger); }
.waterfall-line--neutral .waterfall-line-amount[b-ccaejmdtfc] { color: var(--text-primary); }
.waterfall-line--result[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 8px;
    border-radius: 4px;
    border: 1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent);
}
.waterfall-line--result .waterfall-line-amount[b-ccaejmdtfc] {
    color: var(--accent-primary);
    font-weight: 700;
}

.bfr-card[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 10px;
}
.bfr-card:last-child[b-ccaejmdtfc] { margin-bottom: 0; }

.bfr-label[b-ccaejmdtfc] {
    font-size: 11px;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

.bfr-value[b-ccaejmdtfc] {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.bfr-num[b-ccaejmdtfc] {
    font-size: 28px;
    font-weight: 700;
    color: var(--text-primary);
}

.bfr-unit[b-ccaejmdtfc] {
    font-size: 12px;
    color: var(--text-muted);
}

.echeance-critique[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-danger) 6%, transparent);
}

.link-drilldown[b-ccaejmdtfc] {
    color: var(--accent-primary);
    text-decoration: none;
    border-bottom: 1px dotted color-mix(in srgb, var(--accent-primary) 40%, transparent);
}
.link-drilldown:hover[b-ccaejmdtfc] {
    text-decoration: none;
    border-bottom-color: var(--accent-primary);
    color: var(--accent-primary);
}

/* Sprint 61 - Bandeau message export Excel */
.reporting-cli-export-msg[b-ccaejmdtfc] {
    margin: 8px 0 0 0;
    padding: 8px 12px;
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
    font-weight: 500;
}

.reporting-cli-export-msg.is-success[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-success) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-success) 40%, transparent);
    color: var(--accent-success);
}

.reporting-cli-export-msg.is-error[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-danger) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 40%, transparent);
    color: var(--accent-danger);
}

/* Sprint 61 - Waterfall ANR natif (mockup l. 405-444) */
.waterfall-anr[b-ccaejmdtfc] {
    display: flex;
    align-items: stretch;
    gap: 12px;
    height: 280px;
    padding: 12px 8px 0 8px;
    margin-top: 8px;
    border-bottom: 1px solid var(--border-color);
}

.waterfall-col[b-ccaejmdtfc] {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    min-width: 60px;
}

.waterfall-bar-wrap[b-ccaejmdtfc] {
    flex: 1 1 auto;
    position: relative;
    width: 100%;
}

.waterfall-bar[b-ccaejmdtfc] {
    position: absolute;
    left: 18%;
    right: 18%;
    border-radius: 4px 4px 2px 2px;
    background: var(--accent-primary);
    box-shadow: 0 1px 2px rgba(0,0,0,0.08);
    transition: filter 0.15s;
}

.waterfall-bar:hover[b-ccaejmdtfc] {
    filter: brightness(1.1);
}

.waterfall-bar-value[b-ccaejmdtfc] {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 11px;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
}

.waterfall-label[b-ccaejmdtfc] {
    margin-top: 6px;
    text-align: center;
    font-size: 11px;
    color: var(--text-muted);
    line-height: 1.2;
    word-break: break-word;
}

.waterfall-col.anr-cat-start     .waterfall-bar[b-ccaejmdtfc] { background: var(--accent-primary); }
.waterfall-col.anr-cat-driver_pos .waterfall-bar[b-ccaejmdtfc] { background: var(--accent-success); }
.waterfall-col.anr-cat-driver_neg .waterfall-bar[b-ccaejmdtfc] { background: var(--accent-danger); }
.waterfall-col.anr-cat-end       .waterfall-bar[b-ccaejmdtfc] { background: var(--accent-purple); }

/* Sprint 61 - Scatter tiers natif (mockup l. 575-610) */
.scatter-tiers[b-ccaejmdtfc] {
    display: grid;
    grid-template-columns: 32px 1fr;
    grid-template-rows: 1fr 28px;
    gap: 4px;
    height: 360px;
    margin-top: 8px;
}

.scatter-axis-y[b-ccaejmdtfc] {
    grid-column: 1;
    grid-row: 1;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-align: center;
    font-size: 11px;
    color: var(--text-muted);
    align-self: center;
}

.scatter-plot[b-ccaejmdtfc] {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    background: linear-gradient(to top, var(--bg-secondary), var(--bg-card));
    border-left: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    border-radius: 0 6px 0 0;
    overflow: hidden;
}

.scatter-grid-x[b-ccaejmdtfc] {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: color-mix(in srgb, var(--border-color) 60%, transparent);
}

.scatter-zone-marker[b-ccaejmdtfc] {
    position: absolute;
    right: 0;
    top: 0;
    height: 50%;
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border-left: 1px dashed color-mix(in srgb, var(--accent-danger) 50%, transparent);
    border-bottom: 1px dashed color-mix(in srgb, var(--accent-danger) 50%, transparent);
    pointer-events: none;
}

.scatter-bubble[b-ccaejmdtfc] {
    position: absolute;
    border-radius: 50%;
    transform: translate(-50%, 50%);
    border: 2px solid white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
    cursor: pointer;
    transition: transform 0.15s;
}

.scatter-bubble:hover[b-ccaejmdtfc] {
    transform: translate(-50%, 50%) scale(1.15);
    z-index: 10;
}

.scatter-bubble.scatter-low[b-ccaejmdtfc]    { background: color-mix(in srgb, var(--accent-success) 75%, transparent); }
.scatter-bubble.scatter-medium[b-ccaejmdtfc] { background: color-mix(in srgb, var(--accent-warning) 75%, transparent); }
.scatter-bubble.scatter-high[b-ccaejmdtfc]   { background: color-mix(in srgb, var(--accent-danger) 75%, transparent); }

.scatter-axis-x[b-ccaejmdtfc] {
    grid-column: 2;
    grid-row: 2;
    text-align: center;
    font-size: 11px;
    color: var(--text-muted);
    padding-top: 8px;
}

/* Sprint 61 - Heatmap colorees (cellules toutes colonnes) */
.heatmap-table .heatmap-row.heatmap-good[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-success) 5%, transparent);
}
.heatmap-table .heatmap-row.heatmap-medium[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-warning) 5%, transparent);
}
.heatmap-table .heatmap-row.heatmap-low[b-ccaejmdtfc] {
    background: color-mix(in srgb, var(--accent-danger) 5%, transparent);
}
.heatmap-table .heatmap-row.heatmap-good td:first-child[b-ccaejmdtfc] {
    border-left: 3px solid var(--accent-success);
}
.heatmap-table .heatmap-row.heatmap-medium td:first-child[b-ccaejmdtfc] {
    border-left: 3px solid var(--accent-warning);
}
.heatmap-table .heatmap-row.heatmap-low td:first-child[b-ccaejmdtfc] {
    border-left: 3px solid var(--accent-danger);
}
/* _content/Revio.Web/Pages/Reporting/Immobilisations.razor.rz.scp.css */
.reporting-immo-toolbar[b-t38kiycz9r] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-md, 16px);
    margin-bottom: var(--spacing-lg, 24px);
}

.reporting-immo-context[b-t38kiycz9r] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm, 8px);
}

.cli-context-label[b-t38kiycz9r] {
    color: var(--text-secondary, #6b7280);
    font-size: 0.9rem;
    font-weight: 500;
}

.reporting-immo-actions[b-t38kiycz9r] {
    display: flex;
    gap: var(--spacing-sm, 8px);
}

.reporting-immo-empty[b-t38kiycz9r] {
    background: var(--surface-subtle, #f9fafb);
    border: 1px dashed var(--border-subtle, #d1d5db);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-lg, 32px);
    text-align: center;
    color: var(--text-secondary, #6b7280);
}

.reporting-immo-kpis[b-t38kiycz9r] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--spacing-md, 16px);
    margin-bottom: var(--spacing-lg, 24px);
}

.reporting-immo-kpi[b-t38kiycz9r] {
    background: var(--surface-card, #ffffff);
    border: 1px solid var(--border-subtle, #e5e7eb);
    border-left: 3px solid var(--accent-purple, #7c3aed);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-md, 16px);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.kpi-label[b-t38kiycz9r] {
    color: var(--text-secondary, #6b7280);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.kpi-value[b-t38kiycz9r] {
    color: var(--text-primary, #111827);
    font-size: 1.4rem;
    font-weight: 600;
}

.txt-success[b-t38kiycz9r] { color: #16a34a; }
.txt-danger[b-t38kiycz9r] { color: #dc2626; }

.reporting-immo-grid[b-t38kiycz9r] {
    background: var(--surface-card, #ffffff);
    border: 1px solid var(--border-subtle, #e5e7eb);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-sm, 8px);
    margin-bottom: var(--spacing-md, 16px);
}

.reporting-immo-footer small[b-t38kiycz9r] {
    color: var(--text-tertiary, #9ca3af);
    font-size: 0.8rem;
}
/* _content/Revio.Web/Pages/Reporting/Index.razor.rz.scp.css */
/* Reporting page - scoped styles */

/* --- Bandeau accueil --- */
.reporting-greeting[b-gk58wqjzn3] {
    background: var(--gradient-hero);
    border-radius: var(--border-radius-md);
    padding: 8px 16px;
    margin-bottom: var(--spacing-md);
    display: flex;
    align-items: center;
    gap: 10px;
}

.greeting-text[b-gk58wqjzn3] {
    font-size: var(--font-size-md);
    font-weight: 700;
    color: var(--text-on-accent);
    white-space: nowrap;
}

.greeting-divider[b-gk58wqjzn3] {
    width: 1px;
    height: 18px;
    background: var(--divider-on-accent);
    flex-shrink: 0;
}

.greeting-date[b-gk58wqjzn3] {
    font-size: var(--font-size-sm);
    color: var(--text-on-accent-muted);
    text-transform: capitalize;
    white-space: nowrap;
}

.greeting-spacer[b-gk58wqjzn3] {
    flex: 1 1 auto;
}

/* Sprint 29 - selecteur exercice */
.reporting-annee-selector[b-gk58wqjzn3] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-on-accent);
    font-size: var(--font-size-sm);
}

.reporting-annee-selector label[b-gk58wqjzn3] {
    color: var(--text-on-accent-muted);
    font-weight: 500;
}

/* --- Export feedback --- */
.reporting-export-feedback[b-gk58wqjzn3] {
    margin-bottom: var(--spacing-md);
    padding: 10px 14px;
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
}

.reporting-export-feedback.is-success[b-gk58wqjzn3] {
    background: color-mix(in srgb, var(--accent-success) 10%, transparent);
    color: var(--accent-success);
    border: 1px solid color-mix(in srgb, var(--accent-success) 30%, transparent);
}

.reporting-export-feedback.is-error[b-gk58wqjzn3] {
    background: color-mix(in srgb, var(--accent-danger) 10%, transparent);
    color: var(--accent-danger);
    border: 1px solid color-mix(in srgb, var(--accent-danger) 30%, transparent);
}

/* --- 6 KPI Cards (reuse Dashboard pattern) --- */
.reporting-kpis[b-gk58wqjzn3] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}

@media (max-width: 1280px) {
    .reporting-kpis[b-gk58wqjzn3] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 720px) {
    .reporting-kpis[b-gk58wqjzn3] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.kpi-card[b-gk58wqjzn3] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-md);
    box-shadow: var(--shadow-card);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    min-width: 0;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.kpi-card:hover[b-gk58wqjzn3] {
    transform: translateY(-2px);
    box-shadow: var(--shadow-popup);
}

.kpi-icon[b-gk58wqjzn3] {
    width: 44px;
    height: 44px;
    border-radius: var(--border-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-lg);
    flex-shrink: 0;
}

.kpi-content[b-gk58wqjzn3] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.kpi-value[b-gk58wqjzn3] {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    font-family: var(--font-heading);
    color: var(--text-primary);
}

.kpi-label[b-gk58wqjzn3] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

/* Sprint 28 - KPI delta vs N-1 */
.kpi-delta[b-gk58wqjzn3] {
    margin-top: 4px;
    font-size: var(--font-size-xs);
    font-weight: 600;
    letter-spacing: 0.02em;
}

.kpi-delta.delta-good[b-gk58wqjzn3] {
    color: var(--accent-success);
}

.kpi-delta.delta-bad[b-gk58wqjzn3] {
    color: var(--accent-danger);
}

.kpi-delta.delta-neutral[b-gk58wqjzn3] {
    color: var(--text-secondary);
}

/* --- Charts --- */
.reporting-charts[b-gk58wqjzn3] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}

@media (max-width: 1024px) {
    .reporting-charts[b-gk58wqjzn3] {
        grid-template-columns: 1fr;
    }
}

.chart-card[b-gk58wqjzn3] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-md);
    box-shadow: var(--shadow-card);
}

.chart-title[b-gk58wqjzn3] {
    font-size: var(--font-size-md);
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-sm) 0;
}

.chart-empty[b-gk58wqjzn3] {
    color: var(--text-secondary);
    font-style: italic;
    padding: var(--spacing-lg);
    text-align: center;
}

/* --- Top 5 entites --- */
.reporting-top5[b-gk58wqjzn3] {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-md);
    box-shadow: var(--shadow-card);
}

.reporting-section-title[b-gk58wqjzn3] {
    font-size: var(--font-size-md);
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 var(--spacing-md) 0;
}

.reporting-top5-table[b-gk58wqjzn3] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.reporting-top5-table thead th[b-gk58wqjzn3] {
    text-align: left;
    padding: 8px 12px;
    color: var(--text-secondary);
    font-weight: 600;
    border-bottom: 1px solid var(--border-divider);
    text-transform: uppercase;
    font-size: var(--font-size-xs);
    letter-spacing: 0.05em;
}

.reporting-top5-table tbody td[b-gk58wqjzn3] {
    padding: 10px 12px;
    border-bottom: 1px solid var(--border-divider);
    color: var(--text-primary);
}

/* Sprint 28 - row clickable */
.reporting-top5-row[b-gk58wqjzn3] {
    cursor: pointer;
    transition: background 0.12s ease;
}

.reporting-top5-row:hover[b-gk58wqjzn3] {
    background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
}

.reporting-top5-table tbody tr:last-child td[b-gk58wqjzn3] {
    border-bottom: none;
}

.reporting-top5-table .num-col[b-gk58wqjzn3] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.reporting-rank-badge[b-gk58wqjzn3] {
    display: inline-flex;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
    color: var(--accent-primary);
    font-size: var(--font-size-xs);
    font-weight: 700;
    align-items: center;
    justify-content: center;
}

/* Sprint 38 - Power BI Embedded POC R1 - onglet Tableaux Power BI */
.reporting-pbi[b-gk58wqjzn3] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    margin-top: var(--space-lg);
}

.reporting-pbi-header[b-gk58wqjzn3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    margin-bottom: var(--space-md);
}

.reporting-pbi-header .reporting-section-title[b-gk58wqjzn3] { margin: 0; }

.reporting-pbi-badge[b-gk58wqjzn3] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 999px;
}
.reporting-pbi-badge--demo[b-gk58wqjzn3] {
    background: color-mix(in srgb, var(--accent-warning) 15%, transparent);
    color: var(--accent-warning);
}
.reporting-pbi-badge--empty[b-gk58wqjzn3] {
    background: var(--surface-hover);
    color: var(--text-secondary);
}

.reporting-pbi-toolbar[b-gk58wqjzn3] {
    display: flex;
    gap: var(--space-md);
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: var(--space-md);
}

.reporting-pbi-error[b-gk58wqjzn3] {
    background: color-mix(in srgb, var(--accent-danger) 8%, transparent);
    border-left: 3px solid var(--accent-danger);
    color: var(--accent-danger);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-sm);
    margin-bottom: var(--space-md);
    font-size: var(--font-size-sm);
}

.reporting-pbi-frame[b-gk58wqjzn3] {
    border: 1px dashed var(--border-subtle);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    background: var(--surface-hover);
    min-height: 320px;
}

.reporting-pbi-mock[b-gk58wqjzn3] {
    text-align: center;
    color: var(--text-secondary);
    max-width: 720px;
    margin: 0 auto;
}
.reporting-pbi-mock .e-icons[b-gk58wqjzn3] {
    font-size: 48px;
    color: var(--accent-primary);
    margin-bottom: var(--space-sm);
}
.reporting-pbi-mock h4[b-gk58wqjzn3] {
    margin: 0 0 var(--space-md) 0;
    color: var(--text-primary);
}
.reporting-pbi-mock p[b-gk58wqjzn3] {
    margin: 6px 0;
    font-size: var(--font-size-sm);
}
.reporting-pbi-mock code[b-gk58wqjzn3] {
    background: var(--surface-card);
    padding: 2px 6px;
    border-radius: 3px;
    font-size: var(--font-size-xs);
}
.reporting-pbi-mock-hint[b-gk58wqjzn3] {
    margin-top: var(--space-md) !important;
    font-style: italic;
    font-size: var(--font-size-xs) !important;
    opacity: 0.8;
}
/* _content/Revio.Web/Pages/Reporting/Patrimoine.razor.rz.scp.css */
.reporting-patr-toolbar[b-ohqwdklt30] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-md, 16px);
    margin-bottom: var(--spacing-lg, 24px);
}

.reporting-patr-context[b-ohqwdklt30] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm, 8px);
}

.reporting-patr-meta small[b-ohqwdklt30] {
    color: var(--text-tertiary, #9ca3af);
    font-size: 0.8rem;
}

.cli-context-label[b-ohqwdklt30] {
    color: var(--text-secondary, #6b7280);
    font-size: 0.9rem;
    font-weight: 500;
}

.cli-context-sep[b-ohqwdklt30] {
    color: var(--text-tertiary, #d1d5db);
    margin: 0 6px;
}

.reporting-patr-scope[b-ohqwdklt30] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm, 8px);
    margin-bottom: var(--spacing-md, 16px);
    flex-wrap: wrap;
}

.reporting-patr-scope-btn[b-ohqwdklt30] {
    background: var(--surface-card, #ffffff);
    border: 1px solid var(--border-subtle, #d1d5db);
    border-radius: var(--radius-sm, 6px);
    padding: 6px 14px;
    font-size: 0.85rem;
    cursor: pointer;
    color: var(--text-primary, #111827);
    transition: background 0.12s, border-color 0.12s;
}

.reporting-patr-scope-btn:hover[b-ohqwdklt30] {
    border-color: var(--accent-primary, #2563eb);
}

.reporting-patr-scope-btn--active[b-ohqwdklt30] {
    background: var(--accent-primary, #2563eb);
    border-color: var(--accent-primary, #2563eb);
    color: white;
}

.reporting-patr-scope-hint[b-ohqwdklt30] {
    color: var(--text-tertiary, #9ca3af);
    font-size: 0.78rem;
    margin-left: auto;
}

.reporting-patr-meta[b-ohqwdklt30] {
    margin-bottom: var(--spacing-sm, 8px);
}

.reporting-patr-empty[b-ohqwdklt30] {
    background: var(--surface-subtle, #f9fafb);
    border: 1px dashed var(--border-subtle, #d1d5db);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-lg, 32px);
    text-align: center;
    color: var(--text-secondary, #6b7280);
    margin-bottom: var(--spacing-md, 16px);
}

.reporting-patr-kpis[b-ohqwdklt30] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--spacing-md, 16px);
    margin-bottom: var(--spacing-lg, 24px);
}

.reporting-patr-kpi[b-ohqwdklt30] {
    background: var(--surface-card, #ffffff);
    border: 1px solid var(--border-subtle, #e5e7eb);
    border-left: 3px solid var(--accent-primary, #2563eb);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-md, 16px);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.reporting-patr-kpi--anr[b-ohqwdklt30] {
    border-left-color: var(--accent-success, #16a34a);
    background: linear-gradient(180deg, #ffffff 0%, #f0fdf4 100%);
}

.kpi-label[b-ohqwdklt30] {
    color: var(--text-secondary, #6b7280);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.kpi-value[b-ohqwdklt30] {
    color: var(--text-primary, #111827);
    font-size: 1.4rem;
    font-weight: 600;
}

.kpi-sub[b-ohqwdklt30] {
    color: var(--text-tertiary, #9ca3af);
    font-size: 0.85rem;
    font-weight: 400;
    margin-left: 4px;
}

.txt-success[b-ohqwdklt30] { color: #16a34a; }
.txt-danger[b-ohqwdklt30] { color: #dc2626; }

.reporting-patr-section[b-ohqwdklt30] {
    margin-bottom: var(--spacing-lg, 24px);
}

.reporting-patr-section h3[b-ohqwdklt30] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary, #111827);
    margin: 0 0 var(--spacing-sm, 8px) 0;
}

.reporting-patr-variations[b-ohqwdklt30] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-sm, 12px);
}

.reporting-patr-var-card[b-ohqwdklt30] {
    background: var(--surface-card, #ffffff);
    border: 1px solid var(--border-subtle, #e5e7eb);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-sm, 12px);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.reporting-patr-footer small[b-ohqwdklt30] {
    color: var(--text-tertiary, #9ca3af);
    font-size: 0.8rem;
}
/* _content/Revio.Web/Pages/Veille/Index.razor.rz.scp.css */
.veille-page[b-rkfxajz5fw] {
    padding: 0;
    max-width: 1200px;
}

.veille-toolbar[b-rkfxajz5fw] {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 16px 24px;
    background: #fff;
    border: 1px solid var(--revio-border, #e5e7eb);
    border-radius: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.veille-filter[b-rkfxajz5fw] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 200px;
}

.veille-filter label[b-rkfxajz5fw] {
    font-weight: 500;
    color: var(--revio-text, #1f2937);
}

.veille-counter[b-rkfxajz5fw] {
    margin-left: auto;
    font-size: 13px;
    color: var(--revio-muted, #6b7280);
}

.veille-empty[b-rkfxajz5fw] {
    text-align: center;
    padding: 48px 24px;
    color: var(--revio-muted, #6b7280);
    background: #fff;
    border: 1px dashed var(--revio-border, #e5e7eb);
    border-radius: 8px;
}

.veille-empty .e-icons[b-rkfxajz5fw] {
    font-size: 48px;
    display: block;
    margin: 0 auto 16px;
    color: var(--revio-muted, #9ca3af);
}

.veille-list[b-rkfxajz5fw] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.veille-card[b-rkfxajz5fw] {
    padding: 18px 22px;
    background: #fff;
    border: 1px solid var(--revio-border, #e5e7eb);
    border-radius: 8px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.veille-card.is-unread[b-rkfxajz5fw] {
    border-left: 4px solid var(--revio-primary, #2563eb);
}

.veille-card.is-read[b-rkfxajz5fw] {
    opacity: 0.78;
}

.veille-card:hover[b-rkfxajz5fw] {
    border-color: var(--revio-primary, #2563eb);
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}

.veille-card-header[b-rkfxajz5fw] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.veille-source-badge[b-rkfxajz5fw] {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    letter-spacing: .5px;
    background: #eef2ff;
    color: #3730a3;
}

.veille-source-amf[b-rkfxajz5fw]   { background: #fef2f2; color: #991b1b; }
.veille-source-afg[b-rkfxajz5fw]   { background: #f0f9ff; color: #075985; }
.veille-source-anc[b-rkfxajz5fw]   { background: #f0fdf4; color: #14532d; }
.veille-source-oec[b-rkfxajz5fw]   { background: #fefce8; color: #713f12; }
.veille-source-bofip[b-rkfxajz5fw] { background: #faf5ff; color: #6b21a8; }

.veille-card-date[b-rkfxajz5fw] {
    font-size: 12px;
    color: var(--revio-muted, #6b7280);
}

.veille-importance[b-rkfxajz5fw] {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 600;
}

.veille-importance-haute[b-rkfxajz5fw]   { background: #fee2e2; color: #991b1b; }
.veille-importance-moyenne[b-rkfxajz5fw] { background: #fef3c7; color: #92400e; }
.veille-importance-faible[b-rkfxajz5fw]  { background: #e5e7eb; color: #374151; }

.veille-read-badge[b-rkfxajz5fw] {
    margin-left: auto;
    font-size: 11px;
    color: #059669;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.veille-card-title[b-rkfxajz5fw] {
    margin: 6px 0 8px;
    font-size: 16px;
    font-weight: 600;
    color: var(--revio-text, #1f2937);
    line-height: 1.4;
}

.veille-card-content[b-rkfxajz5fw] {
    margin: 0 0 12px;
    font-size: 13px;
    color: #4b5563;
    line-height: 1.55;
}

.veille-card-footer[b-rkfxajz5fw] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    border-top: 1px solid #f3f4f6;
    padding-top: 10px;
    margin-top: 4px;
}

.veille-card-link[b-rkfxajz5fw] {
    font-size: 13px;
    color: var(--revio-primary, #2563eb);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
}

.veille-card-link:hover[b-rkfxajz5fw] { text-decoration: underline; }

.veille-mark-read[b-rkfxajz5fw] {
    font-size: 12px;
}

.veille-resume-pending[b-rkfxajz5fw] {
    font-size: 12px;
    color: var(--revio-muted, #9ca3af);
    font-style: italic;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.veille-summarize-btn[b-rkfxajz5fw] {
    margin-left: auto;
    font-size: 12px;
}

.veille-summarize-btn .e-icons[b-rkfxajz5fw] {
    margin-right: 4px;
}

.veille-mode-demo[b-rkfxajz5fw] {
    font-size: 11px;
    color: #92400e;
    background: #fef3c7;
    padding: 2px 8px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
}

.veille-resume-meta[b-rkfxajz5fw] {
    font-weight: 400;
    font-size: 12px;
    color: var(--revio-muted, #9ca3af);
    margin-left: 6px;
}

.veille-resume[b-rkfxajz5fw] {
    width: 100%;
    margin-top: 8px;
    padding: 10px 12px;
    background: #f9fafb;
    border-radius: 6px;
    font-size: 13px;
}

.veille-resume summary[b-rkfxajz5fw] {
    cursor: pointer;
    font-weight: 600;
    color: var(--revio-primary, #2563eb);
}

.veille-resume p[b-rkfxajz5fw] {
    margin: 8px 0 0;
    color: #4b5563;
    line-height: 1.5;
}
/* _content/Revio.Web/Shared/Layout/MainLayout.razor.rz.scp.css */
/* MainLayout scoped styles - complement au revio-app.css global */

/* Ajustement NavLink actif via ::deep car les NavLink generent des <a> */
[b-4z99s2j5yk] .revio-sidebar-item.active {
    background: rgba(255, 255, 255, 0.08);
    color: var(--text-inverse);
}
