:root{
  --bg:#ffffff;
  --muted:#6b7280;
  --text:#000000;
  --heading:#003865;
  --accent:#0b74de;
  --radius:8px;
  --gap:.75rem;
  --label-w:200px;
  /* font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  font-size:16px; */
}

/* Layout */
.form-wrap { max-width:920px; margin:0 auto; padding:1rem; background:var(--bg); color:var(--text); }
.form-group { margin:1rem 0; padding:1rem 0; border-bottom:1px solid #eef2f7; }
.form-legend { font-weight:700; color:var(--heading); margin-bottom:.5rem; font-size:2rem; }
fieldset { border:none; padding:0; margin:0; }

/* Grid row */
.form-row { display:grid; grid-template-columns: var(--label-w) 1fr; gap: var(--gap); align-items:center; margin:.4rem 0; }
@media (max-width:680px){ :root{ --label-w:1fr; } .form-row { grid-template-columns: 1fr; } .form-label { margin-bottom:.25rem; } }

/* .form-label { color:var(--muted); font-size:.95rem; } */
.form-note { display:block; font-size:.85rem; color:var(--muted); margin-top:.25rem; }

/* Text inputs */
input[type="text"], select, textarea {
  width:100%; padding:.55rem .65rem; border:1px solid #d6dbe6; border-radius:6px; background:var(--bg);
  color:var(--text); font-size:1rem; min-height:44px; box-sizing:border-box;
}
input[type="text"]:focus, select:focus, textarea:focus {
  outline:3px solid rgba(11,116,222,0.18); border-color:var(--accent); outline-offset:2px;
}

/* Native radios and checkboxes visible and larger for touch */
input[type="radio"], input[type="checkbox"] {
  transform:scale(1.15);
  margin:0 0.5rem 0 0;
  accent-color: var(--accent);
  min-width:20px;
  min-height:20px;
}
input[type="radio"]:focus, input[type="checkbox"]:focus {
  outline:3px solid rgba(11,116,222,0.18); outline-offset:3px;
}

/* Inline controls container */
.toggle-inline { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }

/* Error styling */
.input-error { border-color:#b91c1c !important; }
.error-message { color:#b91c1c; font-size:.9rem; margin-top:.25rem; }

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  border:0;
  white-space:nowrap;
}

/* default (non-JS or Windows): show Ctrl, hide Cmd */
.WinKey { display: inline; }
.MacKey { display: none; }

/* when JS detects macOS, flip visibility */
html.mac .WinKey { display: none; }
html.mac .MacKey { display: inline; }
