.auth-shell{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:var(--space-6) var(--container-pad) var(--space-12);background:var(--bg-primary);overflow-x:hidden}.auth-nav{position:relative;z-index:1;width:100%;max-width:460px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-block-end:var(--space-8)}.auth-brand,.auth-lang{display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--text-primary);transition:color var(--transition),border-color var(--transition)}.auth-brand{font-size:1.05rem;font-weight:800;letter-spacing:-.01em}.auth-brand img{width:32px;height:32px;border-radius:var(--radius-sm)}.auth-lang{padding:7px var(--space-3);font-size:.85rem;font-weight:600;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-md)}.auth-lang:hover{color:var(--text-primary);border-color:var(--border-hover)}.auth-card{position:relative;z-index:1;width:100%;max-width:460px;padding:var(--card-pad);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.auth-steps{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-6);padding:0;list-style:none;font-size:.72rem;font-weight:600;color:var(--text-muted)}.auth-steps li{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.auth-steps li:not(:last-child):after{content:"";inline-size:14px;block-size:1px;margin-inline-start:4px;background:var(--border-hover)}.auth-step-dot{display:grid;place-items:center;inline-size:20px;block-size:20px;border-radius:50%;background:#0000000d;color:var(--text-muted);font-size:.68rem;font-weight:700;transition:background var(--transition),color var(--transition)}.auth-steps li[aria-current=step]{color:var(--text-primary)}.auth-steps li[aria-current=step] .auth-step-dot{background:var(--text-primary);color:var(--bg-primary)}.auth-steps li.is-done .auth-step-dot{background:#51a47b29;color:var(--green)}.auth-form,.auth-done{display:flex;flex-direction:column;text-align:start}.auth-form .section-label,.auth-done .section-label{align-self:start;margin-bottom:0}.auth-title{margin:var(--space-2) 0 6px;font-size:1.6rem;font-weight:800;line-height:1.2;letter-spacing:-.03em;color:var(--text-primary)}.auth-title:focus{outline:none}.auth-sub{margin:0 0 var(--space-6);font-size:.95rem;line-height:1.65;color:var(--text-secondary)}.auth-field{display:flex;flex-direction:column;gap:5px;margin-block-end:var(--space-4)}.auth-field label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.auth-field input,.auth-field select{inline-size:100%;padding:11px var(--space-4);font:inherit;font-size:1rem;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition),box-shadow var(--transition)}.auth-field select{padding-inline-end:var(--space-8);cursor:pointer}.auth-field input::placeholder{color:var(--text-muted)}.auth-field input:hover,.auth-field select:hover{border-color:var(--border-hover)}.auth-field input:focus-visible,.auth-field select:focus-visible{outline:2px solid #2f6ea3;outline-offset:2px;border-color:#2f6ea3}.auth-code-input{font-size:1.4rem!important;font-weight:700;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.auth-phone{display:flex;align-items:stretch;gap:var(--space-2)}.auth-dial{display:grid;place-items:center;padding-inline:var(--space-3);font-size:.95rem;font-weight:600;color:var(--text-secondary);background:#00000008;border:1px solid var(--border);border-radius:var(--radius-md);white-space:nowrap}.auth-hint{margin:2px 0 0;font-size:.78rem;line-height:1.5;color:var(--text-muted)}.auth-submit{justify-content:center;inline-size:100%;margin-block-start:var(--space-2)}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;filter:none}.auth-alt{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-4);margin-block-start:var(--space-5)}.auth-link{padding:0;font:inherit;font-size:.85rem;font-weight:600;color:#2f6ea3;background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color var(--transition)}.auth-link:hover:not(:disabled){color:var(--text-primary);text-decoration:underline}.auth-link:disabled{color:var(--text-muted);cursor:not-allowed}.auth-privacy{margin:var(--space-4) 0 0;font-size:.75rem;line-height:1.6;color:var(--text-muted)}.auth-error{margin:0 0 var(--space-4);padding:10px var(--space-4);font-size:.88rem;line-height:1.55;color:#842c25;background:#e16b711f;border:1px solid rgba(225,107,113,.3);border-radius:var(--radius-md)}.auth-done{align-items:center;text-align:center}.auth-done-mark{display:grid;place-items:center;inline-size:52px;block-size:52px;margin-block-end:var(--space-2);border-radius:50%;color:var(--green);background:#51a47b24}.auth-whoami{margin:calc(var(--space-4) * -1) 0 var(--space-6);font-size:.85rem;font-weight:600;color:var(--text-muted)}.auth-done .auth-submit+.auth-submit{margin-block-start:var(--space-3)}.auth-providers{display:flex;flex-direction:column;gap:var(--space-3)}.auth-provider{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:11px var(--space-4);font-size:.95rem;font-weight:600;color:var(--text-primary);text-decoration:none;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition),background var(--transition),transform var(--transition)}.auth-provider:hover{background:var(--bg-card-hover);border-color:var(--border-hover)}.auth-provider:active{transform:translateY(1px)}.auth-provider:focus-visible{outline:2px solid #2f6ea3;outline-offset:2px;border-color:#2f6ea3}.auth-provider[aria-disabled=true]{opacity:.55;pointer-events:none}.auth-provider svg{flex:none}.auth-or{display:flex;align-items:center;gap:var(--space-3);margin-block:var(--space-5);font-size:.78rem;color:var(--text-muted)}.auth-or:before,.auth-or:after{content:"";flex:1;block-size:1px;background:var(--border)}@media(max-width:520px){.auth-card{padding:var(--space-6) var(--space-5)}.auth-title{font-size:1.4rem}.auth-steps li{font-size:0;gap:0}.auth-steps li[aria-current=step]{font-size:.72rem;gap:6px}}.auth-title{scroll-margin-block-start:16px}
