/* 1. Conteneur Global et Logo BICICI */
:not(.lg-signin) .login-container {
    padding-top: 100px;
    position: relative;
    background: transparent;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

:not(.lg-signin) .login-container::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 250px;
    height: 80px;
    background-image: url("data:image/png;base64,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_-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");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    z-index: 1000;
}

/* 2. La Carte de Formulaire (Sheet-like) */
:not(.lg-signin) #_com_liferay_login_web_portlet_LoginPortlet_loginForm {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 94, 66, 0.12);
    max-width: 450px;
    margin: 40px auto;
    padding: 110px 40px 40px 40px;
    position: relative;
}

/* 3. L'icône Cadenas de Sécurité */
:not(.lg-signin) #_com_liferay_login_web_portlet_LoginPortlet_loginForm::before {
    content: "";
    position: absolute;
    top: -45px;
    left: 50%;
    transform: translateX(-50%);
    width: 90px;
    height: 90px;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23005E42'%3E%3Cpath d='M12 1L3 5v6c0 5.55 3.84 10.74 9 11.99 5.16-1.25 9-6.44 9-11.99V5l-9-3zm0 6c1.66 0 3 1.34 3 3v2h1v5H8v-5h1v-2c0-1.66 1.34-3 3-3zm2 5v-2c0-1.1-.9-2-2-2s-2 .9-2 2v2h4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50px;
    border-radius: 50%;
    box-shadow: 0 10px 25px rgba(0, 94, 66, 0.2);
    border: 5px solid #ffffff;
    z-index: 10;
}

/* 4. Titre Dynamique */
:not(.lg-signin) #_com_liferay_login_web_portlet_LoginPortlet_loginForm::after {
    content: "Connectez-vous à votre espace";
    display: block;
    width: 100%;
    color: #005E42;
    font-size: 1.4rem;
    font-weight: 700;
    position: absolute;
    top: 55px;
    left: 0;
    text-align: center;
}

/* 5. Inputs et Labels */
:not(.lg-signin) .login-container .control-label {
    color: #4a4a4a;
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
}

:not(.lg-signin) .login-container .form-control {
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    height: 48px;
    padding: 10px 15px;
    transition: all 0.3s ease;
}

:not(.lg-signin) .login-container .form-control:focus {
    border-color: #005E42;
    box-shadow: 0 0 0 4px rgba(0, 94, 66, 0.08);
    outline: none;
}

/* 6. Bouton d'action principal */
:not(.lg-signin) .login-container .btn-primary {
    background: linear-gradient(135deg, #005E42 0%, #004631 100%);
    border: none;
    border-radius: 10px;
    width: 100%;
    height: 50px;
    font-size: 1.1rem;
    font-weight: 600;
    margin-top: 15px;
    box-shadow: 0 4px 15px rgba(0, 94, 66, 0.25);
    transition: transform 0.2s;
}

:not(.lg-signin) .login-container .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 94, 66, 0.3);
}

/* 7. Liens et navigation (Mot de passe oublié) */
:not(.lg-signin) .login-container .navigation {
    text-align: center;
    margin-top: 20px;
}

:not(.lg-signin) .login-container .navigation a {
    color: #005E42;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}

:not(.lg-signin) .login-container .navigation a:hover {
    color: #008f64;
    text-decoration: underline;
}

/* 8. Alertes d'erreur stylisées */
:not(.lg-signin) .login-container .alert-danger {
    background-color: #fff5f5;
    border: 1px solid #feb2b2;
    color: #c53030;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 20px;
    font-size: 0.9rem;
}