:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f5f7fb}:root[data-theme=dark]{color-scheme:dark;color:#e6edf7;background:#0f1420}*{box-sizing:border-box}body{margin:0;background:#f5f7fb}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f7fb}.auth-card{width:min(420px,100%);border:1px solid #dfe5ef;border-radius:14px;background:#fff;box-shadow:0 24px 80px #0f172a1f;padding:24px;display:grid;gap:16px}.auth-card h1{font-size:24px}.auth-card span{display:block;color:#64748b;margin-top:4px}.auth-card button{height:40px;border:1px solid #d8e0ec;border-radius:8px;font-weight:800}.auth-error{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;border-radius:8px;padding:10px;font-size:13px;font-weight:700}.sidebar{border-right:1px solid #dde3ef;background:#fff;padding:22px 18px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#172033;color:#fff}.brand strong,.brand span{display:block}.brand span{color:#6f7b8f;font-size:13px;margin-top:2px}nav{display:grid;gap:6px}nav a{height:38px;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:8px;color:#5f6f87;font-weight:650;font-size:14px;cursor:pointer}nav a.active{background:#eef2ff;color:#4f46e5}.side-panel{min-height:0;display:grid;gap:10px}.side-head{display:flex;justify-content:space-between;color:#65748a;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.follower-list{display:grid;gap:8px;overflow:auto;max-height:calc(100vh - 300px);padding-right:3px}.follower-row{width:100%;min-height:64px;border:1px solid #e0e6f1;border-radius:10px;background:#fff;color:#172033;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;text-align:left}.follower-row.selected{border-color:#7367f0;box-shadow:0 0 0 3px #7367f01f}.identity{min-width:0}.identity strong,.identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity small{color:#7a8799;margin-top:4px}.light{width:9px;height:36px;border-radius:999px}.good{color:#059669}.warn{color:#b45309}.bad{color:#dc2626}.light.good{background:#22c55e}.light.warn{background:#f59e0b}.light.bad{background:#ef4444}.mini-pill,.badge{border-radius:999px;border:1px solid #dde3ef;background:#f8fafc;padding:5px 8px;font-size:12px;font-weight:750;white-space:nowrap}.mini-pill.good,.badge.good{border-color:#bbf7d0;background:#f0fdf4;color:#047857}.mini-pill.warn,.badge.warn{border-color:#fde68a;background:#fffbeb;color:#92400e}.mini-pill.bad,.badge.bad{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.workspace{min-width:0;padding:26px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.title-block{display:grid;gap:4px}.back-button{width:fit-content;height:32px;border:0;background:transparent;color:#4f46e5;padding:0;display:inline-flex;align-items:center;gap:6px;font-weight:800}.eyebrow{margin:0 0 4px;color:#69788d;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}h1,h2,h3,p{margin:0}h1{font-size:26px;letter-spacing:0}h2{font-size:16px;letter-spacing:0}h3{font-size:13px;color:#65748a;margin-bottom:10px}.panel p{color:#718096;font-size:13px;margin-top:4px}.actions{display:flex;gap:8px;flex-wrap:wrap}.more-menu{position:relative}.menu-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:10;min-width:180px;border:1px solid #d8e0ec;border-radius:10px;background:#fff;box-shadow:0 16px 40px #0f172a24;padding:6px;display:grid;gap:4px}.menu-popover button{width:100%;justify-content:flex-start;border:0;background:transparent}.menu-popover button:hover{background:#f5f7fb}.actions button,.form-grid button,.link-button,.icon-button{height:38px;border:1px solid #d8e0ec;border-radius:8px;background:#fff;color:#243044;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750}.link-button{height:30px;color:#4f46e5;background:#eef2ff;border-color:#d8dcff}.link-button.danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.icon-button{width:36px;padding:0}button.primary{background:#5b5ce2;border-color:#5b5ce2;color:#fff}button:disabled{opacity:.6;cursor:not-allowed}.notice{border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;padding:12px 14px;border-radius:10px;margin-bottom:14px;font-size:13px;overflow-wrap:anywhere}.health-banner{min-height:54px;border:1px solid #dbe3ee;background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:14px;display:flex;align-items:center;gap:12px}.health-copy{flex:1;min-width:0}.health-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.health-banner strong,.health-banner span{display:block}.health-banner span{color:#64748b;font-size:13px;margin-top:2px}.health-banner.good{border-color:#bbf7d0;background:#f0fdf4}.health-banner.bad{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.latest-copy{min-height:88px;padding:16px;margin-bottom:14px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,auto) auto;align-items:center;gap:16px}.latest-copy .result-chips{justify-content:flex-end}.latest-main h2{font-size:20px;margin-bottom:4px}.latest-main span,.auto-refresh{color:#64748b;font-size:13px}.auto-refresh{white-space:nowrap}.strategy-panel{padding:16px;margin-bottom:14px;display:grid;gap:14px}.strategy-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.strategy-main h2{font-size:20px;margin-bottom:4px}.strategy-main span,.strategy-grid span{color:#64748b;font-size:13px}.strategy-flags{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.strategy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.strategy-grid div{border:1px solid #e5eaf2;border-radius:8px;padding:10px;display:grid;gap:4px}.strategy-grid strong{font-size:14px}.sync-panel{margin-bottom:14px}.sync-panel.good{border-color:#bbf7d0}.sync-panel.bad{border-color:#fecaca}.sync-head{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e5eaf2}.sync-head span,.sync-row span{color:#64748b}.sync-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sync-row{min-height:58px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-right:1px solid #e5eaf2}.sync-row:nth-child(2n),.sync-row:last-child{border-right:0}.sync-row strong,.sync-row span{display:block}.status-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.badge{display:inline-flex;align-items:center;gap:6px}.endpoint{color:#6b778a;font-size:12px;background:#edf1f7;border:1px solid #dde3ef;padding:6px 10px;border-radius:999px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.metric{min-height:104px;border:1px solid #dfe5ef;background:#fff;border-radius:12px;padding:16px;display:grid;align-content:space-between}.metric svg{color:#5b5ce2}.metric span{color:#6c7a90;font-size:13px}.metric strong{font-size:28px;line-height:1}.grid.two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:14px;margin-bottom:14px}.panel{border:1px solid #dfe5ef;background:#fff;border-radius:12px;min-width:0;overflow:hidden}.main-section{margin-bottom:14px}.panel-head{min-height:62px;padding:16px;border-bottom:1px solid #e3e8f1;display:flex;align-items:center;justify-content:space-between;gap:12px}.account-meta{display:block;margin-top:4px;color:#667694;font-weight:700;overflow-wrap:anywhere}.collapse-head{width:100%;min-height:62px;padding:16px;border:0;border-bottom:1px solid #e3e8f1;background:#fff;color:#172033;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.collapse-head strong,.collapse-head small{display:block}.collapse-head strong{font-size:16px}.collapse-head small{color:#718096;margin-top:4px;font-weight:500}.collapse-actions{display:inline-flex;align-items:center;gap:10px}.chevron{color:#64748b;transition:transform .16s ease}.chevron.open{transform:rotate(180deg)}.panel-subhead{padding:10px 16px;border-bottom:1px solid #e5eaf2;display:flex;justify-content:flex-end}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:16px}.account-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px;border-bottom:1px solid #e5eaf2}.account-stats div{border:1px solid #dbe3ee;border-radius:10px;padding:12px;background:#f8fafc}.account-stats span,.account-stats strong{display:block}.account-stats span{color:#64748b;font-size:12px;font-weight:700}.account-stats strong{margin-top:6px;font-size:20px}.copy-events{margin-bottom:0}.event-list{display:grid;gap:0}.trade-group{border-bottom:1px solid #dbe3ee}.trade-group:last-child{border-bottom:0}.trade-group-head{min-height:40px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc}.trade-group-head div{display:flex;align-items:center;gap:10px;min-width:0}.trade-group-head span,.trade-group-head small{color:#64748b}.copy-event{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:16px;align-items:start;padding:14px 16px;border-bottom:1px solid #e5eaf2}.trade-group .copy-event:last-child{border-bottom:0}.event-main{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);align-items:center;gap:10px;min-width:0}.event-main small{grid-column:1 / -1;color:#7a8799;overflow-wrap:anywhere}.result-chips{display:flex;gap:8px;flex-wrap:wrap}.result-chip{border-radius:999px;border:1px solid #dde3ef;background:#f8fafc;padding:6px 10px;font-size:12px;font-weight:800}.result-chip.good{border-color:#bbf7d0;background:#f0fdf4;color:#047857}.result-chip.warn{border-color:#fde68a;background:#fffbeb;color:#92400e}.result-chip.bad{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.copy-result-stack{display:grid;gap:10px}.copy-followers{display:grid;gap:8px}.copy-follower{border:1px solid #dbe3ee;border-radius:10px;padding:9px 10px;background:#f8fafc}.copy-follower strong,.copy-follower span,.copy-follower small{display:block}.copy-follower span,.copy-follower small{margin-top:3px;color:#64748b;overflow-wrap:anywhere}.copy-follower.good{border-color:#bbf7d0;background:#f0fdf4}.copy-follower.warn{border-color:#fde68a;background:#fffbeb}.copy-follower.bad{border-color:#fecaca;background:#fef2f2}.form-grid{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .wide{grid-column:1 / -1}label{display:grid;gap:6px;color:#65748a;font-size:12px;font-weight:700}input,select{width:100%;height:38px;border:1px solid #d8e0ec;border-radius:8px;background:#fff;color:#172033;padding:0 10px;outline:none}input:focus,select:focus{border-color:#7367f0;box-shadow:0 0 0 3px #7367f024}.tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.tabs button{height:32px;border:0;border-radius:8px;background:transparent;color:#637188;font-weight:750;padding:0 10px;text-transform:capitalize}.tabs button.active{background:#eef2ff;color:#4f46e5}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}th,td{padding:12px 16px;border-bottom:1px solid #e5eaf2;text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:#69788d;font-weight:800;font-size:12px}td{color:#253149}.selected-row{background:#f8f9ff}.muted{color:#7a8799}table.compact th,table.compact td{padding:10px 0}.empty{color:#7d8ca1}.spin{animation:spin 1s linear infinite}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#0f172a61;display:grid;place-items:center;padding:18px}.modal{width:min(720px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #dfe5ef;background:#fff;border-radius:14px;box-shadow:0 24px 80px #0f172a47}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.follower-list{max-height:280px}.grid.two,.copy-event{grid-template-columns:1fr}}@media(max-width:760px){.workspace{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions button{flex:1 1 auto}.health-banner{align-items:flex-start;flex-wrap:wrap}.health-actions{margin-left:30px}.metrics,.account-stats{grid-template-columns:1fr 1fr}.sync-grid{grid-template-columns:1fr}.sync-row{border-right:0;border-bottom:1px solid #e5eaf2}.sync-row:last-child{border-bottom:0}.latest-copy{grid-template-columns:1fr;align-items:flex-start}.strategy-main{flex-direction:column}.strategy-flags{justify-content:flex-start}.strategy-grid{grid-template-columns:1fr 1fr}.split,.form-grid{grid-template-columns:1fr}}@media(max-width:520px){.sidebar{padding:16px;gap:16px}nav{grid-template-columns:1fr 1fr}nav a{justify-content:center}.workspace{padding:14px}h1{font-size:22px}.health-banner,.latest-copy,.strategy-panel,.metric,.panel-head,.collapse-head{border-radius:10px}.metrics,.strategy-grid{grid-template-columns:1fr}.trade-group-head{align-items:flex-start;flex-direction:column}.event-main{grid-template-columns:auto auto minmax(0,1fr)}th,td{padding:10px 12px;font-size:12px}}:root[data-theme=dark] body,:root[data-theme=dark] .auth-shell{background:#0f1420}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .menu-popover,:root[data-theme=dark] .health-banner,:root[data-theme=dark] .metric,:root[data-theme=dark] .panel,:root[data-theme=dark] .modal,:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] .actions button,:root[data-theme=dark] .form-grid button,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .follower-row,:root[data-theme=dark] .collapse-head{background:#151b29;border-color:#2a3447;color:#e6edf7}:root[data-theme=dark] .workspace{background:#0f1420}:root[data-theme=dark] .brand-mark{background:#e6edf7;color:#111827}:root[data-theme=dark] nav a{color:#9fb0c7}:root[data-theme=dark] nav a.active,:root[data-theme=dark] .link-button,:root[data-theme=dark] .back-button,:root[data-theme=dark] .tabs button.active{background:#20244f;border-color:#363a8a;color:#b9c2ff}:root[data-theme=dark] .link-button.danger{background:#351018;border-color:#7f1d1d;color:#fca5a5}:root[data-theme=dark] .back-button{background:transparent;border-color:transparent}:root[data-theme=dark] .menu-popover button:hover,:root[data-theme=dark] .selected-row,:root[data-theme=dark] .trade-group-head{background:#101827}:root[data-theme=dark] .endpoint,:root[data-theme=dark] .mini-pill,:root[data-theme=dark] .badge,:root[data-theme=dark] .result-chip,:root[data-theme=dark] .copy-follower{background:#101827;border-color:#334158;color:#cbd5e1}:root[data-theme=dark] .health-banner.good,:root[data-theme=dark] .mini-pill.good,:root[data-theme=dark] .badge.good,:root[data-theme=dark] .result-chip.good,:root[data-theme=dark] .copy-follower.good{background:#06291d;border-color:#14532d;color:#86efac}:root[data-theme=dark] .health-banner.bad,:root[data-theme=dark] .mini-pill.bad,:root[data-theme=dark] .badge.bad,:root[data-theme=dark] .result-chip.bad,:root[data-theme=dark] .copy-follower.bad,:root[data-theme=dark] .auth-error{background:#351018;border-color:#7f1d1d;color:#fca5a5}:root[data-theme=dark] .mini-pill.warn,:root[data-theme=dark] .badge.warn,:root[data-theme=dark] .result-chip.warn,:root[data-theme=dark] .copy-follower.warn{background:#332109;border-color:#854d0e;color:#facc15}:root[data-theme=dark] .notice{background:#172554;border-color:#3730a3;color:#c7d2fe}:root[data-theme=dark] .panel-head,:root[data-theme=dark] .collapse-head,:root[data-theme=dark] .panel-subhead,:root[data-theme=dark] .account-stats,:root[data-theme=dark] .sync-head,:root[data-theme=dark] .sync-row,:root[data-theme=dark] th,:root[data-theme=dark] td,:root[data-theme=dark] .trade-group,:root[data-theme=dark] .copy-event{border-color:#273247}:root[data-theme=dark] .brand span,:root[data-theme=dark] .panel p,:root[data-theme=dark] .eyebrow,:root[data-theme=dark] th,:root[data-theme=dark] .muted,:root[data-theme=dark] .empty,:root[data-theme=dark] .latest-main span,:root[data-theme=dark] .auto-refresh,:root[data-theme=dark] .health-banner span,:root[data-theme=dark] .identity small,:root[data-theme=dark] .collapse-head small,:root[data-theme=dark] .trade-group-head span,:root[data-theme=dark] .trade-group-head small,:root[data-theme=dark] .event-main small,:root[data-theme=dark] label{color:#91a1b8}:root[data-theme=dark] .account-stats div{background:#101827;border-color:#334158}:root[data-theme=dark] .account-stats span{color:#91a1b8}:root[data-theme=dark] td,:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=dark] .identity strong,:root[data-theme=dark] .brand strong{color:#e6edf7}:root[data-theme=dark] .modal-backdrop{background:#020617b8}
