.app{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.eyebrow{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280}.header h1{margin:.15rem 0 0;font-size:1.75rem;font-weight:600}.meta{margin:.35rem 0 0;font-size:.8rem;color:#9ca3af}.header button{background:#1e293b;border:1px solid #334155;color:#e5e7eb;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem}.header-actions{display:flex;align-items:flex-end;gap:.75rem}.refresh-select{display:flex;flex-direction:column;gap:.25rem;color:#9ca3af;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.refresh-select select{background:#111827;border:1px solid #334155;border-radius:8px;color:#e5e7eb;cursor:pointer;font-size:.875rem;padding:.5rem .75rem}.header button:hover:not(:disabled){background:#334155}.header button:disabled{opacity:.6;cursor:wait}.error-banner{background:#450a0a;border:1px solid #991b1b;color:#fecaca;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.status-banner{border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.status-banner strong{display:block;margin-bottom:.15rem}.status-banner.warn{background:#422006;border:1px solid #92400e;color:#fcd34d}.status-banner.danger{background:#450a0a;border:1px solid #991b1b;color:#fecaca}.status-banner.ok{background:#052e16;border:1px solid #166534;color:#bbf7d0}.sync-button{background:#14532d;border-color:#166534}.sync-button.secondary{background:#1e293b;border-color:#334155}.sync-button:disabled{opacity:.5;cursor:not-allowed}.run-progress{margin-bottom:1.25rem;padding:1rem 1.1rem;border-radius:12px;border:1px solid #334155;background:#0f172a}.run-progress-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.run-progress-title{margin:0;font-size:1rem;font-weight:600}.run-progress-sub{margin:.25rem 0 0;font-size:.8rem;color:#9ca3af}.run-progress-actions{display:flex;gap:.5rem}.run-progress-dismiss,.run-progress-cancel{background:transparent;border:1px solid #475569;color:#cbd5e1;padding:.35rem .75rem;border-radius:6px;cursor:pointer;font-size:.8rem}.run-progress-cancel{border-color:#92400e;color:#fcd34d}.run-progress-bar-wrap{height:8px;border-radius:999px;background:#1e293b;overflow:hidden}.run-progress-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.run-progress-bar-fill--active{background:linear-gradient(90deg,#0ea5e9,#38bdf8)}.run-progress-bar-fill--done{background:#22c55e}.run-progress-bar-fill--error{background:#ef4444}.run-progress-pct{margin:.35rem 0 .75rem;font-size:.75rem;color:#9ca3af}.run-progress-phases{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.run-progress-phase{display:flex;gap:.65rem;align-items:flex-start;font-size:.85rem}.run-progress-phase-icon{width:1.1rem;flex-shrink:0;text-align:center;line-height:1.35}.run-progress-phase--done .run-progress-phase-icon{color:#4ade80}.run-progress-phase--active .run-progress-phase-icon{color:#38bdf8}.run-progress-phase--warn .run-progress-phase-icon{color:#fbbf24}.run-progress-phase--error .run-progress-phase-icon{color:#f87171}.run-progress-phase--pending .run-progress-phase-icon{color:#6b7280}.run-progress-phase-body{display:flex;flex-direction:column;gap:.1rem}.run-progress-phase-label{font-weight:500}.run-progress-phase-hint{font-size:.75rem;color:#6b7280}.run-progress-phase-detail{font-size:.75rem;color:#94a3b8}.run-progress-issue{margin-top:.75rem;padding:.6rem .75rem;border-radius:8px;background:#450a0a;border:1px solid #991b1b;color:#fecaca;font-size:.85rem}.link-button{background:none;border:none;color:#38bdf8;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.link-button:disabled{opacity:.5;cursor:not-allowed}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1.25rem}.card{background:#111827;border:1px solid #1f2937;border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.25rem}.card .label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.card strong{font-size:1.1rem}.card .sub{font-size:.75rem;color:#9ca3af}.badge{display:inline-block;font-size:.8rem;font-weight:500;padding:.15rem .5rem;border-radius:6px;width:fit-content}.badge.ok{background:#052e16;color:#86efac}.badge.warn{background:#422006;color:#fcd34d}.badge.danger{background:#450a0a;color:#fca5a5}.badge.muted{background:#1f2937;color:#9ca3af}.grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:800px){.header{flex-direction:column}.header-actions{align-items:stretch;width:100%}.header-actions button,.refresh-select,.refresh-select select{width:100%}.grid{grid-template-columns:1fr}}.panel{background:#111827;border:1px solid #1f2937;border-radius:12px;padding:1rem 1.15rem}.panel h2{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:#d1d5db}.panel h3{margin:1rem 0 .5rem;font-size:.85rem;color:#9ca3af}.tldr{font-size:.95rem;color:#bae6fd;margin:0 0 .75rem;padding:.65rem .75rem;background:#0c4a6e33;border-radius:8px;border-left:3px solid #38bdf8}.markdown{font-size:.875rem;color:#d1d5db}.markdown h1{font-size:1.1rem;margin-top:0}.markdown h2{font-size:.95rem;color:#9ca3af}.markdown ul{padding-left:1.25rem}table{width:100%;border-collapse:collapse;font-size:.8rem}th{text-align:left;color:#6b7280;font-weight:500;padding:.35rem .5rem;border-bottom:1px solid #1f2937}td{padding:.4rem .5rem;border-bottom:1px solid #1f293711}.up{color:#4ade80}.down{color:#f87171}.muted{color:#6b7280}.plan{margin:0;padding-left:1.1rem;font-size:.8rem;color:#d1d5db}.plan li{margin-bottom:.35rem}.chart-panel{min-height:280px}.placeholder{color:#6b7280;font-size:.85rem;margin:2rem 0}.log-scroll{max-height:240px;overflow:auto}footer{margin-top:2rem;text-align:center;font-size:.75rem;color:#6b7280}footer a{color:#38bdf8}.metrics-panel{margin-bottom:1rem}.metrics-grid{display:flex;flex-direction:column;gap:1rem}.metric-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem}.mini-card{background:#0f172a;border:1px solid #1e293b;border-radius:8px;padding:.5rem .65rem}.mini-card .label{font-size:.65rem;text-transform:uppercase;color:#6b7280;display:block}.mini-card strong{font-size:.95rem}.outlier-banner{background:#422006;border:1px solid #92400e;color:#fcd34d;padding:.5rem .75rem;border-radius:8px;font-size:.8rem;display:flex;flex-direction:column;gap:.25rem}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.chart-box{background:#0f172a;border:1px solid #1e293b;border-radius:8px;padding:.5rem}.chart-box h3{margin:0 0 .5rem;font-size:.75rem;color:#9ca3af}.metrics-oneline{font-size:.8rem;color:#9ca3af;margin:0}.product-grid,.run-health{margin-bottom:1rem}.run-health-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.75rem}.run-health-header h2{margin:0}.run-health-jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}.run-health-job{background:#0f172a;border:1px solid #1e293b;border-radius:8px;padding:.5rem .65rem;display:flex;flex-direction:column;gap:.2rem}.run-health-job.health-current{border-color:#166534;background:#0a1f14}.run-health-job.health-log_gap,.run-health-job.health-due{border-color:#854d0e;background:#1a1508}.run-health-job.health-missed,.run-health-job.health-failed,.run-health-job.health-broken{border-color:#991b1b;background:#1a0a0a}.run-health-job-top{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.run-health-legend{margin:0 0 .75rem;display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center}.run-health-output{font-size:.72rem;line-height:1.3}.run-health-summary{margin:.15rem 0 0;font-size:.82rem;line-height:1.35;color:#e5e7eb}.run-health-action{margin:.1rem 0}.run-health-details,.block-details,.setup-details{margin-top:.25rem;font-size:.75rem}.run-health-details summary,.block-details summary,.setup-details summary{cursor:pointer;color:#9ca3af}.discovery-scoreboard{margin-bottom:1rem}.scoreboard-global{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem}.scoreboard-rankings{margin:0 0 1rem;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem}.scoreboard-tracks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.65rem;margin-bottom:.75rem}.scoreboard-track{background:#0f172a;border:1px solid #1e293b;border-radius:8px;padding:.6rem .75rem}.scoreboard-track-header{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center;margin-bottom:.35rem}.scoreboard-measured h4,.scoreboard-assumptions h4{margin:.5rem 0 .25rem;font-size:.78rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.03em}.scoreboard-stats{margin:0;padding-left:1rem;font-size:.8rem}.scoreboard-assumptions ul{margin:0;padding-left:1rem;font-size:.78rem;color:#9ca3af}.scoreboard-bottlenecks ul{margin:0;padding-left:1rem;font-size:.82rem}.scoreboard-details{margin-top:.5rem;font-size:.78rem}.detail-pre{margin:.35rem 0 0;padding:.4rem;background:#0b1220;border-radius:4px;font-size:.7rem;line-height:1.35;white-space:pre-wrap;word-break:break-word;max-height:8rem;overflow:auto}.setup-note{margin:0 0 .5rem}.run-health-weekly{margin-top:.75rem}.run-health-weekly h3{margin:0 0 .5rem;font-size:.85rem;color:#9ca3af}.muted-text{color:#6b7280}.run-health-meta{margin:.75rem 0 0}.trust-panel .decision-headline{font-size:1.05rem;font-weight:600;color:#e5e7eb;margin:0 0 .65rem;line-height:1.4}.decision-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.promotion-checks{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.promotion-check{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.exception-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.exception-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.85rem;padding:.45rem 0;border-bottom:1px solid #1f293711}.exception-list li:last-child{border-bottom:none}.source-meta{margin:.65rem 0 0;font-size:.7rem;color:#6b7280}.source-meta code{font-size:.68rem;color:#9ca3af}.source-inline{font-size:.7rem;margin-left:.25rem}.can-trade-panel{margin-bottom:1rem;border-width:2px}.can-trade-panel.verdict-ok_to_shadow{border-color:#166534}.can-trade-panel.verdict-needs_setup,.can-trade-panel.verdict-ready_for_go_live_review{border-color:#92400e}.can-trade-panel.verdict-blocked,.can-trade-panel.verdict-live_ready{border-color:#991b1b}.can-trade-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.65rem}.can-trade-header h2{margin:0}.can-trade-summary{font-size:.9rem;color:#d1d5db;margin:0 0 .75rem}.can-trade-signals{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-bottom:.75rem}.signal-chip{background:#0f172a;border:1px solid #1e293b;border-radius:8px;padding:.45rem .6rem;display:flex;flex-direction:column;gap:.15rem}.signal-chip .label{font-size:.65rem;text-transform:uppercase;color:#6b7280}.signal-chip strong{font-size:.85rem}.can-trade-headline{margin-top:0}.block-list{margin:.75rem 0;font-size:.8rem}.block-list h3{margin:0 0 .35rem;font-size:.8rem;color:#9ca3af}.block-list ul{margin:0;padding-left:1.1rem}.block-list.critical{color:#fca5a5}.block-list.setup{color:#fcd34d}.promotion-hint{margin-top:.5rem}.daily-decision-panel{margin-bottom:1rem;border-width:2px}.daily-decision-panel.posture-shadow_scouts_only,.daily-decision-panel.posture-observe_only{border-color:#166534}.daily-decision-panel.posture-ready_for_review{border-color:#92400e}.daily-decision-panel.posture-blocked,.daily-decision-panel.posture-live_allowed{border-color:#991b1b}.daily-decision-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.daily-decision-header h2{margin:0}.next-action-box{background:#0c4a6e33;border-left:3px solid #38bdf8;padding:.6rem .75rem;border-radius:6px;font-size:.85rem;margin:.65rem 0;color:#e5e7eb}.next-action-box.compact{margin-top:0}.evidence-section{margin-top:.75rem}.evidence-section h3{margin:0 0 .35rem;font-size:.8rem;color:#9ca3af}.evidence-list{margin:0;padding-left:1.1rem;font-size:.8rem}.evidence-section.risks{color:#fca5a5}.evidence-section.stale{color:#fcd34d}.block-detail-list{margin:0;padding-left:0;list-style:none}.block-detail-list li{margin-bottom:.65rem;padding-bottom:.5rem;border-bottom:1px solid #1f293711}.block-detail-list p{margin:.15rem 0}.remediation{color:#bae6fd;font-size:.8rem}.setup-group{margin-top:.75rem}.setup-group h3{margin:0 0 .4rem;font-size:.8rem;color:#9ca3af}.setup-list{list-style:none;margin:0;padding:0}.setup-list li{padding:.5rem 0;border-bottom:1px solid #1f293711;font-size:.8rem}.setup-why{margin:.2rem 0;color:#9ca3af}.setup-action{margin:.2rem 0;color:#d1d5db}.blocks-tag{display:block;font-size:.7rem}.deployment-card{margin-bottom:1rem}.deployment-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.deployment-header h2{margin:0}.deployment-warning{font-size:.75rem;color:#fcd34d;margin:0 0 .5rem}.secret-diag-list,.deployment-checks{list-style:none;margin:.5rem 0;padding:0;font-size:.8rem}.secret-diag-list li,.deployment-checks li{padding:.5rem 0;border-bottom:1px solid #1f293711}.gates-panel{margin-bottom:1rem}.gates-list{list-style:none;margin:.5rem 0;padding:0}.gates-list li{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #374151}.gates-list .sub{margin-left:.5rem;color:#9ca3af;font-size:.85rem}.strategy-quality-panel{margin-bottom:1rem}.quality-block{margin:.75rem 0;padding:.5rem 0;border-bottom:1px solid #1f2937}.quality-block h3{margin:0 0 .35rem;font-size:.95rem}.warn-text{color:#fcd34d}.evidence-panel{margin-bottom:1rem}.evidence-table{width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.85rem}.evidence-table th,.evidence-table td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid #1f2937}.evidence-table th{color:#9ca3af;font-weight:500}.tab-nav{display:flex;gap:.35rem;margin-bottom:1.25rem;overflow-x:auto;padding-bottom:.15rem}.tab-nav-link{flex-shrink:0;padding:.45rem .9rem;border-radius:8px;border:1px solid #334155;background:#111827;color:#9ca3af;font-size:.875rem;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.tab-nav-link:hover{color:#e5e7eb;border-color:#475569}.tab-nav-link--active{background:#1e3a5f;border-color:#38bdf8;color:#f0f9ff;font-weight:600}.view-page{display:flex;flex-direction:column;gap:1rem}.view-today .daily-decision-panel{margin-top:0}.safety-strip{padding:.85rem 1rem}.safety-strip-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.safety-strip-posture{font-size:.9rem;font-weight:600}.safety-strip-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem}.safety-strip-chip .label{color:#9ca3af;text-transform:uppercase;font-size:.65rem;letter-spacing:.05em}.safety-strip-link{margin-left:auto;font-size:.8rem;color:#38bdf8;text-decoration:none}.safety-strip-link:hover{text-decoration:underline}.safety-strip-action,.safety-strip-block{margin:.5rem 0 0}.research-disclaimer{padding:.75rem 1rem;border-radius:8px;border:1px solid #854d0e;background:#422006;color:#fde68a;font-size:.875rem}@media(max-width:640px){.safety-strip-link{margin-left:0;width:100%}}.lab-panel-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.5rem}.lab-disclaimer{font-size:.8rem;color:#9ca3af;margin:0 0 .5rem}.lab-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.65rem;margin:.75rem 0}.lab-issues{margin-top:.75rem}.lab-candidates-panel .lab-candidate-detail{margin-top:.5rem;border:1px solid var(--border-subtle, #333);border-radius:6px;padding:.5rem .75rem}.lab-candidates-panel .lab-candidate-detail summary{cursor:pointer;font-weight:500}.lab-candidates-panel .lab-candidate-body{margin-top:.5rem}.lab-candidates-panel .small{font-size:.85em}.near-miss-panel .near-miss-closest{margin-top:.75rem;padding:.75rem;border-radius:6px;background:var(--panel-inset, rgba(255, 255, 255, .03))}.today-hero-summary{border-left:3px solid #3b82f6;margin-bottom:1rem}.today-hero-top{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.today-hero-title{margin:0;font-size:1.1rem}.today-hero-context{margin:.5rem 0 0;font-size:.95rem}.today-hero-action{margin:.65rem 0 0;padding:.65rem .75rem;border-radius:8px;background:#3b82f61f;font-size:.9rem}.today-hero-lab{margin:.5rem 0 0;font-size:.85rem}.today-hero-link{color:#93c5fd}.lab-tone-ok{color:#86efac}.lab-tone-warn{color:#fde68a}.lab-tone-muted{color:#9ca3af}.lab-tone-risk{color:#fca5a5}.lab-composite-status{margin:0 0 .5rem;padding:.65rem .75rem;border-radius:8px;background:#ffffff0a;font-size:.9rem}.muted-box{opacity:.85;font-size:.875rem}.discovery-context-banner{margin-bottom:1rem;padding:.75rem 1rem;border-radius:8px;background:#fbbf241a;border:1px solid rgba(251,191,36,.25);font-size:.875rem;color:#fde68a}.discovery-context-ok{background:#22c55e1a;border-color:#22c55e40;color:#86efac}.evidence-empty-note{padding:.5rem .65rem;border-radius:6px;background:#94a3b814;border-left:2px solid #64748b}.data-source-indicator{display:inline-flex;align-items:center;padding:.35rem .6rem;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.data-source-live{background:#22c55e26;color:#86efac;border:1px solid rgba(34,197,94,.35)}.data-source-bundled{background:#fbbf241f;color:#fde68a;border:1px solid rgba(251,191,36,.3)}.lab-near-miss-actionable-note{padding:.5rem .65rem;border-radius:6px;background:#22c55e14}.setup-reconcile-note{padding:.5rem .65rem;border-radius:6px;background:#3b82f61a;border-left:2px solid #3b82f6;color:#93c5fd}.setup-list-verified li{opacity:.9}.setup-verified-live summary{cursor:pointer;font-weight:500;color:#86efac}.research-status-banner{margin-bottom:1rem;padding:.65rem .85rem;border-radius:8px;font-size:.875rem}.research-status-warn{background:#fbbf241a;border:1px solid rgba(251,191,36,.25);color:#fde68a}.route-error-panel{margin:1rem 0;border-color:#f8717159;background:#f8717114}.route-error-detail{font-family:ui-monospace,monospace;font-size:.8rem;word-break:break-word}.panel-error-fallback{border-color:#f8717140;background:#f871710d}:root{color-scheme:dark;font-family:IBM Plex Sans,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#e5e7eb;background:#030712}*{box-sizing:border-box}body{margin:0;min-height:100vh}code{font-family:IBM Plex Mono,monospace;font-size:.85em}
