.runwai-toast-layer{z-index:9999;pointer-events:none;flex-direction:column;gap:12px;width:100%;max-width:380px;display:flex;position:fixed;top:24px;right:24px}.runwai-toast{pointer-events:auto;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;align-items:flex-start;gap:12px;width:100%;padding:14px 16px;animation:.28s cubic-bezier(.16,1,.3,1) runwai-toast-in;display:flex;box-shadow:0 4px 14px #10182814,0 1px 3px #1018280f}.runwai-toast.leaving{animation:.22s forwards runwai-toast-out}.runwai-toast.error{background:#fef2f2;border-color:#fecaca}.runwai-toast-icon{background:#059669;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;display:flex}.runwai-toast.error .runwai-toast-icon{background:#dc2626}.runwai-toast-icon svg{width:11px;height:11px}.runwai-toast-text{color:#065f46;font-size:14px;line-height:1.5}.runwai-toast.error .runwai-toast-text{color:#991b1b}.runwai-toast-text strong{font-weight:600}.runwai-toast-close{cursor:pointer;color:#065f46;opacity:.5;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:2px;line-height:0}.runwai-toast.error .runwai-toast-close{color:#991b1b}.runwai-toast-close:hover{opacity:.9}.runwai-toast-close svg{width:14px;height:14px}@keyframes runwai-toast-in{0%{opacity:0;transform:translate(24px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes runwai-toast-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(24px)scale(.98)}}@media (prefers-reduced-motion:reduce){.runwai-toast,.runwai-toast.leaving{animation:none}}@media (width<=640px){.runwai-toast-layer{max-width:none;top:16px;left:16px;right:16px}}.login-page{--login-bg:#fafafa;--login-panel:#fff;--login-ink:#111827;--login-ink-soft:#4b5563;--login-ink-faint:#9ca3af;--login-border:#e5e7eb;--login-accent:#2563eb;--login-accent-ring:#2563eb2e;--login-success:#059669;--login-danger:#dc2626;--login-danger-soft:#fef2f2;--login-radius:10px;--login-shadow-sm:0 1px 2px #1018280a;--login-shadow-md:0 4px 14px #10182812;--login-shadow-lg:0 12px 32px #1018281a;background:var(--login-bg);min-height:100vh;color:var(--login-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.login-page .login-wrap{grid-template-columns:46% 54%;min-height:100vh;display:grid}.login-page .login-brand{border-right:1px solid var(--login-border);background:radial-gradient(120% 100% at 0 0,#2563eb0e 0%,#2563eb00 55%),linear-gradient(#fff 0%,#fcfdff 100%);flex-direction:column;padding:44px 56px;display:flex;position:relative;overflow:hidden}.login-page .login-brand-dots{opacity:.55;pointer-events:none;background-image:radial-gradient(circle,#d8dee9 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70% at 30% 40%,#000 0%,#0000 75%);mask-image:radial-gradient(70% 70% at 30% 40%,#000 0%,#0000 75%)}.login-page .login-logo-mark{background:linear-gradient(135deg, var(--login-accent), #60a5fa);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex;box-shadow:0 2px 8px #2563eb47}.login-page .login-logo-mark svg{width:14px;height:14px}.login-page .login-logo{letter-spacing:-.01em;z-index:2;align-items:center;gap:9px;font-size:17px;font-weight:700;display:flex;position:relative}.login-page .login-brand-body{z-index:2;max-width:420px;margin:auto 0;position:relative}.login-page .login-brand-body h1{letter-spacing:-.02em;color:var(--login-ink);margin:0 0 14px;font-size:34px;font-weight:800;line-height:1.18}.login-page .login-brand-body>p{color:var(--login-ink-soft);margin:0 0 32px;font-size:15px;line-height:1.6}.login-page .login-preview-card{background:var(--login-panel);border:1px solid var(--login-border);box-shadow:var(--login-shadow-md);border-radius:14px;padding:20px 20px 18px}.login-page .login-preview-label{text-transform:uppercase;letter-spacing:.06em;color:var(--login-ink-faint);margin-bottom:14px;font-size:11px;font-weight:600}.login-page .login-preview-status{border-top:1px dashed var(--login-border);font-family:var(--font-mono);color:var(--login-ink-soft);align-items:center;gap:8px;margin-top:16px;padding-top:14px;font-size:12px;display:flex}.login-page .login-live-dot{background:var(--login-accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s ease-in-out infinite login-blink}@keyframes login-blink{0%,to{opacity:1}50%{opacity:.3}}.login-page .login-proof{z-index:2;color:var(--login-ink-faint);margin-top:40px;font-size:12.5px;position:relative}.login-page .login-form-side{background:var(--login-bg);justify-content:center;align-items:center;padding:40px 32px;display:flex}.login-page .login-form-card{width:100%;max-width:380px}.login-page .login-form-card:has(.login-field-row){max-width:480px}.login-page .login-mobile-logo{align-items:center;gap:9px;margin-bottom:28px;font-size:17px;font-weight:700;display:none}.login-page .login-form-head h2{letter-spacing:-.015em;margin:0 0 6px;font-size:25px;font-weight:800}.login-page .login-form-head p{color:var(--login-ink-soft);margin:0 0 28px;font-size:14px}.login-page .login-oauth-group{flex-direction:column;gap:10px;margin-bottom:22px;display:flex}.login-page .login-oauth-btn{background:var(--login-panel);border:1px solid var(--login-border);border-radius:var(--login-radius);width:100%;color:var(--login-ink);cursor:pointer;box-shadow:var(--login-shadow-sm);justify-content:center;align-items:center;gap:10px;padding:11px 14px;font-size:14px;font-weight:600;transition:box-shadow .15s,transform .15s,border-color .15s,opacity .15s;display:flex}.login-page .login-oauth-btn:hover:not(:disabled){box-shadow:var(--login-shadow-md);border-color:#d1d5db;transform:translateY(-1px)}.login-page .login-oauth-btn:disabled{opacity:.7;cursor:not-allowed}.login-page .login-oauth-btn svg{flex-shrink:0;width:18px;height:18px}.login-page .login-divider{align-items:center;gap:12px;margin:20px 0;display:flex}.login-page .login-divider:before,.login-page .login-divider:after{content:"";background:var(--login-border);flex:1;height:1px}.login-page .login-divider span{color:var(--login-ink-faint);font-size:12px;font-weight:500}.login-page .login-field{margin-bottom:16px}.login-page .login-field-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.login-page .login-field-row .login-field{min-width:0;margin-bottom:0}.login-page .login-field label{color:var(--login-ink);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.login-page .login-field-input-wrap{position:relative}.login-page .login-field input{width:100%;font-size:14px;font-family:var(--font-sans);border:1px solid var(--login-border);border-radius:var(--login-radius);background:var(--login-panel);color:var(--login-ink);outline:none;padding:11px 13px;transition:border-color .15s,box-shadow .15s}.login-page .login-field input::placeholder{color:var(--login-ink-faint)}.login-page .login-field input:focus{border-color:var(--login-accent);box-shadow:0 0 0 3.5px var(--login-accent-ring)}.login-page .login-field.error input{border-color:var(--login-danger)}.login-page .login-field.error input:focus{box-shadow:0 0 0 3.5px #dc262624}.login-page .login-field-error-msg{color:var(--login-danger);margin-top:6px;font-size:12px;font-weight:500;display:none}.login-page .login-field.error .login-field-error-msg{display:block}.login-page .login-show-toggle{color:var(--login-ink-faint);cursor:pointer;background:0 0;border:none;padding:4px;font-size:12px;font-weight:600;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.login-page .login-show-toggle:hover{color:var(--login-ink-soft)}.login-page .login-row-between{justify-content:flex-end;margin:-6px 0 20px;display:flex}.login-page .login-forgot-link{color:var(--login-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:none}.login-page .login-forgot-link:hover{text-decoration:underline}.login-page .login-banner-success{color:#065f46;border-radius:var(--login-radius);background:#ecfdf5;border:1px solid #6ee7b7;align-items:flex-start;gap:8px;margin-bottom:22px;padding:12px 14px;font-size:13px;font-weight:500;line-height:1.55;display:none}.login-page .login-banner-success.show{display:flex}.login-page .login-banner-success strong{color:#047857;font-weight:600}.login-page .login-banner-error{background:var(--login-danger-soft);color:#991b1b;border-radius:var(--login-radius);border:1px solid #fca5a5;align-items:center;gap:8px;margin-bottom:18px;padding:10px 12px;font-size:13px;font-weight:500;display:none}.login-page .login-banner-error.show{display:flex}.login-page .login-submit-btn{background:var(--login-accent);color:#fff;border-radius:var(--login-radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 14px;font-size:14.5px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:flex;box-shadow:0 2px 10px #2563eb47}.login-page .login-submit-btn:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)scale(1.01);box-shadow:0 4px 16px #2563eb57}.login-page .login-submit-btn:active:not(:disabled){transform:translateY(0)scale(.995)}.login-page .login-submit-btn.loading{pointer-events:none;opacity:.85}.login-page .login-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite login-spin;display:none}.login-page .login-submit-btn.loading .login-spinner{display:inline-block}.login-page .login-submit-btn.loading .login-btn-label{display:none}@keyframes login-spin{to{transform:rotate(360deg)}}.login-page .login-signup-line{text-align:center;color:var(--login-ink-soft);margin-top:22px;font-size:13.5px}.login-page .login-signup-line button,.login-page .login-signup-line a{color:var(--login-accent);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:none}.login-page .login-signup-line button:hover,.login-page .login-signup-line a:hover{text-decoration:underline}.login-page .login-legal{text-align:center;color:var(--login-ink-faint);margin-top:28px;font-size:11.5px;line-height:1.6}.login-page .login-legal button{color:var(--login-ink-soft);text-underline-offset:2px;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.login-page .login-legal a{color:var(--login-ink-soft);text-underline-offset:2px;font-weight:500;text-decoration:underline}.login-page .login-legal a:hover{color:var(--login-ink)}.login-page button:focus-visible,.login-page input:focus-visible{outline:2px solid var(--login-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.login-page .login-live-dot,.login-page .login-spinner{animation:none!important}}@media (width<=900px){.login-page .login-wrap{grid-template-columns:1fr}.login-page .login-brand{display:none}.login-page .login-mobile-logo{display:flex}.login-page .login-form-side{padding:32px 20px}}@media (width<=520px){.login-page .login-field-row{grid-template-columns:1fr;gap:0}.login-page .login-field-row .login-field{margin-bottom:16px}.login-page .login-field-row .login-field:last-child{margin-bottom:0}}
