@layer components{.app-auth-page{min-height:100dvh;background:radial-gradient(circle at 18% 10%,color-mix(in srgb,var(--brand-mid) 8%,transparent),transparent 28rem),linear-gradient(180deg,var(--background) 0,color-mix(in srgb,var(--background) 88%,var(--muted)) 100%);color:var(--text-primary)}.app-auth-frame{position:relative;min-height:100dvh;width:100%;flex-direction:column;gap:var(--space-7);padding:var(--space-5)}.app-auth-frame,.app-auth-topbar{display:flex;align-items:center;justify-content:space-between}.app-auth-topbar{width:min(100%,72rem);gap:var(--space-4)}.app-auth-brand-link{display:inline-flex;align-items:center;transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}.app-auth-brand-link:hover{opacity:.86;transform:translateY(-1px)}.app-auth-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.app-auth-card-wrap{display:flex;width:min(100%,72rem);flex:1;align-items:center;justify-content:center;padding-block:var(--space-4)}.app-auth-card{width:min(100%,27.5rem);border:1px solid var(--hairline);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--popover) 96%,var(--muted));box-shadow:var(--elevation-2);padding:clamp(var(--space-5),4vw,var(--space-7))}.app-auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.app-auth-header{margin-bottom:var(--space-6);text-align:center}.app-auth-title{margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:var(--type-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:0;line-height:var(--leading-snug)}.app-auth-copy{margin:var(--space-2) auto 0;max-width:30rem;color:var(--text-secondary);font-size:var(--type-md);font-weight:var(--font-weight-medium);line-height:var(--leading-base)}.app-auth-copy-accent{color:var(--brand-text);font-size:var(--type-sm);font-weight:var(--font-weight-bold)}.app-auth-label{color:var(--text-primary);font-size:var(--type-sm);font-weight:var(--font-weight-semibold)}.app-auth-field-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.app-auth-input.app-auth-input{min-height:46px;border:1px solid var(--hairline-strong)!important;border-radius:var(--radius-md)!important;background:color-mix(in srgb,var(--surface-3) 96%,var(--muted))!important;color:var(--text-primary)!important;font-size:var(--type-md);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--foreground) 4%,transparent),0 1px 0 color-mix(in srgb,var(--foreground) 3%,transparent)!important;transition:border-color var(--duration-base) var(--ease-standard),background-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.app-auth-input.app-auth-input::placeholder{color:var(--text-tertiary)}.app-auth-input.app-auth-input:hover{border-color:color-mix(in srgb,var(--foreground) 18%,var(--hairline-strong))!important;background:var(--surface-3)!important}.app-auth-input.app-auth-input:focus,.app-auth-input.app-auth-input:focus-visible,.app-auth-input.app-auth-input:focus-visible:hover,.app-auth-input.app-auth-input:focus:hover{border-style:solid!important;border-width:1px!important;border-color:var(--ring)!important;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--foreground) 4%,transparent),0 1px 0 color-mix(in srgb,var(--foreground) 3%,transparent)!important}.app-auth-password-toggle{position:absolute;inset-block:0;right:0;display:inline-flex;align-items:center;justify-content:center;width:42px;color:var(--text-secondary);transition:color var(--duration-base) var(--ease-standard)}.app-auth-password-toggle.app-auth-password-toggle{padding-right:0!important;color:var(--text-secondary)!important}.app-auth-password-toggle:hover{color:var(--text-primary)}.app-auth-password-toggle.app-auth-password-toggle:hover{color:var(--text-primary)!important}.app-auth-link{color:var(--text-secondary);font-size:var(--type-xs);font-weight:var(--font-weight-semibold);text-decoration:none;transition:color var(--duration-base) var(--ease-standard)}.app-auth-link:hover{color:var(--brand-text)}.app-auth-divider{display:flex;align-items:center;gap:var(--space-4);color:var(--text-tertiary);font-size:var(--type-xs);font-weight:var(--font-weight-semibold)}.app-auth-divider:after,.app-auth-divider:before{height:1px;flex:1;background:var(--hairline);content:""}.app-auth-social-stack{display:grid;gap:var(--space-2)}.app-auth-entry-action,.app-auth-social-action{min-height:42px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-primary);box-shadow:none;font-weight:var(--font-weight-medium);transition:background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}.app-auth-entry-action.app-auth-entry-action,.app-auth-social-action.app-auth-social-action{min-height:42px!important;font-size:var(--type-md)!important;border-color:var(--hairline)!important;border-radius:var(--radius-pill)!important;background:var(--surface-3)!important;color:var(--text-primary)!important;font-weight:var(--font-weight-medium)!important}.app-auth-entry-action.app-auth-entry-action{font-weight:var(--font-weight-regular)!important}.app-auth-entry-action:hover,.app-auth-social-action:hover{border-color:var(--hairline-strong);background:var(--surface-1-hover);color:var(--text-primary)}.app-auth-entry-action.app-auth-entry-action:hover,.app-auth-social-action.app-auth-social-action:hover{border-color:var(--hairline-strong)!important;background:var(--surface-1-hover)!important;color:var(--text-primary)!important}.app-auth-secondary-action{min-height:40px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);box-shadow:none;font-size:var(--type-md);font-weight:var(--font-weight-medium)}.app-auth-secondary-action.app-auth-secondary-action{border-color:transparent!important;background:transparent!important;color:var(--text-secondary)!important;font-weight:var(--font-weight-medium)!important}.app-auth-secondary-action:hover{border-color:var(--hairline);background:var(--surface-1-hover);color:var(--text-primary)}.app-auth-secondary-action.app-auth-secondary-action:hover{border-color:var(--hairline)!important;background:var(--surface-1-hover)!important;color:var(--text-primary)!important}.app-auth-primary-action{min-height:44px;width:100%;border-radius:var(--radius-pill);box-shadow:var(--login-shadow);font-size:var(--type-md);font-weight:var(--font-weight-extrabold)}.app-auth-switch{margin-top:var(--space-6);text-align:center;color:var(--text-secondary);font-size:var(--type-sm)}.app-auth-switch-link{display:inline-flex;align-items:center;color:var(--brand-text);font-weight:var(--font-weight-bold);text-decoration:none}.app-auth-switch-link:hover{text-decoration:underline;text-underline-offset:3px}.app-auth-dialog-panel{padding:var(--space-6)}.app-auth-dialog-panel-compact{padding:var(--space-5)}.app-auth-dialog-identity{display:flex;flex-direction:column;align-items:center;text-align:center}.app-auth-dialog-logo{--logo-shell-h:48px;--logo-shell-gap:0;--logo-mark-size:48px}.app-auth-dialog-logo:hover .app-logo-mark{box-shadow:var(--logo-mark-shadow)}.app-auth-dialog-title{margin-top:var(--space-4);color:var(--text-primary);font-family:var(--font-display);font-size:var(--type-3xl);font-weight:var(--font-weight-extrabold);line-height:var(--leading-snug)}.app-auth-dialog-credit{margin-top:var(--space-2);color:var(--brand-text);font-size:var(--type-sm);font-weight:var(--font-weight-bold)}.app-auth-dialog-options{display:grid;gap:var(--space-4);margin-top:var(--space-6)}.app-auth-dialog-tabs{display:grid;height:40px;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1);border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-1) 82%,var(--muted));padding:3px}.app-auth-dialog-tab{border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--type-sm);font-weight:var(--font-weight-semibold);transition:color var(--duration-base) var(--ease-standard),background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.app-auth-dialog-tab:hover{color:var(--text-primary)}.app-auth-dialog-tab-active{border:1px solid var(--hairline);background:var(--surface-3);color:var(--text-primary);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--foreground) 4%,transparent),var(--elevation-1)}.app-auth-dialog-back{margin-bottom:var(--space-5);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--type-sm);font-weight:var(--font-weight-bold);transition:color var(--duration-base) var(--ease-standard)}.app-auth-dialog-back:hover{color:var(--text-primary)}.app-auth-otp-field{display:grid;justify-items:center;gap:var(--space-3)}.app-auth-otp-label{color:var(--text-secondary);font-size:var(--type-sm);text-align:center}.app-auth-otp{justify-content:center;gap:var(--space-4);margin-top:0}.app-auth-otp-group{gap:var(--space-2)}.app-auth-otp-slot.app-auth-otp-slot{width:42px!important;height:44px!important;border:1px solid var(--hairline-strong)!important;border-radius:var(--radius-md)!important;background:color-mix(in srgb,var(--surface-3) 96%,var(--muted))!important;color:var(--text-primary);font-size:var(--type-xl);font-weight:var(--font-weight-bold)}.app-auth-otp-slot.app-auth-otp-slot,.app-auth-otp-slot.app-auth-otp-slot[data-active=true]{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--foreground) 4%,transparent),0 1px 0 color-mix(in srgb,var(--foreground) 3%,transparent)!important}.app-auth-otp-slot.app-auth-otp-slot[data-active=true]{border-color:var(--ring)!important}.app-auth-otp-separator{display:inline-flex;width:var(--space-3);align-items:center;justify-content:center;color:var(--text-tertiary)}.app-auth-pending{display:flex;flex-direction:column;align-items:center;text-align:center}.app-auth-pending-icon{margin-bottom:var(--space-5);display:flex;width:72px;height:72px;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--brand-mid) 18%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--brand-mid) 8%,var(--surface-3));color:var(--brand-text)}@media (max-width:639px){.app-auth-frame{gap:var(--space-5);padding:var(--space-4)}.app-auth-card,.app-auth-dialog-panel,.app-auth-dialog-panel-compact{padding:var(--space-5)}}@media (prefers-reduced-motion:reduce){.app-auth-brand-link,.app-auth-dialog-tab{transition:none}}}