/* Chart-first ETF observation board. Scoped to preserve the rest of the workbench. */
.nt-workspace {
  --nt-blue: #4e6be6;
  --nt-ink: #182438;
  --nt-muted: #637084;
  --nt-line: #dfe4ed;
  min-width: 0;
  color: var(--nt-ink);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 15px;
  line-height: 1.65;
  padding-bottom: 20px;
}
.nt-workspace :is(button,input,select) { font: inherit; }
.nt-workspace :is(h1,h2,h3) { color: var(--nt-ink); letter-spacing: -.02em; }
.nt-workspace h1 { font-size: 34px; font-weight: 730; line-height: 1.3; }
.nt-workspace h2 { font-size: 25px; font-weight: 690; line-height: 1.45; }
.nt-workspace h3 { font-size: 21px; font-weight: 650; line-height: 1.5; }
.nt-workspace :is(p,small) { font-size: 14px; }
.nt-heading { display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 21px; }
.nt-eyebrow { color:#6e7b91;letter-spacing:.07em;font-size:12px;font-weight:600;margin-bottom:7px; }
.nt-heading p { margin:8px 0 0;color:var(--nt-muted);font-size:15px; }
.nt-actions { display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0; }
.nt-button { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid #d4dce8;border-radius:6px;background:white;color:#465269;white-space:nowrap;font-weight:500;transition:background .15s,border-color .15s; }
.nt-button:hover { background:#f1f4fb;border-color:#a9b9d9; }
.nt-button:disabled { opacity:.6;cursor:wait; }
.nt-primary { background:var(--nt-blue);border-color:var(--nt-blue);color:white;box-shadow:0 2px 3px #21399112; }
.nt-primary:hover { background:#3e58cd;border-color:#3e58cd; }
.nt-primary>span { font-size:21px;line-height:1; }
.nt-anchors { position:sticky;top:72px;z-index:15;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 0;background:#f3f5f9f7;backdrop-filter:blur(12px);margin:0 0 14px;border-bottom:1px solid #dfe4ec; }
.nt-anchors button { display:flex;align-items:center;gap:9px;flex:0 0 auto;min-height:40px;padding:7px 16px;border:1px solid transparent;border-radius:6px;background:transparent;color:#566278;font-size:15px;font-weight:550;white-space:nowrap; }
.nt-anchors button>span:first-child { font-size:12px;font-variant-numeric:tabular-nums;opacity:.7; }
.nt-anchors button>span:last-child { display:none; }
.nt-anchors button:hover { background:#e9eef9;color:#3358cc; }
.nt-anchors button.is-active { background:#e7edff;color:#315bda; }
.nt-summary { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:19px 0 17px;margin-bottom:10px;border:1px solid var(--nt-line);border-radius:9px;background:white; }
.nt-stat { min-width:0;padding:0 22px;border-right:1px solid #e7eaf0; }
.nt-stat:last-child { border-right:0; }
.nt-stat>span { font-size:14px;color:#637084;font-weight:500; }
.nt-stat>strong { display:flex;align-items:baseline;gap:6px;margin:4px 0 3px;color:#253b64;font-size:32px;font-weight:650;line-height:1.3;letter-spacing:-.035em;font-variant-numeric:tabular-nums; }
.nt-stat>strong>small { font-size:13px;font-weight:400;letter-spacing:0;color:#69758a; }
.nt-stat p { font-size:12px;line-height:1.5;color:#7a8494;margin:0; }
.nt-up { color:#d84539!important; }
.nt-down { color:#128468!important; }
.nt-status { padding:5px 2px;color:#69768a;font-size:13px; }
.nt-status>div:first-child { display:flex;align-items:center;flex-wrap:wrap;gap:4px 17px; }
.nt-status strong { color:#43566c;font-weight:550; }
.nt-status p { color:#617086;font-size:13px;margin:6px 0 0; }
.nt-status-dot { width:6px;height:6px;border-radius:50%;background:#229b79;margin-right:-10px; }
.nt-status-dot.is-running { background:var(--nt-blue);animation:nt-pulse 1.5s ease-in-out infinite; }
.nt-progress { height:3px;overflow:hidden;border-radius:3px;background:#e1e7f0;margin:10px 0 3px; }
.nt-progress>span { display:block;height:100%;min-width:2%;background:var(--nt-blue);transition:width .3s; }
.nt-error { padding:2px 2px 4px;margin:0;color:#738096; }
.nt-error>p { color:inherit;font-size:13px;margin:0; }
.nt-error-details { margin-top:6px;padding:9px 13px;background:#fff8eb;border:1px solid #ead8b1;border-radius:6px;color:#84602b; }
.nt-error-details>summary { cursor:pointer;font-size:13px;font-weight:500; }
.nt-error-details p { font-size:13px;line-height:1.7;color:inherit;margin:7px 0;overflow-wrap:anywhere; }
.nt-section { margin-top:34px;scroll-margin-top:145px; }
.nt-section-title { display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 17px; }
.nt-section-title>div { display:flex;align-items:center;gap:12px; }
.nt-section-number { display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:#4e6be6;background:#e9eefc;border-radius:5px;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums; }
.nt-section-title>span { color:#6e7a8e;font-size:13px;text-align:right; }
.nt-card { background:#fff;border:1px solid #dce2ec;border-radius:10px;margin:0 0 24px;min-width:0;overflow:hidden;box-shadow:0 2px 4px #132d4903; }
.nt-card-head { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 27px 12px; }
.nt-card-head p { color:#738095;font-size:14px;line-height:1.65;margin:5px 0 0; }
.nt-card-head select { min-height:37px;max-width:240px;border:1px solid #d6dfe9;border-radius:6px;background:#fff;color:#475873;padding:6px 29px 6px 11px;font-size:14px; }
.nt-chart { height:480px;width:100%;min-width:0;padding:0 20px; }
.nt-chart svg { width:100%;height:100%;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;flex-shrink:initial; }
.nt-chart-note { display:flex;flex-wrap:wrap;gap:6px 18px;min-height:26px;padding:10px 27px 18px;border-top:1px solid #f1f3f7;color:#748095;font-size:13px;line-height:1.8; }
.nt-chart-note:empty { display:none; }
.nt-chart-note>span { display:inline-flex;align-items:center;gap:7px; }
.nt-key { display:inline-block;width:12px;height:9px;border-radius:2px; }
.nt-pair { display:block; }
.nt-profile .nt-chart { height:390px; }
.nt-tooltip-row { display:flex;align-items:center;gap:8px;line-height:1.9;white-space:nowrap; }
.nt-tooltip-row b { flex:1;margin-left:18px;font-weight:550;text-align:right;font-variant-numeric:tabular-nums; }
.nt-table-scroll { overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#bfc9da #f5f7fb; }
.nt-table,.nt-heatmap { width:100%;border-collapse:collapse;font-size:15px;min-width:890px;table-layout:auto; }
.nt-table :is(td,th) { white-space:nowrap; }
.nt-table thead th { background:#f7f9fc;color:#5e6c82;border-block:1px solid #e6eaf0;padding:13px 20px;font-weight:550;font-size:14px; }
.nt-table thead button { background:transparent;color:inherit;font-size:14px;font-weight:550;padding:0;display:inline-flex;align-items:center;gap:8px; }
.nt-table thead button>span { color:#8392aa; }
.nt-table thead th[aria-sort]:not([aria-sort=none]) { color:#355dd4; }
.nt-table tbody :is(td,th) { padding:11px 20px;border-bottom:1px solid #e9edf2;font-size:15px;color:#3d4b60;font-weight:400; }
.nt-table tbody th { font-weight:550;color:#24374e; }
.nt-table small { display:block;font-size:12px;color:#8190a4;line-height:1.45;font-weight:400;letter-spacing:.025em; }
.nt-table :is(th,td):first-child { padding-left:26px; }
.nt-table :is(th,td):last-child { padding-right:26px; }
.nt-table tbody tr:last-child>* { border-bottom:0; }
.nt-table tbody tr:hover { background:#f5f8fd; }
.nt-numeric { text-align:right!important;font-variant-numeric:tabular-nums; }
.nt-rank { display:inline-flex;align-items:center;justify-content:center;min-width:23px;color:#8490a4;font-size:13px; }
.nt-rank.is-leading { color:#4c6bd8;font-weight:650; }
.nt-amount-cell { min-width:185px; }
.nt-amount-bar { position:relative;display:block;min-width:140px;text-align:right;padding:5px 10px;line-height:24px; }
.nt-amount-bar>span { position:absolute;inset:0 auto 0 0;background:#f8e7d7;border-radius:2px;max-width:100%; }
.nt-amount-bar>b { position:relative;color:#27364b;font-size:15px;font-weight:550;font-variant-numeric:tabular-nums; }
.nt-weight { position:relative;min-width:78px;padding:2px 0;text-align:right; }
.nt-weight>span { display:none; }
.nt-weight>b { position:relative;font-size:15px;font-weight:400;color:#475773; }
.nt-table-note { color:#748095;font-size:13px!important;line-height:1.8;margin:0!important;padding:12px 26px;background:#fbfcfe;border-top:1px solid #e9edf3; }
.nt-explanation { padding:0 0 14px;color:#68758a;font-size:14px;line-height:1.8; }
.nt-details { background:#fff;border:1px solid var(--nt-line);border-radius:8px;margin:0 0 20px;overflow:hidden; }
.nt-details>summary { padding:12px 18px;color:#485a73;font-size:14px;font-weight:500;cursor:pointer; }
.nt-details>summary>span { margin-left:14px;color:#728198;font-size:13px;font-weight:400; }
.nt-details[open]>summary { border-bottom:1px solid #e9edf3; }
.nt-rules { display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;padding:18px;color:#53647c;font-size:14px; }
.nt-rules>label { display:flex;align-items:center;gap:9px; }
.nt-rules input[type=number] { width:96px;min-height:38px;border:1px solid #cbd6e6;border-radius:5px;padding:6px 9px;color:#273d60;margin-right:3px;background:#fff; }
.nt-rules input[type=checkbox] { width:16px;height:16px;accent-color:var(--nt-blue); }
.nt-checkbox { cursor:pointer; }
.nt-exclusions { flex-basis:100%;display:flex;gap:6px 20px;flex-wrap:wrap;border-top:1px solid #e7edf4;padding-top:11px;font-size:13px;color:#7a879a; }
.nt-exclusions strong { font-weight:500; }
.nt-heatmap { min-width:1180px; }
.nt-heatmap :is(th,td) { padding:12px 15px;white-space:nowrap;text-align:right;border:1px solid #fff;font-size:14px;line-height:1.5; }
.nt-heatmap thead th { color:#526278;background:#f7f9fc;text-align:center;font-weight:550;border-top-color:#e4eaf2;padding-block:14px; }
.nt-heatmap tbody th { color:#46566f;background:#fafbfd;text-align:left;font-weight:500; }
.nt-heatmap th:first-child { position:sticky;left:0;z-index:1;min-width:122px;box-shadow:1px 0 #e2e7ef;padding-left:24px; }
.nt-heatmap tbody td { color:#263548!important; }
.nt-heatmap :is(th,td):nth-child(2) { font-weight:650;border-right:2px solid #fff; }
.nt-heatmap .nt-missing { background:#f5f7fa!important;color:#a4adbb!important; }
.nt-method-body { padding:5px 21px 20px; }
.nt-method-body p { color:#66748b;font-size:14px;line-height:1.9;margin:13px 0; }
.nt-method-body strong { color:#3c526c;font-weight:550; }
.nt-source-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;padding-top:17px;border-top:1px solid #e3e9f0;margin-top:17px; }
.nt-source-list p { font-size:13px;overflow-wrap:anywhere;margin:4px 0; }
.nt-source-list a { color:#3d62c7; }
.nt-quality-notes { border-top:1px solid #e3e9f0;margin-top:16px;padding-top:2px; }
.nt-sources { margin-top:28px; }
.nt-disclaimer { color:#7b8799!important;font-size:13px!important;line-height:1.9;margin:16px 2px 0!important; }
.nt-empty,.nt-chart-unavailable { text-align:center;padding:60px 24px;color:#7e8a9e;font-size:14px; }
.nt-chart-unavailable { padding-top:130px; }
.nt-spinning { animation:nt-spin 1.2s linear infinite; }
.nt-workspace [hidden] { display:none!important; }
@keyframes nt-spin { to { transform:rotate(360deg); } }
@keyframes nt-pulse { 50% { opacity:.4; } }
@media(min-width:1700px) { .nt-chart{height:520px}.nt-profile .nt-chart{height:420px}.nt-card-head{padding-top:26px} }
@media(max-width:1250px) {
  .nt-heading{gap:18px}.nt-workspace h1{font-size:31px}.nt-heading p{max-width:450px;font-size:14px}
  .nt-stat{padding-inline:16px}.nt-stat>strong{font-size:28px}.nt-stat p{font-size:12px}
  .nt-card-head{padding-inline:22px}.nt-chart{height:450px;padding-inline:14px}.nt-chart-note{padding-inline:22px}
}
@media(max-width:950px) {
  .nt-anchors{top:62px;gap:2px}.nt-anchors button{padding-inline:12px;font-size:14px}
  .nt-heading{align-items:flex-start;flex-wrap:wrap}.nt-actions{gap:8px}.nt-heading p{max-width:none}
  .nt-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:0}
  .nt-stat{padding:15px 19px}.nt-stat:nth-child(2){border-right:0}.nt-stat:nth-child(-n+2){border-bottom:1px solid #e7eaf0}
  .nt-section-title{align-items:flex-start}.nt-section-title>span{max-width:42%;padding-top:4px}
  .nt-card-head{flex-wrap:wrap;gap:12px}.nt-chart{height:410px}.nt-profile .nt-chart{height:370px}
}
@media(max-width:720px) {
  .nt-workspace h1{font-size:29px}.nt-workspace h2{font-size:23px}.nt-workspace h3{font-size:19px}
  .nt-heading{margin-bottom:12px;gap:14px}.nt-eyebrow{font-size:11px}.nt-heading p{font-size:14px}
  .nt-actions{width:100%}.nt-actions .nt-button{flex:1;min-height:39px;font-size:13px;padding-inline:10px}
  .nt-anchors{top:61px;gap:0;flex-wrap:nowrap;justify-content:space-between;margin-bottom:12px;padding:8px 0}
  .nt-anchors button{padding:8px 5px;min-height:38px;font-size:12px;letter-spacing:-.02em;flex:1;justify-content:center}
  .nt-anchors button>span:first-child{display:none}
  .nt-summary{border-radius:7px}.nt-stat{padding:13px 12px}.nt-stat>span{font-size:12px}.nt-stat>strong{font-size:26px;flex-wrap:wrap;gap:3px}.nt-stat>strong>small{font-size:11px}.nt-stat p{font-size:11px}
  .nt-status{font-size:12px}.nt-status>div:first-child{gap:4px 12px}.nt-status-dot{margin-right:-7px}.nt-error>p{font-size:12px}
  .nt-section{margin-top:27px;scroll-margin-top:125px}.nt-section-title{flex-wrap:wrap;gap:7px;margin-bottom:12px}.nt-section-title>span{max-width:none;text-align:left;padding-left:40px}.nt-section-number{width:28px;height:28px}
  .nt-card{border-radius:8px;margin-bottom:18px}.nt-card-head{padding:17px 16px 12px}.nt-card-head p{font-size:13px}.nt-card-head select{max-width:100%;font-size:13px}
  .nt-chart{height:350px;padding:0 5px}.nt-profile .nt-chart{height:330px}.nt-chart-note{padding:10px 16px 14px;font-size:12px}
  .nt-tooltip-row{white-space:normal;font-size:12px;gap:4px}.nt-tooltip-row b{margin-left:6px;white-space:nowrap}
  .nt-table tbody th,.nt-table thead th:nth-child(2){position:sticky;left:0;z-index:1;background:white;box-shadow:2px 0 4px #21385308}.nt-table thead th:nth-child(2){background:#f7f9fc}
  .nt-table-note{padding:12px 16px;font-size:12px!important}.nt-explanation{font-size:13px}
  .nt-details>summary{padding:12px 15px;font-size:13px}.nt-details>summary>span{display:block;margin:4px 0 0 13px;font-size:12px}
  .nt-rules{padding:15px;gap:14px}.nt-rules>label{flex-wrap:wrap}.nt-rules input[type=number]{width:80px}
  .nt-source-list{grid-template-columns:1fr}.nt-method-body{padding-inline:16px}.nt-method-body p{font-size:13px}.nt-disclaimer{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce) { .nt-spinning,.nt-status-dot.is-running{animation:none}.nt-progress>span,.nt-button{transition:none} }
