/* Shared entry to the member tools, in the existing FUTPEPI palette. */
.member-entry { margin: 0; background: #fff; color: var(--fp-ink); font: 400 16px/1.6 var(--fp-font); }
.member-entry *, .member-entry *::before, .member-entry *::after { box-sizing: border-box; }
.member-entry a { color: inherit; text-underline-offset: 4px; }
.member-entry a:focus-visible, .member-entry button:focus-visible { outline: 3px solid var(--fp-ink); outline-offset: 4px; }
.entry-header { width: 100%; max-width: 1200px; margin: 0 auto; padding: 26px 40px; display: flex; align-items: center; justify-content: space-between; }
.entry-brand { display: block; line-height: 0; background: #000; border-radius: 8px; overflow: hidden; }
.entry-brand img { display: block; width: 180px; height: 63px; object-fit: contain; }
.entry-language { display: flex; gap: 5px; }
.entry-language a { display: grid; place-items: center; width: 44px; height: 44px; font-size: 13px; text-decoration: none; border-radius: 6px; color: var(--fp-muted); }
.entry-language a[aria-current] { background: var(--fp-soft); color: var(--fp-ink); font-weight: 700; }
main.entry-layout { width: 100%; max-width: 1200px; margin: 0 auto; padding: 44px 40px 80px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 80px; align-items: center; flex: 1 0 auto; }
.entry-intro h1 { margin: 0 0 24px; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.1; letter-spacing: -2px; font-weight: 800; }
.entry-lead { max-width: 390px; margin: 0; color: var(--fp-muted); font-size: 19px; line-height: 1.6; }
.entry-tools { margin-top: 40px; }
.entry-tools > div { display: flex; align-items: center; gap: 18px; padding: 17px 0; }
.entry-tool-icon { display: grid; place-items: center; width: 46px; height: 46px; flex-shrink: 0; background: var(--fp-yellow-tint); color: var(--fp-ink); border-radius: 12px; font-size: 26px; line-height: 1; }
.entry-tools p { margin: 0; font-size: 13px; color: var(--fp-muted); }
.entry-tools strong { display: block; font-size: 16px; font-weight: 700; color: var(--fp-ink); margin-bottom: 2px; }
.entry-availability { margin: 24px 0 0; font-size: 12px; color: var(--fp-muted); max-width: 380px; }
.entry-panel { background: var(--fp-soft); padding: 40px; border: 1px solid var(--fp-line); border-radius: 20px; }
.entry-panel h2 { margin: 0 0 8px; font-size: 29px; line-height: 1.25; letter-spacing: -.7px; }
.entry-description { margin: 0 0 30px; color: var(--fp-muted); font-size: 14px; }
.entry-panel label { display: block; font-size: 14px; font-weight: 600; }
.entry-panel input { display: block; width: 100%; min-width: 0; height: 52px; margin: 9px 0 22px; padding: 12px 14px; border: 1px solid var(--fp-outline); border-radius: 7px; background: #fff; color: var(--fp-ink); font: inherit; }
.entry-panel input:focus { outline: 3px solid var(--fp-yellow); outline-offset: 2px; border-color: var(--fp-ink); }
.entry-password-label { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.entry-password-label a { font-size: 12px; }
.entry-submit { width: 100%; min-height: 54px; margin: 4px 0 28px; padding: 12px; background: var(--fp-yellow); color: var(--fp-ink); border: 0; border-radius: 7px; font: 700 16px var(--fp-font); cursor: pointer; }
.entry-submit:hover { background: var(--fp-yellow-hover); }
.entry-help { border-top: 1px solid var(--fp-outline); padding-top: 23px; font-size: 13px; }
.entry-help p { margin: 7px 0 20px; color: var(--fp-muted); }
.entry-support { font-size: 12px; }
.entry-message { padding: 12px; margin: 0 0 20px; border-left: 3px solid var(--fp-danger); background: #fff; color: var(--fp-danger); font-size: 14px; }
@media (max-width: 900px) { main.entry-layout { gap: 36px; padding-top: 28px; } .entry-panel { padding: 28px; } }
@media (max-width: 700px) {
  .entry-header { padding: 20px 24px; }
  .entry-brand img { width: 150px; height: 53px; }
  main.entry-layout { grid-template-columns: 1fr; gap: 26px; padding: 20px 24px 44px; max-width: 520px; }
  .entry-intro h1 { font-size: 36px; letter-spacing: -1.3px; margin-bottom: 14px; }
  .entry-lead { font-size: 16px; }
  .entry-tools, .entry-availability { display: none; }
  .entry-panel { padding: 26px 22px; border-radius: 14px; }
  .entry-panel h2 { font-size: 25px; }
  .entry-description { margin-bottom: 24px; }
}
