/* Styles de la page de connexion (extraits de templates/login.html.twig) */
body { background-color: #0f1115; font-family: 'Inter', sans-serif; overflow-x: hidden; color: #e9ecef; }
.auth-bg-modern { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 15% 50%, rgba(13, 110, 253, 0.15), transparent 25%), radial-gradient(circle at 85% 30%, rgba(111, 66, 193, 0.15), transparent 25%); z-index: -1; }
.auth-card { background: rgba(30, 34, 40, 0.6); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); padding: 2.5rem; transition: transform 0.3s ease; }
.auth-logo img { filter: drop-shadow(0 0 15px rgba(13, 110, 253, 0.3)); transition: filter 0.3s ease; }
.auth-logo:hover img { filter: drop-shadow(0 0 25px rgba(13, 110, 253, 0.5)); }
.form-label { color: #adb5bd; font-size: 0.875rem; font-weight: 500; margin-bottom: 0.5rem; }
.form-control { background-color: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.1); color: #fff; padding: 0.8rem 1rem; border-radius: 12px; font-size: 0.95rem; transition: all 0.2s ease; }
.form-control:focus { background-color: rgba(255, 255, 255, 0.05); border-color: var(--vz-primary); box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.15); color: #fff; }
.form-control::placeholder { color: rgba(255, 255, 255, 0.3); }
.btn-gradient-primary { background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%); border: none; color: white; font-weight: 600; padding: 0.8rem; border-radius: 12px; box-shadow: 0 4px 15px rgba(13, 110, 253, 0.3); transition: all 0.2s ease; }
.btn-gradient-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(13, 110, 253, 0.4); color: white; }
.btn-google-dark { background-color: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); color: #e9ecef; border-radius: 12px; font-weight: 500; padding: 0.7rem; transition: all 0.2s; }
.btn-google-dark:hover { background-color: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.2); color: #fff; }
.divider-text { display: flex; align-items: center; color: rgba(255, 255, 255, 0.3); margin: 1.5rem 0; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; }
.divider-text::before, .divider-text::after { content: ""; flex: 1; height: 1px; background: rgba(255, 255, 255, 0.1); }
.divider-text::before { margin-right: 1rem; }
.divider-text::after { margin-left: 1rem; }
.auth-footer { position: absolute; bottom: 20px; width: 100%; text-align: center; color: rgba(255,255,255,0.4); font-size: 0.85rem; }
.form-check-input { background-color: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); cursor: pointer; }
.form-check-input:checked { background-color: var(--vz-primary); border-color: var(--vz-primary); }
.password-addon {
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255,255,255,0.5) !important;
    z-index: 10;
    /* Ajouts pour parfaire le centrage : */
    padding: 0;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%; /* Optionnel: si vous voulez que la zone cliquable fasse toute la hauteur */
    max-height: 40px; /* Pour éviter qu'il ne dépasse si height:100% */
}
.password-addon:hover { color: #fff !important; }
