/* travel, method and map additions (owned by the requirements workstream). Light theme only.
   Text wraps at spaces; short labels, codes and numbers stay on one line. */

/* shared */
td.num, .num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.rid-link { font-family: var(--mono); font-size: .78rem; font-weight: 650; color: var(--accent); background: var(--accent-soft); border-radius: 4px; padding: 1px 6px; text-decoration: none; white-space: nowrap; display: inline-block; margin: 0 4px 4px 0; }
.rid-link:hover { background: #dbe5fb; }
.tr-missing { font-family: var(--mono); font-size: .78rem; color: var(--hit); background: var(--hit-soft); border-radius: 4px; padding: 1px 6px; white-space: nowrap; }
.tr-rows { margin-top: 5px; }

/* map: badges, quote expand, jurisdiction summary */
.badges { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; }
.badge { display: inline-block; font-size: .72rem; font-weight: 650; padding: 1px 7px; border-radius: 999px; white-space: nowrap; text-decoration: none; }
.badge.ok { background: var(--ok-soft); color: var(--ok); }
.badge.chg { background: var(--warn-soft); color: var(--warn); }
.qd { margin-top: 6px; }
.qd summary { font-size: .8rem; }
.jsum { margin: 0; line-height: 1.9; }
.jsum .jc { display: inline-block; white-space: nowrap; background: var(--panel); border: 1px solid var(--line); border-radius: 6px; padding: 0 7px; margin-right: 4px; color: var(--ink-2); }

/* travel */
.tr-form { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; align-items: end; }
@media (max-width: 960px) { .tr-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) { .tr-form { grid-template-columns: minmax(0, 1fr); } }
.tr-type { display: block; font-weight: 600; padding: 7px 0; color: var(--ink); }
.tr-ex .chip { text-decoration: none; }
.tr-sides { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.tr-sides:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 860px) { .tr-sides { grid-template-columns: minmax(0, 1fr); } }
.tr-side.unmapped { background: #fffbf3; border-color: #f1d29a; }
.tr-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-bottom: 6px; }
.tr-head h2 { margin: 0; }
.tr-lines { list-style: none; margin: 0; padding: 0; }
.tr-lines li { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-top: 1px solid var(--line); }
.tr-lines li.nm .tr-t { color: var(--warn); }
.tr-k { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); word-break: keep-all; padding-top: 2px; }
.tr-t { min-width: 0; font-size: .92rem; }
@media (max-width: 460px) { .tr-lines li { grid-template-columns: minmax(0, 1fr); gap: 2px; } }
.tr-thr { margin-top: 10px; }
.tr-thr table { min-width: 680px; }
.tr-thr code { white-space: nowrap; }

/* method */
.me-sec h2 { margin-bottom: .5em; }
.me-sec h3 { margin: 14px 0 6px; }
.me-sec .tablewrap { max-height: 60vh; }
.me-who table, .me-api table { min-width: 560px; }
.me-who td.pin, .me-api td.pin { width: 230px; }
.me-src table { min-width: 620px; }
.me-src td.pin { width: 55%; }
.me-jur { min-width: 520px; }
.me-steps, .me-list { margin: 0; padding-left: 20px; }
.me-steps li, .me-list li { margin-bottom: 6px; }
.me-log { list-style: none; margin: 0; padding: 0; }
.me-log li { padding: 10px 0; border-top: 1px solid var(--line); }
.me-log li:first-child { border-top: 0; padding-top: 0; }
.me-log p { margin: 4px 0; }
.me-try { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.me-params { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
@media (max-width: 700px) { .me-try { grid-template-columns: minmax(0, 1fr); } }
.me-json { background: #f3f5f9; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; font-family: var(--mono); font-size: .8rem; max-height: 420px; overflow: auto; white-space: pre-wrap; overflow-wrap: break-word; margin: 0; }
.me-cite { font-family: var(--mono); font-size: .85rem; background: #f3f5f9; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; overflow-wrap: break-word; }
.me-sha { overflow-wrap: break-word; }
.metric b.nw { white-space: nowrap; }
.tr-metrics { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
#t-out > * + * { margin-top: 14px; }
@media (max-width: 640px) {
  .me-who td.pin, .me-api td.pin { width: 150px; }
  .me-who table, .me-api table { min-width: 480px; }
}
