.na-bg { position: fixed; inset: 0; z-index: 3000; background: rgba(0,0,0,.6); backdrop-filter: blur(6px); display: grid; place-items: center; padding: 16px; overflow-y: auto; }
.na-card { position: relative; width: min(380px, 100%); max-height: calc(100dvh - 32px); overflow-y: auto; background: #000 !important; color: #fff; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; padding: 0; display: flex; flex-direction: column; box-shadow: 0 30px 80px rgba(0,0,0,.7); font-family: inherit; }
.na-body { padding: 28px 24px 22px; display: flex; flex-direction: column; gap: 22px; }
.na-x { position: absolute; top: 18px; right: 18px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; border: 0; background: transparent; color: rgba(255,255,255,.65); cursor: pointer; }
.na-x:hover { color: #fff; background: rgba(255,255,255,.08); }
.na-head { display: flex; flex-direction: column; gap: 6px; padding-right: 40px; }
.na-head h1, .na-verify h1 { margin: 0; font-size: 20px; line-height: 1.2; font-weight: 800; }
.na-head p, .na-verify p { margin: 0; font-size: 13px; color: rgba(255,255,255,.55); }
.na-col { display: flex; flex-direction: column; gap: 14px; }
.na-col label { display: flex; flex-direction: column; gap: 7px; font-size: 12px; font-weight: 600; color: rgba(255,255,255,.55); }
.na-in { width: 100%; box-sizing: border-box; background: #e8f0fe; border: 1px solid transparent; border-radius: 11px; height: 44px; padding: 0 13px; color: #000; font: inherit; font-size: 14px; outline: none; }
.na-in:placeholder-shown { background: #000; border-color: rgba(255,255,255,.18); color: #fff; }
.na-in:focus { border-color: rgba(255,255,255,.5); } .na-in::placeholder { color: rgba(255,255,255,.35); }
.na-btn { width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #fff; color: #000; border: 0; height: 44px; padding: 0 16px; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; margin-top: 6px; }
.na-btn:hover { background: rgba(255,255,255,.9); }
.na-btn2 { width: 100%; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: #0b0b0b; color: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.na-btn2:hover:not(:disabled) { background: #161616; }
.na-btn:disabled, .na-btn2:disabled { opacity: .4; cursor: not-allowed; }
.na-soon { display: block; cursor: not-allowed; }
.na-btn2 em { font-style: normal; font-size: 10px; font-weight: 600; color: rgba(255,255,255,.7); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 1px 7px; }
.na-err { margin: 0; color: #f87171; font-size: 13px; }
.na-note { margin: 0; font-size: 12px; line-height: 1.45; color: #fde68a; background: rgba(253,230,138,.08); border: 1px solid rgba(253,230,138,.2); border-radius: 12px; padding: 8px 10px; }
.na-legal { margin: 0; padding: 14px 24px 16px; border-top: 1px solid rgba(255,255,255,.08); text-align: center; font-size: 11px; line-height: 1.55; color: rgba(255,255,255,.45); }
.na-legal a { color: rgba(255,255,255,.65); text-decoration: underline; }
.na-switch { background: none; border: 0; color: rgba(255,255,255,.6); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.na-switch:hover { color: #fff; }
.na-forgot { text-align: center; font-size: 12px; font-weight: 600; color: rgba(255,255,255,.4); text-decoration: none; margin-top: -12px; }
.na-forgot:hover { color: #fff; }
.na-verify { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 16px 0; }
.na-mail { width: 76px; height: 76px; border-radius: 24px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); display: grid; place-items: center; font-size: 38px; }
.na-spin { width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: naSpin .7s linear infinite; }
.na-card { width: min(340px, 100%); border-radius: 14px; border-color: rgba(255,255,255,.12); }
.na-body { padding: 22px 20px 18px; gap: 14px; }
.na-x { top: 12px; right: 12px; width: 28px; height: 28px; }
.na-x svg { width: 16px; height: 16px; }
.na-head { gap: 10px; padding-right: 30px; }
.na-head h1, .na-verify h1 { font-size: 15px; font-weight: 700; }
.na-head p, .na-verify p { font-size: 10px; color: rgba(255,255,255,.55); }
.na-col { gap: 10px; }
.na-col label { gap: 6px; font-size: 10px; font-weight: 600; color: rgba(255,255,255,.65); }
.na-in, .na-in:placeholder-shown { height: 34px; padding: 0 10px; border-radius: 8px; font-size: 11px; background: #0a0a0a; color: #fff; border: 1px solid rgba(255,255,255,.16); }
.na-in:focus { border-color: rgba(255,255,255,.4); } .na-in::placeholder { color: rgba(255,255,255,.4); }
.na-in:-webkit-autofill { -webkit-box-shadow: 0 0 0 40px #0a0a0a inset; -webkit-text-fill-color: #fff; }
.na-btn { height: 32px; border-radius: 8px; font-size: 11px; font-weight: 700; margin-top: 4px; gap: 6px; }
.na-btn2 { height: 34px; border-radius: 8px; font-size: 11px; font-weight: 700; gap: 7px; background: #000; border-color: rgba(255,255,255,.18); }
.na-btn2 svg, .na-btn2 img { width: 14px; height: 14px; }
.na-btn2 em { font-size: 8px; padding: 0 5px; }
.na-switch { font-size: 10px; font-weight: 600; color: rgba(255,255,255,.75); }
.na-forgot { font-size: 9px; margin-top: -8px; color: rgba(255,255,255,.5); }
.na-err { font-size: 10px; } .na-note { font-size: 10px; border-radius: 8px; }
.na-legal { padding: 12px 18px 14px; font-size: 8.5px; }
.na-mail { width: 56px; height: 56px; border-radius: 14px; font-size: 28px; }
.na-card,.na-card *{font-family:"League Spartan",sans-serif}
.na-ext{margin:0;font-size:10px;line-height:1.45;color:#fde68a;background:rgba(253,230,138,.08);border:1px solid rgba(253,230,138,.2);border-radius:8px;padding:8px 10px}
.na-demo{margin:0;font-size:10px;color:rgba(255,255,255,.5);text-align:center}
@media(max-width:768px){.na-bg{place-items:end center;padding:0}.na-card{width:100%!important;border-radius:16px 16px 0 0!important;max-height:92dvh;border-bottom:0}}

/* AA: unified auth sheet */
.na-bg{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(0,0,0,.55)!important}
.na-card{background:#131315!important;border:1px solid rgba(255,255,255,.12)!important;font-family:"League Spartan",sans-serif!important;color:#fff}
.na-card *{font-family:"League Spartan",sans-serif}
.na-grab{display:none}
.na-seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);margin:0 40px 14px 0}
.na-seg button{flex:1;height:36px;border:0;border-radius:9px;background:none;color:#9aa0a6;font:600 14px "League Spartan",sans-serif;cursor:pointer}
.na-seg button.on{background:#fff;color:#000}
.na-in{height:48px!important;font-size:16px!important;background:#0c0c0e!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:12px!important;color:#fff!important;padding:0 14px!important;box-sizing:border-box;width:100%}
.na-in:focus{outline:none!important;border-color:#fff!important;box-shadow:0 0 0 1px #fff!important}
.na-btn{height:48px!important;width:100%;background:#fff!important;color:#000!important;border:0!important;border-radius:12px!important;font:700 15px "League Spartan",sans-serif!important}
.na-btn2{height:48px!important;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(255,255,255,.04)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:12px!important;font:600 15px "League Spartan",sans-serif!important}
.na-pi{width:16px;height:16px;color:#fff}
.na-err{color:#e5534b!important;font-size:12px!important;margin:2px 0 0!important}
.na-card label{color:#9aa0a6;font-size:12px;display:flex;flex-direction:column;gap:6px}
.na-col{gap:12px!important}
.na-card a,.na-switch,.na-forgot{color:#c9ccd1!important}
.na-x{color:#aaa!important}
@media(max-width:700px){
 .na-bg{align-items:flex-end!important;padding:0!important}
 .na-card{width:100%!important;max-width:none!important;border-radius:20px 20px 0 0!important;border-bottom:0!important;max-height:calc(100dvh - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom)!important;margin:0!important}
 .na-grab{display:block;width:40px;height:4px;border-radius:2px;background:rgba(255,255,255,.28);margin:8px auto 0}
 .na-body{padding:12px 20px 16px!important}
}
/* AE: unified popup surface, wider desktop card, no close X, brand logos */
.na-card{background:#111113!important;border:1px solid rgba(255,255,255,.1)!important}
@media(min-width:701px){.na-card{width:min(500px,calc(100vw - 32px))!important;padding-top:8px}.na-grab{display:none}}
.na-x{display:none!important}
.na-btn,.na-btn2,.na-col>button,.na-card form>button{width:100%!important}
.na-col{display:flex;flex-direction:column;gap:10px}
.na-logo{width:20px;height:20px;flex:0 0 20px;display:block}
.na-btn2{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.14)!important}
/* AJ: segment switcher full inner width, input height */
.na-seg{margin:0 0 16px 0!important;width:100%;box-sizing:border-box;height:48px;align-items:stretch}
.na-seg button{flex:1 1 50%;height:auto}
.na-dm{font-style:normal;font-size:10px;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:0 6px;margin-left:6px}
.nwa-mm .nwa-who{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #26262b;margin-bottom:4px}.nwa-who b{display:block;color:#fff}.nwa-who small{color:#8a8a93;font-size:12px}.nwa-av{width:34px;height:34px;border-radius:50%;background:#26262b;display:grid;place-items:center;overflow:hidden;color:#fff;font-weight:700;flex:none}.nwa-av img{width:100%;height:100%;object-fit:cover}
