.backtest-panel{margin-top:22px;background:var(--panel);border:1px solid var(--line)}
.shot-review-card{margin:24px 29px;border:1px solid var(--line);padding:20px;background:var(--surface-subtle,#f8f6ef);min-width:0}
.shot-review-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}
.shot-review-heading h2{font-size:19px;margin:7px 0 0}
.shot-review-heading .refresh-button{flex-shrink:0}
.shot-review-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0;color:var(--muted,#7d8775);font:10px var(--mono);line-height:1.7}
.shot-review-badge{padding:4px 8px;background:var(--surface-subtle,#e9eddf);color:var(--ink,#52633f);font:500 10px var(--sans)}
.shot-observer-state{margin-top:15px;padding:12px 14px;border:1px solid var(--line);background:var(--surface-subtle,#f2f3e9);color:var(--muted,#6e7b60);font-size:10px;line-height:1.8;overflow-wrap:anywhere}
.shot-observer-state.has-error{background:var(--warning-surface,#f9eee5);border-color:#e3c9b8}
.shot-observer-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:7px 15px}
.shot-observer-heading strong{font-size:11px;font-weight:500;color:var(--muted,#596a48)}
.shot-observer-heading span{font:9px var(--mono);line-height:1.7}
.shot-observer-state p{margin:7px 0 0}
.shot-observer-state .shot-observer-error{color:var(--warning-ink,#a45e40)}
.shot-observer-state .inline-retry{margin-top:10px}
.shot-review-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.shot-review-section{min-width:0}
.shot-review-section h3{margin:0 0 10px;font-size:13px}
.shot-review-note,.shot-review-empty{font-size:10px;color:var(--muted,#7d8775);line-height:1.8;margin:10px 0 0;overflow-wrap:anywhere}
.shot-review-note strong{color:var(--warning-ink,#8a6549);font-weight:500}
.shot-review-table-wrap{width:100%;overflow:auto;margin-top:13px;border:1px solid var(--line);background:var(--panel)}
.shot-review-table{width:100%;min-width:470px;border-collapse:collapse;text-align:left;font:10px var(--mono)}
.shot-review-table caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.shot-review-table th,.shot-review-table td{padding:10px 9px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}
.shot-review-table thead th{background:var(--surface-subtle,#f0eee5);color:var(--muted,#7d8775);font:400 10px var(--sans);white-space:nowrap}
.shot-review-table tbody th{font:500 10px var(--sans);min-width:90px}
.shot-review-table tr:last-child td,.shot-review-table tr:last-child th{border-bottom:0}
.shot-review-table small{display:block;color:var(--muted,#92988f);font:9px var(--mono);margin-top:3px;white-space:nowrap}
.shot-review-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.shot-review-metric{border:1px solid var(--line);background:var(--panel);padding:11px;display:flex;flex-direction:column;gap:7px;min-width:0}
.shot-review-metric>span,.shot-review-metric small{font-size:9px;color:var(--muted,#7d8775);line-height:1.7}
.shot-review-metric strong{font:500 21px var(--mono);overflow-wrap:anywhere}
.shot-review-status{margin-top:18px;padding:12px 14px;border-left:3px solid #9bbd70;background:var(--surface-subtle,#edf2e6);color:var(--muted,#5b6754);font-size:11px;line-height:1.7}
.shot-review-status small{display:block;margin-top:5px;color:var(--muted,#758366);font-size:10px}
.shot-review-details{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;font-size:10px;color:var(--muted,#687660)}
.shot-review-details summary{cursor:pointer;line-height:1.7}
.shot-review-group{border:1px solid var(--line);margin-top:12px;padding:13px;background:var(--panel)}
.shot-review-group>strong{font-size:11px;color:var(--ink)}
.shot-review-versions{display:grid;gap:7px;margin-top:12px;line-height:1.7;color:var(--muted,#7d8775)}
.shot-review-versions code{color:var(--muted,#5a6753);font:10px var(--mono);overflow-wrap:anywhere;word-break:break-word}
.shot-review-card button:focus-visible,.shot-review-details summary:focus-visible,.shot-review-table-wrap:focus-visible{outline:2px solid #72a633;outline-offset:2px}
@media(max-width:1100px){.shot-review-columns{grid-template-columns:1fr;gap:22px}}
@media(max-width:700px){.shot-review-card{margin:18px 15px;padding:15px}.shot-review-heading{align-items:flex-start;flex-wrap:wrap}.shot-review-heading h2{font-size:17px}.shot-review-heading .refresh-button{font-size:10px;padding:9px 11px}.shot-review-meta{gap:7px}.shot-review-metrics{gap:5px}.shot-review-metric{padding:9px 7px}.shot-review-metric strong{font-size:18px}.shot-review-group{padding:10px}.shot-review-status{padding:11px}}
.daily-review-card{margin:24px 29px;border:1px solid var(--line);padding:20px;background:var(--surface-subtle,#f8f6ef)}
.daily-review-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}
.daily-review-heading h2{font-size:19px;margin:7px 0 0}
.daily-review-meta{font:10px var(--mono);color:var(--muted,#818a79);margin:16px 0 12px}
.daily-review-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.daily-review-metric{border:1px solid var(--line);padding:15px;display:flex;flex-direction:column;gap:8px;background:var(--panel)}
.daily-review-metric>span,.daily-review-metric small{font-size:10px;color:var(--muted,#7d8775);line-height:1.6}
.daily-review-metric strong{font:500 25px var(--mono)}
.daily-review-health{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;color:var(--muted,#758366);font-size:10px}
.daily-review-issues{margin-top:12px;color:var(--warning-ink,#8a705a);font-size:10px;line-height:1.8}
.daily-review-issues summary{cursor:pointer}
.daily-review-note,.daily-review-empty{font-size:10px;color:var(--muted,#808a77);line-height:1.8;margin:14px 0 0}
.active-calibration-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.active-calibration-entry{display:grid;gap:6px;font-size:10px;min-width:0}
.active-calibration-entry strong{font-size:11px}
.active-calibration-entry span,.active-calibration-entry small{color:var(--muted,#848d7b);font-size:10px;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:700px){.daily-review-card{margin:18px 15px;padding:15px}.daily-review-heading{align-items:flex-start}.daily-review-heading h2{font-size:17px}.daily-review-metrics{grid-template-columns:1fr;gap:7px}.daily-review-metric{padding:12px}.daily-review-health{gap:8px 16px}.active-calibration-list{grid-template-columns:1fr;gap:15px}}
.model-audit-card{margin:0 29px 26px;padding:18px 19px;border:1px solid var(--line);background:var(--surface-subtle,#faf8f1)}
.model-audit-card>strong{font-size:13px}
.model-audit-card p{color:var(--muted,#7a8374);font-size:10px;line-height:1.8;margin:10px 0}
.model-audit-row{display:grid;grid-template-columns:1fr 1.6fr auto;align-items:center;gap:15px;padding:13px 0;border-top:1px solid var(--line);font-size:11px}
.model-audit-row small{display:block;color:var(--muted,#88907f);font-size:10px;margin-top:5px;line-height:1.6}
.model-audit-decision{font-size:10px;color:var(--muted,#657a51)}
@media(max-width:700px){.model-audit-card{margin:0 15px 20px;padding:15px}.model-audit-row{grid-template-columns:1fr;gap:7px}}
.backtest-heading{padding:27px 29px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}
.backtest-heading h2{font-size:27px;letter-spacing:-.035em;margin:7px 0 6px}
.backtest-heading p{color:var(--muted,#70766e);font-size:12px;margin:0;line-height:1.6}
.backtest-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:17px 29px;border-bottom:1px solid var(--line)}
.backtest-tabs button{background:transparent;border:1px solid var(--line);padding:8px 15px;color:var(--muted,#6e766d);font-size:11px}
.backtest-tabs button.active,.backtest-tabs button:hover{background:var(--ink);border-color:var(--ink);color:var(--lime)}
.backtest-meta{padding:20px 29px 0;color:var(--muted,#767d74);font:11px var(--mono)}
.backtest-metrics{padding:17px 29px 27px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.backtest-metric{min-height:122px;padding:18px 18px 15px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.backtest-metric.lead{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.backtest-metric>span{font-size:11px;color:var(--muted,#747b72)}
.backtest-metric.lead>span{color:#bbc2b4}
.backtest-metric strong{font:500 29px var(--mono);letter-spacing:-.04em;margin:10px 0 6px}
.backtest-metric.lead strong{color:var(--lime)}
.backtest-metric small{font-size:10px;color:var(--muted,#8b9188);line-height:1.45}
.backtest-metric.lead small{color:#bbc2b4}
.backtest-insight{margin:0 29px 26px;padding:13px 16px;background:var(--surface-subtle,#edf2e6);border-left:3px solid #8fba55;display:flex;gap:14px;align-items:baseline;color:var(--muted,#5b6754);font-size:11px;line-height:1.6}
.backtest-insight strong{color:var(--ink,#314229);white-space:nowrap}
.calibration-audit{margin:0 29px 26px;padding:18px 19px;background:var(--surface-subtle,#f5f2e9);border:1px solid var(--line)}
.calibration-audit>div:first-child{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.calibration-audit strong{font-size:12px}
.calibration-audit>div:first-child>span{color:var(--muted,#7c8479);font:10px var(--mono);text-align:right;line-height:1.5}
.calibration-audit-scores{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;color:var(--muted,#7d8579);font:10px var(--mono)}
.calibration-audit-scores b{color:var(--ink);font-weight:500}
.calibration-audit p{margin:13px 0 0;color:var(--muted,#687365);font-size:10px;line-height:1.65}
.backtest-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.backtest-block{padding:26px 29px 28px;min-width:0;border-bottom:1px solid var(--line)}
.backtest-block:nth-child(odd){border-right:1px solid var(--line)}
.backtest-block-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:17px}
.backtest-block-title h3{font-size:14px;margin:0}
.backtest-block-title>span{font:10px var(--mono);color:var(--muted,#8d948a);text-align:right}
.league-results{display:grid;gap:2px}
.league-result{display:grid;grid-template-columns:1fr 75px 65px 88px;gap:8px;align-items:center;text-align:left;width:100%;background:var(--surface-subtle,#f7f5ee);border:1px solid transparent;padding:12px;color:var(--muted,#5c655b);font-size:11px}
.league-result:hover,.league-result.active{background:var(--green-soft,#eef2e6);border-color:#d7e4c4}
.league-result>span:first-child{color:var(--ink);font-weight:700}
.league-result b{font:10px var(--mono);color:var(--muted,#899087)}
.league-result strong{font:500 14px var(--mono);color:var(--ink)}
.league-result>span:last-child{font:10px var(--mono);text-align:right}
.backtest-explain{font-size:10px;color:var(--muted,#899087);line-height:1.7;margin:15px 0 0}
.calibration-legend{display:flex;gap:18px;margin-bottom:15px;flex-wrap:wrap;color:var(--muted,#737a70);font-size:10px}
.calibration-legend span{display:flex;align-items:center;gap:6px}
.calibration-legend i{display:block;width:12px;height:5px}
.calibration-legend i.expected,.calibration-bars i.expected{background:#98c568}
.calibration-legend i.observed,.calibration-bars i.observed{background:var(--red)}
.calibration-list{display:grid;gap:10px}
.calibration-row{display:grid;grid-template-columns:68px 1fr 66px;gap:12px;align-items:center}
.calibration-label{display:flex;flex-direction:column;gap:3px}
.calibration-label strong{font:11px var(--mono)}
.calibration-label small{font:10px var(--mono);color:var(--muted,#92998f)}
.calibration-bars{display:grid;gap:3px;min-width:0}
.calibration-bars>div{background:#ece9e0;height:6px}
.calibration-bars i{display:block;height:100%}
.calibration-empty{font-size:10px;color:var(--muted,#a2a79f)}
.calibration-values{display:grid;gap:2px;text-align:right;font:10px var(--mono);color:var(--muted,#818980)}
.calibration-values b{color:var(--warning-ink,#b55e43);font-weight:500}
.sample-results{display:grid;gap:8px}
.sample-result{display:grid;grid-template-columns:1fr 70px 90px;gap:8px;align-items:center;background:var(--surface-subtle,#f7f5ee);padding:13px 14px;font-size:11px}
.sample-result strong{font:11px var(--mono);text-align:right}
.sample-result small{color:var(--muted,#818980);font:10px var(--mono);text-align:right}
.backtest-matches{max-height:285px;overflow:auto}
.backtest-match{display:grid;grid-template-columns:116px 1fr 195px;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #eae7de;font-size:10px}
.backtest-match:first-child{padding-top:0}
.backtest-match-date{color:var(--muted,#879087);font:10px var(--mono)}
.backtest-match strong{font-size:10px;font-weight:600;overflow-wrap:anywhere}
.backtest-match-result{text-align:right;font:10px var(--mono)}
.backtest-match-result.correct{color:var(--muted,#538347)}
.backtest-match-result.incorrect{color:var(--warning-ink,#b36549)}
.backtest-footnote{padding:20px 29px 25px;background:var(--surface-subtle,#f6f3eb);color:var(--muted,#777f74)}
.backtest-footnote strong{display:block;color:var(--ink,#555d52);font-size:11px;margin-bottom:6px}
.backtest-footnote p{margin:5px 0;font-size:10px;line-height:1.75}
.backtest-footnote .backtest-warning{color:var(--warning-ink,#a45e40)}
.backtest-empty{padding:60px 24px;color:var(--muted,#858d83);text-align:center;font-size:12px}
.backtest-empty strong{display:block;color:var(--ink);margin-bottom:8px}
.backtest-empty p{font-size:11px;line-height:1.7}
.backtest-tabs button:focus-visible,.league-result:focus-visible,#backtest-refresh:focus-visible{outline:2px solid #72a633;outline-offset:2px}
@media(max-width:1100px){.backtest-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.backtest-grid{grid-template-columns:1fr}.backtest-block:nth-child(odd){border-right:0}}
.backtest-count-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:15px 0}
.backtest-count-presets{display:flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--surface-subtle,#edf4eb);border:1px solid #d0dfcf;border-radius:9px}
.backtest-count-controls button{font:600 12px var(--sans);min-height:38px;border:1px solid transparent;border-radius:6px;padding:8px 13px;color:var(--ink,#375e42);background:transparent;cursor:pointer;white-space:nowrap}
.backtest-count-presets button[aria-pressed=true]{background:#285d3e;color:#fff}
.backtest-count-controls button:hover{background:var(--green-soft,#dcebdc)}.backtest-count-presets button[aria-pressed=true]:hover{background:#1f5033}
.backtest-count-custom{position:relative}.backtest-count-custom>button{border-color:#b9cdbb;background:var(--panel,#fff)}
.backtest-count-controls button:focus-visible,.backtest-count-popover input:focus-visible{outline:3px solid #8db495;outline-offset:2px}
.backtest-count-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:5;width:280px;max-width:calc(100vw - 70px);padding:18px;background:var(--panel,#fff);border:1px solid #b9cdbb;border-radius:10px;box-shadow:0 6px 24px #173c2d20}
.backtest-count-popover[hidden]{display:none!important}.backtest-count-popover label{display:block;font-size:13px;color:var(--ink,#365e42);margin-bottom:10px}.backtest-count-popover form>div{display:flex;gap:8px}.backtest-count-popover input{width:100%;min-width:0}.backtest-count-popover p{font-size:12px;line-height:1.7;color:var(--muted,#687d6c);margin:10px 0 4px}.backtest-count-popover button[type=submit]{background:#285d3e;color:#fff;padding:8px 18px}.backtest-count-popover button[data-count-cancel]{padding:5px 0;min-height:32px;text-decoration:underline}
@media(max-width:600px){.backtest-count-controls{gap:9px}.backtest-count-controls button{padding:8px 10px}.backtest-count-popover{right:auto;left:0}}
@media(max-width:700px){.backtest-heading{padding:20px 15px;align-items:flex-start}.backtest-heading h2{font-size:23px}.backtest-heading p{font-size:11px}.backtest-heading .refresh-button{white-space:nowrap;margin-top:4px}.backtest-tabs{padding:13px 15px;gap:5px}.backtest-tabs button{padding:8px 10px;font-size:10px}.backtest-meta{padding:17px 15px 0;font-size:10px;line-height:1.6}.backtest-metrics{padding:14px 15px 19px;gap:7px}.backtest-metric{padding:12px;min-height:110px}.backtest-metric strong{font-size:23px}.backtest-insight{margin:0 15px 20px;display:block}.backtest-insight strong{display:block;margin-bottom:3px}.calibration-audit{margin:0 15px 20px;padding:14px}.calibration-audit>div:first-child{display:block}.calibration-audit>div:first-child>span{display:block;text-align:left;margin-top:6px}.calibration-audit-scores{gap:9px 18px}.backtest-block{padding:20px 15px}.league-result{grid-template-columns:1fr 60px 55px 76px;gap:4px;padding:10px 7px;font-size:10px}.league-result strong{font-size:12px}.league-result>span:last-child,.league-result b{font-size:9px}.backtest-match{grid-template-columns:1fr;gap:3px;padding:11px 0}.backtest-match-result{text-align:left}.backtest-footnote{padding:18px 15px}}
