/* T3MA waiver signing page - phone first, light, readable. */
:root {
  --bg: #f6f4ef; --surface: #fff; --text: #151515; --muted: #5c5850; --line: #dcd8cf;
  --gold: #f5c518; --dark: #151515; --danger: #b42318; --danger-bg: #fdecea; --ok: #1f8f4e;
  color-scheme: light;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 17px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; }
.w-page { max-width: 760px; margin: 0 auto; padding: 16px 16px 48px; }
.w-head { display: flex; flex-direction: column; gap: 4px; padding: 8px 0 12px; }
/* The T3MA logo for light backgrounds (brand-logos, from design/brand). */
.w-logo { display: block; align-self: flex-start; height: 56px; width: auto; }
.w-head h1 { margin: 6px 0 0; font-size: 1.6rem; line-height: 1.2; }
.w-sec { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 16px; margin-bottom: 14px; display: flex; flex-direction: column; gap: 12px; }
.w-sec h2 { margin: 0; font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.w-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 520px) { .w-row { grid-template-columns: 1fr; } }
label { display: flex; flex-direction: column; gap: 4px; font-weight: 600; }
input[type="text"], input:not([type]), input[type="email"], input[type="tel"], input[type="date"] {
  font: inherit; font-weight: 400; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--text); width: 100%;
}
input:focus { outline: 3px solid var(--gold); outline-offset: 1px; }
.w-text { max-height: 340px; overflow-y: auto; border: 1px solid var(--line); border-radius: 10px; padding: 4px 14px; background: #fbfaf7; font-size: 0.95rem; }
.w-signer-slot { font-weight: 800; text-decoration: underline; }
.w-hint { margin: -4px 0 0; color: var(--muted); font-size: 0.92rem; }
.w-minor { margin: 0; padding: 10px 12px; border-radius: 10px; background: #fff6e5; border: 1px solid #f2d39b; }
.w-hear { border: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.w-hear legend { font-weight: 600; margin-bottom: 6px; padding: 0; }
.w-hear label { flex-direction: row; align-items: center; font-weight: 400; gap: 6px; }
.w-pad-wrap { position: relative; }
.w-pad { width: 100%; height: 180px; border: 2px dashed var(--line); border-radius: 12px; background: #fff; touch-action: none; display: block; }
.w-clear { position: absolute; top: 8px; right: 8px; font: inherit; font-size: 0.9rem; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--line); background: #fff; cursor: pointer; }
.w-agree { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 600; }
.w-agree input { width: 22px; height: 22px; margin-top: 2px; flex: none; }
.w-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.w-error { color: var(--danger); font-weight: 600; min-height: 1em; }
.w-error:not(:empty) { background: var(--danger-bg); padding: 10px 12px; border-radius: 10px; }
.w-submit { width: 100%; font: inherit; font-size: 1.15rem; font-weight: 800; padding: 16px; border: none; border-radius: 12px; background: var(--gold); color: var(--dark); cursor: pointer; }
.w-submit:disabled { opacity: 0.6; cursor: default; }
.w-done { background: var(--surface); border-radius: 14px; padding: 32px 20px; text-align: center; border: 1px solid var(--line); }
.w-check { width: 72px; height: 72px; margin: 0 auto 8px; border-radius: 50%; background: var(--ok); color: #fff; font-size: 44px; line-height: 72px; font-weight: 900; }
.w-note { color: var(--muted); }

/* A member's forms page (waiver + program agreement), and drawn / typed signatures. */
.w-form-card .w-form-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.w-form-card h2 { margin: 0; }
.w-pill { font-size: 0.85rem; font-weight: 800; padding: 4px 10px; border-radius: 999px; }
.w-pill-ok { background: #e3f4e6; color: #1d6b2e; }
.w-pill-todo { background: #fff1d6; color: #8a5a00; }
.w-ok { background: #e3f4e6; color: #1d6b2e; border-radius: 12px; padding: 12px 14px; margin: 0 0 14px; }
.w-btn-inline { display: inline-block; width: auto; text-decoration: none; padding: 12px 20px; }
.w-link { background: none; border: none; color: inherit; text-decoration: underline; font: inherit; cursor: pointer; display: block; margin: 12px auto 0; }
.w-policy { border-top: 1px solid var(--line); padding-top: 10px; }
.w-policy p { margin: 6px 0 0 28px; }
.w-sig-tabs { display: flex; gap: 6px; }
.w-sig-tab { font: inherit; font-weight: 700; padding: 6px 14px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: inherit; cursor: pointer; }
.w-sig-tab.is-on { background: var(--gold); color: var(--dark); border-color: var(--gold); }
.w-typed-pad { pointer-events: none; }
