/* RUNTIME (L1) — js/tuhi/runtime.js. Built on the console's tokens (tuhi-shell.css: --surface, --bd, --acc …) and its db-* components;
   only what those do not cover is here. Both themes come from the tokens. */
.rt-root .db-panel{ margin-bottom:14px; }
.rt-rule{ display:flex; gap:12px; align-items:flex-start; border-color:var(--warn-bd); background:var(--warn-bg); color:var(--fg); font-size:13px; line-height:1.55; }
.rt-rule svg{ flex:none; margin-top:2px; color:var(--warn-fg); }
.rt-rule b{ color:var(--warn-fg); }
.rt-tablewrap{ overflow-x:auto; }
.rt-table{ width:100%; border-collapse:collapse; font-size:12.5px; }
.rt-table th{ text-align:left; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--mut); padding:6px 8px; border-bottom:1px solid var(--bd); white-space:nowrap; }
.rt-table td{ padding:8px; border-bottom:1px solid var(--bd-soft); vertical-align:top; color:var(--fg); }
.rt-table code{ font-size:11.5px; }
.rt-num{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.rt-small{ font-size:11.5px; line-height:1.5; }
.rt-why{ font-size:11.5px; color:var(--mut); margin-top:3px; line-height:1.45; max-width:300px; }
.rt-ctl{ white-space:nowrap; }
.rt-ctl .rt-btn, .rt-row .rt-btn{ height:28px; padding:0 10px; font-size:12px; margin:0 4px 4px 0; }
.rt-price{ display:flex; gap:4px; flex-wrap:wrap; align-items:center; margin-top:4px; }
.rt-price .ctl{ width:92px; height:28px; font-size:12px; }
.rt-mins{ height:28px; font-size:12px; margin-right:4px; }
.rt-form{ display:flex; flex-direction:column; gap:8px; }
.rt-row{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rt-lab{ min-width:230px; font-size:12.5px; color:var(--fg-2); font-weight:600; }
.rt-row .ctl{ min-width:240px; max-width:100%; }
.rt-fb{ width:90px !important; min-width:0 !important; }
.rt-out{ margin:0; padding:10px 12px; border-radius:9px; border:1px solid var(--bd); background:var(--surface-2); color:var(--fg); font-size:12px; white-space:pre-wrap; overflow-wrap:anywhere; }
.rt-note{ display:flex; gap:6px; align-items:flex-start; margin:0 0 14px; }
.rt-p{ font-size:13px; color:var(--fg-2); line-height:1.55; margin:0 0 10px; }
.rt-audit summary, .rt-root details > summary{ cursor:pointer; font-size:13px; }
.rt-audit .rt-tablewrap, .rt-root details .rt-tablewrap{ margin-top:10px; }
.rt-links{ margin-bottom:14px; }
.rt-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(360px,1fr)); gap:14px; }
@media (max-width:520px){ .rt-grid{ grid-template-columns:minmax(0,1fr); } .rt-lab{ min-width:0; width:100%; } .rt-row .ctl{ min-width:0; width:100%; } }
.rt-kv{ grid-template-columns:110px minmax(0,1fr); gap:7px 12px; font-size:12.5px; }
.rt-svc .db-link{ font-size:12px; font-weight:600; color:var(--acc-fg); background:none; border:0; cursor:pointer; padding:6px 0 0; }
