:root{ --border:#e5e7eb; --muted:#64748b; } *{ box-sizing:border-box; } body{ font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; margin:0; color:#0f172a; background:#fff; } .container{ max-width: 1100px; margin: 0 auto; padding: 16px; } header{ display:flex; align-items:center; justify-content:space-between; margin-bottom: 16px; gap: 12px; } h1{ margin:0; font-size: 22px; } h2{ font-size:18px; margin: 18px 0 10px; } h3{ font-size:16px; margin:0; } #statusBar{ display:flex; align-items:center; gap: 12px; flex-wrap: wrap; } #statusBar span{ font-size:14px; color:#0f172a; } .btn{ appearance:none; border:1px solid var(--border); background:#0f172a; color:#fff; padding:8px 12px; border-radius:10px; cursor:pointer; font-weight:600; } .btn:hover{ opacity:.9; } .btn-secondary{ background:#475569; } .grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 12px 0 24px; } .card{ background:#0f172a0d; border:1px solid var(--border); border-radius:12px; padding:12px; } .kpi{ font-size: 24px; font-weight: 700; margin-top: 8px; } .table-wrap{ overflow:auto; border:1px solid var(--border); border-radius:12px; } table{ width:100%; border-collapse: collapse; font-size: 14px; } th, td{ padding: 8px 10px; border-bottom: 1px solid #f1f5f9; white-space: nowrap; } thead th{ position: sticky; top: 0; background: #fff; z-index: 1; } tbody tr:hover{ background:#f8fafc; } .pnl-pos{ color: #166534; font-weight:600; } .pnl-neg{ color: #991b1b; font-weight:600; } .badge{ padding:3px 8px; border-radius:999px; font-size:12px; border:1px solid var(--border); display:inline-block; } .badge.long{ background:#ecfdf5; border-color:#bbf7d0; } .badge.short{ background:#fef2f2; border-color:#fecaca; } .empty{ text-align:center; color: var(--muted); padding: 14px; }