.roi-panel { display: grid; gap: 12px; min-width: 0; }
.roi-panel > *, #roi-result { min-width: 0; max-width: 100%; }
.roi-read-status { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.roi-read-status p { flex:1 1 420px; margin:0; line-height:1.7; overflow-wrap:anywhere; }
.roi-read-status button { flex:none; }
#roi-read-history-list small { display:block; color:var(--ui-muted,#626269); overflow-wrap:anywhere; }
.roi-warning { border: 1px solid #edb780; border-radius: 12px; background: #fff8ef; padding: 10px 16px; color: #7e4016; }
.roi-warning p { margin: 6px 0 0; line-height: 1.7; }
.roi-summary, .roi-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin: 12px 0; }
.roi-gate { background: #edf4ff; padding: 12px 16px; border-radius: 10px; color: #244c85; }
.roi-table-wrap { width: 100%; overflow-x: auto; scroll-margin-top:120px; }
.roi-selection { scroll-margin-top:120px; }
.roi-selection, .roi-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:14px 0; }
.roi-selection label { display:flex; align-items:center; gap:8px; }
.roi-selection span, .roi-pagination span { color:var(--ui-muted,#626269); font-size:12px; }
.roi-pagination span { margin-right:auto; font-variant-numeric:tabular-nums; }
.roi-plan-identity { display:flex; align-items:flex-start; gap:10px; }
.roi-plan-identity > div { min-width:0; }
.roi-plan-identity input, .roi-selection input { width:16px; height:16px; flex:none; margin-top:2px; accent-color:var(--ui-accent,#0066cc); }
.roi-selection button:disabled, .roi-pagination button:disabled { opacity:.5; cursor:not-allowed; }
.roi-table { width: 100%; min-width: 820px; border-collapse: collapse; }
.roi-table th, .roi-table td { padding: 12px; text-align: left; border-bottom: 1px solid #e6ecf4; vertical-align: top; }
.roi-table th { background: #f1f5fa; }
.roi-table small { display: block; margin-top: 5px; color: var(--ui-muted,#626269); }
.roi-actions span { color: #65758a; }
.roi-accounts { border: 1px solid #d5e2f4; border-radius: 10px; display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 12px; margin-bottom: 12px; }
.roi-accounts label { display: flex; align-items: center; gap: 6px; font-size: 13px; overflow-wrap: anywhere; }
.roi-accounts input { flex: none; }
.roi-actions button:disabled { opacity: .5; cursor: not-allowed; }
.roi-panel :focus-visible { outline:2px solid var(--ui-accent,#0066cc); outline-offset:3px; }
.roi-result-count { font-variant-numeric:tabular-nums; }
.roi-action-dock { position:static; padding:12px 16px; margin-top:12px; background:var(--ui-surface,#fff); border:1px solid var(--ui-line,#dedee3); border-radius:12px; }
.roi-action-dock .roi-actions { margin:0; gap:10px 14px; }
.roi-action-dock .roi-actions span { color:var(--ui-muted,#626269); font-size:12px; }
.roi-action-dock :is(#roi-action-status,.roi-result-count) { margin:8px 0 0; line-height:1.6; font-size:13px; overflow-wrap:anywhere; }
#roi-action-status[data-tone="warning"] { color:var(--ui-warning,#865607); }
#roi-action-status[data-tone="danger"], .roi-row-result[data-state="failed"] { color:var(--ui-danger,#b42330); }
#roi-action-status[data-tone="success"], .roi-row-result[data-state="success"] { color:var(--ui-success,#17764a); }
.roi-row-result[data-state="unknown"] { color:var(--ui-warning,#865607); }
.roi-table { table-layout:fixed; }
.roi-table th:first-child { width:27%; }
.roi-table th:nth-child(2) { width:12%; }
.roi-table th:nth-child(3) { width:12%; }
.roi-table th:nth-child(4) { width:23%; }
.roi-table :is(td,th,small) { white-space:normal; overflow-wrap:anywhere; }
.roi-row-result { display:block; font-size:13px; }
.roi-action-dock button[hidden] { display:none; }
.roi-scope-controls { display:grid; grid-template-columns:minmax(155px,.65fr) 150px minmax(150px,.75fr) minmax(200px,1.4fr) auto; align-items:end; gap:12px; }
.roi-account-details { margin:10px 0; font-size:12px; color:var(--ui-muted,#626269); }
.roi-account-details summary { cursor:pointer; }
.roi-scope-controls label { display:grid; gap:6px; min-width:0; }
.roi-scope-controls :is(select,input) { width:100%; min-width:0; }
.roi-scope-summary,.roi-scope-result { margin:0; color:var(--ui-muted,#626269); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
@media (max-width:1279px) {
  .roi-scope-controls { grid-template-columns:minmax(155px,1fr) 150px minmax(200px,1.4fr); }
  #roi-scope-filter-label { grid-column:3; }
  #roi-scope-choice-label { grid-column:1 / 3; }
  .roi-scope-controls > button { grid-column:3; justify-self:start; }
}
@media (max-width: 600px) {
  .roi-panel .tool-query { display: grid; grid-template-columns: minmax(0, 1fr); }
  .roi-panel .tool-query label, .roi-panel .tool-query input { min-width: 0; width: 100%; box-sizing: border-box; }
}
