:root{--bg: oklch(.16 .02 255);--card-bg: oklch(.19 .02 255);--card-border: oklch(.24 .02 255);--pill-border: oklch(.28 .02 255);--text-primary: oklch(.92 .01 255);--text-secondary: oklch(.68 .02 255);--text-muted: oklch(.48 .02 255);--accent: oklch(.72 .14 220);--accent-hover: oklch(.8 .14 220);--positive: oklch(.75 .16 155);--negative: oklch(.68 .19 25);--warning: oklch(.8 .15 85);--critical: oklch(.62 .22 25);--tf-short: oklch(.72 .14 220);--tf-medium: oklch(.74 .13 280);--tf-long: oklch(.72 .13 340);--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text-primary)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.mono{font-family:var(--font-mono)}.app-shell{display:flex;min-height:100vh}.app-main{flex-grow:1;display:flex;flex-direction:column;min-width:0}.app-topbar{padding:22px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--card-border);flex-wrap:wrap;gap:12px}.app-title{font-size:19px;font-weight:600;color:var(--text-primary)}.app-subtitle{font-size:12.5px;color:var(--text-muted);margin-top:2px}.app-content{padding:24px 32px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px}.pill{padding:6px 13px;border-radius:6px;font-size:12.5px;border:1px solid var(--pill-border);cursor:pointer;color:var(--text-secondary);background:transparent;font-family:var(--font-sans);display:inline-flex;align-items:center;gap:6px}.pill.active{background:color-mix(in oklab,var(--accent) 14%,transparent);border-color:color-mix(in oklab,var(--accent) 35%,transparent);color:var(--accent-hover)}table{width:100%;border-collapse:collapse}thead tr{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}tbody tr{border-top:1px solid var(--card-border);font-family:var(--font-mono);font-size:13px}td{padding:12px 10px}td:first-child{padding-left:20px}td:last-child{padding-right:20px}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:5px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-dot{width:5px;height:5px;border-radius:50%;background:currentColor;display:inline-block}.status-order{background:color-mix(in oklab,var(--warning) 15%,transparent);color:var(--warning)}.status-position{background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--accent)}.status-closed{background:color-mix(in oklab,var(--text-muted) 15%,transparent);color:var(--text-secondary)}.tf-badge{padding:2px 7px;border-radius:4px;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.tf-short{background:color-mix(in oklab,var(--tf-short) 15%,transparent);color:var(--tf-short)}.tf-medium{background:color-mix(in oklab,var(--tf-medium) 15%,transparent);color:var(--tf-medium)}.tf-long{background:color-mix(in oklab,var(--tf-long) 15%,transparent);color:var(--tf-long)}.badge-mini{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:4px;font-size:9.5px;font-weight:600;background:var(--card-border);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.cat-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.cat-trading{background:color-mix(in oklab,var(--positive) 14%,transparent);color:var(--positive)}.cat-technical{background:color-mix(in oklab,var(--text-muted) 18%,transparent);color:var(--text-secondary)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.stat-tile{padding:16px 18px}.stat-label{font-size:11.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--text-primary);margin-top:8px}.stat-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.positive{color:var(--positive)}.negative{color:var(--negative)}.muted{color:var(--text-muted)}.btn{padding:9px 16px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;font-family:var(--font-sans)}.loading,.error-box,.empty-box{padding:40px;text-align:center;color:var(--text-muted);font-size:13px}.error-box{color:var(--negative)}
