/* NNWI Operation-ID Recovery Registry - front-end styles. Scoped under .nnwi-opid to avoid
 * clashing with the host theme. Palette matches the NNWI v5-home design (navy/gold/cream). */
.nnwi-opid {
  --navy:#0d1b2a; --navy-mid:#162436; --gold:#c9933a; --gold-light:#e8b96a; --gold-dark:#a87825;
  --cream:#f5f4f0; --border:#d4cfc8; --slate:#5a6677; --green:#2d6a4f; --red:#b32020;
  font-family:'DM Sans',system-ui,sans-serif; color:var(--navy); max-width:720px; margin:0 auto;
}
.nnwi-opid .opid-agency {
  background:var(--gold); color:var(--navy); padding:18px 20px; border-radius:10px;
  display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-bottom:22px;
}
.nnwi-opid .opid-agency p { margin:0; font-size:15px; max-width:460px; }
.nnwi-opid .opid-card {
  background:#fff; border:1px solid var(--border); border-radius:10px; padding:24px 26px;
  box-shadow:0 2px 10px rgba(13,27,42,.06);
}
.nnwi-opid .opid-card h3 { font-family:'Playfair Display',Georgia,serif; font-size:21px; margin:0 0 6px; color:var(--navy); }
.nnwi-opid .opid-muted { color:var(--slate); font-size:14px; margin:0 0 14px; }
.nnwi-opid label { display:block; font-size:13.5px; font-weight:600; margin:14px 0 6px; }
.nnwi-opid input[type=text], .nnwi-opid textarea {
  width:100%; padding:10px; border:1px solid #ccd3dd; border-radius:6px; font-family:inherit; font-size:15px; box-sizing:border-box;
}
.nnwi-opid .opid-btn {
  display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:14px; padding:11px 18px;
  border-radius:6px; border:2px solid transparent; cursor:pointer; text-decoration:none; margin-top:16px;
}
.nnwi-opid .opid-btn-gold { background:var(--gold); color:var(--navy); }
.nnwi-opid .opid-btn-gold:hover { background:var(--gold-light); }
.nnwi-opid .opid-btn-navy { background:var(--navy); color:#fff; margin-top:0; }
.nnwi-opid .opid-btn-navy:hover { background:var(--navy-mid); }
.nnwi-opid .opid-btn-ghost { background:transparent; color:var(--navy); border-color:var(--border); }
.nnwi-opid .opid-btn-ghost:hover { border-color:var(--gold); }
.nnwi-opid .opid-result { margin-top:20px; padding-top:18px; border-top:1px solid #eee; }
.nnwi-opid #opidQr { width:160px; height:160px; margin:14px 0; }
.nnwi-opid #opidQr img, .nnwi-opid #opidQr canvas { display:block; }
.nnwi-opid .opid-mono {
  font-family:Consolas,monospace; word-break:break-all; background:var(--cream);
  padding:10px 12px; border-radius:6px; font-size:13px; display:block;
}
.nnwi-opid .opid-note {
  background:#fbf6e6; border-left:4px solid var(--gold); padding:12px 14px; border-radius:0 8px 8px 0;
  font-size:13.5px; color:var(--navy-mid); margin:16px 0;
}
.nnwi-opid .opid-badge { display:inline-block; padding:5px 12px; border-radius:999px; font-weight:700; font-size:13px; background:#e6f4ea; color:#1b7a3d; }
.nnwi-opid .opid-badge-red { background:#fdeaea; color:var(--red); }
.nnwi-opid .opid-badge-grey { background:#eef0f4; color:#566; }
.nnwi-opid .opid-verify h3 { margin:12px 0 8px; }
@media (max-width:520px) { .nnwi-opid .opid-agency { flex-direction:column; align-items:flex-start; } }
