/* U11-B (373): the routing policy panel and the call card's Route (call-route.js). Shop design tokens (shop.css). */
.rt-fine { font-size: 13px; color: var(--ink-2); line-height: 1.4; margin: 4px 0; overflow-wrap: anywhere; }
.rt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; margin: 10px 0; }
.rt-kv { display: flex; flex-direction: column; gap: 2px; background: var(--surface); border: 1px solid var(--hair); border-radius: var(--r-m, 12px); padding: 8px 12px; min-width: 0; }
.rt-kv span { font-size: 12px; color: var(--ink-2); }
.rt-kv strong { font-size: 15px; overflow-wrap: anywhere; }
.rt-edit, .rt-history { margin: 10px 0; }
.rt-edit > summary, .rt-history > summary { font-weight: 600; cursor: pointer; min-height: 32px; }
.rt-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px 14px; align-items: end; margin-top: 8px; }
.rt-form select, .rt-form input[type="number"], .rt-form input[type="text"], .rt-form input[type="datetime-local"] { width: 100%; box-sizing: border-box; min-height: 40px; }
.rt-check { display: flex; align-items: center; gap: 8px; min-height: 40px; }
.rt-row { margin-top: 10px; display: flex; gap: 8px; flex-wrap: wrap; }
.rt-try { border-top: 1px solid var(--hair); margin-top: 14px; padding-top: 10px; }
.rt-try h3 { font-size: 16px; margin: 0 0 4px; }
.rt-out { margin-top: 10px; }
.rt-hops { list-style: none; margin: 8px 0; padding: 0; }
.rt-hop { border-left: 3px solid var(--hair); padding: 6px 0 6px 12px; margin-left: 2px; overflow-wrap: anywhere; }
.rt-hop.is-answered, .rt-hop.is-reached { border-left-color: var(--green, #1f7a35); }
.rt-hop.is-no_answer, .rt-hop.is-busy, .rt-hop.is-unavailable { border-left-color: var(--amber, #b25000); }
.rt-hop.is-loop_stopped { border-left-color: var(--red, #b3261e); }
.rt-why { font-size: 14px; margin-top: 2px; }
.rt-chip { display: inline-flex; padding: 1px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--fill, #f2f2f4); white-space: nowrap; }
.rt-chip.is-answered, .rt-chip.is-reached { background: var(--green-soft, #e8f6ec); color: var(--green, #1f7a35); }
.rt-chip.is-no_answer, .rt-chip.is-busy, .rt-chip.is-unavailable { background: var(--amber-soft, #fff4e5); color: var(--amber, #b25000); }
.rt-chip.is-loop_stopped { background: var(--red-soft, #fdecea); color: var(--red, #b3261e); }
.rt-summary p { margin: 4px 0; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .rt-form { grid-template-columns: 1fr; }
}
/* U17-B (430): the spoken menu in the policy and its editor */
.rt-menu { background: var(--surface); border: 1px solid var(--hair); border-radius: var(--r-m, 12px); padding: 8px 12px; margin: 8px 0; overflow-wrap: anywhere; }
.rt-menu p { margin: 2px 0; }
.rt-menu-edit { border: 1px solid var(--hair); border-radius: var(--r-m, 12px); padding: 8px 12px 12px; margin: 12px 0 0; min-width: 0; }
.rt-menu-edit legend { font-weight: 600; padding: 0 4px; }
.rt-menu-edit input[type="text"], .rt-menu-edit select { width: 100%; box-sizing: border-box; min-height: 40px; }
.rt-menu-rows { margin: 8px 0; }
.rt-menu-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: center; margin: 6px 0; }
.rt-key { font-weight: 700; text-align: center; }
.rt-menu-edit .rt-form { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
