/* Shared Identity modal and authenticated sticky-menu underlight. Sporhest - Team Stallion, 2026-10-11. */
.interactive-session-active [data-interactive-site-navigation]::before {
  content: "";
  display: block;
  position: absolute;
  inset: auto 0 -48px;
  height: 48px;
  background: linear-gradient(to bottom, rgba(34, 232, 102, .95), rgba(34, 232, 102, .55) 20%, rgba(34, 232, 102, .24) 50%, rgba(34, 232, 102, .06) 80%, transparent);
  filter: blur(6px);
  clip-path: inset(0 -24px -24px);
  pointer-events: none;
}

.interactive-login-dialog {
  position: fixed; margin: auto; width: min(460px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px); overflow-y: auto; padding: 24px;
  border: 1px solid var(--border,#dfe5ed); border-radius: 16px;
  background: var(--surface,#fff); color: var(--ink,#1c2948); text-align: left;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .3); font: inherit;
}
.interactive-login-dialog::backdrop { background: rgba(15, 23, 42, .65); }
.interactive-login-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.interactive-login-heading h2 { margin: 0; font-size: 1.5rem; }
.interactive-login-close { border: 0; background: transparent; color: inherit; font-size: 28px; padding: 4px 8px; cursor: pointer; }
.interactive-login-close:disabled { cursor: wait; opacity: .5; }
.interactive-login-dialog [data-login-content] { min-height: 280px; }
.interactive-login-dialog form { display: flex; flex-direction: column; gap: 12px; }
.interactive-login-dialog label { display: block; margin-bottom: 5px; font-weight: 600; }
.interactive-login-dialog input[type="email"], .interactive-login-dialog input[type="password"] {
  box-sizing: border-box; width: 100%; padding: 10px 12px; min-height: 44px;
  border: 1px solid var(--border-dark,#cbd5e1); border-radius: 8px; background: var(--surface-2,#f1f5f9); color: var(--ink,#1c2948); font: inherit;
}
.interactive-login-dialog .form-check { display: flex; gap: 8px; align-items: center; }
.interactive-login-dialog .form-check label { margin: 0; font-weight: 400; }
.interactive-login-dialog input[type="checkbox"] { width: 18px; height: 18px; }
.interactive-login-dialog [type="submit"] { width: 100%; justify-content: center; }
.interactive-login-errors { min-height: 2.5em; color: #c23242; font-size: 14px; }
.interactive-login-dialog a { color: var(--link,#555bff); }
.interactive-login-dialog .small { font-size: .875rem; line-height: 1.5; color: var(--ink-2,#475569); }
.interactive-login-dialog .justify-content-between { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
.interactive-login-dialog .text-center { text-align: center; }
.interactive-login-dialog .mt-3 { margin-top: 12px; }
.interactive-login-dialog :focus-visible { outline: 3px solid var(--primary,#555bff); outline-offset: 3px; }

.interactive-session-entry { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:24px; }
.interactive-session-entry[hidden] { display:none; }
.interactive-session-entry p { margin:0; font-size:14px; line-height:1.5; }
.interactive-session-entry button, .interactive-login-dialog [type="submit"] { background:#555bff; color:white; border:0; border-radius:8px; padding:12px 22px; font:inherit; font-weight:600; cursor:pointer; }
.interactive-session-entry button[hidden] { display:none; }
