
:root {
  --bg: #f5f5f2;
  --ink: #050505;
  --muted: #6b7280;
  --line: #cfcfca;
  --yellow: #ffe100;
  --cyan: #17bde0;
  --magenta: #ff159f;
  --red: #ff1f2d;
  --green: #22c55e;
}
:root.nfdl-i18n-pending [data-i18n],
:root.nfdl-i18n-pending [data-i18n-html] {
  visibility: hidden;
}
* { box-sizing: border-box; }
body { margin: 0; background: #111; color: var(--ink); font-family: Inter, Arial, Helvetica, sans-serif; overflow: hidden; }
body::before, body::after { content: ""; position: fixed; top: 0; bottom: 0; width: max(0px, calc((100vw - (100vh * 16 / 9)) / 2)); background: #111; z-index: 0; pointer-events: none; }
body::before { left: 0; }
body::after { right: 0; }
.viewport-scaler { position: fixed; top: 0; left: 50%; width: 1920px; height: 1080px; transform-origin: top center; z-index: 1; background: var(--bg); box-shadow: 0 0 0 1px rgba(255,255,255,.04), 0 0 80px rgba(0,0,0,.35); }
.app-shell { display: grid; grid-template-columns: 112px 1fr; width: 1920px; height: 1080px; }
.nav-rail { background: #050505; color: #fff; padding: 20px 14px; display: grid; grid-template-rows: auto repeat(5, 92px) 1fr; gap: 10px; }
.logo-mark { width: 80px; height: 80px; background: #0b0b0b; border: 1px solid #222; display:grid; place-items:center; font-size: 44px; font-weight: 950; box-shadow: inset 0 0 0 6px #111; }
.logo-mark span { color: #fff; text-shadow: 10px 0 0 var(--yellow); }
.nav-item { border: 0; background: transparent; color: #fff; display: grid; place-items: center; align-content: center; gap: 8px; text-transform: uppercase; font-size: 12px; font-weight: 850; cursor: pointer; text-decoration:none; }
.nav-item.active { background: var(--yellow); color: #050505; }
.nav-icon { font-size: 30px; line-height: 1; }
.nav-footer { align-self: end; font-size: 10px; font-weight: 800; display: grid; gap: 10px; }
.nav-footer i { width: 9px; height: 9px; background: var(--cyan); display: inline-block; box-shadow: 14px 0 0 var(--magenta), 28px 0 0 var(--yellow), 42px 0 0 #9ca3af; }
.dashboard { padding: 22px 24px 24px; overflow: hidden; height: 1080px; }
.topbar { height: 104px; display: grid; grid-template-columns: 520px 136px 186px 156px 372px 1fr; align-items: center; border-bottom: 1px solid var(--line); gap: 0; }
.brand-block { padding-left: 10px; }
h1 { font-size: 34px; margin: 0; letter-spacing: -.045em; line-height: .95; }
.brand-block p { font-size: 19px; line-height: 1.14; margin: 6px 0 0; letter-spacing: -.015em; }
.top-meta { min-height: 74px; border-left: 1px solid var(--line); padding: 12px 18px; display: grid; gap: 5px; }
.top-meta small { font-size: 10px; font-weight: 850; color: #6b7280; }
.top-meta b { font-size: 18px; }
.top-meta span, .top-meta a { font-size: 12px; font-weight: 750; color: #6b7280; }
.top-meta a { text-decoration:none; }
.top-meta a:hover { color:#111; }
.top-meta #meta-stream-detail { font-size: 11px; font-weight: 850; letter-spacing: .01em; color:#4b5563; }
.red-dot { display:inline-block; width: 10px; height: 10px; border-radius:50%; background: var(--red); margin-left: 6px; }
.alert-banner { background: var(--yellow); height: 72px; display:flex; align-items:center; gap: 14px; padding: 0 24px; border-radius: 8px; position: relative; overflow:hidden; }
.alert-banner::after { content:""; position:absolute; right:-20px; top:0; width:90px; height:100%; background: repeating-linear-gradient(135deg, rgba(0,0,0,.15) 0 2px, transparent 2px 6px); }
.alert-banner strong { font-size: 34px; }
.alert-icon { width:38px; height:38px; display:grid; place-items:center; color:#050505; }
.alert-icon svg { width:34px; height:34px; }
.alert-banner b { font-size: 16px; }
.alert-banner span { font-size: 12px; font-weight: 800; }
.top-icons { display:flex; justify-content: flex-end; gap: 18px; font-size: 22px; }
.top-icons button { border:0; background:transparent; font-size:24px; cursor:pointer; }
.top-icons button:first-child { width:64px; height:64px; background:#050505; color:#fff; border-radius:8px; }
.lang-toggle { font-size:18px !important; font-weight:950; letter-spacing:.03em; }
.icon-btn { width:24px; height:24px; padding:0; color:#111; display:grid; place-items:center; }
.icon-btn svg { width:22px; height:22px; display:block; }
.icon-btn.is-done { color:#0b8f4d; transform:translateY(-1px); }

.scrollbar-dark,
.ranking-scroll,
.candidate-pool-panel,
.watch-main-list,
.feedback-panel,
.workflow-history,
#feedback-preview,
.archive-detail-compare,
.archive-page-list,
.archive-detail-ranking,
.archive-detail-approvals,
.archive-detail-workflow,
.sources-bucket-list {
  scrollbar-width: thin;
  scrollbar-color: #050505 #ecebe5;
}
.scrollbar-dark::-webkit-scrollbar,
.ranking-scroll::-webkit-scrollbar,
.candidate-pool-panel::-webkit-scrollbar,
.watch-main-list::-webkit-scrollbar,
.feedback-panel::-webkit-scrollbar,
.workflow-history::-webkit-scrollbar,
#feedback-preview::-webkit-scrollbar,
.archive-detail-compare::-webkit-scrollbar,
.archive-page-list::-webkit-scrollbar,
.archive-detail-ranking::-webkit-scrollbar,
.archive-detail-approvals::-webkit-scrollbar,
.archive-detail-workflow::-webkit-scrollbar,
.sources-bucket-list::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.scrollbar-dark::-webkit-scrollbar-track,
.ranking-scroll::-webkit-scrollbar-track,
.candidate-pool-panel::-webkit-scrollbar-track,
.watch-main-list::-webkit-scrollbar-track,
.feedback-panel::-webkit-scrollbar-track,
.workflow-history::-webkit-scrollbar-track,
#feedback-preview::-webkit-scrollbar-track,
.archive-detail-compare::-webkit-scrollbar-track,
.archive-page-list::-webkit-scrollbar-track,
.archive-detail-ranking::-webkit-scrollbar-track,
.archive-detail-approvals::-webkit-scrollbar-track,
.archive-detail-workflow::-webkit-scrollbar-track,
.sources-bucket-list::-webkit-scrollbar-track {
  background: #ecebe5;
}
.scrollbar-dark::-webkit-scrollbar-thumb,
.ranking-scroll::-webkit-scrollbar-thumb,
.candidate-pool-panel::-webkit-scrollbar-thumb,
.watch-main-list::-webkit-scrollbar-thumb,
.feedback-panel::-webkit-scrollbar-thumb,
.workflow-history::-webkit-scrollbar-thumb,
#feedback-preview::-webkit-scrollbar-thumb,
.archive-detail-compare::-webkit-scrollbar-thumb,
.archive-page-list::-webkit-scrollbar-thumb,
.archive-detail-ranking::-webkit-scrollbar-thumb,
.archive-detail-approvals::-webkit-scrollbar-thumb,
.archive-detail-workflow::-webkit-scrollbar-thumb,
.sources-bucket-list::-webkit-scrollbar-thumb {
  background: #050505;
}
.board-grid { --left-col: 460px; --top-row: 410px; --metric-row: 120px; --bottom-row: 390px; --signal-col: 340px; --side-col: 190px; display:grid; grid-template-columns: var(--left-col) minmax(0, 1fr) var(--signal-col) var(--side-col); grid-template-rows: var(--top-row) var(--metric-row) var(--bottom-row); border-left: 1px solid var(--line); border-top: 1px solid var(--line); position:relative; }

.column-splitter { position:absolute; top:0; bottom:0; left:var(--left-col); width:10px; margin-left:-5px; z-index:20; cursor:col-resize; background:transparent; }
.column-splitter::after { content:""; position:absolute; top:0; bottom:0; left:4px; width:1px; background:var(--line); }
.column-splitter:hover::after, .column-splitter.is-dragging::after { width:3px; left:3px; background:#050505; box-shadow:0 0 0 2px var(--yellow); }
.row-splitter { position:absolute; left:0; right:var(--side-col); top:var(--top-row); height:10px; margin-top:-5px; z-index:19; cursor:row-resize; background:transparent; }
.row-splitter::after { content:""; position:absolute; left:0; right:0; top:4px; height:1px; background:var(--line); }
.row-splitter::before { content:""; position:absolute; left:calc(var(--left-col) + 24px); top:2px; width:84px; height:6px; border-radius:999px; background:transparent; pointer-events:none; }
.row-splitter:hover::after, .row-splitter.is-dragging::after { height:1px; top:4px; background:var(--line); box-shadow:none; }
.row-splitter:hover::before, .row-splitter.is-dragging::before { background:linear-gradient(90deg, #050505 0 62%, var(--yellow) 62% 100%); box-shadow:0 0 0 1px #050505; }

.panel { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fbfbf8; padding: 24px; overflow: hidden; }
.panel h2, .panel-title { margin:0; font-size:18px; font-weight:950; letter-spacing:-.02em; }
.panel-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom: 18px; }
.panel-heading a { font-size: 12px; font-weight: 850; color:#111; text-decoration:none; }
.heading-actions { display:flex; align-items:center; gap:12px; }
.panel-link-row { display:flex; gap:8px; margin-top:14px; position:relative; z-index:2; }
.panel-link-chip { display:inline-flex; align-items:center; justify-content:center; min-width:72px; padding:6px 10px; border:1px solid rgba(0,0,0,.24); background:rgba(251,251,248,.5); color:#111; text-decoration:none; font-size:10px; font-weight:950; }
.panel-link-chip:hover { background:#050505; color:var(--yellow); }
select { border:1px solid #aaa; background:#f9f9f6; padding: 7px 20px; font-weight: 800; }
.yellow-panel { background: var(--yellow); position: relative; }
.opportunity-panel { grid-column:1; grid-row:1; }
.big-score { font-size: 138px; line-height:.9; font-weight: 950; letter-spacing:-.09em; margin-top: 28px; }
.big-score em { font-style: normal; font-size: 28px; letter-spacing:0; font-weight:900; }
.barcode { width: 78%; height: 26px; margin: 20px 0 14px; position:relative; display:flex; align-items:flex-end; gap:3px; }
.barcode::before { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:rgba(0,0,0,.25); }
.barcode-bar { width:var(--w, 4px); height:var(--h, 16px); background:#050505; display:block; flex:0 0 auto; }
.barcode-marker { position:absolute; left:var(--marker-x, calc(100% - 12px)); bottom:-13px; width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-bottom:14px solid #050505; transform:translateX(-50%); }
.score-delta { font-size: 34px; font-weight:950; }
.yellow-panel small { font-size: 13px; font-weight:850; }
.mini-badges { display:flex; gap: 14px; margin-top: 18px; }
.mini-badges span { border:1px solid rgba(0,0,0,.25); padding: 8px 18px; font-size: 10px; font-weight:800; min-width: 100px; }
.mini-badges b { font-size: 15px; }
.abstract-mark { --accent-a:#050505; --accent-b:#ffffff; --accent-c:var(--cyan); position:absolute; right:-14px; bottom:-20px; width:260px; height:190px; background: linear-gradient(135deg, transparent 0 27%, var(--accent-a) 27% 43%, transparent 43% 52%, #050505 52% 68%, transparent 68%), linear-gradient(45deg, transparent 0 48%, var(--accent-b) 48% 72%, transparent 72%), linear-gradient(110deg, transparent 0 58%, var(--accent-c) 58% 61%, transparent 61%); transform: rotate(-4deg); overflow:hidden; }
.abstract-mark::before { content:""; position:absolute; left:-80px; top:24px; width:250px; height:1px; background:rgba(0,0,0,.35); transform:rotate(-12deg); box-shadow: 0 32px 0 rgba(0,0,0,.18), 0 64px 0 rgba(0,0,0,.12); }
.abstract-mark::after { content:""; position:absolute; left:10px; top:70px; width:var(--chip-width, 42px); height:8px; background:repeating-linear-gradient(90deg, var(--accent-c) 0 8px, transparent 8px 14px); }
.abstract-overlay { position:absolute; inset:0; background:
  linear-gradient(158deg, transparent 0 52%, rgba(255,255,255,.95) 52% 59%, transparent 59%),
  linear-gradient(132deg, transparent 0 21%, var(--accent-a) 21% 39%, transparent 39%),
  linear-gradient(138deg, transparent 0 46%, var(--accent-c) 46% 49%, transparent 49%);
  opacity:.96; }
.abstract-chips { position:absolute; left:12px; bottom:26px; display:grid; gap:6px; max-width:118px; }
.abstract-chip { display:inline-flex; align-items:center; gap:6px; width:max-content; max-width:100%; padding:4px 7px; border:1px solid rgba(0,0,0,.22); background:rgba(251,251,248,.84); font-size:9px; font-weight:950; letter-spacing:.04em; }
.abstract-chip i { width:8px; height:8px; display:inline-block; background:var(--chip, #050505); }
.demand-over-time { grid-column: 2 / 3; grid-row:1; }
.legend { display:flex; gap: 10px; align-items:center; flex-wrap:wrap; font-size: 12px; font-weight:850; margin: 4px 0 10px; }
.legend .swatch { width:22px; height:6px; border-radius:6px; display:inline-block; margin-left:8px; }
.legend .swatch:first-child { margin-left:0; }
.black { background:#050505; } .cyan { background:var(--cyan); } .magenta { background:var(--magenta); } .yellow { background:var(--yellow); } .red { background:var(--red); }
#line-chart { width:100%; height:270px; }
.note { color:#8a8a84; font-size:12px; margin:0; }
.active-signals { grid-column:3; grid-row:1; padding: 18px 14px 12px 18px; display:flex; flex-direction:column; min-width:0; }
.signal-row { display:grid; grid-template-columns:62px minmax(0,1fr) 56px; gap:10px; align-items:center; border-bottom:1px solid var(--line); padding: 8px 0; min-height:0; overflow:hidden; background:#fbfbf8; color:inherit; text-decoration:none; }
.signal-row:hover { background:#f5f4ee; }
.signal-row strong { height:62px; display:grid; place-items:center; color:#fff; }
.signal-icon svg { width:32px; height:32px; }
.signal-row.red strong { background:var(--red); } .signal-row.yellow strong { background:var(--yellow); color:#050505; } .signal-row.magenta strong { background:var(--magenta); }
.signal-row b { display:block; font-size:13px; line-height:1.08; margin-bottom:4px; } .signal-row span, .signal-row small { display:block; font-size:10px; line-height:1.22; } .signal-row small { margin-top:3px; font-weight:850; } .signal-row em { font-style:normal; font-weight:950; font-size:11px; line-height:1.05; text-align:right; white-space:normal; overflow-wrap:anywhere; color:var(--red); } .signal-row.yellow em { color:#d3a600; } .signal-row.magenta em { color:var(--magenta); }
.system-status { grid-column:1; grid-row:2 / 4; }
.health-layout { display:grid; grid-template-columns: 280px 1fr; align-items:center; gap: 12px; height: calc(100% - 40px); position: relative; }
.health-technical { width: 280px; height: 280px; position: relative; }
.health-svg { width: 100%; height: 100%; overflow: visible; }
.tech-lines path { fill: none; stroke: #c9c9c2; stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.ring-base { fill: none; stroke: #e8e8e2; stroke-width: 30; }
.ring-seg { fill: none; stroke-width: 30; stroke-linecap: butt; }
.ring-seg.cyan { stroke: var(--cyan); }
.ring-seg.yellow { stroke: var(--yellow); }
.ring-seg.black { stroke: #050505; }
.ring-seg.red { stroke: var(--red); }
.ring-seg.magenta { stroke: var(--magenta); }
.thin-ring { fill: none; stroke: rgba(0,0,0,.22); stroke-width: 1.6; }
.dash-ring { fill: none; stroke: rgba(0,0,0,.18); stroke-width: 1.4; stroke-dasharray: 8 7; }
.tick { stroke: rgba(0,0,0,.35); stroke-width: 1.5; }
.health-center circle { fill: #fbfbf8; stroke: #d7d7d0; stroke-width: 1.2; }
.health-center text { text-anchor: middle; font-size: 9px; font-weight: 950; fill: #050505; letter-spacing: .05em; }
.health-center .pct { font-size: 28px; letter-spacing: -.04em; }
.micro-labels text { font-size: 10px; font-weight: 950; fill: #050505; }
.micro-labels rect { fill: #050505; }
.micro-labels circle { fill: none; stroke: #050505; stroke-width: 1; }
.health-legend { display:grid; gap:18px; font-size:12px; font-weight:900; }
.health-legend span { display:grid; grid-template-columns: 12px 1fr; gap:12px; align-items:center; }
.health-legend i { width:10px; height:10px; border-radius:50%; }
.health-legend em { grid-column:2; font-size:10px; color:#6b7280; font-style:normal; }
.key-metrics { grid-column:2 / 4; grid-row:2; display:grid; grid-template-columns: repeat(6, minmax(0, 1fr)); padding: 0; align-items:stretch; }
.metric { padding:12px 16px 42px; border-right:1px solid var(--line); position:relative; min-width:0; min-height:120px; }
.metric:last-child { border-right:0; }
.metric small { display:block; font-size:10px; font-weight:900; margin-bottom:6px; line-height:1.2; }
.metric b { font-size:30px; line-height:1; } .metric em { font-style:normal; font-weight:800; margin-left:3px; font-size:12px; }
.metric span { margin-left: 12px; font-weight:900; font-size:12px; } .up { color:#16a34a; } .down { color:var(--red); }
.spark { position:absolute; right:16px; bottom:12px; width:88px; height:28px; color:var(--cyan); background:transparent; }
.spark.spark-cyan { color:var(--cyan); }
.spark.spark-red { color:var(--red); }
.spark svg { width:100%; height:100%; display:block; overflow:hidden; }
.spark .spark-baseline { stroke:rgba(5, 5, 5, 0.10); stroke-width:1; }
.spark .spark-bar { fill:currentColor; opacity:0.92; }
.spark .spark-bar-last { opacity:1; }
.bottom-split { grid-column:2 / 4; grid-row:3; display:grid; grid-template-columns: var(--split-left, 38%) 3px minmax(420px, 1fr); min-width:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.category-trends { min-width:0; border-right:0; border-bottom:0; display:flex; flex-direction:column; }
.trend-tabs { display:flex; gap:0; margin: 4px 0 10px; border:1px solid var(--line); width:max-content; max-width:100%; overflow:hidden; }
.trend-tabs button { border:0; border-right:1px solid var(--line); border-radius:0; background:#fbfbf8; padding:7px 12px; font-weight:900; font-size:10px; min-width:54px; }
.trend-tabs button:last-child { border-right:0; }
.trend-tabs button.active { background:#050505; color:var(--yellow); }
.trend-tabs button:hover { border-color:#050505; }
.trend-subtitle { font-size:13px; font-weight:950; margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.trend-subtitle b { margin-left:auto; background:#050505; color:var(--yellow); padding:4px 8px; }
.bar-chart { flex:1; min-height:170px; display:flex; align-items:flex-end; gap:7px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); padding:0 8px 0; }
.bar-chart i { display:block; flex:1 1 5px; max-width:10px; background:#050505; min-height: 20px; }
.ranking-table-panel { min-width:0; border-right:0; border-bottom:0; display:flex; flex-direction:column; min-height:0; }
.ranking-scroll { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; }



.ranking-table { width:100%; border-collapse:collapse; font-size:11px; }
.ranking-table th { text-align:left; color:#555; font-size:9px; padding:7px 6px; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:2; background:#fbfbf8; box-shadow:0 1px 0 var(--line); }
.ranking-table td { padding:6px; border-bottom:1px solid #e7e5df; font-weight:750; }
.tier { display:inline-grid; place-items:center; width:18px; height:18px; border-radius:4px; background:#050505; color:#fff; font-size:11px; font-weight:950; }
.tier.a { background:#dff4ff; color:#0876a2; border:1px solid #7dd3fc; } .tier.b { background:#ffe5ee; color:#c11245; border:1px solid #ff91b5; } .tier.c { background:#eee7ff; color:#6d28d9; border:1px solid #c4b5fd; }
.approve { border:0; border-radius:999px; background:#22c55e; color:#052e16; padding:4px 14px; font-weight:950; font-size:11px; cursor:pointer; }
.approve.is-approved { background:#050505; color:#ffe100; }
.table-footer { display:flex; justify-content:space-between; align-items:center; color:#7a7a75; font-size:11px; margin-top:10px; flex:0 0 auto; }
.table-footer i { display:inline-block; width:10px; height:10px; background:#22c55e; border-radius:50%; margin-left:10px; }
.candidate-pool-panel { border-top:1px solid var(--line); background:#fbfbf8; padding:8px 10px; max-height:126px; overflow:auto; flex:0 0 auto; }
.candidate-pool-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:5px; }
.candidate-pool-head h3 { margin:0; font-size:12px; line-height:1; font-weight:950; letter-spacing:.01em; }
.candidate-pool-head small, .candidate-pool-panel p { font-size:8px; line-height:1.25; font-weight:900; color:#555; margin:0; }
.candidate-pool-list { display:grid; gap:4px; margin-top:6px; }
.candidate-pool-row { display:grid; grid-template-columns:28px minmax(0,1fr) 56px 66px; gap:6px; align-items:center; border:1px solid var(--line); background:#fff; min-height:30px; padding:4px 6px; }
.candidate-pool-row > b { font-size:10px; font-weight:950; }
.candidate-pool-row span { min-width:0; display:grid; gap:2px; }
.candidate-pool-row strong { font-size:9px; line-height:1.1; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.candidate-pool-row small, .candidate-pool-row em { font-size:7px; line-height:1.15; font-style:normal; font-weight:850; color:#666; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.candidate-pool-row > i { display:grid; gap:2px; justify-items:end; font-style:normal; font-size:13px; line-height:1; font-weight:950; }
.candidate-pool-row > i small { font-size:7px; color:#555; }
.candidate-seed-btn { min-height:22px; border:1px solid #050505; background:#fff; color:#050505; font-size:8px; line-height:1; font-weight:950; padding:3px 4px; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.candidate-seed-btn:hover { background:#ffd400; }
.candidate-seed-btn.is-marked { background:#050505; color:#ffd400; border-color:#050505; }

.seed-promotion-panel { border:1px solid var(--line); background:#fffef8; padding:10px 12px; margin:8px 0; max-height:210px; overflow:auto; }
.seed-promotion-panel-side { margin-top:8px; max-height:240px; }
.seed-promotion-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:5px; }
.seed-promotion-head h3 { margin:0; font-size:12px; line-height:1; font-weight:950; }
.seed-promotion-head small, .seed-promotion-panel p { margin:0; color:#555; font-size:8px; line-height:1.25; font-weight:900; }
.seed-promotion-list { display:grid; gap:5px; margin-top:7px; }
.seed-promotion-row { display:grid; grid-template-columns:28px minmax(0,1fr) 48px; gap:6px; align-items:center; min-height:32px; padding:5px 7px; border:1px solid var(--line); background:#fff; }
.seed-promotion-row.is-ready { border-color:#050505; box-shadow:inset 4px 0 0 var(--yellow); }
.seed-promotion-row.is-marked { box-shadow:inset 4px 0 0 var(--cyan); }
.seed-promotion-row > b { font-size:10px; font-weight:950; }
.seed-promotion-row span { min-width:0; display:grid; gap:2px; }
.seed-promotion-row strong { font-size:9px; line-height:1.1; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.seed-promotion-row small { font-size:7px; line-height:1.15; color:#666; font-weight:850; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.seed-promotion-row > i { display:grid; gap:2px; justify-items:end; font-style:normal; font-size:13px; line-height:1; font-weight:950; }
.seed-promotion-panel-side .seed-promotion-row { grid-template-columns:36px minmax(0,1fr) 56px; min-height:38px; }
.seed-promotion-panel-side .seed-promotion-row strong { font-size:11px; }
.seed-promotion-panel-side .seed-promotion-row small { font-size:8px; }

.dof-ad-card { grid-column:4; grid-row:1; align-self:start; height:248px; margin:14px 0 0; display:block; position:relative; overflow:hidden; z-index:31; border-left:1px solid var(--line); border-bottom:1px solid var(--line); background:#edf4e9; color:#06180c; text-decoration:none; cursor:default; min-width:0; }
.dof-ad-card img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; filter:saturate(1.12) contrast(1.06); }
.dof-ad-card::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(255,255,255,0) 0 45%, rgba(0,16,5,.78)), linear-gradient(90deg, rgba(0,0,0,.22), rgba(0,0,0,0) 38%); pointer-events:none; }
.dof-ad-card::after { content:"LP PREVIEW"; position:absolute; top:10px; right:0; background:#050505; color:#25ff55; padding:5px 8px; font-size:9px; font-weight:950; letter-spacing:.08em; }
.dof-ad-card span { position:absolute; left:10px; right:8px; bottom:10px; z-index:1; display:grid; gap:2px; color:#fff; text-shadow:0 1px 0 #000, 0 0 12px rgba(0,0,0,.55); }
.dof-ad-card b { font-size:15px; line-height:1; letter-spacing:.02em; }
.dof-ad-card small { font-size:9px; font-weight:850; color:#caffcf; }
.black-signal-box { grid-column:4; grid-row:1; align-self:end; min-height:138px; background:#050505; color:#fff; padding:16px 14px; display:grid; align-content:end; gap:8px; position:relative; overflow:hidden; z-index:30; border-left:1px solid #050505; text-decoration:none; min-width:0; }
.black-signal-box:hover { filter:brightness(1.04); }
.black-signal-box::before { content:""; position:absolute; top:-20px; right:-70px; width:150px; height:260px; background:linear-gradient(135deg, transparent 0 24%, #fff 24% 31%, transparent 31% 42%, var(--yellow) 42% 58%, transparent 58% 66%, var(--cyan) 66% 84%, transparent 84%); transform:rotate(14deg); }
.black-signal-box::after { content:""; position:absolute; right:10px; top:12px; width:110px; height:170px; border:1px solid rgba(255,255,255,.25); border-radius:50%; border-left-color:transparent; border-top-color:transparent; transform:rotate(-25deg); }
.black-signal-box b { font-size:15px; line-height:1; z-index:1; } .black-signal-box span { font-weight:900; line-height:1.2; z-index:1; font-size:11px; }
.black-signal-box small { z-index:1; font-size:8px; line-height:1.3; color:rgba(255,255,255,.72); font-weight:700; max-width:112px; }
.black-signal-box div { z-index:1; display:flex; gap:8px; } .black-signal-box i { width:8px; height:8px; background:#fff; display:block; } .black-signal-box i:nth-child(2){background:var(--yellow)} .black-signal-box i:nth-child(3){background:var(--cyan)} .black-signal-box i:nth-child(4){background:var(--magenta)}
.watch-overview-panel { grid-column:4; grid-row:2; padding:10px 10px 8px; border-left:1px solid var(--line); min-width:0; display:grid; gap:6px; align-content:start; overflow:hidden; }
.watch-overview-panel .panel-heading { margin-bottom:2px; }
.watch-overview-panel .panel-heading h2 { font-size:14px; line-height:1.05; }
.watch-overview-panel .panel-heading a { font-size:9px; white-space:nowrap; }
.watch-overview-list { display:grid; gap:4px; align-content:start; }
.watch-overview-hint { margin:2px 0 0; font-size:9px; line-height:1.35; color:#555; font-weight:800; }
.watch-overview-row { display:grid; grid-template-columns:18px minmax(0,1fr) 44px; gap:6px; align-items:center; border:1px solid var(--line); background:#fff; min-height:14px; padding:4px 6px; text-decoration:none; color:#050505; }
.watch-overview-row:hover { background:#050505; color:var(--yellow); }
.watch-overview-row > * { min-width:0; }
.watch-overview-row b { font-size:9px; line-height:1; }
.watch-overview-row span { font-size:8px; line-height:1.15; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.watch-overview-row span small { display:block; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.watch-overview-row em { display:grid; gap:2px; font-style:normal; font-size:9px; line-height:1; font-weight:950; text-align:right; white-space:nowrap; }
.watch-overview-row em small { display:block; max-width:100%; font-size:7px; font-weight:950; color:#666; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.watch-overview-row:hover em small { color:#fff; }
.feedback-panel { grid-column:4; grid-row:3; padding: 12px 10px; font-size: 11px; position:relative; z-index:30; border-left:1px solid var(--line); min-width:0; overflow:auto; }
.feedback-panel p { margin: 0 0 10px; color:#555; font-weight:700; line-height:1.38; font-size:10px; }
.feedback-tools { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:6px; margin-bottom: 10px; }
.feedback-tools button { border:1px solid #050505; background:#fbfbf8; padding:6px 4px; min-height:34px; font-size:9px; line-height:1.15; font-weight:950; cursor:pointer; overflow-wrap:anywhere; }
.feedback-tools button:first-child { background:var(--yellow); }
.feedback-tools button:nth-child(3) { background:#eef6ff; }
.feedback-tools button:nth-child(4) { background:#edf8ff; }
.feedback-tools button:nth-child(5) { background:#f5f4ee; }
.feedback-tools button:nth-child(6) { background:#eef6ff; }
.feedback-tools button:last-child { background:#050505; color:#fff; }
#clear-feedback { grid-column:1 / -1; }
.workflow-status { display:grid; gap:6px; margin:0 0 10px; padding:6px; background:#f5f4ee; border:1px solid var(--line); }
.workflow-status-row { display:grid; grid-template-columns:58px minmax(0,1fr); gap:6px; align-items:start; font-size:9px; }
.workflow-status-row > b { grid-column:1; }
.workflow-status-row > span { grid-column:2; }
.workflow-status-row > .workflow-result-pill { grid-column:1; justify-self:start; margin-top:18px; }
.workflow-status-row > button { grid-column:2; justify-self:end; align-self:start; }
.workflow-status-row b { font-size:9px; font-weight:950; }
.workflow-status-row span { color:#555; font-weight:800; line-height:1.3; overflow-wrap:anywhere; display:grid; gap:2px; }
.workflow-status-row span small { color:#888; font-size:8px; font-weight:900; }
.workflow-status-row button { min-height:22px; padding:3px 6px; border:1px solid #050505; background:#fff; font-size:9px; font-weight:950; cursor:pointer; }
.workflow-status-row.tone-export { border-left:3px solid #ffe100; padding-left:6px; }
.workflow-status-row.tone-copy { border-left:3px solid #33c9ff; padding-left:6px; }
.workflow-status-row.tone-issue { border-left:3px solid #ff5ca8; padding-left:6px; }
.workflow-status-row.tone-mail { border-left:3px solid #18a057; padding-left:6px; }
.workflow-status-row.status-ok, .workflow-history-item.status-ok, .archive-workflow-item.status-ok { box-shadow: inset 0 0 0 1px rgba(24,160,87,.14); }
.workflow-status-row.status-warn, .workflow-history-item.status-warn, .archive-workflow-item.status-warn { box-shadow: inset 0 0 0 1px rgba(255,180,0,.18); }
.workflow-status-row.status-error, .workflow-history-item.status-error, .archive-workflow-item.status-error { box-shadow: inset 0 0 0 1px rgba(255,42,42,.18); }
.workflow-result-pill { display:inline-flex; align-items:center; justify-content:center; min-width:44px; padding:2px 6px; border:1px solid var(--line); background:#fff; font-size:9px; font-weight:950; color:#555; }
.workflow-status-row.status-ok .workflow-result-pill, .workflow-history-item.status-ok small:last-child, .archive-workflow-item.status-ok em { color:#18a057; }
.workflow-status-row.status-warn .workflow-result-pill, .workflow-history-item.status-warn small:last-child, .archive-workflow-item.status-warn em { color:#b88400; }
.workflow-status-row.status-error .workflow-result-pill, .workflow-history-item.status-error small:last-child, .archive-workflow-item.status-error em { color:#ff2a2a; }
.workflow-history { display:grid; gap:6px; margin:0 0 10px; padding:6px; background:#f8f7f1; border:1px solid var(--line); max-height:118px; overflow:auto; }
.workflow-history-head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.workflow-history-head b { font-size:10px; font-weight:950; }
.workflow-history-head span { font-size:9px; font-weight:900; color:#777; }
.workflow-filter-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 4px; }
.workflow-filter-tab { display:inline-flex; align-items:center; gap:6px; min-height:24px; padding:3px 8px; border:1px solid var(--line); background:#fff; font-size:10px; font-weight:900; color:#555; }
.workflow-filter-tab small { font-size:9px; color:#888; }
.workflow-filter-tab.active { background:#050505; color:#fff; }
.workflow-filter-tab.active small { color:#ffe36a; }
.archive-detail-workflow .workflow-filter-tabs { margin-bottom:8px; }
.workflow-history-list { display:grid; gap:4px; }
.workflow-history-item { display:grid; grid-template-columns:42px minmax(0,1fr); gap:6px; align-items:start; font-size:9px; padding:4px 5px; background:#fff; border:1px solid #ece9de; }
.workflow-history-item > small { grid-column:2; }
.workflow-history-item b { font-size:9px; font-weight:950; }
.workflow-history-item span { color:#555; font-weight:800; line-height:1.24; overflow-wrap:anywhere; }
.workflow-history-item small { color:#888; font-size:9px; font-weight:900; }
.weight-proposal-panel { border:1px solid var(--line); background:#fffdf0; padding:8px; margin:8px 0 10px; display:grid; gap:6px; }
.weight-proposal-head { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:10px; font-weight:950; }
.weight-proposal-head span { background:#050505; color:var(--yellow); padding:3px 6px; font-size:8px; white-space:nowrap; }
.weight-proposal-metrics { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:4px; }
.weight-proposal-metrics small { border:1px solid var(--line); background:#fbfbf8; padding:4px 3px; font-size:8px; font-weight:950; text-align:center; line-height:1.1; }
.weight-proposal-panel p { margin:0; font-size:9px; line-height:1.35; color:#555; font-weight:800; }
.weight-proposal-targets { display:grid; gap:4px; }
.weight-proposal-target { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; align-items:center; border-top:1px solid var(--line); padding-top:4px; }
.weight-proposal-target b { font-size:9px; line-height:1.15; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.weight-proposal-target span { font-size:8px; font-weight:950; white-space:nowrap; }

.evaluation-maturity-panel { margin:8px 0 10px; border:1px solid var(--line); background:#fffef8; padding:8px; display:grid; gap:7px; }
.maturity-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.maturity-head small { display:block; color:#555; font-size:9px; font-weight:950; letter-spacing:.04em; }
.maturity-head b { display:block; font-size:16px; line-height:1.05; }
.maturity-pill { border:1px solid #050505; padding:3px 6px; font-size:9px; font-weight:950; background:#050505; color:#fff; white-space:nowrap; }
.maturity-pill.ok { background:#22c55e; color:#052e16; border-color:#22c55e; }
.maturity-pill.warn { background:var(--yellow); color:#050505; border-color:#050505; }
.maturity-metrics { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:4px; }
.maturity-metric { min-width:0; border:1px solid #e0ddd4; background:#f7f5ec; padding:4px 5px; display:flex; align-items:center; justify-content:space-between; gap:6px; }
.maturity-metric em { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-style:normal; color:#555; font-size:8px; font-weight:950; }
.maturity-metric b { font-size:11px; font-weight:950; }
.maturity-metric.ok b { color:#047857; }
.maturity-metric.warn b { color:#be123c; }
.evaluation-maturity-panel p { margin:0; color:#333; font-size:10px; line-height:1.35; font-weight:800; }
.maturity-targets { margin:0; padding:0; display:grid; gap:4px; list-style:none; }
.maturity-targets li { border-top:1px solid #ece9e1; padding-top:4px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 7px; }
.maturity-targets b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.maturity-targets span { font-size:9px; font-weight:950; color:#be123c; white-space:nowrap; }
.maturity-targets small { grid-column:1 / -1; color:#555; font-size:9px; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.maturity-blockers { display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
.maturity-blockers small { width:100%; color:#666; font-weight:950; font-size:8px; }
.maturity-blockers span { border:1px solid #eadb8b; background:#fff8cf; padding:3px 5px; font-size:8px; font-weight:850; color:#5f4200; }
#feedback-preview { min-height:64px; max-height:120px; overflow:auto; margin:0; padding:6px; background:#f0f0ea; border:1px solid var(--line); font-size:9px; }
.feedback-list { display:grid; gap:6px; align-content:start; }
.feedback-item { display:grid; grid-template-columns:36px minmax(0,1fr); gap:6px; align-items:start; padding:5px 3px; border-bottom:1px solid #ddd8cf; }
.feedback-item:last-child { border-bottom:0; }
.feedback-rank { display:inline-flex; align-items:center; justify-content:center; min-height:22px; border:1px solid #050505; background:#fff; font-size:10px; font-weight:950; }
.feedback-body { min-width:0; display:grid; gap:2px; }
.feedback-body b { font-size:11px; line-height:1.25; }
.feedback-body span { color:#555; font-weight:800; line-height:1.25; }
.feedback-body small { color:#7a7a74; font-weight:800; }
.feedback-body .crosslink-row { margin-top:4px; }
.feedback-empty { color:#666; font-size:10px; line-height:1.35; font-weight:800; }


.splitter { background: var(--line); cursor: col-resize; border:0; }
.splitter:hover, .splitter:active { background:#050505; }
.panel-heading h2 { overflow-wrap:normal; word-break:normal; }
.ranking-table th, .ranking-table td { overflow:hidden; text-overflow:ellipsis; vertical-align:top; }
.ranking-table th:nth-child(1), .ranking-table td:nth-child(1) { width:34px; }
.ranking-table th:nth-child(3), .ranking-table td:nth-child(3) { width:44px; }
.ranking-table th:nth-child(4), .ranking-table td:nth-child(4) { width:48px; }
.ranking-table th:nth-child(5), .ranking-table td:nth-child(5) { width:40px; }
.ranking-table th:nth-child(7), .ranking-table td:nth-child(7) { width:72px; }
.ranking-table td:nth-child(2), .ranking-table td:nth-child(6) { max-width: 120px; }
.ranking-project-cell, .ranking-action-cell { display:grid; gap:4px; min-width:0; }
.ranking-project-cell b { display:block; font-size:11px; line-height:1.25; }
.ranking-action-cell span { display:block; font-size:11px; line-height:1.3; color:#333; }
.ranking-project-cell .crosslink-row, .ranking-action-cell .crosslink-row { margin-top:1px; }
.ranking-table .crosslink-link { min-height:20px; padding:2px 6px; font-size:9px; }
.ranking-score-mini { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:3px; margin-top:2px; }
.ranking-score-mini span { display:flex; justify-content:space-between; gap:4px; min-width:0; border:1px solid #e4e2da; background:#fbfaf4; padding:2px 4px; font-size:8px; line-height:1.1; font-weight:900; color:#555; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ranking-score-mini span.negative { color:#c1121f; }
.ranking-score-mini b { color:#050505; font-size:8px; }

.ranking-trace-row td { padding:0 6px 8px; background:#fbfbf8; border-bottom:1px solid #d8d5cd; }
.ranking-trace-details { border:1px solid #e0ddd4; background:#fffef8; }
.ranking-trace-details summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 9px; list-style:none; }
.ranking-trace-details summary::-webkit-details-marker { display:none; }
.ranking-trace-details summary b { font-size:11px; letter-spacing:.03em; }
.ranking-trace-details summary span { color:#666; font-size:10px; font-weight:850; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ranking-trace-body { display:grid; grid-template-columns:1.25fr .75fr .65fr; gap:8px; padding:0 9px 9px; }
.ranking-trace-section { min-width:0; border-top:1px solid #ece9e1; padding-top:6px; }
.ranking-trace-section.wide { grid-column:span 2; }
.ranking-trace-section.formula { grid-column:1 / -1; }
.ranking-trace-section small { display:block; margin-bottom:4px; color:#666; font-size:9px; font-weight:950; letter-spacing:.04em; }
.ranking-trace-chipgrid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:4px; }
.ranking-trace-chipgrid.compact { grid-template-columns:repeat(2, minmax(0,1fr)); }
.ranking-trace-chip { display:flex; align-items:center; justify-content:space-between; gap:5px; min-width:0; border:1px solid #e3dfd5; background:#f7f5ec; padding:4px 5px; color:#111; }
.ranking-trace-chip em { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-style:normal; color:#555; font-size:9px; font-weight:900; }
.ranking-trace-chip b { font-size:10px; font-weight:950; }
.ranking-trace-chip.negative b { color:#e11d48; }
.ranking-trace-tags { display:flex; flex-wrap:wrap; gap:4px; }
.ranking-trace-tags span { border:1px solid #dedbd2; background:#fff; padding:3px 5px; font-size:9px; font-weight:900; color:#333; }
.ranking-trace-section code { display:block; color:#333; background:#f3f1e8; border:1px solid #e1ded4; padding:5px 6px; font-size:9px; white-space:normal; overflow-wrap:anywhere; }
@media (max-width: 1200px) {
  .ranking-trace-body { grid-template-columns:1fr; }
  .ranking-trace-section.wide, .ranking-trace-section.formula { grid-column:1; }
  .ranking-trace-chipgrid { grid-template-columns:repeat(2, minmax(0,1fr)); }
}

.feedback-panel h2 { font-size:18px; line-height:1.1; overflow-wrap:normal; word-break:normal; }
.feedback-panel a { font-size:10px; white-space:nowrap; }
.feedback-panel p { overflow-wrap:anywhere; }
.active-signals .panel-heading h2 { font-size:20px; }
.signal-row { grid-template-columns:70px minmax(0,1fr) 64px; }
.signal-row em { font-size:12px; white-space:nowrap; overflow:hidden; }

.active-signals #active-signals-list { display:grid; grid-template-rows: repeat(3, minmax(0, 1fr)); flex:1; min-height:0; }

.compact-heading { margin-bottom:8px; }
.compact-heading h2 { font-size:16px; }

.archive-drawer { position:fixed; inset:0; display:none; z-index:200; }
.archive-drawer.is-open { display:block; }
body.archive-open { overflow:hidden; }
.archive-backdrop { position:absolute; inset:0; background:rgba(5,5,5,.42); }
.archive-sheet { position:absolute; top:0; right:0; width:540px; max-width:92vw; height:100%; background:#fbfbf8; border-left:1px solid var(--line); box-shadow:-16px 0 40px rgba(0,0,0,.12); padding:28px 24px 24px; display:grid; grid-template-rows:auto auto 1fr; gap:16px; }
.archive-header { display:flex; justify-content:space-between; align-items:center; }
.archive-header h2 { margin:0; font-size:26px; font-weight:950; letter-spacing:-.03em; }
.archive-close { border:1px solid #050505; background:#fff; width:36px; height:36px; font-size:24px; line-height:1; cursor:pointer; }
.archive-summary { margin:0; font-size:12px; line-height:1.5; color:#555; font-weight:800; }
.archive-list { overflow:auto; display:grid; gap:12px; align-content:start; }
.archive-card { border:1px solid var(--line); background:#fff; padding:16px; display:grid; gap:10px; }
.archive-card-header { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.archive-card-header > div { display:grid; gap:4px; min-width:0; }
.archive-card-header b { font-size:20px; }
.archive-card-header span { font-size:12px; font-weight:900; color:#666; overflow-wrap:anywhere; }
.archive-chip-row { display:flex; flex-wrap:wrap; gap:8px; }
.archive-chip { border:1px solid #050505; padding:4px 8px; font-size:10px; font-weight:950; background:#fff; }
.archive-delta-pill { display:inline-flex; align-items:center; min-height:22px; padding:4px 8px; border:1px solid var(--line); background:#111; color:#fff; font-size:10px; font-weight:950; line-height:1.1; white-space:nowrap; }
.archive-delta-pill.tone-pos { background:#0fa85a; border-color:#0fa85a; }
.archive-delta-pill.tone-neg { background:#ff2a2a; border-color:#ff2a2a; }
.archive-delta-pill.tone-neutral { background:#111; border-color:#111; }
.archive-metrics { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; }
.archive-metrics div { border:1px solid var(--line); background:#f5f4ee; padding:8px 10px; }
.archive-metrics small { display:block; font-size:10px; font-weight:900; color:#666; margin-bottom:4px; }
.archive-metrics b { font-size:16px; }

.archive-dashboard { overflow:auto; }
.archive-page-layout { display:grid; grid-template-columns: 420px 1fr; grid-template-rows: auto 1fr; gap:18px; padding-top:18px; }
.archive-hero-panel { grid-column:1 / span 2; display:grid; gap:18px; }
.archive-hero-head { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; }
.archive-hero-head small { display:block; font-size:11px; font-weight:900; color:#666; margin-bottom:6px; }
.archive-hero-head h2 { margin:0; font-size:34px; line-height:.95; letter-spacing:-.04em; }
.archive-hero-meta { text-align:right; display:grid; gap:6px; }
.archive-hero-meta b { font-size:24px; }
.archive-hero-meta span { font-size:12px; font-weight:800; color:#666; }
.archive-hero-metrics { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; }
.archive-hero-metric { border:1px solid var(--line); background:#f5f4ee; padding:14px 16px; display:grid; gap:6px; }
.archive-hero-metric small { font-size:10px; font-weight:900; color:#666; }
.archive-hero-metric b { font-size:28px; line-height:1; }
.archive-page-list-panel, .archive-page-detail-panel { min-height:0; }
.archive-page-list { display:grid; gap:10px; overflow:auto; max-height:720px; padding-right:4px; }
.archive-page-item { border:1px solid var(--line); background:#fff; padding:14px; display:grid; gap:10px; cursor:pointer; text-align:left; }
.archive-page-item.active { background:#f5f4ee; box-shadow: inset 0 0 0 2px var(--yellow); }
.archive-page-item-head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.archive-page-item-head b { font-size:21px; }
.archive-page-item-head span { font-size:12px; font-weight:900; color:#666; }
.archive-page-item-name { font-size:13px; font-weight:900; overflow-wrap:anywhere; }
.archive-page-item .archive-chip-row { gap:6px; }
.archive-page-item .archive-chip { font-size:9px; padding:3px 7px; }
.archive-chip.ghost { background:#f2f5f7; color:#4f5a61; border-color:#d7dee3; }
.archive-page-detail-panel { display:grid; gap:14px; align-content:start; }
.archive-page-detail-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.archive-page-detail-head small { display:block; font-size:11px; font-weight:900; color:#666; margin-bottom:6px; }
.archive-page-detail-head h2 { margin:0; font-size:30px; }
.archive-detail-focus { text-align:right; max-width:420px; display:grid; gap:6px; }
.archive-detail-focus b { font-size:18px; overflow-wrap:anywhere; }
.archive-detail-focus span { font-size:12px; font-weight:800; color:#666; }
.archive-detail-grid { display:grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr) minmax(260px, .72fr); gap:14px; min-height:0; }
.archive-detail-card { border:1px solid var(--line); background:#fff; padding:16px; min-height:0; display:grid; gap:12px; }
.archive-side-card { align-content:start; }
.archive-detail-card h3 { margin:0; font-size:15px; font-weight:950; letter-spacing:-.02em; }
.archive-detail-ranking { display:grid; gap:8px; overflow:auto; align-content:start; }
.archive-detail-ranking-row { display:grid; grid-template-columns: 44px 1fr 72px; gap:10px; align-items:center; border-bottom:1px solid #e7e5dc; padding-bottom:8px; }
.archive-detail-ranking-row:last-child { border-bottom:0; padding-bottom:0; }
.archive-detail-ranking-row b { font-size:12px; }
.archive-detail-ranking-row span { font-size:12px; font-weight:800; overflow-wrap:anywhere; display:grid; gap:4px; }
.archive-detail-ranking-row span small { color:#666; font-size:10px; font-weight:950; line-height:1.2; }
.archive-detail-ranking-row em { font-style:normal; font-size:20px; font-weight:950; text-align:right; }
.archive-detail-metrics { display:grid; gap:10px; }
.archive-detail-metrics .archive-metrics { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.archive-change-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.archive-change-grid div, .archive-change-note, .archive-approval-item { border:1px solid var(--line); background:#f5f4ee; padding:10px 12px; }
.archive-change-grid small, .archive-change-note, .archive-approval-item span { display:block; font-size:10px; font-weight:900; color:#666; }
.archive-change-grid b { display:block; margin-top:4px; font-size:22px; line-height:1; }
.archive-change-note { line-height:1.45; }
.archive-detail-approvals { display:grid; gap:8px; align-content:start; }
.archive-approval-item { display:grid; gap:4px; }
.archive-approval-item b { font-size:12px; line-height:1.35; overflow-wrap:anywhere; }
.archive-approval-item em { font-style:normal; font-size:10px; font-weight:950; color:#111; }
.archive-approval-item small { display:block; margin-top:2px; font-size:9px; font-weight:900; color:#888; }
.archive-approval-item .crosslink-row { margin-top:2px; }
.archive-workflow-item.tone-export { border-left:3px solid #ffd400; }
.archive-workflow-item.tone-copy { border-left:3px solid #33c9ff; }
.archive-workflow-item.tone-issue { border-left:3px solid #ff5ca8; }
.archive-workflow-item.tone-mail { border-left:3px solid #18a057; }
.archive-compare-card { padding:0; overflow:hidden; }
.archive-compare-card h3 { padding:16px 16px 0; }
.archive-detail-compare { overflow:auto; }
.archive-compare-table { width:100%; border-collapse:collapse; font-size:12px; }
.archive-compare-table th, .archive-compare-table td { border-top:1px solid #e7e5dc; padding:11px 14px; text-align:left; vertical-align:top; }
.archive-compare-table thead th { border-top:0; font-size:10px; font-weight:950; color:#666; background:#f5f4ee; white-space:nowrap; }
.archive-compare-table tbody tr:first-child td { border-top:1px solid var(--line); }
.archive-compare-table td b { font-size:12px; }
.archive-compare-table td em { font-style:normal; font-weight:950; color:#111; }
.archive-compare-table td.delta-pos { color:#18a057; font-weight:950; }
.archive-compare-table td.delta-neg { color:#ff2a2a; font-weight:950; }
.archive-compare-table td.delta-neutral { color:#666; font-weight:900; }
.archive-compare-cell { display:grid; gap:4px; min-width:0; }
.archive-compare-cell > span { overflow-wrap:anywhere; font-weight:800; color:#111; }
.archive-compare-cell .crosslink-link { min-height:20px; padding:2px 6px; font-size:9px; }
.crosslink-row { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.crosslink-link { display:inline-flex; align-items:center; justify-content:center; min-height:24px; padding:4px 8px; border:1px solid var(--line); background:#f5f4ee; color:#111; font-size:10px; font-weight:950; text-decoration:none; letter-spacing:.01em; }
.crosslink-link:hover { background:var(--yellow); }
.focus-active { box-shadow: inset 0 0 0 2px var(--yellow); background:#f8f7f1 !important; }

.trends-dashboard { overflow:auto; }
.trends-page-layout { display:grid; grid-template-columns: minmax(0, 1.3fr) 420px; grid-template-rows: auto 300px 360px minmax(0, 1fr); gap:18px; padding-top:18px; }
.trends-hero-panel { grid-column:1 / span 2; grid-row:1; display:grid; gap:18px; }
.trends-hero-head { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; }
.trends-hero-head small { display:block; font-size:11px; font-weight:900; color:#666; margin-bottom:6px; }
.trends-hero-head h2 { margin:0; font-size:34px; line-height:.95; letter-spacing:-.04em; }
.trends-hero-meta { text-align:right; display:grid; gap:6px; }
.trends-hero-meta b { font-size:24px; }
.trends-hero-meta span { font-size:12px; font-weight:800; color:#666; }
.trends-page-metrics { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:12px; }
.trends-page-metric { border:1px solid var(--line); background:#f5f4ee; padding:14px 16px; display:grid; gap:6px; min-width:0; }
.trends-page-metric small { font-size:10px; font-weight:900; color:#666; }
.trends-page-metric b { font-size:26px; line-height:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.trends-main-chart { grid-column:1; grid-row:2 / span 2; min-height:678px; }
.trends-main-chart svg { width:100%; height:320px; display:block; }
.trends-signal-panel { grid-column:2; grid-row:2; min-height:300px; }
.trends-bar-panel { grid-column:2; grid-row:3; min-height:360px; }
.trends-leaders-panel { grid-column:1; grid-row:4; min-height:320px; }
.trends-project-watch-panel { grid-column:2; grid-row:4; min-height:320px; }
.trends-leaders-list { display:grid; gap:10px; }
.trends-leader-card { border:1px solid var(--line); background:#fff; padding:14px; display:grid; gap:8px; }
.trends-leader-card-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.trends-leader-card-head b { font-size:16px; }
.trends-leader-card-head span { font-size:12px; font-weight:900; color:#666; }
.trends-leader-card p { margin:0; font-size:12px; font-weight:800; color:#555; }
.trends-project-watch { display:grid; gap:8px; margin-bottom:14px; }
.trends-project-row { display:grid; grid-template-columns:48px 1fr 72px; gap:10px; align-items:center; border-bottom:1px solid #e7e5dc; padding-bottom:8px; }
.trends-project-row:last-child { border-bottom:0; padding-bottom:0; }
.trends-project-row b { font-size:12px; }
.trends-project-row span { font-size:12px; font-weight:850; overflow-wrap:anywhere; display:grid; gap:3px; }
.trends-project-row span small { font-size:10px; color:#666; font-weight:800; line-height:1.35; }
.trends-project-row em { font-style:normal; font-size:20px; font-weight:950; text-align:right; }
.trends-project-row .crosslink-row { margin-top:2px; }
.trends-external-section { display:grid; gap:10px; margin:12px 0 14px; }
.trends-external-section h3 { margin:0; font-size:14px; font-weight:950; letter-spacing:-.02em; }
.trends-external-list { display:grid; gap:8px; }
.trends-external-row { display:grid; grid-template-columns: minmax(0, 1fr) auto; gap:10px; align-items:start; border:1px solid var(--line); background:#fffef4; padding:10px 12px; }
.trends-external-row b { font-size:12px; line-height:1.2; }
.trends-external-row small { display:block; margin-top:3px; color:#555; font-size:10px; line-height:1.3; font-weight:800; }
.trends-external-row em { font-style:normal; font-size:16px; line-height:1; font-weight:950; text-align:right; white-space:nowrap; }
.trends-delta-section { display:grid; gap:10px; }
.trends-delta-section h3 { margin:0; font-size:14px; font-weight:950; letter-spacing:-.02em; }
.trends-delta-board { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
.trends-delta-card { border:1px solid var(--line); background:#fff; padding:12px 14px; display:grid; gap:6px; }
.trends-delta-card small { font-size:10px; font-weight:900; color:#666; }
.trends-delta-card b { font-size:18px; line-height:1.15; }

.watch-dashboard { overflow:auto; }
.watch-page-layout { display:grid; grid-template-columns:minmax(0, 1.22fr) 420px; grid-template-rows:auto 1fr; gap:14px; padding-top:14px; }
.watch-hero-panel { grid-column:1 / span 2; display:grid; gap:12px; }
.watch-hero-head { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; }
.watch-hero-head small { display:block; font-size:11px; font-weight:900; color:#666; margin-bottom:6px; }
.watch-hero-head h2 { margin:0; font-size:30px; line-height:.95; letter-spacing:-.04em; }
.watch-hero-meta { text-align:right; display:grid; gap:6px; }
.watch-hero-meta b { font-size:24px; }
.watch-hero-meta span { font-size:12px; font-weight:800; color:#666; }
.watch-hero-metrics { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }
.watch-hero-metric { border:1px solid var(--line); background:#f5f4ee; padding:10px 14px; display:grid; gap:4px; }
.watch-hero-metric small { font-size:10px; font-weight:900; color:#666; }
.watch-hero-metric b { font-size:28px; line-height:1; }
.watch-hero-metric.accent { border-color:#050505; background:#fffef4; }
.watch-hero-metric.accent.mode-service { box-shadow: inset 0 3px 0 var(--yellow); }
.watch-hero-metric.accent.mode-audience { box-shadow: inset 0 3px 0 var(--magenta); }
.watch-hero-metric.accent.mode-recurring { box-shadow: inset 0 3px 0 var(--cyan); }
.watch-hero-metric.accent.mode-priority { box-shadow: inset 0 3px 0 #050505; }
.watch-main-panel { grid-column:1; grid-row:2; display:grid; grid-template-rows:auto auto auto auto 1fr; min-height:0; align-content:start; }
.watch-overview-note { margin:0 0 8px; font-size:11px; line-height:1.45; color:#555; font-weight:800; }
.watch-sorter { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0 0 8px; }
.watch-sorter > small { font-size:10px; font-weight:700; color:#666; }
.watch-sorter .sort-tabs { display:flex; flex-wrap:wrap; gap:6px; }
.watch-sorter .sort-tabs button { appearance:none; border:1px solid var(--line); background:#fff; color:#111; font-size:10px; font-weight:700; padding:6px 10px; cursor:pointer; }
.watch-sorter .sort-tabs button.active { background:#050505; color:#ffe100; border-color:#050505; }
.watch-sort-summary { margin:0 0 8px; font-size:11px; line-height:1.45; color:#555; font-weight:700; }
.watch-main-list { display:grid; gap:10px; overflow:auto; max-height:760px; padding-right:4px; align-content:start; }
.watch-candidate-panel { padding:0; overflow:hidden; }
.candidate-pool-panel-wide { max-height:520px; padding:12px 14px; border:1px solid var(--line); background:#fffef8; }
.candidate-pool-panel-side { max-height:360px; padding:12px 14px; border:0; background:#fffef8; }
.candidate-pool-panel-wide .candidate-pool-list { gap:7px; }
.candidate-pool-panel-side .candidate-pool-list { gap:6px; }
.candidate-pool-panel-wide .candidate-pool-row,
.candidate-pool-panel-side .candidate-pool-row { grid-template-columns:42px minmax(0,1fr) 74px 92px; min-height:42px; padding:7px 10px; }
.candidate-pool-panel-wide .candidate-pool-row strong { font-size:12px; }
.candidate-pool-panel-side .candidate-pool-row strong { font-size:11px; }
.candidate-pool-panel-wide .candidate-pool-row small,
.candidate-pool-panel-wide .candidate-pool-row em,
.candidate-pool-panel-side .candidate-pool-row small,
.candidate-pool-panel-side .candidate-pool-row em { font-size:9px; }
.candidate-pool-panel-wide .candidate-pool-row > i,
.candidate-pool-panel-side .candidate-pool-row > i { font-size:18px; }
.candidate-pool-panel-wide .candidate-seed-btn,
.candidate-pool-panel-side .candidate-seed-btn { min-height:26px; font-size:9px; }
.watch-main-card { border:1px solid var(--line); background:#fff; padding:14px 16px; display:grid; gap:12px; }
.watch-main-card-head { display:grid; grid-template-columns:52px minmax(0, 1fr) 88px; gap:12px; align-items:flex-start; }
.watch-main-rank { min-height:34px; display:grid; place-items:center; border:1px solid #050505; background:#f5f4ee; font-size:12px; font-weight:950; }
.watch-main-copy { display:grid; gap:7px; min-width:0; }
.watch-main-copy b { font-size:16px; line-height:1.15; }
.watch-main-copy span { font-size:12px; font-weight:800; color:#555; line-height:1.4; }
.watch-main-meta { display:grid; gap:8px; justify-items:end; }
.watch-main-score { font-size:30px; line-height:1; font-weight:950; }
.watch-main-conf { display:inline-flex; align-items:center; justify-content:center; min-height:22px; padding:2px 8px; border-radius:999px; background:#eceae0; font-size:10px; font-weight:950; color:#444; }
.watch-main-family { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.watch-main-family small { font-size:10px; font-weight:900; color:#666; }
.watch-main-family b { font-size:11px; font-weight:950; letter-spacing:.01em; }
.watch-main-copy p { margin:0; font-size:12px; line-height:1.45; font-weight:800; color:#222; }
.watch-main-copy p.muted { color:#666; }
.watch-private-line { display:flex; flex-wrap:wrap; gap:8px; font-size:11px; font-weight:700; color:#111; }
.watch-side-line { display:flex; flex-wrap:wrap; gap:8px; font-size:10px; font-weight:700; color:#555; }
.watch-private-line.mode-service, .watch-side-line.mode-service { color:#7d6500; }
.watch-private-line.mode-audience, .watch-side-line.mode-audience { color:#a00071; }
.watch-private-line.mode-recurring, .watch-side-line.mode-recurring { color:#006c7f; }
.watch-main-next { border:1px solid var(--line); background:#f5f4ee; padding:10px 12px; display:grid; gap:6px; }
.watch-main-next small { font-size:10px; font-weight:900; color:#666; }
.watch-main-next b { font-size:12px; line-height:1.45; font-weight:850; }
.watch-blend-strip { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:6px; }
.watch-blend-strip span { border:1px solid var(--line); background:#fffef4; padding:6px 8px; display:grid; gap:3px; min-width:0; }
.watch-blend-strip small { font-size:9px; font-weight:950; color:#666; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.watch-blend-strip b { font-size:13px; line-height:1; font-weight:950; }
.watch-source-trace { border:1px solid #e3e1d8; background:#fbfaf4; padding:9px 10px; display:grid; gap:8px; }
.watch-source-trace-head { display:flex; justify-content:space-between; gap:10px; align-items:baseline; min-width:0; }
.watch-source-trace-head b { font-size:11px; font-weight:950; line-height:1.1; }
.watch-source-trace-head small { color:#666; font-size:9px; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.watch-source-trace-list { display:grid; gap:5px; }
.watch-source-trace-row { display:grid; grid-template-columns:minmax(86px, .8fr) 42px minmax(0, 1.5fr); gap:8px; align-items:center; min-width:0; font-size:10px; font-weight:900; }
.watch-source-trace-row span,
.watch-source-trace-row small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.watch-source-trace-row span { color:#111; }
.watch-source-trace-row em { font-style:normal; text-align:right; font-size:11px; font-weight:950; }
.watch-source-trace-row em.up { color:#00a85a; }
.watch-source-trace-row em.down { color:#ff1d2f; }
.watch-source-trace-row small { color:#666; }
.watch-source-trace.compact { padding:7px 8px; gap:6px; }
.watch-source-trace.compact .watch-source-trace-head small { display:none; }
.watch-source-trace.compact .watch-source-trace-row { grid-template-columns:minmax(70px, .9fr) 38px minmax(0, 1.2fr); gap:6px; }
.watch-side-panel { grid-column:2; grid-row:2; display:grid; gap:18px; align-content:start; }
.watch-summary-board { display:grid; gap:10px; }
.watch-summary-card { border:1px solid var(--line); background:#fff; padding:14px 16px; display:grid; gap:8px; }
.watch-summary-card small { font-size:10px; font-weight:900; color:#666; }
.watch-summary-card b { font-size:20px; line-height:1.15; }
.watch-summary-card span { font-size:12px; line-height:1.45; font-weight:800; color:#555; }
.watch-summary-meta { display:flex; flex-wrap:wrap; gap:8px; }
.watch-summary-chip { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); background:#f5f4ee; padding:5px 8px; font-size:10px; font-weight:950; }
.watch-summary-chip.sort-accent { border-color:#050505; background:#fffef4; }
.watch-summary-chip.sort-accent.mode-service { color:#7d6500; }
.watch-summary-chip.sort-accent.mode-audience { color:#b0007d; }
.watch-summary-chip.sort-accent.mode-recurring { color:#007d94; }
.watch-summary-chip.sort-accent.mode-priority { color:#111; }
.watch-family-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
.watch-family-card { border:1px solid var(--line); background:#fff; padding:12px 14px; display:grid; gap:6px; }
.watch-family-card small { font-size:10px; font-weight:900; color:#666; }
.watch-family-card b { font-size:16px; line-height:1.15; }
.watch-family-card span { font-size:11px; line-height:1.4; color:#555; font-weight:800; }
.watch-submetric-groups { display:grid; gap:10px; }
.watch-submetric-group { border:1px solid var(--line); background:#fff; padding:14px 16px; display:grid; gap:10px; }
.watch-submetric-group h3 { margin:0; font-size:13px; font-weight:950; line-height:1.2; }
.watch-submetric-list { display:grid; gap:8px; }
.watch-submetric-row { border:1px solid #e8e6dc; background:#f5f4ee; padding:10px 12px; display:grid; gap:6px; }
.watch-submetric-row-head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.watch-submetric-row-head b { font-size:12px; line-height:1.3; }
.watch-submetric-row-head em { font-style:normal; font-size:20px; line-height:1; font-weight:950; }
.watch-submetric-row span { font-size:11px; line-height:1.4; color:#555; font-weight:800; }


.sources-dashboard { overflow:auto; }
.sources-page-layout { display:grid; grid-template-columns: 420px 1fr; grid-template-rows: auto minmax(430px, 44vh) minmax(0, 1fr); gap:18px; padding-top:18px; }
.sources-hero-panel { grid-column:1 / span 2; display:grid; gap:14px; }
.sources-hero-head { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; }
.sources-hero-head small { display:block; font-size:11px; font-weight:900; color:#666; margin-bottom:6px; }
.sources-hero-head h2 { margin:0; font-size:34px; line-height:.95; letter-spacing:-.04em; }
.sources-hero-meta { text-align:right; display:grid; gap:6px; }
.sources-hero-meta b { font-size:24px; }
.sources-hero-meta span { font-size:12px; font-weight:800; color:#666; }
.sources-hero-metrics { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:12px; }
.sources-hero-metric { border:1px solid var(--line); background:#f5f4ee; padding:12px 14px; display:grid; gap:6px; min-width:0; }
.sources-hero-metric small { font-size:10px; font-weight:900; color:#666; }
.sources-hero-metric b { font-size:28px; line-height:1; }
.sources-tier-panel { grid-column:1; grid-row:2 / span 2; display:grid; grid-template-rows:auto auto 1fr; gap:18px; }
.sources-tier-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.sources-tier-card { border:1px solid var(--line); background:#fff; padding:14px 16px; display:grid; gap:8px; }
.sources-tier-head { display:flex; justify-content:space-between; align-items:center; }
.sources-tier-head b { font-size:28px; line-height:1; }
.sources-tier-card small { font-size:10px; font-weight:900; color:#666; }
.sources-tier-card strong { font-size:14px; }
.sources-target-section, .sources-route-section, .sources-external-section { display:grid; gap:10px; }
.sources-target-section h3, .sources-route-section h3, .sources-external-section h3 { margin:0; font-size:14px; font-weight:950; letter-spacing:-.02em; }
.sources-target-strip { display:flex; flex-wrap:wrap; gap:8px; align-content:flex-start; }
.sources-target-chip { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:#fff; padding:8px 10px; font-size:11px; font-weight:900; }
.sources-target-chip b { font-size:14px; }
.sources-route-grid { display:grid; gap:10px; }
.sources-route-card { border:1px solid var(--line); background:#fff; padding:12px 14px; display:grid; gap:6px; }
.sources-route-card small { font-size:10px; font-weight:900; color:#666; }
.sources-route-card b { font-size:12px; line-height:1.45; font-weight:850; }
.sources-external-index { display:grid; gap:10px; }
.sources-external-card { border:1px solid var(--line); background:#fffef4; padding:12px 14px; display:grid; gap:10px; }
.sources-external-card-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.sources-external-card-head b { font-size:20px; line-height:1; }
.sources-external-card-head small { font-size:10px; line-height:1.25; font-weight:900; color:#555; text-align:right; }
.sources-component-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:7px; }
.sources-component-row { display:grid; grid-template-columns:minmax(0,1fr) 36px; gap:6px; align-items:center; font-size:10px; font-weight:900; }
.sources-component-row span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sources-component-row b { text-align:right; font-size:10px; }
.sources-component-track { grid-column:1 / -1; height:6px; background:#e8e6dc; position:relative; }
.sources-component-track i { display:block; height:100%; background:var(--cyan); }
.sources-component-row.negative .sources-component-track i { background:var(--red); }
.sources-external-source-list { display:grid; gap:5px; }

.sources-confidence-quality { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; border:1px solid #e0ded2; background:#faf9ef; padding:7px; }
.sources-confidence-quality div { min-width:0; display:grid; gap:2px; }
.sources-confidence-quality small { font-size:8px; font-weight:950; color:#666; text-transform:uppercase; }
.sources-confidence-quality b { font-size:13px; line-height:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sources-confidence-quality em { font-style:normal; font-size:8px; color:#555; font-weight:850; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sources-confidence-quality span { display:inline-block; margin-right:4px; padding:1px 4px; background:#050505; color:#ffd900; font-size:7px; font-weight:950; white-space:nowrap; }
@media (max-width: 900px) { .sources-confidence-quality { grid-template-columns:1fr; } }

.sources-external-source { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:7px; align-items:center; border-top:1px solid #e8e6dc; padding-top:5px; font-size:9px; font-weight:850; }
.sources-external-source b { font-size:9px; }
.sources-external-source span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#555; }
.sources-external-source em { font-style:normal; font-size:9px; color:#555; white-space:nowrap; }
.sources-market-watch-card { background:#fff; }
.sources-watch-prior-list { display:grid; gap:8px; }
.sources-watch-prior-row { display:grid; grid-template-columns:minmax(0,1fr) 54px; gap:10px; border-top:1px solid #e8e6dc; padding-top:8px; align-items:start; }
.sources-watch-prior-row:first-child { border-top:0; padding-top:0; }
.sources-watch-prior-row b { display:block; font-size:12px; font-weight:950; line-height:1.25; }
.sources-watch-prior-row span { display:block; margin-top:3px; color:#555; font-size:10px; font-weight:800; line-height:1.35; }
.sources-watch-prior-row em { font-style:normal; font-size:20px; font-weight:950; text-align:right; line-height:1; }
.sources-watch-prior-row em small { display:block; margin-top:4px; color:#666; font-size:10px; font-weight:950; }
.sources-watch-prior-sources { display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
.sources-watch-prior-sources a { display:inline-flex; gap:4px; align-items:center; border:1px solid var(--line); background:#f5f4ee; color:#111; padding:3px 6px; font-size:9px; font-weight:950; text-decoration:none; }
.sources-watch-prior-sources a:hover { background:var(--yellow); }
.sources-bucket-panel { grid-column:2; grid-row:2; display:grid; grid-template-rows:auto minmax(0, 1fr); min-height:430px; }
.sources-bucket-list { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; align-content:start; min-height:0; overflow:auto; padding-right:6px; }
.sources-bucket-card { border:1px solid var(--line); background:#fff; padding:14px 16px; display:grid; gap:10px; }
.sources-bucket-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.sources-bucket-head > div { display:grid; gap:5px; min-width:0; }
.sources-bucket-head b { font-size:16px; line-height:1.1; }
.sources-bucket-head span { font-size:11px; font-weight:900; color:#666; }
.sources-accent { width:14px; height:14px; border-radius:50%; flex:0 0 auto; margin-top:4px; }
.sources-bucket-card p { margin:0; font-size:12px; line-height:1.45; font-weight:800; color:#252525; }
.sources-bucket-card p.muted { color:#666; }
.sources-bucket-card p small { display:block; font-size:10px; font-weight:900; color:#888; margin-bottom:4px; }
.sources-project-panel { grid-column:2; grid-row:3; display:grid; grid-template-rows:auto 1fr; min-height:0; }
.sources-project-list { display:grid; gap:10px; overflow:auto; max-height:520px; padding-right:4px; }
.sources-project-card { border:1px solid var(--line); background:#fff; padding:14px 16px; display:grid; gap:12px; }
.sources-project-head { display:grid; grid-template-columns:52px minmax(0, 1fr) 72px; gap:12px; align-items:flex-start; }
.sources-project-rank { min-height:34px; display:grid; place-items:center; border:1px solid #050505; background:#f5f4ee; font-size:12px; font-weight:950; }
.sources-project-main { display:grid; gap:6px; min-width:0; }
.sources-project-main b { font-size:15px; line-height:1.15; }
.sources-project-main span { font-size:12px; line-height:1.4; color:#555; font-weight:800; }
.sources-project-meta { display:grid; justify-items:end; gap:8px; }
.sources-project-meta strong { font-size:28px; line-height:1; }
.sources-project-foot { display:grid; gap:10px; }
.sources-project-foot small { font-size:11px; line-height:1.35; color:#555; font-weight:800; }
.sources-project-foot small b { color:#111; }
.sources-project-scorebreak { border:1px solid #e7e5dc; background:#fbfaf4; padding:9px 10px; display:grid; gap:8px; }
.sources-project-scorebreak > small { font-size:10px; font-weight:950; color:#555; }
.sources-project-scorebreak .sources-component-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }


.risks-dashboard { overflow:auto; }
.risks-page-layout { display:grid; grid-template-columns: minmax(0, 1.15fr) 420px; grid-template-rows: auto 1fr 260px; gap:18px; padding-top:18px; }
.risks-hero-panel { grid-column:1 / span 2; display:grid; gap:18px; }
.risks-hero-head { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; }
.risks-hero-head small { display:block; font-size:11px; font-weight:900; color:#666; margin-bottom:6px; }
.risks-hero-head h2 { margin:0; font-size:34px; line-height:.95; letter-spacing:-.04em; }
.risks-hero-meta { text-align:right; display:grid; gap:6px; }
.risks-hero-meta b { font-size:24px; }
.risks-hero-meta span { font-size:12px; font-weight:800; color:#666; }
.risks-hero-metrics { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; }
.risks-hero-metric { border:1px solid var(--line); background:#f5f4ee; padding:14px 16px; display:grid; gap:6px; }
.risks-hero-metric small { font-size:10px; font-weight:900; color:#666; }
.risks-hero-metric b { font-size:28px; line-height:1; }
.risks-watch-panel { grid-column:1; grid-row:2 / span 2; display:grid; grid-template-rows:auto 1fr; min-height:0; }
.risks-watchlist { display:grid; gap:10px; overflow:auto; max-height:640px; padding-right:4px; }
.risks-watch-card { border:1px solid var(--line); background:#fff; padding:14px 16px; display:grid; gap:10px; }
.risks-watch-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.risks-watch-head > div { display:grid; gap:6px; min-width:0; }
.risks-watch-head b { font-size:16px; line-height:1.2; }
.risks-watch-head span { font-size:11px; font-weight:900; color:#666; }
.risks-watch-head strong { font-size:30px; line-height:1; }
.risks-watch-card p { margin:0; font-size:12px; line-height:1.45; color:#555; font-weight:800; }
.risks-watch-card small { font-size:11px; line-height:1.35; color:#444; font-weight:850; }
.risks-category-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
.risks-category-card { background:#fffdf1; border-color:#d9d5bf; }
.risks-category-card .risks-watch-head strong { color:#050505; }
.risks-market-pressure-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
.risks-market-pressure-card { background:#fff; border-left:4px solid #050505; }
.risks-market-pressure-card .risks-watch-head strong { color:#050505; }
.risks-market-pressure-card small { color:#666; font-size:10px; font-weight:950; }
.commodity-risk-bar { height:8px; background:#ebe8dc; border:1px solid var(--line); overflow:hidden; }
.commodity-risk-bar i { display:block; height:100%; background:linear-gradient(90deg, #20c4df 0%, #ffd600 55%, #ff1e2d 100%); }
.risk-mini-trend { display:flex; align-items:flex-end; justify-content:space-between; gap:8px; margin-top:8px; min-height:26px; }
.risk-mini-trend svg { width:112px; height:24px; display:block; overflow:hidden; color:#050505; }
.risk-mini-trend rect { fill:currentColor; opacity:.92; }
.risk-mini-trend.up svg { color:#ff1e2d; }
.risk-mini-trend.down svg { color:#20c4df; }
.risk-mini-trend span { font-size:10px; font-weight:950; color:#050505; white-space:nowrap; }
.risk-mini-trend.up span { color:#c1121f; }
.risk-mini-trend.down span { color:#087f95; }
.risks-subheading { margin:8px 0 0; font-size:14px; line-height:1; letter-spacing:-.02em; }
.risks-counter-panel { grid-column:2; grid-row:2; display:grid; grid-template-rows:auto 1fr; }
.risks-counter-board { display:grid; gap:10px; align-content:start; }
.risks-counter-card { border:1px solid var(--line); background:#fff; padding:14px 16px; display:grid; gap:10px; }
.risks-counter-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.risks-counter-head b { font-size:16px; line-height:1.1; }
.risks-counter-head i { width:12px; height:12px; border-radius:50%; display:block; flex:0 0 auto; }
.risks-counter-card p { margin:0; font-size:12px; line-height:1.45; font-weight:800; color:#333; }
.risks-counter-card small { font-size:10px; font-weight:900; color:#777; }
.risks-resilience-panel { grid-column:2; grid-row:3; display:grid; grid-template-rows:auto auto 1fr; gap:14px; }
.risks-resilience-board { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.risks-resilience-card { border:1px solid var(--line); background:#fff; padding:14px 16px; display:grid; gap:6px; }
.risks-resilience-card small { font-size:10px; font-weight:900; color:#666; }
.risks-resilience-card b { font-size:28px; line-height:1; }
.risks-mitigation-section { display:grid; gap:10px; }
.risks-mitigation-section h3 { margin:0; font-size:14px; font-weight:950; letter-spacing:-.02em; }
.risks-mitigation-board { display:grid; gap:10px; }
.risks-mitigation-card { border:1px solid var(--line); background:#fff; padding:12px 14px; display:grid; gap:6px; }
.risks-mitigation-card small { font-size:10px; font-weight:900; color:#666; }
.risks-mitigation-card b { font-size:12px; line-height:1.45; font-weight:850; }


.metric-link-card { text-decoration:none; color:#050505; background:#f7f6f0; display:grid; align-content:start; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"label label" "value side" "sub sub" "footer footer"; row-gap:4px; }
.metric-link-card > small { grid-area:label; }
.metric-link-card b { grid-area:value; font-size:34px; line-height:1; }
.metric-link-card em { grid-area:side; justify-self:end; align-self:end; font-style:normal; font-size:11px; font-weight:950; margin-left:0; color:#666; white-space:nowrap; background:#eceae0; padding:2px 6px; border-radius:999px; }
.metric-link-card span { grid-area:sub; margin-left:0; margin-top:1px; font-size:10px; line-height:1.2; font-weight:850; color:#555; }
.metric-link-card .metric-link-footer { grid-area:footer; margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:10px; font-weight:950; color:#111; }
.metric-link-card .metric-link-footer strong { font:inherit; }
.metric-link-card .metric-link-footer i { font-style:normal; font-size:16px; line-height:1; }
.metric-link-card:hover { background:#050505; color:var(--yellow); }
.metric-link-card:hover small,
.metric-link-card:hover span,
.metric-link-card:hover em,
.metric-link-card:hover .metric-link-footer,
.metric-link-card:hover .metric-link-footer strong { color:inherit; }
