.trr-workspace { max-width: 960px; margin: 0 auto 3rem; }
.document-work-layout.trr-review-layout { grid-template-columns: minmax(0,1fr); }
.trr-workspace header { margin: 1.5rem 0; }
.trr-workspace header h1 { margin: .5rem 0; }
.trr-workspace header p { color: var(--mid); max-width: 50ch; }
.trr-workspace [data-trr-saved] { font-size: .85rem; color: var(--mid); }
.trr-steps { list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; padding: 0; margin: 2rem 0; }
.trr-steps li { display: flex; gap: .6rem; align-items: center; font-size: .85rem; color: var(--mid); }
.trr-steps li span { flex: 0 0 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; }
.trr-steps [aria-current] { color: var(--charcoal); font-weight: 700; }
.trr-steps [aria-current] span { background: var(--forest); color: var(--ivory); border-color: var(--forest); }
.trr-card { padding: clamp(20px,4vw,36px); background: var(--white); border: 1px solid var(--border); border-radius: 16px; }
.trr-card h2 { margin-top: 0; }
.trr-card p { line-height: 1.6; }
.trr-card label { display: grid; gap: .5rem; margin-top: 1.4rem; font-size: .95rem; }
.trr-card input, .trr-card select, .trr-card textarea { width: 100%; min-height: 48px; min-width: 0; max-width: 100%; font: inherit; padding: .7rem; border: 1px solid var(--field-border); border-radius: 8px; background: var(--cream); box-sizing: border-box; }
.trr-card textarea { resize: vertical; line-height: 1.5; }
.trr-card .trr-upload { border: 1px dashed var(--field-border); border-radius: 10px; padding: 1rem; }
.trr-upload input { border: 0; background: transparent; padding: .5rem 0; }
.trr-upload input::file-selector-button { min-height: 44px; padding: .6rem 1rem; border: 1px solid var(--field-border); border-radius: 6px; background: var(--white); color: var(--charcoal); cursor: pointer; }
.trr-existing { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.trr-existing summary, .trr-later summary { min-height: 44px; cursor: pointer; padding: .65rem 0; }
.trr-existing .btn { margin-top: 1rem; }
.trr-card .trr-confirm { display: flex; align-items: flex-start; min-height: 44px; line-height: 1.5; }
.trr-confirm input { flex: 0 0 22px; width: 22px; height: 22px; min-height: 22px; margin: .15rem 0; }
.trr-connected { display: grid; gap: .7rem; margin: 1.25rem 0; padding: 1rem; background: var(--cream); border: 1px solid var(--border); border-radius: 10px; }
.trr-connected .btn { justify-self: start; }
.trr-connected p { margin: 0; }
.trr-instructions { background: var(--cream); padding: 1rem; border-radius: 10px; }
.trr-instructions p { white-space: pre-wrap; overflow-wrap: anywhere; }
.trr-footer, .trr-footer > div { display: flex; flex-wrap: wrap; gap: .7rem; }
.trr-footer { position: sticky; bottom: 0; padding: 1rem 0; justify-content: space-between; background: var(--canvas); z-index: 2; }
.trr-workspace .btn { min-height: 44px; white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
.trr-workspace [role="alert"], .trr-notice:not(:empty) { padding: 1rem; background: rgba(138,90,0,.08); border-radius: 8px; }
.trr-workspace [data-trr-message]:empty, .trr-notice:empty { display: none; }
.trr-later { margin-top: 1.5rem; border-top: 1px solid var(--border); padding-top: .5rem; }
.trr-later li { margin-bottom: .7rem; line-height: 1.5; }
@media (max-width: 600px) {
  .trr-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin: 1.5rem 0; }
  .trr-footer { position: static; }
  .trr-footer > div, .trr-footer > button { width: 100%; }
  .trr-footer > div > button { flex: 1; }
  .trr-card { padding: 18px; }
}
