@keyframes amFade{from{opacity:0}to{opacity:1}}
@keyframes amPop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.am-veil{position:fixed;inset:0;z-index:900;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:34px 16px;background:rgba(28,22,10,.55);backdrop-filter:blur(3px)}
.am-veil.show{display:flex;animation:amFade .18s ease}
.am-modal{position:relative;width:100%;max-width:404px;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px 24px 20px;box-shadow:0 30px 70px -24px rgba(30,20,5,.5);animation:amPop .24s cubic-bezier(.2,.7,.3,1);margin:auto}
.am-x{position:absolute;right:14px;top:14px;width:34px;height:34px;border-radius:10px;border:none;background:var(--bg);color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:.15s}
.am-x:hover{background:var(--neutral);color:var(--ink)}
.am-brand{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-bottom:16px}
.am-brand .lm{width:30px;height:30px;border-radius:9px;background:var(--grad);color:#3a2600;display:grid;place-items:center}
.am-brand .tx b{color:var(--brand-deep,#C77B1F)}
.am-h1{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0}
.am-sub{font-size:13.5px;color:var(--muted);margin:6px 0 18px;line-height:1.5}.am-sub b{color:var(--ink-2)}
.am-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.am-role{text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;transition:.15s;font-family:inherit}
.am-role:hover{border-color:var(--brand-border)}
.am-role.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 3px var(--brand-soft-2)}
.am-role .ri{width:32px;height:32px;border-radius:9px;background:var(--neutral);display:grid;place-items:center;color:var(--ink-2);margin-bottom:8px}
.am-role.on .ri{background:var(--grad);color:#3a2600}
.am-role b{display:block;font-size:13px;font-weight:700}
.am-role span{font-size:10.5px;color:var(--muted);line-height:1.35;display:block;margin-top:2px}
.am-f{margin-bottom:13px}
.am-f label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-2);margin-bottom:6px}
.am-inwrap{position:relative;display:flex}
.am-f input{width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:11px;padding:12px 13px;font-size:14.5px;font-family:inherit;outline:none}
.am-f input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.am-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted-2);padding:6px;cursor:pointer}
.am-forgot{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:700;color:var(--brand-deep);cursor:pointer;text-decoration:none}
.am-btn{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--grad);color:#3a2600;border:none;border-radius:12px;padding:13px;font-size:15px;font-weight:800;font-family:inherit;cursor:pointer;box-shadow:0 6px 16px -6px rgba(224,123,0,.6);text-decoration:none;margin-top:4px}
.am-btn:hover{filter:brightness(1.03)}
.am-btn.gh{background:#fff;border:1.5px solid var(--line);color:var(--ink-2);box-shadow:none;margin-top:10px}
.am-btn.gh:hover{border-color:var(--brand-border)}
.am-btn[disabled]{opacity:.6;pointer-events:none}
.am-or{display:flex;align-items:center;gap:12px;margin:15px 0 3px;color:var(--muted-2);font-size:12px}
.am-or::before,.am-or::after{content:'';flex:1;height:1px;background:var(--line)}
.am-gsi{display:flex;justify-content:center;margin-top:12px;min-height:40px}
.am-switch{text-align:center;font-size:13px;color:var(--muted);margin:16px 0 0}
.am-switch a{color:var(--brand-deep);font-weight:700;cursor:pointer;text-decoration:none}
.am-check{display:flex;align-items:flex-start;gap:8px;margin:12px 2px 4px;font-size:12.5px;line-height:1.5;color:var(--muted);cursor:pointer;user-select:none}
.am-check input{margin:1px 0 0;width:16px;height:16px;flex-shrink:0;accent-color:var(--brand-deep);cursor:pointer}
.am-check a{color:var(--brand-deep);font-weight:700;text-decoration:none}
.am-back{background:none;border:none;display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;padding:0;margin-bottom:12px;font-family:inherit}
.am-otp{display:flex;gap:9px;margin:6px 0 18px;justify-content:space-between}
.am-otp-i{width:100%;aspect-ratio:1/1.15;text-align:center;font-size:22px;font-weight:800;border:1.5px solid var(--line);border-radius:12px;outline:none;font-family:inherit}
.am-otp-i:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.am-cd{color:var(--muted-2)}
#am-resend.off{color:var(--muted-2);pointer-events:none;font-weight:600}
.am-done{text-align:center;padding:6px 0}
.am-ok{width:66px;height:66px;border-radius:50%;background:var(--green-soft,#e9f7ef);color:var(--green-deep,#12864d);display:grid;place-items:center;margin:0 auto 14px}
.am-done .am-btn{margin-top:14px}
.am-foot{font-size:11px;color:var(--muted-2);text-align:center;margin:16px 0 0;line-height:1.6}
.am-foot a{color:var(--muted);text-decoration:underline}
.am-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(12px);z-index:960;background:var(--ink);color:#fff;font-size:13px;font-weight:600;padding:12px 18px;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.3);opacity:0;transition:.2s;max-width:90vw;text-align:center}
.am-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:400px){.am-roles{grid-template-columns:1fr}.am-modal{padding:20px 18px}}
