@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box;font-family:"Segoe UI","Roboto",sans-serif}body{background-color:#f5f7fa;min-height:100vh;padding:1.5rem;background-image:linear-gradient(45deg,rgba(0,150,215,.05) 25%,transparent 25%,transparent 50%,rgba(0,150,215,.05) 50%,rgba(0,150,215,.05) 75%,transparent 75%,transparent);background-size:60px 60px}.login-container{display:flex;max-width:1000px;width:100%;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px rgba(0,0,0,.25)}.login-image,body{display:flex;justify-content:center;align-items:center}.login-image{flex:1;background-color:#0f172a;color:#fff;flex-direction:column;padding:3rem;position:relative}.login-image::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url(../../images/techno-gestion.png) center/cover;opacity:.2}.organization-info{position:relative;z-index:1;text-align:center}.login-form h1,.organization-info h2{margin-bottom:1rem;font-size:1.5rem;color:#fff}.organization-info p{font-size:1rem;opacity:.9;max-width:280px;margin:0 auto;line-height:1.5;color:rgba(255,255,255,.73)}.logo-placeholder{width:150px;height:150px;background-color:#fff;border-radius:50%;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;transition:transform .3s ease-in-out;position:relative;overflow:hidden}.logo-placeholder img{max-width:80%;max-height:80%}.logo-placeholder:hover{transform:scale(1.05)}.login-form{flex:1;padding:3rem;display:flex;flex-direction:column}.login-form h1{margin-bottom:2rem;color:#0096d7;text-align:center;font-weight:700}.input-group{position:relative;margin-bottom:1.5rem}.input-group input{width:100%;padding:1rem;font-size:1rem;border:1px solid #eaeaea;border-radius:6px;background-color:rgba(255,255,255,.95);transition:border-color .3s,box-shadow .3s}.input-group input:focus{outline:0;border-color:#33abdf;box-shadow:0 0 0 2px rgba(0,150,215,.3)}.input-group input:focus+label,.input-group input:not(:placeholder-shown)+label{transform:translateY(-25px) scale(.8);color:#0096d7}.input-group label{position:absolute;left:1rem;top:1rem;color:#333;pointer-events:none;transition:transform .3s,color .3s;transform-origin:left top}.checkbox-group{display:flex;align-items:center;margin-bottom:1.5rem}.checkbox-group input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1px solid #eaeaea;border-radius:4px;outline:0;cursor:pointer;position:relative}.checkbox-group input:checked{background-color:#0096d7;border-color:#0096d7}.checkbox-group input:checked::after{content:"✓";position:absolute;color:#fff;font-size:12px;top:50%;left:50%;transform:translate(-50%,-50%)}.checkbox-group label{margin-left:.5rem;color:#333;cursor:pointer}.form-error{color:#dc3545;font-size:.875rem;margin-top:.25rem}.btn-primary{background-color:#0096d7;color:#fff;border:0;padding:1rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .3s,transform .15s;margin-bottom:1.5rem;font-weight:700}.btn-primary:hover{background-color:#0077ad}.btn-primary:active{transform:translateY(2px)}.forgot-password{text-align:center;margin-top:1rem}.forgot-password a{color:#1e73be;text-decoration:none;font-size:.875rem;transition:color .3s}.forgot-password a:hover{color:#0096d7;text-decoration:underline}.divider{display:flex;align-items:center;margin:2rem 0;color:#333}.divider::after,.divider::before{content:"";flex:1;border-bottom:1px solid #eaeaea}.divider span{padding:0 .5rem;font-size:.875rem}.social-login{display:flex;justify-content:center;gap:1rem}.social-btn{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;border:1px solid #eaeaea;background-color:#fff;cursor:pointer;transition:background-color .3s,transform .3s,box-shadow .3s;font-weight:700;color:#0096d7}.social-btn:hover{background-color:#eaeaea;transform:translateY(-3px);box-shadow:0 4px 12px rgba(0,0,0,.5)}.social-btn:active{transform:translateY(0)}.d-none{display:none}@media screen and (max-width:992px){.login-container{max-width:800px}}@media screen and (max-width:768px){.login-container{flex-direction:column;max-width:500px}.login-image{padding:2rem}.logo-placeholder{width:100px;height:100px;font-size:1.25rem}}@media screen and (max-width:480px){.login-form,.login-image{padding:1.5rem}}