/* /Components/Dialogs/CreateOrEditCompteComptable.razor.rz.scp.css */
.compte-comptable-container[b-oar4t0dzb4] {
    max-width: 600px;
    margin: 0 auto;
    background: var(--ed-surface);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--ed-shadow-lg);
}

.compte-comptable-header[b-oar4t0dzb4] {
    background: var(--ed-primary);
    color: var(--ed-primary-contrast);
    padding: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.header-icon[b-oar4t0dzb4] {
    font-size: 2rem;
    opacity: 0.9;
}

.header-title h3[b-oar4t0dzb4] {
    margin: 0;
    font-weight: 600;
    font-size: 1.3rem;
}

.compte-comptable-body[b-oar4t0dzb4] {
    padding: 2rem;
    background: var(--ed-surface-alt);
}

.form-group[b-oar4t0dzb4] {
    margin-bottom: 1.5rem;
}

.form-label[b-oar4t0dzb4] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var(--ed-primary);
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
}

.label-icon[b-oar4t0dzb4] {
    font-size: 1rem;
    opacity: 0.8;
}

.required[b-oar4t0dzb4] {
    color: var(--ed-danger);
}

.form-text[b-oar4t0dzb4] {
    color: var(--ed-text-muted);
    font-size: 0.8rem;
    margin-top: 0.25rem;
    font-style: italic;
}

.type-dropdown .rz-dropdown[b-oar4t0dzb4] {
    border: 2px solid var(--ed-surface-sunken);
    border-radius: 8px;
    transition: all 0.3s ease;
}

    .type-dropdown .rz-dropdown:focus[b-oar4t0dzb4] {
        border-color: var(--ed-primary-light);
        box-shadow: 0 0 0 3px var(--ed-info-bg);
    }

.dropdown-item-content[b-oar4t0dzb4] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
}

.dropdown-icon[b-oar4t0dzb4] {
    color: var(--ed-primary);
    font-size: 1.1rem;
}

.status-group[b-oar4t0dzb4] {
    background: var(--ed-surface);
    border-radius: 8px;
    padding: 1rem;
    border: 1px solid var(--ed-surface-sunken);
}

.status-container[b-oar4t0dzb4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.status-info[b-oar4t0dzb4] {
    flex: 1;
}

.status-toggle[b-oar4t0dzb4] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.status-label[b-oar4t0dzb4] {
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    font-size: 0.8rem;
}

    .status-label.active[b-oar4t0dzb4] {
        background: var(--ed-success-bg);
        color: var(--ed-success-text);
    }

    .status-label.inactive[b-oar4t0dzb4] {
        background: var(--ed-danger-bg);
        color: var(--ed-danger-text);
    }

.preview-group[b-oar4t0dzb4] {
    background: var(--ed-surface);
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--ed-surface-sunken);
}

.type-preview .preview-header[b-oar4t0dzb4] {
    background: var(--ed-surface-alt);
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-bottom: 1px solid var(--ed-surface-sunken);
}

.preview-icon[b-oar4t0dzb4] {
    color: var(--ed-primary);
    font-size: 1.2rem;
}

.preview-title[b-oar4t0dzb4] {
    font-weight: 600;
    color: var(--ed-primary);
}

.preview-content[b-oar4t0dzb4] {
    padding: 1rem;
    display: grid;
    gap: 0.75rem;
}

.preview-item[b-oar4t0dzb4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--ed-surface-alt);
}

    .preview-item:last-child[b-oar4t0dzb4] {
        border-bottom: none;
    }

.badge[b-oar4t0dzb4] {
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
}

.badge-success[b-oar4t0dzb4] {
    background: var(--ed-success-bg);
    color: var(--ed-success-text);
}

.badge-secondary[b-oar4t0dzb4] {
    background: var(--ed-surface-alt);
    color: var(--ed-text-muted);
}

.compte-comptable-footer[b-oar4t0dzb4] {
    padding: 1.5rem 2rem;
    background: var(--ed-surface);
    border-top: 1px solid var(--ed-surface-sunken);
    display: flex;
    gap: 1rem;
    justify-content: flex-end;
}

.btn-annuler[b-oar4t0dzb4],
.btn-signer[b-oar4t0dzb4] {
    min-width: 120px;
    border-radius: 8px;
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    transition: all 0.3s ease;
}

.btn-signer[b-oar4t0dzb4] {
    background: var(--ed-primary) !important;
    border: none !important;
}

    .btn-signer:hover[b-oar4t0dzb4] {
        transform: translateY(-1px);
        box-shadow: var(--ed-shadow);
    }

.btn-annuler:hover[b-oar4t0dzb4] {
    background: var(--ed-surface-alt);
}

/* Responsive */
@media (max-width: 768px) {
    .compte-comptable-container[b-oar4t0dzb4] {
        margin: 1rem;
        max-width: none;
    }

    .compte-comptable-body[b-oar4t0dzb4],
    .compte-comptable-footer[b-oar4t0dzb4] {
        padding: 1rem;
    }

    .status-container[b-oar4t0dzb4] {
        flex-direction: column;
        gap: 1rem;
        align-items: flex-start;
    }

    .compte-comptable-footer[b-oar4t0dzb4] {
        flex-direction: column;
    }

    .btn-annuler[b-oar4t0dzb4],
    .btn-signer[b-oar4t0dzb4] {
        width: 100%;
    }
}
/* /Components/Dialogs/CreateOrEditOperation.razor.rz.scp.css */
/* Formulaire */
.operation-form[b-440we8yajf] {
    max-width: 800px;
    margin: 0 auto;
}

.form-section[b-440we8yajf] {
    background: var(--ed-surface);
    border-radius: 16px;
    padding: 32px;
    margin-bottom: 24px;
    box-shadow: var(--ed-shadow);
    border: 1px solid var(--ed-surface-alt);
}

    .form-section h5[b-440we8yajf] {
        margin: 0 0 24px 0;
        font-size: 20px;
        font-weight: 600;
        color: var(--ed-text-strong);
        padding-bottom: 12px;
        border-bottom: 2px solid var(--ed-border);
    }

.form-row[b-440we8yajf] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.form-group[b-440we8yajf] {
    margin-bottom: 24px;
}

    .form-group:last-child[b-440we8yajf] {
        margin-bottom: 0;
    }

.form-label[b-440we8yajf] {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--ed-text-strong);
    font-size: 14px;
    letter-spacing: 0.025em;
}

    .form-label.required[b-440we8yajf]::after {
        content: ' *';
        color: var(--ed-danger);
        font-weight: 500;
    }

.form-control[b-440we8yajf] {
    width: 100%;
    border: 2px solid var(--ed-border);
    border-radius: 12px;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 400;
    transition: all 0.2s ease;
    background: var(--ed-surface);
}

    .form-control:focus[b-440we8yajf] {
        border-color: var(--ed-info);
        background: var(--ed-surface);
        box-shadow: 0 0 0 3px var(--ed-info-bg);
        outline: none;
    }

    .form-control:hover[b-440we8yajf] {
        background: var(--ed-surface);
        border-color: var(--ed-border-strong);
    }

/* Compte comptable */
.compte-input-group[b-440we8yajf] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.compte-dropdown[b-440we8yajf] {
    flex: 1;
}

.create-compte-btn[b-440we8yajf] {
    flex-shrink: 0;
    border-radius: 12px;
    border: 2px solid var(--ed-border);
    background: var(--ed-surface);
    padding: 16px 20px;
    font-weight: 500;
    white-space: nowrap;
    transition: all 0.2s ease;
}

    .create-compte-btn:hover[b-440we8yajf] {
        border-color: var(--ed-info);
        background: var(--ed-surface-alt);
        color: var(--ed-primary);
    }

.compte-item[b-440we8yajf] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 0;
}

.compte-code[b-440we8yajf] {
    font-family: 'Monaco', 'Menlo', monospace;
    font-weight: 700;
    color: var(--ed-info);
    background: var(--ed-info-bg);
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
    min-width: 80px;
    text-align: center;
}

.compte-libelle[b-440we8yajf] {
    color: var(--ed-text-strong);
    font-weight: 500;
}

.create-suggestion[b-440we8yajf] {
    margin-top: 12px;
    padding: 16px;
    background: var(--ed-info-bg);
    border: 1px solid var(--ed-info-bg);
    border-radius: 12px;
    font-size: 14px;
    color: var(--ed-primary-dark);
    font-weight: 500;
}

.validation-message[b-440we8yajf] {
    display: block;
    margin-top: 8px;
    font-size: 14px;
    color: var(--ed-danger);
    font-weight: 500;
}

/* Actions */
.operation-actions[b-440we8yajf] {
    display: flex;
    justify-content: center;
    gap: 16px;
    padding: 32px 0;
    border-top: 1px solid var(--ed-surface-sunken);
    margin-top: 32px;
}

.btn-cancel[b-440we8yajf],
.btn-primary[b-440we8yajf] {
    min-width: 160px;
    height: 48px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.2s ease;
    letter-spacing: 0.025em;
}

.btn-cancel[b-440we8yajf] {
    border: 2px solid var(--ed-border);
    background: var(--ed-surface);
    color: var(--ed-text);
}

    .btn-cancel:hover[b-440we8yajf] {
        border-color: var(--ed-border-strong);
        background: var(--ed-surface-alt);
        transform: translateY(-1px);
        box-shadow: var(--ed-shadow);
    }

.btn-primary[b-440we8yajf] {
    background: var(--ed-primary);
    border: none;
    color: var(--ed-primary-contrast);
}

    .btn-primary:hover:not(:disabled)[b-440we8yajf] {
        background: var(--ed-primary-dark);
        transform: translateY(-1px);
        box-shadow: var(--ed-shadow-lg);
    }

    .btn-primary:disabled[b-440we8yajf] {
        opacity: 0.6;
        cursor: not-allowed;
        transform: none;
        box-shadow: none;
    }

/* Responsive */
@media (max-width: 768px) {
    .operation-header[b-440we8yajf] {
        padding: 24px 16px;
    }

        .operation-header h4[b-440we8yajf] {
            font-size: 24px;
        }

        .operation-header p[b-440we8yajf] {
            font-size: 14px;
        }

    .operation-form[b-440we8yajf] {
        padding: 0 16px;
    }

    .form-section[b-440we8yajf] {
        padding: 24px 20px;
        border-radius: 12px;
    }

        .form-section h5[b-440we8yajf] {
            font-size: 18px;
            margin-bottom: 20px;
        }

    .form-row[b-440we8yajf] {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .form-group[b-440we8yajf] {
        margin-bottom: 20px;
    }

    .form-control[b-440we8yajf] {
        padding: 14px 16px;
        font-size: 16px; /* Évite le zoom sur iOS */
    }

    .compte-input-group[b-440we8yajf] {
        flex-direction: column;
        gap: 12px;
    }

    .create-compte-btn[b-440we8yajf] {
        width: 100%;
        text-align: center;
    }

    .operation-actions[b-440we8yajf] {
        flex-direction: column;
        padding: 24px 16px;
    }

    .btn-cancel[b-440we8yajf],
    .btn-primary[b-440we8yajf] {
        width: 100%;
        min-width: auto;
    }
}

/* Animation d'entrée */
.form-section[b-440we8yajf] {
    animation: fadeInUp-b-440we8yajf 0.5s ease-out forwards;
    opacity: 0;
    transform: translateY(20px);
}

    .form-section:nth-child(1)[b-440we8yajf] {
        animation-delay: 0.1s;
    }

    .form-section:nth-child(2)[b-440we8yajf] {
        animation-delay: 0.2s;
    }

    .form-section:nth-child(3)[b-440we8yajf] {
        animation-delay: 0.3s;
    }

@keyframes fadeInUp-b-440we8yajf {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Focus states améliorés */
.form-control:focus-visible[b-440we8yajf] {
    outline: 2px solid var(--ed-info);
    outline-offset: 2px;
}

/* États hover subtils */
.form-section:hover[b-440we8yajf] {
    box-shadow: var(--ed-shadow-lg);
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

/* /Components/Dialogs/GenericImportDialog.razor.rz.scp.css */
/* Main Wrapper */
.import-dialog-wrapper[b-tbc4gihixo] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--ed-surface);
}

/* Description */
.import-description[b-tbc4gihixo] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 1rem 1.5rem;
    background: var(--ed-info-bg);
    border-bottom: 1px solid var(--ed-info-bg);
}

.import-description p[b-tbc4gihixo] {
    margin: 0;
    color: var(--ed-text-muted);
    font-size: 0.875rem;
    line-height: 1.4;
}

/* Content Area */
.import-content[b-tbc4gihixo] {
    flex: 1;
    overflow-y: auto;
    padding: 1.25rem 1.5rem;
    position: relative;
}

/* Template Downloads */
.template-downloads-section[b-tbc4gihixo] {
    background: var(--ed-surface-alt);
    border: 1px solid var(--ed-border);
    border-radius: 8px;
    padding: 0.875rem 1rem;
    margin-bottom: 1.25rem;
}

.template-downloads-header[b-tbc4gihixo] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.625rem;
    font-weight: 600;
    font-size: 0.8rem;
    color: var(--ed-text);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.template-downloads-content[b-tbc4gihixo] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Upload Section */
.upload-section[b-tbc4gihixo] {
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: 8px;
    padding: 1.25rem;
    margin-bottom: 1.25rem;
}

.upload-area-container[b-tbc4gihixo] {
    position: relative;
    margin-bottom: 1rem;
}

.upload-area[b-tbc4gihixo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
    border: 2px dashed var(--ed-border);
    border-radius: 8px;
    background: var(--ed-surface);
    transition: all 0.2s ease;
    cursor: pointer;
    text-align: center;
}

.upload-area:hover[b-tbc4gihixo] {
    border-color: var(--rz-primary);
    background: var(--ed-info-bg);
}

.upload-area.has-file[b-tbc4gihixo] {
    border-color: var(--ed-success);
    background: var(--ed-success-bg);
    border-style: solid;
}

/* Hidden file input - fully invisible (::deep needed for Blazor InputFile) */
.file-input-hidden[b-tbc4gihixo] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
}

[b-tbc4gihixo] .upload-area input[type="file"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
}

/* Remove file button */
.remove-file-btn[b-tbc4gihixo] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 10;
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: 50%;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    color: var(--ed-text-muted);
    padding: 0;
    line-height: 1;
}

.remove-file-btn:hover[b-tbc4gihixo] {
    background: var(--ed-danger-bg);
    border-color: var(--rz-danger);
    color: var(--rz-danger);
}

.upload-text[b-tbc4gihixo] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-top: 0.25rem;
}

.upload-text strong[b-tbc4gihixo] {
    font-size: 0.925rem;
    color: var(--ed-text);
}

.upload-text span[b-tbc4gihixo] {
    font-size: 0.8rem;
    color: var(--ed-text-muted);
}

.upload-hint[b-tbc4gihixo] {
    font-size: 0.7rem;
    color: var(--ed-text-muted);
    margin-top: 0.5rem;
    letter-spacing: 0.3px;
}

.file-name[b-tbc4gihixo] {
    font-weight: 600;
    color: var(--ed-success-text);
    font-size: 0.925rem;
    margin-top: 0.25rem;
    margin-bottom: 0.125rem;
}

.file-size[b-tbc4gihixo] {
    font-size: 0.8rem;
    color: var(--ed-text-muted);
}

/* Options */
.import-options[b-tbc4gihixo] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.option-item[b-tbc4gihixo] {
    display: flex;
    align-items: center;
    padding: 0.375rem 0.5rem;
    border-radius: 6px;
    transition: background 0.15s;
}

.option-item:hover[b-tbc4gihixo] {
    background: var(--ed-surface-alt);
}

/* Format Section */
.format-section[b-tbc4gihixo] {
    margin-bottom: 1.25rem;
}

.format-instructions-content[b-tbc4gihixo] {
    padding: 0.75rem;
    max-height: 350px;
    overflow-y: auto;
    font-size: 0.85rem;
    line-height: 1.6;
    color: var(--ed-text-muted);
}

/* Results Section */
.results-section[b-tbc4gihixo] {
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: 8px;
    padding: 1.25rem;
    margin-bottom: 1rem;
}

.result-success[b-tbc4gihixo] {
    margin-bottom: 0.75rem;
}

.result-error[b-tbc4gihixo] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    background: var(--ed-danger-bg);
    border-radius: 8px;
    border: 1px solid var(--ed-danger-bg);
    margin-bottom: 0.75rem;
}

.result-header[b-tbc4gihixo] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.875rem;
    padding-bottom: 0.625rem;
    border-bottom: 1px solid var(--ed-border);
}

.result-stats[b-tbc4gihixo] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 0.625rem;
}

.stat-item[b-tbc4gihixo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.75rem 0.5rem;
    border-radius: 8px;
    background: var(--ed-surface-alt);
    border: 1px solid var(--ed-border);
}

.stat-item.success[b-tbc4gihixo] {
    background: var(--ed-success-bg);
    border-color: var(--ed-success);
}

.stat-item.error[b-tbc4gihixo] {
    background: var(--ed-danger-bg);
    border-color: var(--ed-danger-bg);
}

.stat-item.info[b-tbc4gihixo] {
    background: var(--ed-info-bg);
    border-color: var(--ed-info);
}

.stat-item.warning[b-tbc4gihixo] {
    background: var(--ed-warning-bg);
    border-color: var(--ed-warning);
}

.stat-label[b-tbc4gihixo] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ed-text-muted);
    margin-bottom: 0.2rem;
}

.stat-value[b-tbc4gihixo] {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--ed-text-strong);
}

/* Errors & Warnings Sections */
.errors-section[b-tbc4gihixo],
.warnings-section[b-tbc4gihixo] {
    margin-top: 0.75rem;
}

.error-list-container[b-tbc4gihixo],
.warning-list-container[b-tbc4gihixo] {
    max-height: 250px;
    overflow-y: auto;
    padding: 0.375rem 0;
}

.error-item[b-tbc4gihixo] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.375rem;
    background: var(--ed-danger-bg);
    border-left: 3px solid var(--rz-danger);
    border-radius: 4px;
    font-size: 0.8rem;
    line-height: 1.5;
    color: var(--ed-text);
}

.warning-item[b-tbc4gihixo] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.375rem;
    background: var(--ed-warning-bg);
    border-left: 3px solid var(--rz-warning);
    border-radius: 4px;
    font-size: 0.8rem;
    line-height: 1.5;
    color: var(--ed-text);
}

/* Loading Overlay */
.loading-overlay[b-tbc4gihixo] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--ed-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    border-radius: 8px;
}

.loading-content[b-tbc4gihixo] {
    text-align: center;
    color: var(--rz-primary);
}

/* Footer */
.import-footer[b-tbc4gihixo] {
    display: flex;
    justify-content: flex-end;
    gap: 0.625rem;
    padding: 1rem 1.5rem;
    background: var(--ed-surface-alt);
    border-top: 1px solid var(--ed-border);
}

/* Scrollbar Styling */
.import-content[b-tbc4gihixo]::-webkit-scrollbar,
.format-instructions-content[b-tbc4gihixo]::-webkit-scrollbar,
.error-list-container[b-tbc4gihixo]::-webkit-scrollbar,
.warning-list-container[b-tbc4gihixo]::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

.import-content[b-tbc4gihixo]::-webkit-scrollbar-track,
.format-instructions-content[b-tbc4gihixo]::-webkit-scrollbar-track,
.error-list-container[b-tbc4gihixo]::-webkit-scrollbar-track,
.warning-list-container[b-tbc4gihixo]::-webkit-scrollbar-track {
    background: var(--ed-surface-alt);
    border-radius: 3px;
}

.import-content[b-tbc4gihixo]::-webkit-scrollbar-thumb,
.format-instructions-content[b-tbc4gihixo]::-webkit-scrollbar-thumb,
.error-list-container[b-tbc4gihixo]::-webkit-scrollbar-thumb,
.warning-list-container[b-tbc4gihixo]::-webkit-scrollbar-thumb {
    background: var(--ed-border-strong);
    border-radius: 3px;
}

.import-content[b-tbc4gihixo]::-webkit-scrollbar-thumb:hover,
.format-instructions-content[b-tbc4gihixo]::-webkit-scrollbar-thumb:hover,
.error-list-container[b-tbc4gihixo]::-webkit-scrollbar-thumb:hover,
.warning-list-container[b-tbc4gihixo]::-webkit-scrollbar-thumb:hover {
    background: var(--ed-text-muted);
}

/* Accordion Overrides */
[b-tbc4gihixo] .rz-accordion {
    background: var(--ed-surface);
    border: 1px solid var(--ed-border);
    border-radius: 8px;
    overflow: hidden;
}

[b-tbc4gihixo] .rz-accordion-item {
    border-bottom: 1px solid var(--ed-border);
}

[b-tbc4gihixo] .rz-accordion-item:last-child {
    border-bottom: none;
}

[b-tbc4gihixo] .rz-accordion-header {
    padding: 0.75rem 1rem;
    font-weight: 500;
    font-size: 0.875rem;
}

[b-tbc4gihixo] .rz-accordion-header:hover {
    background: var(--ed-surface-alt);
}

/* Responsive Design */
@media (max-width: 768px) {
    .import-description[b-tbc4gihixo] {
        padding: 0.75rem 1rem;
    }

    .import-content[b-tbc4gihixo] {
        padding: 1rem;
    }

    .upload-section[b-tbc4gihixo] {
        padding: 1rem;
    }

    .upload-area[b-tbc4gihixo] {
        padding: 1.5rem 1rem;
    }

    .results-section[b-tbc4gihixo] {
        padding: 1rem;
    }

    .result-stats[b-tbc4gihixo] {
        grid-template-columns: 1fr 1fr;
    }

    .import-footer[b-tbc4gihixo] {
        padding: 0.75rem 1rem;
    }

    .template-downloads-content[b-tbc4gihixo] {
        flex-direction: column;
    }
}
/* /Components/Widgets/ErrorDialog.razor.rz.scp.css */
.error-dialog[b-kbine3f16j] {
    padding: 0;
    min-width: 400px;
}

.error-header[b-kbine3f16j] {
    padding: 16px;
    border-bottom: 1px solid var(--border);
}

.error-content[b-kbine3f16j] {
    padding: 16px;
    max-height: 400px;
    overflow-y: auto;
}

.error-item[b-kbine3f16j] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border-bottom: 1px solid var(--border);
}

.error-icon[b-kbine3f16j] {
    color: var(--ed-danger);
}

.error-field[b-kbine3f16j] {
    font-weight: 500;
}

.error-footer[b-kbine3f16j] {
    padding: 16px;
    border-top: 1px solid var(--border);
    display: flex;
    justify-content: flex-end;
}
/* /Components/Widgets/MarqueBureau.razor.rz.scp.css */
/* Memes reglages que l'en-tete historique des pages de connexion (Login.razor.css). */
.marque-logo[b-tc6c7ddn8d] {
    max-width: 200px;
    max-height: 90px;
    width: auto;
    height: auto;
    margin-bottom: 1rem;
    filter: drop-shadow(var(--ed-shadow-sm));
}

.brand-name[b-tc6c7ddn8d] {
    color: var(--primary-color);
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.brand-tagline[b-tc6c7ddn8d] {
    color: var(--ed-text-muted);
    font-size: 0.85rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
}

@media (max-width: 480px) {
    .brand-name[b-tc6c7ddn8d] { font-size: 1.3rem; }
    .marque-logo[b-tc6c7ddn8d] { max-width: 160px; }
}
/* /Components/Widgets/UpperSection.razor.rz.scp.css */
.upper-section[b-1g92vsx8yd] {
    border: 1px solid var(--ed-surface-sunken);
    transition: all 0.2s ease;
}

.upper-section .header[b-1g92vsx8yd] {
    background-color: var(--ed-surface-alt);
}

.upper-section h3[b-1g92vsx8yd] {
    color: var(--ed-primary);
}

.search-container[b-1g92vsx8yd] {
    position: relative;
}

.search-container .rz-textbox[b-1g92vsx8yd] {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-color: var(--ed-border);
    transition: border-color 0.2s;
}

.search-container .search-button[b-1g92vsx8yd] {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.search-container .rz-textbox:focus[b-1g92vsx8yd] {
    border-color: var(--ed-primary);
    box-shadow: 0 0 0 0.2rem var(--ed-surface-sunken);
}

.filter-dropdown .rz-dropdown[b-1g92vsx8yd] {
    background-color: var(--ed-surface-alt);
    border: 1px solid var(--ed-border);
}

.export-button[b-1g92vsx8yd] {
    background-color: var(--ed-surface);
    color: var(--ed-text-muted);
    border-color: var(--ed-border);
}

.export-button:hover[b-1g92vsx8yd] {
    background-color: var(--ed-surface-alt);
    color: var(--ed-primary);
}

.period-filter .rz-datepicker[b-1g92vsx8yd] {
    background-color: var(--ed-surface-alt);
    border: 1px solid var(--ed-border);
}

/* Animation pour le spinner d'export */
.exporting-button .rz-button-icon-left[b-1g92vsx8yd] {
    animation: spin-b-1g92vsx8yd 1s linear infinite;
}

@keyframes spin-b-1g92vsx8yd {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Style pour le bouton d'export en cours */
.exporting-button[b-1g92vsx8yd] {
    opacity: 0.8;
    cursor: not-allowed !important;
}

    .exporting-button:hover[b-1g92vsx8yd] {
        opacity: 0.8 !important;
    }

/* Amélioration visuelle des boutons */
.search-button[b-1g92vsx8yd] {
    border-left: none !important;
}

.import-button[b-1g92vsx8yd], .rz-splitbutton[b-1g92vsx8yd] {
    transition: all 0.2s ease-in-out;
}

    .import-button:hover[b-1g92vsx8yd], .rz-splitbutton:hover[b-1g92vsx8yd] {
        transform: translateY(-1px);
        box-shadow: var(--ed-shadow) !important;
    }
/* /Layout/LoginLayout.razor.rz.scp.css */
/* Coque plein ecran des pages anonymes. Le degrade est un jeton de charte
   (--ed-login-bg) : rehabiller = changer theme.css, pas ce fichier. */
.ed-auth-shell[b-e8yveqms7t] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ed-login-bg);
}
/* /Layout/MainLayout.razor.rz.scp.css */
/*
 * Habillage de la coque applicative. Toutes les couleurs proviennent des jetons
 * definis dans wwwroot/css/theme.css : ne pas reintroduire de valeur en dur ici,
 * sinon un locataire ne pourra plus rehabiller la barre laterale.
 */

.page[b-jbsiy63fac] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-jbsiy63fac] {
    flex: 1;
}

.sidebar[b-jbsiy63fac] {
    background: var(--ed-sidebar-bg);
}

.top-row[b-jbsiy63fac] {
    background-color: var(--ed-header-bg);
    border-bottom: 1px solid var(--ed-header-border);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

.top-row[b-jbsiy63fac]  a, .top-row[b-jbsiy63fac]  .btn-link {
    white-space: nowrap;
    margin-left: 1.5rem;
    text-decoration: none;
}

.top-row[b-jbsiy63fac]  a:hover, .top-row[b-jbsiy63fac]  .btn-link:hover {
    text-decoration: underline;
}

.top-row[b-jbsiy63fac]  a:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 641px) {
    .rz-panel-menu .rz-navigation-menu .rz-navigation-item .rz-navigation-item-link[b-jbsiy63fac] {
        background-color: var(--ed-sidebar-bg);
    }

    .rz-panel-menu a.rz-navigation-item-link[b-jbsiy63fac] {
        background: var(--ed-sidebar-bg);
        cursor: pointer;
        text-decoration: none;
    }

    .rz-panel-menu a.rz-navigation-item-link:hover[b-jbsiy63fac] {
        background-color: var(--ed-sidebar-active-bg);
        color: var(--ed-sidebar-active-text);
    }

    .rz-panel-menu a.rz-navigation-item-link-active.active[b-jbsiy63fac] {
        background-color: var(--ed-sidebar-active-bg);
        color: var(--ed-sidebar-active-text);
        border-radius: var(--ed-radius-sm);
    }

    .rz-panel-menu div.rz-navigation-item-link-active.active[b-jbsiy63fac] {
        background-color: var(--ed-sidebar-active-bg);
        color: var(--ed-sidebar-active-text);
        border-radius: var(--ed-radius-sm);
    }

    .rz-panel-menu .rz-navigation-item-wrapper-active[b-jbsiy63fac] {
        background-color: var(--ed-sidebar-active-bg);
        color: var(--ed-sidebar-active-text);
        margin: 4px 16px;
        border-radius: var(--ed-radius-sm);
    }

    /* Entrées de second niveau */
    .rz-panel-menu .rz-navigation-item .rz-navigation-item[b-jbsiy63fac] {
        margin-left: 20px;
    }

    .rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item-link[b-jbsiy63fac] {
        color: var(--ed-sidebar-text) !important;
    }

    .rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item-wrapper-active .rz-navigation-item-link[b-jbsiy63fac] {
        color: var(--ed-sidebar-active-text) !important;
    }

    .rz-panel-menu .rz-navigation-item-wrapper:hover[b-jbsiy63fac] {
        background-color: var(--ed-sidebar-active-bg);
        color: var(--ed-sidebar-active-text);
        border-radius: var(--ed-radius-sm);
    }

    .rz-panel-menu .rz-navigation-item-wrapper:hover .rz-navigation-item-link[b-jbsiy63fac] {
        background-color: var(--ed-sidebar-active-bg) !important;
        color: var(--ed-sidebar-active-text) !important;
    }

    :root[b-jbsiy63fac] {
        --rz-border-width: 1px;
    }

    .rz-header[b-jbsiy63fac], .rz-sidebar-toggle[b-jbsiy63fac], rz-profile-menu[b-jbsiy63fac], rz-profile-menu-item[b-jbsiy63fac] {
        height: 75px;
        background-color: var(--ed-header-bg);
    }

    .rz-sidebar-toggle:hover[b-jbsiy63fac] {
        background-color: var(--ed-surface-alt);
        color: var(--ed-primary);
    }

    ul.rz-profile-menu[b-jbsiy63fac] {
        background-color: var(--ed-header-bg);
        margin-right: 60px;
    }

    .rz-panel-menu .rz-navigation-item-wrapper:not(.rz-navigation-item-wrapper-active) .rz-navigation-item-link[b-jbsiy63fac] {
        color: var(--ed-sidebar-text) !important;
    }

    .menu-item-active[b-jbsiy63fac] {
        background-color: var(--ed-sidebar-active-bg);
        color: var(--ed-sidebar-active-text);
    }

    .menu-item-inactive[b-jbsiy63fac] {
        background-color: transparent;
        color: var(--ed-sidebar-text);
    }

    .menu-item-inactive:hover[b-jbsiy63fac] {
        background-color: var(--ed-sidebar-hover-bg);
        color: var(--ed-sidebar-active-bg);
    }

    .icon-active[b-jbsiy63fac] {
        color: var(--ed-sidebar-active-text);
    }

    .icon-inactive[b-jbsiy63fac] {
        color: var(--ed-sidebar-text);
    }

    .icon-inactive:hover[b-jbsiy63fac] {
        color: var(--ed-accent);
    }
}
/* /Pages/Auth/ForceChangePassword.razor.rz.scp.css */
/* Variables et Reset */
:root[b-pefzp3myxp] {
    --primary-color: var(--ed-primary);
    --primary-light: var(--ed-primary-light);
    --primary-dark: var(--ed-primary-dark);
    --text-color: var(--ed-text);
    --text-light: var(--ed-text-muted);
    --background-light: var(--ed-surface-alt);
    --border-color: var(--ed-border);
    --white: var(--ed-surface);
    --shadow: var(--ed-shadow);
    --radius: 30px;
    --radius-input: 15px;
    --transition: all 0.3s ease;
}

*[b-pefzp3myxp] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Container Principal */
.login-container[b-pefzp3myxp] {
    min-height: 100vh;
    width: 100%;
    /* Meme jeton de charte que LoginLayout : l'image de fond referencee ici n'a jamais existe
       dans wwwroot, et chaque affichage de la page demandait au navigateur un fichier absent. */
    background: var(--ed-login-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    perspective: 1000px;
}

/* Layout Principal */
.login-layout[b-pefzp3myxp] {
    width: 100%;
    max-width: 440px;
    position: relative;
    transform-style: preserve-3d;
    transition: var(--transition);
}

/* Carte de Login */
.login-card[b-pefzp3myxp] {
    background: var(--ed-surface);
    border-radius: var(--radius);
    padding: 2.5rem;
    width: 100%;
    box-shadow: var(--ed-shadow-lg);
    position: relative;
    overflow: hidden;
    transition: var(--transition);
    animation: slideIn-b-pefzp3myxp 0.6s ease-out forwards;
}

/* Header */
.login-header[b-pefzp3myxp] {
    text-align: center;
    margin-bottom: 2rem;
}

.brand-name[b-pefzp3myxp] {
    color: var(--primary-color);
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    letter-spacing: -0.5px;
}

.page-title[b-pefzp3myxp] {
    color: var(--primary-color);
    font-size: 1.25rem;
    opacity: 0.9;
}

/* Formulaire */
.form-field[b-pefzp3myxp] {
    margin-bottom: 1.5rem;
}

.form-field label[b-pefzp3myxp] {
    display: block;
    color: var(--text-color);
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 0.95rem;
}

.input-wrapper[b-pefzp3myxp] {
    position: relative;
}

.input-icon[b-pefzp3myxp] {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-light);
    font-size: 1.1rem;
    transition: color 0.3s ease;
    z-index: 2;
}

/* Styles Input */
[b-pefzp3myxp] .styled-input {
    width: 100%;
    padding: 14px 14px 14px 45px;
    border: 2px solid transparent;
    border-radius: var(--radius-input);
    background-color: var(--background-light);
    background: var(--ed-surface-alt);
    font-size: 1rem;
    border-radius: 10px;
    color: var(--text-color);
    transition: var(--transition);
}

[b-pefzp3myxp] .styled-input:hover {
    background-color: var(--ed-surface);
    border-color: var(--primary-light);
}

[b-pefzp3myxp] .styled-input:focus {
    background-color: var(--ed-surface);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px var(--ed-info-bg);
    outline: none;
}

/* Bouton */
.login-button[b-pefzp3myxp] {
    width: 100%;
    background: var(--ed-primary);
    color: var(--white);
    border: none;
    border-radius: 8px;
    padding: 16px;
    font-size: 1rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    box-shadow: none;
    color: var(--ed-surface);
}

.login-button i[b-pefzp3myxp] {
    font-size: 1.25rem;
    margin-right: 4px;
}

.login-button:hover:not(:disabled)[b-pefzp3myxp] {
    background: var(--ed-primary-dark);
}

.login-button:disabled[b-pefzp3myxp] {
    opacity: 0.8;
    cursor: wait;
}

/* Style du contenu du bouton */
.button-content[b-pefzp3myxp] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Style du loader */
.loader[b-pefzp3myxp] {
    width: 20px;
    height: 20px;
    border: 2px solid white;
    border-radius: 50%;
    background: var(--ed-primary);
    border-top-color: transparent;
    animation: spin-b-pefzp3myxp 0.8s linear infinite;
}

.loader-container[b-pefzp3myxp] {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--ed-primary);
}

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

/* Info message */
.info-message[b-pefzp3myxp] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    background-color: var(--ed-info-bg);
    border-radius: 8px;
    border-left: 4px solid var(--primary-color);
    margin-bottom: 1.5rem;
}

/* Password criteria */
.password-criteria[b-pefzp3myxp] {
    background-color: var(--background-light);
    padding: 1rem;
    border-radius: 8px;
    margin-bottom: 1.5rem;
}

.criteria-list[b-pefzp3myxp] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.criteria-list li[b-pefzp3myxp] {
    padding: 0.25rem 0;
    color: var(--text-light);
    font-size: 0.875rem;
    display: flex;
    align-items: center;
}

.criteria-list li i[b-pefzp3myxp] {
    width: 16px;
    margin-right: 8px;
}

.criteria-list li.valid[b-pefzp3myxp] {
    color: var(--ed-success);
}

.criteria-list li.valid i[b-pefzp3myxp] {
    color: var(--ed-success);
}

.criteria-list li:not(.valid) i[b-pefzp3myxp] {
    color: var(--ed-danger);
}

/* Session invalide / Success states */
.text-center[b-pefzp3myxp] {
    text-align: center;
}

.py-4[b-pefzp3myxp] {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.mt-3[b-pefzp3myxp] {
    margin-top: 1rem;
}

.mt-2[b-pefzp3myxp] {
    margin-top: 0.5rem;
}

.mt-4[b-pefzp3myxp] {
    margin-top: 1.5rem;
}

.text-muted[b-pefzp3myxp] {
    color: var(--text-light);
}

/* Animations */
@keyframes slideIn-b-pefzp3myxp {
    from {
        opacity: 0;
        transform: translateY(20px) rotateX(-10deg);
    }

    to {
        opacity: 1;
        transform: translateY(0) rotateX(0);
    }
}

/* Media Queries */
@media (max-width: 480px) {
    .login-card[b-pefzp3myxp] {
        padding: 1.5rem;
        border-radius: 20px;
    }

    .brand-name[b-pefzp3myxp] {
        font-size: 1.75rem;
    }

    .page-title[b-pefzp3myxp] {
        font-size: 1.1rem;
    }

    [b-pefzp3myxp] .styled-input {
        padding: 12px 12px 12px 40px;
        font-size: 0.95rem;
    }

    .login-button[b-pefzp3myxp] {
        padding: 12px;
    }
}

@media (min-width: 480px) and (max-width: 1024px) {
    .login-layout[b-pefzp3myxp] {
        max-width: 480px;
    }

    .login-card[b-pefzp3myxp] {
        padding: 2rem;
        border-radius: 20px;
    }
}

@media (min-width: 1024px) {
    .login-layout[b-pefzp3myxp] {
        max-width: 560px;
    }

    .login-card[b-pefzp3myxp] {
        padding: 3rem;
        border-radius: 20px;
    }

    .brand-name[b-pefzp3myxp] {
        font-size: 2.25rem;
    }

    [b-pefzp3myxp] .styled-input {
        padding: 16px 16px 16px 48px;
        font-size: 1rem;
    }

    .login-button[b-pefzp3myxp] {
        padding: 16px;
    }
}

@media (min-width: 1440px) {
    .login-layout[b-pefzp3myxp] {
        max-width: 640px;
    }

    .login-card[b-pefzp3myxp] {
        padding: 4rem;
        border-radius: 20px;
    }

    .brand-name[b-pefzp3myxp] {
        font-size: 2.5rem;
    }

    .page-title[b-pefzp3myxp] {
        font-size: 1.5rem;
    }
}

/* Etats d'erreur */
[b-pefzp3myxp] .styled-input.invalid {
    border-color: var(--ed-danger);
    background-color: var(--ed-danger-bg);
}

[b-pefzp3myxp] .styled-input.invalid:focus {
    box-shadow: 0 0 0 4px var(--ed-danger-bg);
}

[b-pefzp3myxp] .styled-input.valid {
    border-color: var(--ed-success);
}

/* Signature produit sous le nom de marque. */
.brand-tagline[b-pefzp3myxp] {
    color: var(--ed-text-muted);
    font-size: 0.85rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
}
/* /Pages/Auth/ForgotPassword.razor.rz.scp.css */
/* Variables et Reset */
:root[b-n7yn69cv3h] {
    --primary-color: var(--ed-primary);
    --primary-light: var(--ed-primary-light);
    --primary-dark: var(--ed-primary-dark);
    --text-color: var(--ed-text);
    --text-light: var(--ed-text-muted);
    --background-light: var(--ed-surface-alt);
    --border-color: var(--ed-border);
    --white: var(--ed-surface);
    --shadow: var(--ed-shadow);
    --radius: 30px;
    --radius-input: 15px;
    --transition: all 0.3s ease;
}

*[b-n7yn69cv3h] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Container Principal */
.login-container[b-n7yn69cv3h] {
    min-height: 100vh;
    width: 100%;
    /* Meme jeton de charte que LoginLayout : l'image de fond referencee ici n'a jamais existe
       dans wwwroot, et chaque affichage de la page demandait au navigateur un fichier absent. */
    background: var(--ed-login-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    perspective: 1000px;
}

/* Layout Principal */
.login-layout[b-n7yn69cv3h] {
    width: 100%;
    max-width: 440px;
    position: relative;
    transform-style: preserve-3d;
    transition: var(--transition);
}

/* Carte de Login */
.login-card[b-n7yn69cv3h] {
    background: var(--ed-surface);
    border-radius: var(--radius);
    padding: 2.5rem;
    width: 100%;
    box-shadow: var(--ed-shadow-lg);
    position: relative;
    overflow: hidden;
    transition: var(--transition);
    animation: slideIn-b-n7yn69cv3h 0.6s ease-out forwards;
}

/* Header */
.login-header[b-n7yn69cv3h] {
    text-align: center;
    margin-bottom: 2rem;
}

.brand-name[b-n7yn69cv3h] {
    color: var(--primary-color);
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    letter-spacing: -0.5px;
}

.page-title[b-n7yn69cv3h] {
    color: var(--primary-color);
    font-size: 1.25rem;
    opacity: 0.9;
}

/* Description du formulaire */
.form-description[b-n7yn69cv3h] {
    color: var(--text-light);
    font-size: 0.95rem;
    text-align: center;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

/* Formulaire */
.form-field[b-n7yn69cv3h] {
    margin-bottom: 1.5rem;
}

.form-field label[b-n7yn69cv3h] {
    display: block;
    color: var(--text-color);
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 0.95rem;
}

.input-wrapper[b-n7yn69cv3h] {
    position: relative;
}

.input-icon[b-n7yn69cv3h] {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-light);
    font-size: 1.1rem;
    transition: color 0.3s ease;
    z-index: 2;
}

/* Styles Input */
[b-n7yn69cv3h] .styled-input {
    width: 100%;
    padding: 14px 14px 14px 45px;
    border: 2px solid transparent;
    border-radius: var(--radius-input);
    background-color: var(--background-light);
    background: var(--ed-surface-alt);
    font-size: 1rem;
    border-radius: 10px;
    color: var(--text-color);
    transition: var(--transition);
}

[b-n7yn69cv3h] .styled-input:hover {
    background-color: var(--ed-surface);
    border-color: var(--primary-light);
}

[b-n7yn69cv3h] .styled-input:focus {
    background-color: var(--ed-surface);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px var(--ed-info-bg);
    outline: none;
}

/* Bouton */
.login-button[b-n7yn69cv3h] {
    width: 100%;
    background: var(--ed-primary);
    color: var(--white);
    border: none;
    border-radius: 8px;
    padding: 16px;
    font-size: 1rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    box-shadow: none;
    color: var(--ed-surface);
}

.login-button i[b-n7yn69cv3h] {
    font-size: 1.25rem;
    margin-right: 4px;
}

.login-button:hover:not(:disabled)[b-n7yn69cv3h] {
    background: var(--ed-primary-dark);
}

.login-button:disabled[b-n7yn69cv3h] {
    opacity: 0.8;
    cursor: wait;
}

/* Style du contenu du bouton */
.button-content[b-n7yn69cv3h] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Style du loader */
.loader[b-n7yn69cv3h] {
    width: 20px;
    height: 20px;
    border: 2px solid white;
    border-radius: 50%;
    background: var(--ed-primary);
    border-top-color: transparent;
    animation: spin-b-n7yn69cv3h 0.8s linear infinite;
}

.loader-container[b-n7yn69cv3h] {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--ed-primary);
}

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

/* Footer */
.login-footer[b-n7yn69cv3h] {
    margin-top: 2rem;
    text-align: center;
}

/* Lien retour */
.back-to-login[b-n7yn69cv3h] {
    color: var(--primary-color);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 8px;
    transition: var(--transition);
}

.back-to-login:hover[b-n7yn69cv3h] {
    background-color: var(--ed-info-bg);
}

/* Message de succes */
.success-message[b-n7yn69cv3h] {
    text-align: center;
    padding: 2rem 1rem;
}

.success-message i[b-n7yn69cv3h] {
    font-size: 4rem;
    color: var(--ed-success);
    margin-bottom: 1.5rem;
}

.success-message p[b-n7yn69cv3h] {
    color: var(--text-color);
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

/* Animations */
@keyframes slideIn-b-n7yn69cv3h {
    from {
        opacity: 0;
        transform: translateY(20px) rotateX(-10deg);
    }

    to {
        opacity: 1;
        transform: translateY(0) rotateX(0);
    }
}

/* Media Queries */
@media (max-width: 480px) {
    .login-card[b-n7yn69cv3h] {
        padding: 1.5rem;
        border-radius: 20px;
    }

    .brand-name[b-n7yn69cv3h] {
        font-size: 1.75rem;
    }

    .page-title[b-n7yn69cv3h] {
        font-size: 1.1rem;
    }

    [b-n7yn69cv3h] .styled-input {
        padding: 12px 12px 12px 40px;
        font-size: 0.95rem;
    }

    .login-button[b-n7yn69cv3h] {
        padding: 12px;
    }
}

@media (min-width: 480px) and (max-width: 1024px) {
    .login-layout[b-n7yn69cv3h] {
        max-width: 480px;
    }

    .login-card[b-n7yn69cv3h] {
        padding: 2rem;
        border-radius: 20px;
    }
}

@media (min-width: 1024px) {
    .login-layout[b-n7yn69cv3h] {
        max-width: 560px;
    }

    .login-card[b-n7yn69cv3h] {
        padding: 3rem;
        border-radius: 20px;
    }

    .brand-name[b-n7yn69cv3h] {
        font-size: 2.25rem;
    }

    [b-n7yn69cv3h] .styled-input {
        padding: 16px 16px 16px 48px;
        font-size: 1rem;
    }

    .login-button[b-n7yn69cv3h] {
        padding: 16px;
    }
}

@media (min-width: 1440px) {
    .login-layout[b-n7yn69cv3h] {
        max-width: 640px;
    }

    .login-card[b-n7yn69cv3h] {
        padding: 4rem;
        border-radius: 20px;
    }

    .brand-name[b-n7yn69cv3h] {
        font-size: 2.5rem;
    }

    .page-title[b-n7yn69cv3h] {
        font-size: 1.5rem;
    }
}

/* Etats d'erreur */
[b-n7yn69cv3h] .styled-input.invalid {
    border-color: var(--ed-danger);
    background-color: var(--ed-danger-bg);
}

[b-n7yn69cv3h] .styled-input.invalid:focus {
    box-shadow: 0 0 0 4px var(--ed-danger-bg);
}

[b-n7yn69cv3h] .styled-input.valid {
    border-color: var(--ed-success);
}

/* Signature produit sous le nom de marque. */
.brand-tagline[b-n7yn69cv3h] {
    color: var(--ed-text-muted);
    font-size: 0.85rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
}
/* /Pages/Auth/Login.razor.rz.scp.css */
/*
 * Ecran de connexion ExchangeDesk.
 * Les couleurs viennent des jetons de wwwroot/css/theme.css ; les alias locaux
 * ci-dessous ne font que les renommer pour la lisibilite de cette feuille.
 */
:root[b-jjq3rpfloi] {
    --primary-color: var(--ed-primary);
    --primary-light: var(--ed-primary-light);
    --primary-dark: var(--ed-primary-dark);
    --text-color: var(--ed-text);
    --text-light: var(--ed-text-muted);
    --background-light: var(--ed-surface-alt);
    --border-color: var(--ed-border);
    --white: var(--ed-surface);
    --shadow: var(--ed-shadow);
    --radius: var(--ed-radius-lg);
    --radius-input: var(--ed-radius);
    --transition: all 0.3s ease;
}

*[b-jjq3rpfloi] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Container Principal */
.login-container[b-jjq3rpfloi] {
    min-height: 100vh;
    width: 100%;
    background: var(--ed-login-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    perspective: 1000px;
}

/* Layout Principal */
.login-layout[b-jjq3rpfloi] {
    width: 100%;
    max-width: 440px;
    position: relative;
    transform-style: preserve-3d;
    transition: var(--transition);
}

/* Carte de Login */
.login-card[b-jjq3rpfloi] {
    background: var(--ed-login-card-bg);
    border-radius: var(--radius);
    padding: 2.5rem;
    width: 100%;
    box-shadow: var(--ed-shadow-lg);
    position: relative;
    overflow: hidden;
    transition: var(--transition);
    animation: slideIn-b-jjq3rpfloi 0.6s ease-out forwards;
}

/* Header */
.login-header[b-jjq3rpfloi] {
    text-align: center;
    margin-bottom: 2.5rem;
}

.logo[b-jjq3rpfloi] {
    width: 70px;
    height: auto;
    margin-bottom: 1rem;
    filter: drop-shadow(var(--ed-shadow-sm));
}

.brand-name[b-jjq3rpfloi] {
    color: var(--primary-color);
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    letter-spacing: -0.5px;
}

.page-title[b-jjq3rpfloi] {
    color: var(--primary-color);
    font-size: 1.25rem;
    opacity: 0.9;
}

/* Formulaire */
.form-field[b-jjq3rpfloi] {
    margin-bottom: 1.5rem;
}

.form-field label[b-jjq3rpfloi] {
    display: block;
    color: var(--text-color);
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 0.95rem;
}

.input-wrapper[b-jjq3rpfloi] {
    position: relative;
}

.input-icon[b-jjq3rpfloi] {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-light);
    font-size: 1.1rem;
    transition: color 0.3s ease;
    z-index: 2;
}

/* Styles Input */
[b-jjq3rpfloi] .styled-input {
    width: 100%;
    padding: 14px 14px 14px 45px;
    border: 2px solid transparent;
    border-radius: var(--radius-input);
    background-color: var(--background-light);
    background: var(--ed-surface-alt);
    font-size: 1rem;
    border-radius: 10px;
    color: var(--text-color);
    transition: var(--transition);
}

[b-jjq3rpfloi] .styled-input:hover {
    background-color: var(--ed-surface);
    border-color: var(--primary-light);
}

[b-jjq3rpfloi] .styled-input:focus {
    background-color: var(--ed-surface);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px var(--ed-info-bg);
    outline: none;
}

/* ReCAPTCHA */
.recaptcha-container[b-jjq3rpfloi] {
    margin: 1.5rem 0;
    display: flex;
    justify-content: center;
}

/* Options de connexion */
.form-options[b-jjq3rpfloi] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1rem 0;
}

.forgot-password[b-jjq3rpfloi] {
    color: var(--primary-color);
    text-decoration: none;
    font-size: 0.9rem;
    transition: var(--transition);
    padding: 4px 8px;
    border-radius: 8px;
}

.forgot-password:hover[b-jjq3rpfloi] {
    background-color: var(--ed-info-bg);
}

/* Bouton de connexion */
.login-button[b-jjq3rpfloi] {
    width: 100%;
    background: var(--ed-primary);
    color: var(--white);
    border: none;
    border-radius: 8px;
    padding: 16px;
    font-size: 1rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    box-shadow: none;
    color: var(--ed-primary-contrast);
}

.login-button i[b-jjq3rpfloi] {
    font-size: 1.25rem;
    margin-right: 4px;
}

.login-button:hover[b-jjq3rpfloi] {
    background: var(--ed-primary-light);
    transform: none;
    box-shadow: none;
}

.login-button:active[b-jjq3rpfloi] {
    background: var(--ed-primary-dark);
}

[b-jjq3rpfloi] .login-button .rz-button-text {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.3px;
}

/* Media queries */
@media (max-width: 480px) {
    .login-button[b-jjq3rpfloi] {
        padding: 14px;
        font-size: 0.95rem;
    }
}

@media (min-width: 1024px) {
    .login-button[b-jjq3rpfloi] {
        padding: 16px;
        font-size: 1rem;
    }
}

.login-button:hover[b-jjq3rpfloi] {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--ed-shadow-lg);
}

.login-button:hover:not(:disabled)[b-jjq3rpfloi] {
    background: var(--ed-primary-dark);
}

.login-button:disabled[b-jjq3rpfloi] {
    opacity: 0.8;
    cursor: wait;
}

/* Style du contenu du bouton */
.button-content[b-jjq3rpfloi] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Style du loader */
.loader[b-jjq3rpfloi] {
    width: 20px;
    height: 20px;
    border: 2px solid white;
    border-radius: 50%;
    background: var(--ed-accent)
    border-top-color: transparent;
    animation: spin-b-jjq3rpfloi 0.8s linear infinite;
}

.loader-container[b-jjq3rpfloi] {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--ed-accent)
}

@keyframes spin-b-jjq3rpfloi {
    to {
        transform: rotate(360deg);
    }
}
/* Footer */
.login-footer[b-jjq3rpfloi] {
    margin-top: 2rem;
    text-align: center;
}

.no-account[b-jjq3rpfloi] {
    color: var(--text-light);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.contact-link[b-jjq3rpfloi] {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    transition: var(--transition);
    padding: 4px 8px;
    border-radius: 8px;
}

.contact-link:hover[b-jjq3rpfloi] {
    background-color: var(--ed-info-bg);
}

.credits[b-jjq3rpfloi] {
    margin-top: 1.5rem;
    color: var(--text-light);
    font-size: 0.8rem;
}

/* Animations */
@keyframes slideIn-b-jjq3rpfloi {
    from {
        opacity: 0;
        transform: translateY(20px) rotateX(-10deg);
    }

    to {
        opacity: 1;
        transform: translateY(0) rotateX(0);
    }
}

/* Media Queries */
/* Mobile (< 480px) */
@media (max-width: 480px) {
    .login-card[b-jjq3rpfloi] {
        padding: 1.5rem;
        border-radius: 20px;
    }

    .brand-name[b-jjq3rpfloi] {
        font-size: 1.75rem;
    }

    .page-title[b-jjq3rpfloi] {
        font-size: 1.1rem;
    }

    [b-jjq3rpfloi] .styled-input {
        padding: 12px 12px 12px 40px;
        font-size: 0.95rem;
    }

    .login-button[b-jjq3rpfloi] {
        padding: 12px;
    }

    .recaptcha-container[b-jjq3rpfloi] {
        transform: scale(0.85);
        transform-origin: center;
    }
}

/* Tablet (480px - 1024px) */
@media (min-width: 480px) and (max-width: 1024px) {
    .login-layout[b-jjq3rpfloi] {
        max-width: 480px;
    }

    .login-card[b-jjq3rpfloi] {
        padding: 2rem;
        border-radius: 20px;
    }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
    .login-layout[b-jjq3rpfloi] {
        max-width: 560px;
    }

    .login-card[b-jjq3rpfloi] {
        padding: 3rem;
        border-radius: 20px;
    }

    .brand-name[b-jjq3rpfloi] {
        font-size: 2.25rem;
    }

    [b-jjq3rpfloi] .styled-input {
        padding: 16px 16px 16px 48px;
        font-size: 1rem;
    }

    .login-button[b-jjq3rpfloi] {
        padding: 16px;
    }
}

/* Large Desktop (≥ 1440px) */
@media (min-width: 1440px) {
    .login-layout[b-jjq3rpfloi] {
        max-width: 640px;
    }

    .login-card[b-jjq3rpfloi] {
        padding: 4rem;
        border-radius: 20px;
    }

    .brand-name[b-jjq3rpfloi] {
        font-size: 2.5rem;
    }

    .page-title[b-jjq3rpfloi] {
        font-size: 1.5rem;
    }
}

/* États d'erreur */
[b-jjq3rpfloi] .styled-input.invalid {
    border-color: var(--ed-danger);
    background-color: var(--ed-danger-bg);
}

[b-jjq3rpfloi] .styled-input.invalid:focus {
    box-shadow: 0 0 0 4px var(--ed-danger-bg);
}

.error-message[b-jjq3rpfloi] {
    color: var(--ed-danger);
    font-size: 0.85rem;
    margin-top: 0.5rem;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Styles spécifiques pour le champ password */
[b-jjq3rpfloi] .rz-password {
    width: 100%;
}

[b-jjq3rpfloi] .rz-password .rz-inputtext {
    padding-right: 40px;
}

[b-jjq3rpfloi] .rz-password-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--text-light);
    cursor: pointer;
    z-index: 2;
    transition: var(--transition);
}

[b-jjq3rpfloi] .rz-password-toggle:hover {
    color: var(--primary-color);
}

/* Signature produit sous le nom de marque. */
.brand-tagline[b-jjq3rpfloi] {
    color: var(--ed-text-muted);
    font-size: 0.85rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
}
/* /Pages/Auth/ResetPassword.razor.rz.scp.css */
/* Variables et Reset */
:root[b-2rjemb58i9] {
    --primary-color: var(--ed-primary);
    --primary-light: var(--ed-primary-light);
    --primary-dark: var(--ed-primary-dark);
    --text-color: var(--ed-text);
    --text-light: var(--ed-text-muted);
    --background-light: var(--ed-surface-alt);
    --border-color: var(--ed-border);
    --white: var(--ed-surface);
    --shadow: var(--ed-shadow);
    --radius: 30px;
    --radius-input: 15px;
    --transition: all 0.3s ease;
}

*[b-2rjemb58i9] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Container Principal */
.login-container[b-2rjemb58i9] {
    min-height: 100vh;
    width: 100%;
    /* Meme jeton de charte que LoginLayout : l'image de fond referencee ici n'a jamais existe
       dans wwwroot, et chaque affichage de la page demandait au navigateur un fichier absent. */
    background: var(--ed-login-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    perspective: 1000px;
}

/* Layout Principal */
.login-layout[b-2rjemb58i9] {
    width: 100%;
    max-width: 440px;
    position: relative;
    transform-style: preserve-3d;
    transition: var(--transition);
}

/* Carte de Login */
.login-card[b-2rjemb58i9] {
    background: var(--ed-surface);
    border-radius: var(--radius);
    padding: 2.5rem;
    width: 100%;
    box-shadow: var(--ed-shadow-lg);
    position: relative;
    overflow: hidden;
    transition: var(--transition);
    animation: slideIn-b-2rjemb58i9 0.6s ease-out forwards;
}

/* Header */
.login-header[b-2rjemb58i9] {
    text-align: center;
    margin-bottom: 2rem;
}

.brand-name[b-2rjemb58i9] {
    color: var(--primary-color);
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    letter-spacing: -0.5px;
}

.page-title[b-2rjemb58i9] {
    color: var(--primary-color);
    font-size: 1.25rem;
    opacity: 0.9;
}

/* Description du formulaire */
.form-description[b-2rjemb58i9] {
    color: var(--text-light);
    font-size: 0.95rem;
    text-align: center;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

/* Formulaire */
.form-field[b-2rjemb58i9] {
    margin-bottom: 1.5rem;
}

.form-field label[b-2rjemb58i9] {
    display: block;
    color: var(--text-color);
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 0.95rem;
}

.input-wrapper[b-2rjemb58i9] {
    position: relative;
}

.input-icon[b-2rjemb58i9] {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-light);
    font-size: 1.1rem;
    transition: color 0.3s ease;
    z-index: 2;
}

/* Styles Input */
[b-2rjemb58i9] .styled-input {
    width: 100%;
    padding: 14px 14px 14px 45px;
    border: 2px solid transparent;
    border-radius: var(--radius-input);
    background-color: var(--background-light);
    background: var(--ed-surface-alt);
    font-size: 1rem;
    border-radius: 10px;
    color: var(--text-color);
    transition: var(--transition);
}

[b-2rjemb58i9] .styled-input:hover {
    background-color: var(--ed-surface);
    border-color: var(--primary-light);
}

[b-2rjemb58i9] .styled-input:focus {
    background-color: var(--ed-surface);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px var(--ed-info-bg);
    outline: none;
}

/* Bouton */
.login-button[b-2rjemb58i9] {
    width: 100%;
    background: var(--ed-primary);
    color: var(--white);
    border: none;
    border-radius: 8px;
    padding: 16px;
    font-size: 1rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    box-shadow: none;
    color: var(--ed-surface);
}

.login-button i[b-2rjemb58i9] {
    font-size: 1.25rem;
    margin-right: 4px;
}

.login-button:hover:not(:disabled)[b-2rjemb58i9] {
    background: var(--ed-primary-dark);
}

.login-button:disabled[b-2rjemb58i9] {
    opacity: 0.8;
    cursor: wait;
}

/* Style du contenu du bouton */
.button-content[b-2rjemb58i9] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Style du loader */
.loader[b-2rjemb58i9] {
    width: 20px;
    height: 20px;
    border: 2px solid white;
    border-radius: 50%;
    background: var(--ed-primary);
    border-top-color: transparent;
    animation: spin-b-2rjemb58i9 0.8s linear infinite;
}

.loader-container[b-2rjemb58i9] {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--ed-primary);
}

@keyframes spin-b-2rjemb58i9 {
    to {
        transform: rotate(360deg);
    }
}

/* Footer */
.login-footer[b-2rjemb58i9] {
    margin-top: 2rem;
    text-align: center;
}

/* Lien retour */
.back-to-login[b-2rjemb58i9] {
    color: var(--primary-color);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 8px;
    transition: var(--transition);
}

.back-to-login:hover[b-2rjemb58i9] {
    background-color: var(--ed-info-bg);
}

/* Message d'erreur */
.error-message[b-2rjemb58i9] {
    text-align: center;
    padding: 2rem 1rem;
}

.error-message i[b-2rjemb58i9] {
    font-size: 4rem;
    color: var(--ed-danger);
    margin-bottom: 1.5rem;
}

.error-message p[b-2rjemb58i9] {
    color: var(--text-color);
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

/* Animations */
@keyframes slideIn-b-2rjemb58i9 {
    from {
        opacity: 0;
        transform: translateY(20px) rotateX(-10deg);
    }

    to {
        opacity: 1;
        transform: translateY(0) rotateX(0);
    }
}

/* Media Queries */
@media (max-width: 480px) {
    .login-card[b-2rjemb58i9] {
        padding: 1.5rem;
        border-radius: 20px;
    }

    .brand-name[b-2rjemb58i9] {
        font-size: 1.75rem;
    }

    .page-title[b-2rjemb58i9] {
        font-size: 1.1rem;
    }

    [b-2rjemb58i9] .styled-input {
        padding: 12px 12px 12px 40px;
        font-size: 0.95rem;
    }

    .login-button[b-2rjemb58i9] {
        padding: 12px;
    }
}

@media (min-width: 480px) and (max-width: 1024px) {
    .login-layout[b-2rjemb58i9] {
        max-width: 480px;
    }

    .login-card[b-2rjemb58i9] {
        padding: 2rem;
        border-radius: 20px;
    }
}

@media (min-width: 1024px) {
    .login-layout[b-2rjemb58i9] {
        max-width: 560px;
    }

    .login-card[b-2rjemb58i9] {
        padding: 3rem;
        border-radius: 20px;
    }

    .brand-name[b-2rjemb58i9] {
        font-size: 2.25rem;
    }

    [b-2rjemb58i9] .styled-input {
        padding: 16px 16px 16px 48px;
        font-size: 1rem;
    }

    .login-button[b-2rjemb58i9] {
        padding: 16px;
    }
}

@media (min-width: 1440px) {
    .login-layout[b-2rjemb58i9] {
        max-width: 640px;
    }

    .login-card[b-2rjemb58i9] {
        padding: 4rem;
        border-radius: 20px;
    }

    .brand-name[b-2rjemb58i9] {
        font-size: 2.5rem;
    }

    .page-title[b-2rjemb58i9] {
        font-size: 1.5rem;
    }
}

/* Etats d'erreur */
[b-2rjemb58i9] .styled-input.invalid {
    border-color: var(--ed-danger);
    background-color: var(--ed-danger-bg);
}

[b-2rjemb58i9] .styled-input.invalid:focus {
    box-shadow: 0 0 0 4px var(--ed-danger-bg);
}

[b-2rjemb58i9] .styled-input.valid {
    border-color: var(--ed-success);
}

/* Signature produit sous le nom de marque. */
.brand-tagline[b-2rjemb58i9] {
    color: var(--ed-text-muted);
    font-size: 0.85rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
}
/* /Pages/Auth/VerifyEmail.razor.rz.scp.css */
/* Variables et Reset */
:root[b-1ekyg37dqb] {
    --primary-color: var(--ed-primary);
    --primary-light: var(--ed-primary-light);
    --primary-dark: var(--ed-primary-dark);
    --text-color: var(--ed-text);
    --text-light: var(--ed-text-muted);
    --background-light: var(--ed-surface-alt);
    --border-color: var(--ed-border);
    --white: var(--ed-surface);
    --shadow: var(--ed-shadow);
    --radius: 30px;
    --radius-input: 15px;
    --transition: all 0.3s ease;
}

*[b-1ekyg37dqb] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Container Principal */
.login-container[b-1ekyg37dqb] {
    min-height: 100vh;
    width: 100%;
    /* Meme jeton de charte que LoginLayout : l'image de fond referencee ici n'a jamais existe
       dans wwwroot, et chaque affichage de la page demandait au navigateur un fichier absent. */
    background: var(--ed-login-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    perspective: 1000px;
}

/* Layout Principal */
.login-layout[b-1ekyg37dqb] {
    width: 100%;
    max-width: 440px;
    position: relative;
    transform-style: preserve-3d;
    transition: var(--transition);
}

/* Carte de Login */
.login-card[b-1ekyg37dqb] {
    background: var(--ed-surface);
    border-radius: var(--radius);
    padding: 2.5rem;
    width: 100%;
    box-shadow: var(--ed-shadow-lg);
    position: relative;
    overflow: hidden;
    transition: var(--transition);
    animation: slideIn-b-1ekyg37dqb 0.6s ease-out forwards;
}

/* Header */
.login-header[b-1ekyg37dqb] {
    text-align: center;
    margin-bottom: 2rem;
}

.brand-name[b-1ekyg37dqb] {
    color: var(--primary-color);
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    letter-spacing: -0.5px;
}

.page-title[b-1ekyg37dqb] {
    color: var(--primary-color);
    font-size: 1.25rem;
    opacity: 0.9;
}

/* Welcome Section */
.welcome-section[b-1ekyg37dqb] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background-color: var(--ed-info-bg);
    border-radius: 12px;
    margin-bottom: 1.5rem;
}

.avatar-circle[b-1ekyg37dqb] {
    width: 50px;
    height: 50px;
    background: var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ed-primary-contrast);
    font-weight: 600;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.welcome-text[b-1ekyg37dqb] {
    flex: 1;
}

.welcome-greeting[b-1ekyg37dqb] {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    color: var(--text-color);
}

.welcome-instruction[b-1ekyg37dqb] {
    margin: 0;
    font-size: 0.875rem;
    color: var(--text-light);
}

/* Formulaire */
.form-field[b-1ekyg37dqb] {
    margin-bottom: 1.5rem;
}

.form-field label[b-1ekyg37dqb] {
    display: block;
    color: var(--text-color);
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 0.95rem;
}

.input-wrapper[b-1ekyg37dqb] {
    position: relative;
}

.input-icon[b-1ekyg37dqb] {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-light);
    font-size: 1.1rem;
    transition: color 0.3s ease;
    z-index: 2;
}

/* Styles Input */
[b-1ekyg37dqb] .styled-input {
    width: 100%;
    padding: 14px 14px 14px 45px;
    border: 2px solid transparent;
    border-radius: var(--radius-input);
    background-color: var(--background-light);
    background: var(--ed-surface-alt);
    font-size: 1rem;
    border-radius: 10px;
    color: var(--text-color);
    transition: var(--transition);
}

[b-1ekyg37dqb] .styled-input:hover {
    background-color: var(--ed-surface);
    border-color: var(--primary-light);
}

[b-1ekyg37dqb] .styled-input:focus {
    background-color: var(--ed-surface);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px var(--ed-info-bg);
    outline: none;
}

/* Password criteria */
.password-criteria[b-1ekyg37dqb] {
    background-color: var(--background-light);
    padding: 1rem;
    border-radius: 8px;
    margin-bottom: 1.5rem;
}

.criteria-title[b-1ekyg37dqb] {
    font-size: 0.875rem;
    color: var(--text-light);
    margin: 0 0 0.75rem;
    font-weight: 500;
}

.criteria-list[b-1ekyg37dqb] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.criteria-list li[b-1ekyg37dqb] {
    padding: 0.25rem 0;
    color: var(--text-light);
    font-size: 0.875rem;
    display: flex;
    align-items: center;
}

.criteria-list li i[b-1ekyg37dqb] {
    width: 16px;
    margin-right: 8px;
}

.criteria-list li.valid[b-1ekyg37dqb] {
    color: var(--ed-success);
}

.criteria-list li.valid i[b-1ekyg37dqb] {
    color: var(--ed-success);
}

.criteria-list li:not(.valid) i[b-1ekyg37dqb] {
    color: var(--ed-danger);
}

/* Bouton */
.login-button[b-1ekyg37dqb] {
    width: 100%;
    background: var(--ed-primary);
    color: var(--white);
    border: none;
    border-radius: 8px;
    padding: 16px;
    font-size: 1rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    box-shadow: none;
    color: var(--ed-surface);
}

.login-button i[b-1ekyg37dqb] {
    font-size: 1.25rem;
    margin-right: 4px;
}

.login-button:hover:not(:disabled)[b-1ekyg37dqb] {
    background: var(--ed-primary-dark);
}

.login-button:disabled[b-1ekyg37dqb] {
    opacity: 0.8;
    cursor: wait;
}

/* Style du contenu du bouton */
.button-content[b-1ekyg37dqb] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Style du loader */
.loader[b-1ekyg37dqb] {
    width: 20px;
    height: 20px;
    border: 2px solid var(--ed-surface);
    border-radius: 50%;
    background: var(--ed-primary);
    border-top-color: transparent;
    animation: spin-b-1ekyg37dqb 0.8s linear infinite;
}

.loader-container[b-1ekyg37dqb] {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--ed-primary);
}

.loader-wrapper[b-1ekyg37dqb] {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
}

@keyframes spin-b-1ekyg37dqb {
    to {
        transform: rotate(360deg);
    }
}

/* Footer */
.login-footer[b-1ekyg37dqb] {
    margin-top: 2rem;
    text-align: center;
}

/* Lien retour */
.back-to-login[b-1ekyg37dqb] {
    color: var(--primary-color);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 8px;
    transition: var(--transition);
}

.back-to-login:hover[b-1ekyg37dqb] {
    background-color: var(--ed-info-bg);
}

.back-to-login.primary[b-1ekyg37dqb] {
    background: var(--primary-color);
    color: var(--ed-primary-contrast);
}

.back-to-login.primary:hover[b-1ekyg37dqb] {
    background: var(--ed-primary-dark);
}

/* State containers */
.state-container[b-1ekyg37dqb] {
    text-align: center;
    padding: 2rem 1rem;
}

.state-message[b-1ekyg37dqb] {
    color: var(--text-light);
    font-size: 1rem;
    margin: 0;
}

/* Success message */
.success-message[b-1ekyg37dqb] {
    text-align: center;
    padding: 2rem 1rem;
}

.success-message i[b-1ekyg37dqb] {
    font-size: 4rem;
    color: var(--ed-success);
    margin-bottom: 1.5rem;
}

.success-message h3[b-1ekyg37dqb] {
    color: var(--text-color);
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.success-message p[b-1ekyg37dqb] {
    color: var(--text-light);
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

/* Error message box */
.error-message-box[b-1ekyg37dqb] {
    text-align: center;
    padding: 2rem 1rem;
}

.error-message-box i.fa-exclamation-circle[b-1ekyg37dqb] {
    font-size: 4rem;
    color: var(--ed-danger);
    margin-bottom: 1.5rem;
}

.error-message-box i.fa-clock[b-1ekyg37dqb] {
    font-size: 4rem;
    color: var(--ed-warning);
    margin-bottom: 1.5rem;
}

.error-message-box h3[b-1ekyg37dqb] {
    color: var(--text-color);
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.error-message-box p[b-1ekyg37dqb] {
    color: var(--text-light);
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

.error-message-box .back-to-login.primary[b-1ekyg37dqb] {
    display: inline-flex;
    margin-bottom: 1rem;
}

/* Animations */
@keyframes slideIn-b-1ekyg37dqb {
    from {
        opacity: 0;
        transform: translateY(20px) rotateX(-10deg);
    }

    to {
        opacity: 1;
        transform: translateY(0) rotateX(0);
    }
}

/* Media Queries */
@media (max-width: 480px) {
    .login-card[b-1ekyg37dqb] {
        padding: 1.5rem;
        border-radius: 20px;
    }

    .brand-name[b-1ekyg37dqb] {
        font-size: 1.75rem;
    }

    .page-title[b-1ekyg37dqb] {
        font-size: 1.1rem;
    }

    [b-1ekyg37dqb] .styled-input {
        padding: 12px 12px 12px 40px;
        font-size: 0.95rem;
    }

    .login-button[b-1ekyg37dqb] {
        padding: 12px;
    }

    .welcome-section[b-1ekyg37dqb] {
        flex-direction: column;
        text-align: center;
    }
}

@media (min-width: 480px) and (max-width: 1024px) {
    .login-layout[b-1ekyg37dqb] {
        max-width: 480px;
    }

    .login-card[b-1ekyg37dqb] {
        padding: 2rem;
        border-radius: 20px;
    }
}

@media (min-width: 1024px) {
    .login-layout[b-1ekyg37dqb] {
        max-width: 560px;
    }

    .login-card[b-1ekyg37dqb] {
        padding: 3rem;
        border-radius: 20px;
    }

    .brand-name[b-1ekyg37dqb] {
        font-size: 2.25rem;
    }

    [b-1ekyg37dqb] .styled-input {
        padding: 16px 16px 16px 48px;
        font-size: 1rem;
    }

    .login-button[b-1ekyg37dqb] {
        padding: 16px;
    }
}

@media (min-width: 1440px) {
    .login-layout[b-1ekyg37dqb] {
        max-width: 640px;
    }

    .login-card[b-1ekyg37dqb] {
        padding: 4rem;
        border-radius: 20px;
    }

    .brand-name[b-1ekyg37dqb] {
        font-size: 2.5rem;
    }

    .page-title[b-1ekyg37dqb] {
        font-size: 1.5rem;
    }
}

/* Etats d'erreur */
[b-1ekyg37dqb] .styled-input.invalid {
    border-color: var(--ed-danger);
    background-color: var(--ed-danger-bg);
}

[b-1ekyg37dqb] .styled-input.invalid:focus {
    box-shadow: 0 0 0 4px var(--ed-danger-bg);
}

[b-1ekyg37dqb] .styled-input.valid {
    border-color: var(--ed-success);
}

/* Signature produit sous le nom de marque. */
.brand-tagline[b-1ekyg37dqb] {
    color: var(--ed-text-muted);
    font-size: 0.85rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
}
/* /Pages/Bord/TableauDeBord.razor.rz.scp.css */
.ed-cockpit[b-tbm44uz6y6] {
    --cockpit-wash: color-mix(in srgb, var(--ed-primary) 5%, var(--ed-surface));
    padding-bottom: 2rem;
}

.ed-cockpit-loading[b-tbm44uz6y6] {
    min-height: 18rem;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 0.75rem;
    color: var(--ed-text-muted);
}

.ed-cockpit-entete[b-tbm44uz6y6] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
    padding: 0.35rem 0 1.2rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--ed-border);
}

.ed-cockpit-surtitre[b-tbm44uz6y6] {
    display: block;
    color: var(--ed-text-muted);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.105em;
    text-transform: uppercase;
}

.ed-cockpit-entete__titre-ligne[b-tbm44uz6y6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.2rem;
}

.ed-cockpit-entete h1[b-tbm44uz6y6] {
    margin: 0;
    color: var(--ed-text-strong);
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    font-weight: 650;
    letter-spacing: -0.035em;
}

.ed-cockpit-entete__identite p[b-tbm44uz6y6] {
    margin: 0.25rem 0 0;
    color: var(--ed-text-muted);
    font-size: 0.84rem;
}

.ed-cockpit-statut[b-tbm44uz6y6] {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    padding: 0.28rem 0.58rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius-pill);
    background: var(--ed-surface);
    color: var(--ed-text);
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

.ed-cockpit-statut > span[b-tbm44uz6y6] {
    width: 0.48rem;
    height: 0.48rem;
    border-radius: 50%;
    background: var(--ed-text-muted);
}

.ed-cockpit-statut--ouvert > span[b-tbm44uz6y6] { background: var(--ed-success); }
.ed-cockpit-statut--termine > span[b-tbm44uz6y6] { background: var(--ed-primary); }
.ed-cockpit-statut--attente > span[b-tbm44uz6y6] { background: var(--ed-warning); }

.ed-cockpit-entete__commandes[b-tbm44uz6y6] {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.ed-cockpit-controle[b-tbm44uz6y6] {
    display: grid;
    gap: 0.25rem;
    min-width: 9.5rem;
    color: var(--ed-text-muted);
    font-size: 0.7rem;
    font-weight: 650;
}

.ed-cockpit-periode[b-tbm44uz6y6] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    margin-bottom: 1rem;
    border: 1px solid var(--ed-border);
    border-left: 3px solid var(--ed-info);
    border-radius: var(--ed-radius-sm);
    background: var(--ed-info-bg);
    color: var(--ed-info-text);
    font-size: 0.8rem;
}

.ed-cockpit-periode > span[b-tbm44uz6y6] {
    flex: 1;
}

.ed-cockpit-principal[b-tbm44uz6y6] {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(19rem, 0.8fr);
    gap: 1rem;
    align-items: stretch;
}

.ed-cockpit-caisse[b-tbm44uz6y6],
.ed-cockpit-actions[b-tbm44uz6y6],
.ed-cockpit-positions[b-tbm44uz6y6] {
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius-lg);
    background: var(--ed-surface);
}

.ed-cockpit-caisse[b-tbm44uz6y6] {
    position: relative;
    overflow: hidden;
    padding: clamp(1rem, 2.2vw, 1.45rem);
    background:
        linear-gradient(130deg, var(--cockpit-wash), transparent 52%),
        var(--ed-surface);
}

.ed-cockpit-caisse[b-tbm44uz6y6]::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--ed-primary);
}

.ed-cockpit-section-entete[b-tbm44uz6y6] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.ed-cockpit-section-entete h2[b-tbm44uz6y6],
.ed-cockpit-vue h2[b-tbm44uz6y6] {
    margin: 0.2rem 0 0;
    color: var(--ed-text-strong);
    font-size: 1rem;
    font-weight: 650;
}

.ed-cockpit-section-entete__date[b-tbm44uz6y6] {
    color: var(--ed-text-muted);
    font-size: 0.76rem;
}

.ed-cockpit-solde[b-tbm44uz6y6] {
    margin: 0.55rem 0 0.25rem;
    color: var(--ed-text-strong);
    font-size: clamp(2.45rem, 5.4vw, 4rem);
    font-weight: 650;
    line-height: 1;
    letter-spacing: -0.045em;
}

.ed-cockpit-solde--negatif[b-tbm44uz6y6] { color: var(--ed-danger-text); }

.ed-cockpit-caisse__note[b-tbm44uz6y6] {
    max-width: 65ch;
    margin: 0;
    color: var(--ed-text-muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.ed-cockpit-fil[b-tbm44uz6y6] {
    margin-top: 1.15rem;
}

.ed-cockpit-fil[b-tbm44uz6y6]  .ed-viz {
    margin-bottom: 0;
    border: 0;
    border-top: 1px solid var(--ed-border);
    border-radius: 0;
    padding: 1rem 0 0;
    background: transparent;
}

.ed-cockpit-caisse__vide[b-tbm44uz6y6] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 7rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px dashed var(--ed-border-strong);
    border-radius: var(--ed-radius);
    color: var(--ed-text-muted);
    background: var(--ed-surface-alt);
    font-size: 0.84rem;
}

.ed-cockpit-caisse__actions[b-tbm44uz6y6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.9rem;
}

.ed-cockpit-actions[b-tbm44uz6y6] {
    padding: 1rem;
}

.ed-cockpit-compteur[b-tbm44uz6y6] {
    display: grid;
    place-items: center;
    min-width: 1.7rem;
    height: 1.7rem;
    padding-inline: 0.35rem;
    border-radius: var(--ed-radius-pill);
    background: var(--ed-warning-bg);
    color: var(--ed-warning-text);
    font-size: 0.76rem;
    font-weight: 700;
}

.ed-cockpit-actions__liste[b-tbm44uz6y6] {
    display: grid;
    gap: 0.3rem;
    margin-top: 0.75rem;
}

.ed-cockpit-action[b-tbm44uz6y6] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0.68rem 0.55rem;
    border-radius: var(--ed-radius-sm);
    color: var(--ed-text);
    text-decoration: none;
    transition: background-color 120ms ease, transform 120ms ease;
}

.ed-cockpit-action:hover[b-tbm44uz6y6],
.ed-cockpit-action:focus-visible[b-tbm44uz6y6] {
    background: var(--ed-surface-alt);
    color: var(--ed-primary);
    text-decoration: none;
    transform: translateX(2px);
}

.ed-cockpit-action--prioritaire[b-tbm44uz6y6] {
    background: var(--ed-warning-bg);
}

.ed-cockpit-action__icone[b-tbm44uz6y6] {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius-sm);
    background: var(--ed-surface);
    color: var(--ed-primary);
}

.ed-cockpit-action strong[b-tbm44uz6y6],
.ed-cockpit-action small[b-tbm44uz6y6] {
    display: block;
}

.ed-cockpit-action strong[b-tbm44uz6y6] {
    color: var(--ed-text-strong);
    font-size: 0.8rem;
}

.ed-cockpit-action small[b-tbm44uz6y6] {
    margin-top: 0.08rem;
    color: var(--ed-text-muted);
    font-size: 0.7rem;
    line-height: 1.35;
}

.ed-cockpit-actions__vide[b-tbm44uz6y6] {
    min-height: 12rem;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 0.2rem;
    color: var(--ed-success-text);
    text-align: center;
}

.ed-cockpit-actions__vide span[b-tbm44uz6y6] {
    color: var(--ed-text-muted);
    font-size: 0.76rem;
}

.ed-cockpit-flux[b-tbm44uz6y6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
    gap: 0;
    margin: 1rem 0 1.5rem;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius-lg);
    overflow: hidden;
    background: var(--ed-surface);
}

.ed-cockpit-flux-carte[b-tbm44uz6y6] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 13.5rem;
    padding: 1rem;
}

.ed-cockpit-flux-carte[b-tbm44uz6y6]::before {
    content: "";
    position: absolute;
    inset: 0.75rem auto 0.75rem 0;
    width: 2px;
    background: var(--ed-border-strong);
}

.ed-cockpit-flux-carte:first-child[b-tbm44uz6y6]::before { display: none; }
.ed-cockpit-flux-carte--disponible[b-tbm44uz6y6]::after { background: var(--ed-success); }
.ed-cockpit-flux-carte--attente[b-tbm44uz6y6]::after { background: var(--ed-info); }
.ed-cockpit-flux-carte--engage[b-tbm44uz6y6]::after { background: var(--ed-warning); }
.ed-cockpit-flux-carte--resultat[b-tbm44uz6y6]::after { background: var(--ed-primary); }

.ed-cockpit-flux-carte[b-tbm44uz6y6]::after {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
}

.ed-cockpit-flux-carte > strong[b-tbm44uz6y6] {
    margin-top: 0.65rem;
    color: var(--ed-text-strong);
    font-size: clamp(1.35rem, 2.2vw, 1.8rem);
    font-weight: 650;
    letter-spacing: -0.025em;
}

.ed-cockpit-flux-carte > span:not(.ed-cockpit-surtitre)[b-tbm44uz6y6] {
    color: var(--ed-text-muted);
    font-size: 0.75rem;
    line-height: 1.4;
}

.ed-cockpit-flux-carte__secondaire[b-tbm44uz6y6] {
    display: grid;
    gap: 0.05rem;
    margin-top: 0.8rem;
    padding-top: 0.7rem;
    border-top: 1px solid var(--ed-border);
}

.ed-cockpit-flux-carte__secondaire b[b-tbm44uz6y6] { font-size: 0.85rem; }
.ed-cockpit-flux-carte__secondaire span[b-tbm44uz6y6] { color: var(--ed-text-muted); font-size: 0.7rem; }

.ed-cockpit-flux-carte > a[b-tbm44uz6y6] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-top: auto;
    padding-top: 0.75rem;
    color: var(--ed-primary);
    font-size: 0.75rem;
    font-weight: 650;
    text-decoration: none;
}

.ed-cockpit-vue[b-tbm44uz6y6] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.ed-cockpit-analyse[b-tbm44uz6y6] {
    display: grid;
    grid-template-columns: minmax(19rem, 0.85fr) minmax(0, 1.25fr);
    gap: 1rem;
    align-items: stretch;
}

.ed-cockpit-analyse[b-tbm44uz6y6]  .ed-viz {
    height: 100%;
    margin-bottom: 1rem;
}

.ed-cockpit-positions[b-tbm44uz6y6] {
    padding: 1rem;
    margin-bottom: 1rem;
}

.ed-cockpit-positions .ed-cockpit-section-entete > strong[b-tbm44uz6y6] {
    color: var(--ed-text-strong);
    font-size: 0.95rem;
}

.ed-cockpit-positions__liste[b-tbm44uz6y6] {
    list-style: none;
    margin: 0.75rem 0 0;
    padding: 0;
}

.ed-cockpit-positions__liste li[b-tbm44uz6y6] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.7rem;
    padding: 0.62rem 0;
    border-top: 1px solid var(--ed-border);
}

.ed-cockpit-devise[b-tbm44uz6y6] {
    display: grid;
    place-items: center;
    min-width: 2.8rem;
    height: 1.8rem;
    padding-inline: 0.45rem;
    border-radius: var(--ed-radius-sm);
    background: var(--ed-surface-alt);
    color: var(--ed-primary);
    font-size: 0.72rem;
    font-weight: 750;
}

.ed-cockpit-positions__liste strong[b-tbm44uz6y6],
.ed-cockpit-positions__liste small[b-tbm44uz6y6] { display: block; }
.ed-cockpit-positions__liste strong[b-tbm44uz6y6] { color: var(--ed-text-strong); font-size: 0.78rem; }
.ed-cockpit-positions__liste small[b-tbm44uz6y6] { color: var(--ed-text-muted); font-size: 0.67rem; }
.ed-cockpit-positions__liste b[b-tbm44uz6y6] { font-size: 0.77rem; font-variant-numeric: tabular-nums; }
.ed-cockpit-positions__vide[b-tbm44uz6y6] { color: var(--ed-text-muted); font-size: 0.8rem; }

@media (max-width: 1050px) {
    .ed-cockpit-entete[b-tbm44uz6y6] { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .ed-cockpit-entete__commandes[b-tbm44uz6y6] { justify-content: flex-start; }
    .ed-cockpit-principal[b-tbm44uz6y6] { grid-template-columns: 1fr; }
    .ed-cockpit-analyse[b-tbm44uz6y6] { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .ed-cockpit-entete__commandes[b-tbm44uz6y6],
    .ed-cockpit-controle[b-tbm44uz6y6] { width: 100%; }

    .ed-cockpit-controle[b-tbm44uz6y6]  .rz-dropdown,
    .ed-cockpit-controle[b-tbm44uz6y6]  .rz-datepicker { width: 100% !important; }

    .ed-cockpit-periode[b-tbm44uz6y6] { align-items: flex-start; flex-wrap: wrap; }
    .ed-cockpit-periode[b-tbm44uz6y6]  .rz-button { width: 100%; }

    .ed-cockpit-flux[b-tbm44uz6y6] { grid-template-columns: 1fr; }
    .ed-cockpit-flux-carte[b-tbm44uz6y6] { min-height: 11.5rem; border-top: 1px solid var(--ed-border); }
    .ed-cockpit-flux-carte:first-child[b-tbm44uz6y6] { border-top: 0; }
    .ed-cockpit-flux-carte[b-tbm44uz6y6]::before { display: none; }

    .ed-cockpit-vue[b-tbm44uz6y6] { align-items: flex-start; flex-direction: column; }
    .ed-cockpit-solde[b-tbm44uz6y6] { font-size: clamp(2.1rem, 11vw, 3rem); }
}

@media (prefers-reduced-motion: reduce) {
    .ed-cockpit-action[b-tbm44uz6y6] { transition: none; }
    .ed-cockpit-action:hover[b-tbm44uz6y6],
    .ed-cockpit-action:focus-visible[b-tbm44uz6y6] { transform: none; }
}
/* /Pages/Dashboard.razor.rz.scp.css */
/* Toutes les couleurs viennent des jetons de wwwroot/css/theme.css. */

.ed-dashboard-hero[b-x7uzci374j] {
    background: var(--ed-login-bg);
    color: var(--ed-primary-contrast);
    border-radius: var(--ed-radius-lg);
}

.ed-dashboard-tile[b-x7uzci374j] {
    height: 100%;
    cursor: pointer;
    border: 1px solid var(--ed-border);
    border-radius: var(--ed-radius);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.ed-dashboard-tile:hover[b-x7uzci374j] {
    box-shadow: var(--ed-shadow-lg);
    transform: translateY(-2px);
}

.ed-dashboard-tile-icon[b-x7uzci374j] {
    font-size: 2.25rem;
    color: var(--ed-accent);
}
/* /Pages/Exercice/CreateExercice.razor.rz.scp.css */
:root[b-q4nb44tzys] {
    /* Couleurs */
    --color-white: var(--ed-surface);
    --color-background: var(--ed-surface-alt);
    --color-primary: var(--ed-text-strong);
    --color-primary-light: var(--ed-border);
    --color-accent: var(--ed-info);
    --color-accent-light: var(--ed-info-bg);
    --color-text: var(--ed-text);
    --color-text-light: var(--ed-text-muted);
    --color-border: var(--ed-border);
    --color-error: var(--ed-danger);
    /* Espacements */
    --spacing-xs: 0.5rem;
    --spacing-sm: 0.75rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    /* Ombres */
    --shadow-sm: var(--ed-shadow-sm);
    --shadow-md: var(--ed-shadow);
    /* Bordures */
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
}

.main-container[b-q4nb44tzys] {
    padding: 1rem;
    background-color: var(--ed-surface);
    min-height: 100%;
    box-shadow: var(--shadow-md);
}

.content-card[b-q4nb44tzys] {
    background: var(--ed-surface);
    border-radius: 8px;
    max-width: 1400px;
    margin: 0 auto;
}

.page-header[b-q4nb44tzys] {
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border);
}

.page-title[b-q4nb44tzys] {
    font-size: 24px;
    font-weight: 600;
    color: var(--primary);
}

.form-layout[b-q4nb44tzys] {
    display: grid;
    gap: 2rem;
}

.form-section[b-q4nb44tzys] {
    background-color: var(--ed-surface-alt);
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.form-grid[b-q4nb44tzys] {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Trois colonnes par défaut pour les grands écrans */
    gap: 1.5rem;
}

.form-field[b-q4nb44tzys] {
    /* Cette classe existe dans le HTML */
}

[b-q4nb44tzys] .custom-input {
    border: 1px solid var(--ed-border);
    border-radius: 4px;
    font-size: 1rem;
}

[b-q4nb44tzys] .custom-radio {
    display: flex;
    gap: 10px;
}



.button-group[b-q4nb44tzys] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ed-border);
}

.custom-button[b-q4nb44tzys] {
    padding: 10px 20px;
    font-size: 1rem;
    border-radius: 4px;
}

.cancel-button[b-q4nb44tzys] {
    background-color: var(--ed-surface-alt);
    color: var(--ed-text);
}

[b-q4nb44tzys] .required-label::after {
    content: " *";
    font-weight: bold;
    color: var(--ed-danger);
    margin-left: 2px;
}

.autocomplete-container[b-q4nb44tzys] {
    position: relative;
}

.no-results-message[b-q4nb44tzys] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--ed-surface);
    padding: 0.75rem;
    border: 1px solid var(--color-border);
    border-top: none;
    border-radius: 0 0 4px 4px;
    box-shadow: var(--ed-shadow-sm);
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-text-light);
    font-size: 0.875rem;
}

.no-results-message i[b-q4nb44tzys] {
    color: var(--color-text-light);
    font-size: 1rem;
}

[b-q4nb44tzys] .rz-autocomplete:focus {
    box-shadow: 0 0 0 2px var(--color-accent-light);
}

[b-q4nb44tzys] .rz-autocomplete {
    width: 100%;
}

[b-q4nb44tzys] .rz-autocomplete-loading {
    background-color: var(--color-background);
}


.submit-button[b-q4nb44tzys] {
    position: relative;
    min-width: 120px;
}
/* Conteneur des boutons d'action */
.button-group[b-q4nb44tzys] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    border-top: 1px solid var(--color-border);
    background: var(--ed-surface);
    border-radius: 0 0 8px 8px;
}

/* Style de base pour tous les boutons */
[b-q4nb44tzys] .custom-button {
    min-width: 130px;
    height: 42px;
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    border-radius: 6px;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0 1.5rem;
    position: relative;
    overflow: hidden;
}

/* Style pour le bouton de retour/annulation */
[b-q4nb44tzys] .cancel-button {
    background-color: var(--ed-surface-alt);
    color: var(--ed-text-muted);
    border: 1px solid var(--ed-border);
}

[b-q4nb44tzys] .cancel-button:hover {
    background-color: var(--ed-surface-alt);
    border-color: var(--ed-border-strong);
    transform: translateY(-1px);
}

[b-q4nb44tzys] .cancel-button:active {
    transform: translateY(0);
}

/* Style pour le bouton primaire */
[b-q4nb44tzys] .rz-button-primary {
    background: var(--ed-info);
    border: none;
    color: var(--ed-primary-contrast);
    box-shadow: var(--ed-shadow-sm);
}

[b-q4nb44tzys] .rz-button-primary:hover {
    background: var(--ed-info-text);
    transform: translateY(-1px);
    box-shadow: var(--ed-shadow);
}

[b-q4nb44tzys] .rz-button-primary:active {
    transform: translateY(0);
    box-shadow: var(--ed-shadow-sm);
}

/* Style pour l'état désactivé */
[b-q4nb44tzys] .custom-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

/* Effet de focus */
[b-q4nb44tzys] .custom-button:focus {
    outline: none;
    box-shadow: 0 0 0 3px var(--ed-info-bg);
}

[b-q4nb44tzys] .cancel-button:focus {
    box-shadow: 0 0 0 3px var(--ed-surface-sunken);
}

/* Media Queries */
@media (max-width: 768px) {
    .button-group[b-q4nb44tzys] {
        flex-direction: column-reverse;
        padding: 1rem;
        gap: 0.75rem;
    }

    [b-q4nb44tzys] .custom-button {
        width: 100%;
        height: 44px;
        min-width: unset;
    }
}

@media (max-width: 480px) {
    .button-group[b-q4nb44tzys] {
        padding: 0.75rem;
    }

    [b-q4nb44tzys] .custom-button {
        height: 40px;
        font-size: 0.875rem;
    }
}

.submit-button-content[b-q4nb44tzys] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.button-spinner[b-q4nb44tzys] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid var(--ed-surface);
    border-radius: 50%;
    border-top-color: transparent;
    animation: button-spin-b-q4nb44tzys 0.8s linear infinite;
}

@keyframes button-spin-b-q4nb44tzys {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Écrans moyens */
@media (max-width: 1200px) {
    .form-grid[b-q4nb44tzys] {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Petits écrans */
@media (max-width: 768px) {
    .content-card[b-q4nb44tzys] {
        padding: 1rem;
    }

    .form-grid[b-q4nb44tzys] {
        grid-template-columns: 1fr;
    }

    .button-group[b-q4nb44tzys] {
        flex-direction: column-reverse;
    }

        .button-group :global(.rz-button)[b-q4nb44tzys] {
            width: 100%;
        }
}

@media (max-width: 480px) {
    .main-container[b-q4nb44tzys] {
        padding: 0.5rem;
    }

    .page-header[b-q4nb44tzys] {
        margin-bottom: 1rem;
    }

    .form-section[b-q4nb44tzys] {
        padding: 1rem;
    }
}
/* /Pages/Exercice/EditExercice.razor.rz.scp.css */
:root[b-jsbpt07yvc] {
    /* Couleurs */
    --color-white: var(--ed-surface);
    --color-background: var(--ed-surface-alt);
    --color-primary: var(--ed-text-strong);
    --color-primary-light: var(--ed-border);
    --color-accent: var(--ed-info);
    --color-accent-light: var(--ed-info-bg);
    --color-text: var(--ed-text);
    --color-text-light: var(--ed-text-muted);
    --color-border: var(--ed-border);
    --color-error: var(--ed-danger);
    /* Espacements */
    --spacing-xs: 0.5rem;
    --spacing-sm: 0.75rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    /* Ombres */
    --shadow-sm: var(--ed-shadow-sm);
    --shadow-md: var(--ed-shadow);
    /* Bordures */
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
}

.main-container[b-jsbpt07yvc] {
    padding: 1rem;
    background-color: var(--ed-surface);
    min-height: 100%;
    box-shadow: var(--shadow-md);
}

.content-card[b-jsbpt07yvc] {
    background: var(--ed-surface);
    border-radius: 8px;
    max-width: 1400px;
    margin: 0 auto;
}

.page-header[b-jsbpt07yvc] {
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border);
}

.page-title[b-jsbpt07yvc] {
    font-size: 24px;
    font-weight: 600;
    color: var(--primary);
}

.form-layout[b-jsbpt07yvc] {
    display: grid;
    gap: 2rem;
}

.form-section[b-jsbpt07yvc] {
    background-color: var(--ed-surface-alt);
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.form-grid[b-jsbpt07yvc] {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Trois colonnes par défaut pour les grands écrans */
    gap: 1.5rem;
}

.form-field[b-jsbpt07yvc] {
    /* Cette classe existe dans le HTML */
}

[b-jsbpt07yvc] .custom-input {
    border: 1px solid var(--ed-border);
    border-radius: 4px;
    font-size: 1rem;
}

[b-jsbpt07yvc] .custom-radio {
    display: flex;
    gap: 10px;
}



.button-group[b-jsbpt07yvc] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ed-border);
}

.custom-button[b-jsbpt07yvc] {
    padding: 10px 20px;
    font-size: 1rem;
    border-radius: 4px;
}

.cancel-button[b-jsbpt07yvc] {
    background-color: var(--ed-surface-alt);
    color: var(--ed-text);
}

[b-jsbpt07yvc] .required-label::after {
    content: " *";
    font-weight: bold;
    color: var(--ed-danger);
    margin-left: 2px;
}

.autocomplete-container[b-jsbpt07yvc] {
    position: relative;
}

.no-results-message[b-jsbpt07yvc] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--ed-surface);
    padding: 0.75rem;
    border: 1px solid var(--color-border);
    border-top: none;
    border-radius: 0 0 4px 4px;
    box-shadow: var(--ed-shadow-sm);
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-text-light);
    font-size: 0.875rem;
}

    .no-results-message i[b-jsbpt07yvc] {
        color: var(--color-text-light);
        font-size: 1rem;
    }

[b-jsbpt07yvc] .rz-autocomplete:focus {
    box-shadow: 0 0 0 2px var(--color-accent-light);
}

[b-jsbpt07yvc] .rz-autocomplete {
    width: 100%;
}

[b-jsbpt07yvc] .rz-autocomplete-loading {
    background-color: var(--color-background);
}


.submit-button[b-jsbpt07yvc] {
    position: relative;
    min-width: 120px;
}
/* Conteneur des boutons d'action */
.button-group[b-jsbpt07yvc] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    border-top: 1px solid var(--color-border);
    background: var(--ed-surface);
    border-radius: 0 0 8px 8px;
}

/* Style de base pour tous les boutons */
[b-jsbpt07yvc] .custom-button {
    min-width: 130px;
    height: 42px;
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    border-radius: 6px;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0 1.5rem;
    position: relative;
    overflow: hidden;
}

/* Style pour le bouton de retour/annulation */
[b-jsbpt07yvc] .cancel-button {
    background-color: var(--ed-surface-alt);
    color: var(--ed-text-muted);
    border: 1px solid var(--ed-border);
}

[b-jsbpt07yvc] .cancel-button:hover {
    background-color: var(--ed-surface-alt);
    border-color: var(--ed-border-strong);
    transform: translateY(-1px);
}

[b-jsbpt07yvc] .cancel-button:active {
    transform: translateY(0);
}

/* Style pour le bouton primaire */
[b-jsbpt07yvc] .rz-button-primary {
    background: var(--ed-info);
    border: none;
    color: var(--ed-primary-contrast);
    box-shadow: var(--ed-shadow-sm);
}

[b-jsbpt07yvc] .rz-button-primary:hover {
    background: var(--ed-info-text);
    transform: translateY(-1px);
    box-shadow: var(--ed-shadow);
}

[b-jsbpt07yvc] .rz-button-primary:active {
    transform: translateY(0);
    box-shadow: var(--ed-shadow-sm);
}

/* Style pour l'état désactivé */
[b-jsbpt07yvc] .custom-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

/* Effet de focus */
[b-jsbpt07yvc] .custom-button:focus {
    outline: none;
    box-shadow: 0 0 0 3px var(--ed-info-bg);
}

[b-jsbpt07yvc] .cancel-button:focus {
    box-shadow: 0 0 0 3px var(--ed-surface-sunken);
}

/* Media Queries */
@media (max-width: 768px) {
    .button-group[b-jsbpt07yvc] {
        flex-direction: column-reverse;
        padding: 1rem;
        gap: 0.75rem;
    }

    [b-jsbpt07yvc] .custom-button {
        width: 100%;
        height: 44px;
        min-width: unset;
    }
}

@media (max-width: 480px) {
    .button-group[b-jsbpt07yvc] {
        padding: 0.75rem;
    }

    [b-jsbpt07yvc] .custom-button {
        height: 40px;
        font-size: 0.875rem;
    }
}

.submit-button-content[b-jsbpt07yvc] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.button-spinner[b-jsbpt07yvc] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid var(--ed-surface);
    border-radius: 50%;
    border-top-color: transparent;
    animation: button-spin-b-jsbpt07yvc 0.8s linear infinite;
}

@keyframes button-spin-b-jsbpt07yvc {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Écrans moyens */
@media (max-width: 1200px) {
    .form-grid[b-jsbpt07yvc] {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Petits écrans */
@media (max-width: 768px) {
    .content-card[b-jsbpt07yvc] {
        padding: 1rem;
    }

    .form-grid[b-jsbpt07yvc] {
        grid-template-columns: 1fr;
    }

    .button-group[b-jsbpt07yvc] {
        flex-direction: column-reverse;
    }

        .button-group :global(.rz-button)[b-jsbpt07yvc] {
            width: 100%;
        }
}

@media (max-width: 480px) {
    .main-container[b-jsbpt07yvc] {
        padding: 0.5rem;
    }

    .page-header[b-jsbpt07yvc] {
        margin-bottom: 1rem;
    }

    .form-section[b-jsbpt07yvc] {
        padding: 1rem;
    }
}
/* /Pages/Exercice/ExercicePage.razor.rz.scp.css */
body[b-pvrxowr819] {
}
/* /Pages/NotFound.razor.rz.scp.css */
/* Variables et Reset */
:root[b-dnfpytob9k] {
    --primary-color: var(--ed-primary);
    --primary-light: var(--ed-primary-light);
    --primary-dark: var(--ed-primary-dark);
    --text-color: var(--ed-text);
    --text-light: var(--ed-text-muted);
    --background-light: var(--ed-surface-alt);
    --border-color: var(--ed-border);
    --white: var(--ed-surface);
    --shadow: var(--ed-shadow);
    --radius: 30px;
    --radius-input: 15px;
    --transition: all 0.3s ease;
}

*[b-dnfpytob9k] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Container Principal */
.login-container[b-dnfpytob9k] {
    min-height: 100vh;
    width: 100%;
    /* Meme jeton de charte que LoginLayout : l'image de fond referencee ici n'a jamais existe
       dans wwwroot, et chaque affichage de la page demandait au navigateur un fichier absent. */
    background: var(--ed-login-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    perspective: 1000px;
}

/* Layout Principal */
.login-layout[b-dnfpytob9k] {
    width: 100%;
    max-width: 440px;
    position: relative;
    transform-style: preserve-3d;
    transition: var(--transition);
}

/* Carte de Login */
.login-card[b-dnfpytob9k] {
    background: var(--ed-surface);
    border-radius: var(--radius);
    padding: 2.5rem;
    width: 100%;
    box-shadow: var(--ed-shadow-lg);
    position: relative;
    overflow: hidden;
    transition: var(--transition);
    animation: slideIn-b-dnfpytob9k 0.6s ease-out forwards;
}

/* Header */
.login-header[b-dnfpytob9k] {
    text-align: center;
    margin-bottom: 2rem;
}

.brand-name[b-dnfpytob9k] {
    color: var(--primary-color);
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    letter-spacing: -0.5px;
}

.page-title[b-dnfpytob9k] {
    color: var(--primary-color);
    font-size: 1.25rem;
    opacity: 0.9;
}

/* Not Found Content */
.not-found-content[b-dnfpytob9k] {
    text-align: center;
    padding: 1.5rem 0;
}

.not-found-icon[b-dnfpytob9k] {
    margin-bottom: 1rem;
}

.not-found-icon i[b-dnfpytob9k] {
    font-size: 4rem;
    color: var(--primary-light);
    opacity: 0.8;
}

.error-code[b-dnfpytob9k] {
    font-size: 5rem;
    font-weight: 700;
    color: var(--primary-color);
    line-height: 1;
    margin-bottom: 1rem;
    opacity: 0.15;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
}

.not-found-message[b-dnfpytob9k] {
    color: var(--text-light);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
    position: relative;
    z-index: 1;
}

/* Actions */
.not-found-actions[b-dnfpytob9k] {
    margin-top: 2rem;
}

/* Bouton */
.login-button[b-dnfpytob9k] {
    width: 100%;
    background: var(--ed-primary);
    color: var(--white);
    border: none;
    border-radius: 8px;
    padding: 16px;
    font-size: 1rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    box-shadow: none;
    color: var(--ed-surface);
}

.login-button i[b-dnfpytob9k] {
    font-size: 1.25rem;
    margin-right: 4px;
}

.login-button:hover[b-dnfpytob9k] {
    background: var(--ed-primary-dark);
}

/* Style du contenu du bouton */
.button-content[b-dnfpytob9k] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Footer */
.login-footer[b-dnfpytob9k] {
    margin-top: 2rem;
    text-align: center;
}

/* Lien retour */
.back-link[b-dnfpytob9k] {
    color: var(--primary-color);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 8px;
    transition: var(--transition);
}

.back-link:hover[b-dnfpytob9k] {
    background-color: var(--ed-info-bg);
}

/* Animations */
@keyframes slideIn-b-dnfpytob9k {
    from {
        opacity: 0;
        transform: translateY(20px) rotateX(-10deg);
    }

    to {
        opacity: 1;
        transform: translateY(0) rotateX(0);
    }
}

/* Media Queries */
@media (max-width: 480px) {
    .login-card[b-dnfpytob9k] {
        padding: 1.5rem;
        border-radius: 20px;
    }

    .brand-name[b-dnfpytob9k] {
        font-size: 1.75rem;
    }

    .page-title[b-dnfpytob9k] {
        font-size: 1.1rem;
    }

    .not-found-icon i[b-dnfpytob9k] {
        font-size: 3rem;
    }

    .error-code[b-dnfpytob9k] {
        font-size: 4rem;
    }

    .login-button[b-dnfpytob9k] {
        padding: 12px;
    }
}

@media (min-width: 480px) and (max-width: 1024px) {
    .login-layout[b-dnfpytob9k] {
        max-width: 480px;
    }

    .login-card[b-dnfpytob9k] {
        padding: 2rem;
        border-radius: 20px;
    }
}

@media (min-width: 1024px) {
    .login-layout[b-dnfpytob9k] {
        max-width: 560px;
    }

    .login-card[b-dnfpytob9k] {
        padding: 3rem;
        border-radius: 20px;
    }

    .brand-name[b-dnfpytob9k] {
        font-size: 2.25rem;
    }

    .login-button[b-dnfpytob9k] {
        padding: 16px;
    }
}

@media (min-width: 1440px) {
    .login-layout[b-dnfpytob9k] {
        max-width: 640px;
    }

    .login-card[b-dnfpytob9k] {
        padding: 4rem;
        border-radius: 20px;
    }

    .brand-name[b-dnfpytob9k] {
        font-size: 2.5rem;
    }

    .page-title[b-dnfpytob9k] {
        font-size: 1.5rem;
    }
}

/* Signature produit sous le nom de marque. */
.brand-tagline[b-dnfpytob9k] {
    color: var(--ed-text-muted);
    font-size: 0.85rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
}
/* /Pages/Users/CreateUser.razor.rz.scp.css */
:root[b-q7x8da2vnt] {
    /* Couleurs */
    --color-white: var(--ed-surface);
    --color-background: var(--ed-surface-alt);
    --color-primary: var(--ed-text-strong);
    --color-primary-light: var(--ed-border);
    --color-accent: var(--ed-info);
    --color-accent-light: var(--ed-info-bg);
    --color-text: var(--ed-text);
    --color-text-light: var(--ed-text-muted);
    --color-border: var(--ed-border);
    --color-error: var(--ed-danger);
    /* Espacements */
    --spacing-xs: 0.5rem;
    --spacing-sm: 0.75rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    /* Ombres */
    --shadow-sm: var(--ed-shadow-sm);
    --shadow-md: var(--ed-shadow);
    /* Bordures */
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --primary: var(--ed-text-strong);
    --primary-light: var(--ed-surface-alt);
    --accent: var(--ed-info);
    --white: var(--ed-surface);
    --border: var(--ed-border);
    --error: var(--ed-danger);
    --text: var(--ed-text);
}

.page-header[b-q7x8da2vnt] {
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border);
}

.submit-button[b-q7x8da2vnt] {
    position: relative;
    min-width: 120px;
}
[b-q7x8da2vnt] .custom-button {
    min-width: 130px;
    height: 42px;
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    border-radius: 6px;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0 1.5rem;
    position: relative;
    overflow: hidden;
}

[b-q7x8da2vnt] .cancel-button {
    background-color: var(--ed-surface-alt);
    color: var(--ed-text-muted);
    border: 1px solid var(--ed-border);
}

[b-q7x8da2vnt] .cancel-button:hover {
    background-color: var(--ed-surface-alt);
    border-color: var(--ed-border-strong);
    transform: translateY(-1px);
}

[b-q7x8da2vnt] .cancel-button:active {
    transform: translateY(0);
}

[b-q7x8da2vnt] .required-label::after {
    content: " *";
    font-weight: bold;
    color: var(--ed-danger);
    margin-left: 2px;
}
[b-q7x8da2vnt] .rz-tabview {
    border: none;
    background-color: transparent;
}

[b-q7x8da2vnt] .rz-tabview-nav {
    border: none;
    background-color: transparent;
    padding: 0 1rem;
    margin-bottom: 1rem;
}

[b-q7x8da2vnt] .rz-tabview-nav li {
    margin-right: 0.5rem;
}

[b-q7x8da2vnt] .rz-tabview-nav li a {
    border-radius: 8px;
    padding: 0.75rem 1.5rem;
    font-weight: 500;
    border: 1px solid var(--ed-border);
    background-color: var(--ed-surface-alt);
    color: var(--ed-text-muted);
    transition: all 0.2s ease-in-out;
}

[b-q7x8da2vnt] .rz-tabview-nav li:not(.rz-state-active) a:hover {
    background-color: var(--ed-surface-sunken);
    border-color: var(--ed-border);
}

[b-q7x8da2vnt] .rz-tabview-nav li.rz-state-active a {
    background-color: var(--rz-primary);
    color: var(--ed-primary-contrast);
    border-color: var(--rz-primary);
    box-shadow: var(--ed-shadow-sm);
}

[b-q7x8da2vnt] .rz-tabview-panels {
    border: 1px solid var(--ed-border);
    border-radius: 8px;
    background-color: var(--ed-surface);
    box-shadow: var(--ed-shadow-sm);
}

/* Style pour les sections de contenu */
[b-q7x8da2vnt] .tab-content-section {
    padding: 1.5rem;
}

/* Style pour les icônes des onglets */
[b-q7x8da2vnt] .tab-icon {
    margin-right: 0.5rem;
    font-size: 1.1rem;
    vertical-align: middle;
}

/* Animation de transition */
[b-q7x8da2vnt] .rz-tabview-panels {
    transition: all 0.3s ease-in-out;
}

/* Style pour le bouton primaire */
[b-q7x8da2vnt] .rz-button-primary {
    background: var(--ed-primary);
    border: none;
    color: var(--ed-primary-contrast);
    box-shadow: var(--ed-shadow-sm);
}

[b-q7x8da2vnt] .rz-button-primary:hover {
    background: var(--ed-primary-light);
    transform: translateY(-1px);
    box-shadow: var(--ed-shadow);
}

[b-q7x8da2vnt] .rz-button-primary:active {
    transform: translateY(0);
    box-shadow: var(--ed-shadow-sm);
}


[b-q7x8da2vnt] .custom-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}


[b-q7x8da2vnt] .custom-button:focus {
    outline: none;
    box-shadow: 0 0 0 3px var(--ed-info-bg);
}

[b-q7x8da2vnt] .cancel-button:focus {
    box-shadow: 0 0 0 3px var(--ed-surface-sunken);
}
/* /Pages/Users/EditUser.razor.rz.scp.css */
:root[b-7t7fe5yrgc] {
    /* Couleurs */
    --color-white: var(--ed-surface);
    --color-background: var(--ed-surface-alt);
    --color-primary: var(--ed-text-strong);
    --color-primary-light: var(--ed-border);
    --color-accent: var(--ed-info);
    --color-accent-light: var(--ed-info-bg);
    --color-text: var(--ed-text);
    --color-text-light: var(--ed-text-muted);
    --color-border: var(--ed-border);
    --color-error: var(--ed-danger);
    --color-warning: var(--ed-warning);
    --color-success: var(--ed-success);
    /* Espacements */
    --spacing-xs: 0.5rem;
    --spacing-sm: 0.75rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    /* Ombres */
    --shadow-sm: var(--ed-shadow-sm);
    --shadow-md: var(--ed-shadow);
    /* Bordures */
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --primary: var(--ed-text-strong);
    --primary-light: var(--ed-surface-alt);
    --accent: var(--ed-info);
    --white: var(--ed-surface);
    --border: var(--ed-border);
    --error: var(--ed-danger);
    --text: var(--ed-text);
}

.page-header[b-7t7fe5yrgc] {
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border);
}

.submit-button[b-7t7fe5yrgc] {
    position: relative;
    min-width: 120px;
}

[b-7t7fe5yrgc] .custom-button {
    min-width: 130px;
    height: 42px;
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    border-radius: 6px;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0 1.5rem;
    position: relative;
    overflow: hidden;
}

[b-7t7fe5yrgc] .cancel-button {
    background-color: var(--ed-surface-alt);
    color: var(--ed-text-muted);
    border: 1px solid var(--ed-border);
}

[b-7t7fe5yrgc] .cancel-button:hover {
    background-color: var(--ed-surface-alt);
    border-color: var(--ed-border-strong);
    transform: translateY(-1px);
}

[b-7t7fe5yrgc] .cancel-button:active {
    transform: translateY(0);
}

[b-7t7fe5yrgc] .required-label::after {
    content: " *";
    font-weight: bold;
    color: var(--ed-danger);
    margin-left: 2px;
}

[b-7t7fe5yrgc] .rz-tabview {
    border: none;
    background-color: transparent;
}

[b-7t7fe5yrgc] .rz-tabview-nav {
    border: none;
    background-color: transparent;
    padding: 0 1rem;
    margin-bottom: 1rem;
}

[b-7t7fe5yrgc] .rz-tabview-nav li {
    margin-right: 0.5rem;
}

[b-7t7fe5yrgc] .rz-tabview-nav li a {
    border-radius: 8px;
    padding: 0.75rem 1.5rem;
    font-weight: 500;
    border: 1px solid var(--ed-border);
    background-color: var(--ed-surface-alt);
    color: var(--ed-text-muted);
    transition: all 0.2s ease-in-out;
}

[b-7t7fe5yrgc] .rz-tabview-nav li:not(.rz-state-active) a:hover {
    background-color: var(--ed-surface-sunken);
    border-color: var(--ed-border);
}

[b-7t7fe5yrgc] .rz-tabview-nav li.rz-state-active a {
    background-color: var(--rz-primary);
    color: var(--ed-primary-contrast);
    border-color: var(--rz-primary);
    box-shadow: var(--ed-shadow-sm);
}

[b-7t7fe5yrgc] .rz-tabview-panels {
    border: 1px solid var(--ed-border);
    border-radius: 8px;
    background-color: var(--ed-surface);
    box-shadow: var(--ed-shadow-sm);
}

/* Style pour les sections de contenu */
[b-7t7fe5yrgc] .tab-content-section {
    padding: 1.5rem;
}

/* Style pour les icônes des onglets */
[b-7t7fe5yrgc] .tab-icon {
    margin-right: 0.5rem;
    font-size: 1.1rem;
    vertical-align: middle;
}

/* Animation de transition */
[b-7t7fe5yrgc] .rz-tabview-panels {
    transition: all 0.3s ease-in-out;
}

/* Style pour le bouton primaire */
[b-7t7fe5yrgc] .rz-button-primary {
    background: var(--ed-primary);
    border: none;
    color: var(--ed-primary-contrast);
    box-shadow: var(--ed-shadow-sm);
}

[b-7t7fe5yrgc] .rz-button-primary:hover {
    background: var(--ed-primary-light);
    transform: translateY(-1px);
    box-shadow: var(--ed-shadow);
}

[b-7t7fe5yrgc] .rz-button-primary:active {
    transform: translateY(0);
    box-shadow: var(--ed-shadow-sm);
}

[b-7t7fe5yrgc] .custom-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

[b-7t7fe5yrgc] .custom-button:focus {
    outline: none;
    box-shadow: 0 0 0 3px var(--ed-info-bg);
}

[b-7t7fe5yrgc] .cancel-button:focus {
    box-shadow: 0 0 0 3px var(--ed-surface-sunken);
}

/* Styles spécifiques à l'édition */
.loading-container[b-7t7fe5yrgc] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
    color: var(--color-text-light);
}

.edit-header[b-7t7fe5yrgc] {
    border-left: 4px solid var(--color-warning);
    padding-left: 1rem;
    margin-bottom: 1.5rem;
}

.edit-header h4[b-7t7fe5yrgc] {
    color: var(--color-primary);
    margin-bottom: 0.25rem;
}

.edit-header .subtitle[b-7t7fe5yrgc] {
    color: var(--color-text-light);
    font-size: 0.875rem;
}

/* Indicateur de modification */
[b-7t7fe5yrgc] .modified-field {
    border-left: 3px solid var(--color-warning);
    padding-left: 0.5rem;
}

/* État de sauvegarde */
.save-indicator[b-7t7fe5yrgc] {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-md);
    background-color: var(--color-success);
    color: var(--ed-primary-contrast);
    font-size: 0.875rem;
    font-weight: 500;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
}

.save-indicator.show[b-7t7fe5yrgc] {
    opacity: 1;
    transform: translateY(0);
}

/* Message d'erreur utilisateur non trouvé */
.user-not-found[b-7t7fe5yrgc] {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--color-text-light);
}

.user-not-found h6[b-7t7fe5yrgc] {
    margin-bottom: 1rem;
}

/* Animation pour les champs en cours de chargement */
@keyframes skeleton-loading-b-7t7fe5yrgc {
    0% {
        background-color: var(--ed-surface-alt);
    }
    50% {
        background-color: var(--ed-border);
    }
    100% {
        background-color: var(--ed-surface-alt);
    }
}

.skeleton-input[b-7t7fe5yrgc] {
    animation: skeleton-loading-b-7t7fe5yrgc 1.5s ease-in-out infinite;
    border-radius: var(--radius-sm);
    height: 2.5rem;
}
/* /Pages/Users/Permissions.razor.rz.scp.css */
.main-container[b-j37kvqsvj4] {
    background: var(--ed-surface-alt);
    min-height: 100vh;
    padding: 2rem;
}

.loading-state[b-j37kvqsvj4] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
}

.error-state[b-j37kvqsvj4] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
}

.error-content[b-j37kvqsvj4] {
    text-align: center;
}

.error-icon[b-j37kvqsvj4] {
    font-size: 48px;
    color: var(--ed-danger);
    margin-bottom: 1rem;
}

.user-profile-header[b-j37kvqsvj4] {
    background: var(--ed-surface);
    border-radius: 12px;
    padding: 2rem;
    margin-bottom: 2rem;
    box-shadow: var(--ed-shadow-sm);
}

.user-name[b-j37kvqsvj4] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

    .user-name h2[b-j37kvqsvj4] {
        margin: 0;
        font-size: 1.5rem;
        font-weight: 600;
        color: var(--ed-primary-dark);
    }

.user-details[b-j37kvqsvj4] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.detail-item[b-j37kvqsvj4] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--ed-text-muted);
}

    .detail-item[b-j37kvqsvj4]  .rz-icon {
        font-size: 1.25rem;
    }

.permissions-container[b-j37kvqsvj4] {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.role-group[b-j37kvqsvj4] {
    background: var(--ed-surface);
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: var(--ed-shadow-sm);
}

.role-header[b-j37kvqsvj4] {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--ed-border);
}

    .role-header h3[b-j37kvqsvj4] {
        margin: 0;
        font-size: 1.25rem;
        font-weight: 600;
        color: var(--ed-text-strong);
    }

    .role-header[b-j37kvqsvj4]  .rz-icon {
        font-size: 1.5rem;
        color: var(--ed-primary);
    }

.role-header[b-j37kvqsvj4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.role-title[b-j37kvqsvj4] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

    .role-title[b-j37kvqsvj4]  .rz-icon {
        font-size: 1.5rem;
        color: var(--ed-primary);
    }

    .role-title h3[b-j37kvqsvj4] {
        margin: 0;
        font-size: 1.25rem;
        color: var(--ed-text-strong);
    }

[b-j37kvqsvj4] .custom-badge {
    background-color: var(--ed-primary) !important;
    color: var(--ed-primary-contrast);
}

[b-j37kvqsvj4] .custom-button {
    min-width: 130px;
    height: 42px;
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    border-radius: 6px;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0 1.5rem;
}

[b-j37kvqsvj4] .cancel-button {
    background-color: var(--ed-surface-alt);
    color: var(--ed-text-muted);
    border: 1px solid var(--ed-border);
}

[b-j37kvqsvj4] .cancel-button:hover {
    background-color: var(--ed-surface-alt);
    border-color: var(--ed-border-strong);
    transform: translateY(-1px);
}

[b-j37kvqsvj4] .rz-button-primary {
    background: var(--ed-primary) !important;
    color: var(--ed-primary-contrast);
}

[b-j37kvqsvj4] .rz-button-primary:hover {
    background: var(--ed-primary-light) !important;
}

.permissions-grid[b-j37kvqsvj4] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1rem;
}

.permission-card[b-j37kvqsvj4] {
    background: var(--ed-surface-alt);
    border-radius: 8px;
    padding: 1.25rem;
    border: 1px solid var(--ed-border);
    transition: all 0.2s ease;
}

    .permission-card:hover[b-j37kvqsvj4] {
        transform: translateY(-2px);
        box-shadow: var(--ed-shadow);
    }

.permission-header[b-j37kvqsvj4] {
    margin-bottom: 0.75rem;
}

    .permission-header h4[b-j37kvqsvj4] {
        margin: 0 0 0.5rem 0;
        font-size: 1rem;
        font-weight: 500;
        color: var(--ed-text);
    }

.permission-badge[b-j37kvqsvj4] {
    font-size: 0.75rem;
    font-family: ui-monospace, monospace;
}

.permission-description[b-j37kvqsvj4] {
    margin: 0;
    font-size: 0.875rem;
    color: var(--ed-text-muted);
    line-height: 1.5;
}

@media (max-width: 768px) {
    .main-container[b-j37kvqsvj4] {
        padding: 1rem;
    }

    .user-profile-header[b-j37kvqsvj4] {
        padding: 1.5rem;
    }

    .user-details[b-j37kvqsvj4] {
        flex-direction: column;
        gap: 1rem;
    }

    .role-group[b-j37kvqsvj4] {
        padding: 1rem;
    }

    .permissions-grid[b-j37kvqsvj4] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Users/UsersPage.razor.rz.scp.css */
body[b-b6tvy0zjeb] {
}
