/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/auth.css ***!
  \***************************************************************************************************************/
/* Styles pour le menu d'authentification */
.nav-user-menu {
    position: relative;
}

.nav-link-cta {
    background-color: #28a745;
    color: white !important;
    border-radius: 0.375rem;
    padding: 0.5rem 1rem;
    font-weight: 600;
}

.nav-link-cta:hover {
    background-color: #218838;
    color: white !important;
}

.dropdown-menu {
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    min-width: 200px;
}

.dropdown-item {
    padding: 0.5rem 1rem;
}

.dropdown-item:hover {
    background-color: #f8f9fa;
}

/* Amélioration de l'accessibilité */
.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Responsive */
@media (max-width: 768px) {
    .nav-user-menu .dropdown-menu {
        position: static;
        width: 100%;
        box-shadow: none;
        border: none;
        background-color: transparent;
    }
    
    .nav-link-cta {
        margin-top: 0.5rem;
        display: block;
        text-align: center;
    }
}

/* Mode éco-responsable */
@media (prefers-reduced-motion: reduce) {
    .dropdown-menu {
        transition: none !important;
    }
}

/* Styles pour les champs de mot de passe avec toggle visibility */
/* Utilisés dans : login, register, reset_password */
.d-flex {
    display: flex;
    flex-wrap: nowrap;
}

.input-group {
    position: relative;
    width: 100%;
}

.input-group .form-control {
    flex: 1 1 auto;
    min-width: 0;
}

.input-group .toggle-password {
    flex: 0 0 auto;
    background: transparent;
    border: 1px dashed var(--dark);
    border-left: none;
    padding: 0.8rem;
    cursor: pointer;
    border-radius: 0.25rem;
}

.input-group .toggle-password:hover,
.input-group .toggle-password:focus {
    background-color: var(--grey);
    outline: 2px solid var(--primary);
    outline-offset: -2px;
} 
/*!*******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/register.css ***!
  \*******************************************************************************************************************/
/* Styles éco-conçus pour l'inscription */
.required-asterisk {
    color: #dc3545;
    font-weight: bold;
    margin-right: 0.25rem;
}

button {
    font-size: 1.1rem;
}

#terms-help {
    background-color: rgba(243, 6, 6, 0.25);
    width: fit-content;
    padding: 0.5rem 0.8rem;
    font-weight: 500;
}

.form-control:focus {
    border-color: #198754;
    box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.25);
}

.btn:focus {
    box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.5);
}

.form-check-input:checked {
    background-color: #198754;
    border-color: #198754;
}

.form-check-input:focus {
    border-color: #198754;
    box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.25);
}

/* Messages d'erreur */
.invalid-feedback {
    display: block;
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Style pour les erreurs de formulaire */
.form-error {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.login-link {
    font-size: 1.2rem;
    font-weight: bold;
}

/* Optimisation pour l'impression */
@media print {
    .btn, .alert {
        display: none !important;
    }
}

/* Optimisation pour les petits écrans */
@media (max-width: 768px) {
    .col-md-6 {
        margin-bottom: 1rem;
    }
    
    .card {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }
}

/* Amélioration de l'accessibilité */
.form-control:invalid {
    border-color: #dc3545;
}

.form-control:valid {
    border-color: #198754;
}

/* Réduction de l'impact environnemental */
.card {
    transition: none; /* Supprime les transitions pour économiser la batterie */
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
} 

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzL3JlZ2lzdGVyLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBMkM7QUFDM0M7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixxQkFBcUI7SUFDckIsNkNBQTZDO0lBQzdDLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQSxvQ0FBb0M7QUFDcEM7SUFDSSxnREFBZ0Q7QUFDcEQ7O0FBRUEsZUFBZTtBQUNmO0lBQ0k7UUFDSSxnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osNkJBQTZCO0lBQ2pDOztJQUVBO1FBQ0ksa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxrQkFBa0I7SUFDdEI7QUFDSjs7QUFFQSx5QkFBeUI7QUFDekI7SUFDSTtRQUNJLDJCQUEyQjtJQUMvQjtBQUNKOztBQUVBLGtFQUFrRTtBQUNsRSxvREFBb0Q7QUFDcEQ7SUFDSSxhQUFhO0lBQ2IsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksY0FBYztJQUNkLHVCQUF1QjtJQUN2Qiw4QkFBOEI7SUFDOUIsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixlQUFlO0lBQ2Ysc0JBQXNCO0FBQzFCOztBQUVBOztJQUVJLDZCQUE2QjtJQUM3QixpQ0FBaUM7SUFDakMsb0JBQW9CO0FBQ3hCLEU7Ozs7QUM1RkEseUNBQXlDO0FBQ3pDO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtJQUNqQixxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSx1Q0FBdUM7SUFDdkMsa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0QixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsZ0RBQWdEO0FBQ3BEOztBQUVBO0lBQ0ksK0NBQStDO0FBQ25EOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixnREFBZ0Q7QUFDcEQ7O0FBRUEsc0JBQXNCO0FBQ3RCO0lBQ0ksY0FBYztJQUNkLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsbUJBQW1CO0FBQ3ZCOztBQUVBLHlDQUF5QztBQUN6QztJQUNJLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGlCQUFpQjtBQUNyQjs7QUFFQSxtQ0FBbUM7QUFDbkM7SUFDSTtRQUNJLHdCQUF3QjtJQUM1QjtBQUNKOztBQUVBLHdDQUF3QztBQUN4QztJQUNJO1FBQ0ksbUJBQW1CO0lBQ3ZCOztJQUVBO1FBQ0ksZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixrQkFBa0I7SUFDdEI7QUFDSjs7QUFFQSxvQ0FBb0M7QUFDcEM7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUEsMENBQTBDO0FBQzFDO0lBQ0ksZ0JBQWdCLEVBQUUseURBQXlEO0FBQy9FOztBQUVBO0lBQ0k7UUFDSSxxQ0FBcUM7UUFDckMsdUNBQXVDO1FBQ3ZDLHNDQUFzQztJQUMxQztBQUNKLEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2F1dGguY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcmVnaXN0ZXIuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIFN0eWxlcyBwb3VyIGxlIG1lbnUgZCdhdXRoZW50aWZpY2F0aW9uICovXHJcbi5uYXYtdXNlci1tZW51IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLm5hdi1saW5rLWN0YSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1O1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLm5hdi1saW5rLWN0YTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4ODM4O1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kcm9wZG93bi1tZW51IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcbiAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG59XHJcblxyXG4uZHJvcGRvd24taXRlbSB7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcclxufVxyXG5cclxuLmRyb3Bkb3duLWl0ZW06aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcclxufVxyXG5cclxuLyogQW3DqWxpb3JhdGlvbiBkZSBsJ2FjY2Vzc2liaWxpdMOpICovXHJcbi5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLm5hdi11c2VyLW1lbnUgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5uYXYtbGluay1jdGEge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIE1vZGUgw6ljby1yZXNwb25zYWJsZSAqL1xyXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xyXG4gICAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogU3R5bGVzIHBvdXIgbGVzIGNoYW1wcyBkZSBtb3QgZGUgcGFzc2UgYXZlYyB0b2dnbGUgdmlzaWJpbGl0eSAqL1xyXG4vKiBVdGlsaXPDqXMgZGFucyA6IGxvZ2luLCByZWdpc3RlciwgcmVzZXRfcGFzc3dvcmQgKi9cclxuLmQtZmxleCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbn1cclxuXHJcbi5pbnB1dC1ncm91cCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbi5pbnB1dC1ncm91cCAudG9nZ2xlLXBhc3N3b3JkIHtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tZGFyayk7XHJcbiAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgIHBhZGRpbmc6IDAuOHJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XHJcbn1cclxuXHJcbi5pbnB1dC1ncm91cCAudG9nZ2xlLXBhc3N3b3JkOmhvdmVyLFxyXG4uaW5wdXQtZ3JvdXAgLnRvZ2dsZS1wYXNzd29yZDpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmV5KTtcclxuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1wcmltYXJ5KTtcclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xyXG59ICIsIkBpbXBvcnQgJ2F1dGguY3NzJztcblxuLyogU3R5bGVzIMOpY28tY29uw6d1cyBwb3VyIGwnaW5zY3JpcHRpb24gKi9cbi5yZXF1aXJlZC1hc3RlcmlzayB7XG4gICAgY29sb3I6ICNkYzM1NDU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuXG5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuXG4jdGVybXMtaGVscCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDMsIDYsIDYsIDAuMjUpO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzE5ODc1NDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNSwgMTM1LCA4NCwgMC4yNSk7XG59XG5cbi5idG46Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1LCAxMzUsIDg0LCAwLjUpO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk4NzU0O1xuICAgIGJvcmRlci1jb2xvcjogIzE5ODc1NDtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzE5ODc1NDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNSwgMTM1LCA4NCwgMC4yNSk7XG59XG5cbi8qIE1lc3NhZ2VzIGQnZXJyZXVyICovXG4uaW52YWxpZC1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNkYzM1NDU7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuXG4vKiBTdHlsZSBwb3VyIGxlcyBlcnJldXJzIGRlIGZvcm11bGFpcmUgKi9cbi5mb3JtLWVycm9yIHtcbiAgICBjb2xvcjogI2RjMzU0NTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG59XG5cbi5sb2dpbi1saW5rIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogT3B0aW1pc2F0aW9uIHBvdXIgbCdpbXByZXNzaW9uICovXG5AbWVkaWEgcHJpbnQge1xuICAgIC5idG4sIC5hbGVydCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIE9wdGltaXNhdGlvbiBwb3VyIGxlcyBwZXRpdHMgw6ljcmFucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbC1tZC02IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgXG4gICAgLmNhcmQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cbn1cblxuLyogQW3DqWxpb3JhdGlvbiBkZSBsJ2FjY2Vzc2liaWxpdMOpICovXG4uZm9ybS1jb250cm9sOmludmFsaWQge1xuICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbn1cblxuLmZvcm0tY29udHJvbDp2YWxpZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTk4NzU0O1xufVxuXG4vKiBSw6lkdWN0aW9uIGRlIGwnaW1wYWN0IGVudmlyb25uZW1lbnRhbCAqL1xuLmNhcmQge1xuICAgIHRyYW5zaXRpb246IG5vbmU7IC8qIFN1cHByaW1lIGxlcyB0cmFuc2l0aW9ucyBwb3VyIMOpY29ub21pc2VyIGxhIGJhdHRlcmllICovXG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgKiB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgfVxufSAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/