/* Minimal placeholder styling. Re-skin to the fleet (Inter, Tailwind v4,
   brand tokens) to match nucp-public before launch — kept inline-free so the
   hardened CSP (style-src 'self') holds. */
:root { --ink:#1f2937; --line:#d1d5db; --accent:#0f5132; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, sans-serif; color: var(--ink); }
.bar { padding:1rem 1.25rem; border-bottom:1px solid var(--line); }
.wrap { max-width:640px; margin:2rem auto; padding:0 1.25rem; }
.foot { max-width:640px; margin:3rem auto; padding:1rem 1.25rem;
        color:#6b7280; border-top:1px solid var(--line); font-size:.85rem; }
h1 { font-size:1.5rem; }
label { display:block; margin-top:1rem; font-weight:600; }
input, textarea, select { width:100%; padding:.55rem; margin-top:.25rem;
        border:1px solid var(--line); border-radius:6px; font:inherit; }
input[type=checkbox] { width:auto; margin-right:.5rem; }
button { margin-top:1.5rem; padding:.6rem 1.1rem; border:0; border-radius:6px;
         background:var(--accent); color:#fff; font:inherit; cursor:pointer; }
p { line-height:1.5; }
.refnum { font-size:1.4rem; font-weight:700; letter-spacing:.05em;
          padding:.75rem 1rem; background:#f3f4f6; border-radius:8px;
          display:inline-block; }
.helptext { color:#6b7280; font-size:.85rem; }
ul.errorlist { color:#b91c1c; margin:.25rem 0 0; padding-left:1.1rem; }

/* --- consent row: keep the checkbox inline with its label ----------------- */
.consent { margin-top:1rem; }
.consent label { display:inline; margin-top:0; }
.consent input[type=checkbox] { vertical-align:middle; }

/* --- authenticity / privacy notice box ------------------------------------ */
.notice { margin:1rem 0; padding:.75rem 1rem; border:1px solid var(--line);
          background:#f9fafb; border-radius:6px; }
.notice p { margin:0; }

/* --- date input (legacy type=date rule, now inert; harmless) -------------- */
input[type=date] {
  -webkit-appearance:none; appearance:none;
  width:100%; max-width:100%; min-width:0;
  padding:.55rem; border:1px solid var(--line); border-radius:6px;
  background:#fff; color:var(--ink); font:inherit; min-height:2.6rem;
}
input[type=date]::-webkit-date-and-time-value { text-align:left; margin:0; }
input[type=date]::-webkit-datetime-edit { color:var(--ink); }

/* --- client-side field validation feedback (e.g. DOB on blur) ------------- */
.fielderror { color:#b91c1c; font-size:.85rem; margin:.25rem 0 0; }
input.invalid { border-color:#b91c1c; }

/* --- trusted-device advisory + secondary (outline) button ----------------- */
.advisory { margin:0 0 1rem; font-size:.9rem; color:#6b7280; }
.btn { display:inline-block; margin:.25rem 0 .5rem; padding:.5rem 1rem;
       border:1px solid var(--accent); border-radius:6px; color:var(--accent);
       text-decoration:none; font:inherit; }
.btn:hover { background:var(--accent); color:#fff; }
