/* /Components/Dialogs/CatalogBrowserDialog.razor.rz.scp.css */
[b-ce3jyu42uz] .cbd-dialog {
    min-width: 760px;
}

.cbd-title[b-ce3jyu42uz] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ─── Loading ────────────────────────────────────────────────────────────────── */

.cbd-loading[b-ce3jyu42uz] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px;
    color: var(--text-secondary);
    font-size: 13px;
}

/* ─── Layout 2 colonnes ──────────────────────────────────────────────────────── */

.cbd-layout[b-ce3jyu42uz] {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 0;
    height: 480px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

/* ─── Colonne arbre ──────────────────────────────────────────────────────────── */

.cbd-tree-col[b-ce3jyu42uz] {
    border-right: 1px solid var(--border);
    overflow-y: auto;
    background: var(--bg, #F5F7FA);
    padding: 4px 0;
}

/* ─── Colonne détail ─────────────────────────────────────────────────────────── */

.cbd-detail-col[b-ce3jyu42uz] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ─── État vide liste ────────────────────────────────────────────────────────── */

.cbd-no-models[b-ce3jyu42uz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1;
    color: var(--text-secondary);
    font-size: 12px;
    font-style: italic;
    padding: 24px;
}

/* ─── Liste de modèles ───────────────────────────────────────────────────────── */

.cbd-model-list[b-ce3jyu42uz] {
    flex: 1;
    overflow-y: auto;
    border-bottom: 1px solid var(--border);
    max-height: 280px;
}

.cbd-model-item[b-ce3jyu42uz] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 14px;
    width: 100%;
    border: none;
    background: none;
    text-align: left;
    cursor: pointer;
    border-bottom: 1px solid var(--border);
    transition: background 0.1s;
}

.cbd-model-item:last-child[b-ce3jyu42uz] {
    border-bottom: none;
}

.cbd-model-item:hover[b-ce3jyu42uz] {
    background: var(--bg, #F5F7FA);
}

.cbd-model-item--selected[b-ce3jyu42uz] {
    background: var(--color-primary-bg, #EBF1F7);
    border-left: 3px solid var(--primary, #1F4E79);
}

.cbd-model-item--selected .cbd-model-item__name[b-ce3jyu42uz] {
    color: var(--primary, #1F4E79);
}

.cbd-model-item__name[b-ce3jyu42uz] {
    font-size: 13px;
    font-weight: 500;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cbd-model-item__meta[b-ce3jyu42uz] {
    font-size: 11px;
    color: var(--text-secondary);
}

.cbd-model-more[b-ce3jyu42uz] {
    padding: 6px 14px;
    font-size: 11px;
    color: var(--text-secondary);
    font-style: italic;
    text-align: center;
    background: var(--bg, #F5F7FA);
}

/* ─── Détail du modèle sélectionné ──────────────────────────────────────────── */

.cbd-model-detail[b-ce3jyu42uz] {
    padding: 14px 16px;
    overflow-y: auto;
}

.cbd-model-detail__header[b-ce3jyu42uz] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
}

.cbd-model-detail__name[b-ce3jyu42uz] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.cbd-model-detail__type[b-ce3jyu42uz] {
    font-size: 11px;
    color: var(--text-secondary);
}

.cbd-model-detail__fields[b-ce3jyu42uz] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 16px;
}

/* ─── Footer boutons ─────────────────────────────────────────────────────────── */

.cbd-btn[b-ce3jyu42uz] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, color 0.12s, opacity 0.12s;
}

.cbd-btn--cancel[b-ce3jyu42uz] {
    background: var(--surface);
    color: var(--text-secondary);
    border-color: var(--border);
}

.cbd-btn--cancel:hover[b-ce3jyu42uz] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

.cbd-btn--confirm[b-ce3jyu42uz] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

.cbd-btn--confirm:hover:not(:disabled)[b-ce3jyu42uz] {
    background: #17406a;
}

.cbd-btn--confirm:disabled[b-ce3jyu42uz] {
    opacity: 0.45;
    cursor: not-allowed;
}
/* /Components/Dialogs/CatalogImportDialog.razor.rz.scp.css */
/* ─── Dialog container ────────────────────────────────────────────────────────── */

[b-cdl5cgn8uu] .mfd-dialog {
    min-width: 480px;
}

.mfd-dialog__title[b-cdl5cgn8uu] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ─── Formulaire ──────────────────────────────────────────────────────────────── */

.mfd-form[b-cdl5cgn8uu] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mfd-field[b-cdl5cgn8uu] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.mfd-label[b-cdl5cgn8uu] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
}

/* ─── Boutons ─────────────────────────────────────────────────────────────────── */

.mfd-btn[b-cdl5cgn8uu] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, color 0.12s;
    text-decoration: none;
}

.mfd-btn--save[b-cdl5cgn8uu] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

.mfd-btn--save:hover:not(:disabled)[b-cdl5cgn8uu] {
    background: #17406a;
}

.mfd-btn--save:disabled[b-cdl5cgn8uu] {
    opacity: 0.6;
    cursor: not-allowed;
}

.mfd-btn--cancel[b-cdl5cgn8uu] {
    background: var(--surface);
    color: var(--text-secondary);
    border-color: var(--border);
}

.mfd-btn--cancel:hover[b-cdl5cgn8uu] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

.mfd-spinner[b-cdl5cgn8uu] {
    margin-right: 4px;
}

/* ─── Sélecteur de fichier ────────────────────────────────────────────────────── */

.cid-input-hidden[b-cdl5cgn8uu] {
    display: none;
}

.cid-file-row[b-cdl5cgn8uu] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cid-filename[b-cdl5cgn8uu] {
    font-size: 13px;
    color: var(--text-secondary);
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ─── Panneau de statistiques d'import ───────────────────────────────────────── */

.cid-stats[b-cdl5cgn8uu] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    gap: 10px;
}

.cid-stat[b-cdl5cgn8uu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 6px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--bg, #F5F7FA);
    gap: 4px;
}

.cid-stat__value[b-cdl5cgn8uu] {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary, #1F4E79);
    line-height: 1;
}

.cid-stat__label[b-cdl5cgn8uu] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
    text-align: center;
}

/* ─── Liste d'avertissements ─────────────────────────────────────────────────── */

.cid-errors[b-cdl5cgn8uu] {
    margin: 0;
    padding-left: 18px;
    font-size: 12px;
    color: var(--text);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
/* /Components/Dialogs/CloseInterventionDialog.razor.rz.scp.css */
.close-int-dialog__title[b-zp9y37ghrh] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.checklist-section__label[b-zp9y37ghrh] {
    display: block;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-secondary);
    margin-bottom: 4px;
}
/* /Components/Dialogs/ContractFormDialog.razor.rz.scp.css */
/* ─── Dialog wrapper ────────────────────────────────────────────────────────── */

.cfd-dialog[b-wtlkkz6hjw] { font-family: var(--font); }

.cfd-dialog__title[b-wtlkkz6hjw] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

/* ─── Alert ─────────────────────────────────────────────────────────────────── */

.cfd-alert[b-wtlkkz6hjw] { margin-bottom: 16px; }

/* ─── Formulaire ────────────────────────────────────────────────────────────── */

.cfd-form[b-wtlkkz6hjw] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ─── Sections ──────────────────────────────────────────────────────────────── */

.cfd-section[b-wtlkkz6hjw] {
    padding: 16px 0;
    border-bottom: 1px solid var(--border);
}

.cfd-section:last-child[b-wtlkkz6hjw] { border-bottom: none; }

.cfd-section__title[b-wtlkkz6hjw] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

/* ─── Grille 2 colonnes ─────────────────────────────────────────────────────── */

.cfd-two-cols[b-wtlkkz6hjw] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* ─── Champs ────────────────────────────────────────────────────────────────── */

.cfd-field[b-wtlkkz6hjw] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.cfd-field--full[b-wtlkkz6hjw] { grid-column: 1 / -1; }

.cfd-label[b-wtlkkz6hjw] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
}

.cfd-required[b-wtlkkz6hjw] { color: var(--danger); margin-left: 2px; }

.cfd-input[b-wtlkkz6hjw] {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-base);
    color: var(--text);
    background: var(--surface);
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.cfd-input:focus[b-wtlkkz6hjw] {
    border-color: var(--saytoo-blue);
    box-shadow: 0 0 0 2px var(--saytoo-blue-50);
}

.cfd-input--error[b-wtlkkz6hjw] { border-color: var(--danger); }

.cfd-input--error:focus[b-wtlkkz6hjw] { box-shadow: 0 0 0 2px var(--danger-bg); }

.cfd-field-error[b-wtlkkz6hjw] {
    font-size: var(--font-size-sm);
    color: var(--danger);
}

.cfd-textarea[b-wtlkkz6hjw] {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-base);
    color: var(--text);
    background: var(--surface);
    outline: none;
    resize: vertical;
    font-family: var(--font);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.cfd-textarea:focus[b-wtlkkz6hjw] {
    border-color: var(--saytoo-blue);
    box-shadow: 0 0 0 2px var(--saytoo-blue-50);
}

/* ─── Footer boutons ────────────────────────────────────────────────────────── */

.cfd-btn[b-wtlkkz6hjw] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    border: none;
    transition: background 0.15s;
}

.cfd-btn:disabled[b-wtlkkz6hjw] { opacity: 0.55; cursor: not-allowed; }

.cfd-btn--cancel[b-wtlkkz6hjw] {
    background: var(--neutral-bg);
    color: var(--text);
}

.cfd-btn--cancel:hover:not(:disabled)[b-wtlkkz6hjw] { background: var(--border); }

.cfd-btn--save[b-wtlkkz6hjw] {
    background: var(--saytoo-blue);
    color: var(--text-on-primary);
}

.cfd-btn--save:hover:not(:disabled)[b-wtlkkz6hjw] { background: var(--saytoo-blue-600); }

.cfd-spinner[b-wtlkkz6hjw] { transform: scale(0.75); }
/* /Components/Dialogs/CustomerFormDialog.razor.rz.scp.css */
.cfd-dialog[b-d5pwy32ckq] {
    min-width: 520px;
}

/* ─── Titre ──────────────────────────────────────────────────────────────────── */

.cfd-dialog__title[b-d5pwy32ckq] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ─── Loading ────────────────────────────────────────────────────────────────── */

.cfd-loading[b-d5pwy32ckq] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px 0;
    justify-content: center;
    font-size: 13px;
    color: var(--text-secondary);
}

/* ─── Alerte erreur ──────────────────────────────────────────────────────────── */

.cfd-alert[b-d5pwy32ckq] {
    margin-bottom: 14px;
    font-size: 13px;
}

/* ─── Grille de formulaire ───────────────────────────────────────────────────── */

.cfd-form[b-d5pwy32ckq] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.cfd-field[b-d5pwy32ckq] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.cfd-field--full[b-d5pwy32ckq] {
    grid-column: 1 / -1;
}

/* ─── Labels ─────────────────────────────────────────────────────────────────── */

.cfd-label[b-d5pwy32ckq] {
    font-size: 12px;
    font-weight: 500;
    color: var(--text);
}

.cfd-required[b-d5pwy32ckq] {
    color: var(--color-error, #C62828);
    margin-left: 2px;
}

/* ─── Inputs & selects ───────────────────────────────────────────────────────── */

.cfd-input[b-d5pwy32ckq],
.cfd-select[b-d5pwy32ckq] {
    height: 36px;
    padding: 0 10px;
    font-size: 13px;
    font-family: var(--font-family, inherit);
    color: var(--text);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    outline: none;
    transition: border-color 0.12s;
    width: 100%;
    box-sizing: border-box;
}

.cfd-input:focus[b-d5pwy32ckq],
.cfd-select:focus[b-d5pwy32ckq] {
    border-color: var(--saytoo-blue);
    box-shadow: 0 0 0 2px var(--saytoo-blue-50);
}

.cfd-input[b-d5pwy32ckq]::placeholder {
    color: var(--text-secondary);
    opacity: 0.7;
}

.cfd-input--error[b-d5pwy32ckq] {
    border-color: var(--danger);
}

.cfd-input--error:focus[b-d5pwy32ckq] {
    box-shadow: 0 0 0 2px var(--danger-bg);
}

.cfd-field-error[b-d5pwy32ckq] {
    font-size: 11px;
    color: var(--danger);
}

/* ─── Boutons footer ─────────────────────────────────────────────────────────── */

.cfd-btn[b-d5pwy32ckq] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 18px;
    font-size: 13px;
    font-weight: 500;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
}

.cfd-btn--cancel[b-d5pwy32ckq] {
    background: none;
    color: var(--text-secondary);
}

.cfd-btn--cancel:hover:not(:disabled)[b-d5pwy32ckq] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

.cfd-btn--save[b-d5pwy32ckq] {
    background: var(--saytoo-blue);
    color: var(--text-on-primary);
    border-color: transparent;
}

.cfd-btn--save:hover:not(:disabled)[b-d5pwy32ckq] {
    background: var(--saytoo-blue-600);
}

.cfd-btn:disabled[b-d5pwy32ckq] {
    opacity: 0.6;
    cursor: not-allowed;
}

.cfd-spinner[b-d5pwy32ckq] {
    width: 14px !important;
    height: 14px !important;
}
/* /Components/Dialogs/EquipmentFormDialog.razor.rz.scp.css */
/* ─── Dialog container ───────────────────────────────────────────────────────── */

[b-r2hsjq16kd] .eqfd-dialog {
    min-width: 520px;
}

.eqfd-dialog__title[b-r2hsjq16kd] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ─── Loading ────────────────────────────────────────────────────────────────── */

.eqfd-loading[b-r2hsjq16kd] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px;
    color: var(--text-secondary);
    font-size: 13px;
}

/* ─── État vide (Q5 : aucun emplacement) ─────────────────────────────────────── */

.eqfd-empty[b-r2hsjq16kd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    padding: 32px 24px;
}

.eqfd-empty__icon[b-r2hsjq16kd] {
    color: var(--text-secondary);
    opacity: 0.5;
    margin-bottom: 4px;
}

.eqfd-empty__title[b-r2hsjq16kd] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    margin: 0;
}

.eqfd-empty__sub[b-r2hsjq16kd] {
    font-size: 12px;
    color: var(--text-secondary);
    max-width: 340px;
    margin: 0;
    line-height: 1.5;
}

/* ─── Alerte erreur ──────────────────────────────────────────────────────────── */

.eqfd-alert[b-r2hsjq16kd] {
    margin-bottom: 12px;
}

/* ─── Formulaire ─────────────────────────────────────────────────────────────── */

.eqfd-form[b-r2hsjq16kd] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.eqfd-two-cols[b-r2hsjq16kd] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.eqfd-field[b-r2hsjq16kd] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.eqfd-field--full[b-r2hsjq16kd] {
    grid-column: 1 / -1;
}

.eqfd-label[b-r2hsjq16kd] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
}

.eqfd-required[b-r2hsjq16kd] {
    color: var(--danger, #DC2626);
    margin-left: 2px;
}

.eqfd-input[b-r2hsjq16kd],
.eqfd-select[b-r2hsjq16kd] {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    font-size: 13px;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s;
    box-sizing: border-box;
}

.eqfd-input:focus[b-r2hsjq16kd],
.eqfd-select:focus[b-r2hsjq16kd] {
    border-color: var(--primary, #1F4E79);
}

.eqfd-select--error[b-r2hsjq16kd] {
    border-color: var(--danger, #DC2626) !important;
}

.eqfd-field-error[b-r2hsjq16kd] {
    font-size: 11px;
    color: var(--danger, #DC2626);
}

/* ─── Carte modèle sélectionné ───────────────────────────────────────────────── */

.eqfd-model-card[b-r2hsjq16kd] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    overflow: hidden;
}

.eqfd-model-card__header[b-r2hsjq16kd] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 12px 14px;
}

.eqfd-model-card__icon[b-r2hsjq16kd] {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--bg, #F5F7FA);
    color: var(--text-secondary);
}

.eqfd-model-card__meta[b-r2hsjq16kd] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.eqfd-model-card__name-row[b-r2hsjq16kd] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.eqfd-model-card__name[b-r2hsjq16kd] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.eqfd-model-card__badge[b-r2hsjq16kd] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--primary, #1F4E79);
    background: var(--color-primary-bg, #EBF1F7);
    padding: 2px 7px;
    border-radius: 99px;
    white-space: nowrap;
}

.eqfd-model-card__sub[b-r2hsjq16kd] {
    font-size: 11px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ─── Grille caractéristiques (3 colonnes) ───────────────────────────────────── */

/* ─── Bouton "Changer de modèle" ─────────────────────────────────────────────── */

.eqfd-model-card__change[b-r2hsjq16kd] {
    padding: 8px 14px;
    border: none;
    border-top: 1px solid var(--border);
    background: none;
    text-align: left;
    font-size: 12px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.1s, color 0.1s;
}

.eqfd-model-card__change:hover[b-r2hsjq16kd] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

/* ─── Label désactivé (type non sélectionné) ─────────────────────────────────── */

.eqfd-label--disabled[b-r2hsjq16kd] {
    opacity: 0.5;
}

/* ─── Ligne modèle : champ recherche + bouton parcourir ──────────────────────── */

.eqfd-model-row[b-r2hsjq16kd] {
    display: flex;
    gap: 8px;
    align-items: flex-start;
}

.eqfd-model-row .eqfd-model-search[b-r2hsjq16kd] {
    flex: 1;
}

/* ─── Bouton "Parcourir le catalogue" ────────────────────────────────────────── */

.eqfd-browse-btn[b-r2hsjq16kd] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.eqfd-browse-btn:hover:not(:disabled)[b-r2hsjq16kd] {
    background: var(--color-primary-bg, #EBF1F7);
    color: var(--primary, #1F4E79);
    border-color: var(--primary, #1F4E79);
}

.eqfd-browse-btn:disabled[b-r2hsjq16kd] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* ─── Recherche modèle ───────────────────────────────────────────────────────── */

.eqfd-model-search[b-r2hsjq16kd] {
    position: relative;
}

.eqfd-model-search--disabled[b-r2hsjq16kd] {
    opacity: 0.5;
    pointer-events: none;
}

.eqfd-model-search__bar[b-r2hsjq16kd] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    transition: border-color 0.15s;
}

.eqfd-model-search__bar:focus-within[b-r2hsjq16kd] {
    border-color: var(--primary, #1F4E79);
}

.eqfd-model-search__bar--error[b-r2hsjq16kd] {
    border-color: var(--danger, #DC2626) !important;
}

.eqfd-model-search__icon[b-r2hsjq16kd] {
    flex-shrink: 0;
    color: var(--text-secondary);
}

.eqfd-model-search__input[b-r2hsjq16kd] {
    flex: 1;
    border: none;
    background: none;
    outline: none;
    font-size: 13px;
    color: var(--text);
}

.eqfd-model-search__spinner[b-r2hsjq16kd] {
    flex-shrink: 0;
}

.eqfd-model-results[b-r2hsjq16kd] {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(0,0,0,0.1));
    z-index: 100;
    max-height: 220px;
    overflow-y: auto;
}

.eqfd-model-result[b-r2hsjq16kd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 12px;
    border: none;
    background: none;
    text-align: left;
    cursor: pointer;
    width: 100%;
    transition: background 0.1s;
    border-bottom: 1px solid var(--border);
}

.eqfd-model-result:last-child[b-r2hsjq16kd] {
    border-bottom: none;
}

.eqfd-model-result:hover[b-r2hsjq16kd] {
    background: var(--bg, #F5F7FA);
}

.eqfd-model-result__name[b-r2hsjq16kd] {
    font-size: 13px;
    font-weight: 500;
    color: var(--text);
}

.eqfd-model-result__meta[b-r2hsjq16kd] {
    font-size: 11px;
    color: var(--text-secondary);
}

.eqfd-model-empty[b-r2hsjq16kd] {
    padding: 10px 12px;
    font-size: 12px;
    color: var(--text-secondary);
    font-style: italic;
}

/* ─── Criticité ──────────────────────────────────────────────────────────────── */

.eqfd-criticality[b-r2hsjq16kd] {
    display: flex;
    gap: 4px;
}

.eqfd-crit-btn[b-r2hsjq16kd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.eqfd-crit-btn--active[b-r2hsjq16kd] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

/* ─── Boutons d'action ───────────────────────────────────────────────────────── */

.eqfd-btn[b-r2hsjq16kd] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, color 0.12s;
}

.eqfd-btn--primary[b-r2hsjq16kd] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

.eqfd-btn--primary:hover[b-r2hsjq16kd] {
    background: #17406a;
}

.eqfd-btn--save[b-r2hsjq16kd] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

.eqfd-btn--save:hover:not(:disabled)[b-r2hsjq16kd] {
    background: #17406a;
}

.eqfd-btn--save:disabled[b-r2hsjq16kd] {
    opacity: 0.6;
    cursor: not-allowed;
}

.eqfd-btn--cancel[b-r2hsjq16kd] {
    background: var(--surface);
    color: var(--text-secondary);
    border-color: var(--border);
}

.eqfd-btn--cancel:hover:not(:disabled)[b-r2hsjq16kd] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

.eqfd-spinner[b-r2hsjq16kd] {
    margin-right: 4px;
}

/* ─── Inline loading (chargement des emplacements dans le champ) ─────────────── */

.eqfd-loading--inline[b-r2hsjq16kd] {
    padding: 6px 0;
    font-size: 12px;
}

/* ─── Modèle en lecture seule (mode édition) ─────────────────────────────────── */

.eqfd-model-readonly[b-r2hsjq16kd] {
    padding: 10px 12px;
    background: var(--bg, #F5F7FA);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.eqfd-model-readonly__name[b-r2hsjq16kd] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
}

.eqfd-model-readonly__sub[b-r2hsjq16kd] {
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 2px;
}

/* ─── Hint inline sous un champ (ex: aucun emplacement) ─────────────────────── */

.eqfd-field-hint[b-r2hsjq16kd] {
    display: block;
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 4px;
}

.eqfd-link-btn[b-r2hsjq16kd] {
    background: none;
    border: none;
    padding: 0;
    font-size: 11px;
    font-weight: 500;
    color: var(--primary, #1F4E79);
    cursor: pointer;
    text-decoration: underline;
}

.mfd-required[b-r2hsjq16kd] {
    color: var(--danger, #DC2626);
    margin-left: 2px;
}

.mfd-field-error[b-r2hsjq16kd] {
    display: block;
    font-size: 11px;
    color: var(--danger, #DC2626);
    margin-top: 4px;
}

/* ─── Lot 4 : produit sélectionné (Pattern 1 — champs hérités non-éditables) ── */

.eqfd-product-card[b-r2hsjq16kd] {
    padding: 10px 12px;
    background: var(--saytoo-blue-50, #eff6ff);
    border: 1px solid var(--saytoo-blue, #2563eb);
    border-radius: var(--radius);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.eqfd-product-card__header[b-r2hsjq16kd] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.eqfd-product-card__name[b-r2hsjq16kd] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.eqfd-product-card__lock[b-r2hsjq16kd] {
    color: var(--saytoo-blue, #2563eb);
    flex-shrink: 0;
    opacity: 0.7;
}

.eqfd-product-card__meta[b-r2hsjq16kd] {
    font-size: 11px;
    color: var(--text-secondary);
}

.eqfd-product-card__specs[b-r2hsjq16kd] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 2px;
}

/* ─── Lot 4 : badges spec sur la carte produit ───────────────────────────────── */

.eqfd-spec-badge[b-r2hsjq16kd] {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 500;
    background: var(--saytoo-blue-100, #dbeafe);
    color: var(--saytoo-blue-800, #1e40af);
    border: 1px solid var(--saytoo-blue-200, #bfdbfe);
}

.eqfd-spec-badge--fluid[b-r2hsjq16kd] {
    background: var(--warning-bg, #fefce8);
    color: var(--warning-fg, #854d0e);
    border-color: var(--warning-border, #fde68a);
}

.eqfd-spec-badge--caract[b-r2hsjq16kd] {
    background: var(--bg, #F5F7FA);
    color: var(--text-secondary);
    border-color: var(--border);
}

/* ─── Lot 4 : zone liste produits inline ─────────────────────────────────────── */

.eqfd-products-hint[b-r2hsjq16kd] {
    padding: 12px;
    font-size: 12px;
    color: var(--text-secondary);
    text-align: center;
    font-style: italic;
}

.eqfd-products-list[b-r2hsjq16kd] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    max-height: 220px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.eqfd-product-cta[b-r2hsjq16kd] {
    padding: 8px 12px;
    border-top: 1px solid var(--border);
    background: var(--bg, #F5F7FA);
}

.eqfd-hint[b-r2hsjq16kd] {
    font-size: 11px;
    color: var(--text-secondary);
    font-weight: 400;
}
/* /Components/Dialogs/EquipmentImportDialog.razor.rz.scp.css */
/* ─── Dialog container ────────────────────────────────────────────────────────── */

[b-q5wbt9b5me] .mfd-dialog {
    min-width: 480px;
}

.mfd-dialog__title[b-q5wbt9b5me] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ─── Formulaire ──────────────────────────────────────────────────────────────── */

.mfd-form[b-q5wbt9b5me] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mfd-field[b-q5wbt9b5me] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.mfd-label[b-q5wbt9b5me] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
}

/* ─── Boutons ─────────────────────────────────────────────────────────────────── */

.mfd-btn[b-q5wbt9b5me] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, color 0.12s;
    text-decoration: none;
}

.mfd-btn--save[b-q5wbt9b5me] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

.mfd-btn--save:hover:not(:disabled)[b-q5wbt9b5me] {
    background: #17406a;
}

.mfd-btn--save:disabled[b-q5wbt9b5me] {
    opacity: 0.6;
    cursor: not-allowed;
}

.mfd-btn--cancel[b-q5wbt9b5me] {
    background: var(--surface);
    color: var(--text-secondary);
    border-color: var(--border);
}

.mfd-btn--cancel:hover[b-q5wbt9b5me] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

.mfd-spinner[b-q5wbt9b5me] {
    margin-right: 4px;
}

/* ─── Sélecteur de fichier ────────────────────────────────────────────────────── */

.cid-input-hidden[b-q5wbt9b5me] {
    display: none;
}

.cid-file-row[b-q5wbt9b5me] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cid-filename[b-q5wbt9b5me] {
    font-size: 13px;
    color: var(--text-secondary);
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ─── Panneau de statistiques d'import ───────────────────────────────────────── */

.cid-stats[b-q5wbt9b5me] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    gap: 10px;
}

.cid-stat[b-q5wbt9b5me] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 6px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--bg, #F5F7FA);
    gap: 4px;
}

.cid-stat__value[b-q5wbt9b5me] {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary, #1F4E79);
    line-height: 1;
}

.cid-stat__label[b-q5wbt9b5me] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
    text-align: center;
}

/* ─── Liste d'avertissements ─────────────────────────────────────────────────── */

.cid-errors[b-q5wbt9b5me] {
    margin: 0;
    padding-left: 18px;
    font-size: 12px;
    color: var(--text);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
/* /Components/Dialogs/LocationFormDialog.razor.rz.scp.css */
/* ─── Dialog wrapper ────────────────────────────────────────────────────────── */

.lfd-dialog[b-9y3pvy85qn] { font-family: var(--font); }

.lfd-dialog__title[b-9y3pvy85qn] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

/* ─── Loading / Alert ───────────────────────────────────────────────────────── */

.lfd-loading[b-9y3pvy85qn] {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text-secondary);
    padding: 16px 0;
}

.lfd-alert[b-9y3pvy85qn] { margin-bottom: 16px; }

/* ─── Formulaire ────────────────────────────────────────────────────────────── */

.lfd-form[b-9y3pvy85qn] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 4px 0;
}

.lfd-two-cols[b-9y3pvy85qn] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* ─── Champs ────────────────────────────────────────────────────────────────── */

.lfd-field[b-9y3pvy85qn] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.lfd-field--full[b-9y3pvy85qn] { grid-column: 1 / -1; }

.lfd-label[b-9y3pvy85qn] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
}

.lfd-required[b-9y3pvy85qn] { color: var(--danger); margin-left: 2px; }

.lfd-input[b-9y3pvy85qn] {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-base);
    color: var(--text);
    background: var(--surface);
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
}

.lfd-input:focus[b-9y3pvy85qn] {
    border-color: var(--saytoo-blue);
    box-shadow: 0 0 0 2px var(--saytoo-blue-50);
}

.lfd-input--error[b-9y3pvy85qn] { border-color: var(--danger); }

.lfd-input--error:focus[b-9y3pvy85qn] { box-shadow: 0 0 0 2px var(--danger-bg); }

.lfd-field-error[b-9y3pvy85qn] {
    font-size: var(--font-size-sm);
    color: var(--danger);
}

.lfd-textarea[b-9y3pvy85qn] {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-base);
    color: var(--text);
    background: var(--surface);
    outline: none;
    resize: vertical;
    font-family: var(--font);
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
}

.lfd-textarea:focus[b-9y3pvy85qn] {
    border-color: var(--saytoo-blue);
    box-shadow: 0 0 0 2px var(--saytoo-blue-50);
}

.lfd-char-count[b-9y3pvy85qn] {
    font-size: 11px;
    color: var(--text-disabled);
    text-align: right;
    margin-top: -2px;
}

/* ─── Footer boutons ────────────────────────────────────────────────────────── */

.lfd-btn[b-9y3pvy85qn] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    border: none;
    transition: background 0.15s;
}

.lfd-btn:disabled[b-9y3pvy85qn] { opacity: 0.55; cursor: not-allowed; }

.lfd-btn--cancel[b-9y3pvy85qn] {
    background: var(--neutral-bg);
    color: var(--text);
}

.lfd-btn--cancel:hover:not(:disabled)[b-9y3pvy85qn] { background: var(--border); }

.lfd-btn--save[b-9y3pvy85qn] {
    background: var(--saytoo-blue);
    color: var(--text-on-primary);
}

.lfd-btn--save:hover:not(:disabled)[b-9y3pvy85qn] { background: var(--saytoo-blue-600); }

.lfd-spinner[b-9y3pvy85qn] { transform: scale(0.75); }
/* /Components/Dialogs/ModelFormDialog.razor.rz.scp.css */
/* ─── Dialog container ───────────────────────────────────────────────────────── */

[b-gzwfmqqvjy] .mfd-dialog {
    min-width: 540px;
}

.mfd-dialog__title[b-gzwfmqqvjy] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ─── Loading ────────────────────────────────────────────────────────────────── */

.mfd-loading[b-gzwfmqqvjy] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px;
    color: var(--text-secondary);
    font-size: 13px;
}

/* ─── Alerte erreur ──────────────────────────────────────────────────────────── */

.mfd-alert[b-gzwfmqqvjy] {
    margin-bottom: 12px;
}

/* ─── Formulaire ─────────────────────────────────────────────────────────────── */

.mfd-form[b-gzwfmqqvjy] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mfd-two-cols[b-gzwfmqqvjy] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.mfd-field[b-gzwfmqqvjy] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.mfd-label[b-gzwfmqqvjy] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
}

.mfd-label--disabled[b-gzwfmqqvjy] {
    opacity: 0.5;
}

.mfd-required[b-gzwfmqqvjy] {
    color: var(--danger, #DC2626);
    margin-left: 2px;
}

.mfd-input[b-gzwfmqqvjy],
.mfd-select[b-gzwfmqqvjy] {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    font-size: 13px;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s;
    box-sizing: border-box;
}

.mfd-input:focus[b-gzwfmqqvjy],
.mfd-select:focus[b-gzwfmqqvjy] {
    border-color: var(--primary, #1F4E79);
}

.mfd-input--error[b-gzwfmqqvjy],
.mfd-select--error[b-gzwfmqqvjy] {
    border-color: var(--danger, #DC2626) !important;
}

.mfd-field-error[b-gzwfmqqvjy] {
    font-size: 11px;
    color: var(--danger, #DC2626);
}

/* ─── Inline ajout (nouveau type / nouvelle marque) ──────────────────────────── */

.mfd-inline-add[b-gzwfmqqvjy] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    background: var(--bg, #F5F7FA);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
}

.mfd-inline-add__actions[b-gzwfmqqvjy] {
    display: flex;
    gap: 8px;
}

/* ─── Boutons d'action ───────────────────────────────────────────────────────── */

.mfd-btn[b-gzwfmqqvjy] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, color 0.12s;
}

.mfd-btn--sm[b-gzwfmqqvjy] {
    padding: 5px 12px;
    font-size: 12px;
}

.mfd-btn--primary[b-gzwfmqqvjy] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

.mfd-btn--primary:hover:not(:disabled)[b-gzwfmqqvjy] {
    background: #17406a;
}

.mfd-btn--primary:disabled[b-gzwfmqqvjy] {
    opacity: 0.6;
    cursor: not-allowed;
}

.mfd-btn--save[b-gzwfmqqvjy] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

.mfd-btn--save:hover:not(:disabled)[b-gzwfmqqvjy] {
    background: #17406a;
}

.mfd-btn--save:disabled[b-gzwfmqqvjy] {
    opacity: 0.6;
    cursor: not-allowed;
}

.mfd-btn--cancel[b-gzwfmqqvjy] {
    background: var(--surface);
    color: var(--text-secondary);
    border-color: var(--border);
}

.mfd-btn--cancel:hover:not(:disabled)[b-gzwfmqqvjy] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

.mfd-spinner[b-gzwfmqqvjy] {
    margin-right: 4px;
}
/* /Components/Dialogs/PasswordRevealDialog.razor.rz.scp.css */
/* ─── Dialog container ───────────────────────────────────────────────────────── */

[b-axuar1dq69] .prd-dialog {
    min-width: 340px;
    max-width: 420px;
}

.prd-dialog__title[b-axuar1dq69] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ─── Contenu ────────────────────────────────────────────────────────────────── */

.prd-content[b-axuar1dq69] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ─── Bandeau info ───────────────────────────────────────────────────────────── */

.prd-info[b-axuar1dq69] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    color: #92400e;
}

.prd-info svg[b-axuar1dq69] { flex-shrink: 0; margin-top: 1px; }

.prd-note[b-axuar1dq69] {
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
}

/* ─── Email de référence ─────────────────────────────────────────────────────── */

.prd-email[b-axuar1dq69] {
    font-size: 12px;
    color: var(--text-secondary);
    font-style: italic;
}

/* ─── Ligne mot de passe ─────────────────────────────────────────────────────── */

.prd-password-row[b-axuar1dq69] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: var(--bg-subtle, #f5f7fa);
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
}

.prd-password[b-axuar1dq69] {
    flex: 1;
    font-family: 'Courier New', Courier, monospace;
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary, #1a1a1a);
    letter-spacing: 0.06em;
    word-break: break-all;
}

/* ─── Bouton copier ──────────────────────────────────────────────────────────── */

.prd-copy-btn[b-axuar1dq69] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 5px;
    background: var(--surface, #fff);
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary, #6b7280);
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
    flex-shrink: 0;
}

.prd-copy-btn:hover[b-axuar1dq69] {
    background: var(--bg, #f5f7fa);
    color: var(--text-primary, #1a1a1a);
    border-color: var(--text-secondary, #9ca3af);
}

.prd-copy-btn--copied[b-axuar1dq69] {
    background: #f0fdf4;
    color: #16a34a;
    border-color: #86efac;
}

/* ─── Bouton fermer ──────────────────────────────────────────────────────────── */

.prd-btn[b-axuar1dq69] {
    display: inline-flex;
    align-items: center;
    padding: 7px 16px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s;
}

.prd-btn--ok[b-axuar1dq69] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

.prd-btn--ok:hover[b-axuar1dq69] { background: #17406a; }
/* /Components/Dialogs/QualifyWorkRequestDialog.razor.rz.scp.css */
.qd-title[b-lx9oz1752q] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

.qd-body[b-lx9oz1752q] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 4px 0 8px;
}

.qd-hint[b-lx9oz1752q] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.5;
}

.qd-suggestion[b-lx9oz1752q] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--neutral-bg);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
}

.qd-suggestion__label[b-lx9oz1752q] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
}

.qd-select[b-lx9oz1752q] { margin-top: 4px; }

.qd-label[b-lx9oz1752q] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text);
    margin-top: 4px;
}

.qd-required[b-lx9oz1752q] { color: var(--danger); margin-left: 2px; }

.qd-textarea[b-lx9oz1752q] {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    font-family: inherit;
    color: var(--text);
    background: var(--surface);
    resize: vertical;
    min-height: 100px;
    box-sizing: border-box;
    transition: border-color .15s;
}

.qd-textarea:focus[b-lx9oz1752q] {
    outline: none;
    border-color: var(--saytoo-blue);
    box-shadow: 0 0 0 2px var(--saytoo-blue-100);
}

.qd-textarea--error[b-lx9oz1752q] { border-color: var(--danger); }

.qd-error[b-lx9oz1752q] {
    font-size: var(--font-size-xs);
    color: var(--danger);
}

.qd-char-count[b-lx9oz1752q] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    text-align: right;
}

/* ── Boutons ─────────────────────────────────────────────────────────────── */
.qd-btn[b-lx9oz1752q] {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    border: none;
    min-height: 36px;
    transition: background .15s;
}

.qd-btn--cancel[b-lx9oz1752q] {
    background: var(--neutral-bg);
    color: var(--text-secondary);
    border: 1px solid var(--border);
}
.qd-btn--cancel:hover[b-lx9oz1752q] { background: var(--border); }

.qd-btn--primary[b-lx9oz1752q] { background: var(--saytoo-blue); color: #fff; }
.qd-btn--primary:hover[b-lx9oz1752q] { background: var(--saytoo-blue-700); }
.qd-btn--primary:disabled[b-lx9oz1752q] { opacity: .5; cursor: not-allowed; }
/* /Components/Dialogs/ReportChecklistItemFormDialog.razor.rz.scp.css */
/* ─── Dialog container ───────────────────────────────────────────────────────── */

[b-wdmsm8r8nb] .rcfd-dialog {
    min-width: 420px;
}

.rcfd-dialog__title[b-wdmsm8r8nb] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ─── Alerte erreur ──────────────────────────────────────────────────────────── */

.rcfd-alert[b-wdmsm8r8nb] {
    margin-bottom: 12px;
}

/* ─── Formulaire ─────────────────────────────────────────────────────────────── */

.rcfd-form[b-wdmsm8r8nb] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.rcfd-field[b-wdmsm8r8nb] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rcfd-label[b-wdmsm8r8nb] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
}

.rcfd-required[b-wdmsm8r8nb] {
    color: var(--danger, #DC2626);
    margin-left: 2px;
}

.rcfd-input[b-wdmsm8r8nb],
.rcfd-select[b-wdmsm8r8nb] {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    font-size: 13px;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s;
    box-sizing: border-box;
}

.rcfd-input:focus[b-wdmsm8r8nb],
.rcfd-select:focus[b-wdmsm8r8nb] {
    border-color: var(--primary, #1F4E79);
}

.rcfd-input--error[b-wdmsm8r8nb],
.rcfd-select--error[b-wdmsm8r8nb] {
    border-color: var(--danger, #DC2626) !important;
}

.rcfd-field-error[b-wdmsm8r8nb] {
    font-size: 11px;
    color: var(--danger, #DC2626);
}

/* ─── Boutons d'action ───────────────────────────────────────────────────────── */

.rcfd-btn[b-wdmsm8r8nb] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, color 0.12s;
}

.rcfd-btn--save[b-wdmsm8r8nb] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

.rcfd-btn--save:hover:not(:disabled)[b-wdmsm8r8nb] { background: #17406a; }

.rcfd-btn--save:disabled[b-wdmsm8r8nb] {
    opacity: 0.6;
    cursor: not-allowed;
}

.rcfd-btn--cancel[b-wdmsm8r8nb] {
    background: var(--surface);
    color: var(--text-secondary);
    border-color: var(--border);
}

.rcfd-btn--cancel:hover:not(:disabled)[b-wdmsm8r8nb] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

.rcfd-spinner[b-wdmsm8r8nb] {
    margin-right: 4px;
}
/* /Components/Dialogs/ReportSuggestionFormDialog.razor.rz.scp.css */
/* ─── Dialog container ───────────────────────────────────────────────────────── */

[b-t3sv65r59a] .rsfd-dialog {
    min-width: 420px;
}

.rsfd-dialog__title[b-t3sv65r59a] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ─── Alerte erreur ──────────────────────────────────────────────────────────── */

.rsfd-alert[b-t3sv65r59a] {
    margin-bottom: 12px;
}

/* ─── Formulaire ─────────────────────────────────────────────────────────────── */

.rsfd-form[b-t3sv65r59a] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.rsfd-field[b-t3sv65r59a] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rsfd-label[b-t3sv65r59a] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
}

.rsfd-required[b-t3sv65r59a] {
    color: var(--danger, #DC2626);
    margin-left: 2px;
}

.rsfd-input[b-t3sv65r59a],
.rsfd-select[b-t3sv65r59a] {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    font-size: 13px;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s;
    box-sizing: border-box;
}

.rsfd-input:focus[b-t3sv65r59a],
.rsfd-select:focus[b-t3sv65r59a] {
    border-color: var(--primary, #1F4E79);
}

.rsfd-input--error[b-t3sv65r59a],
.rsfd-select--error[b-t3sv65r59a] {
    border-color: var(--danger, #DC2626) !important;
}

.rsfd-field-error[b-t3sv65r59a] {
    font-size: 11px;
    color: var(--danger, #DC2626);
}

/* ─── Boutons d'action ───────────────────────────────────────────────────────── */

.rsfd-btn[b-t3sv65r59a] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, color 0.12s;
}

.rsfd-btn--save[b-t3sv65r59a] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

.rsfd-btn--save:hover:not(:disabled)[b-t3sv65r59a] { background: #17406a; }

.rsfd-btn--save:disabled[b-t3sv65r59a] {
    opacity: 0.6;
    cursor: not-allowed;
}

.rsfd-btn--cancel[b-t3sv65r59a] {
    background: var(--surface);
    color: var(--text-secondary);
    border-color: var(--border);
}

.rsfd-btn--cancel:hover:not(:disabled)[b-t3sv65r59a] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

.rsfd-spinner[b-t3sv65r59a] {
    margin-right: 4px;
}
/* /Components/Dialogs/SchedulingDialog.razor.rz.scp.css */
/* ── Dialog ─────────────────────────────────────────────────────────────── */
[b-q01tldd8fv] .sched-dialog .mud-dialog-content { padding: 0 20px 4px; }
[b-q01tldd8fv] .sched-dialog .mud-dialog-actions { padding: 12px 20px; gap: 8px; }

.sched-dialog__title[b-q01tldd8fv] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

/* ── Alerte ─────────────────────────────────────────────────────────────── */
.sched-alert[b-q01tldd8fv] { margin-bottom: 12px; }

/* ── Formulaire ─────────────────────────────────────────────────────────── */
.sched-form[b-q01tldd8fv] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 8px;
}

.sched-section-title[b-q01tldd8fv] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border);
    padding-bottom: 4px;
    margin-top: 4px;
}

.sched-field[b-q01tldd8fv] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

[b-q01tldd8fv] .sched-picker-grid { margin-top: -4px; margin-bottom: -4px; }
[b-q01tldd8fv] .sched-picker-grid .mud-input-label { font-size: var(--font-size-xs); }

.sched-label[b-q01tldd8fv] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
}

.sched-input[b-q01tldd8fv] {
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 7px 10px;
    font-size: var(--font-size-sm);
    color: var(--text);
    background: var(--surface);
    transition: border-color 0.15s;
    width: 100%;
}
.sched-input:focus[b-q01tldd8fv] { outline: none; border-color: var(--saytoo-blue); }

.sched-textarea[b-q01tldd8fv] {
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 7px 10px;
    font-size: var(--font-size-sm);
    color: var(--text);
    background: var(--surface);
    resize: vertical;
    min-height: 72px;
    width: 100%;
    transition: border-color 0.15s;
}
.sched-textarea:focus[b-q01tldd8fv] { outline: none; border-color: var(--saytoo-blue); }

.sched-char-count[b-q01tldd8fv] {
    font-size: var(--font-size-xs);
    color: var(--text-disabled);
    text-align: right;
}

.sched-field-hint[b-q01tldd8fv] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.sched-field-error[b-q01tldd8fv] {
    font-size: var(--font-size-xs);
    color: var(--danger);
}

/* ── Boutons ─────────────────────────────────────────────────────────────── */
.sched-btn[b-q01tldd8fv] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    border: none;
    transition: background 0.15s, opacity 0.15s;
}
.sched-btn:disabled[b-q01tldd8fv] { opacity: 0.55; cursor: not-allowed; }

.sched-btn--cancel[b-q01tldd8fv] {
    background: var(--neutral-bg);
    color: var(--text-secondary);
    border: 1px solid var(--border);
}
.sched-btn--cancel:hover:not(:disabled)[b-q01tldd8fv] { background: var(--border); }

.sched-btn--save[b-q01tldd8fv] {
    background: var(--saytoo-blue);
    color: #fff;
}
.sched-btn--save:hover:not(:disabled)[b-q01tldd8fv] { background: var(--saytoo-blue-dark); }

.sched-spinner[b-q01tldd8fv] { margin-right: 4px; }

@media (max-width: 500px) {
    [b-q01tldd8fv] .sched-picker-grid .mud-grid-item { flex-basis: 100% !important; max-width: 100% !important; }
}
/* /Components/Dialogs/SiteFormDialog.razor.rz.scp.css */
/* ─── Dialog wrapper ────────────────────────────────────────────────────────── */

.sfd-dialog[b-ip5jrph1ke] { font-family: var(--font); }

.sfd-dialog__title[b-ip5jrph1ke] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

/* ─── Loading / Alert ───────────────────────────────────────────────────────── */

.sfd-loading[b-ip5jrph1ke] {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text-secondary);
    padding: 16px 0;
}

.sfd-alert[b-ip5jrph1ke] { margin-bottom: 16px; }

/* ─── Formulaire ────────────────────────────────────────────────────────────── */

.sfd-form[b-ip5jrph1ke] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ─── Sections ──────────────────────────────────────────────────────────────── */

.sfd-section[b-ip5jrph1ke] {
    padding: 16px 0;
    border-bottom: 1px solid var(--border);
}

.sfd-section:last-child[b-ip5jrph1ke] { border-bottom: none; }

.sfd-section__title[b-ip5jrph1ke] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

/* Sections collapsibles */
.sfd-section--collapsible .sfd-section__title[b-ip5jrph1ke] { margin-bottom: 0; }

.sfd-section__toggle[b-ip5jrph1ke] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-bottom: 0;
}

.sfd-section__toggle:hover .sfd-section__title[b-ip5jrph1ke] { color: var(--text); }

.sfd-section__chevron[b-ip5jrph1ke] {
    color: var(--text-secondary);
    transition: transform 0.2s;
    flex-shrink: 0;
}

.sfd-section__chevron--open[b-ip5jrph1ke] { transform: rotate(180deg); }

.sfd-section__content[b-ip5jrph1ke] {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sfd-two-cols[b-ip5jrph1ke] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* ─── Champs ────────────────────────────────────────────────────────────────── */

.sfd-field[b-ip5jrph1ke] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.sfd-field--full[b-ip5jrph1ke] { grid-column: 1 / -1; }

.sfd-label[b-ip5jrph1ke] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
}

.sfd-required[b-ip5jrph1ke] { color: var(--danger); margin-left: 2px; }

.sfd-input[b-ip5jrph1ke] {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-base);
    color: var(--text);
    background: var(--surface);
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.sfd-input:focus[b-ip5jrph1ke] {
    border-color: var(--saytoo-blue);
    box-shadow: 0 0 0 2px var(--saytoo-blue-50);
}

.sfd-input--error[b-ip5jrph1ke] {
    border-color: var(--danger);
}

.sfd-input--error:focus[b-ip5jrph1ke] {
    box-shadow: 0 0 0 2px var(--danger-bg);
}

.sfd-field-error[b-ip5jrph1ke] {
    font-size: var(--font-size-sm);
    color: var(--danger);
}

.sfd-textarea[b-ip5jrph1ke] {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-base);
    color: var(--text);
    background: var(--surface);
    outline: none;
    resize: vertical;
    font-family: var(--font);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.sfd-textarea:focus[b-ip5jrph1ke] {
    border-color: var(--saytoo-blue);
    box-shadow: 0 0 0 2px var(--saytoo-blue-50);
}

/* ─── Carte Leaflet ─────────────────────────────────────────────────────────── */

.sfd-map-container[b-ip5jrph1ke] {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--border);
    margin-bottom: 10px;
}

.sfd-map[b-ip5jrph1ke] {
    height: 360px;
    width: 100%;
    cursor: crosshair;
}

.sfd-map-overlay[b-ip5jrph1ke] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: rgba(251, 251, 253, 0.30);
    z-index: 1000;
    pointer-events: none;
}

.sfd-map-overlay__icon[b-ip5jrph1ke] { font-size: 28px; }

.sfd-map-overlay__text[b-ip5jrph1ke] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
}

/* ─── Coordonnées ───────────────────────────────────────────────────────────── */

.sfd-coords-row[b-ip5jrph1ke] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.sfd-coords-display[b-ip5jrph1ke] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}

.sfd-coords-hint[b-ip5jrph1ke] {
    font-size: var(--font-size-sm);
    color: var(--text-disabled);
    font-style: italic;
}

.sfd-btn-clear-coords[b-ip5jrph1ke] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: var(--font-size-sm);
    color: var(--danger);
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.sfd-btn-clear-coords:hover[b-ip5jrph1ke] { color: #991b1b; }

.sfd-manual-check[b-ip5jrph1ke] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    cursor: pointer;
    margin-bottom: 4px;
}

.sfd-manual-check input[type="checkbox"][b-ip5jrph1ke] { accent-color: var(--saytoo-blue); }

.sfd-coord-fields[b-ip5jrph1ke] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 8px;
}

/* ─── Géocodage spinner ─────────────────────────────────────────────────────── */

.sfd-geocoding-hint[b-ip5jrph1ke] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-style: italic;
}

.sfd-geocoding-spinner[b-ip5jrph1ke] { transform: scale(0.7); }

/* ─── Footer boutons ────────────────────────────────────────────────────────── */

.sfd-btn[b-ip5jrph1ke] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    border: none;
    transition: background 0.15s;
}

.sfd-btn:disabled[b-ip5jrph1ke] { opacity: 0.55; cursor: not-allowed; }

.sfd-btn--cancel[b-ip5jrph1ke] {
    background: var(--neutral-bg);
    color: var(--text);
}

.sfd-btn--cancel:hover:not(:disabled)[b-ip5jrph1ke] { background: var(--border); }

.sfd-btn--save[b-ip5jrph1ke] {
    background: var(--saytoo-blue);
    color: var(--text-on-primary);
}

.sfd-btn--save:hover:not(:disabled)[b-ip5jrph1ke] { background: var(--saytoo-blue-600); }

.sfd-spinner[b-ip5jrph1ke] { transform: scale(0.75); }
/* /Components/Dialogs/UserFormDialog.razor.rz.scp.css */
/* ─── Dialog container ───────────────────────────────────────────────────────── */

[b-1dz0b2apwa] .ufd-dialog {
    min-width: 420px;
}

.ufd-dialog__title[b-1dz0b2apwa] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ─── Alerte erreur ──────────────────────────────────────────────────────────── */

.ufd-alert[b-1dz0b2apwa] {
    margin-bottom: 12px;
}

/* ─── Formulaire ─────────────────────────────────────────────────────────────── */

.ufd-form[b-1dz0b2apwa] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ufd-field[b-1dz0b2apwa] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ufd-label[b-1dz0b2apwa] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
}

.ufd-required[b-1dz0b2apwa] {
    color: var(--danger, #DC2626);
    margin-left: 2px;
}

.ufd-input[b-1dz0b2apwa],
.ufd-select[b-1dz0b2apwa] {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    font-size: 13px;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s;
    box-sizing: border-box;
}

.ufd-input:focus[b-1dz0b2apwa],
.ufd-select:focus[b-1dz0b2apwa] {
    border-color: var(--primary, #1F4E79);
}

.ufd-input--error[b-1dz0b2apwa],
.ufd-select--error[b-1dz0b2apwa] {
    border-color: var(--danger, #DC2626) !important;
}

.ufd-input--readonly[b-1dz0b2apwa] {
    background: var(--bg, #F5F7FA);
    color: var(--text-secondary);
    cursor: default;
}

.ufd-field-error[b-1dz0b2apwa] {
    font-size: 11px;
    color: var(--danger, #DC2626);
}

/* ─── Boutons d'action ───────────────────────────────────────────────────────── */

.ufd-btn[b-1dz0b2apwa] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, color 0.12s;
}

.ufd-btn--save[b-1dz0b2apwa] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: var(--primary, #1F4E79);
}

.ufd-btn--save:hover:not(:disabled)[b-1dz0b2apwa] { background: #17406a; }

.ufd-btn--save:disabled[b-1dz0b2apwa] {
    opacity: 0.6;
    cursor: not-allowed;
}

.ufd-btn--cancel[b-1dz0b2apwa] {
    background: var(--surface);
    color: var(--text-secondary);
    border-color: var(--border);
}

.ufd-btn--cancel:hover:not(:disabled)[b-1dz0b2apwa] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

.ufd-spinner[b-1dz0b2apwa] {
    margin-right: 4px;
}
/* /Components/Dialogs/WorkOrderFormDialog.razor.rz.scp.css */
/* ── Dialog ─────────────────────────────────────────────────────────────── */
[b-gas2u572ye] .wofd-dialog .mud-dialog-content { padding: 0 20px 4px; }
[b-gas2u572ye] .wofd-dialog .mud-dialog-actions { padding: 12px 20px; gap: 8px; }

.wofd-dialog__title[b-gas2u572ye] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

/* ── Loading ────────────────────────────────────────────────────────────── */
.wofd-loading[b-gas2u572ye] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 0;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
}

/* ── Alerte ─────────────────────────────────────────────────────────────── */
.wofd-alert[b-gas2u572ye] { margin-bottom: 12px; }

/* ── Formulaire ─────────────────────────────────────────────────────────── */
.wofd-form[b-gas2u572ye] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 8px;
}

.wofd-section-title[b-gas2u572ye] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border);
    padding-bottom: 4px;
    margin-top: 4px;
}

.wofd-field[b-gas2u572ye] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* ── MudGrid datepickers — réduction des marges Material par défaut ─────── */
[b-gas2u572ye] .wofd-picker-grid { margin-top: -4px; margin-bottom: -4px; }
[b-gas2u572ye] .wofd-picker-grid .mud-input-label { font-size: var(--font-size-xs); }

.wofd-label[b-gas2u572ye] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
}

.wofd-input[b-gas2u572ye] {
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 7px 10px;
    font-size: var(--font-size-sm);
    color: var(--text);
    background: var(--surface);
    transition: border-color 0.15s;
    width: 100%;
}
.wofd-input:focus[b-gas2u572ye] { outline: none; border-color: var(--saytoo-blue); }

.wofd-textarea[b-gas2u572ye] {
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 7px 10px;
    font-size: var(--font-size-sm);
    color: var(--text);
    background: var(--surface);
    resize: vertical;
    min-height: 80px;
    width: 100%;
    transition: border-color 0.15s;
}
.wofd-textarea:focus[b-gas2u572ye] { outline: none; border-color: var(--saytoo-blue); }

.wofd-char-count[b-gas2u572ye] {
    font-size: var(--font-size-xs);
    color: var(--text-disabled);
    text-align: right;
}

.wofd-field-hint[b-gas2u572ye] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.wofd-field-error[b-gas2u572ye] {
    font-size: var(--font-size-xs);
    color: var(--danger);
}

.wofd-readonly-row[b-gas2u572ye] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.wofd-readonly-label[b-gas2u572ye] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    min-width: 80px;
}

.wofd-wr-ref[b-gas2u572ye] {
    font-family: 'Roboto Mono', monospace;
    font-size: var(--font-size-sm);
    background: var(--saytoo-blue-50);
    color: var(--text);
    padding: 2px 6px;
    border-radius: var(--radius-sm);
}

.wofd-link[b-gas2u572ye] {
    font-size: var(--font-size-sm);
    color: var(--saytoo-blue);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
}
.wofd-link:hover[b-gas2u572ye] { text-decoration: underline; }

/* ── Boutons ─────────────────────────────────────────────────────────────── */
.wofd-btn[b-gas2u572ye] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    border: none;
    transition: background 0.15s, opacity 0.15s;
}
.wofd-btn:disabled[b-gas2u572ye] { opacity: 0.55; cursor: not-allowed; }

.wofd-btn--cancel[b-gas2u572ye] {
    background: var(--neutral-bg);
    color: var(--text-secondary);
    border: 1px solid var(--border);
}
.wofd-btn--cancel:hover:not(:disabled)[b-gas2u572ye] { background: var(--border); }

.wofd-btn--save[b-gas2u572ye] {
    background: var(--saytoo-blue);
    color: #fff;
}
.wofd-btn--save:hover:not(:disabled)[b-gas2u572ye] { background: var(--saytoo-blue-dark); }

.wofd-spinner[b-gas2u572ye] { margin-right: 4px; }

@media (max-width: 500px) {
    [b-gas2u572ye] .wofd-picker-grid .mud-grid-item { flex-basis: 100% !important; max-width: 100% !important; }
}
/* /Components/Dialogs/WorkRequestFormDialog.razor.rz.scp.css */
/* ── Dialog ─────────────────────────────────────────────────────────────── */
[b-m8trydm3uj] .wrfd-dialog .mud-dialog-content { padding: 0 20px 4px; }
[b-m8trydm3uj] .wrfd-dialog .mud-dialog-actions { padding: 12px 20px; gap: 8px; }

.wrfd-dialog__title[b-m8trydm3uj] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

/* ── Loading ────────────────────────────────────────────────────────────── */
.wrfd-loading[b-m8trydm3uj] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 0;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
}

/* ── Alerte erreur ──────────────────────────────────────────────────────── */
.wrfd-alert[b-m8trydm3uj] { margin-bottom: 12px; }

/* ── Formulaire ─────────────────────────────────────────────────────────── */
.wrfd-form[b-m8trydm3uj] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 8px;
}

.wrfd-section-title[b-m8trydm3uj] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border);
    padding-bottom: 4px;
    margin-top: 4px;
}

/* ── Champs ─────────────────────────────────────────────────────────────── */
.wrfd-field[b-m8trydm3uj] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.wrfd-two-cols[b-m8trydm3uj] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

@media (max-width: 600px) {
    .wrfd-two-cols[b-m8trydm3uj] { grid-template-columns: 1fr; }
}

.wrfd-label[b-m8trydm3uj] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text);
}

.wrfd-label--disabled[b-m8trydm3uj] { color: var(--text-disabled); }
.wrfd-required[b-m8trydm3uj] { color: var(--danger); margin-left: 2px; }

.wrfd-input[b-m8trydm3uj],
.wrfd-select[b-m8trydm3uj],
.wrfd-textarea[b-m8trydm3uj] {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    color: var(--text);
    background: var(--surface);
    font-family: inherit;
    transition: border-color .15s;
    box-sizing: border-box;
}

.wrfd-input:focus[b-m8trydm3uj],
.wrfd-select:focus[b-m8trydm3uj],
.wrfd-textarea:focus[b-m8trydm3uj] {
    outline: none;
    border-color: var(--saytoo-blue);
    box-shadow: 0 0 0 2px var(--saytoo-blue-100);
}

.wrfd-input:disabled[b-m8trydm3uj],
.wrfd-select:disabled[b-m8trydm3uj] {
    background: var(--neutral-bg);
    color: var(--text-disabled);
    cursor: not-allowed;
}

.wrfd-textarea[b-m8trydm3uj] { resize: vertical; min-height: 80px; }

.wrfd-input--error[b-m8trydm3uj],
.wrfd-select--error[b-m8trydm3uj],
.wrfd-textarea--error[b-m8trydm3uj] { border-color: var(--danger); }

.wrfd-field-error[b-m8trydm3uj] {
    font-size: var(--font-size-xs);
    color: var(--danger);
}

.wrfd-field-hint[b-m8trydm3uj] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.wrfd-char-count[b-m8trydm3uj] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    text-align: right;
}

/* ── Lecture seule (mode édition) ──────────────────────────────────────── */
.wrfd-readonly[b-m8trydm3uj] {
    padding: 7px 10px;
    background: var(--neutral-bg);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

/* ── Autocomplete override ──────────────────────────────────────────────── */
[b-m8trydm3uj] .wrfd-autocomplete--error .mud-input-outlined fieldset {
    border-color: var(--danger) !important;
}

/* ── Boutons d'action ───────────────────────────────────────────────────── */
.wrfd-btn[b-m8trydm3uj] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    border: none;
    transition: background .15s, opacity .15s;
    min-height: 36px;
}

.wrfd-btn:disabled[b-m8trydm3uj] { opacity: .55; cursor: not-allowed; }

.wrfd-btn--cancel[b-m8trydm3uj] {
    background: var(--neutral-bg);
    color: var(--text-secondary);
    border: 1px solid var(--border);
}
.wrfd-btn--cancel:hover:not(:disabled)[b-m8trydm3uj] { background: var(--border); }

.wrfd-btn--save[b-m8trydm3uj] {
    background: var(--saytoo-blue);
    color: #fff;
}
.wrfd-btn--save:hover:not(:disabled)[b-m8trydm3uj] { background: var(--saytoo-blue-700); }

.wrfd-spinner[b-m8trydm3uj] { margin-right: 4px; }
/* /Components/Dialogs/WorkRequestMotifDialog.razor.rz.scp.css */
.wmotif-title[b-u771x7itsg] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

.wmotif-body[b-u771x7itsg] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 4px 0 8px;
}

.wmotif-hint[b-u771x7itsg] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0 0 4px;
    line-height: 1.5;
}

.wmotif-label[b-u771x7itsg] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text);
}

.wmotif-required[b-u771x7itsg] { color: var(--danger); margin-left: 2px; }

.wmotif-textarea[b-u771x7itsg] {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    font-family: inherit;
    color: var(--text);
    background: var(--surface);
    resize: vertical;
    min-height: 100px;
    box-sizing: border-box;
    transition: border-color .15s;
}

.wmotif-textarea:focus[b-u771x7itsg] {
    outline: none;
    border-color: var(--saytoo-blue);
    box-shadow: 0 0 0 2px var(--saytoo-blue-100);
}

.wmotif-textarea--error[b-u771x7itsg] { border-color: var(--danger); }

.wmotif-error[b-u771x7itsg] {
    font-size: var(--font-size-xs);
    color: var(--danger);
}

.wmotif-char-count[b-u771x7itsg] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    text-align: right;
}

/* ── Boutons ─────────────────────────────────────────────────────────────── */
.wmotif-btn[b-u771x7itsg] {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    border: none;
    min-height: 36px;
    transition: background .15s;
}

.wmotif-btn--cancel[b-u771x7itsg] {
    background: var(--neutral-bg);
    color: var(--text-secondary);
    border: 1px solid var(--border);
}
.wmotif-btn--cancel:hover[b-u771x7itsg] { background: var(--border); }

.wmotif-btn--primary[b-u771x7itsg] { background: var(--saytoo-blue); color: #fff; }
.wmotif-btn--primary:hover[b-u771x7itsg] { background: var(--saytoo-blue-700); }

.wmotif-btn--danger[b-u771x7itsg] { background: var(--danger); color: #fff; }
.wmotif-btn--danger:hover[b-u771x7itsg] { filter: brightness(.9); }

.wmotif-btn--warning[b-u771x7itsg] { background: var(--warning); color: #fff; }
.wmotif-btn--warning:hover[b-u771x7itsg] { filter: brightness(.9); }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ─── App shell ────────────────────────────────────────── */
.app-shell[b-h7tf5i7ri5] {
  display: grid;
  grid-template-columns: var(--w-sidebar) 1fr;
  height: 100vh;
  overflow: hidden;
}

/* ─── Sidebar ──────────────────────────────────────────── */
.app-sidebar[b-h7tf5i7ri5] {
  background: var(--saytoo-blue);
  color: white;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.app-sidebar__brand[b-h7tf5i7ri5] {
  padding: 20px 20px 16px;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

.app-sidebar__logo[b-h7tf5i7ri5] {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.5px;
  color: white;
}

.app-sidebar__env[b-h7tf5i7ri5] {
  font-size: 11px;
  color: rgba(255,255,255,0.55);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 2px;
}

/* ─── Navigation ───────────────────────────────────────── */
.app-sidebar__nav[b-h7tf5i7ri5] {
  flex: 1;
  padding: 12px 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow-y: auto;
}

.app-sidebar__link[b-h7tf5i7ri5] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: var(--radius-sm);
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: background 0.15s, color 0.15s;
}

.app-sidebar__link:hover[b-h7tf5i7ri5] {
  background: rgba(255,255,255,0.1);
  color: white;
}

.app-sidebar__section-label[b-h7tf5i7ri5] {
  padding: 16px 12px 4px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}

.app-sidebar__link--active[b-h7tf5i7ri5],
.app-sidebar__link.active[b-h7tf5i7ri5] {
  background: rgba(255,255,255,0.15);
  color: white;
}

/* ─── Footer sidebar ───────────────────────────────────── */
.app-sidebar__footer[b-h7tf5i7ri5] {
  padding: 12px 14px;
  border-top: 1px solid rgba(255,255,255,0.12);
  display: flex;
  align-items: center;
  gap: 8px;
}

.app-sidebar__user[b-h7tf5i7ri5] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.app-sidebar__user-avatar[b-h7tf5i7ri5] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  color: white;
  flex-shrink: 0;
}

.app-sidebar__user-info[b-h7tf5i7ri5] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.app-sidebar__user-name[b-h7tf5i7ri5] {
  font-size: 12px;
  font-weight: 600;
  color: white;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-sidebar__user-role[b-h7tf5i7ri5] {
  font-size: 11px;
  color: rgba(255,255,255,0.55);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-sidebar__logout[b-h7tf5i7ri5] {
  background: transparent;
  border: none;
  padding: 6px;
  border-radius: var(--radius-sm);
  color: rgba(255,255,255,0.55);
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background 0.15s, color 0.15s;
}

.app-sidebar__logout:hover[b-h7tf5i7ri5] {
  background: rgba(255,255,255,0.1);
  color: white;
}

/* ─── Main zone ────────────────────────────────────────── */
.app-main[b-h7tf5i7ri5] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: var(--bg);
}

/* ─── Header ───────────────────────────────────────────── */
.app-header[b-h7tf5i7ri5] {
  height: var(--h-header);
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  flex-shrink: 0;
}

.app-header__left[b-h7tf5i7ri5] {
  display: flex;
  align-items: center;
  gap: 12px;
}

.app-header__tenant[b-h7tf5i7ri5] {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ─── Content ──────────────────────────────────────────── */
.app-content[b-h7tf5i7ri5] {
  flex: 1;
  padding: 24px;
  overflow-y: auto;
}

/* ─── Error UI ─────────────────────────────────────────── */
#blazor-error-ui[b-h7tf5i7ri5] {
  background: var(--danger-bg);
  color: var(--danger);
  border-top: 1px solid var(--danger);
  bottom: 0;
  display: none;
  left: 0;
  padding: 0.6rem 1.25rem 0.7rem 1.25rem;
  position: fixed;
  right: 0;
  z-index: 1000;
}

#blazor-error-ui .reload[b-h7tf5i7ri5] { color: var(--danger); font-weight: 600; }
#blazor-error-ui .dismiss[b-h7tf5i7ri5] { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; }

/* ─── ErrorBoundary — fallback page ─────────────────────── */
.layout-error-boundary[b-h7tf5i7ri5] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 64px 24px;
  color: var(--color-text-secondary, #4A5264);
  text-align: center;
}

.layout-error-boundary p[b-h7tf5i7ri5] {
  font-size: 14px;
  margin: 0;
}

.layout-error-btn[b-h7tf5i7ri5] {
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 500;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 6px;
  background: var(--color-surface, #FFFFFF);
  color: var(--color-text-primary, #0F1524);
  cursor: pointer;
  transition: background 0.15s;
}

.layout-error-btn:hover[b-h7tf5i7ri5] { background: var(--color-bg, #FBFBFD); }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-4w1havr2m5] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-4w1havr2m5] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-4w1havr2m5] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-4w1havr2m5] {
    font-size: 1.1rem;
}

.bi[b-4w1havr2m5] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-4w1havr2m5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-4w1havr2m5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-4w1havr2m5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-4w1havr2m5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-4w1havr2m5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-4w1havr2m5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-4w1havr2m5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-4w1havr2m5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.nav-item[b-4w1havr2m5] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-4w1havr2m5] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-4w1havr2m5] {
        padding-bottom: 1rem;
    }

    .nav-item[b-4w1havr2m5]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-4w1havr2m5]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-4w1havr2m5]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-4w1havr2m5] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-4w1havr2m5] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-4w1havr2m5] {
        display: none;
    }

    .nav-scrollable[b-4w1havr2m5] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Pages/Customers/CustomerDetail.razor.rz.scp.css */
/* ─── Header ─────────────────────────────────────────────────────────────────── */

.custd-header[b-17a27y02bm] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.custd-header__back[b-17a27y02bm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 6px 12px;
    font-size: 13px;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.custd-header__back:hover[b-17a27y02bm] {
    background: var(--surface);
    color: var(--text);
}

.custd-header__title[b-17a27y02bm] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.custd-header__name[b-17a27y02bm] {
    font-size: 22px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.3px;
}

.custd-header__edit-btn[b-17a27y02bm] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
    margin-left: auto;
}

.custd-header__edit-btn:hover[b-17a27y02bm] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

/* ─── Body 2-col ─────────────────────────────────────────────────────────────── */

.custd-body[b-17a27y02bm] {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
    align-items: start;
}

@media (max-width: 900px) {
    .custd-body[b-17a27y02bm] {
        grid-template-columns: 1fr;
    }
}

.custd-body__left[b-17a27y02bm],
.custd-body__right[b-17a27y02bm] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ─── Onglets ────────────────────────────────────────────────────────────────── */

.custd-tabs-container[b-17a27y02bm] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.custd-tabsbar[b-17a27y02bm] {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--border);
    background: var(--bg, #F5F7FA);
    padding-right: 12px;
}

.custd-tabs[b-17a27y02bm] {
    display: flex;
    flex: 1;
}

.custd-tab[b-17a27y02bm] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 11px 16px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
    transition: color 0.15s, background 0.15s;
    white-space: nowrap;
}

.custd-tab:hover:not(.custd-tab--active)[b-17a27y02bm] {
    color: var(--text);
    background: var(--surface);
}

.custd-tab--active[b-17a27y02bm] {
    color: var(--primary, #1F4E79);
    border-bottom-color: var(--primary, #1F4E79);
    font-weight: 600;
    background: var(--surface);
}

.custd-tab__icon[b-17a27y02bm] {
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
}

.custd-tab__count[b-17a27y02bm] {
    font-size: 11px;
    font-weight: 400;
    color: var(--text-secondary);
}

.custd-tab-content[b-17a27y02bm] {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ─── Master-Detail Sites ────────────────────────────────────────────────────── */

.custd-master-detail[b-17a27y02bm] {
    display: flex;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    min-height: 460px;
}

@media (max-width: 640px) {
    .custd-master-detail[b-17a27y02bm] {
        flex-direction: column;
    }
}

.custd-master[b-17a27y02bm] {
    width: 280px;
    flex-shrink: 0;
    border-right: 1px solid var(--border);
    overflow-y: auto;
    background: var(--bg, #F5F7FA);
}

@media (max-width: 640px) {
    .custd-master[b-17a27y02bm] {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border);
        max-height: 200px;
    }
}

.custd-detail[b-17a27y02bm] {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    background: var(--surface);
}

/* ─── Site detail header ─────────────────────────────────────────────────────── */

.custd-site-detail-header[b-17a27y02bm] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border);
}

.custd-site-detail-name[b-17a27y02bm] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
}

.custd-site-detail-address[b-17a27y02bm] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: var(--text-secondary);
}

.custd-site-detail-address__icon[b-17a27y02bm] {
    font-size: 14px !important;
    width: 14px !important;
    height: 14px !important;
    color: var(--text-secondary) !important;
}

.custd-site-detail-stats[b-17a27y02bm] {
    font-size: 13px;
    color: var(--text-secondary);
    margin-top: 4px;
}

.custd-site-detail-open[b-17a27y02bm] {
    color: var(--warning, #F59E0B);
    font-weight: 600;
}

/* ─── Placeholder carte ──────────────────────────────────────────────────────── */

.custd-map-placeholder[b-17a27y02bm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 200px;
    border: 2px dashed var(--border);
    border-radius: var(--radius);
    background: var(--bg, #F5F7FA);
    gap: 8px;
}

.custd-map-placeholder__icon[b-17a27y02bm] {
    font-size: 32px;
}

.custd-map-placeholder__text[b-17a27y02bm] {
    font-size: 13px;
    color: var(--text-secondary);
    text-align: center;
}

/* ─── Sections dans le détail site ──────────────────────────────────────────── */

.custd-site-section[b-17a27y02bm] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.custd-site-section-title[b-17a27y02bm] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

.custd-site-section-toggle[b-17a27y02bm] {
    margin-left: auto;
}

.custd-site-section-icon[b-17a27y02bm] {
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
    color: var(--text-secondary) !important;
}

/* ─── Location groups + équipements ──────────────────────────────────────────── */

.custd-location-group[b-17a27y02bm] {
    margin-bottom: 12px;
}

.custd-location-group__name[b-17a27y02bm] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.custd-location-group__count[b-17a27y02bm] {
    font-weight: 400;
    color: var(--text-secondary);
}

.custd-location-group__room[b-17a27y02bm] {
    font-size: 11px;
    font-family: monospace;
    color: var(--text-secondary);
    background: var(--bg, #F5F7FA);
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 1px 5px;
    margin-left: 4px;
}

.custd-location-group__desc[b-17a27y02bm] {
    font-size: 12px;
    color: var(--text-secondary);
    font-style: italic;
    margin: -4px 0 8px;
}

.custd-location-group__add-btn[b-17a27y02bm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    padding: 2px 8px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: none;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.1s, color 0.1s, border-color 0.1s;
}

.custd-location-group__add-btn:hover[b-17a27y02bm] {
    background: var(--primary-bg, #EFF6FF);
    color: var(--primary, #1F4E79);
    border-color: var(--primary, #1F4E79);
}

/* ─── Toolbar onglet Équipements ─────────────────────────────────────────────── */

.custd-equip-toolbar[b-17a27y02bm] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 8px;
}

.custd-equipment-grid[b-17a27y02bm] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* ─── Site block onglet Équipements ─────────────────────────────────────────── */

.custd-equip-site-block[b-17a27y02bm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
}

.custd-equip-site-block:last-child[b-17a27y02bm] {
    border-bottom: none;
    padding-bottom: 0;
}

.custd-equip-site-title[b-17a27y02bm] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
}

.custd-equip-site-icon[b-17a27y02bm] {
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
    color: var(--text-secondary) !important;
}

/* ─── Filtres interventions ──────────────────────────────────────────────────── */

.custd-interv-filters[b-17a27y02bm] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.custd-filter-pill[b-17a27y02bm] {
    display: inline-flex;
    align-items: center;
    padding: 5px 14px;
    border-radius: var(--radius-full);
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
    background: var(--bg, #F5F7FA);
    border: 1px solid var(--border);
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.custd-filter-pill:hover[b-17a27y02bm] {
    color: var(--text);
    border-color: var(--text-secondary);
}

.custd-filter-pill--active[b-17a27y02bm] {
    background: var(--color-primary-bg, #EBF1F7);
    color: var(--primary, #1F4E79);
    border-color: var(--primary, #1F4E79);
    font-weight: 600;
}

/* ─── Liste interventions ────────────────────────────────────────────────────── */

.custd-interv-list[b-17a27y02bm] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}

.custd-interv-head[b-17a27y02bm] {
    display: grid;
    grid-template-columns: 110px 60px 1fr 1fr 90px 120px;
    gap: 8px;
    padding: 8px 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
    background: var(--bg, #F5F7FA);
    border-bottom: 1px solid var(--border);
}

@media (max-width: 768px) {
    .custd-interv-head[b-17a27y02bm] {
        display: none;
    }
}

/* ─── KPIs colonne droite ────────────────────────────────────────────────────── */

.custd-kpis[b-17a27y02bm] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.custd-kpi[b-17a27y02bm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.custd-kpi__label[b-17a27y02bm] {
    font-size: 12px;
    color: var(--text-secondary);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.custd-kpi__value[b-17a27y02bm] {
    font-size: 26px;
    font-weight: 700;
    color: var(--text);
    line-height: 1;
    letter-spacing: -0.5px;
}

.custd-kpi--warn .custd-kpi__value[b-17a27y02bm] {
    color: var(--warning, #F59E0B);
}

/* ─── Métadonnées ────────────────────────────────────────────────────────────── */

.intd-meta[b-17a27y02bm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ─── États chargement/erreur ────────────────────────────────────────────────── */

.custd-loading[b-17a27y02bm],
.custd-error[b-17a27y02bm] {
    display: flex;
    justify-content: center;
    padding: 60px 0;
}

/* ─── Onglet Sites — header avec bouton Nouveau site ─────────────────────────── */


.custd-btn-new-site[b-17a27y02bm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: var(--saytoo-blue);
    color: var(--text-on-primary);
    border: none;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: background 0.15s;
}

.custd-btn-new-site:hover[b-17a27y02bm] { background: var(--saytoo-blue-600); }

/* ─── Actions site (Modifier / Supprimer) ────────────────────────────────────── */

.custd-site-actions[b-17a27y02bm] {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.custd-site-action-btn[b-17a27y02bm] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.custd-site-action-btn:hover[b-17a27y02bm] {
    border-color: var(--saytoo-blue);
    color: var(--saytoo-blue);
}

.custd-site-action-btn--danger:hover[b-17a27y02bm] {
    border-color: var(--danger);
    color: var(--danger);
}

.custd-site-action-btn--primary[b-17a27y02bm] {
    border-color: var(--saytoo-blue);
    color: var(--saytoo-blue);
    background: var(--saytoo-blue-50, #EBF1FB);
}

.custd-site-action-btn--primary:hover[b-17a27y02bm] {
    background: var(--saytoo-blue);
    color: var(--text-on-primary);
}

/* ─── Placeholder géolocalisation absente ────────────────────────────────────── */

.custd-site-no-geo[b-17a27y02bm] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: var(--neutral-bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    margin-bottom: 16px;
}

/* ─── Onglet Contrats (ADR-0035) ─────────────────────────────────────────────── */

.custd-contract-list[b-17a27y02bm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.custd-contract-row[b-17a27y02bm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    transition: border-color 0.15s;
}

.custd-contract-row:hover[b-17a27y02bm] { border-color: var(--saytoo-blue); }

.custd-contract-row__info[b-17a27y02bm] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    flex: 1;
}

.custd-contract-row__title[b-17a27y02bm] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.custd-contract-ref[b-17a27y02bm] {
    font-family: monospace;
    font-size: 12px;
    font-weight: 600;
    color: var(--text);
    background: var(--bg, #F5F7FA);
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 1px 6px;
}

.custd-contract-label[b-17a27y02bm] {
    font-size: 14px;
    font-weight: 500;
    color: var(--text);
}

.custd-contract-period[b-17a27y02bm] {
    font-size: 12px;
    color: var(--text-secondary);
}

.custd-contract-row__right[b-17a27y02bm] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
/* /Components/Pages/Customers/CustomerList.razor.rz.scp.css */
.page-header[b-rz047z1qoj] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 12px;
}

.page-title[b-rz047z1qoj] {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.3px;
}

.page-subtitle[b-rz047z1qoj] {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--text-secondary);
}

.page-header__actions[b-rz047z1qoj] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cust-search[b-rz047z1qoj] {
    min-width: 220px;
}

/* ─── Table ──────────────────────────────────────────────────────────────────── */

.cust-table-container[b-rz047z1qoj] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.cust-table[b-rz047z1qoj] { width: 100%; }

.cust-row[b-rz047z1qoj] { cursor: pointer; }

.cust-name[b-rz047z1qoj] {
    font-weight: 600;
    color: var(--text);
    font-size: 14px;
}

.cust-count[b-rz047z1qoj] {
    font-size: 13px;
    font-weight: 500;
    color: var(--text);
}

.cust-count--muted[b-rz047z1qoj] { color: var(--text-secondary); }

/* Badge orange "interventions en cours > 0" */
.cust-open-badge[b-rz047z1qoj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: var(--radius-full);
    background: var(--warning-bg, #FFF4E6);
    color: var(--warning, #F59E0B);
    font-size: 12px;
    font-weight: 700;
    border: 1px solid var(--warning, #F59E0B);
}

.table-footer[b-rz047z1qoj] {
    padding: 12px 16px;
    border-top: 1px solid var(--border);
    background: var(--bg);
}

.table-total[b-rz047z1qoj] {
    font-size: 12px;
    color: var(--text-secondary);
}

.page-error[b-rz047z1qoj] { max-width: 600px; }
/* /Components/Pages/Dashboard.razor.rz.scp.css */
/* ── Loading / Error ──────────────────────────────────────────────── */
.db-loading[b-lpzq2h52ia] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60vh;
}

.db-error[b-lpzq2h52ia] {
    padding: 40px;
    text-align: center;
    color: var(--danger);
}

.db-error__retry[b-lpzq2h52ia] {
    margin-top: 12px;
    padding: 8px 20px;
    background: var(--saytoo-blue);
    color: #fff;
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    font-size: var(--font-size-base);
}

/* ── Page wrapper ─────────────────────────────────────────────────── */
.db-page[b-lpzq2h52ia] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 22px 28px;
    min-height: 0;
}

/* ── Topbar ───────────────────────────────────────────────────────── */
.db-topbar[b-lpzq2h52ia] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}

.db-topbar__left[b-lpzq2h52ia] {
    display: flex;
    align-items: baseline;
    gap: 14px;
}

.db-topbar__title[b-lpzq2h52ia] {
    font-size: 18px;
    font-weight: var(--font-weight-semibold);
    letter-spacing: -0.3px;
    margin: 0;
    color: var(--text);
}

.db-topbar__updated[b-lpzq2h52ia] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.db-topbar__date[b-lpzq2h52ia] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    text-transform: capitalize;
}

/* ── KPI grid ─────────────────────────────────────────────────────── */
.db-kpi-grid[b-lpzq2h52ia] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
}

/* ── Body 2-col ───────────────────────────────────────────────────── */
.db-body[b-lpzq2h52ia] {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 16px;
    align-items: start;
}

.db-body__left[b-lpzq2h52ia],
.db-body__right[b-lpzq2h52ia] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ── Pipeline ─────────────────────────────────────────────────────── */
.db-pipeline[b-lpzq2h52ia] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.db-pipeline__section[b-lpzq2h52ia] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.db-section-label[b-lpzq2h52ia] {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
}

.db-donut-row[b-lpzq2h52ia] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.db-legend[b-lpzq2h52ia] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.db-legend__item[b-lpzq2h52ia] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-sm);
}

.db-legend__dot[b-lpzq2h52ia] {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    flex-shrink: 0;
}

.db-legend__label[b-lpzq2h52ia] {
    flex: 1;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.db-legend__val[b-lpzq2h52ia] {
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-xs);
}

/* ── Top clients ──────────────────────────────────────────────────── */
.db-top-clients[b-lpzq2h52ia] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.db-client-row[b-lpzq2h52ia] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 0;
    font-size: var(--font-size-sm);
}

.db-client-rank[b-lpzq2h52ia] {
    width: 18px;
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    flex-shrink: 0;
}

.db-client-name[b-lpzq2h52ia] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.db-client-count[b-lpzq2h52ia] {
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
}

.db-client-row--link[b-lpzq2h52ia] {
    cursor: pointer;
    border-radius: var(--radius);
    padding: 4px 6px;
    margin: 0 -6px;
    transition: background 0.15s;
}

.db-client-row--link:hover[b-lpzq2h52ia] {
    background: var(--surface);
}

/* ── Recent interventions ─────────────────────────────────────────── */
.db-interventions[b-lpzq2h52ia] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.db-interventions__head[b-lpzq2h52ia] {
    display: grid;
    grid-template-columns: 100px 1fr 1fr 120px 60px;
    gap: 8px;
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--text-secondary);
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

.db-interventions__row[b-lpzq2h52ia] {
    display: grid;
    grid-template-columns: 100px 1fr 1fr 120px 60px;
    gap: 8px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
    font-size: var(--font-size-sm);
}

.db-interventions__row:last-child[b-lpzq2h52ia] {
    border-bottom: none;
}

.db-interventions__row--link[b-lpzq2h52ia] {
    cursor: pointer;
    transition: background 0.12s;
    border-radius: 4px;
}

.db-interventions__row--link:hover[b-lpzq2h52ia] {
    background: var(--bg-subtle, #f8fafc);
}

.db-interventions__wo[b-lpzq2h52ia] {
    font-weight: var(--font-weight-medium);
    color: var(--saytoo-blue);
}

.db-interventions__tech[b-lpzq2h52ia] {
    color: var(--text-secondary);
}

.db-interventions__date[b-lpzq2h52ia] {
    color: var(--text-secondary);
    text-align: right;
}

/* ── Alerts ───────────────────────────────────────────────────────── */
.db-alert-count[b-lpzq2h52ia] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.db-alerts[b-lpzq2h52ia] {
    display: flex;
    flex-direction: column;
}

.db-alert[b-lpzq2h52ia] {
    display: flex;
    gap: 10px;
    padding: 8px 0;
}

.db-alert--bordered[b-lpzq2h52ia] {
    border-top: 1px solid var(--border);
}

.db-alert__bar[b-lpzq2h52ia] {
    width: 3px;
    align-self: stretch;
    border-radius: 2px;
    flex-shrink: 0;
}

.db-alert__bar--critique[b-lpzq2h52ia] { background: var(--danger); }
.db-alert__bar--warn[b-lpzq2h52ia]     { background: var(--warning); }
.db-alert__bar--info[b-lpzq2h52ia]     { background: var(--saytoo-blue); }

.db-alert__content[b-lpzq2h52ia] {
    flex: 1;
    min-width: 0;
}

.db-alert__title[b-lpzq2h52ia] {
    font-size: 12.5px;
    font-weight: var(--font-weight-semibold);
}

.db-alert__ctx[b-lpzq2h52ia] {
    font-size: 11.5px;
    color: var(--text-secondary);
    margin-top: 1px;
}

.db-alert__action[b-lpzq2h52ia] {
    font-size: var(--font-size-xs);
    color: var(--saytoo-blue);
    font-weight: var(--font-weight-semibold);
    align-self: center;
    white-space: nowrap;
}

/* ── Techs live ───────────────────────────────────────────────────── */
.db-live-badge[b-lpzq2h52ia] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-xs);
    color: var(--success);
    font-weight: var(--font-weight-semibold);
}

.db-live-dot[b-lpzq2h52ia] {
    width: 6px;
    height: 6px;
    background: var(--success);
    border-radius: 50%;
}

.db-techs[b-lpzq2h52ia] {
    display: flex;
    flex-direction: column;
}

.db-tech[b-lpzq2h52ia] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
}

.db-tech--bordered[b-lpzq2h52ia] {
    border-top: 1px solid var(--border);
}

.db-tech__dot[b-lpzq2h52ia] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.db-tech__dot--intervention[b-lpzq2h52ia] { background: var(--success); }
.db-tech__dot--en\ route[b-lpzq2h52ia]    { background: var(--saytoo-blue); }
.db-tech__dot--pause[b-lpzq2h52ia]        { background: var(--warning); }

.db-tech__info[b-lpzq2h52ia] {
    flex: 1;
    min-width: 0;
}

.db-tech__name[b-lpzq2h52ia] {
    font-size: 12.5px;
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.db-tech__sub[b-lpzq2h52ia] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.db-tech__wo[b-lpzq2h52ia] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    flex-shrink: 0;
}

.db-empty-msg[b-lpzq2h52ia] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0;
}

/* ── Activity sparkline ───────────────────────────────────────────── */
.db-activity[b-lpzq2h52ia] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.db-activity__labels[b-lpzq2h52ia] {
    display: flex;
    justify-content: space-between;
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 1280px) {
    .db-kpi-grid[b-lpzq2h52ia] {
        grid-template-columns: repeat(3, 1fr);
    }
    .db-body[b-lpzq2h52ia] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Equipment/EquipmentDetail.razor.rz.scp.css */
/* ─── Bannière record ────────────────────────────────────────────────────── */

.record-banner[b-lshimsac1q] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px 24px;
  margin-bottom: 20px;
  box-shadow: var(--shadow-sm);
  gap: 16px;
  flex-wrap: wrap;
}

.record-banner__left[b-lshimsac1q] {
  display: flex;
  align-items: center;
  gap: 16px;
}

.record-banner__avatar[b-lshimsac1q] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--saytoo-blue-50);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.record-banner__title[b-lshimsac1q] {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
}

.record-banner__meta[b-lshimsac1q] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 3px;
}

.meta-sep[b-lshimsac1q] { color: var(--border); }

.meta-sn[b-lshimsac1q] {
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 12px;
  background: var(--neutral-bg);
  padding: 1px 6px;
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
}

.record-banner__stats[b-lshimsac1q] {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.stat-item[b-lshimsac1q] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.stat-label[b-lshimsac1q] {
  font-size: 11px;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.stat-value[b-lshimsac1q] {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

/* ─── Grille détail ──────────────────────────────────────────────────────── */

.detail-grid[b-lshimsac1q] {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 20px;
  align-items: start;
}

@media (max-width: 900px) {
  .detail-grid[b-lshimsac1q] { grid-template-columns: 1fr; }
}

.detail-main[b-lshimsac1q] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.detail-aside[b-lshimsac1q] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ─── Navigation latérale ────────────────────────────────────────────────── */

.aside-links[b-lshimsac1q] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.aside-link[b-lshimsac1q] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  color: var(--saytoo-blue);
  text-decoration: none;
  transition: background 0.15s;
}

.aside-link:hover[b-lshimsac1q] {
  background: var(--saytoo-blue-50);
}

/* ─── QR Code ────────────────────────────────────────────────────────────── */

.qr-placeholder[b-lshimsac1q] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 8px;
}

.qr-hint[b-lshimsac1q] {
  margin: 0;
  font-size: 12px;
  color: var(--text-secondary);
}

/* ─── État vide ──────────────────────────────────────────────────────────── */

.detail-not-found[b-lshimsac1q] {
  max-width: 500px;
  margin: 0 auto;
  padding: 48px 24px;
}
/* /Components/Pages/Equipment/EquipmentList.razor.rz.scp.css */
.page-header[b-5l3upexkhf] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 24px;
}

.page-title[b-5l3upexkhf] {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: -0.3px;
}

.page-subtitle[b-5l3upexkhf] {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--text-secondary);
}

.equipment-table-container[b-5l3upexkhf] {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.equipment-table[b-5l3upexkhf] {
  width: 100%;
}

.equipment-row[b-5l3upexkhf] {
  cursor: pointer;
}

.equipment-model[b-5l3upexkhf] {
  font-weight: 500;
  color: var(--text);
}

.equipment-sn[b-5l3upexkhf] {
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 12px;
  background: var(--neutral-bg);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
}

.table-footer[b-5l3upexkhf] {
  padding: 12px 16px;
  border-top: 1px solid var(--border);
  background: var(--bg);
}

.table-total[b-5l3upexkhf] {
  font-size: 12px;
  color: var(--text-secondary);
}

.page-error[b-5l3upexkhf] {
  max-width: 600px;
}
/* /Components/Pages/Interventions/InterventionDetail.razor.rz.scp.css */
.int-header[b-oxmlvdmgh4] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.int-header__back[b-oxmlvdmgh4] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    padding: 6px 12px;
    border-radius: var(--radius-sm);
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}

.int-header__back:hover[b-oxmlvdmgh4] {
    background: var(--bg-subtle);
    color: var(--text);
}

.int-header__title[b-oxmlvdmgh4] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.int-header__ref[b-oxmlvdmgh4] {
    font-family: var(--font-mono);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    background: var(--color-surface-alt);
    padding: 3px 10px;
    border-radius: var(--radius-sm);
    color: var(--color-text-primary);
}

/* Badge observation échue dans l'en-tête — ADR-0038 */
.int-overdue-badge[b-oxmlvdmgh4] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    background: var(--color-danger-soft, #FDECEA);
    color: var(--color-danger, #C62828);
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

/* Note contextuelle attente pièce */
.int-onhold-note[b-oxmlvdmgh4] {
    font-style: italic;
    opacity: 0.85;
}

.int-header__actions[b-oxmlvdmgh4] {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.int-wo-link[b-oxmlvdmgh4] {
    font-family: var(--font-mono);
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    text-decoration: none;
}

.int-wo-link:hover[b-oxmlvdmgh4] { text-decoration: underline; }

/* ── Rapport technique ─────────────────────────────────────────────────────── */
.int-report-field[b-oxmlvdmgh4] {
    margin-bottom: var(--space-4);
}

.int-report-label[b-oxmlvdmgh4] {
    display: block;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--color-text-muted);
    margin-bottom: var(--space-1);
}

.int-report-text[b-oxmlvdmgh4] {
    font-size: var(--font-size-sm);
    color: var(--text);
    line-height: 1.6;
    white-space: pre-wrap;
    background: var(--bg-subtle);
    padding: 10px 12px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    margin: 0;
}

/* ── Layout 2 colonnes 75 / 25 ────────────────────────────────────────────── */
.detail-grid[b-oxmlvdmgh4] {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 20px;
    align-items: start;
}

.detail-main[b-oxmlvdmgh4] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

.detail-aside[b-oxmlvdmgh4] {
    position: sticky;
    top: 20px;
    align-self: start;
    min-width: 0;
}

@media (max-width: 1023px) {
    .detail-grid[b-oxmlvdmgh4] { grid-template-columns: 1fr; }
    .detail-aside[b-oxmlvdmgh4] { position: static; }
}

/* ── Sections ──────────────────────────────────────────────────────────────── */
.detail-section[b-oxmlvdmgh4] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px 18px;
}

.detail-section__title[b-oxmlvdmgh4] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

/* ── Champs lecture seule ──────────────────────────────────────────────────── */
.detail-fields[b-oxmlvdmgh4] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.detail-field[b-oxmlvdmgh4] {
    display: flex;
    gap: 8px;
    align-items: baseline;
}

.detail-field--full[b-oxmlvdmgh4] { flex-direction: column; gap: 4px; }

.detail-field__label[b-oxmlvdmgh4] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    min-width: 110px;
    flex-shrink: 0;
}

.detail-field__value[b-oxmlvdmgh4] {
    font-size: var(--font-size-sm);
    color: var(--text);
    font-weight: var(--font-weight-medium);
}

.detail-field__text[b-oxmlvdmgh4] {
    font-size: var(--font-size-sm);
    color: var(--text);
    line-height: 1.6;
    margin: 0;
    white-space: pre-wrap;
}

/* ── Dates d'audit (timeline bas) ─────────────────────────────────────────── */
.wo-audit-dates[b-oxmlvdmgh4] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-top: 1px solid var(--border);
    padding-top: 10px;
    margin-top: 4px;
}

.wo-audit-date[b-oxmlvdmgh4] {
    font-size: var(--font-size-xs);
    color: var(--text-disabled);
}

/* ── Not found ─────────────────────────────────────────────────────────────── */
.detail-not-found[b-oxmlvdmgh4] {
    padding: 60px 0;
}

/* ── Section photos ────────────────────────────────────────────────────────── */
.photo-section-header[b-oxmlvdmgh4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.photo-section-header .detail-section__title[b-oxmlvdmgh4] { margin-bottom: 0; }

.photo-counter[b-oxmlvdmgh4] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-weight: var(--font-weight-medium);
}

.photo-upload-area[b-oxmlvdmgh4] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.photo-group[b-oxmlvdmgh4] { margin-top: 14px; }

.photo-group__label[b-oxmlvdmgh4] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-secondary);
    margin-bottom: 8px;
}

.photo-grid[b-oxmlvdmgh4] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.photo-empty[b-oxmlvdmgh4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 0;
    color: var(--text-disabled);
    font-size: var(--font-size-sm);
}

/* ── Lightbox ──────────────────────────────────────────────────────────────── */
:global(.lb-header)[b-oxmlvdmgh4] {
    display: flex;
    align-items: center;
    gap: 8px;
}

:global(.lb-ref)[b-oxmlvdmgh4] {
    font-family: var(--font-mono);
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

:global(.lb-counter)[b-oxmlvdmgh4] {
    margin-left: auto;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

:global(.lb-body)[b-oxmlvdmgh4] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    background: var(--bg-subtle);
    border-radius: var(--radius);
    overflow: hidden;
}

:global(.lb-spinner)[b-oxmlvdmgh4] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

:global(.lb-img)[b-oxmlvdmgh4] {
    max-width: 100%;
    max-height: 70vh;
    object-fit: contain;
    display: block;
}

:global(.lb-caption)[b-oxmlvdmgh4] {
    margin-top: 8px;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    text-align: center;
}
/* /Components/Pages/Interventions/InterventionList.razor.rz.scp.css */
.int-list-header[b-9ue86sy1l8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-4);
}

.int-list-header__left[b-9ue86sy1l8] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.int-list-header__title[b-9ue86sy1l8] {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    margin: 0;
}

.int-list-header__count[b-9ue86sy1l8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 var(--space-1);
    background: var(--color-primary-soft);
    color: var(--color-primary);
    border-radius: var(--radius-full);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
}

/* Cellule statut : badge pill + indicateur observation échue — ADR-0038 */
.int-status-cell[b-9ue86sy1l8] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.int-overdue-badge[b-9ue86sy1l8] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    background: var(--color-danger-soft, #FDECEA);
    color: var(--color-danger, #C62828);
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.int-list-filters[b-9ue86sy1l8] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    flex-wrap: wrap;
}

.int-list-table[b-9ue86sy1l8] {
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--color-border);
}

.int-ref-code[b-9ue86sy1l8] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    background: var(--color-surface-alt);
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    color: var(--color-text-primary);
}

.int-wo-link[b-9ue86sy1l8] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    text-decoration: none;
}

.int-wo-link:hover[b-9ue86sy1l8] { text-decoration: underline; }

.int-client-site[b-9ue86sy1l8] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.int-client-name[b-9ue86sy1l8] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
}

.int-site-name[b-9ue86sy1l8] {
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
}

.int-technician[b-9ue86sy1l8] {
    font-size: var(--font-size-sm);
    color: var(--color-text-primary);
}

.int-unassigned[b-9ue86sy1l8] {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

.int-date[b-9ue86sy1l8] {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
}
/* /Components/Pages/LoginPage.razor.rz.scp.css */
.login-page[b-h74oog8sx5] {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--saytoo-blue);
  padding: 24px;
}

.login-card[b-h74oog8sx5] {
  background: var(--surface);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: 40px;
  width: 100%;
  max-width: 400px;
}

.login-card__brand[b-h74oog8sx5] {
  text-align: center;
  margin-bottom: 32px;
}

.login-card__logo[b-h74oog8sx5] {
  font-size: 28px;
  font-weight: 700;
  color: var(--saytoo-blue);
  letter-spacing: -0.5px;
}

.login-card__subtitle[b-h74oog8sx5] {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--text-secondary);
}

.login-field[b-h74oog8sx5] {
  margin-bottom: 16px;
}

.login-label[b-h74oog8sx5] {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
  margin-bottom: 6px;
}

.login-error[b-h74oog8sx5] {
  padding: 10px 14px;
  background: var(--danger-bg);
  color: var(--danger);
  border-radius: var(--radius-sm);
  font-size: 13px;
  margin-bottom: 16px;
}

.login-submit[b-h74oog8sx5] {
  margin-top: 8px;
  height: 44px;
  font-weight: 600;
  font-size: 15px;
}
/* /Components/Pages/Settings/Catalogue.razor.rz.scp.css */
/* ─── Layout 2 colonnes ──────────────────────────────────────────────────────── */

.catalogue-page[b-ggva8q15r1] {
    display: flex;
    height: 100%;
    overflow: hidden;
    background: var(--bg, #f5f7fa);
}

/* ─── Sidebar arbre ──────────────────────────────────────────────────────────── */

.catalogue-sidebar[b-ggva8q15r1] {
    width: 300px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    background: var(--bg-card, #ffffff);
    border-right: 1px solid var(--border, #e5e7eb);
    overflow: hidden;
}

.catalogue-sidebar__header[b-ggva8q15r1] {
    padding: 16px 16px 12px;
    border-bottom: 1px solid var(--border, #e5e7eb);
}

.catalogue-sidebar__title[b-ggva8q15r1] {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-secondary, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.catalogue-sidebar__tree[b-ggva8q15r1] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

/* ─── Zone contenu ───────────────────────────────────────────────────────────── */

.catalogue-content[b-ggva8q15r1] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
}

/* ─── Breadcrumb ─────────────────────────────────────────────────────────────── */

.catalogue-breadcrumb[b-ggva8q15r1] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 20px;
    font-size: 0.8rem;
    color: var(--text-secondary, #9ca3af);
    border-bottom: 1px solid var(--border, #e5e7eb);
    background: var(--bg-card, #ffffff);
}

.catalogue-breadcrumb__item[b-ggva8q15r1] {
    cursor: pointer;
    transition: color 0.12s;
}

.catalogue-breadcrumb__item:hover[b-ggva8q15r1] { color: var(--color-accent, #2563eb); }

.catalogue-breadcrumb__item--active[b-ggva8q15r1] {
    color: var(--text-primary, #1a1a1a);
    font-weight: 600;
    cursor: default;
}

/* ─── Barre d'outils ─────────────────────────────────────────────────────────── */

.catalogue-toolbar[b-ggva8q15r1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 20px;
    background: var(--bg-card, #ffffff);
    border-bottom: 1px solid var(--border, #e5e7eb);
}

.catalogue-toolbar__left[b-ggva8q15r1],
.catalogue-toolbar__right[b-ggva8q15r1] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.catalogue-toolbar__search[b-ggva8q15r1] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    background: var(--bg, #f5f7fa);
    color: var(--text-secondary, #9ca3af);
    min-width: 240px;
}

.catalogue-toolbar__search-input[b-ggva8q15r1] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 0.82rem;
    color: var(--text-primary, #1a1a1a);
    outline: none;
}

.catalogue-toolbar__search-input[b-ggva8q15r1]::placeholder { color: var(--text-secondary, #9ca3af); }

.catalogue-toolbar__filter-select[b-ggva8q15r1] {
    height: 32px;
    padding: 0 8px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    background: var(--bg, #f5f7fa);
    font-size: 0.82rem;
    color: var(--text-primary, #1a1a1a);
    cursor: pointer;
    outline: none;
}

.catalogue-toolbar__filter-select:focus[b-ggva8q15r1] {
    border-color: var(--color-primary, #1F4E79);
}

/* ─── Boutons ────────────────────────────────────────────────────────────────── */

.catalogue-btn[b-ggva8q15r1] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, border-color 0.12s;
}

.catalogue-btn--primary[b-ggva8q15r1] {
    background: var(--color-accent, #2563eb);
    color: #fff;
    border-color: var(--color-accent, #2563eb);
}

.catalogue-btn--primary:hover[b-ggva8q15r1] { background: #1d4ed8; border-color: #1d4ed8; }

.catalogue-btn--secondary[b-ggva8q15r1] {
    background: transparent;
    color: var(--text-secondary, #6b7280);
    border-color: var(--border, #e5e7eb);
}

.catalogue-btn--secondary:hover[b-ggva8q15r1] {
    background: var(--bg-subtle, #f5f7fa);
    color: var(--text-primary, #1a1a1a);
}

/* ─── Conteneur tableau ──────────────────────────────────────────────────────── */

.catalogue-table-container[b-ggva8q15r1] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--bg-card, #ffffff);
    margin: 16px 20px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 8px;
}

/* ─── Placeholder vue grille / kanban ────────────────────────────────────────── */

.catalogue-placeholder[b-ggva8q15r1] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    color: var(--text-secondary, #9ca3af);
    font-size: 0.9rem;
}
/* /Components/Pages/Settings/ReportChecklistsList.razor.rz.scp.css */
/* ─── Layout ─────────────────────────────────────────────────────────────────── */

.rscl-page[b-6pq1c7hrzx] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: var(--bg, #f5f7fa);
}

/* ─── En-tête ────────────────────────────────────────────────────────────────── */

.rscl-header[b-6pq1c7hrzx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 16px;
    background: var(--bg-card, #ffffff);
    border-bottom: 1px solid var(--border, #e5e7eb);
    flex-shrink: 0;
}

.rscl-header__left[b-6pq1c7hrzx] {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.rscl-header__title[b-6pq1c7hrzx] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-primary, #1a1a1a);
    margin: 0;
}

.rscl-header__subtitle[b-6pq1c7hrzx] {
    font-size: 0.8rem;
    color: var(--text-secondary, #9ca3af);
}

/* ─── Bouton ─────────────────────────────────────────────────────────────────── */

.rscl-btn[b-6pq1c7hrzx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, border-color 0.12s;
}

.rscl-btn--primary[b-6pq1c7hrzx] {
    background: var(--color-accent, #2563eb);
    color: #fff;
    border-color: var(--color-accent, #2563eb);
}

.rscl-btn--primary:hover[b-6pq1c7hrzx] { background: #1d4ed8; border-color: #1d4ed8; }

/* ─── Conteneur tableau ──────────────────────────────────────────────────────── */

.rscl-table-container[b-6pq1c7hrzx] {
    flex: 1;
    overflow: auto;
    background: var(--bg-card, #ffffff);
    margin: 16px 24px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* ─── Table ──────────────────────────────────────────────────────────────────── */

.rscl-table[b-6pq1c7hrzx] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.rscl-table__th[b-6pq1c7hrzx] {
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    font-size: 0.75rem;
    color: var(--text-secondary, #6b7280);
    background: var(--bg-subtle, #f5f7fa);
    border-bottom: 1px solid var(--border, #e5e7eb);
    white-space: nowrap;
    user-select: none;
}

.rscl-table__th--label[b-6pq1c7hrzx]   { width: 40%; }
.rscl-table__th--order[b-6pq1c7hrzx]   { width: 60px; text-align: center; }
.rscl-table__th--actions[b-6pq1c7hrzx] { width: 80px; }

.rscl-table__td[b-6pq1c7hrzx] {
    padding: 10px 14px;
    border-bottom: 1px solid var(--border, #e5e7eb);
    vertical-align: middle;
    color: var(--text-primary, #1a1a1a);
    white-space: nowrap;
}

.rscl-table__td--secondary[b-6pq1c7hrzx] { color: var(--text-secondary, #6b7280); }
.rscl-table__td--label[b-6pq1c7hrzx]     { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 320px; }
.rscl-table__td--center[b-6pq1c7hrzx]    { text-align: center; }
.rscl-table__td--actions[b-6pq1c7hrzx]   { width: 80px; padding: 6px 8px; }

.rscl-table__row[b-6pq1c7hrzx] { transition: background 0.1s; }

.rscl-table__row:hover td[b-6pq1c7hrzx] {
    background: color-mix(in srgb, var(--color-accent, #2563eb) 4%, transparent);
}

/* ─── Badges type d'intervention ────────────────────────────────────────────── */

.rscl-badge[b-6pq1c7hrzx] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.rscl-badge--curative[b-6pq1c7hrzx]   { background: #fff7ed; color: #c2410c; }
.rscl-badge--preventive[b-6pq1c7hrzx] { background: #eff6ff; color: #1d4ed8; }
.rscl-badge--install[b-6pq1c7hrzx]    { background: #f0fdf4; color: #15803d; }
.rscl-badge--study[b-6pq1c7hrzx]      { background: #faf5ff; color: #7c3aed; }

/* ─── Boutons d'action ───────────────────────────────────────────────────────── */

.rscl-action-btns[b-6pq1c7hrzx] {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: flex-end;
}

.rscl-action-btn[b-6pq1c7hrzx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    color: var(--text-secondary, #6b7280);
    transition: background 0.12s, color 0.12s, border-color 0.12s;
    padding: 0;
}

.rscl-action-btn:hover[b-6pq1c7hrzx] {
    background: var(--bg-subtle, #f5f7fa);
    color: var(--text-primary, #1a1a1a);
    border-color: var(--text-secondary, #9ca3af);
}

.rscl-action-btn--danger:hover[b-6pq1c7hrzx] {
    background: #fef2f2;
    color: #dc2626;
    border-color: #fca5a5;
}

/* ─── États loading / vide ───────────────────────────────────────────────────── */

.rscl-table__loading[b-6pq1c7hrzx],
.rscl-table__empty[b-6pq1c7hrzx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px 24px;
    color: var(--text-secondary, #9ca3af);
    font-size: 0.85rem;
    flex: 1;
}

.rscl-table__spinner[b-6pq1c7hrzx] {
    width: 24px;
    height: 24px;
    border: 3px solid var(--border, #e5e7eb);
    border-top-color: var(--color-accent, #2563eb);
    border-radius: 50%;
    animation: rscl-spin-b-6pq1c7hrzx 0.7s linear infinite;
}

@keyframes rscl-spin-b-6pq1c7hrzx { to { transform: rotate(360deg); } }
/* /Components/Pages/Settings/ReportSuggestionsList.razor.rz.scp.css */
/* ─── Layout ─────────────────────────────────────────────────────────────────── */

.rsug-page[b-sft7vlvljb] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: var(--bg, #f5f7fa);
}

/* ─── En-tête ────────────────────────────────────────────────────────────────── */

.rsug-header[b-sft7vlvljb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 16px;
    background: var(--bg-card, #ffffff);
    border-bottom: 1px solid var(--border, #e5e7eb);
    flex-shrink: 0;
}

.rsug-header__left[b-sft7vlvljb] {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.rsug-header__title[b-sft7vlvljb] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-primary, #1a1a1a);
    margin: 0;
}

.rsug-header__subtitle[b-sft7vlvljb] {
    font-size: 0.8rem;
    color: var(--text-secondary, #9ca3af);
}

/* ─── Bouton ─────────────────────────────────────────────────────────────────── */

.rsug-btn[b-sft7vlvljb] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, border-color 0.12s;
}

.rsug-btn--primary[b-sft7vlvljb] {
    background: var(--color-accent, #2563eb);
    color: #fff;
    border-color: var(--color-accent, #2563eb);
}

.rsug-btn--primary:hover[b-sft7vlvljb] { background: #1d4ed8; border-color: #1d4ed8; }

/* ─── Conteneur tableau ──────────────────────────────────────────────────────── */

.rsug-table-container[b-sft7vlvljb] {
    flex: 1;
    overflow: auto;
    background: var(--bg-card, #ffffff);
    margin: 16px 24px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* ─── Table ──────────────────────────────────────────────────────────────────── */

.rsug-table[b-sft7vlvljb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.rsug-table__th[b-sft7vlvljb] {
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    font-size: 0.75rem;
    color: var(--text-secondary, #6b7280);
    background: var(--bg-subtle, #f5f7fa);
    border-bottom: 1px solid var(--border, #e5e7eb);
    white-space: nowrap;
    user-select: none;
}

.rsug-table__th--text[b-sft7vlvljb]    { width: 40%; }
.rsug-table__th--order[b-sft7vlvljb]   { width: 60px; text-align: center; }
.rsug-table__th--actions[b-sft7vlvljb] { width: 80px; }

.rsug-table__td[b-sft7vlvljb] {
    padding: 10px 14px;
    border-bottom: 1px solid var(--border, #e5e7eb);
    vertical-align: middle;
    color: var(--text-primary, #1a1a1a);
    white-space: nowrap;
}

.rsug-table__td--secondary[b-sft7vlvljb] { color: var(--text-secondary, #6b7280); }
.rsug-table__td--text[b-sft7vlvljb]      { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 320px; }
.rsug-table__td--center[b-sft7vlvljb]    { text-align: center; }
.rsug-table__td--actions[b-sft7vlvljb]   { width: 80px; padding: 6px 8px; }

.rsug-table__row[b-sft7vlvljb] { transition: background 0.1s; }

.rsug-table__row:hover td[b-sft7vlvljb] {
    background: color-mix(in srgb, var(--color-accent, #2563eb) 4%, transparent);
}

/* ─── Badge champ ────────────────────────────────────────────────────────────── */

.rsug-badge[b-sft7vlvljb] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.rsug-badge--field[b-sft7vlvljb] { background: #eff6ff; color: #1d4ed8; }

/* ─── Boutons d'action ───────────────────────────────────────────────────────── */

.rsug-action-btns[b-sft7vlvljb] {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: flex-end;
}

.rsug-action-btn[b-sft7vlvljb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    color: var(--text-secondary, #6b7280);
    transition: background 0.12s, color 0.12s, border-color 0.12s;
    padding: 0;
}

.rsug-action-btn:hover[b-sft7vlvljb] {
    background: var(--bg-subtle, #f5f7fa);
    color: var(--text-primary, #1a1a1a);
    border-color: var(--text-secondary, #9ca3af);
}

.rsug-action-btn--danger:hover[b-sft7vlvljb] {
    background: #fef2f2;
    color: #dc2626;
    border-color: #fca5a5;
}

/* ─── États loading / vide ───────────────────────────────────────────────────── */

.rsug-table__loading[b-sft7vlvljb],
.rsug-table__empty[b-sft7vlvljb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px 24px;
    color: var(--text-secondary, #9ca3af);
    font-size: 0.85rem;
    flex: 1;
}

.rsug-table__spinner[b-sft7vlvljb] {
    width: 24px;
    height: 24px;
    border: 3px solid var(--border, #e5e7eb);
    border-top-color: var(--color-accent, #2563eb);
    border-radius: 50%;
    animation: rsug-spin-b-sft7vlvljb 0.7s linear infinite;
}

@keyframes rsug-spin-b-sft7vlvljb { to { transform: rotate(360deg); } }
/* /Components/Pages/Settings/Utilisateurs.razor.rz.scp.css */
/* ─── Layout ─────────────────────────────────────────────────────────────────── */

.users-page[b-ze05v4z415] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: var(--bg, #f5f7fa);
}

/* ─── En-tête ────────────────────────────────────────────────────────────────── */

.users-header[b-ze05v4z415] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 16px;
    background: var(--bg-card, #ffffff);
    border-bottom: 1px solid var(--border, #e5e7eb);
    flex-shrink: 0;
}

.users-header__left[b-ze05v4z415] {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.users-header__title[b-ze05v4z415] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-primary, #1a1a1a);
    margin: 0;
}

.users-header__subtitle[b-ze05v4z415] {
    font-size: 0.8rem;
    color: var(--text-secondary, #9ca3af);
}

/* ─── Toolbar ────────────────────────────────────────────────────────────────── */

.users-toolbar[b-ze05v4z415] {
    padding: 12px 24px;
    background: var(--bg-card, #ffffff);
    border-bottom: 1px solid var(--border, #e5e7eb);
    flex-shrink: 0;
}

.users-toolbar__search[b-ze05v4z415] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    background: var(--bg, #f5f7fa);
    color: var(--text-secondary, #9ca3af);
    max-width: 360px;
}

.users-toolbar__search-input[b-ze05v4z415] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 0.82rem;
    color: var(--text-primary, #1a1a1a);
    outline: none;
}

.users-toolbar__search-input[b-ze05v4z415]::placeholder { color: var(--text-secondary, #9ca3af); }

/* ─── Bouton ─────────────────────────────────────────────────────────────────── */

.users-btn[b-ze05v4z415] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.12s, border-color 0.12s;
}

.users-btn--primary[b-ze05v4z415] {
    background: var(--color-accent, #2563eb);
    color: #fff;
    border-color: var(--color-accent, #2563eb);
}

.users-btn--primary:hover[b-ze05v4z415] { background: #1d4ed8; border-color: #1d4ed8; }

/* ─── Conteneur tableau ──────────────────────────────────────────────────────── */

.users-table-container[b-ze05v4z415] {
    flex: 1;
    overflow: auto;
    background: var(--bg-card, #ffffff);
    margin: 16px 24px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* ─── Table ──────────────────────────────────────────────────────────────────── */

.users-table[b-ze05v4z415] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.users-table__th[b-ze05v4z415] {
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    font-size: 0.75rem;
    color: var(--text-secondary, #6b7280);
    background: var(--bg-subtle, #f5f7fa);
    border-bottom: 1px solid var(--border, #e5e7eb);
    white-space: nowrap;
    user-select: none;
}

.users-table__th--name[b-ze05v4z415]    { min-width: 200px; }
.users-table__th--actions[b-ze05v4z415] { width: 112px; }

.users-table__td[b-ze05v4z415] {
    padding: 10px 14px;
    border-bottom: 1px solid var(--border, #e5e7eb);
    vertical-align: middle;
    color: var(--text-primary, #1a1a1a);
    white-space: nowrap;
}

.users-table__td--name[b-ze05v4z415] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500;
}

.users-table__td--secondary[b-ze05v4z415] { color: var(--text-secondary, #6b7280); }
.users-table__td--actions[b-ze05v4z415]   { width: 112px; padding: 6px 8px; }

.users-table__row[b-ze05v4z415] { transition: background 0.1s; }

.users-table__row:hover td[b-ze05v4z415] {
    background: color-mix(in srgb, var(--color-accent, #2563eb) 4%, transparent);
}

.users-table__row--inactive td[b-ze05v4z415] { opacity: 0.55; }

/* ─── Avatar initiales ───────────────────────────────────────────────────────── */

.users-table__avatar[b-ze05v4z415] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--color-accent, #2563eb);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* ─── Badges ─────────────────────────────────────────────────────────────────── */

.users-badge[b-ze05v4z415] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.users-badge--active[b-ze05v4z415]   { background: #f0fdf4; color: #16a34a; }
.users-badge--inactive[b-ze05v4z415] { background: #f3f4f6; color: #6b7280; }
.users-badge--role[b-ze05v4z415]     { background: #eff6ff; color: #1d4ed8; }

/* ─── Boutons d'action ───────────────────────────────────────────────────────── */

.users-action-btns[b-ze05v4z415] {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: flex-end;
}

.users-action-btn[b-ze05v4z415] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    color: var(--text-secondary, #6b7280);
    transition: background 0.12s, color 0.12s, border-color 0.12s;
    padding: 0;
}

.users-action-btn:hover[b-ze05v4z415] {
    background: var(--bg-subtle, #f5f7fa);
    color: var(--text-primary, #1a1a1a);
    border-color: var(--text-secondary, #9ca3af);
}

.users-action-btn--success:hover[b-ze05v4z415] {
    background: #f0fdf4;
    color: #16a34a;
    border-color: #86efac;
}

/* ─── Footer pagination ──────────────────────────────────────────────────────── */

.users-table__footer[b-ze05v4z415] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-top: 1px solid var(--border, #e5e7eb);
    font-size: 0.78rem;
    color: var(--text-secondary, #6b7280);
    flex-shrink: 0;
}

.users-table__pager[b-ze05v4z415] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.users-table__page-btn[b-ze05v4z415] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    color: var(--text-secondary, #6b7280);
    transition: background 0.12s;
}

.users-table__page-btn:hover:not([disabled])[b-ze05v4z415] { background: var(--bg-subtle, #f5f7fa); }
.users-table__page-btn[disabled][b-ze05v4z415] { opacity: 0.4; cursor: default; }

/* ─── États loading / vide ───────────────────────────────────────────────────── */

.users-table__loading[b-ze05v4z415],
.users-table__empty[b-ze05v4z415] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px 24px;
    color: var(--text-secondary, #9ca3af);
    font-size: 0.85rem;
    flex: 1;
}

.users-table__spinner[b-ze05v4z415] {
    width: 24px;
    height: 24px;
    border: 3px solid var(--border, #e5e7eb);
    border-top-color: var(--color-accent, #2563eb);
    border-radius: 50%;
    animation: users-spin-b-ze05v4z415 0.7s linear infinite;
}

@keyframes users-spin-b-ze05v4z415 { to { transform: rotate(360deg); } }
/* /Components/Pages/WorkOrders/WorkOrderDetail.razor.rz.scp.css */
/* ── Header ───────────────────────────────────────────────────────────────── */
.wo-header[b-4c177a7mya] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.wo-header__back[b-4c177a7mya] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 6px 12px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}
.wo-header__back:hover[b-4c177a7mya] { background: var(--surface); color: var(--text); }

.wo-header__title[b-4c177a7mya] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    flex-wrap: wrap;
    min-width: 0;
}

.wo-header__actions[b-4c177a7mya] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.wo-header__edit-btn[b-4c177a7mya] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 6px 12px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}
.wo-header__edit-btn:hover[b-4c177a7mya] { background: var(--bg-subtle); color: var(--text); }

@media (max-width: 700px) {
    .wo-header[b-4c177a7mya] { flex-direction: column; align-items: flex-start; }
    .wo-header__actions[b-4c177a7mya] { width: 100%; justify-content: flex-end; }
}

/* ── Layout 2 colonnes 75 / 25 ────────────────────────────────────────────── */
.detail-grid[b-4c177a7mya] {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 20px;
    align-items: start;
}

.detail-main[b-4c177a7mya] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

.detail-aside[b-4c177a7mya] {
    position: sticky;
    top: 20px;
    align-self: start;
    min-width: 0;
}

@media (max-width: 1023px) {
    .detail-grid[b-4c177a7mya] { grid-template-columns: 1fr; }
    .detail-aside[b-4c177a7mya] { position: static; }
}

/* ── Sections ──────────────────────────────────────────────────────────────── */
.detail-section[b-4c177a7mya] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px 18px;
    margin-bottom: 0;
}

.detail-section__title[b-4c177a7mya] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

/* ── Champs lecture seule ──────────────────────────────────────────────────── */
.detail-fields[b-4c177a7mya] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.detail-field[b-4c177a7mya] {
    display: flex;
    gap: 8px;
    align-items: baseline;
}

.detail-field--full[b-4c177a7mya]  { flex-direction: column; gap: 4px; }
.detail-field--action[b-4c177a7mya] { margin-top: 4px; }

.detail-field__label[b-4c177a7mya] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    min-width: 110px;
    flex-shrink: 0;
}

.detail-field__value[b-4c177a7mya] {
    font-size: var(--font-size-sm);
    color: var(--text);
    font-weight: var(--font-weight-medium);
}

.detail-field__text[b-4c177a7mya] {
    font-size: var(--font-size-sm);
    color: var(--text);
    line-height: 1.6;
    margin: 0;
    white-space: pre-wrap;
}

/* ── Numéro d'ordre + numéro de série ─────────────────────────────────────── */
.wo-detail-number[b-4c177a7mya] {
    font-family: 'Roboto Mono', monospace;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    background: var(--saytoo-blue-50);
    color: var(--text);
    padding: 2px 8px;
    border-radius: var(--radius-sm);
}

.wo-detail-sn[b-4c177a7mya] {
    font-family: 'Roboto Mono', monospace;
    font-size: var(--font-size-sm);
    color: var(--text);
}

.wo-detail-link[b-4c177a7mya] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--saytoo-blue);
    text-decoration: none;
}
.wo-detail-link:hover[b-4c177a7mya] { text-decoration: underline; }

/* ── Section Équipement ────────────────────────────────────────────────────── */
.wo-equipment-model[b-4c177a7mya] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.wo-equipment-model__name[b-4c177a7mya] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

.wo-equipment-model__brand[b-4c177a7mya] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.wo-equipment-instance[b-4c177a7mya] {
    margin-top: 12px;
}

/* ── Section Planification ─────────────────────────────────────────────────── */
.wo-planif-hint[b-4c177a7mya] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    background: var(--bg-subtle);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 8px 12px;
    margin: 0 0 12px;
}

/* ── Section Demande d'origine ─────────────────────────────────────────────── */
.wo-origin-wr[b-4c177a7mya] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* ── Textes spéciaux ──────────────────────────────────────────────────────── */
.wo-detail-notes[b-4c177a7mya] {
    font-size: var(--font-size-sm);
    color: var(--text);
    line-height: 1.65;
    margin: 0;
    white-space: pre-wrap;
}

.wo-detail-placeholder[b-4c177a7mya] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-style: italic;
    margin: 0;
}

.wo-na-italic[b-4c177a7mya] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.wo-na[b-4c177a7mya] { color: var(--text-disabled); }

/* ── Dates d'audit (timeline bas) ─────────────────────────────────────────── */
.wo-audit-dates[b-4c177a7mya] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-top: 1px solid var(--border);
    padding-top: 10px;
    margin-top: 4px;
}

.wo-audit-date[b-4c177a7mya] {
    font-size: var(--font-size-xs);
    color: var(--text-disabled);
}

/* ── Titre section avec bouton action ──────────────────────────────────────── */
.detail-section__title--row[b-4c177a7mya] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ── Sous-tableau interventions ────────────────────────────────────────────── */
.wo-int-table[b-4c177a7mya] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.wo-int-row[b-4c177a7mya] {
    display: grid;
    grid-template-columns: auto 1fr 1fr auto auto;
    align-items: center;
    gap: var(--space-3);
    padding: 8px 10px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background 0.1s ease;
    border: 1px solid transparent;
}

.wo-int-row:hover[b-4c177a7mya] {
    background: var(--color-surface-alt);
    border-color: var(--color-border);
}

.wo-int-ref[b-4c177a7mya] {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    background: var(--color-surface-alt);
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    color: var(--color-text-primary);
    white-space: nowrap;
}

.wo-int-tech[b-4c177a7mya],
.wo-int-date[b-4c177a7mya] {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
}

.wo-int-date[b-4c177a7mya] { white-space: nowrap; }

.wo-int-arrow[b-4c177a7mya] { color: var(--color-text-muted); flex-shrink: 0; }
/* /Components/Pages/WorkOrders/WorkOrderList.razor.rz.scp.css */
/* ── En-tête ─────────────────────────────────────────────────────────────── */
.wo-list-header[b-m9pfkp39ww] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 12px;
}

.wo-list-header__left[b-m9pfkp39ww] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wo-list-header__title[b-m9pfkp39ww] {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--text);
    margin: 0;
}

.wo-list-header__count[b-m9pfkp39ww] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    background: var(--neutral-bg);
    border-radius: 999px;
    padding: 1px 8px;
    min-width: 24px;
}

.wo-list-header__actions[b-m9pfkp39ww] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ── Filtres ──────────────────────────────────────────────────────────────── */
.wo-list-filters[b-m9pfkp39ww] {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
    padding: 12px 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

/* ── Tableau ──────────────────────────────────────────────────────────────── */
.wo-list-table[b-m9pfkp39ww] { margin-bottom: 20px; }

/* Table toujours dans le DOM mais masquée en vue cartes */
.wo-list-table--hidden[b-m9pfkp39ww] { display: none !important; }

/* ── Cellules tableau ─────────────────────────────────────────────────────── */
.wo-number-code[b-m9pfkp39ww] {
    font-family: 'Roboto Mono', monospace;
    font-size: var(--font-size-sm);
    background: var(--saytoo-blue-50);
    color: var(--text);
    padding: 2px 6px;
    border-radius: var(--radius-sm);
}

.wo-client-site[b-m9pfkp39ww] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.wo-client-name[b-m9pfkp39ww] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text);
}

.wo-site-name[b-m9pfkp39ww] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.wo-technician[b-m9pfkp39ww] {
    font-size: var(--font-size-sm);
    color: var(--text);
}

.wo-unassigned[b-m9pfkp39ww] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.wo-date[b-m9pfkp39ww] {
    font-size: var(--font-size-sm);
    color: var(--text);
}

/* ── Vue Cartes ───────────────────────────────────────────────────────────── */
.wo-list-cards[b-m9pfkp39ww] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

@media (max-width: 600px) {
    .wo-list-cards[b-m9pfkp39ww] { grid-template-columns: 1fr; }
    .wo-list-filters[b-m9pfkp39ww] { flex-direction: column; align-items: stretch; }
}

/* ── Pagination cartes ────────────────────────────────────────────────────── */
.wo-list-pagination[b-m9pfkp39ww] {
    display: flex;
    justify-content: center;
    margin-top: 16px;
}
/* /Components/Pages/WorkRequests/WorkRequestDetail.razor.rz.scp.css */
/* ── Bannière ────────────────────────────────────────────────────────────── */
.wr-detail-ref-row[b-7cwc93hfn7] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.wr-detail-ref[b-7cwc93hfn7] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    background: var(--saytoo-blue-50);
    color: var(--text);
    padding: 2px 8px;
    border-radius: var(--radius-sm);
    font-family: 'Roboto Mono', monospace;
}

/* ── Sections détail ──────────────────────────────────────────────────────── */
.detail-section[b-7cwc93hfn7] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px 18px;
    margin-bottom: 14px;
}

.detail-section__title[b-7cwc93hfn7] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

/* ── Champs lecture seule ────────────────────────────────────────────────── */
.detail-fields[b-7cwc93hfn7] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.detail-field[b-7cwc93hfn7] {
    display: flex;
    gap: 8px;
    align-items: baseline;
}

.detail-field--full[b-7cwc93hfn7]  { flex-direction: column; gap: 4px; }
.detail-field--action[b-7cwc93hfn7] { margin-top: 4px; }

.detail-field__label[b-7cwc93hfn7] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    min-width: 110px;
    flex-shrink: 0;
}

.detail-field__value[b-7cwc93hfn7] {
    font-size: var(--font-size-sm);
    color: var(--text);
    font-weight: var(--font-weight-medium);
}

.detail-field__text[b-7cwc93hfn7] {
    font-size: var(--font-size-sm);
    color: var(--text);
    line-height: 1.6;
    margin: 0;
    white-space: pre-wrap;
}

/* ── En-tête modèle dans section équipement ─────────────────────────────── */
.wr-equipment-model[b-7cwc93hfn7] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.wr-equipment-model__name[b-7cwc93hfn7] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

.wr-equipment-model__brand[b-7cwc93hfn7] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.wr-equipment-instance[b-7cwc93hfn7] {
    margin-top: 12px;
}

/* ── Composants inline ───────────────────────────────────────────────────── */
.wr-detail-phone[b-7cwc93hfn7] { color: var(--text-secondary); }
.wr-detail-sn[b-7cwc93hfn7] {
    font-family: 'Roboto Mono', monospace;
    font-size: var(--font-size-sm);
    color: var(--text);
}
.wr-detail-link[b-7cwc93hfn7] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--saytoo-blue);
    text-decoration: none;
}
.wr-detail-link:hover[b-7cwc93hfn7] { text-decoration: underline; }

.wr-detail-description[b-7cwc93hfn7] {
    font-size: var(--font-size-sm);
    color: var(--text);
    line-height: 1.65;
    margin: 0;
    white-space: pre-wrap;
}

.wr-detail-placeholder[b-7cwc93hfn7] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    font-style: italic;
    margin: 0;
}

.wr-na[b-7cwc93hfn7] { color: var(--text-disabled); }

.wr-linked-wo[b-7cwc93hfn7] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Timeline inline supprimée — voir TransitionsTimeline.razor.css */

/* ── Dates d'audit ───────────────────────────────────────────────────────── */
.wr-audit-dates[b-7cwc93hfn7] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-top: 1px solid var(--border);
    padding-top: 10px;
    margin-top: 4px;
}

.wr-audit-date[b-7cwc93hfn7] {
    font-size: var(--font-size-xs);
    color: var(--text-disabled);
}

/* ── Header fiche (pattern CustomerDetail) ────────────────────────────────── */
.wr-header[b-7cwc93hfn7] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.wr-header__back[b-7cwc93hfn7] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 6px 12px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}
.wr-header__back:hover[b-7cwc93hfn7] {
    background: var(--surface);
    color: var(--text);
}

.wr-header__title[b-7cwc93hfn7] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    flex-wrap: wrap;
    min-width: 0;
}

.wr-header__actions[b-7cwc93hfn7] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.wr-header__edit-btn[b-7cwc93hfn7] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 6px 12px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}
.wr-header__edit-btn:hover[b-7cwc93hfn7] {
    background: var(--bg-subtle);
    color: var(--text);
}

@media (max-width: 700px) {
    .wr-header[b-7cwc93hfn7] {
        flex-direction: column;
        align-items: flex-start;
    }
    .wr-header__actions[b-7cwc93hfn7] {
        width: 100%;
        justify-content: flex-end;
    }
}

/* ── Layout 2 colonnes 75 / 25 ───────────────────────────────────────────
   ≥ 1024px : main (3fr) + aside timeline (1fr), aside sticky.
   < 1024px : 1 colonne empilée, timeline en bas (ordre DOM préservé pour
              les lecteurs d'écran).
   ────────────────────────────────────────────────────────────────────────── */

.detail-grid[b-7cwc93hfn7] {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 20px;
    align-items: start;
}

.detail-main[b-7cwc93hfn7] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

.detail-aside[b-7cwc93hfn7] {
    position: sticky;
    top: 20px;
    align-self: start;
    min-width: 0;
}

@media (max-width: 1023px) {
    .detail-grid[b-7cwc93hfn7] {
        grid-template-columns: 1fr;
    }

    .detail-aside[b-7cwc93hfn7] {
        position: static;
    }
}
/* /Components/Pages/WorkRequests/WorkRequestList.razor.rz.scp.css */
/* ── En-tête ────────────────────────────────────────────────────────────── */
.wr-list-header[b-wqth5tmudb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.wr-list-header__left[b-wqth5tmudb] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wr-list-header__title[b-wqth5tmudb] {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--text);
    margin: 0;
}

.wr-list-header__count[b-wqth5tmudb] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    background: var(--neutral-bg);
    border-radius: var(--radius-full);
    padding: 2px 10px;
}

.wr-list-header__actions[b-wqth5tmudb] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ── Filtres ─────────────────────────────────────────────────────────────── */
.wr-list-filters[b-wqth5tmudb] {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding: 12px 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

/* ── Tableau ─────────────────────────────────────────────────────────────── */
.wr-list-table[b-wqth5tmudb] { margin-bottom: 20px; }

.wr-ref-code[b-wqth5tmudb] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
    background: var(--saytoo-blue-50);
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    font-family: 'Roboto Mono', monospace;
    white-space: nowrap;
}

.wr-client-site[b-wqth5tmudb] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.wr-client-name[b-wqth5tmudb] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--text);
}

.wr-site-name[b-wqth5tmudb] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.wr-eq-sn[b-wqth5tmudb] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-family: 'Roboto Mono', monospace;
}

.wr-na[b-wqth5tmudb] { color: var(--text-disabled); }

.wr-date[b-wqth5tmudb] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    white-space: nowrap;
}

/* ── Vue Cartes ──────────────────────────────────────────────────────────── */
.wr-list-cards[b-wqth5tmudb] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

@media (max-width: 600px) {
    .wr-list-cards[b-wqth5tmudb] { grid-template-columns: 1fr; }
    .wr-list-filters[b-wqth5tmudb] { flex-direction: column; align-items: stretch; }
}

/* ── Pagination cartes ───────────────────────────────────────────────────── */
.wr-list-pagination[b-wqth5tmudb] {
    display: flex;
    justify-content: center;
    margin-top: 16px;
}

/* Table toujours dans le DOM mais masquée en vue cartes */
.wr-list-table--hidden[b-wqth5tmudb] { display: none !important; }
/* /Components/Shared/ActionPanel.razor.rz.scp.css */
.ap[b-esim8agmey] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ap-btn[b-esim8agmey] {
    width: 100%;
    padding: 0.6rem 1rem;
    border-radius: var(--radius-md, 6px);
    font-size: 0.82rem;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: opacity 0.15s;
}

.ap-btn:hover[b-esim8agmey] { opacity: 0.88; }
.ap-btn:active[b-esim8agmey] { opacity: 0.75; }

.ap-btn--primary[b-esim8agmey] {
    background: var(--color-accent, #2563eb);
    color: #fff;
}

.ap-btn--secondary[b-esim8agmey] {
    background: transparent;
    color: var(--color-accent, #2563eb);
    border: 1.5px solid var(--color-accent, #2563eb);
}

.ap-btn--danger[b-esim8agmey] {
    background: var(--color-danger, #b91c1c);
    color: #fff;
}

.ap-btn--success[b-esim8agmey] {
    background: var(--color-success, #15803d);
    color: #fff;
}

.ap-empty[b-esim8agmey] {
    font-size: 0.8rem;
    color: var(--text-secondary);
}
/* /Components/Shared/CatalogProductCascadeSelector.razor.rz.scp.css */
/* ─── Racine ─────────────────────────────────────────────────────────────────── */

.cpcs-root[b-6mrhik7ujr] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* ─── Champs de filtre ───────────────────────────────────────────────────────── */

.cpcs-two-cols[b-6mrhik7ujr] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.cpcs-field[b-6mrhik7ujr] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.cpcs-field--full[b-6mrhik7ujr] {
    grid-column: 1 / -1;
}

.cpcs-label[b-6mrhik7ujr] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
}

.cpcs-label--disabled[b-6mrhik7ujr] {
    opacity: 0.5;
}

.cpcs-required[b-6mrhik7ujr] {
    color: var(--danger, #DC2626);
    margin-left: 2px;
}

.cpcs-hint[b-6mrhik7ujr] {
    font-size: 11px;
    color: var(--text-secondary);
    font-weight: 400;
}

.cpcs-select[b-6mrhik7ujr] {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    font-size: 13px;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s;
    box-sizing: border-box;
}

.cpcs-select:focus[b-6mrhik7ujr] {
    border-color: var(--primary, #1F4E79);
}

/* ─── Carte produit sélectionné ──────────────────────────────────────────────── */

.cpcs-product-card[b-6mrhik7ujr] {
    padding: 10px 12px;
    background: var(--saytoo-blue-50, #eff6ff);
    border: 1px solid var(--saytoo-blue, #2563eb);
    border-radius: var(--radius);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cpcs-product-card__header[b-6mrhik7ujr] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.cpcs-product-card__name[b-6mrhik7ujr] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cpcs-product-card__lock[b-6mrhik7ujr] {
    color: var(--saytoo-blue, #2563eb);
    flex-shrink: 0;
    opacity: 0.7;
}

.cpcs-product-card__meta[b-6mrhik7ujr] {
    font-size: 11px;
    color: var(--text-secondary);
}

.cpcs-product-card__specs[b-6mrhik7ujr] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 2px;
}

/* ─── Badges spec ────────────────────────────────────────────────────────────── */

.cpcs-spec-badge[b-6mrhik7ujr] {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 500;
    background: var(--saytoo-blue-100, #dbeafe);
    color: var(--saytoo-blue-800, #1e40af);
    border: 1px solid var(--saytoo-blue-200, #bfdbfe);
}

.cpcs-spec-badge--fluid[b-6mrhik7ujr] {
    background: var(--warning-bg, #fefce8);
    color: var(--warning-fg, #854d0e);
    border-color: var(--warning-border, #fde68a);
}

.cpcs-spec-badge--caract[b-6mrhik7ujr] {
    background: var(--bg, #F5F7FA);
    color: var(--text-secondary);
    border-color: var(--border);
}

/* ─── Zone liste produits inline ─────────────────────────────────────────────── */

.cpcs-products-hint[b-6mrhik7ujr] {
    padding: 12px;
    font-size: 12px;
    color: var(--text-secondary);
    text-align: center;
    font-style: italic;
}

.cpcs-products-list[b-6mrhik7ujr] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    max-height: 220px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.cpcs-product-cta[b-6mrhik7ujr] {
    padding: 8px 12px;
    border-top: 1px solid var(--border);
    background: var(--bg, #F5F7FA);
}

/* ─── Lien action ────────────────────────────────────────────────────────────── */

.cpcs-link-btn[b-6mrhik7ujr] {
    background: none;
    border: none;
    padding: 0;
    font-size: 11px;
    font-weight: 500;
    color: var(--primary, #1F4E79);
    cursor: pointer;
    text-decoration: underline;
}
/* /Components/Shared/CatalogProductList.razor.rz.scp.css */
/* ─── CatalogProductList — composant partagé (ADR-0033 Lot 4) ────────────────── */

.cpl-container[b-yguklffhcg] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* ─── États loading / vide ───────────────────────────────────────────────────── */

.cpl-loading[b-yguklffhcg] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    color: var(--text-secondary, #6b7280);
    gap: 8px;
    font-size: 0.82rem;
}

.cpl-empty[b-yguklffhcg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 24px;
    color: var(--text-secondary, #9ca3af);
    font-size: 0.82rem;
}

/* ─── Corps : liste + panneau détail ─────────────────────────────────────────── */

.cpl-body[b-yguklffhcg] {
    display: flex;
    min-height: 0;
    overflow: hidden;
}

.cpl-body--with-detail[b-yguklffhcg] {
    gap: 12px;
}

/* ─── Liste ──────────────────────────────────────────────────────────────────── */

.cpl-list[b-yguklffhcg] {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cpl-item[b-yguklffhcg] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    border-radius: 5px;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    text-align: left;
    transition: background 0.1s, border-color 0.1s;
    width: 100%;
}

.cpl-item:hover[b-yguklffhcg] {
    background: var(--saytoo-blue-50, #eff6ff);
    border-color: var(--saytoo-blue-100, #dbeafe);
}

.cpl-item--selected[b-yguklffhcg] {
    background: var(--saytoo-blue-50, #eff6ff);
    border-color: var(--saytoo-blue, #2563eb);
}

.cpl-item__name[b-yguklffhcg] {
    font-size: 0.83rem;
    font-weight: 600;
    color: var(--text-primary, #1a1a1a);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cpl-item__meta[b-yguklffhcg] {
    font-size: 0.76rem;
    color: var(--text-secondary, #6b7280);
}

.cpl-item__cap[b-yguklffhcg] {
    color: var(--text-tertiary, #9ca3af);
}

.cpl-more[b-yguklffhcg] {
    padding: 6px 10px;
    font-size: 0.76rem;
    color: var(--text-tertiary, #9ca3af);
    font-style: italic;
}

/* ─── Panneau détail ─────────────────────────────────────────────────────────── */

.cpl-detail[b-yguklffhcg] {
    width: 220px;
    flex-shrink: 0;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    background: var(--surface-alt, #f9fafb);
    padding: 12px;
    overflow-y: auto;
}

.cpl-detail__header[b-yguklffhcg] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border, #e5e7eb);
}

.cpl-detail__name[b-yguklffhcg] {
    font-size: 0.83rem;
    font-weight: 600;
    color: var(--text-primary, #1a1a1a);
}

.cpl-detail__type[b-yguklffhcg] {
    font-size: 0.76rem;
    color: var(--text-secondary, #6b7280);
}

.cpl-detail__fields[b-yguklffhcg] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
/* /Components/Shared/CatalogTable.razor.rz.scp.css */
/* ─── Wrapper ────────────────────────────────────────────────────────────────── */

.catalog-table-wrapper[b-4r1skzxkrl] {
    overflow-x: auto;
    flex: 1;
    min-height: 0;
}

/* ─── Table ──────────────────────────────────────────────────────────────────── */

.catalog-table[b-4r1skzxkrl] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

/* ─── En-têtes ───────────────────────────────────────────────────────────────── */

.catalog-table__th[b-4r1skzxkrl] {
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    font-size: 0.75rem;
    color: var(--text-secondary, #6b7280);
    background: var(--bg-subtle, #f5f7fa);
    border-bottom: 1px solid var(--border, #e5e7eb);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    transition: color 0.12s;
}

.catalog-table__th:hover[b-4r1skzxkrl] { color: var(--text-primary, #1a1a1a); }
.catalog-table__th--ref[b-4r1skzxkrl] { min-width: 220px; }
.catalog-table__th--num[b-4r1skzxkrl] { text-align: right; }

/* ─── Cellules ───────────────────────────────────────────────────────────────── */

.catalog-table__td[b-4r1skzxkrl] {
    padding: 10px 14px;
    border-bottom: 1px solid var(--border, #e5e7eb);
    vertical-align: middle;
    color: var(--text-primary, #1a1a1a);
    white-space: nowrap;
}

.catalog-table__td--secondary[b-4r1skzxkrl] { color: var(--text-secondary, #6b7280); }
.catalog-table__td--num[b-4r1skzxkrl] { text-align: right; }

.catalog-table__td--ref[b-4r1skzxkrl] {
    max-width: 260px;
    white-space: normal;
}

.catalog-table__name[b-4r1skzxkrl] {
    display: block;
    font-weight: 500;
    line-height: 1.3;
}

.catalog-table__sublabel[b-4r1skzxkrl] {
    display: block;
    font-size: 0.72rem;
    color: var(--text-secondary, #9ca3af);
    margin-top: 1px;
}

/* ─── Lignes ─────────────────────────────────────────────────────────────────── */

.catalog-table__row[b-4r1skzxkrl] {
    cursor: pointer;
    transition: background 0.1s;
}

.catalog-table__row:hover td[b-4r1skzxkrl] { background: color-mix(in srgb, var(--color-accent, #2563eb) 4%, transparent); }

.catalog-table__empty-cell[b-4r1skzxkrl] { color: var(--text-secondary, #d1d5db); }

/* ─── Badges ─────────────────────────────────────────────────────────────────── */

.catalog-badge[b-4r1skzxkrl] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.catalog-badge--fluid[b-4r1skzxkrl]    { background: #eff6ff; color: #1d4ed8; }
.catalog-badge--standard[b-4r1skzxkrl] { background: #f0fdf4; color: #16a34a; }
.catalog-badge--custom[b-4r1skzxkrl]   { background: #faf5ff; color: #7c3aed; }
.catalog-badge--hidden[b-4r1skzxkrl]   { background: #fff7ed; color: #c2410c; margin-left: 4px; }

/* Classes énergie */
.catalog-badge--energy-a[b-4r1skzxkrl] { background: #dcfce7; color: #15803d; }
.catalog-badge--energy-b[b-4r1skzxkrl] { background: #fef9c3; color: #854d0e; }
.catalog-badge--energy-d[b-4r1skzxkrl] { background: #ffedd5; color: #c2410c; }
.catalog-badge--energy-f[b-4r1skzxkrl] { background: #fee2e2; color: #dc2626; }

/* ─── Footer pagination ──────────────────────────────────────────────────────── */

.catalog-table__footer[b-4r1skzxkrl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-top: 1px solid var(--border, #e5e7eb);
    font-size: 0.78rem;
    color: var(--text-secondary, #6b7280);
}

.catalog-table__pager[b-4r1skzxkrl] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.catalog-table__page-btn[b-4r1skzxkrl] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    color: var(--text-secondary, #6b7280);
    transition: background 0.12s;
}

.catalog-table__page-btn:hover:not([disabled])[b-4r1skzxkrl] { background: var(--bg-subtle, #f5f7fa); }
.catalog-table__page-btn[disabled][b-4r1skzxkrl] { opacity: 0.4; cursor: default; }

/* ─── États loading / vide ───────────────────────────────────────────────────── */

.catalog-table__loading[b-4r1skzxkrl],
.catalog-table__empty[b-4r1skzxkrl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px 24px;
    color: var(--text-secondary, #9ca3af);
    font-size: 0.85rem;
}

.catalog-table__spinner[b-4r1skzxkrl] {
    width: 24px;
    height: 24px;
    border: 3px solid var(--border, #e5e7eb);
    border-top-color: var(--color-accent, #2563eb);
    border-radius: 50%;
    animation: spin-b-4r1skzxkrl 0.7s linear infinite;
}

@keyframes spin-b-4r1skzxkrl { to { transform: rotate(360deg); } }

/* ─── Colonne actions ────────────────────────────────────────────────────────── */

.catalog-table__th--actions[b-4r1skzxkrl] {
    width: 96px;
    cursor: default;
}

.catalog-table__td--actions[b-4r1skzxkrl] {
    width: 96px;
    padding: 6px 8px;
}

.catalog-action-btns[b-4r1skzxkrl] {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: flex-end;
}

.catalog-action-btn[b-4r1skzxkrl] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    color: var(--text-secondary, #6b7280);
    transition: background 0.12s, color 0.12s, border-color 0.12s;
    padding: 0;
}

.catalog-action-btn:hover[b-4r1skzxkrl] {
    background: var(--bg-subtle, #f5f7fa);
    color: var(--text-primary, #1a1a1a);
    border-color: var(--text-secondary, #9ca3af);
}

.catalog-action-btn--danger:hover[b-4r1skzxkrl] {
    background: #fef2f2;
    color: #dc2626;
    border-color: #fca5a5;
}
/* /Components/Shared/CatalogTreeView.razor.rz.scp.css */
/* ─── Conteneur ─────────────────────────────────────────────────────────────── */

.catalog-tree[b-c2qx4l4rgl] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 0;
    overflow-y: auto;
    height: 100%;
}

/* ─── Recherche ─────────────────────────────────────────────────────────────── */

.catalog-tree__search[b-c2qx4l4rgl] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 8px 8px;
    padding: 6px 10px;
    background: var(--bg-subtle, #f5f7fa);
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    color: var(--text-secondary, #6b7280);
}

.catalog-tree__search-input[b-c2qx4l4rgl] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 0.8rem;
    color: var(--text-primary, #1a1a1a);
    outline: none;
}

.catalog-tree__search-input[b-c2qx4l4rgl]::placeholder { color: var(--text-secondary, #9ca3af); }

/* ─── Racine ─────────────────────────────────────────────────────────────────── */

.catalog-tree__root[b-c2qx4l4rgl] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    margin: 0 6px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-secondary, #6b7280);
    transition: background 0.15s;
}

.catalog-tree__root:hover[b-c2qx4l4rgl] { background: var(--bg-subtle, #f5f7fa); }

/* ─── Nœuds génériques ───────────────────────────────────────────────────────── */

.catalog-tree__node[b-c2qx4l4rgl] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.81rem;
    color: var(--text-primary, #1a1a1a);
    transition: background 0.12s;
    user-select: none;
}

.catalog-tree__node:hover[b-c2qx4l4rgl] { background: var(--bg-subtle, #f5f7fa); }

.catalog-tree__node--selected[b-c2qx4l4rgl] {
    background: color-mix(in srgb, var(--color-accent, #2563eb) 10%, transparent) !important;
    border-left: 3px solid var(--color-accent, #2563eb);
    padding-left: 5px;
    color: var(--color-accent, #2563eb);
    font-weight: 600;
}

/* ─── Chevron collapsible ────────────────────────────────────────────────────── */

.catalog-tree__chevron[b-c2qx4l4rgl] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--text-secondary, #9ca3af);
    padding: 0;
    border-radius: 3px;
    flex-shrink: 0;
    transition: transform 0.15s, color 0.15s;
}

.catalog-tree__chevron:hover[b-c2qx4l4rgl] { color: var(--text-primary, #1a1a1a); }
.catalog-tree__chevron.open[b-c2qx4l4rgl] { transform: rotate(90deg); }

/* ─── Étiquettes et compteurs ────────────────────────────────────────────────── */

.catalog-tree__label[b-c2qx4l4rgl] { flex: 1; line-height: 1.3; }

.catalog-tree__count[b-c2qx4l4rgl] {
    font-size: 0.7rem;
    font-weight: 600;
    background: var(--border, #e5e7eb);
    color: var(--text-secondary, #6b7280);
    border-radius: 999px;
    padding: 1px 7px;
    flex-shrink: 0;
}

.catalog-tree__icon[b-c2qx4l4rgl] { font-size: 0.9rem; }

/* ─── Niveaux d'indentation ──────────────────────────────────────────────────── */

.catalog-tree__category[b-c2qx4l4rgl] { padding-left: 4px; }
.catalog-tree__type[b-c2qx4l4rgl]      { padding-left: 20px; }
.catalog-tree__brand[b-c2qx4l4rgl]     { padding-left: 36px; }
.catalog-tree__model[b-c2qx4l4rgl]     { padding-left: 52px; cursor: pointer; }

/* ─── Feuille modèle ─────────────────────────────────────────────────────────── */

.catalog-tree__dot[b-c2qx4l4rgl] {
    font-size: 1rem;
    line-height: 1;
    color: var(--text-secondary, #9ca3af);
    flex-shrink: 0;
    margin-right: 2px;
}

.catalog-tree__label--model[b-c2qx4l4rgl] {
    font-weight: 400;
    font-size: 0.78rem;
    color: var(--text-secondary, #6b7280);
}

.catalog-tree__node--selected .catalog-tree__label--model[b-c2qx4l4rgl] {
    color: var(--color-accent, #2563eb);
    font-weight: 500;
}

/* ─── Badge "P" (Personnalisé) ───────────────────────────────────────────────── */

.catalog-tree__custom-badge[b-c2qx4l4rgl] {
    font-size: 0.6rem;
    font-weight: 700;
    background: #ede9fe;
    color: #7c3aed;
    border-radius: 3px;
    padding: 1px 4px;
    flex-shrink: 0;
}

/* ─── États chargement / vide ────────────────────────────────────────────────── */

.catalog-tree__loading[b-c2qx4l4rgl] {
    padding: 24px;
    text-align: center;
    font-size: 0.8rem;
    color: var(--text-secondary, #9ca3af);
}
/* /Components/Shared/ConfirmDialog.razor.rz.scp.css */
.confirm-dialog__title[b-m0zplh0a9e] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

.confirm-dialog__message[b-m0zplh0a9e] {
    font-size: var(--font-size-base);
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.6;
}

/* ─── Boutons ──────────────────────────────────────────────────────────────── */

.confirm-dialog__btn[b-m0zplh0a9e] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    border: none;
    transition: background 0.15s;
}

.confirm-dialog__btn--cancel[b-m0zplh0a9e] {
    background: var(--neutral-bg);
    color: var(--text);
}

.confirm-dialog__btn--cancel:hover[b-m0zplh0a9e] {
    background: var(--border);
}

.confirm-dialog__btn--danger[b-m0zplh0a9e] {
    background: var(--danger);
    color: #fff;
}

.confirm-dialog__btn--danger:hover[b-m0zplh0a9e] {
    background: #991b1b;
}

.confirm-dialog__btn--primary[b-m0zplh0a9e] {
    background: var(--saytoo-blue);
    color: var(--text-on-primary);
}

.confirm-dialog__btn--primary:hover[b-m0zplh0a9e] {
    background: var(--saytoo-blue-600);
}
/* /Components/Shared/CriticalityBadge.razor.rz.scp.css */
.crit-badge[b-uleqwh9ej9] {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
}

.crit-badge--low[b-uleqwh9ej9]      { background: var(--neutral-bg); color: var(--neutral); }
.crit-badge--medium[b-uleqwh9ej9]   { background: var(--info-bg);    color: var(--info); }
.crit-badge--high[b-uleqwh9ej9]     { background: var(--warning-bg); color: var(--warning); }
.crit-badge--critical[b-uleqwh9ej9] { background: var(--danger-bg);  color: var(--danger); }
/* /Components/Shared/DashboardCard.razor.rz.scp.css */
.db-card[b-kd5igvw0uw] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.db-card__header[b-kd5igvw0uw] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px 0;
}

.db-card__titles[b-kd5igvw0uw] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.db-card__title[b-kd5igvw0uw] {
    font-size: var(--font-size-lg);  /* 16px — H4 selon DESIGN.md */
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

.db-card__title--with-icon[b-kd5igvw0uw] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.db-card__subtitle[b-kd5igvw0uw] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
}

.db-card__action[b-kd5igvw0uw] {
    font-size: var(--font-size-sm);
    color: var(--saytoo-blue);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}

.db-card__action:hover[b-kd5igvw0uw] {
    text-decoration: underline;
}

.db-card__header-extra[b-kd5igvw0uw] {
    flex-shrink: 0;
}

.db-card__body[b-kd5igvw0uw] {
    padding: 16px 18px 20px;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
/* /Components/Shared/EmptyState.razor.rz.scp.css */
.empty-state[b-ncyczdiw1g] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 24px;
  text-align: center;
  gap: 8px;
}

.empty-state__icon[b-ncyczdiw1g] {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--neutral-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}

.empty-state__title[b-ncyczdiw1g] {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
}

.empty-state__subtitle[b-ncyczdiw1g] {
  margin: 0;
  font-size: 13px;
  color: var(--text-secondary);
}

.empty-state__action[b-ncyczdiw1g] {
  margin-top: 12px;
}
/* /Components/Shared/EquipmentMiniCard.razor.rz.scp.css */
.equip-mini[b-bjfk558wyp] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 10px 12px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
    min-width: 180px;
}

.equip-mini:hover[b-bjfk558wyp] {
    border-color: var(--primary, #1F4E79);
    box-shadow: var(--shadow-sm);
}

/* ─── Code interne (identifiant principal du quotidien) ──────────────────────── */

.equip-mini__code[b-bjfk558wyp] {
    margin-bottom: 1px;
}

.equip-mini__internal-code[b-bjfk558wyp] {
    font-size: 14px;
    font-weight: 700;
    color: var(--primary, #1F4E79);
    letter-spacing: 0.3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

.equip-mini__internal-code--placeholder[b-bjfk558wyp] {
    color: var(--text-secondary);
    font-weight: 400;
}

/* ─── Modèle + Marque · Catégorie ────────────────────────────────────────────── */

.equip-mini__model[b-bjfk558wyp] {
    font-size: 12px;
    color: var(--text);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.equip-mini__brand[b-bjfk558wyp] {
    font-size: 11px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ─── Numéro de série (secondaire, masqué si vide) ──────────────────────────── */

.equip-mini__serial[b-bjfk558wyp] {
    font-size: 10px;
    color: var(--text-secondary);
    font-family: monospace;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 1px;
}

/* ─── Footer : statut + criticité ───────────────────────────────────────────── */

.equip-mini__foot[b-bjfk558wyp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 4px;
    gap: 6px;
}

/* ─── Shell : groupement carte + barre d'actions ────────────────────────────── */

.equip-mini-shell[b-bjfk558wyp] {
    display: flex;
    flex-direction: column;
    min-width: 180px;
}

/* Quand la barre d'actions suit la carte, retire le radius bas de la carte */
.equip-mini-shell:has(.equip-mini__acts) .equip-mini[b-bjfk558wyp] {
    border-radius: var(--radius) var(--radius) 0 0;
    border-bottom: none;
}

/* ─── Barre d'actions (Modifier / Supprimer) ─────────────────────────────────── */

.equip-mini__acts[b-bjfk558wyp] {
    display: flex;
    gap: 0;
    border: 1px solid var(--border);
    border-radius: 0 0 var(--radius) var(--radius);
    overflow: hidden;
    background: var(--bg, #F5F7FA);
}

.equip-mini__act[b-bjfk558wyp] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 5px 8px;
    border: none;
    background: none;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.1s, color 0.1s;
}

.equip-mini__act + .equip-mini__act[b-bjfk558wyp] {
    border-left: 1px solid var(--border);
}

.equip-mini__act:hover[b-bjfk558wyp] {
    background: var(--surface);
    color: var(--text);
}

.equip-mini__act--danger[b-bjfk558wyp] {
    color: var(--danger, #DC2626);
}

.equip-mini__act--danger:hover[b-bjfk558wyp] {
    background: var(--danger-bg, #FEF2F2);
    color: var(--danger, #DC2626);
}
/* /Components/Shared/Installation/InstallationLineDialog.razor.rz.scp.css */
.inst-line-dialog__preview-card[b-68zpjcgi0l] {
    background-color: var(--color-surface-secondary, #f5f5f5);
    border-color: var(--color-border-subtle, #e0e0e0) !important;
}

.inst-line-dialog__preview-meta[b-68zpjcgi0l] {
    color: var(--color-text-secondary);
    display: block;
    margin-top: 2px;
}

.inst-line-dialog__catalog-hint[b-68zpjcgi0l] {
    color: var(--color-text-secondary);
}
/* /Components/Shared/Installation/InstallationLineEditor.razor.rz.scp.css */
/* InstallationLineEditor — styles scopés BEM, tokens DESIGN.md */

/* ─── Conteneur principal ─────────────────────────────────────────────────── */
.inst-line-editor[b-xtkoqn64un] {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

/* ─── Zone 1 — En-tête ───────────────────────────────────────────────────── */
.inst-line-editor__header[b-xtkoqn64un] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    min-height: 48px;
    border-bottom: 1px solid var(--color-border);
}

.inst-line-editor__overline[b-xtkoqn64un] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--color-text-secondary);
}

.inst-line-editor__loader[b-xtkoqn64un] {
    margin: 0;
    border-radius: 0;
}

.inst-line-editor__error[b-xtkoqn64un] {
    margin: 12px 16px;
}

/* ─── Zone 2 — Bandeau progression ──────────────────────────────────────── */
.inst-line-editor__progress-banner[b-xtkoqn64un] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    background: var(--color-primary-bg);
    border-left: 3px solid var(--color-primary);
    font-size: 13px;
}

.inst-line-editor__progress-text[b-xtkoqn64un] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    color: var(--color-text-primary);
}

.inst-line-editor__progress-label[b-xtkoqn64un] {
    color: var(--color-text-secondary);
}

.inst-line-editor__progress-bar[b-xtkoqn64un] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 140px;
}

.inst-line-editor__progress-pct[b-xtkoqn64un] {
    font-size: 12px;
    color: var(--color-text-secondary);
    white-space: nowrap;
    min-width: 36px;
    text-align: right;
}

/* ─── Zone 3 — Tableau ───────────────────────────────────────────────────── */
.inst-line-editor__table[b-xtkoqn64un] {
    width: 100%;
}

.inst-line-editor__drag-handle[b-xtkoqn64un] {
    cursor: grab;
    opacity: 0.4;
}

.inst-line-editor__label-cell[b-xtkoqn64un] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.inst-line-editor__label[b-xtkoqn64un] {
    font-size: 14px;
    color: var(--color-text-primary);
}

.inst-line-editor__catalogue-badge[b-xtkoqn64un] {
    font-size: 11px;
    height: 20px;
}

.inst-line-editor__qty[b-xtkoqn64un] {
    font-size: 14px;
    font-weight: 500;
    color: var(--color-text-primary);
}

.inst-line-editor__pct-cell[b-xtkoqn64un] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.inst-line-editor__pct-label[b-xtkoqn64un] {
    font-size: 12px;
    color: var(--color-text-secondary);
    white-space: nowrap;
}

.inst-line-editor__complete[b-xtkoqn64un] {
    font-size: 13px;
    color: var(--color-success);
    font-weight: 500;
}

.inst-line-editor__over[b-xtkoqn64un] {
    font-size: 13px;
    color: var(--color-warning);
    font-weight: 600;
}

.inst-line-editor__remaining[b-xtkoqn64un] {
    font-size: 13px;
    color: var(--color-text-secondary);
}

.inst-line-editor__notes[b-xtkoqn64un] {
    font-size: 13px;
    color: var(--color-text-secondary);
}

.inst-line-editor__notes--truncated[b-xtkoqn64un] {
    cursor: help;
}

.inst-line-editor__actions[b-xtkoqn64un] {
    display: flex;
    align-items: center;
    gap: 0;
    justify-content: flex-end;
}

/* Tap target minimum 32×32 desktop */
.inst-line-editor__actions .mud-icon-button[b-xtkoqn64un] {
    min-width: 32px;
    min-height: 32px;
}

/* ─── Zone 4 — Footer ────────────────────────────────────────────────────── */
.inst-line-editor__footer[b-xtkoqn64un] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    border-top: 1px solid var(--color-border);
    background: var(--color-background);
}

.inst-line-editor__footer-total[b-xtkoqn64un],
.inst-line-editor__footer-activity[b-xtkoqn64un] {
    font-size: 12px;
    color: var(--color-text-secondary);
}

/* ─── Responsive — masquer ShowProgress sur mobile ──────────────────────── */
@media (max-width: 767px) {
    .inst-line-editor__progress-banner[b-xtkoqn64un] {
        flex-direction: column;
        align-items: flex-start;
    }

    .inst-line-editor__progress-bar[b-xtkoqn64un] {
        width: 100%;
    }
}
/* /Components/Shared/InterventionRow.razor.rz.scp.css */
.interv-row[b-tgj0oerwp5] {
    display: grid;
    grid-template-columns: 110px 60px 1fr 1fr 90px 120px;
    gap: 8px;
    align-items: center;
    padding: 9px 12px;
    font-size: 13px;
    color: var(--text);
    text-decoration: none;
    border-bottom: 1px solid var(--border);
    transition: background 0.12s;
}

.interv-row:last-child[b-tgj0oerwp5] {
    border-bottom: none;
}

.interv-row:hover[b-tgj0oerwp5] {
    background: var(--bg, #F5F7FA);
}

.interv-row__wo[b-tgj0oerwp5] {
    font-weight: 600;
    color: var(--primary, #1F4E79);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.interv-row__date[b-tgj0oerwp5] {
    color: var(--text-secondary);
    font-size: 12px;
    white-space: nowrap;
}

.interv-row__location[b-tgj0oerwp5],
.interv-row__equip[b-tgj0oerwp5] {
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
}

.interv-row__type[b-tgj0oerwp5] {
    font-size: 12px;
    color: var(--text-secondary);
    white-space: nowrap;
}

.interv-row__status[b-tgj0oerwp5] {
    display: flex;
    align-items: center;
}

/* Responsive : masquer les colonnes secondaires sous 768px */
@media (max-width: 768px) {
    .interv-row[b-tgj0oerwp5] {
        grid-template-columns: 1fr auto 120px;
    }

    .interv-row__date[b-tgj0oerwp5],
    .interv-row__location[b-tgj0oerwp5],
    .interv-row__equip[b-tgj0oerwp5],
    .interv-row__type[b-tgj0oerwp5] {
        display: none;
    }
}
/* /Components/Shared/KpiCard.razor.rz.scp.css */
.kpi-card[b-fk9tzm2ff9] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 16px;
    min-height: 118px;
    display: flex;
    flex-direction: column;
}

.kpi-card__label[b-fk9tzm2ff9] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: var(--font-weight-medium);
}

.kpi-card__value[b-fk9tzm2ff9] {
    font-size: 26px;
    font-weight: var(--font-weight-semibold);
    color: var(--text);
    margin-top: 6px;
    letter-spacing: -0.5px;
    line-height: 1;
}

.kpi-card__footer[b-fk9tzm2ff9] {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.kpi-card__delta[b-fk9tzm2ff9] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    display: flex;
    align-items: center;
    gap: 4px;
}

.kpi-card__delta-label[b-fk9tzm2ff9] {
    color: var(--text-secondary);
    font-weight: var(--font-weight-normal);
    margin-left: 2px;
}

.kpi-card__delta--good[b-fk9tzm2ff9]  { color: var(--success); }
.kpi-card__delta--bad[b-fk9tzm2ff9]   { color: var(--danger); }
.kpi-card__delta--neutral[b-fk9tzm2ff9] { color: var(--text-secondary); }

.kpi-card__sparkline[b-fk9tzm2ff9] {
    margin-top: 8px;
    opacity: 0.85;
}

/* Tone: warn — légère teinte ambre sur le bord gauche */
.kpi-card--warn[b-fk9tzm2ff9] {
    border-left: 3px solid var(--warning);
}

/* Tone: critical — bord gauche rouge */
.kpi-card--critical[b-fk9tzm2ff9] {
    border-left: 3px solid var(--danger);
}
/* /Components/Shared/LoadingSpinner.razor.rz.scp.css */
.loading-spinner[b-pftnxalkwq] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  gap: 16px;
}

.loading-spinner__message[b-pftnxalkwq] {
  margin: 0;
  font-size: 14px;
  color: var(--text-secondary);
}
/* /Components/Shared/LocationTable.razor.rz.scp.css */
.loc-table[b-ci4ntaemjz] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}

/* ─── En-tête colonnes ───────────────────────────────────────────────────────── */

.loc-table__head[b-ci4ntaemjz] {
    display: flex;
    align-items: center;
    background: var(--bg, #F5F7FA);
    border-bottom: 1px solid var(--border);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
}

.loc-table__head-cols[b-ci4ntaemjz] {
    flex: 1;
    display: grid;
    grid-template-columns: 20px 1fr 90px 80px 130px;
    gap: 8px;
    padding: 7px 12px;
}

/* Colonne vide alignée sur la zone d'actions (3 boutons × 23px + 2 gaps × 4px + 12px padding = 85px) */
.loc-table__head-actions[b-ci4ntaemjz] {
    flex-shrink: 0;
    width: 85px;
    border-left: 1px solid var(--border);
}

/* ─── Ligne accordion ────────────────────────────────────────────────────────── */

.loc-table__row[b-ci4ntaemjz] {
    border-bottom: 1px solid var(--border);
}

.loc-table__row:last-child[b-ci4ntaemjz] {
    border-bottom: none;
}

/* ─── Wrapper ligne (toggle + actions) ───────────────────────────────────────── */

.loc-table__row-header[b-ci4ntaemjz] {
    display: flex;
    align-items: stretch;
}

.loc-table__row--expanded > .loc-table__row-header > .loc-table__toggle[b-ci4ntaemjz] {
    background: var(--color-primary-bg, #EBF1F7);
    color: var(--primary, #1F4E79);
}

/* ─── Bouton toggle cliquable ────────────────────────────────────────────────── */

.loc-table__toggle[b-ci4ntaemjz] {
    display: grid;
    grid-template-columns: 20px 1fr 90px 80px 130px;
    gap: 8px;
    align-items: center;
    flex: 1;
    padding: 10px 12px;
    font-size: 13px;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text);
    transition: background 0.12s, color 0.12s;
    min-width: 0;
}

.loc-table__toggle:hover[b-ci4ntaemjz] {
    background: var(--bg, #F5F7FA);
}

.loc-table__chevron[b-ci4ntaemjz] {
    color: var(--text-secondary);
    display: flex;
    align-items: center;
}

.loc-table__name[b-ci4ntaemjz] {
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}

.loc-table__room[b-ci4ntaemjz],
.loc-table__floor[b-ci4ntaemjz] {
    font-size: 12px;
    color: var(--text-secondary);
    font-family: monospace;
    text-align: left;
}

.loc-table__count[b-ci4ntaemjz] {
    font-size: 12px;
    color: var(--text-secondary);
    text-align: left;
}

/* ─── Boutons d'action (Modifier / Supprimer) ────────────────────────────────── */

.loc-table__actions[b-ci4ntaemjz] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 6px;
    border-left: 1px solid var(--border);
    flex-shrink: 0;
    width: 85px;
}

.loc-table__action-btn[b-ci4ntaemjz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 5px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    font-size: 11px;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.loc-table__action-btn:hover[b-ci4ntaemjz] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
    border-color: var(--text-secondary);
}

.loc-table__action-btn--add[b-ci4ntaemjz] {
    color: var(--primary, #1F4E79);
    border-color: var(--color-primary-bg, #EBF1F7);
}

.loc-table__action-btn--add:hover[b-ci4ntaemjz] {
    background: var(--color-primary-bg, #EBF1F7);
    border-color: var(--primary, #1F4E79);
    color: var(--primary, #1F4E79);
}

.loc-table__action-btn--danger[b-ci4ntaemjz] {
    color: var(--danger);
    border-color: var(--danger-bg, #FEE2E2);
}

.loc-table__action-btn--danger:hover[b-ci4ntaemjz] {
    background: var(--danger-bg, #FEE2E2);
    border-color: var(--danger);
    color: var(--danger);
}

/* ─── Zone dépliée ───────────────────────────────────────────────────────────── */

.loc-table__body[b-ci4ntaemjz] {
    padding: 12px 16px 16px;
    background: var(--surface);
    border-top: 1px solid var(--border);
}

.loc-table__desc[b-ci4ntaemjz] {
    font-size: 12px;
    color: var(--text-secondary);
    font-style: italic;
    margin: 0 0 10px;
    padding: 6px 10px;
    background: var(--bg, #F5F7FA);
    border-radius: var(--radius-sm);
    border-left: 3px solid var(--border);
}

.loc-table__cards[b-ci4ntaemjz] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
/* /Components/Shared/ModelCharacteristicsPanel.razor.rz.scp.css */
.mdl-chars[b-6mejuxvrea] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px 16px;
    padding: 12px 14px;
    background: var(--bg, #F5F7FA);
}

/* Inséré dans une carte parente (mode création) : séparateur border-top uniquement */
.mdl-chars:not(.mdl-chars--standalone)[b-6mejuxvrea] {
    border-top: 1px solid var(--border);
}

/* Panneau autonome (mode édition) : cadre complet */
.mdl-chars--standalone[b-6mejuxvrea] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    margin-top: 6px;
}

@media (max-width: 600px) {
    .mdl-chars[b-6mejuxvrea] { grid-template-columns: 1fr 1fr; }
}
/* /Components/Shared/PhotoThumbnail.razor.rz.scp.css */
.photo-thumb[b-9te3zdiqjz] {
    position: relative;
    width: 160px;
    height: 120px;
    border-radius: var(--radius);
    overflow: hidden;
    cursor: pointer;
    background: var(--bg-subtle);
    border: 1px solid var(--border);
    flex-shrink: 0;
}

.photo-thumb--loading[b-9te3zdiqjz] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.photo-thumb__spinner[b-9te3zdiqjz] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.photo-thumb__img[b-9te3zdiqjz] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.2s ease;
}

.photo-thumb:hover .photo-thumb__img[b-9te3zdiqjz] { transform: scale(1.04); }

.photo-thumb__overlay[b-9te3zdiqjz] {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    transition: opacity 0.15s ease;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 6px;
}

.photo-thumb:hover .photo-thumb__overlay[b-9te3zdiqjz] { opacity: 1; }

.photo-thumb__tag-badge[b-9te3zdiqjz] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    padding: 2px 7px;
    border-radius: var(--radius-sm);
}

.photo-thumb__tag-badge--before[b-9te3zdiqjz] { background: var(--warning-bg); color: var(--warning); }
.photo-thumb__tag-badge--after[b-9te3zdiqjz]  { background: var(--success-bg); color: var(--success); }
.photo-thumb__tag-badge--other[b-9te3zdiqjz]  { background: var(--neutral-bg); color: var(--neutral); }

.photo-thumb__actions[b-9te3zdiqjz] {
    display: flex;
    gap: 2px;
}

.photo-thumb__caption[b-9te3zdiqjz] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-size: var(--font-size-xs);
    padding: 3px 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.photo-thumb__error[b-9te3zdiqjz] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: var(--text-disabled);
}
/* /Components/Shared/SectionCard.razor.rz.scp.css */
.section-card[b-hd4mr8ui0b] {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.section-card__header[b-hd4mr8ui0b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
}

.section-card__title[b-hd4mr8ui0b] {
  margin: 0;
  font-size: 16px;       /* harmonisé avec DashboardCard */
  font-weight: 600;
  color: var(--text);
}

.section-card__title--with-icon[b-hd4mr8ui0b] {
  display: flex;
  align-items: center;
  gap: 10px;
}

.section-card__actions[b-hd4mr8ui0b] {
  display: flex;
  align-items: center;
  gap: 8px;
}

.section-card__body[b-hd4mr8ui0b] {
  padding: 20px;
}
/* /Components/Shared/SectionTitle.razor.rz.scp.css */
.section-title[b-2e54iggj8z] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.section-title__text[b-2e54iggj8z] {
    font-size: 16px;
    font-weight: 600;
    color: var(--text);
    line-height: 1.2;
}
/* /Components/Shared/SignatureDisplay.razor.rz.scp.css */
.sig[b-8noqk0aad3] {
    border: 1px solid var(--border);
    border-radius: var(--radius-md, 6px);
    padding: 0.75rem;
    background: var(--bg-subtle, var(--bg-card));
}

.sig__img[b-8noqk0aad3] {
    display: block;
    max-width: 100%;
    max-height: 120px;
    border-radius: 4px;
    background: #fff;
}

.sig__name[b-8noqk0aad3] {
    margin-top: 0.5rem;
    font-size: 0.78rem;
    color: var(--text-secondary);
}

.sig--empty[b-8noqk0aad3] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-secondary);
    font-size: 0.8rem;
    font-style: italic;
}
/* /Components/Shared/SiteListItem.razor.rz.scp.css */
.site-list-item[b-bmh66lq01m] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 12px 14px;
    cursor: pointer;
    border-left: 3px solid transparent;
    transition: background 0.12s, border-color 0.12s;
}

.site-list-item:hover[b-bmh66lq01m] {
    background: var(--bg, #F5F7FA);
}

.site-list-item--selected[b-bmh66lq01m] {
    background: var(--color-primary-bg, #EBF1F7);
    border-left-color: var(--primary, #1F4E79);
}

.site-list-item__name[b-bmh66lq01m] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
}

.site-list-item--selected .site-list-item__name[b-bmh66lq01m] {
    color: var(--primary, #1F4E79);
}

.site-list-item__meta[b-bmh66lq01m] {
    font-size: 12px;
    color: var(--text-secondary);
}

.site-list-item__badge[b-bmh66lq01m] {
    display: inline-flex;
    align-items: center;
    margin-top: 2px;
    padding: 1px 7px;
    border-radius: var(--radius-full);
    font-size: 11px;
    font-weight: 700;
    background: var(--warning-bg, #FFF4E6);
    color: var(--warning, #F59E0B);
    border: 1px solid var(--warning, #F59E0B);
    width: fit-content;
}
/* /Components/Shared/SiteMap.razor.rz.scp.css */
.sitemap[b-e6zh8pupmk] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px;
    box-shadow: var(--shadow-sm);
}

/* ─── En-tête ────────────────────────────────────────────────────────────────── */

.sitemap__header[b-e6zh8pupmk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.sitemap__title[b-e6zh8pupmk] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
}

.sitemap__pin-icon[b-e6zh8pupmk] {
    color: var(--text-secondary);
    flex-shrink: 0;
}

/* ─── Boutons d'action ───────────────────────────────────────────────────────── */

.sitemap__actions[b-e6zh8pupmk] {
    display: flex;
    gap: 6px;
}

.sitemap__btn[b-e6zh8pupmk] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 500;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
}

.sitemap__btn--edit[b-e6zh8pupmk] {
    background: none;
    color: var(--text-secondary);
}

.sitemap__btn--edit:hover[b-e6zh8pupmk] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

.sitemap__btn--save[b-e6zh8pupmk] {
    background: var(--primary, #1F4E79);
    color: #fff;
    border-color: transparent;
}

.sitemap__btn--save:hover:not(:disabled)[b-e6zh8pupmk] {
    background: var(--color-primary-light, #2E7CB8);
}

.sitemap__btn--save:disabled[b-e6zh8pupmk] {
    opacity: 0.6;
    cursor: not-allowed;
}

.sitemap__btn--cancel[b-e6zh8pupmk] {
    background: none;
    color: var(--text-secondary);
}

.sitemap__btn--cancel:hover:not(:disabled)[b-e6zh8pupmk] {
    background: var(--bg, #F5F7FA);
    color: var(--text);
}

.sitemap__spinner[b-e6zh8pupmk] {
    width: 13px !important;
    height: 13px !important;
}

/* ─── Carte Leaflet ──────────────────────────────────────────────────────────── */

.sitemap__map[b-e6zh8pupmk] {
    height: 300px;
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--border);
    z-index: 0; /* Leaflet gère son propre z-index en interne */
}

.sitemap__map--editable[b-e6zh8pupmk] {
    border-color: var(--primary, #1F4E79);
    box-shadow: 0 0 0 2px var(--color-primary-bg, #EBF1F7);
}

/* ─── État vide (pas de coordonnées) ────────────────────────────────────────── */

.sitemap__empty[b-e6zh8pupmk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 180px;
    border: 2px dashed var(--border);
    border-radius: var(--radius);
    gap: 8px;
    background: var(--bg, #F5F7FA);
}

.sitemap__empty-icon[b-e6zh8pupmk] {
    font-size: 28px;
}

.sitemap__empty-text[b-e6zh8pupmk] {
    font-size: 13px;
    color: var(--text-secondary);
    text-align: center;
    line-height: 1.5;
}

/* ─── Coordonnées affichées ──────────────────────────────────────────────────── */

.sitemap__coords[b-e6zh8pupmk] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--text-secondary);
    font-family: monospace;
}

.sitemap__coords svg[b-e6zh8pupmk] {
    color: var(--primary, #1F4E79);
    flex-shrink: 0;
}

.sitemap__coords-hint[b-e6zh8pupmk] {
    font-family: var(--font-family, inherit);
    font-size: 11px;
    color: var(--primary, #1F4E79);
    margin-left: 6px;
    font-style: italic;
}
/* /Components/Shared/StatsBanner.razor.rz.scp.css */
.stats-banner[b-9ou6qtvm7t] {
    display: flex;
    align-items: stretch;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    min-height: 80px;
    box-shadow: var(--shadow-sm);
}

.stats-banner__sep[b-9ou6qtvm7t] {
    width: 1px;
    background: var(--border);
    flex-shrink: 0;
}

.stats-banner__item[b-9ou6qtvm7t] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
}

.stats-banner__icon[b-9ou6qtvm7t] {
    font-size: 22px !important;
    width: 22px !important;
    height: 22px !important;
    color: var(--text-secondary) !important;
    flex-shrink: 0;
}

.stats-banner__content[b-9ou6qtvm7t] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stats-banner__value[b-9ou6qtvm7t] {
    font-size: 26px;
    font-weight: 700;
    color: var(--text);
    line-height: 1;
    letter-spacing: -0.5px;
}

.stats-banner__value--alert[b-9ou6qtvm7t] {
    color: var(--warning, #F59E0B);
}

.stats-banner__label[b-9ou6qtvm7t] {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

@media (max-width: 640px) {
    .stats-banner[b-9ou6qtvm7t] {
        flex-wrap: wrap;
    }

    .stats-banner__item[b-9ou6qtvm7t] {
        flex: 1 1 45%;
        min-width: 140px;
    }

    .stats-banner__sep[b-9ou6qtvm7t] {
        display: none;
    }
}
/* /Components/Shared/StatusBadge.razor.rz.scp.css */
.status-badge[b-dkgtdm4bh3] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}

.status-badge__dot[b-dkgtdm4bh3] {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* ─── Variantes ───────────────────────────────────────── */
.status-badge--success[b-dkgtdm4bh3]  { background: var(--success-bg);  color: var(--success);  }
.status-badge--success  .status-badge__dot[b-dkgtdm4bh3] { background: var(--success); }

.status-badge--warning[b-dkgtdm4bh3]  { background: var(--warning-bg);  color: var(--warning);  }
.status-badge--warning  .status-badge__dot[b-dkgtdm4bh3] { background: var(--warning); }

.status-badge--danger[b-dkgtdm4bh3]   { background: var(--danger-bg);   color: var(--danger);   }
.status-badge--danger   .status-badge__dot[b-dkgtdm4bh3] { background: var(--danger); }

.status-badge--info[b-dkgtdm4bh3]     { background: var(--info-bg);     color: var(--info);     }
.status-badge--info     .status-badge__dot[b-dkgtdm4bh3] { background: var(--info); }

.status-badge--neutral[b-dkgtdm4bh3]  { background: var(--neutral-bg);  color: var(--neutral);  }
.status-badge--neutral  .status-badge__dot[b-dkgtdm4bh3] { background: var(--neutral); }

.status-badge--purple[b-dkgtdm4bh3]   { background: var(--purple-bg);   color: var(--purple);   }
.status-badge--purple   .status-badge__dot[b-dkgtdm4bh3] { background: var(--purple); }

.status-badge--blue[b-dkgtdm4bh3]     { background: var(--saytoo-blue-50); color: var(--saytoo-blue); }
.status-badge--blue     .status-badge__dot[b-dkgtdm4bh3] { background: var(--saytoo-blue); }
/* /Components/Shared/SuggestionPills.razor.rz.scp.css */
.suggestion-pills[b-ecsthn3pmf] {
    margin-bottom: var(--space-2);
}

.suggestion-pills__label[b-ecsthn3pmf] {
    display: block;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

.suggestion-pills__list[b-ecsthn3pmf] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.suggestion-pills__chip[b-ecsthn3pmf] {
    cursor: pointer;
}
/* /Components/Shared/TransitionsTimeline.razor.rz.scp.css */
/* ── Timeline verticale générique ─────────────────────────────────────────── */

.tl-timeline[b-z8xjx4j05d] {
    display: flex;
    flex-direction: column;
    position: relative;
    padding-left: 18px;
}

.tl-item[b-z8xjx4j05d] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding-bottom: 14px;
    position: relative;
}

/* Ligne verticale entre items */
.tl-item:not(:last-child)[b-z8xjx4j05d]::before {
    content: '';
    position: absolute;
    left: -12px;
    top: 14px;
    bottom: 0;
    width: 2px;
    background: var(--border);
}

.tl-dot[b-z8xjx4j05d] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid var(--border);
    background: var(--surface);
    flex-shrink: 0;
    margin-top: 2px;
    position: absolute;
    left: -18px;
}

.tl-dot--done[b-z8xjx4j05d]    { background: var(--saytoo-blue);  border-color: var(--saytoo-blue); }
.tl-dot--success[b-z8xjx4j05d] { background: var(--success);       border-color: var(--success); }
.tl-dot--danger[b-z8xjx4j05d]  { background: var(--danger);        border-color: var(--danger); }
.tl-dot--warning[b-z8xjx4j05d] { background: var(--warning);       border-color: var(--warning); }
.tl-dot--pending[b-z8xjx4j05d] { background: var(--neutral-bg);    border-color: var(--border); }
.tl-dot--info[b-z8xjx4j05d]    { background: var(--mud-palette-info); border-color: var(--mud-palette-info); }

.tl-content[b-z8xjx4j05d] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.tl-label[b-z8xjx4j05d] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text);
}

.tl-label--pending[b-z8xjx4j05d] {
    color: var(--text-disabled);
    font-weight: var(--font-weight-normal);
}

.tl-date[b-z8xjx4j05d] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}

.tl-note[b-z8xjx4j05d] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    font-style: italic;
    display: block;
    margin-top: 2px;
    line-height: 1.4;
}
/* /Components/Shared/ViewToggle.razor.rz.scp.css */
.view-toggle[b-88q7fsv7co] {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 6px;
    overflow: hidden;
}

.view-toggle__btn[b-88q7fsv7co] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 30px;
    border: none;
    background: transparent;
    color: var(--text-secondary, #6b7280);
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
}

.view-toggle__btn + .view-toggle__btn[b-88q7fsv7co] {
    border-left: 1px solid var(--border, #e5e7eb);
}

.view-toggle__btn:hover[b-88q7fsv7co] { background: var(--bg-subtle, #f5f7fa); color: var(--text-primary, #1a1a1a); }

.view-toggle__btn--active[b-88q7fsv7co] {
    background: var(--color-accent, #2563eb);
    color: #fff;
}

.view-toggle__btn--active:hover[b-88q7fsv7co] { background: var(--color-accent, #2563eb); color: #fff; }

/* ─── Mode LabelMode : boutons textuels ──────────────────────────────────────── */

.view-toggle--labeled .view-toggle__btn[b-88q7fsv7co] {
    width: auto;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 500;
}
/* /Components/Shared/WorkflowTimeline.razor.rz.scp.css */
/* ─── Conteneur ─────────────────────────────────────────────────────────────── */

.timeline[b-3z8x77l5vv] {
    position: relative;
    padding: 16px 0 8px;
}

/* ─── Piste de fond (grise, toute la largeur, z-index 0) ───────────────────── */

.timeline-track[b-3z8x77l5vv] {
    position: absolute;
    top: 31px;          /* 16px padding-top + 16px demi-cercle − 1px demi-bordure */
    left: 0;
    right: 0;
    height: 2px;
    background: var(--border, #e5e7eb);
    z-index: 0;
}

/* ─── Piste de progression (verte, largeur dynamique, z-index 0) ────────────── */

.timeline-track-progress[b-3z8x77l5vv] {
    position: absolute;
    top: 31px;
    left: 0;
    height: 2px;
    background: var(--color-success, #16a34a);
    z-index: 0;
    transition: width 0.4s ease;
}

/* ─── Jalons ─────────────────────────────────────────────────────────────────── */

.timeline-steps[b-3z8x77l5vv] {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    z-index: 1;         /* au-dessus des pistes */
}

.timeline-step[b-3z8x77l5vv] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 4px;
}

/* ─── Cercles (z-index 2 = CRITICAL — masquent la piste derrière eux) ────────── */

.timeline-step-circle[b-3z8x77l5vv] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--bg-card, #ffffff);   /* fond opaque — masque la ligne */
    border: 2px solid var(--border, #d1d5db);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    flex-shrink: 0;
    position: relative;
    z-index: 2;         /* au-dessus des deux pistes */
    color: var(--text-secondary);
    transition: background 0.2s, border-color 0.2s;
}

.timeline-step-circle.done[b-3z8x77l5vv] {
    background: var(--color-success, #16a34a);
    border-color: var(--color-success, #16a34a);
    color: #fff;
}

.timeline-step-circle.active[b-3z8x77l5vv] {
    background: var(--color-accent, #2563eb);
    border-color: var(--color-accent, #2563eb);
    color: #fff;
}

.timeline-step-circle.pending[b-3z8x77l5vv] {
    background: var(--bg-card, #ffffff);
    border-color: var(--border, #d1d5db);
    color: #9ca3af;
}

.timeline-step-circle.rejected[b-3z8x77l5vv] {
    background: var(--color-danger, #dc2626);
    border-color: var(--color-danger, #dc2626);
    color: #fff;
}

/* ─── Pulse animation (étape en cours) ────────────────────────────────────── */

.timeline-pulse[b-3z8x77l5vv] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    animation: tl-pulse-b-3z8x77l5vv 1.4s ease-in-out infinite;
}

@keyframes tl-pulse-b-3z8x77l5vv {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.4; transform: scale(0.65); }
}

/* ─── Textes sous les cercles ─────────────────────────────────────────────── */

.timeline-step-label[b-3z8x77l5vv] {
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--text-secondary);
    margin-bottom: 2px;
}

.timeline-step-label--done[b-3z8x77l5vv]    { color: var(--text-primary); }
.timeline-step-label--active[b-3z8x77l5vv]  { color: var(--color-accent, #2563eb); }
.timeline-step-label--rejected[b-3z8x77l5vv] { color: var(--color-danger, #dc2626); }

.timeline-step-meta[b-3z8x77l5vv] {
    font-size: 0.65rem;
    color: var(--text-secondary);
    line-height: 1.3;
    max-width: 110px;
}

.timeline-step-date[b-3z8x77l5vv] {
    font-size: 0.62rem;
    color: var(--text-secondary);
    opacity: 0.75;
    margin-top: 1px;
}

/* ─── Indicateur terminal (Facturable / Rejetée) ──────────────────────────── */

.timeline-terminal[b-3z8x77l5vv] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
}

.timeline-terminal--success[b-3z8x77l5vv] {
    background: color-mix(in srgb, var(--color-success, #16a34a) 12%, transparent);
    color: var(--color-success, #16a34a);
}

.timeline-terminal--danger[b-3z8x77l5vv] {
    background: color-mix(in srgb, var(--color-danger, #dc2626) 10%, transparent);
    color: var(--color-danger, #dc2626);
    max-width: 100%;
    white-space: normal;
    border-radius: 8px;
}
/* /Components/Shared/WorkOrderCalendar.razor.rz.scp.css */
/* ── Racine ───────────────────────────────────────────────────────────────── */
.wocal[b-qxj0nz2fci] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ── Barre de navigation ─────────────────────────────────────────────────── */
.wocal__toolbar[b-qxj0nz2fci] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.wocal__nav-btn[b-qxj0nz2fci] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    padding: 0;
}
.wocal__nav-btn:hover[b-qxj0nz2fci] { background: var(--neutral-bg); color: var(--text); }

.wocal__period-label[b-qxj0nz2fci] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
    min-width: 180px;
    text-align: center;
    text-transform: capitalize;
}

.wocal__today-btn[b-qxj0nz2fci] {
    padding: 5px 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.15s;
}
.wocal__today-btn:hover[b-qxj0nz2fci] { background: var(--neutral-bg); }

.wocal__zoom-group[b-qxj0nz2fci] {
    display: flex;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    overflow: hidden;
    margin-left: auto;
}

.wocal__zoom-btn[b-qxj0nz2fci] {
    padding: 5px 12px;
    border: none;
    background: var(--surface);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    border-right: 1px solid var(--border);
}
.wocal__zoom-btn:last-child[b-qxj0nz2fci] { border-right: none; }
.wocal__zoom-btn:hover[b-qxj0nz2fci] { background: var(--neutral-bg); color: var(--text); }
.wocal__zoom-btn--active[b-qxj0nz2fci] {
    background: var(--saytoo-blue);
    color: #fff;
}
.wocal__zoom-btn--active:hover[b-qxj0nz2fci] { background: var(--saytoo-blue-dark); }

/* ── Vue Mois ────────────────────────────────────────────────────────────── */
.wocal__month[b-qxj0nz2fci] {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.wocal__month-header[b-qxj0nz2fci] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: var(--neutral-bg);
    border-bottom: 1px solid var(--border);
}

.wocal__month-dow[b-qxj0nz2fci] {
    padding: 6px 8px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.wocal__month-grid[b-qxj0nz2fci] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

.wocal__month-cell[b-qxj0nz2fci] {
    min-height: 96px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 6px 6px 4px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: var(--surface);
}
.wocal__month-cell:nth-child(7n)[b-qxj0nz2fci] { border-right: none; }

.wocal__month-cell--today[b-qxj0nz2fci] { background: color-mix(in srgb, var(--saytoo-blue) 6%, var(--surface)); }
.wocal__month-cell--other[b-qxj0nz2fci] { background: var(--neutral-bg); }
.wocal__month-cell--other .wocal__day-num[b-qxj0nz2fci] { color: var(--text-disabled); }

.wocal__day-num[b-qxj0nz2fci] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    align-self: flex-end;
    line-height: 1;
    margin-bottom: 2px;
}
.wocal__month-cell--today .wocal__day-num[b-qxj0nz2fci] {
    background: var(--saytoo-blue);
    color: #fff;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wocal__event-more[b-qxj0nz2fci] {
    font-size: 10px;
    color: var(--text-secondary);
    padding: 1px 4px;
}

/* Cellule mois — zone vide cliquable (bascule vue Jour) */
.wocal__month-cell--has-events[b-qxj0nz2fci] { cursor: pointer; }
.wocal__month-cell--has-events:hover[b-qxj0nz2fci] { background: color-mix(in srgb, var(--saytoo-blue) 3%, var(--surface)); }
.wocal__month-cell--today.wocal__month-cell--has-events:hover[b-qxj0nz2fci] { background: color-mix(in srgb, var(--saytoo-blue) 10%, var(--surface)); }

/* Ligne WO individuelle — style Google Calendar */
.wocal__month-row[b-qxj0nz2fci] {
    display: flex;
    align-items: center;
    gap: 4px;
    border-radius: 3px;
    padding: 1px 4px;
    font-size: 11px;
    line-height: 1.4;
    cursor: pointer;
    transition: opacity 0.12s;
    overflow: hidden;
    white-space: nowrap;
}
.wocal__month-row:hover[b-qxj0nz2fci] { opacity: 0.75; }

/* Point coloré par statut */
.wocal__month-row-dot[b-qxj0nz2fci] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}
.wocal__month-row--draft      .wocal__month-row-dot[b-qxj0nz2fci] { background: #94a3b8; }
.wocal__month-row--scheduled  .wocal__month-row-dot[b-qxj0nz2fci] { background: #2563eb; }
.wocal__month-row--inprogress .wocal__month-row-dot[b-qxj0nz2fci] { background: #ca8a04; }
.wocal__month-row--completed  .wocal__month-row-dot[b-qxj0nz2fci] { background: #16a34a; }
.wocal__month-row--cancelled  .wocal__month-row-dot[b-qxj0nz2fci] { background: #dc2626; }
.wocal__month-row--default    .wocal__month-row-dot[b-qxj0nz2fci] { background: var(--text-disabled); }

/* Fond teinté léger par statut */
.wocal__month-row--draft[b-qxj0nz2fci]      { background: #f1f5f9; color: #475569; }
.wocal__month-row--scheduled[b-qxj0nz2fci]  { background: #eff6ff; color: #1d4ed8; }
.wocal__month-row--inprogress[b-qxj0nz2fci] { background: #fefce8; color: #92400e; }
.wocal__month-row--completed[b-qxj0nz2fci]  { background: #f0fdf4; color: #166534; }
.wocal__month-row--cancelled[b-qxj0nz2fci]  { background: #fef2f2; color: #991b1b; }
.wocal__month-row--default[b-qxj0nz2fci]    { background: var(--neutral-bg); color: var(--text-secondary); }

.wocal__month-row-time[b-qxj0nz2fci] {
    font-family: ui-monospace, monospace;
    font-size: 10px;
    flex-shrink: 0;
    opacity: 0.85;
}
.wocal__month-row-sep[b-qxj0nz2fci] {
    opacity: 0.4;
    flex-shrink: 0;
}
.wocal__month-row-ref[b-qxj0nz2fci] {
    font-weight: var(--font-weight-medium);
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: ui-monospace, monospace;
    font-size: 11px;
}

/* Ligne "+ N autres" */
.wocal__month-more[b-qxj0nz2fci] {
    font-size: 10px;
    color: var(--text-secondary);
    padding: 1px 4px;
    cursor: pointer;
    border-radius: 3px;
    transition: background 0.12s;
}
.wocal__month-more:hover[b-qxj0nz2fci] { background: var(--neutral-bg); color: var(--text); }

/* ── Vue Semaine ─────────────────────────────────────────────────────────── */
.wocal__week[b-qxj0nz2fci] {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    overflow: hidden;
}

/* Grid unique 7 colonnes — headers et body cells partagent les mêmes colonnes,
   garantissant un alignement parfait même si le contenu est large. */
.wocal__week-grid[b-qxj0nz2fci] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-template-rows: auto 1fr;
}

.wocal__week-col-hd[b-qxj0nz2fci] {
    padding: 8px 6px;
    text-align: center;
    background: var(--neutral-bg);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.wocal__week-col-hd:nth-child(7)[b-qxj0nz2fci] { border-right: none; }
.wocal__week-col-hd--today[b-qxj0nz2fci] { background: color-mix(in srgb, var(--saytoo-blue) 8%, var(--neutral-bg)); }

.wocal__week-dow[b-qxj0nz2fci] {
    display: block;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    text-transform: capitalize;
}

.wocal__week-date[b-qxj0nz2fci] {
    display: block;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}
.wocal__week-col-hd--today .wocal__week-date[b-qxj0nz2fci] {
    background: var(--saytoo-blue);
    color: #fff;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.wocal__week-col[b-qxj0nz2fci] {
    border-right: 1px solid var(--border);
    padding: 6px 4px;
    min-width: 0;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--surface);
    overflow: hidden;
}
.wocal__week-col:nth-child(14)[b-qxj0nz2fci] { border-right: none; }
.wocal__week-col--today[b-qxj0nz2fci] { background: color-mix(in srgb, var(--saytoo-blue) 4%, var(--surface)); }
.wocal__col-empty[b-qxj0nz2fci] { flex: 1; }

/* ── Vue Jour ────────────────────────────────────────────────────────────── */
.wocal__day[b-qxj0nz2fci] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wocal__day-title[b-qxj0nz2fci] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
    text-transform: capitalize;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}
.wocal__day-title--today[b-qxj0nz2fci] { color: var(--saytoo-blue); }

.wocal__day-empty[b-qxj0nz2fci] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    text-align: center;
    padding: 32px 16px;
}

.wocal__day-event[b-qxj0nz2fci] {
    border-radius: var(--radius-sm);
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
    transition: opacity 0.15s;
    border-left: 3px solid transparent;
}
.wocal__day-event:hover[b-qxj0nz2fci] { opacity: 0.85; }

.wocal__day-event-header[b-qxj0nz2fci] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.wocal__day-event-number[b-qxj0nz2fci] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    font-family: ui-monospace, monospace;
}

.wocal__day-event-time[b-qxj0nz2fci] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    opacity: 0.75;
}

.wocal__day-event-body[b-qxj0nz2fci] {
    font-size: var(--font-size-sm);
}

.wocal__day-event-site[b-qxj0nz2fci] {
    opacity: 0.7;
    font-size: var(--font-size-xs);
}

.wocal__day-event-tech[b-qxj0nz2fci] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: var(--font-size-xs);
    opacity: 0.7;
}

/* ── Événements (partagé mois/semaine) ───────────────────────────────────── */
.wocal__event[b-qxj0nz2fci] {
    display: flex;
    align-items: center;
    gap: 4px;
    border-radius: 3px;
    padding: 2px 5px;
    font-size: 11px;
    cursor: pointer;
    transition: opacity 0.15s;
    overflow: hidden;
    white-space: nowrap;
}
.wocal__event:hover[b-qxj0nz2fci] { opacity: 0.8; }

.wocal__event-dot[b-qxj0nz2fci] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
    opacity: 0.5;
}

.wocal__event-label[b-qxj0nz2fci],
.wocal__event-number[b-qxj0nz2fci] {
    font-weight: var(--font-weight-medium);
    overflow: hidden;
    text-overflow: ellipsis;
}

.wocal__event-tech[b-qxj0nz2fci],
.wocal__event-customer[b-qxj0nz2fci] {
    font-size: 10px;
    opacity: 0.75;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Couleurs par statut ──────────────────────────────────────────────────── */
.wocal__event--draft[b-qxj0nz2fci]      { background: #f1f5f9; color: #64748b; }
.wocal__event--scheduled[b-qxj0nz2fci]  { background: #eff6ff; color: #2563eb; border-color: #93c5fd; }
.wocal__event--inprogress[b-qxj0nz2fci] { background: #fefce8; color: #a16207; border-color: #fde047; }
.wocal__event--completed[b-qxj0nz2fci]  { background: #f0fdf4; color: #15803d; border-color: #86efac; }
.wocal__event--cancelled[b-qxj0nz2fci]  { background: #fef2f2; color: #dc2626; border-color: #fca5a5; }
.wocal__event--default[b-qxj0nz2fci]    { background: var(--neutral-bg); color: var(--text-secondary); }

.wocal__day-event.wocal__event--draft[b-qxj0nz2fci]      { background: #f1f5f9; border-left-color: #94a3b8; }
.wocal__day-event.wocal__event--scheduled[b-qxj0nz2fci]  { background: #eff6ff; border-left-color: #2563eb; }
.wocal__day-event.wocal__event--inprogress[b-qxj0nz2fci] { background: #fefce8; border-left-color: #ca8a04; }
.wocal__day-event.wocal__event--completed[b-qxj0nz2fci]  { background: #f0fdf4; border-left-color: #16a34a; }
.wocal__day-event.wocal__event--cancelled[b-qxj0nz2fci]  { background: #fef2f2; border-left-color: #dc2626; }

/* ── Carte Semaine (wk-card) ─────────────────────────────────────────────── */
.wocal__wk-card[b-qxj0nz2fci] {
    border-radius: var(--radius-sm);
    padding: 6px 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
    transition: opacity 0.15s;
    border-left: 3px solid transparent;
    min-width: 0;
    overflow: hidden;
}
.wocal__wk-card:hover[b-qxj0nz2fci] { opacity: 0.85; }

.wocal__wk-card-top[b-qxj0nz2fci] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    min-width: 0;
}

.wocal__wk-time[b-qxj0nz2fci] {
    font-size: 10px;
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    white-space: nowrap;
    flex-shrink: 0;
}

.wocal__wk-card-ref[b-qxj0nz2fci] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.wocal__wk-number[b-qxj0nz2fci] {
    font-size: 11px;
    font-weight: var(--font-weight-semibold);
    font-family: ui-monospace, monospace;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wocal__wk-badges[b-qxj0nz2fci] {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
}

.wocal__wk-sep[b-qxj0nz2fci] {
    border: none;
    border-top: 1px solid currentColor;
    opacity: 0.15;
    margin: 2px 0;
}

.wocal__wk-card-people[b-qxj0nz2fci] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.wocal__wk-row[b-qxj0nz2fci] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wocal__wk-location[b-qxj0nz2fci] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Carte Jour (day-card) ───────────────────────────────────────────────── */
.wocal__day-card[b-qxj0nz2fci] {
    border-radius: var(--radius-sm);
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    transition: opacity 0.15s;
    border-left: 3px solid transparent;
}
.wocal__day-card:hover[b-qxj0nz2fci] { opacity: 0.85; }

.wocal__day-card-header[b-qxj0nz2fci] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wocal__day-time[b-qxj0nz2fci] {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--text-secondary);
    white-space: nowrap;
    flex-shrink: 0;
}

.wocal__day-number[b-qxj0nz2fci] {
    flex: 1;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    font-family: ui-monospace, monospace;
}

.wocal__day-badges[b-qxj0nz2fci] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.wocal__day-row[b-qxj0nz2fci] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: var(--font-size-sm);
    overflow: hidden;
}

.wocal__day-sep[b-qxj0nz2fci] {
    color: var(--text-disabled);
    flex-shrink: 0;
}

.wocal__day-desc[b-qxj0nz2fci] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    align-items: flex-start;
}

.wocal__day-code[b-qxj0nz2fci] {
    font-family: ui-monospace, monospace;
    font-size: var(--font-size-xs);
    opacity: 0.75;
}

/* ── Icônes inline ────────────────────────────────────────────────────────── */
.wocal__icon[b-qxj0nz2fci] {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    opacity: 0.6;
}

/* ── Priorité badge ───────────────────────────────────────────────────────── */
.wocal__priority[b-qxj0nz2fci] {
    display: inline-block;
    padding: 1px 5px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: var(--font-weight-semibold);
    white-space: nowrap;
    flex-shrink: 0;
}
.wocal__priority--critical[b-qxj0nz2fci] { background: #fef2f2; color: #dc2626; }
.wocal__priority--high[b-qxj0nz2fci]     { background: #fff7ed; color: #ea580c; }
.wocal__priority--medium[b-qxj0nz2fci]   { background: #fefce8; color: #a16207; }
.wocal__priority--low[b-qxj0nz2fci]      { background: #f0fdf4; color: #15803d; }

/* ── Non affecté ─────────────────────────────────────────────────────────── */
.wocal__unassigned[b-qxj0nz2fci] {
    color: var(--text-disabled);
    font-style: italic;
}

/* ── Responsive mobile ───────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .wocal__zoom-group[b-qxj0nz2fci] { display: none; }
    .wocal__period-label[b-qxj0nz2fci] { min-width: 140px; font-size: var(--font-size-xs); }

    .wocal__month-cell[b-qxj0nz2fci] { min-height: 60px; }

    /* Sur mobile : masquer la 3e ligne WO et le séparateur heure pour économiser la hauteur */
    .wocal__month-row:nth-child(n+4)[b-qxj0nz2fci] { display: none; }
    .wocal__month-row-time[b-qxj0nz2fci],
    .wocal__month-row-sep[b-qxj0nz2fci] { display: none; }

    .wocal__week-event-tech[b-qxj0nz2fci],
    .wocal__week-event-customer[b-qxj0nz2fci] { display: none; }
}
/* /Components/Shared/WorkOrderMiniCard.razor.rz.scp.css */
.wo-card[b-1kjf7qtywg] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wo-card__header[b-1kjf7qtywg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.wo-card__number[b-1kjf7qtywg] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
    background: var(--saytoo-blue-50);
    padding: 2px 7px;
    border-radius: var(--radius-sm);
    font-family: 'Roboto Mono', monospace;
}

.wo-card__context[b-1kjf7qtywg] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

.wo-card__sep[b-1kjf7qtywg] { color: var(--text-disabled); }
.wo-card__equipment[b-1kjf7qtywg] { font-style: italic; }

.wo-card__badges[b-1kjf7qtywg] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.wo-card__meta[b-1kjf7qtywg] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.wo-card__meta-row[b-1kjf7qtywg] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-sm);
}

.wo-card__icon[b-1kjf7qtywg] {
    color: var(--text-secondary);
    flex-shrink: 0;
}

.wo-card__meta-value[b-1kjf7qtywg] { color: var(--text); }

.wo-card__meta-empty[b-1kjf7qtywg] {
    color: var(--text-disabled);
    font-size: var(--font-size-sm);
}

.wo-card__wr-ref[b-1kjf7qtywg] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin: 0;
}

.wo-card__wr-link[b-1kjf7qtywg] {
    color: var(--saytoo-blue);
    text-decoration: none;
}

.wo-card__wr-link:hover[b-1kjf7qtywg] { text-decoration: underline; }

.wo-card__footer[b-1kjf7qtywg] {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--border);
    padding-top: 8px;
    margin-top: 2px;
}

.wo-card__link[b-1kjf7qtywg] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--saytoo-blue);
    text-decoration: none;
    padding: 4px 8px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

.wo-card__link:hover[b-1kjf7qtywg] { text-decoration: underline; }
/* /Components/Shared/WorkRequestMiniCard.razor.rz.scp.css */
.wr-card[b-21db5v6dbp] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wr-card__header[b-21db5v6dbp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.wr-card__ref[b-21db5v6dbp] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
    background: var(--saytoo-blue-50);
    padding: 2px 7px;
    border-radius: var(--radius-sm);
    font-family: 'Roboto Mono', monospace;
}

.wr-card__context[b-21db5v6dbp] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

.wr-card__sep[b-21db5v6dbp] { color: var(--text-disabled); }
.wr-card__equipment[b-21db5v6dbp] { font-style: italic; }

.wr-card__badges[b-21db5v6dbp] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.wr-card__date[b-21db5v6dbp] {
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    margin-left: auto;
}

.wr-card__desc[b-21db5v6dbp] {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.4;
    /* Description tronquée visuellement sur mobile */
}

@media (max-width: 600px) {
    .wr-card__desc[b-21db5v6dbp] {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

.wr-card__footer[b-21db5v6dbp] {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--border);
    padding-top: 8px;
    margin-top: 2px;
}

.wr-card__link[b-21db5v6dbp] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--saytoo-blue);
    text-decoration: none;
    padding: 4px 8px;
    min-height: 44px; /* tap target mobile */
    display: inline-flex;
    align-items: center;
}

.wr-card__link:hover[b-21db5v6dbp] { text-decoration: underline; }
