:root{font-family:Inter,PingFang SC,Helvetica Neue,sans-serif;color:#162638;background:#f4f7f6;font-synthesis:none;--page: #f4f7f6;--panel: #ffffff;--panel-soft: #f8fbfa;--line: #d9e4e2;--line-strong: #c5d4d1;--text: #162638;--muted: #6b7d8c;--accent: #078f7e;--accent-dark: #05695f;--accent-soft: #e4f5f1;--red: #c43f52;--shadow: 0 10px 28px rgba(28, 63, 58, .07)}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh;background:radial-gradient(circle at 74% -12%,rgba(45,179,156,.12),transparent 34%),linear-gradient(180deg,#f8fbfa 0,var(--page) 360px)}button,input,select{font:inherit}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:#ffffffe6;box-shadow:0 3px 16px #1c3f3a0a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:flex;gap:12px;align-items:center}.brand strong{display:block;color:#17324a;font-size:15px;letter-spacing:.14em}.brand small,.eyebrow,.count,.exchange-status small,td,th,.cell-note,.quality,.range-tabs button,.detail-metrics strong,.formula code,.page-footer,.fee-row.heading,.read-only,.metric strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.brand small{color:var(--muted);font-size:10px;letter-spacing:.12em}.mark{position:relative;display:grid;width:34px;height:34px;place-items:center;border:1px solid #8fc3ba;border-radius:50%;background:#f5fbf9}.mark:before,.mark:after{position:absolute;inset:5px;border:1px solid #b6d7d1;border-radius:50%;content:""}.mark:after{inset:10px}.mark span,.status-dot.healthy,.read-only i{background:#18a88f;box-shadow:0 0 8px #18a88f73}.mark span{width:6px;height:6px;border-radius:50%}.top-actions{display:flex;align-items:center;gap:18px}.read-only{color:#456b67;font-size:11px;text-transform:uppercase}.read-only i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%}.button{padding:9px 14px;color:var(--text);border:1px solid var(--line-strong);border-radius:7px;cursor:pointer}.button.secondary{background:#fff}.button.secondary:hover{background:#f3f8f7;border-color:#9fbdb8}.button.primary{color:#fff;font-weight:700;background:var(--accent);border-color:var(--accent)}.button.danger{color:#fff;font-weight:700;background:var(--red);border-color:var(--red)}.button.danger.ghost{color:var(--red);background:#fff}.button:disabled{opacity:.6}.backup-manager{margin:16px 0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:9px}.backup-manager>header{padding:14px 16px;border-bottom:1px solid var(--line)}.backup-manager h3,.backup-manager p{margin:0}.backup-manager p{margin-top:5px;color:var(--muted);font-size:11px}.backup-manager td:first-child{display:flex;align-items:center;gap:8px}.inline-retention{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.inline-retention input{width:66px}.update-manager{margin:16px 0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:9px}.update-manager>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.update-manager h3,.update-manager p{margin:0}.update-manager header p,.warning-note{margin-top:5px;color:var(--muted);font-size:11px}.update-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0;border:1px solid var(--line);border-radius:7px}.update-details>div{padding:10px 12px;border-right:1px solid var(--line)}.update-details>div:last-child{border-right:0}.update-details span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px}.update-actions{justify-content:flex-end}main{max-width:1680px;margin:auto;padding:32px 34px 20px}.hero{display:flex;align-items:flex-end;justify-content:space-between;margin:10px 0 28px}.hero h1{margin:5px 0 8px;color:#152b40;font-size:42px;letter-spacing:-.04em}.hero>div>p:last-child{margin:0;color:var(--muted)}.eyebrow{margin:0 0 7px;color:#168777;font-size:10px;letter-spacing:.16em}.hero-grid{display:grid;grid-template-columns:repeat(3,180px);overflow:hidden;background:#ffffffe6;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.metric{padding:17px 20px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric span,.metric small{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;margin:7px 0;color:#243c52;font-size:25px;font-weight:600}.metric.accent{background:#f3fbf9}.metric.accent strong{color:var(--accent)}.status-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:18px;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:0 5px 18px #1c3f3a0a}.exchange-status{display:flex;align-items:center;gap:11px;padding:12px 17px;border-right:1px solid var(--line)}.exchange-status:last-child{border:0}.exchange-status strong,.exchange-status small{display:block}.exchange-status strong{color:#294056;font-size:12px}.exchange-status small{margin-top:3px;color:var(--muted);font-size:10px}.status-dot{width:7px;height:7px;background:#9ba9b2;border-radius:50%}.status-dot.degraded{background:#d88c20}.error-banner{margin-bottom:16px;padding:10px 14px;color:#9f283c;background:#fff0f2;border:1px solid #efb8c1;border-radius:7px}.error-banner button{float:right;color:inherit;background:none;border:0}.workspace{display:grid;grid-template-columns:minmax(800px,1fr) 360px;gap:18px}.table-card,.detail-card{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.section-header,.detail-card>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}h2{margin:0;color:#1d3449;font-size:18px}.count{color:var(--muted);font-size:11px}.filters{display:flex;gap:8px;padding:12px 16px;background:var(--panel-soft);border-bottom:1px solid var(--line)}input,select{padding:8px 10px;color:var(--text);background:#fff;border:1px solid var(--line-strong);border-radius:6px;outline:none}input::placeholder{color:#98a5ae}input:focus,select:focus{border-color:#4aa999;box-shadow:0 0 0 3px #078f7e1a}.search{width:230px}.table-wrap{max-height:660px;overflow:auto;scrollbar-color:#aabbb8 #f1f5f4}table{width:100%;border-collapse:collapse;font-size:12px}th{position:sticky;top:0;z-index:1;padding:12px;color:#738593;font-size:10px;font-weight:500;text-align:right;text-transform:uppercase;letter-spacing:.04em;background:#f4f8f7;box-shadow:inset 0 -1px 0 var(--line)}th:first-child,td:first-child{text-align:left}td{padding:12px;color:#2b4053;font-size:11px;text-align:right;white-space:nowrap;border-top:1px solid #e5ecea}tbody tr{cursor:pointer;transition:background .15s}tbody tr:hover{background:#f1f8f6}tbody tr.selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.asset strong,.asset span{display:block}.asset strong{color:#20384c;font-family:Inter,PingFang SC,sans-serif;font-size:13px;font-weight:700}.asset span,.cell-note{display:block;margin-top:3px;color:var(--muted);font-size:9px}.positive{color:var(--accent-dark)}.negative{color:var(--red)}.volume{color:#4e6576}.quality{display:inline-block;padding:4px 7px;font-size:9px;border-radius:10px}.quality.healthy{color:#087766;background:#dff4ee}.quality.warming{color:#8a6118;background:#fff2ce}.quality.stale{color:#a13c4c;background:#fbe5e8}.empty{padding:50px;color:var(--muted);text-align:center}.detail-card{min-height:500px}.detail-card h2 span{color:var(--muted);font-size:12px;font-weight:400}.icon-button{color:#7c8d98;font-size:24px;background:transparent;border:0;cursor:pointer}.icon-button:hover{color:#30475a}.range-tabs{display:flex;margin:16px 20px 0;padding:3px;background:#edf3f2;border-radius:6px}.range-tabs button{flex:1;padding:6px;color:var(--muted);font-size:10px;background:transparent;border:0;cursor:pointer}.range-tabs button.active{color:#fff;background:var(--accent);border-radius:4px}.sparkline{display:block;width:calc(100% - 40px);height:130px;margin:12px 20px;background:linear-gradient(#e5ecea 1px,transparent 1px);background-size:100% 33%;border-bottom:1px solid var(--line-strong)}.sparkline polyline{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.empty-chart{display:grid;height:130px;margin:12px 20px;color:var(--muted);font-size:11px;place-items:center;background:#fafcfb;border:1px dashed var(--line-strong)}.detail-metrics{display:grid;grid-template-columns:1fr 1fr;margin:0 20px;overflow:hidden;border:1px solid var(--line);border-radius:7px}.detail-metrics div{padding:12px;background:#fbfdfc;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-metrics div:nth-child(2n){border-right:0}.detail-metrics div:nth-child(n+3){border-bottom:0}.detail-metrics span,.detail-metrics strong{display:block}.detail-metrics span{color:var(--muted);font-size:10px}.detail-metrics strong{margin-top:5px;color:#243b4e;font-size:11px}.formula{margin:16px 20px;padding:14px;background:#f0f8f6;border-left:3px solid var(--accent)}.formula span{color:#21394c;font-size:11px;font-weight:700}.formula code{display:block;margin:8px 0;color:var(--accent-dark);font-size:10px}.formula p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.detail-placeholder{display:flex;min-height:500px;color:var(--muted);align-items:center;flex-direction:column;justify-content:center}.detail-placeholder h3{margin:18px 0 5px;color:#41586a}.detail-placeholder p{font-size:12px}.radar-icon{position:relative;width:66px;height:66px;background:#f8fcfb;border:1px solid #acd2cb;border-radius:50%;box-shadow:inset 0 0 0 12px #fff,inset 0 0 0 13px #cce2de}.radar-icon:after{position:absolute;top:16px;right:12px;width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 10px #078f7e80;content:""}.page-footer{display:flex;max-width:1680px;margin:auto;padding:18px 34px;color:#82919b;font-size:9px;justify-content:space-between}.modal-backdrop{position:fixed;inset:0;z-index:30;display:flex;background:#1f2f3859;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;justify-content:center}.settings-panel{width:620px;overflow:hidden;background:#fff;border:1px solid var(--line-strong);border-radius:11px;box-shadow:0 25px 80px #18343038}.settings-panel header,.settings-panel footer{display:flex;padding:20px 24px;border-bottom:1px solid var(--line);align-items:center;justify-content:space-between}.settings-panel footer{gap:8px;border:0;border-top:1px solid var(--line);justify-content:flex-end}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 24px}.form-grid label{color:var(--muted);font-size:11px}.form-grid input{display:block;width:100%;margin-top:7px}.settings-panel h3{padding:0 24px;color:#263d50;font-size:12px}.fee-table{margin:12px 24px;overflow:hidden;border:1px solid var(--line);border-radius:7px}.fee-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:8px 12px;border-top:1px solid var(--line);align-items:center}.fee-row:first-child{border:0}.fee-row.heading{color:var(--muted);font-size:9px;background:#f3f7f6}.fee-row input{width:100%}.notice{margin:14px 24px;color:var(--muted);font-size:10px;line-height:1.5}.login-shell{display:grid;min-width:0;min-height:100vh;place-items:center}.login-card{width:420px;padding:34px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 22px 70px #1c3f3a24}.login-brand{margin-bottom:32px}.login-card h1{margin:6px 0 8px;color:#152b40;font-size:30px}.login-card>p:not(.eyebrow){color:var(--muted);font-size:12px}.login-card form{display:grid;gap:14px;margin-top:24px}.login-card label{color:var(--muted);font-size:11px}.login-card input,.login-card button{width:100%;margin-top:7px}.login-card .error-banner{margin:0}.operations-backdrop{position:fixed;inset:0;z-index:40;padding:24px;background:#12232d8f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.operations-panel{display:grid;grid-template-rows:auto auto auto 1fr;width:min(1460px,100%);height:100%;margin:auto;overflow:hidden;background:var(--page);border:1px solid var(--line-strong);border-radius:13px;box-shadow:0 30px 100px #0e212759}.operations-header{display:flex;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line);align-items:center;justify-content:space-between}.operations-header-actions{display:flex;gap:14px;align-items:center}.live-badge,.status-pill{display:inline-block;padding:4px 8px;color:#087766;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;text-transform:uppercase;background:#dff4ee;border-radius:12px}.live-badge.danger,.status-pill.failed,.status-pill.manual_review,.status-pill.blocked,.status-pill.error{color:#a13c4c;background:#fbe5e8}.status-pill.pending,.status-pill.submitted,.status-pill.planned,.status-pill.reconciling,.status-pill.paused{color:#8a6118;background:#fff2ce}.operations-tabs{display:flex;gap:3px;padding:10px 18px 0;background:#fff;border-bottom:1px solid var(--line)}.operations-tabs button{padding:10px 16px;color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer}.operations-tabs button.active{color:var(--accent-dark);font-weight:700;border-color:var(--accent)}.operations-panel>.error-banner{margin:10px 20px 0}.operations-content{padding:20px;overflow:auto}.loading-note{color:var(--muted);font-size:11px}.ops-summary{display:grid;grid-template-columns:1fr 1fr 2fr;margin-bottom:16px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:9px}.ops-summary>div{padding:16px 18px;border-right:1px solid var(--line)}.ops-summary>div:last-child{border:0}.ops-summary span,.ops-summary strong{display:block}.ops-summary span{color:var(--muted);font-size:10px}.ops-summary strong{margin-top:6px;color:#243b4e;font-size:13px}.state-text{text-transform:uppercase}.state-text.ready,.state-text.enabled,.state-text.completed{color:var(--accent-dark)}.state-text.paused,.state-text.blocked,.state-text.disabled{color:var(--red)}.safety-callout{display:flex;gap:18px;margin-bottom:18px;padding:14px 16px;background:#fff;border-left:3px solid var(--accent);box-shadow:0 5px 18px #1c3f3a0a;align-items:center}.safety-callout p{flex:1;margin:0;color:var(--muted);font-size:11px}.safety-callout.warning{border-left-color:#d88c20;background:#fffaf0}.success-banner{margin-bottom:14px;padding:11px 14px;color:#087766;background:#e6f7f2;border:1px solid #a8d9cc;border-radius:7px}.inline-actions{display:flex;gap:8px;align-items:center}.inline-actions .button{padding:7px 10px;font-size:10px}.ops-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:12px}.ops-card{padding:15px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 5px 18px #1c3f3a0a}.ops-card>header{display:flex;align-items:center;justify-content:space-between}.ops-card>p{min-height:32px;color:var(--muted);font-size:10px;line-height:1.5}.ops-card dl{display:grid;grid-template-columns:1fr 1fr;margin:12px 0;border:1px solid var(--line);border-radius:6px}.ops-card dl div{padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.ops-card dl div:nth-child(2n){border-right:0}.ops-card dl div:nth-last-child(-n+2){border-bottom:0}.ops-card dt{color:var(--muted);font-size:9px}.ops-card dd{margin:4px 0 0;color:#263d50;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.ops-form{margin:18px 0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:9px}.ops-form h3{margin:0;color:#263d50;font-size:13px}.ops-form p{color:var(--muted);font-size:10px}.form-grid.compact{padding:14px 0;grid-template-columns:repeat(3,1fr)}.form-grid.compact select{display:block;width:100%;margin-top:7px}.transfer-form{display:grid;grid-template-columns:2fr repeat(3,1fr) 1fr auto;gap:10px;align-items:center}.transfer-form h3,.transfer-form p{margin:0 0 5px}.trade-form{display:grid;grid-template-columns:2fr repeat(6,1fr) auto;gap:10px;align-items:end}.trade-form h3,.trade-form p{margin:0 0 5px}.trade-form label{color:var(--muted);font-size:9px}.trade-form label input,.trade-form label select{display:block;width:100%;margin-top:6px}.trade-preview{margin:16px 0;padding:17px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:9px}.trade-preview.live{border-left-color:var(--red)}.trade-preview>header{display:flex;align-items:center;justify-content:space-between}.trade-preview h3,.trade-preview p{margin:0 0 5px}.trade-preview p{color:var(--muted);font-size:9px}.trade-preview dl{display:grid;grid-template-columns:repeat(4,1fr);margin:13px 0;border:1px solid var(--line);border-radius:7px}.trade-preview dl div{padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.trade-preview dt{color:var(--muted);font-size:9px}.trade-preview dd{margin:5px 0 0;color:#263d50;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;overflow-wrap:anywhere}.preview-warning{margin-bottom:12px;color:var(--muted);font-size:10px}.close-position-list{margin:18px 0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:9px}.close-position-list>header{padding:14px 16px;background:#f8fbfa;border-bottom:1px solid var(--line)}.close-position-list h3,.close-position-list p{margin:0 0 5px}.close-position-list p,.close-position-list article span{color:var(--muted);font-size:9px}.close-position-list article{display:flex;padding:11px 16px;border-top:1px solid var(--line);align-items:center;justify-content:space-between}.close-position-list article:first-of-type{border-top:0}.close-position-list article strong,.close-position-list article span{display:block}.ops-table-wrap{max-height:520px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px}.ops-table-wrap th{top:0}.strategy-json{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:9px}.strategy-json header{display:flex;padding:14px 16px;border-bottom:1px solid var(--line);justify-content:space-between}.strategy-json pre{max-height:470px;margin:0;padding:18px;overflow:auto;color:#345266;font-size:11px;background:#f8fbfa}.strategy-editor{margin:18px 0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:9px}.strategy-editor>header{display:flex;padding:16px 18px;background:#f8fbfa;border-bottom:1px solid var(--line);align-items:center;justify-content:space-between}.strategy-editor h3,.strategy-editor h4,.strategy-editor p{margin:0}.strategy-editor h3{color:#263d50;font-size:13px}.strategy-editor h4{margin-bottom:11px;color:var(--accent-dark);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.strategy-editor p{margin-top:5px;color:var(--muted);font-size:9px}.strategy-editor>section{padding:15px 18px;border-bottom:1px solid var(--line)}.strategy-field-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:11px}.strategy-field-grid>label{color:var(--muted);font-size:9px}.strategy-field-grid input,.strategy-field-grid select{display:block;width:100%;margin-top:6px}.exchange-checks{display:flex;grid-column:span 3;gap:14px;min-height:37px;align-items:center}.exchange-checks label{color:#344e5f;font-size:10px;white-space:nowrap}.exchange-checks input{display:inline-block;width:auto;margin:0 5px 0 0;vertical-align:middle}.history-grid{display:grid;gap:18px}.history-grid>section>header{display:flex;padding:13px 16px;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;align-items:center;justify-content:space-between}.history-grid h3,.history-grid p{margin:0}.history-grid h3{color:#263d50;font-size:13px}.history-grid p{margin-top:4px;color:var(--muted);font-size:9px}.history-grid>section>header>strong{color:var(--accent-dark);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.history-grid .ops-table-wrap{max-height:300px;border-radius:0 0 9px 9px}.details-json{display:block;max-width:520px;overflow:hidden;color:#486475;text-overflow:ellipsis;white-space:nowrap}.status-pill.critical,.status-pill.dead{color:#a13c4c;background:#fbe5e8}.status-pill.warning,.status-pill.retry{color:#8a6118;background:#fff2ce}@media(max-width:1250px){.workspace{grid-template-columns:1fr 330px}.hero-grid{grid-template-columns:repeat(3,160px)}main{padding-right:22px;padding-left:22px}.ops-grid{grid-template-columns:1fr 1fr}.transfer-form{grid-template-columns:1fr 1fr 1fr}.transfer-form>div{grid-column:1 / -1}.trade-form{grid-template-columns:repeat(3,1fr)}.trade-form>div{grid-column:1 / -1}.strategy-field-grid{grid-template-columns:repeat(2,1fr)}.exchange-checks{grid-column:1 / -1;flex-wrap:wrap}}
