/* Original login presentation, scoped native CSS. */
:where(.infonevod-ui) .login-page { --login-column-width: 460px; --login-page-gutter: 32px; min-height: 100svh; background: var(--background); }
:where(.infonevod-ui) .login-page .site-header { background: #fff; }
:where(.infonevod-ui) .login-page .header-inner { max-width: calc(var(--login-column-width) + 2 * var(--login-page-gutter)); padding-inline: var(--login-page-gutter); }
:where(.infonevod-ui) .login-shell { width: 100%; max-width: 1032px; margin: 0 auto; padding: clamp(36px, 8vh, 88px) 32px 48px; }
:where(.infonevod-ui) .login-column { width: 100%; max-width: var(--login-column-width); margin-inline: auto; }
:where(.infonevod-ui) .login-card { background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 36px; box-shadow: 0 3px 8px #182a4804, 0 16px 48px #182a4805; }
:where(.infonevod-ui) .login-mark { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 22px; border: 1px solid #dbe7fb; border-radius: 11px; background: #eff6ff; color: var(--primary); }
:where(.infonevod-ui) .login-mark svg { width: 21px; height: 21px; stroke-width: 1.7; }
:where(.infonevod-ui) .login-card h1 { margin: 0; color: #172338; font-size: 2rem; line-height: 1.2; letter-spacing: -.03em; font-weight: 600; }
:where(.infonevod-ui) .login-intro { color: #606e82; font-size: 1rem; line-height: 1.6; margin: 12px 0 29px; max-width: 320px; }
:where(.infonevod-ui) .login-fields { display: grid; gap: 22px; border: 0; padding: 0; margin: 0; min-width: 0; }
:where(.infonevod-ui) .login-field > label { display: block; color: #35445b; font-size: .875rem; font-weight: 500; line-height: 1.5; margin-bottom: 9px; }
:where(.infonevod-ui) .login-field .ui-input { height: 46px; border-color: #d8e0eb; color: #243247; font-size: 1rem; padding-inline: 13px; box-shadow: none; }
:where(.infonevod-ui) .login-field .ui-input::placeholder { color: #798496; }
:where(.infonevod-ui) .login-field .ui-input[aria-invalid="true"] { border-color: #b83f4d; }
:where(.infonevod-ui) .login-password { position: relative; }
:where(.infonevod-ui) .login-password .ui-input { padding-right: 53px; }
:where(.infonevod-ui) .login-password-toggle { position: absolute; top: 3px; right: 3px; width: 40px; height: 40px; color: #606e82; }
:where(.infonevod-ui) .login-password-toggle:hover { color: var(--primary); background: #eff6ff; }
:where(.infonevod-ui) .login-password-toggle svg { width: 18px; height: 18px; }
:where(.infonevod-ui) .login-field-error { color: #a63843; margin: 7px 0 0; font-size: .875rem; line-height: 1.5; }
:where(.infonevod-ui) .login-submit { width: 100%; min-height: 46px; margin-top: 27px; gap: 9px; font-size: .9375rem; font-weight: 500; box-shadow: 0 2px 3px #1d4ed815; }
:where(.infonevod-ui) .login-error { margin-top: 22px; background: #fff6f6; border-color: #f0d4d7; color: #a63843; }
:where(.infonevod-ui) .login-error [data-login-error] { color: #923740; font-size: .875rem; line-height: 1.6; }
:where(.infonevod-ui) .login-spinner { animation: login-spin 1s linear infinite; }
@keyframes login-spin { to { transform: rotate(360deg); } }
@media (max-width: 700px) {
  :where(.infonevod-ui) .login-page { --login-page-gutter: 20px; }
  :where(.infonevod-ui) .login-shell { padding: 32px 20px 36px; }
  :where(.infonevod-ui) .login-card { padding: 27px 25px 28px; }
  :where(.infonevod-ui) .login-card h1 { font-size: 1.75rem; }
  :where(.infonevod-ui) .login-intro { margin-bottom: 25px; }
}
@media (max-width: 380px) { :where(.infonevod-ui) .login-page { --login-page-gutter: 14px; } :where(.infonevod-ui) .login-shell { padding-inline: 14px; } :where(.infonevod-ui) .login-card { padding-inline: 21px; } }
@media (prefers-reduced-motion: reduce) { :where(.infonevod-ui) .login-spinner { animation: none; } }
/* Match the original primitives without Tailwind or component libraries. */
:where(.infonevod-ui) .login-field .ui-input { border-radius: 6px; padding-block: 4px; line-height: 1.5; background: transparent; }
:where(.infonevod-ui) .login-password-toggle { padding: 0; border: 0; border-radius: 6px; }
:where(.infonevod-ui) .login-password-toggle svg { width: 18px; height: 18px; }
:where(.infonevod-ui) .login-submit { border: 0; border-radius: 6px; padding: 8px 16px; line-height: 1.428571; color: var(--primary-foreground); }
:where(.infonevod-ui) .login-submit:not(:disabled):hover { background: color-mix(in srgb, var(--primary) 90%, transparent); }
:where(.infonevod-ui) .login-error { display: grid; grid-template-columns: 16px 1fr; align-items: start; column-gap: 12px; border: 1px solid #f0d4d7; border-radius: 8px; padding: 12px 16px; }
:where(.infonevod-ui) .login-error > svg { width: 16px; height: 16px; transform: translateY(2px); }
:where(.infonevod-ui) .login-error [data-login-error] { margin: 0; }
:where(.infonevod-ui) .login-field > label { gap: 8px; }
:where(.infonevod-ui) .login-fields:disabled, :where(.infonevod-ui) .login-field .ui-input:read-only { opacity: .5; }
:where(.infonevod-ui) .login-password-toggle[aria-pressed="false"] .login-eye-off,
:where(.infonevod-ui) .login-password-toggle[aria-pressed="true"] .login-eye,
:where(.infonevod-ui) [data-login-form][aria-busy="false"] .login-spinner { display: none; }
@media (max-width: 700px) { :where(.infonevod-ui) .login-card { border-radius: 12px; } }
