:root{color:#1d232a;background:radial-gradient(circle at top,#1d4ed814,#0000 38%),#f6f7f8;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:#1d232a;background:radial-gradient(circle at top,#1d4ed814,#0000 38%),#f6f7f8;margin:0}body.overlay-open{overflow:hidden}button,input,select,textarea{font:inherit}.page-shell{min-height:100vh;padding:20px}.container{max-width:1280px;margin:0 auto}.panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff0;border:1px solid #d9dee5;border-radius:10px;margin-bottom:24px;padding:20px;box-shadow:0 1px 2px #1018280a}.panel--hero{padding:24px}.panel h2,.panel h3,.panel h4,.panel h5{margin-top:0}.auth-form{max-width:420px;margin:80px auto 0}.auth-actions,.auth-message{margin-top:16px}.controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.field-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:14px;font-weight:700}.checkbox-field{align-items:center;gap:8px;padding-top:26px;display:flex}.config-layout{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.portfolio-panel__footer{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.portfolio-panel__message{margin-top:14px;margin-bottom:0}.timeline-widget__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.timeline-widget__header h2{margin-bottom:8px}.timeline-widget__subtitle{color:#64748b;margin:0}.timeline-widget__range-picker{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.timeline-widget__range-button{color:#334155;background:#eef2ff;border-color:#dbe4ff;min-width:52px}.timeline-widget__range-button.is-active{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.timeline-widget__summary{margin-top:18px}.timeline-widget__metric-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:13px;font-weight:700}.timeline-widget__metric-value{color:#0f172a;margin-top:6px;font-size:clamp(30px,5vw,48px);font-weight:700;line-height:1}.timeline-widget__metric-date{color:#52606d;margin-top:8px}.timeline-widget__chart-shell{margin-top:20px}.timeline-widget__chart{cursor:crosshair;width:100%;height:auto;display:block}.timeline-widget__axis{stroke:#94a3b873;stroke-width:1px}.timeline-widget__axis-label{fill:#64748b;dominant-baseline:middle;text-anchor:end;font-size:12px;font-weight:700}.timeline-widget__axis--soft{stroke-dasharray:5 5}.timeline-widget__axis--x-soft{stroke:#94a3b83d;stroke-dasharray:3 8}.timeline-widget__axis-label--x{dominant-baseline:hanging;text-anchor:middle;font-size:11px;font-weight:600}.timeline-widget__axis-label--x-start{text-anchor:start}.timeline-widget__axis-label--x-end{text-anchor:end}.timeline-widget__line{fill:none;stroke:#1d4ed8;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.timeline-widget__cursor{stroke:#1d4ed866;stroke-width:1.5px;stroke-dasharray:4 6}.timeline-widget__point{fill:#1d4ed8;stroke:#fff;stroke-width:2px}.timeline-widget__empty{text-align:center;color:#64748b;background:#f8fafccc;border:1px dashed #cbd5e1;border-radius:12px;margin-top:20px;padding:32px 12px}.timeline-widget__empty--loading{place-items:center;min-height:320px;display:grid}.section-head h2,.section-head h4,.overlay-top h4{margin:0}.table-wrap{overflow-x:auto}.config-meta,.muted{color:#64748b}.config-meta{font-size:13px}.overlay{z-index:1000;background:#0f172a85;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.overlay-card{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #d9dee5;border-radius:18px;width:min(760px,100%);max-height:calc(100vh - 48px);padding:24px;overflow-y:auto;box-shadow:0 24px 60px #0f172a3d}.overlay-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.overlay-subtitle{color:#52606d;margin:6px 0 0;font-size:14px}.overlay-actions{justify-content:space-between;gap:12px;margin-top:18px;display:flex}.button-group{flex-wrap:wrap;gap:10px;display:flex}.overlay-history{border-top:1px solid #d9dee5;margin-top:22px;padding-top:18px}.overlay-history h5{margin:0 0 10px;font-size:15px}table{border-collapse:collapse;background:#fff;width:100%;margin-top:16px}th,td{text-align:left;vertical-align:top;border:1px solid #d9dee5;padding:10px 12px}th{background-color:#eef2f6}select,input,button{border:1px solid #c7d0d9;border-radius:6px;padding:8px 10px;font-size:14px}button{cursor:pointer;color:#fff;background:#1d4ed8;border-color:#1d4ed8}button.secondary{color:#1d232a;background:#fff;border-color:#c7d0d9}button:disabled{cursor:not-allowed;opacity:.6}.status-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px;display:grid}.bot-card{background-color:#fbfcfd;border:1px solid #d9dee5;border-radius:8px;padding:15px}.bot-card h4{color:#1d232a;margin:0 0 10px}.bot-status{margin-bottom:8px}.status-label{width:140px;font-weight:700;display:inline-block}.holding{color:#0f766e}.not-holding{color:#64748b}.pending{color:#d97706}.profit{color:#15803d}.loss,.error-text{color:#b91c1c}.badge{background:#e2e8f0;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-block}.badge.enabled{color:#166534;background:#dcfce7}.badge.disabled{color:#991b1b;background:#fee2e2}.message{border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:14px}.message.success{color:#166534;background:#dcfce7}.message.error{color:#991b1b;background:#fee2e2}.history-list{margin:0;padding-left:18px}.history-list li{margin-bottom:10px}.empty-state{color:#52606d}@media (width<=960px){.page-shell,.overlay{padding:12px}.overlay-card{padding:18px}.overlay-actions{flex-direction:column-reverse;align-items:stretch}.portfolio-panel__footer,.timeline-widget__header{flex-direction:column;align-items:stretch}.timeline-widget__range-picker{justify-content:flex-start}.button-group{width:100%}}
