.nh-authpage { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 16px; padding-bottom: 16px; background: linear-gradient(150deg, var(--nh-topbar), color-mix(in srgb, var(--nh-topbar) 60%, var(--nh-purple)) 70%, var(--nh-purple)); }
.nh-auth { width: 100%; max-width: 420px; display: flex; flex-direction: column; gap: 12px; padding: 26px 22px; background: var(--nh-white); border-radius: 18px; box-shadow: 0 18px 50px color-mix(in srgb, var(--nh-indigo-16) 40%, transparent); }
.nh-auth h1 { margin-top: 6px; font-size: 24px; font-weight: 800; letter-spacing: -.02em; }
.nh-auth__sub { color: var(--nh-ink-2); font-size: 14.5px; margin-bottom: 4px; }
.nh-auth__row { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 14px; }
.nh-auth__row a, .nh-auth__foot a { color: var(--nh-red); font-weight: 600; }
.nh-auth__foot { text-align: center; font-size: 14px; }
.nh-auth .nh-flash { margin: 0; }
.nh-install { max-width: 500px; margin-block: 16px; }
.nh-steps { display: flex; justify-content: space-between; }
.nh-steps__item span { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--nh-gray-95); font-size: 13px; font-weight: 700; color: var(--nh-ink-2); }
.nh-steps__item .nh-icon { width: 15px; height: 15px; }
.nh-steps__item.is-done span { background: var(--nh-green-95); color: var(--nh-green-53); }
.nh-steps__item.is-active span { background: var(--nh-red); color: var(--nh-white); }
.nh-install__choice { display: flex; gap: 10px; align-items: flex-start; padding: 11px 13px; border: 1.5px solid var(--nh-gray-93-2); border-radius: 11px; cursor: pointer; }
.nh-install__choice:has(input:checked) { border-color: var(--nh-red); background: var(--nh-red-97); }
.nh-install__choice span { display: flex; flex-direction: column; }
.nh-install__choice small { color: var(--nh-ink-2); }
.nh-install__db:has(input[value=sqlite]:checked) .nh-install__mysql { display: none; }
.nh-install__summary { display: flex; flex-direction: column; gap: 8px; margin: 0; font-size: 14px; }
.nh-install__summary div { display: flex; justify-content: space-between; gap: 14px; padding-bottom: 7px; border-bottom: 1px solid var(--nh-gray-95); }
.nh-install__summary dt { color: var(--nh-ink-2); }
.nh-install__summary dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; text-align: right; }
