:root{color:#213547;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{width:100%;min-width:320px;height:100%;min-height:100vh;margin:0}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}*{box-sizing:border-box}.appShell{background:#f6f7fb;flex-direction:column;min-height:100vh;display:flex}.appHeader{z-index:1100;background:#fff;border-bottom:1px solid #dbe4f0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex;position:sticky;top:0}.appBrand{color:#1a2740;font-weight:800}.appHeaderActions{align-items:center;gap:10px;display:flex}.appUsername{color:#4f5c72;font-weight:600}.appLogoutButton{color:#213547;cursor:pointer;background:#fff;border:1px solid #bfd1e8;border-radius:8px;padding:6px 10px}.appLogoutButton:hover{border-color:#8eb2e2}.appMain{flex:1;min-height:0}.dashboardWrap{background:#f6f7fb;width:100%;height:100%;overflow:auto}.dashboardCard{background:#fff;flex-direction:column;width:100%;min-height:100%;padding:16px;display:flex}.dashboardTopRow{z-index:1000;background:#fff;border-bottom:1px solid #e6e8ef;flex:none;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex;position:sticky;top:0}.dashboardTitle{color:#111827;white-space:nowrap;text-overflow:ellipsis;max-width:55%;margin:0;font-size:26px;font-weight:800;overflow:hidden}.controlsRow{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.selectControl{cursor:pointer;background:#fff;border:1px solid #d7dbe7;border-radius:8px;padding:8px 10px;font-weight:600}.datePill{color:#374151;background:#f9fafb;border:1px solid #d7dbe7;border-radius:999px;padding:6px 10px;font-size:14px}.tableBox{scrollbar-gutter:stable both-edges;box-sizing:border-box;background:#fff;border:1px solid #e6e8ef;border-radius:8px;flex:auto;width:100%;max-width:100%;margin-top:12px;overflow:auto}.marketTable{border-collapse:collapse;width:max-content;min-width:100%}.marketTable thead th{z-index:50;color:#fff;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;background:#2f2d79;border-bottom:1px solid #fff3;padding:10px 12px;font-size:11px;position:sticky;top:0}.marketTable tbody td{color:#111827;white-space:nowrap;border-bottom:1px solid #eef0f6;padding:10px 12px;font-size:12px}.marketTable tbody tr:hover{background:#f6f8ff}.tdRight{text-align:right;font-variant-numeric:tabular-nums}.tdLeft{text-align:left}.marketTable thead th:first-child{z-index:999;color:#fff;background:#2f2d79;position:sticky;top:0;left:0;box-shadow:2px 0 #00000014}.marketTable tbody td:first-child{z-index:200;background:#fff;position:sticky;left:0;box-shadow:2px 0 #00000014}.pos{color:#0a8f08;font-weight:700}.neg{color:#d11a2a;font-weight:700}.muted{color:#6b7280}.tableBox::-webkit-scrollbar{width:12px;height:12px}.tableBox::-webkit-scrollbar-track{background:#eef0f6;border-radius:999px}.tableBox::-webkit-scrollbar-thumb{background:#b8bfd6;border-radius:999px}.tableBox::-webkit-scrollbar-thumb:hover{background:#9aa4c5}.headerLabelWrap{align-items:center;gap:6px;display:inline-flex}.filterControlWrap{align-items:center;display:inline-flex;position:relative}.filterIconBtn{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff8c;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex}.filterIconBtn svg{fill:currentColor;width:11px;height:11px}.filterIconBtn.active{background:#fff3;border-color:#ffffffe6}.filterMenu{z-index:3000;background:#f8faff;border:1px solid #d7dbe7;border-radius:8px;flex-direction:column;gap:4px;min-width:84px;padding:4px;display:flex;position:fixed;transform:translate(-100%);box-shadow:0 8px 20px #11182738}.filterMenu button{text-align:left;color:#111827;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:7px 8px;font-size:12px}.filterMenu button:hover{background:#f3f5ff}.filterMenu button.active{background:#e8efff;font-weight:700}.draggableColumn{-webkit-user-select:none;user-select:none}.draggableColumn .headerLabelWrap{cursor:grab}.draggingColumn{opacity:.55}.loginPage{background:#f4f7fb;place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{background:#fff;border:1px solid #dbe4f0;border-radius:12px;gap:10px;width:min(420px,100%);padding:20px;display:grid}.loginCard h1{margin:0;font-size:1.4rem}.loginCard p{color:#5b6b85;margin:0 0 4px}.loginCard label{font-weight:600}.loginCard input{border:1px solid #bfd1e8;border-radius:8px;padding:10px;font-size:.95rem}.loginCard button{color:#fff;cursor:pointer;background:#1366d6;border:none;border-radius:8px;margin-top:8px;padding:10px 14px;font-size:.95rem}.loginCard button:disabled{cursor:not-allowed;background:#87abe1}.loginError{color:#b00020;font-weight:600}
