.historical-replay-lab{display:grid;gap:22px;color:#10221b}
.historical-replay-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px;padding:32px 34px;border:1px solid #d7ddd8;border-radius:28px;background:linear-gradient(145deg,#fdfdf9,#eef5ef);box-shadow:0 20px 55px rgba(12,42,31,.08)}
.historical-replay-hero h3{margin:10px 0 10px;font:800 clamp(28px,3vw,40px)/1.08 Manrope,sans-serif;letter-spacing:-.04em}.historical-replay-hero p{max-width:760px;margin:0;color:#62716a;line-height:1.65}
.historical-replay-hero aside{align-self:start;padding:20px;border-radius:18px;background:#0a3324;color:white}.historical-replay-hero aside span,.historical-replay-hero aside small{display:block;color:#b9cfc5;font-size:11px}.historical-replay-hero aside strong{display:block;margin:7px 0;font:800 18px/1.25 Manrope,sans-serif}
.replay-import-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;padding:24px;border:1px solid #d8dfda;border-radius:26px;background:#fff}
.replay-import-copy h4,.replay-run-card h4,.replay-results h4{margin:8px 0 8px;font:800 24px/1.2 Manrope,sans-serif}.replay-import-copy p,.replay-run-card p{margin:0;color:#67766f;line-height:1.55}.replay-required{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.replay-required span{padding:7px 9px;border-radius:9px;background:#f0f4f1;color:#526159;font:700 10px/1 DM Sans,sans-serif}
.replay-import-actions{display:grid;gap:10px;align-content:start;padding:18px;border-radius:18px;background:#f3f6f3}.replay-file-label{display:flex;align-items:center;justify-content:center;min-height:47px;padding:12px;border-radius:13px;background:#0a3324;color:#fff;font-weight:800;cursor:pointer}.replay-file-label input{position:absolute;opacity:0;pointer-events:none}.replay-import-actions .btn{justify-content:center}.replay-import-actions small{color:#718078;line-height:1.45}
.replay-dataset{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid #d8dfda;border-radius:22px;background:#d8dfda}.replay-dataset>div,.replay-dataset>article{padding:20px;background:#fff}.replay-dataset>div{background:#0c2e22;color:#fff}.replay-dataset span,.replay-dataset small{display:block;color:#6d7b74;font-size:11px}.replay-dataset>div span,.replay-dataset>div small{color:#b7cbc1}.replay-dataset strong{display:block;margin:7px 0;font:800 19px/1.2 Manrope,sans-serif}.replay-dataset em{display:inline-flex;margin-top:7px;padding:6px 9px;border-radius:999px;background:#dff4bc;color:#234516;font:800 10px/1 DM Sans,sans-serif;font-style:normal}.replay-dataset em.practice{background:#fff0c9;color:#71510b}
.replay-quality-note{padding:14px 18px;border:1px solid #e7c97c;border-radius:14px;background:#fff8e8;color:#6e5414;font-size:12px}.replay-quality-note.ready{border-color:#bfdfaf;background:#eff9e9;color:#315b23}
.replay-run-card{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding:24px;border:1px solid #d8dfda;border-radius:24px;background:#fff}.replay-run-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.replay-run-controls label{display:grid;gap:7px;color:#64736c;font-size:11px}.replay-run-card>div:first-child>small{display:block;margin-top:9px;color:#7a8781}.replay-run-card .btn{min-height:47px}
.replay-loading,.replay-empty,.replay-error{padding:32px;border:1px dashed #cbd5ce;border-radius:22px;background:#f8faf8;text-align:center}.replay-loading strong,.replay-empty strong,.replay-error strong{display:block;margin-bottom:7px;font:800 18px/1.2 Manrope,sans-serif}.replay-loading span,.replay-empty span,.replay-error span{color:#6c7a73}.replay-error{border-color:#edb8b1;background:#fff3f1;color:#8b3129}
.replay-results{display:grid;gap:18px}.replay-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.replay-result-head p{margin:5px 0 0;color:#68766f}.replay-result-head>span{padding:8px 11px;border-radius:999px;background:#eaf0eb;color:#536159;font:800 10px/1 DM Sans,sans-serif}
.replay-strategy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.replay-strategy-card{overflow:hidden;border:1px solid #d7ded9;border-radius:24px;background:#fff}.replay-strategy-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 23px;background:#f3f7f3}.replay-strategy-card>header strong{display:block;font:800 21px/1.2 Manrope,sans-serif}.replay-strategy-card>header span{display:block;margin-top:5px;color:#6d7a74;font-size:11px}.replay-strategy-card>header em{padding:7px 9px;border-radius:999px;background:#edf2ee;color:#54615b;font:800 10px/1 DM Sans,sans-serif;font-style:normal}.replay-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dde3de}.replay-metrics div{padding:17px;background:#fff}.replay-metrics span,.replay-metrics small{display:block;color:#718078;font-size:10px}.replay-metrics strong{display:block;margin:6px 0;font:800 19px/1 Manrope,sans-serif}.replay-splits{padding:18px 22px}.replay-split-row{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0ed;font-size:12px}.replay-split-row.header{color:#7b8781;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.replay-split-row:last-child{border:0}.replay-stress{display:flex;gap:8px;padding:0 22px 20px}.replay-stress span{flex:1;padding:10px;border-radius:11px;background:#f3f6f3;color:#647169;font-size:10px}.replay-stress b{display:block;margin-top:4px;color:#18372b}
.replay-trades{overflow:hidden;border:1px solid #d8dfda;border-radius:22px;background:#fff}.replay-trades-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e5e9e6}.replay-trades-head strong{font:800 18px/1.2 Manrope,sans-serif}.replay-trades-head span{color:#76827c;font-size:11px}.replay-trade-table{overflow-x:auto}.replay-trade-row{display:grid;grid-template-columns:1.2fr 1.7fr .8fr .8fr .8fr 1fr;gap:12px;min-width:850px;padding:12px 20px;border-bottom:1px solid #eef1ef;font-size:11px}.replay-trade-row.header{background:#f6f8f6;color:#74817a;font-size:10px;text-transform:uppercase}.replay-trade-row strong small{display:block;margin-top:3px;color:#74817a;font-weight:500}.replay-trade-row:last-child{border:0}
.replay-boundary{padding:17px 20px;border-radius:16px;background:#0c2e22;color:#c5d6ce;font-size:12px;line-height:1.55}.replay-boundary strong{color:#b8ff3d}.replay-positive{color:#087e53}.replay-negative{color:#b33e35}
@media(max-width:980px){.historical-replay-hero,.replay-import-card{grid-template-columns:1fr}.replay-dataset{grid-template-columns:repeat(2,1fr)}.replay-dataset>div{grid-column:1/-1}.replay-strategy-grid{grid-template-columns:1fr}}
@media(max-width:680px){.historical-replay-hero{grid-template-columns:1fr;padding:24px 20px;border-radius:22px}.historical-replay-hero aside{display:none}.replay-import-card,.replay-run-card{grid-template-columns:1fr;padding:18px}.replay-run-controls{grid-template-columns:1fr}.replay-dataset{grid-template-columns:1fr}.replay-dataset>div{grid-column:auto}.replay-metrics{grid-template-columns:repeat(2,1fr)}.replay-split-row{grid-template-columns:1fr repeat(2,1fr)}.replay-split-row>*:nth-child(4),.replay-split-row>*:nth-child(5){display:none}.replay-result-head{display:grid}.replay-stress{display:grid}}
.historical-pilot-card{margin:0;padding:24px;border:1px solid #cfd7ca;border-radius:26px;background:linear-gradient(135deg,#f7fbf2 0%,#eef5e8 58%,#f7f4e8 100%);box-shadow:0 18px 42px rgba(17,44,32,.08)}
.historical-pilot-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.historical-pilot-head h4{margin:7px 0 6px;font-size:25px;letter-spacing:-.035em;color:#09261d}.historical-pilot-head p{max-width:720px;margin:0;color:#586b62;line-height:1.55}.historical-pilot-head em{flex:0 0 auto;padding:9px 12px;border-radius:999px;background:#f4e9d2;color:#8b5e18;font-style:normal;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.historical-pilot-head em.ready{background:#dff2df;color:#156c43}
.historical-pilot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.historical-pilot-grid article{padding:16px 17px;border:1px solid rgba(9,38,29,.1);border-radius:18px;background:rgba(255,255,255,.72)}.historical-pilot-grid span,.historical-pilot-grid small{display:block;color:#66776f;font-size:11px}.historical-pilot-grid strong{display:block;margin:5px 0;color:#0b2a20;font-size:16px}
.historical-pilot-error,.historical-pilot-success{margin:14px 0;padding:13px 15px;border-radius:15px;font-size:13px;line-height:1.5}.historical-pilot-error{background:#fff0ed;color:#9f3f35;border:1px solid #f0c8c1}.historical-pilot-success{background:#e4f3df;color:#195e3d;border:1px solid #bdd9b6}.historical-pilot-success strong,.historical-pilot-success span{display:block}.historical-pilot-success span{margin-top:3px;font-size:11px;color:#4a6c5b}
.historical-pilot-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.historical-pilot-actions small{margin-left:auto;max-width:390px;color:#66776f;line-height:1.45}
@media(max-width:760px){.historical-pilot-card{padding:19px;border-radius:21px}.historical-pilot-head{display:block}.historical-pilot-head em{display:inline-block;margin-top:12px}.historical-pilot-grid{grid-template-columns:1fr}.historical-pilot-actions .btn{width:100%}.historical-pilot-actions small{margin-left:0}}
