#app{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f7fa;color:#2c3e50;line-height:1.6}.form-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.form-card{background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:450px}.form-title{font-size:28px;font-weight:600;color:#2c3e50;margin-bottom:10px;text-align:center}.form-subtitle{font-size:14px;color:#7f8c8d;margin-bottom:30px;text-align:center}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:500;color:#2c3e50;margin-bottom:8px}.form-label .required{color:#e74c3c;margin-left:4px}.form-input{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:15px;transition:all .3s}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input.error{border-color:#e74c3c}.error-message{color:#e74c3c;font-size:13px;margin-top:5px}.form-button{width:100%;padding:14px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.form-button:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.form-button:disabled{background:#cbd5e0;cursor:not-allowed;transform:none}.form-link{text-align:center;margin-top:20px;font-size:14px;color:#7f8c8d}.form-link a{color:#667eea;text-decoration:none;font-weight:500}.form-link a:hover{text-decoration:underline}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.alert-error{background:#fee;color:#c33;border:1px solid #fcc}.alert-success{background:#efe;color:#3c3;border:1px solid #cfc}.spinner{border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite;display:inline-block;margin-right:8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.text-center{text-align:center}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}
