@layer components{.auth-shell,.auth-shell *,.auth-shell :before,.auth-shell :after{box-sizing:border-box}.auth-shell{background:var(--rib-bg);min-height:100dvh;color:var(--rib-text);font-family:var(--rib-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}.auth-header{background:var(--rib-header-bg);color:var(--rib-chrome-text);padding-top:env(safe-area-inset-top)}.auth-header-inner{justify-content:center;align-items:center;max-width:1120px;height:72px;margin:0 auto;padding:0 24px;display:flex}.auth-header-logo-link{color:var(--rib-chrome-text);border-radius:6px;display:block}.auth-header-logo{width:auto;height:2rem;display:block}.auth-main{flex:1;justify-content:center;align-items:center;padding:clamp(32px,8vh,88px) 16px;display:flex}.auth-card{border:1px solid var(--rib-card-border);border-radius:var(--rib-radius-card);background:var(--rib-surface);width:100%;max-width:420px;box-shadow:var(--rib-shadow-card);padding:40px}.auth-notice{border-radius:var(--rib-radius-control);background:var(--rib-info-tint);color:var(--rib-info);gap:10px;margin:0 0 24px;padding:12px 14px;font-size:15px;line-height:20px;display:flex}.auth-notice svg{color:var(--rib-info);flex:none}.auth-step{animation:auth-step-in .28s var(--rib-ease) both}@keyframes auth-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.auth-title{letter-spacing:-.02em;text-align:center;text-wrap:balance;color:var(--rib-text);margin:0 0 24px;font-size:28px;font-weight:600;line-height:34px}.auth-title:has(+.auth-sub){margin-bottom:8px}.auth-sub{text-align:center;color:var(--rib-text-secondary);overflow-wrap:anywhere;margin:0 0 24px;font-size:17px;line-height:22px}.auth-sub strong,.auth-body strong{color:var(--rib-text);font-weight:600}.auth-body{text-align:center;color:var(--rib-text-secondary);overflow-wrap:anywhere;margin:0 0 24px;font-size:17px;line-height:24px}.auth-status-icon{background:var(--rib-info-tint);width:64px;height:64px;color:var(--rib-info);border-radius:50%;place-items:center;margin:0 auto 20px;display:grid}.field{margin-bottom:24px}.field-label{color:var(--rib-text-secondary);margin-bottom:8px;font-size:15px;font-weight:500;line-height:20px;display:block}.field-label .required{color:var(--rib-danger)}.field-control{position:relative}.field-input{border:1px solid var(--rib-field-border);border-radius:var(--rib-radius-control);background:var(--rib-field-bg);width:100%;height:52px;color:var(--rib-text);font:inherit;appearance:none;transition:background-color .15s var(--rib-ease), border-color .15s var(--rib-ease), box-shadow .15s var(--rib-ease);margin:0;padding:0 16px;font-size:17px;line-height:22px;display:block}.field-input::placeholder{color:var(--rib-text-caption);opacity:1}.field-input:hover{background:var(--rib-field-bg-hover)}.field-input:focus{background:var(--rib-field-bg);border-color:var(--rib-link);box-shadow:0 0 0 3px var(--rib-focus-soft);outline:none}.field-input[aria-invalid=true]{border-color:var(--rib-danger)}.field-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--rib-danger-focus)}.field-input[readonly]{cursor:default}.field-control--trailing .field-input{padding-right:56px}.field-trailing{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.field-icon-button{width:44px;height:44px;color:var(--rib-text-caption);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.field-icon-button:hover{color:var(--rib-text)}.field-icon-button:focus-visible{outline:2px solid var(--rib-link);outline-offset:-2px}.field-input--code{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;height:64px;padding-left:calc(16px + .4em);font-size:28px;font-weight:600}.field-input--code::placeholder{color:var(--rib-card-border);font-weight:400}.field-message{gap:8px;margin-top:8px;font-size:15px;line-height:20px;display:flex}.field-message>svg{flex:none}.field-message--error{border-radius:var(--rib-radius-control);background:var(--rib-danger-bg);color:var(--rib-danger);padding:12px 14px}.field-message--hint{color:var(--rib-text-caption);font-size:13px;line-height:18px}.field-message--hint>svg{color:var(--rib-link)}.field-message-body p{margin:0}.field-message-actions{flex-wrap:wrap;gap:0 20px;margin-top:4px;display:flex}.auth-checkbox{cursor:pointer;min-height:44px;color:var(--rib-text-secondary);align-items:flex-start;gap:10px;font-size:15px;line-height:20px;display:flex}.auth-checkbox input{appearance:none;border:1.5px solid var(--rib-field-border);background:var(--rib-surface);cursor:pointer;width:20px;height:20px;transition:background-color .15s var(--rib-ease), border-color .15s var(--rib-ease);border-radius:6px;flex:none;place-items:center;margin:2px 0 0;display:grid}.auth-checkbox input:checked{background:var(--rib-brand);border-color:var(--rib-brand)}.auth-checkbox input:checked:after{content:"";border:solid var(--rib-on-brand);border-width:0 2px 2px 0;width:5px;height:9px;transform:rotate(45deg)translate(-1px,-1px)}.auth-checkbox input:focus-visible{box-shadow:0 0 0 2px var(--rib-surface), 0 0 0 4px var(--rib-link);outline:none}.auth-checkbox a{color:var(--rib-link);text-decoration:none}.auth-checkbox a:hover{color:var(--rib-link-hover);text-underline-offset:3px;text-decoration:underline}.btn{border-radius:var(--rib-radius-control);min-height:44px;font:inherit;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s var(--rib-ease), opacity .15s var(--rib-ease);border:0;justify-content:center;align-items:center;padding:0 20px;font-size:17px;font-weight:600;line-height:22px;text-decoration:none;display:inline-flex;position:relative}.btn:focus-visible{box-shadow:0 0 0 2px var(--rib-surface), 0 0 0 4px var(--rib-link);outline:none}.btn:disabled:not([aria-busy=true]){background:var(--rib-disabled-bg);color:var(--rib-disabled-text);cursor:not-allowed}.btn[aria-busy=true]{cursor:progress}.btn--block{width:100%;height:52px}.btn--filled{background:var(--rib-brand);color:var(--rib-on-brand)}.btn--filled:hover:not(:disabled){background:var(--rib-brand-hover)}.btn--filled:active:not(:disabled){background:var(--rib-brand-pressed)}.btn--filled[aria-busy=true]{background:var(--rib-disabled-bg)}.btn--gray{border:1px solid var(--rib-card-border);background:var(--rib-fill);color:var(--rib-link)}.btn--gray:hover:not(:disabled){background:var(--rib-fill-hover)}.btn--gray:active:not(:disabled){background:var(--rib-divider)}.btn--gray[aria-busy=true]{background:var(--rib-disabled-bg)}.btn[aria-busy=true] .btn-spinner{color:var(--rib-link)}.btn--plain{color:var(--rib-link);background:0 0;padding:0 6px;font-weight:500}.btn--plain:hover:not(:disabled){color:var(--rib-link-hover);text-underline-offset:3px;text-decoration:underline}.btn--plain:active:not(:disabled){opacity:.6}.btn--plain:disabled:not([aria-busy=true]){background:0 0}.btn--inline{min-height:0;font-size:inherit;line-height:inherit;text-align:inherit;white-space:normal;border-radius:6px;margin:-11px -4px;padding:11px 4px;font-weight:600;display:inline}.btn--inline:focus-visible{box-shadow:0 0 0 2px var(--rib-link)}.field-message--error .btn--inline,.field-message--error .btn--inline:hover:not(:disabled){color:var(--rib-danger);text-underline-offset:3px;text-decoration:underline}.field-message--error .btn--inline:hover:not(:disabled){text-decoration-thickness:2px}.field-message--error .btn--inline:focus-visible{box-shadow:0 0 0 2px var(--rib-danger)}.btn-label{transition:opacity .12s var(--rib-ease)}.btn[aria-busy=true] .btn-label{opacity:0}.btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:20px;height:20px;margin:auto;animation:.7s linear infinite auth-spin;position:absolute;inset:0}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-actions{gap:12px;display:grid}.auth-links{flex-wrap:wrap;justify-content:flex-end;gap:0 24px;margin:0 0 24px;display:flex}.auth-resend{min-height:44px;color:var(--rib-text-caption);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;margin:0 0 24px;font-size:13px;line-height:18px;display:flex}.auth-resend .btn--plain{font-size:13px}.auth-help{border-top:1px solid var(--rib-card-border);color:var(--rib-text-secondary);margin-top:20px;padding-top:8px;font-size:15px;line-height:20px}.auth-help summary{min-height:44px;color:var(--rib-link);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-weight:500;list-style:none;display:flex}.auth-help summary::-webkit-details-marker{display:none}.auth-help summary:focus-visible{outline:2px solid var(--rib-link);outline-offset:2px}.auth-help-body{text-align:center;padding:4px 0 0}.auth-help-body p{margin:0 0 8px}.auth-footnote{text-align:center;color:var(--rib-text-caption);margin:24px 0 0;font-size:15px;line-height:20px}.auth-footnote--hint{font-size:13px;line-height:18px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-footer{background:var(--rib-header-bg);color:var(--rib-chrome-text-secondary);font-size:13px;line-height:20px}.auth-footer-inner{max-width:1120px;padding:40px 24px calc(40px + env(safe-area-inset-bottom));grid-template-columns:auto 1fr;gap:24px 80px;margin:0 auto;display:grid}.auth-footer address{font-style:normal}.auth-footer address p{margin:0}.auth-footer ul{margin:0;padding:0;list-style:none}.auth-footer a{color:var(--rib-chrome-link);border-radius:4px;padding:2px 0;text-decoration:none;display:inline-block}.auth-footer a:hover{color:var(--rib-chrome-text);text-underline-offset:3px;text-decoration:underline}.auth-footer a:focus-visible,.auth-header-logo-link:focus-visible{box-shadow:0 0 0 2px var(--rib-header-bg), 0 0 0 4px var(--rib-chrome-focus);outline:none}@media (max-width:760px){.auth-footer-inner{grid-template-columns:1fr;gap:24px;padding-top:32px}}@media (max-width:480px){.auth-header-inner{height:60px;padding:0 16px}.auth-header-logo{height:2rem}.auth-card{padding:24px}}@media (max-width:380px){.auth-title{font-size:24px;line-height:30px}}@media (prefers-reduced-motion:reduce){.auth-step{animation:none}.btn-spinner{animation-duration:1.6s}}}
