.auth-layout{background:var(--sui-color-bg,#0a0a0f);min-height:100dvh;color:var(--sui-color-text);font-family:var(--sui-font-sans);justify-content:flex-end;align-items:center;display:flex;position:relative}.auth-bg{z-index:0;position:absolute;inset:0;overflow:hidden}.auth-bg__image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.auth-bg__overlay{z-index:1;background:var(--sui-auth-bg-overlay);pointer-events:none;position:absolute;inset:0}.auth-panel{z-index:2;padding:var(--sui-space-8);flex:1;justify-content:flex-end;align-items:center;display:flex;position:relative}@media (max-width:768px){.auth-panel{padding:var(--sui-space-4);justify-content:center}}.auth-card{border-radius:var(--sui-radius-xl);width:100%;max-width:380px;padding:var(--sui-space-8) var(--sui-space-6);background:#0e1118e0;border:1px solid #ffffff0f;margin-right:5vw}@media (max-width:768px){.auth-card{max-width:100%;margin-right:0}}.auth-brand{justify-content:center;align-items:center;gap:var(--sui-space-3);margin-bottom:var(--sui-space-6);display:flex}.auth-card h1{font-size:var(--sui-text-xl);font-weight:var(--sui-weight-bold);margin:0 0 var(--sui-space-1) 0;color:var(--sui-color-text);text-align:center}.auth-card p.subtitle{color:var(--sui-color-text-secondary);font-size:var(--sui-text-sm);margin:0 0 var(--sui-space-5) 0;text-align:center}.auth-form{gap:var(--sui-space-3);flex-direction:column;display:flex}.form-group{gap:var(--sui-space-1);flex-direction:column;display:flex}.form-group label{font-size:var(--sui-text-sm);font-weight:var(--sui-weight-medium);color:var(--sui-color-text-secondary)}.form-group input,.form-group select,.sui-input{padding:var(--sui-space-3) var(--sui-space-4);border:1px solid var(--sui-color-border);border-radius:var(--sui-radius-md);background:var(--sui-color-surface);color:var(--sui-color-text);font-size:var(--sui-text-base);font-family:var(--sui-font-sans);transition:border-color var(--sui-duration-mid) ease, box-shadow var(--sui-duration-mid) ease;line-height:1.5}.form-group input:focus,.form-group select:focus{border-color:var(--sui-color-accent);box-shadow:0 0 0 3px var(--sui-color-accent-subtle);outline:none}.form-group input::placeholder{color:var(--sui-color-text-muted)}.input-with-action{position:relative}.input-with-action input{width:100%;padding-right:44px}.input-action-btn{right:var(--sui-space-2);color:var(--sui-color-text-muted);cursor:pointer;padding:var(--sui-space-1);border-radius:var(--sui-radius-sm);transition:color var(--sui-duration-mid) ease;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.input-action-btn:hover{color:var(--sui-color-text)}.auth-options-row{justify-content:space-between;align-items:center;display:flex}.checkbox-label{align-items:center;gap:var(--sui-space-2);font-size:var(--sui-text-sm);color:var(--sui-color-text-secondary);cursor:pointer;display:flex}.checkbox-label input[type=checkbox]{border-radius:var(--sui-radius-sm);width:16px;height:16px;accent-color:var(--sui-color-accent)}.auth-link{font-size:var(--sui-text-sm);color:var(--sui-color-accent);font-weight:var(--sui-weight-medium);transition:color var(--sui-duration-mid) ease;text-decoration:none}.auth-link:hover{color:var(--sui-color-accent-hover)}.btn-primary{padding:var(--sui-space-3) var(--sui-space-6);background:var(--sui-color-accent);color:var(--sui-color-text-on-accent);border-radius:var(--sui-radius-lg);font-size:var(--sui-text-base);font-weight:var(--sui-weight-semibold);font-family:var(--sui-font-sans);cursor:pointer;transition:background var(--sui-duration-mid) ease, transform var(--sui-duration-fast) ease;border:none}.btn-primary:hover:not(:disabled){background:var(--sui-color-accent-hover)}.btn-primary:active:not(:disabled){background:var(--sui-color-accent-active)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-full{width:100%}.social-login-row{gap:var(--sui-space-3);margin-bottom:var(--sui-space-4);grid-template-columns:1fr 1fr;display:grid}.btn-social{justify-content:center;align-items:center;gap:var(--sui-space-2);padding:var(--sui-space-3) var(--sui-space-4);border:1px solid var(--sui-color-border);border-radius:var(--sui-radius-lg);color:var(--sui-color-text);font-size:var(--sui-text-sm);font-weight:var(--sui-weight-medium);font-family:var(--sui-font-sans);cursor:pointer;transition:background var(--sui-duration-mid) ease, border-color var(--sui-duration-mid) ease;background:0 0;display:flex}.btn-social:hover{background:var(--sui-color-surface);border-color:var(--sui-color-text-muted)}.divider{align-items:center;gap:var(--sui-space-3);color:var(--sui-color-text-muted);font-size:var(--sui-text-sm);margin:var(--sui-space-5) 0;display:flex}.divider:before,.divider:after{content:"";background:var(--sui-color-border);flex:1;height:1px}.auth-footer{text-align:center;font-size:var(--sui-text-sm);color:var(--sui-color-text-secondary);margin-top:var(--sui-space-5);padding-bottom:var(--sui-space-2)}.auth-footer a{color:var(--sui-color-accent);font-weight:var(--sui-weight-medium);transition:color var(--sui-duration-mid) ease;text-decoration:none}.auth-footer a:hover{color:var(--sui-color-accent-hover)}.form-error{color:var(--sui-color-error);font-size:var(--sui-text-sm);padding:var(--sui-space-3);background:var(--sui-color-error-subtle);border-radius:var(--sui-radius-md);border:1px solid var(--sui-color-error-muted)}.form-success{background:var(--sui-color-success-subtle);color:var(--sui-color-success);padding:var(--sui-space-4);border-radius:var(--sui-radius-md);text-align:center;font-size:var(--sui-text-sm);border:1px solid var(--sui-color-success-muted)}.password-strength{gap:var(--sui-space-1);margin-top:var(--sui-space-1);display:flex}.password-strength .bar{background:var(--sui-color-border);height:4px;transition:background var(--sui-duration-mid) ease;border-radius:2px;flex:1}.password-strength .bar.weak{background:var(--sui-color-error)}.password-strength .bar.medium{background:var(--sui-color-warning)}.password-strength .bar.strong{background:var(--sui-color-success)}.password-strength .bar.filled{background:var(--sui-color-accent)}.password-requirements{margin:var(--sui-space-2) 0 0 0;font-size:var(--sui-text-xs);color:var(--sui-color-text-muted);gap:var(--sui-space-1);flex-direction:column;padding:0;list-style:none;display:flex}.password-requirements li.met{color:var(--sui-color-success)}.auth-icon-row{text-align:center;margin-bottom:var(--sui-space-3)}.auth-icon-row svg{stroke:var(--sui-color-accent)}.auth-info-banner{background:var(--sui-color-accent-subtle);border:1px solid var(--sui-color-accent-muted);border-radius:var(--sui-radius-md);padding:var(--sui-space-3) var(--sui-space-4);font-size:var(--sui-text-sm);color:var(--sui-color-text-muted);margin-bottom:var(--sui-space-4)}.auth-text-center{text-align:center}.auth-mb-2{margin-bottom:var(--sui-space-2)}.auth-mb-3{margin-bottom:var(--sui-space-3)}.auth-mb-4{margin-bottom:var(--sui-space-4)}.auth-mt-3{margin-top:var(--sui-space-3)}.auth-w-full{width:100%}.auth-button-link{text-decoration:none;display:inline-block}.auth-wide-card{max-width:680px}.auth-section-heading{font-size:var(--sui-text-xl);margin:0 0 var(--sui-space-2);text-align:center;font-weight:600}.auth-section-subtitle{text-align:center;color:var(--sui-color-text-muted);font-size:var(--sui-text-sm);margin:0 0 var(--sui-space-5)}.plan-grid{gap:var(--sui-space-4);margin-bottom:var(--sui-space-4);grid-template-columns:1fr 1fr;display:grid}.plan-tile{background:var(--sui-color-surface);border:1px solid var(--sui-color-border);border-radius:var(--sui-radius-lg);padding:var(--sui-space-5);cursor:pointer;transition:border-color var(--sui-duration-mid) ease, transform var(--sui-duration-mid) ease;text-align:left;font:inherit;color:inherit;position:relative}.plan-tile:hover{border-color:var(--sui-color-border-strong);transform:translateY(-1px)}.plan-tile--selected{border-color:var(--sui-color-accent);box-shadow:0 0 0 1px var(--sui-color-accent)}.plan-tile__name{font-size:var(--sui-text-md);margin-bottom:var(--sui-space-1);font-weight:600}.plan-tile__price{font-size:var(--sui-text-2xl);margin-bottom:var(--sui-space-3);font-weight:700}.plan-tile__price-sub{font-size:var(--sui-text-sm);color:var(--sui-color-text-muted);font-weight:400}.plan-tile__features{gap:var(--sui-space-1);font-size:var(--sui-text-sm);color:var(--sui-color-text-muted);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-tile__check{color:var(--sui-color-success);margin-right:var(--sui-space-1)}.plan-tile__badge{top:-10px;right:var(--sui-space-4);background:var(--sui-color-count-strong-bg);color:var(--sui-color-count-strong-text);font-family:var(--sui-font-mono);font-size:var(--sui-type-eyebrow);font-weight:var(--sui-weight-medium);padding:2px var(--sui-space-2);border-radius:var(--sui-radius-tag);text-transform:uppercase;letter-spacing:var(--sui-tracking-eyebrow);position:absolute}.plan-tile__price-row{margin-bottom:var(--sui-space-2)}.plan-tile__price-period{font-size:var(--sui-text-sm);color:var(--sui-color-text-muted);margin-left:2px}.plan-tile__description{font-size:var(--sui-text-sm);color:var(--sui-color-text-muted);margin:0 0 var(--sui-space-4)}.plan-tile__features-list{margin:0 0 var(--sui-space-4);flex:1;padding:0;list-style:none}.plan-tile__feature{font-size:var(--sui-text-sm);color:var(--sui-color-text);padding:var(--sui-space-1) 0;align-items:center;gap:var(--sui-space-2);display:flex}.plan-tile__feature-bullet{color:var(--sui-color-success);font-size:var(--sui-text-sm)}.plan-tile__cta{width:100%}.plan-contact-line{text-align:center;margin-top:var(--sui-space-5);font-size:var(--sui-text-sm);color:var(--sui-color-text-muted)}.mfa-page{min-height:100vh;padding:var(--sui-space-6);justify-content:center;align-items:center;display:flex}.mfa-card{width:400px;padding:var(--sui-space-6);background:var(--sui-color-surface-raised);border:1px solid var(--sui-color-border);border-radius:var(--sui-radius-lg)}.mfa-heading{font-size:var(--sui-text-xl);margin-bottom:var(--sui-space-2);font-weight:600}.mfa-subtitle{font-size:var(--sui-text-sm);color:var(--sui-color-text-muted);margin-bottom:var(--sui-space-5)}.mfa-code-input{letter-spacing:.3em;text-align:center;font-family:var(--sui-font-mono);font-size:var(--sui-text-xl)}.mfa-error{color:var(--sui-color-error);font-size:var(--sui-text-sm);margin-top:var(--sui-space-2)}.mfa-submit{width:100%;margin-top:var(--sui-space-4)}
