/* Production first sign-in: keep the existing OK login palette and center the form. */
#app:has(.first-password-v355) {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  background: #282c1d;
  padding: 24px;
  box-sizing: border-box;
}
.first-password-v355 { width: min(100%, 440px); margin: 0; font-family: inherit; }
.first-password-card {
  box-sizing: border-box;
  padding: clamp(28px, 6vw, 42px);
  border: 2px solid #a6a323;
  border-radius: 24px;
  background: #34351e;
  color: #fff9d5;
  box-shadow: 0 22px 55px rgba(0,0,0,.3);
}
.first-password-card h1 { margin: 0 0 8px; color: #ffbe32; font-size: 28px; line-height: 1.35; }
.first-password-card > p { margin: 0 0 26px; color: #e0d7ab; line-height: 1.55; }
.first-password-fields { display: grid; gap: 18px; }
.first-password-fields label { display: grid; gap: 8px; color: #ffbd31; font-size: 16px; }
.first-password-fields input {
  box-sizing: border-box; width: 100%; min-width: 0; height: 48px; padding: 0 14px;
  border: 1px solid #b0a974; border-radius: 8px; background: #fff;
  color: #20231a; font: inherit; font-size: 17px;
}
.first-password-fields input:focus-visible { outline: 3px solid #ffbe32; outline-offset: 2px; }
.first-password-card button {
  box-sizing: border-box; width: 100%; min-height: 50px; margin-top: 26px;
  border: 0; border-radius: 8px; background: #f9b52c; color: #20231a;
  font: inherit; font-size: 18px; font-weight: 700; cursor: pointer;
}
.first-password-card button:hover { background: #ffd160; }
.first-password-card button:disabled { opacity: .65; cursor: wait; }
.first-password-error { margin: 14px 0 0; color: #ffd0d0; line-height: 1.45; }
.first-password-error[hidden] { display: none; }
.plate-tabs-v332 .quick-plate-actions-v356 { margin-left: auto; display: inline-flex; gap: 8px; align-items: center; }
.quick-numbers-text-v356 { display: flex; align-items: center; gap: 6px; margin: 8px 0; font-size: 13px; }
.quick-numbers-text-v356 input { min-width: 0; width: 100%; padding: 5px; }
.odds-plate-a-v356 table th:nth-child(4), .odds-plate-a-v356 table td:nth-child(4) { display: none; }
.odds-plate-b-v356 table th:nth-child(3), .odds-plate-b-v356 table td:nth-child(3) { display: none; }

/* Keep the desktop betting canvas reachable on phones. The viewport fits the
   full canvas initially and permits native pinch zoom without a scale cap. */
html, body { overflow-anchor: none; }
#app { overflow-anchor: none; }
.member, .admin-shell { touch-action: auto; }
.table-wrap, .r346-table-scroll { -webkit-overflow-scrolling: touch; }
