@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}.login-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center}.login-section:before{content:"";position:absolute;inset:0;pointer-events:none}.login-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000001a;padding:3rem 2rem;position:relative;overflow:hidden;animation:fadeInUp .6s ease-out}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.login-logo{max-height:60px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));animation:fadeInUp .6s ease-out .2s both}.login-title{font-size:2rem;font-weight:700;color:var(--dark-color);margin-bottom:.5rem;animation:fadeInUp .6s ease-out .2s both}.login-subtitle{color:#666;font-size:1rem;margin-bottom:0;animation:fadeInUp .6s ease-out .2s both}.login-form{animation:fadeInUp .6s ease-out .2s both}.login-form .form-control{border:2px solid #e9ecef;border-radius:12px;padding:.875rem 1rem;font-size:1rem;transition:all .3s ease;background:transparent}.login-form .form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem #f7931e40;background:#fff;border-radius:12px;outline:none}.login-form .form-control:hover{border-color:#ced4da}.login-form .form-control.is-invalid{border-color:#dc3545}.login-form .form-control.is-invalid:focus{border-color:#dc3545!important;box-shadow:0 0 0 .15rem #dc354540!important}.login-form .form-label{font-weight:600;color:var(--dark-color);margin-bottom:.5rem;font-size:.9rem}.login-form .input-group .form-control:-webkit-autofill,.login-form .input-group .form-control:-webkit-autofill:hover,.login-form .input-group .form-control:-webkit-autofill:focus,.login-form .input-group .form-control:-webkit-autofill:active,.login-form .form-control:-webkit-autofill,.login-form .form-control:-webkit-autofill:hover,.login-form .form-control:-webkit-autofill:focus,.login-form .form-control:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:#212529!important;background-color:#fff!important;border-color:#e9ecef!important;border-radius:12px!important}.login-form .form-control:-webkit-autofill:focus,.login-form .form-control:-webkit-autofill:active{border-color:var(--primary-color)!important;-webkit-box-shadow:0 0 0 30px white inset,0 0 0 .2rem rgba(247,147,30,.25)!important}.login-form .form-control:-webkit-autofill:hover{border-color:#ced4da!important}.login-form .form-control:-webkit-autofill:focus-within{border-color:var(--primary-color)!important}.login-form .input-group{border-radius:12px;overflow:hidden;border:2px solid #e9ecef;transition:all .3s ease}.login-form .input-group .form-control{border-right:none;border:none;background:transparent;border-radius:0}.login-form .input-group .btn{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;background:transparent;border:none;transition:all .3s ease;color:#6c757d}.login-form .input-group:hover{border-color:#ced4da}.login-form .input-group .btn:hover,.login-form .input-group .btn:focus{color:var(--primary-color)}.login-form .input-group:focus-within{border-color:var(--primary-color)!important;box-shadow:0 0 0 30px #fff inset,0 0 0 .2rem #f7931e40!important;-webkit-box-shadow:0 0 0 30px white inset,0 0 0 .2rem rgba(247,147,30,.25)!important}.login-form .input-group:focus-within .form-control{border-color:var(--primary-color);box-shadow:0 0 0 30px #fff inset!important;-webkit-box-shadow:0 0 0 30px white inset!important}.login-form .input-group:focus-within .btn{border-color:var(--primary-color);background:#fff}.login-form .input-group.is-invalid{border-color:#dc3545}.login-form .input-group.is-invalid:focus-within{border-color:#dc3545!important}.hidden{display:none!important}.alert{border-radius:12px;border:none;padding:1rem;margin-bottom:1rem;animation:fadeInUp .6s ease-out .2s both}.alert-success{background:#d4edda;color:#155724}.alert-danger{background:#f8d7da;color:#721c24}.alert.show{display:block!important}.btn-secondary{background:#6c757d;border-color:#6c757d;color:#fff}.login-form .btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;border-radius:12px;padding:.875rem 1rem;font-weight:600;font-size:1rem;transition:all .3s ease;box-shadow:0 4px 15px #f7931e4d;position:relative;overflow:hidden}.login-form .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #f7931e66}.login-form .btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-form .btn-primary:disabled:hover{transform:none;box-shadow:0 4px 15px #f7931e4d}.form-check-input:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.form-check-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem #f7931e40;outline:none}.form-check-label{font-size:.9rem;color:#666}.login-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #e9ecef;animation:fadeInUp .6s ease-out .2s both;background:transparent!important}.alert{border-radius:12px;border:none;font-size:.9rem}.alert-danger{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.alert-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-spin{animation:spin 1s linear infinite}@media (max-width: 768px){.login-card{padding:2rem 1.5rem;margin:1rem}.login-title{font-size:1.75rem}.login-section{padding:1rem 0}}@media (max-width: 576px){.login-card{padding:1.5rem 1rem}.login-title{font-size:1.5rem}.login-form .btn-primary{padding:1rem;font-size:1.1rem}}.login-card{will-change:transform}.login-form .form-control{will-change:border-color,box-shadow}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
