:root{color-scheme:dark;--bg: #0b0f14;--surface: #141b24;--surface-2: #1c2633;--line: #2a3848;--text: #e7eef7;--muted: #8b9bb0;--accent: #4c8dff;--accent-2: #2f6fe0;--danger: #ff8d8d;--ok: #7dcea0;font-family:Segoe UI,system-ui,sans-serif;line-height:1.45;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 500px at 10% -10%,#1a2a44 0%,transparent 55%),var(--bg)}button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}h1{font-size:1.6rem;font-weight:650}h2{font-size:1.05rem;font-weight:650}.screen{min-height:100vh;display:grid;place-items:center;padding:24px}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}.login-card{width:min(420px,100%);display:grid;gap:14px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}label{display:grid;gap:6px;font-size:.92rem}input,select{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:none}input:focus,select:focus{border-color:var(--accent)}button{background:var(--accent);border:0;border-radius:10px;padding:10px 14px;font-weight:650;cursor:pointer}button:hover{background:var(--accent-2)}button:disabled{opacity:.6;cursor:wait}button.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}button.ghost:hover{background:var(--surface-2)}a.link-btn{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;padding:6px 10px}a.link-btn:hover{background:var(--surface-2)}.chip-btn{border-radius:999px;padding:4px 10px;color:var(--danger)}.form-error{color:var(--danger)}.auth-switch{text-align:center}.auth-switch a{color:var(--accent)}.pending-card{max-width:620px;margin:12vh auto 0;display:grid;gap:12px}.app{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.nav-toggle,.nav-backdrop{display:none}.sidenav{position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:16px 12px;border-right:1px solid var(--line);background:#0b0f14eb}.brand-link{font-weight:750;padding:6px 10px}.sidenav nav{display:grid;align-content:start;gap:2px}.nav-label{margin:12px 10px 4px;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sidenav nav a{color:var(--muted);padding:8px 10px;border-radius:8px}.sidenav nav a.active{color:var(--text);background:var(--surface-2)}.sidenav .who{margin-top:auto;display:grid;gap:8px;padding:8px 10px 0}.dash-block{margin-top:16px;display:grid;gap:10px}.dash-list{margin:0;padding-left:18px;display:grid;gap:8px}.dash-guide,.dash-data{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:10px;font:inherit}.dash-guide{min-height:88px;resize:vertical}.dash-data{max-height:180px;overflow:auto;white-space:pre-wrap;color:var(--muted);font-size:.8rem}.role{border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--ok);font-size:.8rem}main{width:min(1120px,calc(100% - 40px));margin:28px auto 48px}main:has(.pos-screen){width:calc(100% - 40px);max-width:none}main:has(.config-screen){width:min(1040px,calc(100% - 24px));margin-top:10px;margin-bottom:16px}.page-head{margin-bottom:18px;display:grid;gap:6px}.config-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:sticky;top:58px;z-index:4;margin:-8px 0 12px;padding:8px 0;background:color-mix(in srgb,var(--bg) 92%,transparent)}.config-toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}.help-toggle{align-items:center;width:auto;margin-right:4px;font-size:.88rem}.help-toggle input{margin-top:0}.config-copy{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:12px}.config-copy label{min-width:220px;flex:1}.config-screen h1{font-size:1.25rem}.config-screen .page-head{margin-bottom:8px;gap:2px}.config-tabs{display:flex;gap:8px;margin:0 0 10px}.config-tabs button[aria-selected=false]{background:transparent;border:1px solid var(--line)}.config-tabs button[aria-selected=false]:hover{background:var(--surface-2)}.config-form{display:flex;flex-direction:column;gap:8px;padding:12px}.config-form .config-section{grid-column:auto}.field-name{display:inline-flex;align-items:center;gap:6px;position:relative;width:fit-content;max-width:100%}.hint-mark{position:relative;width:16px;height:16px;padding:0;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:.72rem;font-weight:700;line-height:1}.hint-mark:hover,.hint-mark:focus-visible{background:var(--surface-2)}.hint-mark:hover:after,.hint-mark:focus-visible:after{content:attr(data-hint);position:absolute;left:0;top:calc(100% + 6px);z-index:8;width:min(340px,72vw);padding:8px 10px;border-radius:10px;background:#151b24;border:1px solid var(--line);color:var(--text);font-size:.78rem;font-weight:450;line-height:1.4;white-space:normal;text-align:left;box-shadow:0 8px 24px #00000059;pointer-events:none}.field-hint{display:block;color:var(--muted);font-size:.78rem;line-height:1.35}.bot-workspace{display:grid;grid-template-columns:minmax(320px,460px) minmax(0,1fr);gap:16px;align-items:start}.bot-list{max-height:calc(100vh - 220px);overflow:auto}.bot-detail{position:sticky;top:84px;margin-top:0;max-height:calc(100vh - 120px);overflow:auto}.bulk-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0}.bot-access-bar{flex-wrap:wrap;align-items:end}.bot-access-bar label{min-width:180px}.bot-list select{min-width:150px}tr.row-dirty td{background:#ffc45714}tr.row-off td{color:var(--muted)}.check-col{width:36px}.table-wrap input[type=checkbox],.bot-detail input[type=checkbox]{width:auto}tr.row-active td{background:#4c8dff14}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.85rem}.empty{color:var(--muted)}.inline-create,.inline-edit{display:flex;gap:8px;align-items:end;margin-bottom:14px}.inline-edit{margin:8px 0}.inline-create label,.inline-edit input{flex:1}.account-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.account-main{display:grid;gap:2px;flex:1;min-width:0}.account-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.account-title>button{padding:4px 8px}.account-meta{color:var(--muted);font-size:.82rem;line-height:1.35}.account-filters{display:flex;flex-wrap:wrap;gap:8px;position:sticky;top:0;z-index:1;margin:8px 0;padding-bottom:6px;background:var(--surface)}.account-filters label{flex:1;min-width:110px;font-size:.78rem;gap:3px}.account-filters select,.account-filters input{padding:5px 8px}.account-filters label.volume-filter{flex:1.6;min-width:220px}.volume-filter-row{display:flex;gap:4px}.volume-filter-row select{width:104px;flex:0 0 104px}.volume-filter-row input{min-width:0}.config-section{display:block;width:100%;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.config-section legend{padding:0 4px;font-weight:650;font-size:.82rem}.config-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.config-fields label{font-size:.82rem;gap:3px}.config-fields input:not([type=checkbox]),.config-fields select{padding:5px 8px;border-radius:8px;font-size:.86rem}.config-fields .span-2,.config-fields .span-all{grid-column:1 / -1}.config-stack{display:grid;gap:10px}.mode-pick{max-width:360px}.mode-lead{margin:0;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);font-size:.84rem;line-height:1.45}.group-label{margin:0;color:var(--muted);font-size:.75rem;font-weight:650}.mode-box,.idle-box{display:grid;gap:8px;padding:8px;border-radius:10px}.mode-box{border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 8%,transparent)}.idle-box{border:1px dashed var(--line)}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.field-note{display:block;color:var(--muted);font-size:.75rem;line-height:1.35}.unused-badge{margin-left:6px;padding:0 6px;border-radius:999px;border:1px solid color-mix(in srgb,#e0a106 65%,var(--line));color:#e0a106;font-size:.68rem;font-weight:700;line-height:1.6}.unused-note{margin:0;padding:6px 8px;border-radius:8px;color:#e0a106;background:color-mix(in srgb,#e0a106 14%,transparent);font-size:.78rem;line-height:1.4}.config-savebar{display:none}.field-grid label,.config-stack>label,.mode-pick label{font-size:.82rem;gap:3px}.field-grid input:not([type=checkbox]),.field-grid select,.config-stack>label input,.config-stack>label select,.mode-pick input,.mode-pick select{padding:5px 8px;border-radius:8px;font-size:.86rem}.config-json{margin:0;overflow:auto;white-space:pre-wrap;color:var(--muted);font-size:.82rem}.row-actions{display:flex;gap:6px}.row-actions button,.inline-edit button{padding:6px 10px}button.danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}button.danger:hover{background:#ff8d8d1f}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.admin-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;position:static}.form-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.admin-form>.form-title,.admin-form>.form-error,.admin-form>button[type=submit]{grid-column:1 / -1}.admin-form>button[type=submit]{justify-self:end;min-width:160px}.user-list-head{display:flex;justify-content:space-between;align-items:end;gap:18px}.user-list-head>div{display:grid;gap:6px}.user-search{width:min(360px,100%)}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0000008c}.modal-card{width:min(980px,100%);max-height:min(82vh,860px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}.modal-card header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.modal-card h2{margin:0;font-size:1.15rem}.bot-list-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bot-list-tools select{width:160px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.user-table-wrap{max-height:360px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stats-grid .card{display:grid;gap:8px}.stats-grid strong{font-size:2rem}.summary-section-title{margin:22px 0 12px}.summary-head{display:flex;justify-content:space-between;align-items:end;gap:16px}.summary-head label{width:min(220px,100%)}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.summary-stat small{min-height:1.4em}.summary-stat.positive strong{color:var(--ok)}.summary-stat.negative strong{color:var(--danger)}.summary-rank strong{font-size:1.35rem;overflow-wrap:anywhere}a.trail-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.trail-note{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.summary-updated{margin-top:18px;text-align:right;font-size:.82rem}.signal-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px 8px;margin-bottom:12px;padding:10px 12px}.signal-filters label{font-size:.72rem;gap:2px;min-width:0}.signal-filters input,.signal-filters select{padding:3px 7px;border-radius:7px;font-size:.8rem;min-width:0}.signal-filters>button{align-self:end}.signal-filters .history-range{grid-column:1 / -1;gap:4px}.signal-filters .history-range button{padding:3px 8px;border-radius:7px;font-size:.75rem;font-weight:600}button.sort-col{background:none;border:0;color:inherit;font:inherit;font-weight:650;padding:0;cursor:pointer}.config-brief{display:block;max-width:420px;font-size:.78rem;line-height:1.35}.config-glance{display:grid;gap:14px}.config-glance section h3{margin:0 0 8px;font-size:.95rem}.config-glance .mode-note{margin:0 0 8px}.config-glance dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 14px;margin:0}.config-glance dt{color:var(--muted);font-size:.75rem}.config-glance dd{margin:2px 0 0}.action-form{display:grid;gap:10px;max-width:420px;margin-top:8px}.action-form.transfer-form{max-width:none}.transfer-check{display:grid;gap:8px}.transfer-check h3{margin:0;font-size:.95rem}.transfer-path{margin:0;font-weight:650}.transfer-check .table-wrap th,.transfer-check .table-wrap td{padding:8px 10px;font-size:.85rem}.transfer-check tr.diff td{background:color-mix(in srgb,var(--danger) 12%,transparent)}.history-range{display:flex;flex-wrap:wrap;gap:8px;align-items:end}button.symbol-chip{background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:550}button.symbol-chip.active,button.symbol-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-2)}.signal-stats{margin-bottom:12px}.signal-chips{margin:0 0 12px}.signal-table{max-height:620px}.crumb-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.crumbs{color:var(--muted)}.leave-dialog{max-width:420px}.leave-dialog h2{margin:0 0 8px}.dirty-note{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.history-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.signal-setup{display:grid;gap:12px}.signal-setup h2{margin:0 0 6px;font-size:1rem}.signal-chips{display:flex;flex-wrap:wrap;gap:6px}.signal-chips span{display:inline-flex;gap:4px}button.th-sort{background:transparent;border:0;padding:0;color:var(--muted);font-weight:600}button.th-sort.active,button.th-sort:hover{color:var(--accent);background:transparent}.compare-block{margin:8px 0 16px}.signal-pick{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;padding:10px 12px}.signal-pick h2{font-size:1rem}.compare-block .muted{margin-bottom:8px}.history-tabs button.active{background:var(--accent)}.history-tabs button.active{background:var(--accent);color:#081018}.trade-row{cursor:pointer}.trade-row.active{background:color-mix(in srgb,var(--accent) 16%,transparent)}.trade-detail{display:grid;gap:12px;margin-bottom:16px}.trade-detail header{display:flex;justify-content:space-between;align-items:center;gap:12px}.trade-detail h2{margin:0;font-size:1.15rem}.trade-detail dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 16px;margin:0}.trade-detail dt{color:var(--muted);font-size:.78rem}.trade-detail dd{margin:2px 0 0}.user-table-wrap thead{position:sticky;top:0;z-index:1;background:var(--surface)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.82rem}.bot-picker{max-height:240px;overflow:auto;display:grid;gap:8px;padding-right:4px}.admin-form>.bot-picker,.admin-form>.permission-picker,.admin-form>.chips,.admin-form>p.muted{grid-column:span 2}.permission-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}.permission-picker legend{color:var(--muted);padding:0 6px}.permission-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;align-items:center}.permission-row>select{min-width:0;padding:7px 8px}.permission-picker>button,.permission-picker>small{grid-column:1 / -1}.audit-head{display:flex;justify-content:space-between;align-items:end;gap:18px}.audit-head>div{display:grid;gap:6px}.audit-search{display:flex;gap:8px;width:min(430px,100%)}.audit-search input{min-width:0}.audit-table-wrap{max-height:620px}.audit-table-wrap thead{position:sticky;top:0;z-index:1;background:var(--surface)}.audit-details summary{cursor:pointer;color:var(--accent);white-space:nowrap}.audit-details ul{margin:8px 0 0;padding-left:18px;min-width:260px}.audit-details li{margin:4px 0;overflow-wrap:anywhere}.audit-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.audit-pagination>div{display:flex;gap:8px}.check{display:flex;align-items:flex-start;gap:8px;grid-template-columns:auto 1fr}.check input{width:auto;margin-top:3px}.check small{display:block;color:var(--muted)}.ledger-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.ledger-tools label{width:160px}.ledger-tools .check{width:auto;align-items:center}.health-alerts{margin:0 0 16px;padding-left:18px;color:var(--danger)}.health-ok strong{color:var(--ok)}.health-warn strong{color:var(--warn, #e0a106)}.health-down strong{color:var(--danger)}.health-off strong{color:var(--muted)}.ledger-chart{width:100%;height:180px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.ledger-legend{display:flex;gap:16px;font-size:.82rem}.ledger-trade,.ledger-trade-line{color:var(--ok);stroke:var(--ok)}.ledger-cash,.ledger-cash-line{color:var(--warn, #e0a106);stroke:var(--warn, #e0a106)}td.positive{color:var(--ok)}td.negative{color:var(--danger)}@media(max-width:1100px){.config-head{position:static;flex-direction:column}.config-head .config-save,.config-head .config-cancel{display:none}.config-screen.is-editing{padding-bottom:76px}.config-savebar{display:flex;position:fixed;z-index:6;left:0;right:0;bottom:0;gap:8px;justify-content:space-between;align-items:center;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 94%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.config-savebar>div{display:flex;gap:8px}}@media(max-width:900px){.admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}.config-fields{grid-template-columns:1fr 1fr}.app{display:block}.nav-toggle{display:inline-flex;position:sticky;top:8px;z-index:6;margin:8px 12px}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;border:0;background:#00000073}.sidenav{position:fixed;z-index:16;width:min(280px,86vw);transform:translate(-105%)}.sidenav.open{transform:none}.bot-workspace{grid-template-columns:1fr}.bot-detail{order:-1;position:static;max-height:none}.bot-list{max-height:320px}}@media(max-width:640px){.admin-form,.config-fields{grid-template-columns:1fr}.config-fields .span-2{grid-column:auto}.field-grid{grid-template-columns:1fr}.admin-form>.bot-picker,.admin-form>.permission-picker,.admin-form>.chips,.admin-form>p.muted{grid-column:1}.user-list-head{align-items:stretch;flex-direction:column}.user-search{width:100%}.audit-head{align-items:stretch;flex-direction:column}.audit-search{width:100%}}.pos-toast-stack{position:fixed;right:16px;bottom:16px;z-index:40;display:grid;gap:8px;width:min(360px,calc(100vw - 32px))}.pos-toast{border:1px solid var(--border);border-radius:10px;background:var(--panel, #12141a);color:inherit;text-align:left;padding:10px 12px;box-shadow:0 8px 24px color-mix(in srgb,#000 28%,transparent);cursor:pointer;font:inherit}.pos-toast-close{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.pos-toast-open{border-color:color-mix(in srgb,var(--ok) 45%,var(--border))}.pos-toast-size{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.pos-status{margin:8px 0;font-size:.85rem}.pos-stale{color:var(--danger)}.pos-up{color:var(--ok)}.pos-down{color:var(--danger)}.pos-alert{background:color-mix(in srgb,var(--danger) 8%,transparent)}.pos-child td{color:var(--muted);font-size:.82rem}.pos-table{width:max-content;min-width:100%;border-collapse:collapse}.pos-table th,.pos-table td{padding:8px 10px;text-align:left;white-space:nowrap;vertical-align:middle}.pos-inline{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.pos-sub td{padding-top:0;border-top:0}.pos-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:6px}.pos-actions button.ghost{padding:4px 8px;white-space:nowrap}button.linkish{background:none;border:0;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}button.linkish:hover{background:none}.pos-list{display:grid;gap:6px;margin:8px 0 14px;padding-left:18px}.pos-detail pre{max-height:180px;overflow:auto;background:var(--bg);border-radius:10px;padding:10px}
