/* Trostie UI: scoped styles so we don't override WordPress/Ultimate Member. */
.trostie { max-width: 780px; margin: 1.5rem auto; line-height: 1.55; }
.trostie .tr-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.trostie .tr-cards { display:grid; gap:.7rem; }
.trostie .tr-card { display:block; border:1px solid #ccd1d5; border-radius:10px; padding:1rem; margin:.6rem 0; text-decoration:none; color:inherit; overflow:hidden; }
.trostie .tr-card small { display:block; color:#525c66; margin-top:.25rem; }
.trostie .tr-thumb { width:80px; height:80px; object-fit:cover; float:left; margin-right:1rem; border-radius:6px; }
.trostie .tr-photo { display:block; max-height:260px; width:auto; object-fit:contain; border-radius:8px; margin:.8rem 0; }
.trostie [hidden] { display:none !important; }
.trostie fieldset { padding:1rem; border:1px solid #ccd1d5; margin:1rem 0; }
.trostie legend { font-weight:700; }
.trostie label { display:block; margin:.8rem 0; font-weight:600; }
.trostie label.tr-inline { display:flex; gap:.55rem; align-items:center; font-weight:normal; }
.trostie input:not([type=radio]):not([type=checkbox]):not([type=file]),
.trostie textarea { width:100%; max-width:100%; display:block; padding:.65rem; box-sizing:border-box; border:1px solid #8b949e; border-radius:6px; background:#fff; color:#111; }
.trostie textarea { min-height:80px; }
.trostie button, .trostie .tr-button { display:inline-block; background:#174e45; color:#fff; padding:.65rem 1rem; border:0; border-radius:6px; cursor:pointer; font-weight:700; text-decoration:none; }
.trostie .tr-secondary { background:#e9eff0; color:#123c35; border:1px solid #94a3a3; }
.trostie .tr-error { padding:.8rem; border-left:4px solid #a52727; background:#fff3f3; color:#681313; }
.trostie .tr-notice { padding:.8rem; border-left:4px solid #247542; background:#f0fbf2; color:#155326; }
.trostie .tr-muted { color:#56616e; font-size:.9em; }
.trostie .tr-timeline { border-left:2px solid #a1a9b2; padding-left:1.4rem; margin:1rem 0; }
.trostie .tr-timeline li { padding:.3rem 0 .7rem .2rem; }
.trostie .tr-labels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; }
.trostie .tr-label { border:2px dashed #222; padding:1.4rem; text-align:center; color:#000; background:#fff; break-inside:avoid; }
.trostie .tr-label-title { display:block; font-size:1.1rem; }
.trostie .tr-qr { margin:1rem auto; display:flex; justify-content:center; }
.trostie .tr-qr img { display:block; width:180px; height:180px; }
.trostie details { padding:1rem 0; margin-top:1rem; border-top:1px solid #cdd1d5; }
@media(max-width:580px) {
  .trostie .tr-labels { grid-template-columns:1fr; }
  .trostie button, .trostie .tr-button { min-height:42px; }
}
@media print {
  @page { size:A4; margin:12mm; }
  body .trostie .tr-no-print { display:none !important; }
  .trostie.tr-label-sheet { max-width:none; margin:0; }
  .trostie .tr-labels { grid-template-columns:1fr 1fr; gap:8mm; }
  .trostie .tr-label { border:1px dashed #222; padding:6mm; }
  .trostie .tr-qr { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  header, footer, nav { display:none !important; }
}

/* Human-readable damaged-QR fallback printed underneath both QR codes. */
.trostie .tr-manual-help { margin:.65rem 0 .15rem; }
.trostie .tr-manual-url { overflow-wrap:anywhere; word-break:break-word; font-weight:700; font-size:.9rem; margin:.1rem 0 .4rem; }
.trostie .tr-private-code { border:1px solid #444; padding:.5rem; margin:.5rem 0; }
.trostie .tr-private-code strong { font-size:1.05rem; letter-spacing:.05em; }
