.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-gradient);padding:24px 16px;animation:fadeIn .35s ease-out both}.login-box{background:#FFFFFF;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:420px;padding:38px 34px}.login-brand{text-align:center;margin-bottom:28px}.login-brand-logo{height:48px;width:auto;object-fit:contain;margin-bottom:12px}.login-brand-name{font-family:var(--font-heading);font-size:21px;font-weight:600;color:var(--primary);letter-spacing:-.02em}.login-brand-sub{font-family:var(--font-body);font-size:12.5px;color:var(--text-sm);margin-top:3px}.login-heading{font-family:var(--font-heading);font-size:15.5px;font-weight:600;color:var(--text);margin-bottom:20px;text-align:center}.form-group{margin-bottom:18px}.form-label{display:flex;align-items:center;gap:6px;font-family:var(--font-heading);font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-input{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;color:var(--text);background:#FFFFFF;transition:all .18s ease}.form-input:focus{border-color:#14532D;box-shadow:0 0 0 3px rgba(20,83,45,.15)}.password-field{position:relative}.password-field .form-input{padding-right:42px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-sm);display:flex;align-items:center;justify-content:center;padding:4px;transition:color .15s ease}.password-toggle:hover{color:var(--primary)}.login-btn{width:100%;padding:12px;background:#14532D;color:#FFFFFF!important;border:none;border-radius:8px;font-family:var(--font-body);font-size:14.5px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 2px 8px rgba(20,83,45,.22);transition:all .18s ease;margin-top:10px}.login-btn,.login-btn *,.login-btn span,.login-btn svg{color:#FFFFFF!important;stroke:#FFFFFF!important}.login-btn:hover:not(:disabled){background:#0F3D21;transform:translateY(-1px);box-shadow:0 4px 14px rgba(20,83,45,.32);color:#FFFFFF!important}.login-btn:active:not(:disabled){transform:scale(.97)}.login-btn:disabled{opacity:.65;cursor:not-allowed}.error-msg{display:flex;align-items:center;gap:8px;background:#FEF2F2;border:1px solid #fecaca;color:#DC2626;border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;margin-bottom:18px}.login-footer{text-align:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--border);font-size:12px;color:var(--text-sm)}.login-footer a{color:var(--primary);font-weight:500}.login-footer a:hover{text-decoration:underline}@media (max-width:480px){.login-box{padding:26px 20px;border-radius:var(--radius)}.login-brand-name{font-size:19px}}