:root{--auth-bg-canvas:#f4f7fb;--auth-primary:#0066f5;--auth-primary-hover:#0052cc;--auth-primary-light:#e9f2fe;--auth-text-dark:#0f172a;--auth-text-heading:#1e293b;--auth-text-muted:#64748b;--auth-text-placeholder:#8ea1b8;--auth-border-color:#e2e8f0;--auth-card-bg:#fff}.auth-page-root{background-color:var(--auth-bg-canvas);width:100%;min-height:100vh;font-family:var(--font-sans,system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);color:var(--auth-text-dark);box-sizing:border-box;background-image:radial-gradient(circle at 15% 15%,#dbeafe73 0%,#0000 45%),radial-gradient(circle at 85% 80%,#e0edff80 0%,#0000 45%);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow-x:hidden}.auth-header-bar{box-sizing:border-box;z-index:10;justify-content:space-between;align-items:center;width:100%;padding:1.25rem 2.5rem;display:flex}.auth-brand-wrap{align-items:center;text-decoration:none;transition:opacity .2s;display:inline-flex}.auth-brand-wrap:hover{opacity:.85}.auth-header-actions{align-items:center;gap:1rem;display:flex}.auth-badge-pill{color:#334155;letter-spacing:.02em;background:#fff;border:1px solid #e2e8f0;border-radius:9999px;align-items:center;gap:.45rem;padding:.35rem .85rem;font-size:.75rem;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #0000000a}.auth-badge-dot{background:#10b981;border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 6px #10b98199}.auth-page-root--control .auth-badge-dot{background:#0ea5e9;box-shadow:0 0 6px #0ea5e999}.auth-back-link{color:#64748b;align-items:center;gap:.3rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.auth-back-link:hover{color:#0f172a}.auth-main-layout{box-sizing:border-box;z-index:5;flex:1;justify-content:center;align-items:center;width:100%;padding:1.5rem 2rem 2.5rem;display:flex}.auth-split-grid{grid-template-columns:minmax(320px,480px) minmax(360px,440px);justify-content:center;align-items:center;gap:4.5rem;width:100%;max-width:1140px;display:grid}.auth-left-hero{text-align:center;flex-direction:column;align-items:center;max-width:480px;margin:0 auto;display:flex}.auth-hero-branding{justify-content:center;margin-bottom:1.25rem;display:flex}.auth-hero-headline{color:#1e3a8a;letter-spacing:-.03em;margin:0 0 1.25rem;font-size:clamp(1.65rem,2.2vw,2.15rem);font-weight:700;line-height:1.2}.auth-illustration-container{justify-content:center;align-items:center;width:100%;max-width:440px;margin:0 auto 1.5rem;display:flex}.auth-illustration-img{object-fit:contain;filter:drop-shadow(0 12px 28px #1e3a8a17);border-radius:16px;width:100%;height:auto;max-height:330px;transition:transform .3s}.auth-illustration-img:hover{transform:scale(1.015)}.auth-hero-tagline{color:#475569;max-width:380px;margin:0;font-size:1.0625rem;font-weight:400;line-height:1.55}.auth-right-form-pane{justify-content:center;width:100%;display:flex}.auth-clean-card{background:var(--auth-card-bg);box-sizing:border-box;border:1px solid #e2e8f0e6;border-radius:20px;width:100%;max-width:450px;padding:3rem 2.5rem;animation:.4s ease-out forwards authCardFadeIn;box-shadow:0 10px 30px -4px #0f172a0d,0 20px 45px -12px #0f172a0a}@keyframes authCardFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-card-heading{color:var(--auth-text-heading);letter-spacing:-.025em;text-align:left;margin:0 0 .5rem;font-size:1.7rem;font-weight:700}.auth-card-subheading{color:var(--auth-text-muted);text-align:left;margin:0 0 1.5rem;font-size:.875rem;line-height:1.45}.auth-demo-pill-card{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.65rem .85rem;transition:all .2s;display:flex}.auth-demo-text{text-align:left;flex-direction:column;gap:.15rem;display:flex}.auth-demo-role{color:#15803d;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:flex}.auth-demo-email{color:#166534;font-family:monospace;font-size:.75rem}.auth-demo-action-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#16a34a;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s}.auth-demo-action-btn:hover{background:#15803d;transform:translateY(-1px);box-shadow:0 2px 8px #16a34a4d}.auth-demo-action-btn:active{transform:translateY(0)}.auth-alert-box{text-align:left;border-radius:8px;align-items:flex-start;gap:.6rem;margin-bottom:1.25rem;padding:.85rem 1rem;font-size:.8125rem;line-height:1.4;display:flex}.auth-alert-box--error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.auth-alert-box--success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.auth-alert-svg{flex-shrink:0;width:1.125rem;height:1.125rem;margin-top:.05rem}.auth-fields-form{text-align:left;flex-direction:column;gap:1.25rem;display:flex}.auth-field-group{flex-direction:column;display:flex}.auth-field-label{color:#334155;text-align:left;margin-bottom:.45rem;font-size:.875rem;font-weight:500}.auth-soft-input{background:var(--auth-primary-light);width:100%;color:var(--auth-text-dark);box-sizing:border-box;border:1.5px solid #0000;border-radius:8px;padding:.85rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.auth-soft-input::placeholder{color:var(--auth-text-placeholder)}.auth-soft-input:hover{background:#e2edfd}.auth-soft-input:focus{border-color:var(--auth-primary);background:#fff;outline:none;box-shadow:0 0 0 3px #0066f526}.auth-password-wrapper{align-items:center;width:100%;display:flex;position:relative}.auth-soft-input--password{padding-right:2.75rem}.auth-eye-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;padding:.35rem;transition:color .15s;display:grid;position:absolute;right:.75rem}.auth-eye-btn:hover{color:#0f172a}.auth-eye-btn svg{width:1.15rem;height:1.15rem}.auth-inline-error{color:#dc2626;margin-top:.35rem;font-size:.75rem}.auth-primary-submit-btn{background:var(--auth-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 14px #0066f540}.auth-primary-submit-btn:hover:not(:disabled){background:var(--auth-primary-hover);transform:translateY(-1px);box-shadow:0 6px 18px #0066f559}.auth-primary-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-primary-submit-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.auth-btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite authSpin}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-forgot-row{text-align:center;color:var(--auth-text-muted);margin:.75rem 0 0;font-size:.8125rem}.auth-link-text-btn{color:var(--auth-primary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.8125rem;font-weight:500;text-decoration:none;transition:color .15s}.auth-link-text-btn:hover{color:var(--auth-primary-hover);text-decoration:underline}.auth-or-divider{color:#94a3b8;align-items:center;margin:1.25rem 0;font-size:.8125rem;display:flex}.auth-or-divider:before,.auth-or-divider:after{content:"";background:var(--auth-border-color);flex:1;height:1px}.auth-or-divider span{padding:0 .85rem}.auth-google-oauth-btn{border:1.5px solid var(--auth-primary);width:100%;color:var(--auth-primary);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.65rem;padding:.75rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.auth-google-oauth-btn:hover{border-color:var(--auth-primary-hover);color:var(--auth-primary-hover);background:#f0f7ff}.auth-google-icon{flex-shrink:0}.auth-portal-switch{text-align:center;color:var(--auth-text-muted);border-top:1px solid #f1f5f9;margin-top:1.75rem;padding-top:1.25rem;font-size:.8125rem}.auth-portal-link{color:var(--auth-primary);margin-left:.25rem;font-weight:600;text-decoration:none;transition:color .15s}.auth-portal-link:hover{color:var(--auth-primary-hover);text-decoration:underline}.auth-footer-bar{text-align:center;color:#64748b;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;font-size:.8125rem;display:flex}.auth-footer-bar a{color:#475569;text-decoration:none;transition:color .15s}.auth-footer-bar a:hover{color:#0f172a;text-decoration:underline}.auth-footer-divider{color:#cbd5e1}.auth-modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:100;background:#0f172a73;place-items:center;padding:1.5rem;animation:.2s ease-out forwards authModalFade;display:grid;position:fixed;inset:0}@keyframes authModalFade{0%{opacity:0}to{opacity:1}}.auth-modal-card{text-align:left;background:#fff;border-radius:16px;width:100%;max-width:440px;padding:2rem;box-shadow:0 20px 40px #0000001f}.auth-modal-title{color:#0f172a;margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.auth-modal-body{color:#475569;margin:0 0 1.5rem;font-size:.9375rem;line-height:1.55}.auth-modal-actions{justify-content:flex-end;display:flex}.auth-modal-close-btn{background:var(--auth-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;transition:background .2s}.auth-modal-close-btn:hover{background:var(--auth-primary-hover)}@media (max-width:960px){.auth-header-bar{padding:1rem 1.5rem}.auth-split-grid{grid-template-columns:1fr;gap:2.25rem;max-width:480px}.auth-left-hero{max-width:100%}.auth-hero-branding{display:none}.auth-hero-headline{margin-bottom:.85rem;font-size:1.5rem}.auth-illustration-container{max-width:340px;margin-bottom:1rem}.auth-hero-tagline{max-width:360px;font-size:.9375rem}.auth-clean-card{padding:2.5rem 2rem}}@media (max-width:540px){.auth-header-bar{padding:.85rem 1rem}.auth-main-layout{padding:.75rem 1rem 1.5rem}.auth-clean-card{border-radius:16px;padding:2rem 1.25rem;box-shadow:0 4px 18px #0000000a}.auth-card-heading{margin-bottom:1.25rem;font-size:1.45rem}.auth-illustration-container{display:none}.auth-hero-headline{margin-bottom:.5rem;font-size:1.35rem}.auth-hero-tagline{margin-bottom:.5rem;font-size:.875rem}.auth-footer-bar{padding:1rem;font-size:.75rem}}
