/* Nov 2 2026: site-wide read-only style. Locked fields read as a label + plain text, not an input box.
 * Disabled controls are swapped for a .fd-ro-val span by readonly-v1.js (disabled fields never post, so nothing changes in forms).
 * Readonly fields stay in the page (they still post / can be copied); they just lose the box. Opt out: data-fd-ro-skip. */
.fd-ro-val{display:block;margin-top:3px;padding:2px 0 6px;font-size:13.5px;font-weight:600;color:#102451;white-space:pre-wrap;word-break:break-word;border:0;background:none;box-shadow:none;text-align:left;line-height:1.4}
.fd-ro-val.is-inline{display:inline-block;margin-top:0;padding:2px 0}
.fd-ro-val.is-empty{color:#9aa5b5;font-weight:500}
td .fd-ro-val,th .fd-ro-val{margin:0;padding:4px 2px;font-size:12.5px}
.fd-ro-chk{display:inline-block;font-weight:800;color:#2f7d74;font-size:12.5px;white-space:nowrap}.fd-ro-chk.no{color:#9aa5b5;font-weight:600}
/* Admin only: tech forms use readonly as a temporary lock (e.g. pick a ticket type first). */
.fd-admin-body input[readonly]:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([data-fd-ro-skip]),.fd-admin-body textarea[readonly]:not([data-fd-ro-skip]){border-color:transparent!important;background:transparent!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important;font-weight:600;color:#102451!important;outline:0;resize:none}
.fd-admin-body input[readonly]:not([data-fd-ro-skip]):focus{outline:0;box-shadow:none!important}
