.ir-panel {
  --ir-blue: #07559b;
  --ir-line: #dce4ec;
  --ir-muted: #728194;
  --ir-ink: #263b50;
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  color: var(--ir-ink);
  background: #fff;
  border: 1px solid var(--ir-line);
  border-radius: 9px;
  font-size: 12px;
  line-height: 1.65;
  overflow: hidden;
}
.ir-panel *, .ir-panel *::before, .ir-panel *::after { box-sizing: border-box; }
.ir-panel h2, .ir-panel h3, .ir-panel h4, .ir-panel p { margin: 0; }
.ir-panel h2 { font-size: 19px; font-weight: 650; }
.ir-panel h3 { font-size: 14px; font-weight: 650; }
.ir-panel h4 { font-size: 12px; font-weight: 600; }
.ir-panel button, .ir-panel input, .ir-panel select, .ir-panel textarea { font: inherit; }
.ir-panel button, .ir-panel select, .ir-panel input[type="checkbox"] { cursor: pointer; }
.ir-panel button:focus-visible, .ir-panel a:focus-visible, .ir-panel input:focus-visible, .ir-panel select:focus-visible, .ir-panel textarea:focus-visible { outline: 2px solid #237bbf; outline-offset: 2px; }
.ir-panel button:disabled { cursor: default; opacity: .46; }
.ir-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 20px 14px; }
.ir-header p { font-size: 11px; color: var(--ir-muted); margin-top: 4px; }
.ir-top-status { font-size: 10px; color: #8190a0; white-space: nowrap; }
.ir-tabs { display: flex; align-items: center; gap: 7px; background: #f8fafc; border-top: 1px solid #edf1f5; border-bottom: 1px solid var(--ir-line); padding: 0 18px; }
.ir-tab { background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: #667e94; padding: 11px 15px 10px; font-weight: 550; }
.ir-tab:hover { color: var(--ir-blue); background: #edf4fb; }
.ir-tab.is-active { color: var(--ir-blue); border-bottom-color: var(--ir-blue); }
.ir-body { min-width: 0; padding: 17px 20px 22px; }
.ir-notice { background: #edf5fc; border-bottom: 1px solid #dce9f5; padding: 9px 20px; color: #3c6284; font-size: 11px; }
.ir-notice[hidden] { display: none; }
.ir-button { display: inline-flex; justify-content: center; align-items: center; min-height: 31px; padding: 5px 11px; border: 1px solid #ccd9e5; border-radius: 5px; background: #fff; color: #46637f; white-space: nowrap; }
.ir-button:hover:not(:disabled) { background: #edf4fa; border-color: #99b7d3; }
.ir-button.ir-primary { background: var(--ir-blue); border-color: var(--ir-blue); color: #fff; }
.ir-button.ir-primary:hover:not(:disabled) { background: #034880; }
.ir-text-button { border-color: transparent; background: transparent; color: #68819a; }
.ir-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ir-body > .ir-actions { margin: 9px 0 13px; }
.ir-filters { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 11px; padding: 13px 14px; margin-bottom: 15px; border: 1px solid #e2e9f0; background: #f8fafc; border-radius: 6px; }
.ir-field { display: grid; gap: 4px; min-width: 126px; max-width: 100%; font-size: 11px; color: #6e8194; }
.ir-field select, .ir-field input { min-width: 0; min-height: 33px; width: 100%; padding: 6px 9px; border: 1px solid #d1dde8; border-radius: 4px; background: #fff; color: var(--ir-ink); }
.ir-search-field { flex: 1 1 220px; min-width: 200px; }
.ir-result-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 13px 0 11px; flex-wrap: wrap; }
.ir-result-heading > strong { font-size: 13px; font-weight: 600; }
.ir-muted { color: var(--ir-muted); font-size: 11px; }
.ir-panel p.ir-muted { margin: 8px 0; }
.ir-panel .ir-error { margin: 10px 0; font-size: 12px; color: #a05535; background: #fcf5ee; padding: 9px 12px; border-radius: 4px; }
.ir-panel .ir-empty { padding: 26px 14px; text-align: center; color: #8492a1; font-size: 12px; }
.ir-panel .ir-scope-note { margin: 9px 0 13px; color: #7b8a9b; font-size: 11px; line-height: 1.8; }
.ir-table-wrap { min-width: 0; width: 100%; max-height: 640px; overflow: auto; border: 1px solid var(--ir-line); border-radius: 5px; }
.ir-table { width: 100%; border-collapse: collapse; table-layout: auto; background: #fff; font-size: 11px; }
.ir-table th { position: sticky; top: 0; z-index: 1; background: #f2f6fa; color: #658097; font-weight: 550; text-align: left; }
.ir-table th, .ir-table td { padding: 10px 11px; border-bottom: 1px solid #e5ebf1; vertical-align: top; overflow-wrap: anywhere; }
.ir-table tbody tr:last-child td { border-bottom: 0; }
.ir-table tbody tr:hover { background: #f8fbff; }
.ir-company-table { min-width: 790px; }
.ir-company-table th:first-child, .ir-company-table td:first-child { width: 43px; text-align: center; }
.ir-company-table th:nth-child(2) { min-width: 210px; width: 27%; }
.ir-company-table th:nth-child(3) { min-width: 124px; width: 15%; }
.ir-company-table th:nth-child(4) { min-width: 115px; width: 15%; }
.ir-company-table th:nth-child(5) { min-width: 160px; width: 20%; }
.ir-company-table th:nth-child(6) { min-width: 150px; }
.ir-panel input[type="checkbox"] { accent-color: var(--ir-blue); width: 14px; height: 14px; margin: 4px 0 0; }
.ir-company-link { text-align: left; display: inline; border: 0; background: none; padding: 0; color: #07559b; font-weight: 600; line-height: 1.65; font-size: 12px; overflow-wrap: anywhere; }
.ir-company-link:hover { text-decoration: underline; }
.ir-cell-sub { display: block; font-size: 10px; color: #8393a3; margin-top: 4px; line-height: 1.7; }
.ir-list-footer { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-top: 13px; flex-wrap: wrap; }
.ir-list-footer .ir-field { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ir-list-footer select { width: 83px; }
.ir-back { padding: 0; border: 0; background: none; color: #6a86a0; font-size: 11px; margin-bottom: 15px; }
.ir-back:hover { color: var(--ir-blue); }
.ir-company-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 13px; border-bottom: 1px solid var(--ir-line); }
.ir-company-heading h2 { font-size: 21px; line-height: 1.6; }
.ir-company-heading p { color: #7a8da0; font-size: 11px; margin-top: 5px; }
.ir-detail-section { padding-top: 20px; margin-top: 18px; border-top: 1px solid var(--ir-line); }
.ir-detail-section h3 { margin-bottom: 12px; }
.ir-detail-section > .ir-muted { display: block; margin-top: 9px; }
.ir-basic-actions { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; margin: 0 0 12px; }
.ir-query-note { color: #8896a5; font-size: 10px; }
.ir-field-list { display: grid; grid-template-columns: 105px minmax(0, 1fr) 105px minmax(0, 1fr); margin: 0; border: 1px solid #dfe6ee; border-radius: 5px; overflow: hidden; }
.ir-field-list dt, .ir-field-list dd { margin: 0; padding: 10px 12px; border-bottom: 1px solid #e7edf2; font-size: 11px; overflow-wrap: anywhere; }
.ir-field-list dt { color: #7d90a2; background: #f6f9fc; }
.ir-field-list dd { color: #3b556e; }
.ir-business-scope { padding: 13px 14px; background: #f8fafc; border: 1px solid #e3eaf1; border-radius: 5px; margin-top: 11px; }
.ir-business-scope p { font-size: 11px; line-height: 1.95; margin-top: 7px; color: #657b90; white-space: pre-wrap; }
.ir-product-list { display: flex; flex-wrap: wrap; gap: 6px; }
.ir-product-list span { border: 1px solid #dce7f2; background: #f0f5fa; color: #496c8d; padding: 3px 8px; border-radius: 4px; font-size: 11px; }
.ir-timeline { list-style: none; padding: 0 0 0 16px; margin: 0; border-left: 1px solid #cbdcea; }
.ir-timeline li { position: relative; padding: 0 0 18px 12px; margin: 0 0 16px; border-bottom: 1px solid #e9eef3; }
.ir-timeline li::before { content: ''; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #729abf; left: -20px; top: 5px; border: 2px solid white; box-sizing: content-box; }
.ir-timeline li:last-child { margin-bottom: 0; padding-bottom: 9px; border-bottom: 0; }
.ir-timeline p { font-size: 11px; line-height: 1.9; margin-top: 6px; white-space: pre-wrap; }
.ir-event-heading { display: flex; gap: 13px; align-items: center; flex-wrap: wrap; font-size: 12px; }
.ir-event-heading time { color: #8b9bad; font-size: 11px; }
.ir-state-tag { border-radius: 3px; padding: 1px 6px; background: #edf2f6; color: #6b8094; font-size: 10px; }
.ir-event-money { margin: 9px 0; display: grid; gap: 3px; }
.ir-event-money strong { color: #2d607e; font-size: 14px; font-weight: 600; }
.ir-money-label { font-size: 10px; color: #8092a3; }
.ir-event-money small, .ir-event-warning { font-size: 10px; color: #8e8d7b; }
.ir-event-warning { display: block; margin-top: 7px; }
.ir-panel .ir-currency-note { padding: 8px 11px; background: #f1f7f4; border-radius: 4px; margin-top: 12px; color: #6d8478; font-size: 10px; }
.ir-source-list { margin-top: 22px; border-top: 1px solid var(--ir-line); padding-top: 15px; }
.ir-source-list h3 { font-size: 12px; margin-bottom: 8px; }
.ir-source-row { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 2px; font-size: 10px; padding: 6px 0; border-bottom: 1px solid #edf1f5; }
.ir-source-row strong { font-weight: 500; color: #5e7890; }
.ir-source-row span, .ir-source-row small { color: #8a9bac; font-size: 10px; }
.ir-source-row small { flex-basis: 100%; }
.ir-trade-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--ir-line); border-radius: 6px; margin: 15px 0 8px; overflow: hidden; }
.ir-trade-summary > div { padding: 16px 18px; border-right: 1px solid var(--ir-line); display: grid; gap: 5px; }
.ir-trade-summary > div:last-child { border-right: 0; }
.ir-trade-summary span { font-size: 11px; color: #7c8d9f; }
.ir-trade-summary strong { font-size: 22px; font-weight: 600; color: #1a537f; overflow-wrap: anywhere; }
.ir-trade-summary small { color: #9aa6b2; font-size: 10px; }
.ir-market-charts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 17px; align-items: start; margin-top: 18px; }
.ir-chart-section { min-width: 0; border: 1px solid var(--ir-line); border-radius: 6px; padding: 14px; max-height: 440px; overflow: auto; }
.ir-chart-section h3 { font-size: 12px; margin-bottom: 9px; }
.ir-chart-section > svg { display: block; width: 100%; height: auto; max-height: 310px; }
.ir-chart-label { fill: #8091a3; font: 10px sans-serif; }
.ir-panel .ir-chart-caption { font-size: 10px; color: #8696a6; margin-bottom: 12px; }
.ir-rank-row { display: grid; grid-template-columns: minmax(80px, 1.05fr) minmax(60px, 1fr) 58px; align-items: center; gap: 8px; width: 100%; padding: 7px 0; border: 0; background: none; text-align: left; border-radius: 3px; font-size: 10px; color: #698196; }
.ir-rank-row:hover { color: var(--ir-blue); background: #f4f8fc; }
.ir-rank-name { min-width: 0; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ir-rank-track { display: block; height: 7px; background: #eff3f7; border-radius: 2px; overflow: hidden; }
.ir-rank-track span { display: block; height: 100%; background: #6c9cbd; border-radius: 2px; }
.ir-rank-row strong { text-align: right; color: #477293; font-size: 10px; font-weight: 550; }
.ir-saved-table { min-width: 800px; }
.ir-saved-table th:first-child { width: 43px; }
.ir-saved-table th:nth-child(2) { width: 23%; }
.ir-saved-table th:nth-child(3), .ir-saved-table th:nth-child(4) { width: 27%; }
.ir-saved-table textarea { width: 100%; min-width: 130px; min-height: 51px; resize: vertical; border: 1px solid #dbe4ed; border-radius: 4px; padding: 7px 8px; background: #fbfcfe; color: var(--ir-ink); font-size: 11px; }
.ir-dialog { width: min(1100px, calc(100vw - 35px)); max-height: calc(100vh - 60px); padding: 20px; border: 1px solid #bdcddc; border-radius: 9px; color: var(--ir-ink); background: #fff; box-shadow: 0 20px 70px #12334a38; }
.ir-dialog::backdrop { background: #10273962; }
.ir-dialog-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 16px; }
.ir-compare-table { min-width: 650px; table-layout: fixed; }
.ir-compare-table th:first-child { width: 110px; }
.ir-dialog > .ir-button { margin-top: 9px; }
/* 外层工作区已提供标题；内层不重复占用首屏，让1366×768下能看到更多企业。 */
.ir-header { display: none; }
.ir-tabs { padding: 0 12px; }
.ir-tab { padding: 8px 12px 7px; }
.ir-body { padding: 12px 14px 16px; }
.ir-filters { padding: 8px; gap: 8px; margin-bottom: 9px; }
.ir-filters > .ir-field:not(.ir-search-field) { width: 142px; flex: 0 1 142px; }
.ir-search-field { flex: 1 1 185px; min-width: 180px; }
.ir-field { gap: 3px; }
.ir-field select, .ir-field input { min-height: 31px; padding: 5px 8px; }
.ir-result-heading { margin: 8px 0; }
.ir-company-table { table-layout: fixed; }
.ir-company-table th { padding-top: 7px; padding-bottom: 7px; }
.ir-company-table td { padding-top: 7px; padding-bottom: 7px; height: 40px; line-height: 23px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ir-company-table input[type="checkbox"] { display: block; margin: 0 auto; }
.ir-company-table .ir-company-link { display: block; width: 100%; font-size: 13px; font-weight: 600; line-height: 23px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ir-industry-badge { margin-left: 5px; border-radius: 3px; padding: 1px 4px; background: #f2f0e9; color: #938265; font-size: 9px; }
@media(max-width:1000px) {
  .ir-market-charts { grid-template-columns: minmax(0, 1fr); }
  .ir-chart-section > svg { max-height: 250px; }
  .ir-filters { gap: 10px; }
  .ir-field { flex: 1 1 125px; }
  .ir-search-field { flex-basis: 100%; }
}
@media(max-width:650px) {
  .ir-header { padding: 14px; }.ir-header h2 { font-size: 17px; }.ir-header p { font-size: 10px; }.ir-top-status { display: none; }
  .ir-tabs { padding: 0 8px; gap: 2px; }.ir-tab { padding: 10px 9px; font-size: 11px; }
  .ir-body { padding: 13px; }.ir-filters { padding: 10px; gap: 9px; }.ir-field { min-width: 110px; }
  .ir-field-list { grid-template-columns: 92px minmax(0, 1fr); }
  .ir-company-heading { flex-wrap: wrap; gap: 10px; }.ir-company-heading h2 { font-size: 18px; }
  .ir-trade-summary > div { padding: 11px; }.ir-trade-summary strong { font-size: 17px; }.ir-trade-summary span { font-size: 10px; }
  .ir-chart-section { padding: 11px; }.ir-rank-row { grid-template-columns: minmax(75px, 1fr) minmax(45px, .8fr) 49px; }
  .ir-dialog { padding: 14px; width: calc(100vw - 22px); }
  .ir-basic-actions { gap: 8px; }.ir-query-note { flex-basis: 100%; }
}
