/* /Components/Layout/MainLayoutDemo.razor.rz.scp.css */
.page[b-ng3xspaupb] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-ng3xspaupb] {
    flex: 1;
}

.sidebar[b-ng3xspaupb] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-ng3xspaupb] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-ng3xspaupb]  a, .top-row[b-ng3xspaupb]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-ng3xspaupb]  a:hover, .top-row[b-ng3xspaupb]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-ng3xspaupb]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-ng3xspaupb] {
        justify-content: space-between;
    }

    .top-row[b-ng3xspaupb]  a, .top-row[b-ng3xspaupb]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-ng3xspaupb] {
        flex-direction: row;
    }

    .sidebar[b-ng3xspaupb] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-ng3xspaupb] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-ng3xspaupb]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-ng3xspaupb], article[b-ng3xspaupb] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-ng3xspaupb] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-ng3xspaupb] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/MainLayoutSecure.razor.rz.scp.css */
.page[b-f5r304aecw] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-f5r304aecw] {
    flex: 1;
}

.sidebar[b-f5r304aecw] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-f5r304aecw] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-f5r304aecw]  a, .top-row[b-f5r304aecw]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-f5r304aecw]  a:hover, .top-row[b-f5r304aecw]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-f5r304aecw]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-f5r304aecw] {
        justify-content: space-between;
    }

    .top-row[b-f5r304aecw]  a, .top-row[b-f5r304aecw]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-f5r304aecw] {
        flex-direction: row;
    }

    .sidebar[b-f5r304aecw] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-f5r304aecw] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-f5r304aecw]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-f5r304aecw], article[b-f5r304aecw] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-f5r304aecw] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-f5r304aecw] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Pages/Admin/ApiKeyManager.razor.rz.scp.css */
/* ========================================
   API KEY MANAGER - BCG CORPORATE THEME
   Compatible avec corporate-theme.css
   ======================================== */

/* ========== CONTENEUR PRINCIPAL ========== */
.container-fluid[b-osziea0k3w] {
    background-color: var(--bcg-bg, #F7FAFA);
    font-family: var(--font-primary, 'Inter', 'Segoe UI', sans-serif);
    color: var(--bcg-charcoal, #2D3748);
}

/* ========== CARDS ========== */
.card[b-osziea0k3w] {
    border: 1px solid var(--bcg-gray-pale, #E2E8F0) !important;
    border-radius: var(--border-radius-lg, 12px) !important;
    background: var(--bcg-white, #FFFFFF);
    box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
    transition: box-shadow var(--transition-normal, 250ms ease);
}

    .card:hover[b-osziea0k3w] {
        box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
    }

.card-title[b-osziea0k3w] {
    color: var(--bcg-green-dark, #0D5C4B);
    font-weight: 600;
}

/* ========== BOUTON PRINCIPAL - ÉTAT ACTIF (clé valide) ========== */
.btn-submit-apikey[b-osziea0k3w] {
    font-weight: 600;
    font-size: 1rem;
    padding: 0.875rem 1.5rem;
    min-height: 56px;
    border-radius: var(--border-radius, 8px);
    transition: all var(--transition-fast, 150ms ease);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    /* État par défaut : vert plein */
    background-color: var(--bcg-green-primary, #177A5D) !important;
    border: 2px solid var(--bcg-green-primary, #177A5D) !important;
    color: var(--bcg-white, #FFFFFF) !important;
}

    .btn-submit-apikey:hover:not(:disabled)[b-osziea0k3w] {
        background-color: var(--bcg-green-dark, #0D5C4B) !important;
        border-color: var(--bcg-green-dark, #0D5C4B) !important;
        transform: translateY(-1px);
        box-shadow: var(--shadow-md);
    }

    .btn-submit-apikey:active:not(:disabled)[b-osziea0k3w] {
        transform: translateY(0);
    }

    /* ========== ÉTAT DISABLED (clé invalide) - STYLE OUTLINE ========== */
    .btn-submit-apikey:disabled[b-osziea0k3w] {
        background-color: transparent !important;
        border: 2px solid var(--bcg-green-primary, #177A5D) !important;
        color: var(--bcg-green-primary, #177A5D) !important;
        opacity: 0.7;
        cursor: not-allowed;
    }

        .btn-submit-apikey:disabled:hover[b-osziea0k3w] {
            background-color: var(--bcg-green-pale, #E8F5F1) !important;
        }

/* Forcer la couleur du texte selon l'état */
.btn-submit-apikey:not(:disabled) i[b-osziea0k3w],
.btn-submit-apikey:not(:disabled) span[b-osziea0k3w] {
    color: var(--bcg-white, #FFFFFF) !important;
}

.btn-submit-apikey:disabled i[b-osziea0k3w],
.btn-submit-apikey:disabled span[b-osziea0k3w] {
    color: var(--bcg-green-primary, #177A5D) !important;
}

/* ========== INPUT & FORM CONTROLS ========== */
.form-control[b-osziea0k3w] {
    border: 2px solid var(--bcg-gray-pale, #E2E8F0);
    border-radius: var(--border-radius, 8px);
    transition: all var(--transition-fast, 150ms ease);
}

    .form-control:focus[b-osziea0k3w] {
        border-color: var(--bcg-green-primary, #177A5D);
        box-shadow: 0 0 0 0.25rem rgba(23, 122, 93, 0.15);
    }

    .form-control.is-invalid[b-osziea0k3w] {
        border-color: var(--bcg-danger, #EF4444);
    }

        .form-control.is-invalid:focus[b-osziea0k3w] {
            box-shadow: 0 0 0 0.25rem rgba(239, 68, 68, 0.15);
        }

/* Input group avec bouton visibility */
.input-group .btn-outline-secondary[b-osziea0k3w] {
    border: 2px solid var(--bcg-gray-pale, #E2E8F0);
    border-left: none;
    color: var(--bcg-gray-dark, #4A5568);
    transition: all var(--transition-fast, 150ms ease);
}

    .input-group .btn-outline-secondary:hover:not(:disabled)[b-osziea0k3w] {
        background-color: var(--bcg-green-muted, #F0F7F5);
        border-color: var(--bcg-green-primary, #177A5D);
        color: var(--bcg-green-dark, #0D5C4B);
    }

.input-group .form-control:focus + .btn-outline-secondary[b-osziea0k3w] {
    border-color: var(--bcg-green-primary, #177A5D);
}

/* ========== MESSAGES DE VALIDATION ========== */
.valid-feedback[b-osziea0k3w],
.invalid-feedback[b-osziea0k3w] {
    font-size: 0.875rem;
    margin-top: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.valid-feedback[b-osziea0k3w] {
    color: var(--bcg-success, #10B981);
}

.invalid-feedback[b-osziea0k3w] {
    color: var(--bcg-danger, #EF4444);
}

/* ========== ALERTS ========== */
.alert[b-osziea0k3w] {
    border-radius: var(--border-radius, 8px);
}

.alert-success[b-osziea0k3w] {
    background-color: var(--bcg-green-pale, #E8F5F1);
    color: var(--bcg-green-dark, #0D5C4B);
    border-color: var(--bcg-green-primary, #177A5D);
}

.alert-warning[b-osziea0k3w] {
    background-color: #FEF3C7;
    color: #92400E;
    border-color: var(--bcg-warning, #F59E0B);
}

.alert-danger[b-osziea0k3w] {
    background-color: #FEE2E2;
    color: #991B1B;
    border-color: var(--bcg-danger, #EF4444);
}

/* ========== TEXT STYLES ========== */
.text-primary[b-osziea0k3w] {
    color: var(--bcg-green-dark, #0D5C4B) !important;
}

a.text-primary:hover[b-osziea0k3w] {
    color: var(--bcg-green-primary, #177A5D) !important;
}

/* ========== ZONE INFO SÉCURITÉ ========== */
.bg-light[b-osziea0k3w] {
    background-color: var(--bcg-green-muted, #F0F7F5) !important;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 576px) {
    .container-fluid[b-osziea0k3w] {
        padding: 1rem !important;
    }

    .card-body[b-osziea0k3w] {
        padding: 1.25rem !important;
    }

    .btn-submit-apikey[b-osziea0k3w] {
        font-size: 0.9rem;
        padding: 0.75rem 1rem;
        min-height: 48px;
    }
}

/* ========== ACCESSIBILITÉ ========== */
.btn:focus-visible[b-osziea0k3w],
.btn-submit-apikey:focus-visible[b-osziea0k3w] {
    outline: 3px solid var(--bcg-green-primary, #177A5D);
    outline-offset: 2px;
}
