/* Rule simulators (TradeOps, Integration Reliability Lab). Uses site tokens from styles.css. */
.sim{--sim-reject:#8a3b2e;--sim-reject-bg:#f3e4e0}
.sim>summary{min-height:44px;display:flex;align-items:center}
.sim-body{container-type:inline-size;background:var(--light);padding:18px 20px 24px;font-size:16px;line-height:1.5}
.sim-body h4,.sim-body h5{font-family:var(--body);margin:0;letter-spacing:0}
.sim-body h4{font-size:18px;font-weight:600}
.sim-h5{font-size:14px;font-weight:600;color:var(--muted);margin-top:22px!important}
.sim-body p{margin:0;max-width:none}
.sim-label{font-size:14px;color:#274438;background:#e3ebe1;padding:10px 12px;border-radius:4px}
.sim-panel{background:var(--white);border-radius:4px;padding:16px;margin-top:14px;min-width:0}
.sim-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;align-items:baseline}
.sim-sub{font-size:14px;color:var(--muted)}
.sim-total{margin-top:12px!important;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.sim-total strong{font-variant-numeric:tabular-nums;font-size:18px}
.sim-note{font-size:14px;color:#405546;margin-top:8px!important}
.sim-controls{margin-top:14px;background:#dce8dc;border-radius:4px;padding:16px}
.sim-actions{display:flex;flex-wrap:wrap;gap:8px}
.sim-btn{min-height:44px;padding:10px 16px;border-radius:4px;background:var(--white);color:var(--ink);font-size:15px;font-weight:600;line-height:1.3;text-align:center;max-width:100%;transition:background .2s}
.sim-btn:hover{background:#c6d6c5}
.sim-btn-dark{background:var(--dark);color:var(--white)}
.sim-btn-dark:hover{background:#365444}
.sim-btn-inline{margin-top:6px}
.sim-btn:disabled{opacity:.5;cursor:not-allowed}
.sim-btn:focus-visible,.sim-field select:focus-visible,.sim-check input:focus-visible,.sim-scroll:focus-visible,.sim-status:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.sim-fields{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:14px;align-items:flex-start}
.sim-field{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}
.sim-field select{min-height:44px;min-width:160px;max-width:100%;padding:8px 10px;border:0;border-radius:4px;background:var(--white);color:var(--ink);font:inherit;font-weight:400}
.sim-check{display:flex;gap:10px;align-items:flex-start;min-height:44px;cursor:pointer;font-size:15px;font-weight:600;min-width:0}
.sim-check input{width:24px;height:24px;margin:0;flex:none}
.sim-check small{display:block;font-size:13px;font-weight:400;color:#405546}
.sim-status{margin-top:14px;background:var(--white);border-radius:4px;padding:2px 16px 14px;border-left:4px solid var(--control-green,#2c634b)}
.sim-status p{margin-top:4px!important;overflow-wrap:anywhere}
.sim-msg{overflow-wrap:anywhere}
.sim-scroll{overflow-x:auto;max-width:100%;margin-top:10px;border-radius:4px}
.sim-scroll:focus-visible{outline-offset:-3px}
.sim-logbox{max-height:240px;overflow-y:auto;background:var(--white)}
.sim-log{list-style:none;margin:0;padding:0}
.sim-log li{padding:10px 12px;font-size:14px}
.sim-log li:nth-child(odd){background:var(--light)}
.sim-n{font-variant-numeric:tabular-nums;color:var(--muted);margin-right:4px}
.sim-empty{font-size:14px;color:var(--muted);padding:10px 12px}
.sim-versions{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sim-versions li{display:flex;gap:8px;align-items:center;font-size:14px}
.sim-ver{font-weight:600;font-variant-numeric:tabular-nums}
.sim-table{border-collapse:collapse;width:100%;font-size:14px;background:var(--white);font-variant-numeric:tabular-nums;text-align:left}
.sim-table th,.sim-table td{padding:10px 8px;vertical-align:top;font-weight:400;font-size:14px;color:var(--ink)}
.sim-table thead th{font-weight:600;color:var(--muted);font-size:13px;white-space:nowrap}
.sim-table tbody th{font-weight:600}
.sim-table tbody tr:nth-child(odd){background:var(--light)}
.sim-table td:last-child{font-weight:400}
.sim-res{display:inline-flex;align-items:flex-start;gap:7px;padding:3px 8px;border-radius:4px;font-size:14px;font-weight:600;line-height:1.4;background:#e3ebe1;color:var(--ink);max-width:100%}
.sim-res>span:last-child{overflow-wrap:anywhere}
.sim-res-ok{background:#d5e8d9}
.sim-res-no{background:var(--sim-reject-bg);color:var(--sim-reject)}
.sim-mk{flex:none;width:10px;height:10px;margin-top:6px;background:currentColor}
.sim-mk-ok{border-radius:50%;color:#2c634b}
.sim-mk-hold{clip-path:polygon(50% 0,100% 100%,0 100%);color:#405546}
.sim-mk-no{color:var(--sim-reject)}
@container (max-width:560px){
  .sim-scroll{overflow-x:visible}
  .sim-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .sim-table,.sim-table tbody,.sim-table tr,.sim-table th,.sim-table td{display:block;width:100%}
  .sim-table tbody tr{padding:8px 0;border-bottom:2px solid var(--light)}
  .sim-table tbody th,.sim-table td{display:grid;grid-template-columns:minmax(76px,32%) minmax(0,1fr);gap:8px;padding:5px 12px;overflow-wrap:anywhere}
  .sim-table tbody th::before,.sim-table td::before{content:attr(data-label);font-size:13px;font-weight:600;color:var(--muted)}
  .sim-btn{flex:1 1 100%}
  .sim-field,.sim-field select{width:100%}
}
@media (max-width:520px){.sim-body{padding:14px 12px 20px}.sim-panel,.sim-controls{padding:12px}}
@media (prefers-reduced-motion:reduce){.sim-btn{transition:none}}

/* lead: keep short status badges and event ids on one line */
.sim-res{white-space:nowrap}.sim-res>span:last-child{white-space:normal}.sim-table tbody th{white-space:nowrap}
@media(max-width:560px){.sim-table tbody th{white-space:normal}}
