.login-page[data-v-e1214acb]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f0c29;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);padding:1rem;position:relative;overflow:hidden}.blob[data-v-e1214acb]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;animation:blobFloat-e1214acb 8s ease-in-out infinite}.blob-1[data-v-e1214acb]{width:400px;height:400px;background:#6c63ff;top:-100px;left:-100px;animation-delay:0s}.blob-2[data-v-e1214acb]{width:350px;height:350px;background:#3ecfcf;bottom:-80px;right:-80px;animation-delay:-3s}.blob-3[data-v-e1214acb]{width:250px;height:250px;background:#f64f59;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-6s}@keyframes blobFloat-e1214acb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.login-card[data-v-e1214acb]{display:flex;width:100%;max-width:900px;min-height:520px;border-radius:24px;overflow:hidden;box-shadow:0 25px 60px #0006;animation:cardEnter-e1214acb .6s cubic-bezier(.16,1,.3,1) both;position:relative;z-index:1}@keyframes cardEnter-e1214acb{0%{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-left[data-v-e1214acb]{flex:1;background:linear-gradient(160deg,#6c63ff,#3ecfcf);display:flex;align-items:center;justify-content:center;padding:3rem 2.5rem}@media(max-width:640px){.login-left[data-v-e1214acb]{display:none}}.left-content[data-v-e1214acb]{color:#fff;text-align:center}.brand-icon[data-v-e1214acb]{width:64px;height:64px;background:#fff3;border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand-icon svg[data-v-e1214acb]{width:32px;height:32px;stroke:#fff}.left-content h2[data-v-e1214acb]{font-size:1.75rem;font-weight:700;letter-spacing:2px;margin-bottom:.75rem}.left-content p[data-v-e1214acb]{font-size:.9rem;opacity:.85;line-height:1.6;margin-bottom:2rem}.features[data-v-e1214acb]{text-align:left;display:inline-block}.feature-item[data-v-e1214acb]{display:flex;align-items:center;gap:.6rem;font-size:.85rem;opacity:.9;margin-bottom:.6rem}.feature-dot[data-v-e1214acb]{width:8px;height:8px;background:#fffc;border-radius:50%;flex-shrink:0}.login-right[data-v-e1214acb]{flex:1;background:#fff;display:flex;align-items:center;justify-content:center;padding:3rem 2.5rem}.form-wrapper[data-v-e1214acb]{width:100%;max-width:360px}.form-header[data-v-e1214acb]{margin-bottom:2rem}.form-header h1[data-v-e1214acb]{font-size:1.75rem;font-weight:700;color:#1a1a2e;margin-bottom:.4rem}.form-header p[data-v-e1214acb]{font-size:.875rem;color:#6b7280}.error-alert[data-v-e1214acb]{display:flex;align-items:center;gap:.5rem;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:10px;padding:.65rem .9rem;font-size:.82rem;margin-bottom:1rem}.field-group[data-v-e1214acb]{margin-bottom:1.25rem}.field-group label[data-v-e1214acb]{display:block;font-size:.8rem;font-weight:600;color:#374151;margin-bottom:.4rem;letter-spacing:.3px}.input-wrap[data-v-e1214acb]{position:relative}.input-icon[data-v-e1214acb]{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);width:17px;height:17px;stroke:#9ca3af;pointer-events:none;transition:stroke .2s}.input-wrap input[data-v-e1214acb]{width:100%;padding:.75rem .9rem .75rem 2.6rem;border:1.5px solid #e5e7eb;border-radius:12px;font-size:.875rem;color:#1a1a2e;background:#f9fafb;outline:none;transition:border-color .2s,background .2s,box-shadow .2s}.input-wrap input[data-v-e1214acb]:focus{border-color:#6c63ff;background:#fff;box-shadow:0 0 0 3px #6c63ff1f}.input-wrap input:focus+.input-icon[data-v-e1214acb],.input-wrap:focus-within .input-icon[data-v-e1214acb]{stroke:#6c63ff}.input-wrap input.has-error[data-v-e1214acb]{border-color:#dc2626}.eye-toggle[data-v-e1214acb]{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;color:#9ca3af;transition:color .2s}.eye-toggle[data-v-e1214acb]:hover{color:#6c63ff}.eye-toggle svg[data-v-e1214acb]{width:17px;height:17px}.remember-row[data-v-e1214acb]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.forgot-link[data-v-e1214acb]{font-size:.8rem;color:#6c63ff;font-weight:600;text-decoration:none}.forgot-link[data-v-e1214acb]:hover{text-decoration:underline}.checkbox-label[data-v-e1214acb]{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:#4b5563;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox][data-v-e1214acb]{display:none}.checkmark[data-v-e1214acb]{width:17px;height:17px;border:1.5px solid #d1d5db;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;flex-shrink:0}.checkbox-label input[type=checkbox]:checked~.checkmark[data-v-e1214acb]{background:#6c63ff;border-color:#6c63ff}.checkbox-label input[type=checkbox]:checked~.checkmark[data-v-e1214acb]:after{content:"";display:block;width:4px;height:7px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}.login-btn[data-v-e1214acb]{width:100%;padding:.85rem;background:linear-gradient(135deg,#6c63ff,#3ecfcf);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 15px #6c63ff59}.login-btn[data-v-e1214acb]:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 8px 20px #6c63ff73}.login-btn[data-v-e1214acb]:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 10px #6c63ff4d}.login-btn[data-v-e1214acb]:disabled{opacity:.7;cursor:not-allowed}.btn-inner[data-v-e1214acb]{display:flex;align-items:center;justify-content:center;gap:.5rem}.bottom-link[data-v-e1214acb]{text-align:center;font-size:.82rem;color:#6b7280;margin:1.25rem 0 0}.bottom-link a[data-v-e1214acb]{color:#6c63ff;font-weight:600;text-decoration:none}.bottom-link a[data-v-e1214acb]:hover{text-decoration:underline}@keyframes spin-e1214acb{to{transform:rotate(360deg)}}.spin[data-v-e1214acb]{animation:spin-e1214acb .8s linear infinite}
