.auth-shell,.auth-shell *{box-sizing:border-box}.auth-shell{background:var(--bg-page-flat,#f9fafb);height:100dvh;min-height:100dvh;color:var(--ink-1,#191f28);font-family:var(--font-body,Pretendard, sans-serif);padding:24px;overflow:clip auto}.auth-shell__top{justify-content:space-between;align-items:center;gap:16px;width:min(100%,1040px);min-height:44px;margin:0 auto;display:flex}.auth-shell__brand,.auth-shell__home{align-items:center;min-height:44px;display:inline-flex}.auth-shell__brand img{width:132px;height:auto;display:block}.auth-shell__home{border:1px solid var(--rule,#e5e7eb);background:var(--bg-card-flat,#fff);color:var(--ink-2,#4e5968);white-space:nowrap;border-radius:10px;padding:0 12px;font-size:14px;font-weight:700;text-decoration:none}.auth-shell__main{place-items:center;min-height:calc(100dvh - 92px);padding:32px 0;display:grid}.auth-shell__card{border:1px solid var(--rule,#e5e7eb);background:var(--bg-card-flat,#fff);width:min(100%,460px);box-shadow:0;border-radius:18px;padding:40px}.auth-shell__eyebrow{color:var(--brand-blue,#3182f6);font-family:var(--font-num,inherit);letter-spacing:.1em;margin:0 0 10px;font-size:12px;font-weight:800}.auth-shell__card h1{letter-spacing:-.04em;word-break:keep-all;margin:0;font-size:clamp(28px,4vw,36px);font-weight:800;line-height:1.25}.auth-shell__description{color:var(--ink-2,#4e5968);word-break:keep-all;margin:12px 0 0;font-size:15px;line-height:1.65}.auth-shell__footer{color:var(--ink-2,#4e5968);text-align:center;margin-top:24px;font-size:14px;line-height:1.6}.auth-shell__footer a,.auth-shell__text-link{min-height:44px;color:var(--brand-blue,#3182f6);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.auth-shell__footer a+a{margin-left:12px}.auth-form{gap:18px;margin-top:28px;display:grid}.auth-field{gap:8px;display:grid}.auth-field label{color:var(--ink-2,#4e5968);font-size:14px;font-weight:700}.auth-field input{border:1px solid var(--rule-strong,#d1d6db);width:100%;min-height:52px;color:var(--ink-1,#191f28);font:inherit;background:#fff;border-radius:10px;padding:0 14px}.auth-field--verification input{height:64px;font-family:var(--font-num,inherit);letter-spacing:.16em;text-align:center;font-size:24px;font-weight:750}.auth-primary-button,.auth-secondary-action{min-height:52px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:0 20px;font-weight:700;text-decoration:none;display:inline-flex}.auth-primary-button{background:var(--brand-blue,#3182f6);color:#fff}.auth-primary-button:disabled,.auth-secondary-action:disabled{cursor:wait;opacity:.55}.auth-secondary-action{border-color:var(--rule,#e5e7eb);color:var(--ink-2,#4e5968);background:#fff}.auth-alert{border:1px solid var(--rule,#e5e7eb);background:var(--bg-subtle,#f2f4f6);color:var(--ink-2,#4e5968);word-break:keep-all;border-radius:10px;margin:20px 0 0;padding:14px 16px;font-size:14px;line-height:1.65}.auth-alert--error{color:#b42318;background:#fff7f7;border-color:#fecaca}.auth-alert--success{color:#18794e;background:#f2fbf6;border-color:#b7e4ca}.auth-consent{min-height:44px;color:var(--ink-2,#4e5968);align-items:center;gap:10px;font-size:13px;line-height:1.55;display:flex}.auth-consent input{width:20px;height:20px;accent-color:var(--brand-blue,#3182f6);flex:0 0 20px}.auth-consent a{min-height:44px;color:var(--brand-blue,#3182f6);align-items:center;font-weight:700;display:inline-flex}.auth-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.auth-shell a:focus-visible,.auth-shell button:focus-visible,.auth-shell input:focus-visible{outline:3px solid var(--focus-ring,#9ec5ff);outline-offset:2px}@media (max-width:760px){.auth-shell{padding:calc(16px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))}.auth-shell__main{min-height:calc(100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:24px 0}.auth-shell__card{background:var(--bg-card-flat,#fff);box-shadow:0;border-radius:16px;padding:28px 20px}.auth-actions{grid-template-columns:1fr}}@media (max-width:380px){.auth-shell__brand img{width:120px}}
