/* Account agreements stay separate from login and from the primary signup action. */
.nnAuthPanel .nnTermsFields { display:grid; gap:9px; margin:1px 0 0; }
.nnAuthPanel .nnTermsConsent { display:grid; grid-template-columns:20px minmax(0,1fr); gap:9px; align-items:start; color:#b9d0dd; font:450 12px/1.55 system-ui,sans-serif; }
.nnAuthPanel :is(#signupTermsAccepted,#signupEligibilityConfirmed) { display:block; appearance:auto; -webkit-appearance:checkbox; box-sizing:border-box; width:18px; min-width:18px; height:18px; margin:2px 0 0; padding:0; accent-color:#92d9ef; cursor:pointer; }
.nnAuthPanel :is(#signupTermsAccepted,#signupEligibilityConfirmed):disabled { cursor:default; opacity:.5; }
.nnAuthPanel .nnTermsConsent label { cursor:pointer; }
.nnAuthPanel .nnTermsLink { display:inline; margin:0; padding:0; border:0; border-radius:2px; background:transparent; color:#b0dfef; font:650 12px/1.55 system-ui,sans-serif; text-decoration:underline; text-underline-offset:3px; cursor:pointer; touch-action:manipulation; }
.nnAuthPanel .nnTermsLink:hover { color:#effaff; }
.nnAuthPanel #nnTermsUnavailable { margin:0; color:#efcb9d; font:500 11px/1.5 system-ui,sans-serif; }
.nnAuthPanel #nnTermsUnavailable[hidden] { display:none; }
#nnTermsDialog { box-sizing:border-box; width:min(630px,calc(100vw - 28px)); max-width:calc(100vw - 28px); max-height:calc(100vh - 36px); max-height:calc(100dvh - 36px); margin:auto; padding:21px; overflow:hidden; border:1px solid #426878; border-radius:11px; background:#0a1d29; color:#dfedf5; box-shadow:0 18px 60px #0008; font:450 13px/1.65 system-ui,sans-serif; }
#nnTermsDialog[open] { display:flex; flex-direction:column; }
#nnTermsDialog:not([open]) { display:none; }
#nnTermsDialog::backdrop { background:#020912bd; }
#nnTermsDialog .nnTermsHeading { display:flex; flex:0 0 auto; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:15px; border-bottom:1px solid #284858; }
#nnTermsTitle { margin:0; color:#edf9ff; font:750 21px/1.3 system-ui,sans-serif; letter-spacing:-.015em; }
#nnTermsMeta { margin:7px 0 0; color:#91b3c3; font:450 10px/1.5 system-ui,sans-serif; overflow-wrap:anywhere; }
#nnTermsMeta[hidden] { display:none; }
#nnTermsDialog .nnTermsHeaderActions { display:flex; align-items:center; gap:3px; flex-shrink:0; }
#nnTermsDialog .nnTermsHeading [data-terms-close] { width:34px; height:34px; padding:0; border:1px solid #416172; border-radius:6px; background:#0e2836; color:#daeff9; font:500 21px/1 system-ui,sans-serif; }
#nnTermsBody { flex:1 1 auto; min-height:0; max-height:56vh; max-height:56dvh; padding:2px 11px 0 0; margin:15px 0; overflow:auto; overscroll-behavior:contain; scrollbar-color:#486f82 #0a1d29; overflow-wrap:anywhere; }
#nnTermsBody section + section { margin-top:23px; }
#nnTermsBody h3 { margin:0 0 9px; color:#d9f1fb; font:750 14px/1.4 system-ui,sans-serif; }
#nnTermsBody p { margin:0 0 12px; }
#nnTermsBody p:last-child { margin-bottom:0; }
#nnTermsDialog footer { flex:0 0 auto; display:flex; justify-content:flex-end; padding-top:13px; border-top:1px solid #284858; }
#nnTermsDialog footer [data-terms-close] { min-width:96px; min-height:40px; padding:10px 17px; border:1px solid #57869a; border-radius:6px; background:#163847; color:#e1f5ff; font:750 11px/1.3 system-ui,sans-serif; letter-spacing:.04em; }
#nnTermsDialog button { cursor:pointer; touch-action:manipulation; }
#nnTermsDialog :is(button,#nnTermsBody):focus-visible { outline:2px solid #b6efff; outline-offset:3px; }
@media(max-width:420px) { #nnTermsDialog { padding:17px; } #nnTermsTitle { font-size:19px; } .nnAuthPanel .nnTermsConsent { font-size:11px; } }
