:root{--bg: #f5f5f7;--surface: rgba(255, 255, 255, .88);--surface-strong: #ffffff;--line: rgba(15, 23, 42, .08);--line-strong: rgba(15, 23, 42, .18);--text: #1d1d1f;--muted: #6e6e73;--accent: #0071e3;--ok: #0a7d33;--warn: #b54708;--danger: #b42318}*{box-sizing:border-box}body{margin:0;color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Helvetica Neue,sans-serif;background:radial-gradient(circle at 0% 0%,rgba(0,113,227,.12),transparent 35%),radial-gradient(circle at 100% 100%,rgba(52,199,89,.08),transparent 30%),var(--bg)}html{overflow-x:hidden}main{min-height:100vh;padding:24px;max-width:100vw;overflow-x:hidden}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:600;letter-spacing:-.02em}h2{font-size:18px;font-weight:600}h3{font-size:15px;margin-top:18px}.topbar,.tabs,.panel,.notice,.error{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;margin-bottom:12px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 10px 28px #11182714}.topbar p,.muted,.sub,label{color:var(--muted)}.sub{display:block;margin-top:4px;font-size:12px}.tabs{display:flex;flex-wrap:wrap;gap:8px;padding:10px;margin-bottom:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}button{border:1px solid var(--line);border-radius:999px;height:34px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;background:var(--surface-strong);color:var(--text);cursor:pointer;transition:all .18s ease}button:hover{border-color:var(--line-strong)}code{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.dangerButton{color:var(--danger);border-color:#b4231847}.dangerButton:hover{border-color:#b423187a;background:#b4231814}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}input,select{height:34px;border:1px solid var(--line);border-radius:10px;padding:0 10px;min-width:120px;max-width:100%;font:inherit;color:var(--text);background:var(--surface-strong)}.notice,.error{margin:10px 0;padding:10px 12px;border-radius:12px;border:1px solid var(--line)}.notice{color:var(--ok);background:#0a7d3314}.error{color:var(--danger);background:#b4231814}.panel{margin:12px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 6px 24px #1118270f}.panelHead,.row,.actions,.settingsForm,.sectionHead{display:flex;align-items:center;gap:10px}.panelHead{justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.panelHead>h2{flex:0 0 auto}.panelHead>.row{flex:1 1 520px;min-width:0;justify-content:flex-end;flex-wrap:wrap}.row.wrap,.actions,.settingsForm{flex-wrap:wrap}.row>label:not(.checkLabel):not(.field),.field{display:grid;gap:4px}.sectionHead{justify-content:space-between;flex-wrap:wrap;margin-top:18px}.subPanel{margin:14px 0 18px}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.jobsLayout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr);gap:16px;align-items:start}.jobsListPane,.jobsDetailPane{min-width:0}.jobsDetailPane{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;padding:14px;border:1px solid var(--line);border-radius:14px;background:#ffffff9e}table{width:100%;border-collapse:collapse;table-layout:auto}th,td{padding:10px 8px;border-bottom:1px solid var(--line);white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;text-align:left;vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600;line-height:1.35}tr.selected,tr.selectedRow{background:#0071e314}tr.subrow{background:#0f172a06}td.message{white-space:normal}.tableWrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.tableWrap table{min-width:760px}.groupRow td{padding-top:16px;color:var(--muted);font-weight:600;background:#0f172a06}.summaryMeta{margin-left:10px;color:var(--muted);font-weight:400}.configCell{min-width:220px;white-space:normal;overflow:visible;text-overflow:clip;vertical-align:top}.configCell label,.miniCard{display:grid;gap:4px}.configCell label{margin-bottom:6px;font-size:12px}.configCell input,.configCell select{min-width:0;width:100%}.configCell button{margin-top:4px}.configGroups{display:grid;gap:10px}.configGroup{border:1px solid var(--line);border-radius:10px;background:#ffffff70;overflow:hidden}.groupToggle{width:100%;height:auto;min-height:42px;padding:10px 12px;border:0;border-radius:0;justify-content:space-between;background:#ffffffb3}.miniCard{padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffffbd}.filterGroup{display:flex;flex-wrap:wrap;gap:8px}.checkLabel{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;gap:6px;max-width:100%;background:var(--surface-strong);color:var(--text)}.checkLabel input{min-width:0;width:14px;height:14px;padding:0}.columnChooser{margin:8px 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#ffffff8f}.columnChooser summary{cursor:pointer;color:var(--muted);font-weight:600}.columnChooser .filterGroup{margin-top:8px}.sectionDetails{margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffff94}.sectionDetails summary{cursor:pointer;font-weight:600}.sectionDetails.nested{margin-left:12px;background:#ffffff75}.sectionDetails table{margin-top:8px}.pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:8px 0;color:var(--muted)}.pager button:disabled{cursor:not-allowed;opacity:.45}.badge{border-radius:999px;display:inline-block;padding:3px 8px;font-size:12px}.badge.running,.badge.pending{background:#b547081f;color:var(--warn)}.badge.succeeded{background:#0a7d331f;color:var(--ok)}.badge.failed,.badge.partial_failed,.badge.stale,.badge.missed{background:#b423181f;color:var(--danger)}.badge.skipped,.badge.disabled,.badge.not_scheduled,.badge.waiting{background:#6e6e731f;color:var(--muted)}.details,.metrics,.summaryGrid{display:grid;gap:10px;margin-top:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.kv{display:grid;gap:4px;padding:10px;border-radius:12px;background:#ffffffbd;border:1px solid var(--line)}.kv span{color:var(--muted);font-size:12px}.kv strong{font-size:15px}.kv summary{display:grid;gap:4px;cursor:pointer}.kv.wide{grid-column:span 2}.kv.skeleton{position:relative;overflow:hidden}.strategyMeta{grid-column:1 / -1;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffffa8}.strategyMetaTitle{margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:600}.strategyMetaItems{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--text)}.disabledBlock{opacity:.5;pointer-events:none}.strategyMetaItems span{overflow-wrap:anywhere}.strategyMetaItems b{margin-right:4px;color:var(--muted);font-weight:500}.tradeOutcomeSummary{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tradeOutcomeBox{padding:10px;border:1px solid var(--line);border-radius:12px;background:#ffffffbd}.tradeOutcomeBox summary{display:grid;gap:4px;cursor:pointer}.tradeOutcomeBox summary span{color:var(--muted);font-size:12px}.tradeOutcomeBox summary strong{font-size:17px}.kv.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);transform:translate(-100%);animation:skeleton-shimmer 1.2s infinite}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.toggleRow{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.toggle{width:40px;height:24px;padding:0;position:relative;overflow:hidden;border-radius:999px}.toggle span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#c9c9ce;transition:transform .2s ease}.toggle.on{background:#0071e32e;border-color:#0071e373}.toggle.on span{transform:translate(18px);background:var(--accent)}.chartPanel{display:grid;gap:10px}.segmentedControl{display:inline-flex;width:max-content;padding:3px;border:1px solid var(--line);border-radius:999px;background:#ffffffa8}.segmentedControl button{min-width:44px;height:28px;padding:0 12px;border-color:transparent;background:transparent}.segmentedControl button.active{color:#fff;background:var(--accent);border-color:var(--accent)}.jobInput{flex:1 1 280px}.toolbarPanel{display:grid;gap:10px;width:100%;margin-bottom:12px}.toolbarGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:10px;align-items:end}.toolbarGrid label,.toolbarGrid .field{min-width:0}.toolbarGrid input,.toolbarGrid select,.toolbarGrid button{width:100%}.toolbarGrid button{white-space:nowrap}.toolbarGrid .wideField{grid-column:span 2}.sectionHead.compact{margin-top:0}.checkGrid{display:flex;flex-wrap:wrap;gap:8px}.checkItem{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;gap:6px;background:var(--surface-strong);color:var(--text)}.checkItem input{min-width:0;width:14px;height:14px;padding:0}.resultTable th,.resultTable td{min-width:82px}.resultTable th:nth-child(4),.resultTable td:nth-child(4),.resultTable th:nth-child(5),.resultTable td:nth-child(5),.resultTable th:nth-child(6),.resultTable td:nth-child(6),.resultTable th:nth-child(8),.resultTable td:nth-child(8),.resultTable th:nth-child(9),.resultTable td:nth-child(9){min-width:150px}@media(max-width:1100px){main{padding:14px}.grid.two,.jobsLayout{grid-template-columns:1fr}.jobsDetailPane{position:static;max-height:none}.details,.metrics,.summaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.panelHead>.row{flex-basis:100%;justify-content:flex-start}}@media(max-width:700px){h1{font-size:23px}.topbar{align-items:flex-start;flex-direction:column;border-radius:16px;padding:16px}.panel{padding:14px;border-radius:14px}.panelHead,.row{align-items:flex-start;flex-wrap:wrap}.details,.metrics,.summaryGrid{grid-template-columns:1fr}th,td{font-size:12px}input,select,button{min-width:0}.toolbarGrid{grid-template-columns:1fr}.toolbarGrid .wideField{grid-column:auto}}
