:root{--primary-color:#003c80;--accent-color:#6c757d;--light-bg:#f8f9fa}body:has(.login-container){background-color:#f5f5f5;justify-content:center;align-items:center;display:flex}.login-container{background-color:#fff;border-radius:20px;width:100%;max-width:900px;height:580px;display:flex;overflow:hidden;box-shadow:0 10px 40px #0000001a}.login-left{color:#fff;background:linear-gradient(135deg,#003c80 0%,#2d5a87 100%);flex-direction:column;flex:none;justify-content:center;align-items:center;width:450px;padding:3rem;display:flex;position:relative}.login-left:before{content:"";opacity:.3;background:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='grid' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Cpath d='M 20 0 L 0 0 0 20' fill='none' stroke='rgba(255,255,255,0.05)' stroke-width='1'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100' height='100' fill='url(%23grid)'/%3E%3C/svg%3E");position:absolute;inset:0}.logo-login{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#0000004d;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:150px;height:150px;margin-bottom:2rem;display:flex;position:relative}.logo-text{text-align:center}.welcome-text{text-align:center;z-index:1;margin-top:2rem;position:relative}.welcome-text h2{margin-bottom:1rem;font-size:1.8rem;font-weight:600}.welcome-text p{opacity:.9;font-size:1rem;line-height:1.6}.login-right{flex-direction:column;flex:none;justify-content:center;width:450px;padding:3rem;display:flex}.login-header{margin-bottom:2rem}.login-header h1{color:var(--primary-color);margin-bottom:.5rem;font-size:2rem;font-weight:700}.login-header p{color:var(--accent-color);font-size:.95rem}.form-group{margin-bottom:1.5rem;position:relative}.form-label{color:var(--primary-color);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-control{color:#212529;appearance:none;width:100%;font-size:14px;line-height:1.5;transition:all .3s;display:block;background-color:#fff!important;border:1px solid #174b83!important;border-radius:25px!important;padding:12px 20px!important}.form-control:focus{border-color:var(--primary-color)!important;background-color:#fff!important;outline:none!important;box-shadow:0 0 0 3px #0000000d!important}.form-control.is-invalid{background-image:none!important;border-color:#dc3545!important;padding-right:20px!important}.form-control:focus.is-invalid,.form-control.is-invalid:focus{border-color:#dc3545!important;box-shadow:0 0 0 3px #dc354526!important}#password{padding-right:45px}.password-input-wrapper{position:relative}.toggle-password-icon{color:var(--accent-color);cursor:pointer;z-index:10;font-size:1.1rem;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}input[type=password]::-ms-reveal{display:none}.invalid-feedback{color:#dc3545;margin-top:.25rem;font-size:.875rem;display:block}.alert-danger{border-radius:12px;margin-bottom:1.5rem;font-size:.9rem}.form-check{margin-bottom:0}.form-check-input{cursor:pointer;transition:background-color .2s,border-color .2s;appearance:none!important;background-color:#fff!important;border:2px solid #003c80!important;border-radius:4px!important;width:18px!important;height:18px!important}.form-check-input:checked{background-color:#003c80!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.5' d='M4 10l4 4 8-8'/%3E%3C/svg%3E")!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:14px!important;border-color:#003c80!important}.form-check-input:focus{outline:none!important;box-shadow:0 0 0 .2rem #003c8040!important}.form-check-label{color:var(--accent-color);font-size:.9rem}.forgot-password{color:var(--primary-color);font-size:.9rem;font-weight:500;text-decoration:none}.forgot-password:hover{text-decoration:underline}.btn-login{color:#fff;background-color:#003c80;border:none;border-radius:25px;justify-content:center;align-items:center;gap:10px;width:auto;margin-top:1rem;padding:12px 28px;font-size:14px;font-weight:500;transition:background-color .2s;display:inline-flex}.btn-login:hover:not(:disabled){background-color:#002a5c}.btn-login:disabled{cursor:not-allowed;color:#fff!important;opacity:.6!important;background-color:#003c80!important}.text-center{text-align:center}@media (max-width:992px){.login-container{max-width:90%;height:auto}.login-left,.login-right{width:50%}}@media (max-width:768px){.login-container{border-radius:15px;flex-direction:column;max-width:calc(100% - 2rem);height:auto;margin:1rem}.login-left,.login-right{flex:none;width:100%}.login-left{min-height:auto;padding:2rem 1.5rem}.logo-login{width:100px;height:100px;margin-bottom:1.5rem}.logo-text img{height:auto;width:80px!important}.welcome-text{margin-top:1.5rem}.welcome-text h2{margin-bottom:.5rem;font-size:1.3rem}.welcome-text p{font-size:.9rem}.login-right{padding:2rem 1.5rem}.login-header{margin-bottom:1.5rem}.login-header h1{font-size:1.5rem}.login-header p{font-size:.85rem}}@media (max-width:576px){.login-container{border-radius:12px;max-width:calc(100% - 1rem);margin:.5rem}.login-left{padding:1.5rem 1rem}.logo-login{width:80px;height:80px;margin-bottom:1rem}.logo-text img{width:70px!important}.welcome-text h2{font-size:1.1rem}.welcome-text p{font-size:.8rem;line-height:1.4}.login-right{padding:1.5rem 1rem}.login-header h1{font-size:1.3rem}.login-header p{font-size:.8rem}.form-label{font-size:.85rem}.form-control{border-radius:20px;padding:10px 16px;font-size:13px}#password{padding-right:40px}.toggle-password-icon{font-size:1rem;right:.75rem}.d-flex{flex-direction:column;gap:.75rem;align-items:flex-start!important}.form-check{width:100%}.forgot-password{margin-top:.25rem;font-size:.85rem;display:inline-block}.btn-login{border-radius:20px;padding:11px 24px;font-size:13px}}@media (max-width:380px){.login-left{padding:1rem .75rem}.logo-login{width:70px;height:70px}.logo-text img{width:60px!important}.welcome-text h2{font-size:1rem}.welcome-text p{font-size:.75rem}.login-right{padding:1rem .75rem}.login-header h1{font-size:1.2rem}.form-control{padding:9px 14px;font-size:12px}.btn-login{padding:10px 20px;font-size:12px}}
