.timeline-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 24px 18px}.timeline-toggle{display:flex;background:var(--surface);padding:5px;border:1px solid var(--line-strong);border-radius:17px;width:min(100%,570px);box-shadow:inset 0 1px 1px #ffffff05}.timeline-toggle button{flex:1;text-align:left;padding:15px 22px;border:1px solid transparent;border-radius:12px;background:none;color:var(--muted);transition:background .2s,border-color .2s,color .2s}.timeline-toggle button span{display:block;font-size:15px;font-weight:750;letter-spacing:1.5px}.timeline-toggle button small{display:block;margin-top:6px;font-size:12px;font-weight:400;letter-spacing:0}.timeline-toggle button.active{background:linear-gradient(110deg,var(--accent-soft),var(--surface2));color:var(--ink);border-color:var(--line-strong);box-shadow:0 5px 18px #0002}.timeline-toggle button.active span{color:var(--accent)}.timeline-toggle i{font-size:11px;letter-spacing:0;font-style:normal;padding:3px 7px;margin-left:5px;background:var(--accent-soft);border-radius:5px}.timeline-sync{font-size:12px;color:var(--muted)}
.app-shell[data-mode=upcoming] .main-nav,.app-shell[data-mode=upcoming] #explorer,.app-shell[data-mode=upcoming] #strategies-view,.app-shell[data-mode=upcoming] #quality-view,.app-shell[data-mode=upcoming] #previous-imports,.app-shell[data-mode=upcoming] #save-filter{display:none!important}.app-shell[data-mode=upcoming] #upcoming-view{display:block!important}.app-shell[data-mode=upcoming] .checklist small{visibility:hidden}.app-shell:not([data-mode=upcoming]):is([data-current-view=strategies],[data-current-view=quality]) #shared-preset-bar{display:none}.app-shell[data-mode=upcoming] #main-content{overflow:auto}.app-shell[data-mode=upcoming] #statusline{display:block!important}
.upcoming-hero{display:flex;gap:24px;justify-content:space-between;align-items:center;padding:22px 0 18px}.upcoming-hero h2{font-size:29px;letter-spacing:-1px;margin:9px 0}.upcoming-hero p{font-size:14px;line-height:1.7;max-width:540px;color:var(--muted);margin:0}.upload-actions{display:grid;gap:9px;min-width:200px}.upload-actions .btn{padding:13px 18px}.upload-drop{display:flex;align-items:center;justify-content:center;gap:15px;padding:21px;background:var(--accent-soft);border:1px dashed var(--line-strong);border-radius:12px;color:var(--ink);font-size:14px;cursor:pointer;margin:2px 0 17px;transition:border-color .2s}.upload-drop:hover,.upload-drop.dragover{border-color:var(--accent)}.upload-drop svg{width:27px;height:27px;color:var(--accent)}.upload-drop small{display:block;color:var(--muted);font-size:12px;margin-top:7px}.upcoming-progress{padding:14px 18px;border-left:3px solid var(--accent);background:var(--accent-soft);font-size:14px;line-height:1.7;white-space:pre-line;border-radius:0 8px 8px 0;margin:12px 0}.upload-library{border:1px solid var(--line-strong);border-radius:12px;overflow:hidden;margin-bottom:27px}.upload-library>summary{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;font-size:14px;font-weight:650;cursor:pointer;background:var(--surface2)}.upload-library>summary b{margin-left:7px;color:var(--muted);font-size:12px}.pdf-card{display:grid;grid-template-columns:38px minmax(130px,1fr) auto;align-items:center;gap:15px;padding:16px 18px;border-top:1px solid var(--line)}.pdf-file-icon{display:grid;place-items:center;width:36px;height:43px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface2);font-size:10px;font-weight:750;color:var(--accent)}.pdf-card strong{font-size:13px;overflow-wrap:anywhere}.pdf-card p{color:var(--muted);font-size:12px;margin:5px 0 0;line-height:1.7}.pdf-card .pdf-error{color:var(--negative)}.pdf-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.pdf-actions .link-btn{font-size:12px}.pdf-state{font-size:11px;font-weight:650;padding:5px 8px;background:var(--surface2);border:1px solid var(--line-strong);border-radius:5px;white-space:nowrap}.pdf-state.ready{color:var(--accent)}.pdf-state.settled{color:var(--positive)}.pdf-state.review,.pdf-state.failed{color:var(--negative)}
.upcoming-selection{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 8px}.upcoming-selection h2{font-size:23px;margin:7px 0;letter-spacing:-.6px}.upcoming-selection-controls{display:flex;gap:9px;align-items:center}.upcoming-selection-controls select{max-width:290px;font-size:13px;min-height:39px;border-radius:7px;border:1px solid var(--line-strong);background:var(--surface2);padding:8px 10px}.upcoming-strategy-note{font-size:13px;color:var(--muted);line-height:1.75;margin:10px 0 20px;max-width:1000px;white-space:pre-line}.upcoming-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:10px 0 22px}.upcoming-kpis>div{padding:17px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface)}.upcoming-kpis small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}.upcoming-kpis strong{display:block;font-size:28px;letter-spacing:-.8px;margin-top:10px;font-variant-numeric:tabular-nums}.upcoming-kpis .matched strong{color:var(--positive)}.upcoming-kpis .pending strong{color:var(--accent)}.upcoming-table-tools{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px;font-size:13px;color:var(--muted)}.upcoming-table-tools label{display:flex;align-items:center;gap:8px}.upcoming-scroll{height:auto;max-height:650px}.upcoming-scroll td{height:auto;min-height:54px;padding:13px 14px;vertical-align:top;font-size:12px}.upcoming-scroll th{padding:14px;font-size:11px}.upcoming-scroll td small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:5px;max-width:260px;white-space:normal}.upcoming-scroll td strong{font-size:13px}.upcoming-scroll tr.rule-fail{opacity:.6}.rule-status{display:inline-block;padding:4px 7px;border-radius:5px;font-size:11px;background:var(--surface2)}.rule-status.pass{background:#72e5ae12;color:var(--positive)}.rule-status.pending{background:var(--accent-soft);color:var(--accent)}.upcoming-footnote{font-size:12px;color:var(--muted);line-height:1.8;margin:17px 0 25px}.upcoming-empty{padding:30px 24px;text-align:center;color:var(--muted);font-size:13px;line-height:1.8}.upcoming-empty strong{display:block;color:var(--ink);font-size:16px;margin-bottom:6px}#previous-imports{border:1px solid var(--line-strong);border-radius:10px;margin:10px 0 18px}#previous-imports summary{padding:13px 17px;font-size:13px;color:var(--muted);cursor:pointer}#previous-imports .import-row{padding:11px 17px;border-top:1px solid var(--line);display:flex;gap:15px;justify-content:space-between;font-size:12px;align-items:center}.receipt-source{border:1px solid var(--line-strong);padding:14px;border-radius:9px;margin:12px 0;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.receipt-source small{display:block;color:var(--muted);font-size:11px}.source-receipt-list{margin-top:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.upcoming-hero{align-items:flex-start}.upcoming-selection{align-items:flex-start;flex-direction:column}.upcoming-selection-controls{width:100%}.upcoming-selection-controls select{max-width:none;flex:1;min-width:0}.timeline-sync{display:none}.pdf-card{grid-template-columns:30px minmax(100px,1fr)}.pdf-actions{grid-column:2;justify-content:flex-start}.upcoming-kpis{gap:8px}.upcoming-kpis>div{padding:13px}.upcoming-kpis small{font-size:10px}.upcoming-table-tools{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.timeline-bar{padding:0 12px 12px}.timeline-toggle{width:100%;border-radius:12px}.timeline-toggle button{padding:13px 12px;border-radius:9px}.timeline-toggle button span{font-size:13px;letter-spacing:1px}.timeline-toggle button small{font-size:10px}.upcoming-hero{flex-direction:column;gap:18px;padding-top:15px}.upcoming-hero h2{font-size:26px}.upload-actions{grid-template-columns:1fr 1fr;width:100%;min-width:0}.upload-actions .btn{font-size:12px;padding:12px 8px}.upload-drop{padding:17px;font-size:12px}.upload-drop small{font-size:11px}.upcoming-kpis{grid-template-columns:1fr 1fr}.upcoming-kpis strong{font-size:25px}.upcoming-selection h2{font-size:21px}.pdf-card{padding:14px 12px;gap:11px}.pdf-actions{gap:10px}.upcoming-progress{font-size:12px}.upcoming-selection-controls select{font-size:12px}.upcoming-selection-controls .btn{font-size:12px}.timeline-toggle i{font-size:10px}}
@media(prefers-reduced-motion:reduce){.timeline-toggle button,.upload-drop{transition:none}}

/* Real completion counts; interrupted trainer lookup resumes from saved races. */
.trainer-progress{border:1px solid var(--line-strong,#cbd8df);border-radius:14px;padding:20px 24px;margin:16px 0;background:var(--surface,#fff)}
.trainer-progress-heading{display:flex;align-items:center;gap:14px}.trainer-progress-heading h3{font-size:18px;margin:3px 0 0}.trainer-progress-heading>strong{margin-left:auto;font-size:14px;white-space:nowrap}
.trainer-progress-icon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;color:var(--accent,#008b91);background:rgba(0,139,145,.1);font-weight:700}
.trainer-progress[aria-busy=true] .trainer-progress-icon{font-size:0;background:transparent;border:3px solid rgba(0,139,145,.15);border-top-color:var(--accent,#008b91);animation:trainer-spin .85s linear infinite}
.trainer-progress progress{display:block;width:100%;height:7px;margin:16px 0 12px;accent-color:var(--accent,#008b91);border:0;border-radius:5px;overflow:hidden}.trainer-progress progress::-webkit-progress-bar{background:rgba(0,139,145,.1)}.trainer-progress progress::-webkit-progress-value{background:var(--accent,#008b91);transition:width .2s}
.trainer-progress-footer{display:flex;align-items:center;gap:16px;justify-content:space-between}.trainer-progress-footer p{margin:0;color:var(--muted,#667b89);font-size:13px;line-height:1.5}.trainer-progress-footer .btn{flex-shrink:0}
@keyframes trainer-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.trainer-progress[aria-busy=true] .trainer-progress-icon{animation:none}}
@media(max-width:600px){.trainer-progress{padding:16px}.trainer-progress-heading{flex-wrap:wrap}.trainer-progress-heading>strong{margin-left:48px}.trainer-progress-footer{align-items:flex-start;flex-direction:column}}
.checked-results{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);margin:16px 0}.checked-results[hidden]{display:none}.checked-results h3{margin:7px 0}.checked-results p{font-size:13px;line-height:1.7;color:var(--muted);margin:6px 0}.checked-results>.btn{flex-shrink:0}.results-scroll{max-width:100%;max-height:60vh;overflow:auto}.results-scroll table{width:100%;min-width:650px}.results-scroll th,.results-scroll td{padding:12px;text-align:left;white-space:nowrap}.results-scroll small{display:block;color:var(--muted);margin-top:4px}.results-filter{display:flex;align-items:center;gap:12px;margin:18px 0}.results-filter select{max-width:75%;padding:9px;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:7px}.import-row small{display:block;line-height:1.6;margin-top:6px;color:var(--muted)}
@media(max-width:720px){.checked-results{align-items:flex-start;flex-direction:column;padding:16px}.results-scroll{width:100%}}

.rsp-document-details{margin:18px 0}.rsp-document-details summary{cursor:pointer;font-weight:650}.rsp-document-details pre,.rsp-comment{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.rsp-document-details pre{font-family:inherit;font-size:12px;max-height:50vh;overflow:auto;padding:14px;background:var(--surface2)}

/* Quiet operational status; source diagnostics live inside the disclosure. */
html .app-shell #results-sync-status{padding:0;margin:10px 0 18px;border:0;background:transparent;box-shadow:none;white-space:normal}
.sync-summary{border:1px solid var(--rd-stroke,var(--line));border-radius:16px;background:var(--rd-panel,var(--surface));color:var(--rd-muted,var(--muted));overflow:hidden}
.sync-summary>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:12px 16px;font-size:12px;min-height:44px}
.sync-summary>summary::-webkit-details-marker{display:none}.sync-summary>summary strong{color:var(--rd-ink,var(--ink));font-weight:550}.sync-summary>summary>span:last-of-type{margin-left:auto;font-size:11px;font-variant-numeric:tabular-nums}.sync-summary>summary svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.4;fill:none;transition:transform .2s}.sync-summary[open]>summary svg{transform:rotate(180deg)}
.sync-dot{width:6px;height:6px;border-radius:50%;background:#748d99}.sync-dot.ready{background:#5e9c89}.sync-dot.attention{background:#b99155}.sync-dot.working{background:#749da7}
.sync-details{border-top:1px solid var(--rd-stroke,var(--line));padding:4px 16px 12px}.sync-details>p{margin:8px 0;font-size:12px}.sync-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;font-size:12px}.sync-item small{display:block;font-size:11px;margin-top:3px;color:var(--muted)}.sync-background{padding-top:8px}.sync-background h4{font-size:10px;font-weight:550;margin:5px 0 8px;color:var(--muted)}.sync-detail-line{display:flex;gap:15px;justify-content:space-between;font-size:11px;padding:4px 0}.sync-detail-line small{font-size:11px}.sync-summary summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:14px}@media(prefers-reduced-motion:reduce){.sync-summary>summary svg{transition:none}}

/* Operational updates read as a quiet status, with investigation one click away. */
html .app-shell #results-sync-status { margin:0 0 19px; }
html .app-shell #results-sync-status .sync-summary { width:fit-content; max-width:100%; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
html .app-shell #results-sync-status .sync-summary>summary { min-height:36px; gap:9px; padding:7px 11px; border:1px solid var(--line); border-radius:10px; background:var(--surface); font-size:11px; }
html .app-shell #results-sync-status .sync-summary>summary strong { font-weight:500; }
html .app-shell #results-sync-status .sync-summary>summary>span:last-of-type { margin-left:18px; font-size:10px; color:var(--muted); }
html .app-shell #results-sync-status .sync-summary[open] { width:min(100%,720px); border:1px solid var(--line-strong); border-radius:14px; background:var(--rd-table,var(--surface)); overflow:hidden; }
html .app-shell #results-sync-status .sync-summary[open]>summary { border:0; border-radius:0; padding:12px 16px; background:transparent; }
html .app-shell #results-sync-status .sync-details { padding:5px 17px 14px; border-color:var(--line); }
html .app-shell #results-sync-status .sync-item { padding:12px 0; border-bottom:1px solid var(--line); }
html .app-shell #results-sync-status .sync-item:last-child { border-bottom:0; }
html .app-shell #results-sync-status .sync-item small { margin-top:4px; font-size:10px; }
html .app-shell #results-sync-status .sync-dot { width:5px; height:5px; }
html .app-shell .upcoming-table-tools { font-size:11px; gap:16px; padding:0 2px; }
html .app-shell .upcoming-table-tools label { line-height:1.5; }
html .app-shell .upcoming-table-tools input { accent-color:var(--accent); }
html .app-shell .upcoming-selection-controls select { min-height:38px; }
html .app-shell .upcoming-scroll td { padding:16px 15px; }
html .app-shell .upcoming-scroll td small { font-size:10px; line-height:1.6; margin-top:5px; }
html .app-shell .upcoming-scroll .journal-table-runner { font-weight:580; font-size:12px; }
html .app-shell .upcoming-scroll .rule-status { padding:4px 7px; border-radius:6px; font-size:10px; }
html .app-shell .upcoming-scroll td.jtc-live-price>strong { font-size:16px; font-weight:550; letter-spacing:-.4px; }
/* Unresolved past results remain accessible in the historical source drawer. */
html .app-shell #historical-review { padding:0 20px 8px; border-top:1px solid var(--line); }
html .app-shell .historical-review-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; padding:18px 0 8px; }
html .app-shell .historical-review-heading strong { color:var(--ink); font-size:12px; font-weight:550; }
html .app-shell .historical-review-heading span { font-size:10px; color:var(--muted); }
html .app-shell #historical-review .import-row { padding:13px 0; border-top:0; border-bottom:1px solid var(--line); gap:20px; }
html .app-shell #historical-review .import-row:last-child { border-bottom:0; }
html .app-shell #historical-review .import-row>span { min-width:0; }
html .app-shell #historical-review .import-row strong { color:var(--ink); font-size:12px; font-weight:500; }
html .app-shell #historical-review .import-row small { margin-top:5px; font-size:10px; }
html .app-shell .historical-review-actions { display:flex; align-items:center; flex-shrink:0; gap:16px; }
html .app-shell .historical-review-actions .link-btn { font-size:11px; }
html .app-shell .historical-review-actions .btn { min-height:32px; padding:6px 10px; font-size:11px; }
@media(max-width:600px) {
 html .app-shell #results-sync-status { margin-bottom:16px; }
 html .app-shell #results-sync-status .sync-summary[open] { width:100%; }
 html .app-shell .upcoming-table-tools { gap:10px; }
 html .app-shell #historical-review { padding:0 16px 6px; }
 html .app-shell #historical-review .import-row { align-items:flex-start; flex-wrap:wrap; gap:11px; }
 html .app-shell .historical-review-actions { margin-left:auto; }
}
