:root{--auth-bg-primary:var(--color-black);--auth-bg-secondary:var(--color-neutral-900);--auth-bg-hover:#1f1f1f;--auth-border:#2d2d2d;--auth-border-hover:var(--color-neutral-800);--auth-border-focus:var(--color-neutral-700);--auth-text-primary:var(--color-white);--auth-text-secondary:var(--color-neutral-500);--auth-text-muted:#e1e1e1;--auth-error:var(--color-destructive-400);--auth-error-bg:rgba(185,74,55,.1);--auth-error-border:rgba(185,74,55,.3);--auth-success:var(--color-primary-400);--auth-success-muted:var(--color-primary-200)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--auth-bg-primary);font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth-container{width:100%;max-width:412px;margin:0 auto;padding:0 var(--space-5)}.auth-container--wide{max-width:480px}.auth-heading{font-family:var(--font-family-base);font-weight:var(--font-weight-light);font-size:var(--font-size-3xl);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-tight);color:var(--auth-text-primary);margin:0 0 var(--space-4) 0;text-align:center}.auth-heading-lg{font-size:36px;line-height:var(--line-height-tight)}.auth-subtext{font-family:var(--font-family-base);font-weight:var(--font-weight-normal);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--auth-text-secondary);text-align:center;margin:0}.auth-form-group,.auth-form-group-row{margin-bottom:var(--space-3)}.auth-form-group-row{display:flex;gap:var(--space-3)}.auth-form-group-row .auth-input{margin-bottom:0!important;flex:1}.auth-input,.auth-input-password{font-family:var(--font-family-base);width:100%;padding:var(--space-3) var(--space-4);background-color:var(--auth-bg-primary);border:1px solid var(--auth-border);border-radius:var(--radius-interactive);color:var(--auth-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);transition:all var(--transition-base);outline:none;margin-bottom:var(--space-3);-webkit-appearance:none;-moz-appearance:none;appearance:none}.auth-input-password{margin-bottom:var(--space-3)}.auth-input::-moz-placeholder{color:var(--auth-text-muted);font-weight:var(--font-weight-normal);opacity:1}.auth-input::placeholder{color:var(--auth-text-muted);font-weight:var(--font-weight-normal);opacity:1}.auth-input:hover:not(:focus):not(:disabled){border-color:var(--auth-border-hover)}.auth-input:focus{border-color:var(--auth-border-focus);box-shadow:0 0 0 1px hsla(0,0%,100%,.05)}.auth-input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--auth-bg-secondary)}.auth-input:focus-visible{outline:2px solid var(--auth-border-focus);outline-offset:2px}input.auth-input{background-image:none;background-clip:padding-box}.auth-button-primary{font-family:var(--font-family-base);display:block;width:100%;padding:var(--space-3) var(--space-6);background-color:var(--color-white);color:var(--color-black);border:none;border-radius:var(--radius-interactive);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:.01em;cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--space-3);position:relative;overflow:hidden;text-align:center;text-decoration:none}.auth-button-primary:hover:not(:disabled){background-color:var(--color-neutral-100);transform:translateY(-1px)}.auth-button-primary:active:not(:disabled){transform:translateY(0);background-color:var(--color-neutral-200)}.auth-button-primary:disabled{opacity:.5;cursor:not-allowed}.auth-button-primary:focus-visible{outline:2px solid var(--auth-border-focus);outline-offset:2px}.auth-button-secondary{font-family:var(--font-family-base);display:block;width:100%;padding:var(--space-3) var(--space-6);background-color:transparent;color:var(--auth-text-primary);border:1px solid var(--auth-border);border-radius:var(--radius-interactive);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:.01em;cursor:pointer;transition:all var(--transition-base);position:relative;text-align:center;text-decoration:none}.auth-button-secondary:hover:not(:disabled){background-color:var(--auth-bg-secondary);border-color:var(--auth-border-hover)}.auth-button-secondary:active:not(:disabled){background-color:#0f0f0f}.auth-button-secondary:disabled{opacity:.5;cursor:not-allowed}.auth-button-secondary:focus-visible{outline:2px solid var(--auth-border-focus);outline-offset:2px}.auth-button-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.auth-button-row .auth-button-primary,.auth-button-row .auth-button-secondary{flex:1;margin-bottom:0}.auth-link{font-family:var(--font-family-base);color:var(--auth-text-primary);text-decoration:none;text-underline-offset:2px;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);transition:all var(--transition-base);cursor:pointer}.auth-link:hover{color:var(--color-neutral-200);text-decoration-thickness:2px}.auth-link-muted{color:var(--auth-text-secondary);text-decoration:none;font-size:var(--font-size-sm)}.auth-link-muted:hover{color:var(--auth-text-primary);text-decoration:underline}.auth-magic-link{font-family:var(--font-family-base);background:none;border:none;color:var(--auth-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);cursor:pointer;padding:var(--space-2);transition:color var(--transition-base);text-decoration:none;display:block;width:100%;text-align:center}.auth-magic-link:hover{color:var(--auth-text-primary);text-decoration:underline;text-underline-offset:2px}.auth-register-link{margin-top:var(--space-6)}.auth-divider{position:relative;margin:var(--space-5) 0;text-align:center}.auth-divider-text{font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--auth-text-muted)}.auth-logo{position:fixed;top:var(--space-6);left:var(--space-6);z-index:var(--z-base)}.auth-logo svg{height:35px;width:35px}.auth-logotype{display:flex;justify-content:center;margin-bottom:var(--space-6)}.auth-logotype svg{height:24px;width:auto}.auth-forgot-link{display:block;text-align:right;margin-bottom:var(--space-3);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--auth-text-secondary);text-decoration:none;transition:color var(--transition-base)}.auth-forgot-link:hover{color:var(--auth-text-primary)}.auth-error{background-color:var(--auth-error-bg);border:1px solid var(--auth-error-border);border-radius:var(--radius-md);color:var(--auth-error)}.auth-error,.auth-success{font-family:var(--font-family-base);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);margin-bottom:var(--space-4)}.auth-success{background-color:rgba(122,204,90,.1);border:1px solid rgba(122,204,90,.3);color:var(--auth-success)}.auth-banner,.auth-success{border-radius:var(--radius-md)}.auth-banner{font-family:var(--font-family-base);display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);margin-bottom:var(--space-4);text-align:left}.auth-banner-icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}.auth-banner-body{flex:1;min-width:0}.auth-banner-title{font-weight:var(--font-weight-medium);margin:0 0 2px}.auth-banner-text{color:inherit;opacity:.85;margin:0}.auth-banner--info{background-color:var(--auth-bg-secondary);border:1px solid var(--auth-border);color:var(--auth-text-primary)}.auth-banner--warning{background-color:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.25);color:var(--color-amber-500)}.auth-banner--muted{color:var(--auth-text-secondary)}.auth-banner--muted,.auth-inviter{background-color:var(--auth-bg-secondary);border:1px solid var(--auth-border)}.auth-inviter{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-interactive);margin-bottom:var(--space-4)}.auth-inviter-avatar{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-pill);background-color:var(--auth-bg-hover);display:flex;align-items:center;justify-content:center;color:var(--auth-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);overflow:hidden}.auth-inviter-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.auth-inviter-body{flex:1;min-width:0;text-align:left}.auth-inviter-name{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--auth-text-primary);margin:0;line-height:var(--line-height-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-inviter-sub{font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--auth-text-muted);margin:2px 0 0}.auth-inviter-role{flex-shrink:0;padding:4px var(--space-3);background-color:var(--auth-bg-hover);border:1px solid var(--auth-border);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--auth-text-primary);line-height:1.4}.auth-target{margin-bottom:var(--space-5);text-align:left}.auth-target-title{font-family:var(--font-family-base);font-size:var(--font-size-2xl);font-weight:var(--font-weight-light);color:var(--auth-text-primary);line-height:var(--line-height-snug);margin:0 0 var(--space-2) 0}.auth-target-meta{font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--auth-text-muted);margin:0}.auth-target-description,.auth-target-message{font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--auth-text-secondary);line-height:var(--line-height-normal);margin:var(--space-3) 0 0 0}.auth-target-message{font-style:italic;padding:var(--space-3) var(--space-4);background-color:var(--auth-bg-secondary);border-left:2px solid var(--auth-border-hover);border-radius:0 var(--radius-md) var(--radius-md) 0}.auth-legal{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--auth-text-muted);text-align:center;margin-top:var(--space-8)}.auth-legal a{color:var(--auth-text-secondary);text-decoration:underline;text-underline-offset:1px;transition:color var(--transition-base)}.auth-legal a:hover{color:var(--auth-text-primary)}.auth-footnote{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--auth-text-muted);text-align:center;margin-top:var(--space-5)}.auth-footnote--warning{color:var(--color-amber-500)}.auth-spinner{display:inline-block;width:16px;height:16px;margin-right:var(--space-2);border:2px solid rgba(0,0,0,.1);border-top:2px solid var(--color-black);border-radius:var(--radius-pill);animation:auth-spin var(--duration-slower) linear infinite}.auth-button-secondary .auth-spinner{border-color:hsla(0,0%,100%,.2);border-top-color:var(--color-white)}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-spinner-lg{display:inline-block;width:32px;height:32px;border:2px solid var(--auth-border);border-top-color:var(--auth-text-primary);border-radius:var(--radius-pill);animation:auth-spin var(--duration-slower) linear infinite}.auth-strength-bar{height:2px;background-color:var(--auth-border);border-radius:var(--radius-pill);overflow:hidden;margin-top:var(--space-2)}.auth-strength-fill{height:100%;transition:width var(--transition-slow);border-radius:var(--radius-pill)}.auth-strength-fill[data-strength=weak]{width:25%;background-color:var(--auth-error)}.auth-strength-fill[data-strength=fair]{width:50%;background-color:var(--color-amber-500)}.auth-strength-fill[data-strength=good]{width:75%;background-color:var(--color-blue-500)}.auth-strength-fill[data-strength=strong]{width:100%;background-color:var(--auth-success)}.auth-strength-label{font-size:var(--font-size-xs);color:var(--auth-text-muted);margin-top:var(--space-1)}.auth-strength-label span{color:var(--auth-text-primary)}.auth-requirements{list-style:none;padding:0;margin:var(--space-2) 0 var(--space-4);font-size:var(--font-size-xs);color:var(--auth-text-muted)}.auth-requirements li{margin-bottom:var(--space-1)}.auth-requirements li.met{color:var(--auth-success-muted)}.auth-status-icon{margin-bottom:var(--space-6);text-align:center}.auth-status-icon svg{margin:0 auto;width:64px;height:64px}.auth-status-icon--success svg{color:var(--auth-success)}.auth-status-icon--error svg{color:var(--auth-error)}.auth-status-icon--warning svg{color:var(--color-amber-500)}.auth-status-icon--loading svg{color:var(--color-blue-500)}.auth-status{text-align:center;padding:var(--space-4) 0}.auth-status-title{font-family:var(--font-family-base);font-size:var(--font-size-2xl);font-weight:var(--font-weight-light);color:var(--auth-text-primary);line-height:var(--line-height-snug);margin:0 0 var(--space-3) 0}.auth-status-text{font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--auth-text-secondary);line-height:var(--line-height-normal);margin:0 0 var(--space-5) 0}@media (max-width:480px){.auth-heading{font-size:var(--font-size-2xl)}.auth-heading-lg{font-size:var(--font-size-3xl)}.auth-container{padding:0 var(--space-4)}.auth-button-primary,.auth-button-secondary,.auth-input{padding:14px var(--space-4);font-size:var(--font-size-md)}}