/* Scoped source analysis presentation; preserve global cards and other tabs. */
.main-content:has(#tab-sources.active) { min-width: 0; }
.src-view, .src-view * { box-sizing: border-box; }
.src-view { min-width: 0; color: var(--text); }
.src-heading, .src-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.src-heading { margin-bottom:18px; }
.src-heading h2 { font-size:20px; line-height:1.3; margin:0 0 5px; letter-spacing:-.3px; }
.src-heading p, .src-panel-heading p { font-size:12px; color:var(--text-secondary); margin:4px 0 0; }
.src-zones { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.src-zone { border:1px solid var(--border); border-radius:11px; background:var(--bg-card); padding:17px 20px; border-top:3px solid #8e9aaf; }
.src-zone-core { border-top-color:#635bdf; }.src-zone-zone1 { border-top-color:#299385; }
.src-zone > span { font-size:12px; font-weight:600; color:var(--text-secondary); }
.src-zone strong { display:block; font-size:27px; line-height:1.2; margin:9px 0 8px; font-variant-numeric:tabular-nums; }
.src-zone strong small { font-size:12px; font-weight:400; color:var(--text-secondary); }
.src-zone p { margin:0; font-size:11px; color:var(--text-secondary); }
.src-view .src-panel { padding:20px; margin-bottom:18px; min-width:0; }
.src-panel-heading h3 { font-size:14px; margin:0; font-weight:650; }
.src-chart { height:310px; min-width:0; position:relative; margin-top:16px; }
.src-caption { color:var(--text-secondary); font-size:11px; line-height:1.5; margin:12px 0 0; }
.src-muted { color:var(--text-secondary); font-size:11px; }
.src-controls { display:flex; align-items:end; flex-wrap:wrap; gap:14px; margin:15px 0; }
.src-controls label { display:flex; flex-direction:column; gap:5px; font-size:11px; font-weight:550; min-width:0; }
.src-controls input, .src-controls select { width:100%; border:1px solid var(--border); border-radius:7px; background:var(--bg-card); color:var(--text); padding:8px 10px; font:inherit; font-size:12px; min-height:35px; }
.src-search { flex:1; max-width:410px; min-width:180px!important; }
.src-table-wrap { overflow:auto; }
.src-view .src-table { width:100%; table-layout:fixed; }
.src-view .src-table th, .src-view .src-table td { padding:11px 10px; font-size:12px; text-transform:none; letter-spacing:0; white-space:normal; border-bottom:1px solid var(--border); }
.src-table th { color:var(--text-secondary); text-align:left; }
.src-table th:first-child { width:58px; }.src-table th:nth-child(3){width:130px;}.src-table th:last-child{width:112px;text-align:right;}
.src-rank { color:var(--text-secondary); font-variant-numeric:tabular-nums; }
.src-numeric { text-align:right; font-variant-numeric:tabular-nums; }
.src-name, .src-link { background:none; border:0; padding:0; text-align:left; font:inherit; cursor:pointer; }
.src-name { font-weight:600; color:var(--text); line-height:1.5; overflow-wrap:anywhere; }
.src-link { color:var(--accent); font-weight:600; }
.src-table small { display:block; font-size:10px; margin-top:3px; }
.src-badge { display:inline-block; font-size:10px; padding:4px 7px; border-radius:5px; background:var(--bg-elevated); white-space:nowrap; }
.src-badge-core { color:#635bdf; background:rgba(99,91,223,.09); }.src-badge-zone1 { color:#248779; background:rgba(41,147,133,.09); }
.src-pagination { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:14px; font-size:11px; color:var(--text-secondary); }
.src-pagination > div, .src-coverage-actions { display:flex; gap:7px; flex-wrap:wrap; }
.src-pagination button:disabled { opacity:.4; cursor:default; }
.src-coverage-actions { margin-top:15px; }
.src-help .ah-body { padding-top:14px; }
.src-empty { padding:24px 16px; text-align:center; color:var(--text-secondary); font-size:12px; line-height:1.6; }
.src-view button:focus-visible, .src-view input:focus-visible, .src-view select:focus-visible, .src-dialog button:focus-visible, .src-dialog input:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.src-dialog { width:min(850px,calc(100vw - 40px)); max-height:86vh; padding:0; border:1px solid var(--border); border-radius:14px; background:var(--bg-card); color:var(--text); box-shadow:0 20px 70px rgba(0,0,0,.2); overflow:auto; }
.src-dialog { margin:auto; inset:0; }
.src-dialog::backdrop { background:rgba(22,29,46,.42); backdrop-filter:blur(3px); }
.src-dialog-header { display:flex; align-items:flex-start; gap:18px; justify-content:space-between; padding:22px 24px 17px; border-bottom:1px solid var(--border); position:sticky; top:0; background:var(--bg-card); z-index:1; }
.src-dialog-header h2 { font-size:18px; line-height:1.4; margin:0 0 6px; overflow-wrap:anywhere; }
.src-dialog-header p { font-size:11px; color:var(--text-secondary); margin:0; }
.src-close { flex-shrink:0; width:32px; height:32px; border:1px solid var(--border); border-radius:7px; background:var(--bg-elevated); color:var(--text-secondary); font-size:23px; cursor:pointer; }
.src-dialog-body { padding:0 24px 20px; }
.src-aliases { margin-top:14px; font-size:11px; line-height:1.6; color:var(--text-secondary); }.src-aliases p{overflow-wrap:anywhere;}
.src-article { padding:14px 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.src-article h3 { font-size:13px; font-weight:600; line-height:1.55; margin:0 0 6px; }
.src-article-authors { font-size:11px; color:var(--text-secondary); line-height:1.6; margin:0 0 8px; }
.src-article-meta { display:flex; gap:14px; flex-wrap:wrap; font-size:11px; }
.src-doi { color:var(--accent); text-decoration:none; font-size:11px; }
.src-article-source { font-size:10px; line-height:1.5; color:var(--text-secondary); margin:7px 0 0; }
@media(max-width:700px) {
  .src-zones{gap:8px;}.src-zone{padding:13px 10px;}.src-zone strong{font-size:23px;}.src-zone p{line-height:1.5;}
  .src-view .src-panel{padding:14px;}.src-table th:nth-child(3),.src-table td:nth-child(3){display:none;}
  .src-table th:first-child{width:44px;}.src-table th:last-child{width:90px;}
  .src-dialog-header{padding:18px 16px 14px;}.src-dialog-body{padding:0 16px 16px;}
}
@media(max-width:430px){.src-zones{grid-template-columns:1fr;}.src-zone{display:grid;grid-template-columns:1fr 1fr;gap:6px;}.src-zone strong{margin:0;text-align:right;}.src-zone p{grid-column:1/-1;}}
