:root{color:#e8eaed;background:#0b0d10;font-family:Segoe UI,sans-serif;font-size:14px;--blue: #2f89ff;--blue-2: #49c2f2;--accent: #d4a054;--panel: #14181e;--line: #2a3140;--muted: #9aa3b2}body{margin:0}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--line);background:#1c222c;padding:8px 12px;border-radius:8px;cursor:pointer}button.primary,button.active{background:var(--blue);border-color:var(--blue);color:#fff}button.ghost{background:transparent}button:disabled{opacity:.4;cursor:default}button.schedule-on,button.schedule-off,button.schedule-pending{min-width:3.25rem;text-align:center;font-variant:small-caps;letter-spacing:.02em}button.schedule-on{background:#1a3d2a;border-color:#2f8f5b;color:#8fd9a8}button.schedule-pending{background:#3d3420;border-color:#b08a3a;color:#e6c57a}button.schedule-off{background:#2a2222;border-color:#6b4a4a;color:#d9a0a0}.screen{min-height:100vh;display:grid;place-items:center}.login form{width:340px;display:grid;gap:14px;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.login h1{margin:0;font-size:28px}.login label{display:grid;gap:6px;color:var(--muted);font-size:13px}.login input,.filters input,.filters select,.pager select{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#0f1318}header{display:flex;align-items:center;gap:18px;padding:14px 24px;background:#101216;border-top:3px solid var(--accent);border-bottom:1px solid #222833}.brand{font-size:22px;font-weight:500;letter-spacing:-.03em}.brand span{color:var(--accent);font-weight:700}header nav{display:flex;gap:8px}header .who{margin-left:auto;color:var(--muted)}main{padding:24px}.page-head{display:flex;align-items:baseline;gap:16px;margin-bottom:14px}.page-head h1,section h1{margin:0;font-size:26px;font-weight:600}.page-head p{margin:0;color:var(--muted)}.page-head.stack{flex-direction:column;align-items:flex-start;gap:4px}.carga-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.carga-grid article{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.carga-grid h2{margin:0 0 8px;font-size:16px}.carga-grid p{margin:4px 0}.muted,.carga-grid .muted{color:var(--muted)}.carga-log{margin:16px 0 0;padding-left:18px;display:grid;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.4}.carga-run-modal{width:min(1100px,calc(100vw - 32px));max-height:min(85vh,820px);display:flex;flex-direction:column}.carga-log-scroll{margin-top:12px;flex:1;min-height:420px;max-height:calc(85vh - 140px);overflow:auto;border:1px solid var(--line);border-radius:10px}.carga-log-table{width:100%;table-layout:fixed;border-collapse:collapse;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.carga-log-table th,.carga-log-table td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;word-break:break-word}.carga-log-table th:nth-child(1),.carga-log-table td:nth-child(1){width:72px}.carga-log-table th:nth-child(2),.carga-log-table td:nth-child(2){width:64px}.carga-log-table th:nth-child(3),.carga-log-table td:nth-child(3){width:200px}.carga-log-table th:nth-child(4),.carga-log-table td:nth-child(4){width:auto}.carga-log-table th{position:sticky;top:0;background:var(--panel);color:var(--muted);font-size:11px;text-transform:uppercase;z-index:1}.carga-log-table tr.level-warn td:nth-child(2),.carga-log-table tr.level-warn td:nth-child(4){color:#e6c07b}.carga-log-table tr.level-error td:nth-child(2),.carga-log-table tr.level-error td:nth-child(4){color:#ff8f8f}.carga-log .ok{color:#8fd39a}.carga-log .error{color:#ff8f8f}.carga-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px}.carga-actions h2{margin:0}.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}td.actions .row-actions{flex-wrap:nowrap}td.actions .row-actions button{flex:0 0 auto;padding:6px 10px;white-space:nowrap}td.actions .row-actions button+button{margin-left:0}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.92em}.th-sort{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left}.audit-summary{margin:0 0 12px;font-size:.95rem}.audit-summary p{margin:6px 0}.filters input:disabled{opacity:.75;cursor:not-allowed}.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.subtabs button{background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--muted);padding:8px 14px}.subtabs button.active{background:#1d4f91;border-color:#1d4f91;color:#fff}.grain-switch{display:inline-flex;gap:6px;margin:4px 0 8px}.filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.filters label,.pager label{display:grid;gap:6px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.filters select{min-width:140px}.filters input{width:180px}.panel>.filters.executor-fields{margin-top:12px;margin-bottom:12px;padding:0;background:transparent;border:none}.executor-fields select{min-width:220px}.executor-fields .executor-url-field{flex:1 1 100%;min-width:min(100%,32rem)}.executor-fields .executor-url-field input{width:100%;max-width:32rem}.filters select.alpha-pick{width:280px;max-width:280px}.automations td{white-space:normal;vertical-align:middle}.automations input,.automations select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#0f1318;color:inherit}.automations input.signal{width:160px}.automations select.lot{width:120px}.automations select.swap{width:220px}.alpha-id-line{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.automations .alpha-name,button.link.alpha-open{display:inline;padding:0;font:inherit;font-weight:600}.automations .alpha-id{display:block;color:var(--muted);font-size:12px}.automations td.actions{white-space:nowrap}.automations td.actions button+button{margin-left:6px}.automations tr.detail td{white-space:normal}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:20;padding:16px}.modal.compact{width:min(720px,calc(100vw - 32px))}.pool-all,.pool-types label{display:flex;gap:8px;align-items:center;margin-top:12px;text-transform:none;color:inherit;font-size:14px}.pool-types{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0 16px}.pool-types h3{flex-basis:100%;margin:8px 0 0}.pool-trials{display:grid;gap:4px;margin-bottom:16px;color:var(--muted);font-size:12px;text-transform:uppercase}.pool-trials input{background:#1c222c;border:1px solid var(--line);border-radius:8px;padding:7px 8px;color:inherit;text-transform:none;font-size:14px}.modal{width:min(1280px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 24px 28px}.modal.wide{width:min(1100px,calc(100vw - 32px))}.modal-back.nested{z-index:30;background:#000000a6}.swap-current{margin:12px 0 4px;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.swap-current h3{margin:0 0 4px;font-size:15px}.swap-used{margin:12px 0;border:1px solid rgba(240,180,41,.35);border-radius:10px;padding:12px 14px;background:#f0b4290d}.swap-used h3{margin:0 0 8px;font-size:15px;color:#f0b429}.swap-used ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:160px;overflow:auto}.swap-used li{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;font-size:14px}.swap-used-meta{color:var(--muted);font-size:13px}.swap-table tr.used td.used-asset{color:#f0b429;font-weight:600}.swap-table tr.used{background:#f0b4290f}.swap-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:12px 0}.swap-toolbar label{display:grid;gap:4px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.swap-toolbar select{background:#1c222c;border:1px solid var(--line);border-radius:8px;padding:7px 8px;color:inherit}.swap-count{margin-left:auto;align-self:center;color:var(--muted);font-size:13px}.swap-table{max-height:min(52vh,520px);overflow:auto}.swap-table tr.selected{background:#488cff24}.swap-table tr.current{opacity:.72}.swap-actions{display:flex;justify-content:flex-end;margin-top:16px}.compare-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 16px}.compare-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px}.compare-card h3{margin:0 0 4px;font-size:15px}.compare-meta{margin:0 0 10px;color:var(--muted);font-size:13px}.stats.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.compare-table{max-height:min(48vh,480px);overflow:auto}@media (max-width: 800px){.compare-sides{grid-template-columns:1fr}}.modal h3{margin:18px 0 8px;font-size:15px;font-weight:600}.path-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-top:16px}.path-filters label{display:grid;gap:4px;color:var(--muted);font-size:12px;text-transform:uppercase}.path-filters input[type=date]{background:#1c222c;border:1px solid var(--line);border-radius:8px;padding:7px 8px;color:inherit}.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.modal-head h2{margin:0}.modal-actions{display:flex;justify-content:flex-end;flex-shrink:0;gap:8px;margin-top:16px;position:sticky;bottom:0;background:var(--panel);padding-top:12px}.modal.message>p{text-align:center;color:inherit}@media (max-width: 640px){.modal-back{padding:8px}.modal,.modal.compact,.modal.wide,.carga-run-modal{width:calc(100vw - 16px);padding:16px}}button.modal-x{border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;padding:0 4px}tr.empty-row td{color:var(--muted);text-align:center;white-space:normal}.modal-head p{margin:4px 0 0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.stats div{border:1px solid var(--line);border-radius:10px;padding:12px}.stats span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase}.stats strong{display:block;margin-top:6px;font-size:22px}.path-note{color:var(--muted);margin:0 0 8px}.path-chart{display:block;width:100%;height:auto;background:#10141a;border-radius:10px}.path-chart text{fill:var(--muted);font-size:11px}.path-chart text.axis{font-size:11px}.path-chart text.month{font-size:11px;fill:#c5ccd6}.path-chart text.hover,.path-chart .hover text{fill:#e8eaed;font-size:13px}.path-chart .catch{fill:transparent;cursor:crosshair}.path-chart .hover line{stroke:#c5ccd6;stroke-width:1}.path-chart .hover circle{fill:#e8eaed}.path-chart path{fill:none;stroke:var(--blue-2);stroke-width:1.6}.path-chart .zero{stroke:var(--line);stroke-width:1}.path-chart .band.train{fill:#2f89ff29}.path-chart .band.validation{fill:#49c2f21f}.path-chart .band.blind{fill:#9aa3b21f}.path-chart .band.xp{fill:#e8a83824}.path-chart .line-current{fill:none;stroke:#4ea1ff;stroke-width:2.2}.path-chart .line-candidate{fill:none;stroke:#e8a838;stroke-width:2.2}.path-chart .line-current-label{fill:#4ea1ff}.path-chart .line-candidate-label{fill:#e8a838}.compare-period{margin:0 0 12px;color:var(--muted);font-size:13px}.compare-period-side{margin:0 0 10px;color:var(--muted);font-size:12px}.compare-chart-wrap{margin:12px 0 18px}.compare-month-title{margin:12px 0 0;font-size:15px;font-weight:600}.compare-rolling-block{margin-top:8px;border:1px solid var(--line);border-radius:8px;padding:0 12px 8px}.compare-rolling-list{display:grid;gap:8px;margin:12px 0 8px}.compare-rolling-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;margin:0 -12px;padding:10px 12px;border:0;border-bottom:1px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:var(--text);font:inherit;font-weight:600;cursor:pointer;text-align:left}.compare-rolling-toggle[aria-expanded=true]{border-bottom-color:var(--line);margin-bottom:8px}.compare-rolling-chevron{color:var(--muted);font-size:14px}.compare-lot-banner{margin:0 0 12px;padding:10px 12px;border-radius:8px;font-size:13px;border:1px solid var(--line)}.compare-lot-banner.ok{background:#4ea1ff14;border-color:#4ea1ff59}.compare-lot-banner.warn{background:#e8a8381a;border-color:#e8a83873;color:#e8a838}.compare-legend-split{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 24px;margin:8px 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#ffffff05}.compare-legend-group{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;color:var(--muted);font-size:13px}.compare-legend-group.alfas{margin-left:auto}.compare-legend-title{color:var(--text);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.04em}.compare-period-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.compare-period-toggle input{accent-color:#4ea1ff}.compare-period-toggle .swatch{display:inline-block;width:12px;height:12px;border-radius:2px}.compare-period-toggle .swatch.validation{background:var(--blue-2)}.compare-period-toggle .swatch.blind{background:var(--muted)}.compare-period-toggle .swatch.xp{background:#e8a838cc}.compare-legend .line-current-swatch:before,.compare-legend-group .line-current-swatch:before{background:#4ea1ff}.compare-legend .line-candidate-swatch:before,.compare-legend-group .line-candidate-swatch:before{background:#e8a838}.compare-legend-group .line-current-swatch:before,.compare-legend-group .line-candidate-swatch:before{content:"";display:inline-block;width:14px;height:3px;margin-right:6px;vertical-align:middle;border-radius:1px}.path-chart.bars rect.bar-current{fill:#4ea1ff}.path-chart.bars rect.bar-candidate{fill:#e8a838}.compare-legend .xp:before{background:#e8a838cc}.legend .validation:before{background:var(--blue-2)}.legend .blind:before{background:var(--muted)}.legend .xp:before{background:#e8a838}.portfolio-members{margin:.75rem 0 0;padding-left:1.2rem;columns:2}.portfolio-members li{break-inside:avoid;margin:.2rem 0}.stats em{display:block;font-style:normal;font-size:.85rem;opacity:.75;margin-top:.2rem}.path-chart.dist rect.up{fill:var(--blue-2)}.path-chart.dist rect.down{fill:#8d6a73}.path-chart.dist .zone.z0,.path-chart.dist .zone.z5{fill:#9aa3b214}.path-chart.dist .zone.z1,.path-chart.dist .zone.z4{fill:#49c2f214}.path-chart.dist .zone.z2,.path-chart.dist .zone.z3{fill:#e8a83814}.path-chart.dist .mean{stroke:#e8a838;stroke-width:1.5}.path-chart.dist .sigma{stroke:#c5ccd6;stroke-width:1;stroke-dasharray:4 3}.path-chart.dist .sigma.outer{stroke:#7d8796;stroke-dasharray:2 3}.path-chart.dist text.mark{font-size:12px;fill:#e8eaed}.path-chart.dist text.band{font-size:12px;fill:#e8eaed}.path-chart.dist text.band.hint{font-size:11px;fill:var(--muted)}.path-chart.bars rect.up{fill:var(--blue-2)}.path-chart.bars rect.down{fill:#8d6a73}.candle-chart{width:100%;background:var(--panel);border-radius:8px}.candle-chart .axis{fill:var(--muted);font-size:12px}.candle-chart .up{fill:#3ddc97}.candle-chart .down{fill:#f07178}.candle-chart .wick{stroke-width:1}.candle-chart .wick.up{stroke:#3ddc97}.candle-chart .wick.down{stroke:#f07178}.candle-chart .vol-up{fill:#3ddc97;opacity:.45}.candle-chart .vol-down{fill:#f07178;opacity:.45}.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;color:var(--muted);font-size:13px}.legend span:before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px;background:var(--blue)}.automations tr.detail label{display:inline-grid;gap:6px;margin-right:12px;color:var(--muted);font-size:12px;text-transform:uppercase}.process-block{margin-top:22px}.process-block h2{margin:0 0 4px;font-size:18px;font-weight:600}.process-block p{margin:0 0 10px;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.table-wrap{overflow-x:auto}button.sort,button.link{border:0;background:transparent;padding:0;border-radius:0;color:inherit}button.sort{font-weight:600;color:#c5d0de}button.link{color:var(--blue-2);text-decoration:underline}button.link.copy-id{display:inline-flex;align-items:center;margin-left:6px;text-decoration:none;vertical-align:middle}button.link.copy-id svg{width:14px;height:14px}.tipo-marks{display:inline-flex;gap:3px;align-items:center}.tipo-mark{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;border-radius:50%;font-size:9px;font-weight:700;line-height:1}table{width:100%;border-collapse:collapse}th.actions,td.actions{width:1%;white-space:nowrap;text-align:right}td.actions button+button{margin-left:6px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#10151c;position:sticky;top:0}td.num{text-align:right;font-variant-numeric:tabular-nums}td.asset{color:var(--blue-2);font-weight:700}td.flash{background:#1d3f66}tr.detail td{background:#10151c;color:#c5d0de;white-space:normal}.pager{display:flex;align-items:center;gap:16px;padding:12px 16px;color:var(--muted)}.pager .pages{display:flex;gap:6px;margin-left:auto}.status.queued{color:var(--muted)}.status.finished{color:#8fd18a}.status.running{color:var(--blue-2)}.status.interrupted,.status.failed{color:#f0b429}.error{color:#ff8b8b}section h1{margin-bottom:14px}
