body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: #1a1a2e;
    color: #eee;
    padding: 20px;
    max-width: 1280px;
    margin: 0 auto;
}
h1 { color: #00d4ff; text-align: center; }
h2 { color: #888; margin-top: 40px; }
table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: #16213e;
    border-radius: 8px;
    overflow: hidden;
}
th, td {
    padding: 12px 16px;
    text-align: right;
    border-bottom: 1px solid rgba(136,136,136,0.5);
    font-size: 13px;
}
th { background: #0f3460; color: #00d4ff; }
th.sortable { cursor: pointer; user-select: none; }
th.sortable:hover { background: #1a4a7a; }
th.sortable::after { content: ''; margin-left: 5px; opacity: 0.3; }
th.sortable.asc::after { content: ' ^'; opacity: 1; }
th.sortable.desc::after { content: ' v'; opacity: 1; }
td:first-child, th:first-child { text-align: left; white-space: nowrap; }
tr:hover { background: #1a3a5c; }
.positive { color: #00ff88; }
.negative { color: #ff4757; }
.highlight { background: #0f3460; }
.note {
    color: #666;
    font-size: 14px;
    text-align: center;
    margin-top: 30px;
}
.refresh {
    text-align: center;
    margin: 20px;
}
.refresh a {
    color: #00d4ff;
    text-decoration: none;
    padding: 10px 20px;
    border: 1px solid #00d4ff;
    border-radius: 4px;
}
.refresh a:hover { background: #00d4ff; color: #1a1a2e; }
.start-time {
    text-align: center;
    color: #00d4ff;
    margin-bottom: 15px;
    font-size: 14px;
}

/* Control panel */
.ctrl-panel {
    background: linear-gradient(180deg, #141e35 0%, #16213e 100%);
    border: 1px solid rgba(0, 212, 255, 0.12);
    border-radius: 10px;
    padding: 12px 18px;
    margin: 0 0 24px 0;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255,255,255,0.03);
}
.ctrl-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    flex-wrap: wrap;
}
.ctrl-row + .ctrl-row {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.ctrl-group {
    display: flex;
    align-items: center;
    gap: 6px;
}
.ctrl-sep {
    width: 1px;
    height: 22px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,0.15), transparent);
    margin: 0 6px;
    flex-shrink: 0;
}
.ctrl-hint {
    color: #667;
    font-size: 12px;
    margin-right: 2px;
}
.ctrl-select {
    padding: 5px 10px;
    background: #0c1220;
    color: #ccc;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 6px;
    font-size: 12px;
    transition: border-color 0.2s;
}
.ctrl-select:focus { border-color: #00d4ff; outline: none; }
.ctrl-input {
    padding: 5px 8px;
    background: #0c1220;
    color: #ccc;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 6px;
    font-size: 12px;
    text-align: center;
    transition: border-color 0.2s;
}
.ctrl-input:focus { border-color: #ff9500; outline: none; background: #111a2e; }
.ctrl-input-sim { border-color: rgba(255, 149, 0, 0.25); }

/* Base button style inside panel */
.ctrl-panel button {
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 500;
    background: #0c1220;
    color: #889;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
}
.ctrl-panel button:hover {
    background: #182a48;
    color: #ddd;
    border-color: rgba(255,255,255,0.15);
}

/* Segmented button group (time buttons) */
.ctrl-seg-group {
    display: flex;
    background: #0a0f1e;
    border-radius: 8px;
    padding: 2px;
    gap: 2px;
    border: 1px solid rgba(255,255,255,0.06);
}
.ctrl-seg-group button {
    border: none !important;
    border-radius: 6px;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 500;
    background: transparent;
    color: #667;
    transition: all 0.2s ease;
}
.ctrl-seg-group button:hover {
    background: rgba(0, 212, 255, 0.08);
    color: #aab;
}
.ctrl-seg-group button.active {
    background: #00d4ff;
    color: #0a1628;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(0, 212, 255, 0.3);
}

/* Accent button (Go, Start Fresh) */
.ctrl-btn-accent {
    background: rgba(0, 212, 255, 0.12) !important;
    color: #00d4ff !important;
    border-color: rgba(0, 212, 255, 0.3) !important;
    font-weight: 600 !important;
}
.ctrl-btn-accent:hover {
    background: rgba(0, 212, 255, 0.22) !important;
    box-shadow: 0 0 12px rgba(0, 212, 255, 0.15);
}

/* Warm button (Apply sim) */
.ctrl-btn-warm {
    background: rgba(255, 149, 0, 0.15) !important;
    color: #ff9500 !important;
    border-color: rgba(255, 149, 0, 0.35) !important;
    font-weight: 600 !important;
}
.ctrl-btn-warm:hover {
    background: rgba(255, 149, 0, 0.25) !important;
    box-shadow: 0 0 12px rgba(255, 149, 0, 0.15);
}

/* Per-card "Show all" toggle — re-derives the lane from raw segment data with
   the calendar (Friday / blocked-hours) skip removed. Green when active. */
.showall-btn {
    margin-left: 10px;
    font-size: 0.5em !important;
    padding: 3px 8px !important;
    vertical-align: middle;
    opacity: 0.85;
}
.showall-btn.showall-on {
    background: rgba(0, 255, 136, 0.18) !important;
    color: #00ff88 !important;
    border-color: rgba(0, 255, 136, 0.5) !important;
    opacity: 1;
    box-shadow: 0 0 10px rgba(0, 255, 136, 0.18);
}

/* Active sim badge */
.ctrl-badge {
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 10px;
    font-weight: 600;
}
.ctrl-badge-warm {
    background: rgba(255, 149, 0, 0.12);
    color: #ff9500;
    border: 1px solid rgba(255, 149, 0, 0.25);
}

/* Toggle switch (Direct Only) */
.ctrl-toggle-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 4px 14px 4px 6px;
    border-radius: 8px;
    border: 1px solid rgba(232, 197, 71, 0.15);
    background: rgba(232, 197, 71, 0.04);
    transition: all 0.25s ease;
    user-select: none;
}
.ctrl-toggle-switch:hover {
    border-color: rgba(232, 197, 71, 0.35);
    background: rgba(232, 197, 71, 0.08);
}
.ctrl-toggle-switch.active {
    border-color: rgba(232, 197, 71, 0.5);
    background: rgba(232, 197, 71, 0.1);
    box-shadow: 0 0 16px rgba(232, 197, 71, 0.1);
}
.ctrl-toggle-switch input { display: none; }
.ctrl-toggle-track {
    width: 34px;
    height: 18px;
    background: #1a2240;
    border-radius: 10px;
    position: relative;
    transition: background 0.25s ease;
    border: 1px solid rgba(255,255,255,0.06);
    flex-shrink: 0;
}
.ctrl-toggle-switch.active .ctrl-toggle-track {
    background: rgba(232, 197, 71, 0.25);
    border-color: rgba(232, 197, 71, 0.4);
}
.ctrl-toggle-thumb {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #445;
    transition: all 0.25s ease;
}
.ctrl-toggle-switch.active .ctrl-toggle-thumb {
    left: 18px;
    background: #e8c547;
    box-shadow: 0 0 8px rgba(232, 197, 71, 0.6);
}
.ctrl-toggle-label {
    color: #556;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.3px;
    transition: color 0.25s ease;
}
.ctrl-toggle-switch.active .ctrl-toggle-label {
    color: #e8c547;
}

/* Pill toggle buttons (FDV, SL, SL+TP) */
.ctrl-pill {
    border-radius: 20px !important;
    padding: 5px 16px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px;
    transition: all 0.25s ease !important;
}
.ctrl-pill-cyan {
    color: #3aa !important;
    border-color: rgba(0, 212, 255, 0.2) !important;
}
.ctrl-pill-cyan:hover {
    background: rgba(0, 212, 255, 0.1) !important;
    border-color: rgba(0, 212, 255, 0.4) !important;
    box-shadow: 0 0 14px rgba(0, 212, 255, 0.1);
    color: #00d4ff !important;
}
.ctrl-pill-red {
    color: #b66 !important;
    border-color: rgba(255, 107, 107, 0.2) !important;
}
.ctrl-pill-red:hover {
    background: rgba(255, 107, 107, 0.1) !important;
    border-color: rgba(255, 107, 107, 0.4) !important;
    box-shadow: 0 0 14px rgba(255, 107, 107, 0.1);
    color: #ff6b6b !important;
}
.ctrl-pill-teal {
    color: #5aa !important;
    border-color: rgba(78, 205, 196, 0.2) !important;
}
.ctrl-pill-teal:hover {
    background: rgba(78, 205, 196, 0.1) !important;
    border-color: rgba(78, 205, 196, 0.4) !important;
    box-shadow: 0 0 14px rgba(78, 205, 196, 0.1);
    color: #4ecdc4 !important;
}
.ctrl-status {
    color: #556;
    font-size: 11px;
    margin-right: 4px;
}

/* Legacy filter-row (keep for any remaining usage) */
.filter-row {
    text-align: center;
    margin: 20px 0;
}
.filter-row input[type="number"] {
    width: 60px;
    padding: 8px 12px;
    font-size: 14px;
    background: #16213e;
    color: #eee;
    border: 1px solid #00d4ff;
    border-radius: 4px;
    text-align: center;
}
.filter-row input[type="number"]:focus {
    outline: none;
    background: #1a3a5c;
}
.filter-row button {
    padding: 8px 12px;
    font-size: 14px;
    background: #16213e;
    color: #eee;
    border: 1px solid #00d4ff;
    border-radius: 4px;
    cursor: pointer;
    margin: 0 2px;
}
.filter-row button:hover {
    background: #1a3a5c;
}
.filter-row button.active {
    background: #00d4ff;
    color: #1a1a2e;
}
.filter-row .go-btn {
    background: #00d4ff;
    color: #1a1a2e;
    font-weight: bold;
}
.filter-row .go-btn:hover {
    background: #00b8e6;
}

/* Expandable chart styles */
.t5-row:hover { background: #1a3a5c; }
.t5-row td:first-child::before {
    content: '+';
    display: inline-block;
    width: 16px;
    margin-right: 8px;
    color: #00d4ff;
    font-weight: bold;
}
.t5-row.expanded td:first-child::before {
    content: '-';
}
.chart-row { display: none; }
.chart-row.visible { display: table-row; }
.chart-row td {
    padding: 15px;
    background: #0f3460;
}
.chart-row-spacer td {
    padding: 0;
    height: 0;
}
.chart-row-spacer.visible td {
    padding: 15px;
    height: 280px;
}
.chart-container {
    background: #16213e;
    border-radius: 8px;
    padding: 15px;
    position: relative;
}
.chart-controls {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    justify-content: center;
}
.chart-controls button {
    padding: 6px 14px;
    font-size: 13px;
    background: #16213e;
    color: #eee;
    border: 1px solid #00d4ff;
    border-radius: 4px;
    cursor: pointer;
}
.chart-controls button:hover {
    background: #1a3a5c;
}
.chart-controls button.active {
    background: #00d4ff;
    color: #1a1a2e;
}
.chart-loading {
    text-align: center;
    color: #888;
    padding: 40px;
}
.chart-canvas-wrapper {
    height: 250px;
}

/* Tooltip styles */

/* Medal/rank styling */
.rank-cell { text-align: center; font-weight: bold; }
.medal { display: inline-block; width: 24px; height: 24px; border-radius: 50%; line-height: 24px; text-align: center; font-size: 12px; }
.medal-gold { background: linear-gradient(145deg, #ffd700, #b8860b); color: #1a1a2e; box-shadow: 0 2px 4px rgba(255,215,0,0.4); }
.medal-silver { background: linear-gradient(145deg, #c0c0c0, #808080); color: #1a1a2e; box-shadow: 0 2px 4px rgba(192,192,192,0.4); }
.medal-bronze { background: linear-gradient(145deg, #cd7f32, #8b4513); color: #fff; box-shadow: 0 2px 4px rgba(205,127,50,0.4); }
.medal-other { background: #2a3a5c; color: #888; }

/* Group header styling */
.group-header { background: #0a2040; color: #888; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; }
.group-header th { border-bottom: none; padding-bottom: 4px; }
.sub-header th { padding-top: 4px; }

/* Split table layout (legacy) */
.table-pair {
    display: flex;
    gap: 20px;
    margin: 20px 0;
}
.split-table {
    flex: 1;
    min-width: 0;
}

/* New flex-based comparison layout */
.comparison-section {
    background: #16213e;
    border-radius: 8px;
    overflow: hidden;
    margin: 20px 0;
}
.table-headers {
    display: flex;
    gap: 20px;
}
.header-group {
    flex: 1;
    background: #0f3460;
}
.group-title {
    text-align: center;
    padding: 12px 16px;
    font-weight: bold;
    font-size: 14px;
    border-bottom: 1px solid rgba(136,136,136,0.3);
}
.column-headers {
    display: flex;
}
.col-header {
    flex: 0.8;
    padding: 10px 12px;
    text-align: right;
    color: #00d4ff;
    font-size: 13px;
    font-weight: bold;
}
.col-header:nth-child(2) {
    text-align: left;
    flex: 2;
}
.row-wrapper {
    border-bottom: 1px solid rgba(136,136,136,0.3);
}
.row-wrapper:last-child {
    border-bottom: none;
}
.row-pair {
    display: flex;
    gap: 20px;
}
.row-pair:hover {
    background: #1a3a5c;
}
.row-pair.highlight {
    background: #0f3460;
}
.data-row {
    flex: 1;
    display: flex;
}
.data-row.hidden-row {
    visibility: hidden;
}
.cell {
    flex: 0.8;
    padding: 12px 12px;
    text-align: right;
    font-size: 13px;
}
.cell-strategy {
    text-align: left;
    flex: 2 !important;
}
/* Row action icons (trades + chart) */
.row-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    font-size: 14px;
    transition: all 0.2s;
    vertical-align: middle;
    margin-right: 3px;
    flex-shrink: 0;
}
.icon-trades {
    color: #00d4ff;
    background: rgba(0, 212, 255, 0.1);
    border: 1px solid rgba(0, 212, 255, 0.2);
}
.icon-trades:hover, .icon-trades.active {
    background: rgba(0, 212, 255, 0.25);
    border-color: rgba(0, 212, 255, 0.5);
}
.icon-chart {
    color: #ff9500;
    background: rgba(255, 149, 0, 0.1);
    border: 1px solid rgba(255, 149, 0, 0.2);
}
.icon-chart:hover, .icon-chart.active {
    background: rgba(255, 149, 0, 0.25);
    border-color: rgba(255, 149, 0, 0.5);
}
.icon-daily {
    color: #00d4ff;
    background: rgba(0, 212, 255, 0.1);
    border: 1px solid rgba(0, 212, 255, 0.2);
}
.icon-daily:hover, .icon-daily.active {
    background: rgba(0, 212, 255, 0.25);
    border-color: rgba(0, 212, 255, 0.5);
}
.icon-weekly {
    color: #4ade80;
    background: rgba(74, 222, 128, 0.1);
    border: 1px solid rgba(74, 222, 128, 0.2);
}
.icon-weekly:hover, .icon-weekly.active {
    background: rgba(74, 222, 128, 0.25);
    border-color: rgba(74, 222, 128, 0.5);
}
.icon-tokens {
    color: #c084fc;
    background: rgba(192, 132, 252, 0.1);
    border: 1px solid rgba(192, 132, 252, 0.2);
}
.icon-tokens:hover, .icon-tokens.active {
    background: rgba(192, 132, 252, 0.25);
    border-color: rgba(192, 132, 252, 0.5);
}

/* Trades panel */
.trades-row-full {
    display: none;
    padding: 15px;
    background: #0f3460;
}
.trades-row-full.visible {
    display: block;
}
.trades-container {
    background: #16213e;
    border-radius: 8px;
    padding: 15px;
}
.trades-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.trades-wallet-filter {
    display: inline-flex;
    background: #0a0f1e;
    border-radius: 6px;
    padding: 2px;
    gap: 2px;
    border: 1px solid rgba(255,255,255,0.06);
}
.trades-wallet-filter button {
    border: none;
    border-radius: 4px;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 500;
    background: transparent;
    color: #667;
    cursor: pointer;
    transition: all 0.2s ease;
}
.trades-wallet-filter button:hover {
    background: rgba(0, 212, 255, 0.08);
    color: #aab;
}
.trades-wallet-filter button.active {
    background: #00d4ff;
    color: #0a1628;
    font-weight: 700;
}
.trades-list-table {
    width: auto;
    border-collapse: collapse;
    font-size: 12px;
}
.trades-list-table th {
    background: #0f3460;
    color: #00d4ff;
    padding: 8px 12px;
    text-align: left;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.trades-list-table td {
    padding: 6px 12px;
    border-bottom: 1px solid rgba(136,136,136,0.15);
    color: #ccc;
}
.trades-list-table tr:hover {
    background: rgba(0, 212, 255, 0.05);
}
.trades-list-table a {
    color: #00d4ff;
    text-decoration: none;
}
.trades-list-table a:hover {
    text-decoration: underline;
}
.trade-type-badge {
    display: inline-block;
    padding: 1px 6px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: bold;
}
.type-active {
    background: rgba(0, 255, 136, 0.15);
    color: #00ff88;
}
.type-probation {
    background: rgba(255, 149, 0, 0.15);
    color: #ff9500;
}
.trades-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 0 0;
    font-size: 12px;
}
.trades-pagination button {
    padding: 4px 12px;
    background: #0f3460;
    color: #00d4ff;
    border: 1px solid rgba(0, 212, 255, 0.3);
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
}
.trades-pagination button:hover {
    background: rgba(0, 212, 255, 0.15);
}
.chart-row-full {
    display: none;
    padding: 15px;
    background: #0f3460;
}
.chart-row-full.visible {
    display: block;
}

/* Daily PnL panel */
.daily-row-full {
    display: none;
    padding: 15px;
    background: #0f3460;
}
.daily-row-full.visible {
    display: block;
}
.daily-container {
    background: #16213e;
    border-radius: 8px;
    padding: 15px;
    max-height: 500px;
    overflow-y: auto;
}
.daily-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.daily-table th {
    text-align: right;
    padding: 6px 10px;
    color: #888;
    border-bottom: 1px solid #1a1a2e;
    position: sticky;
    top: 0;
    background: #16213e;
}
.daily-table th:first-child { text-align: left; }
.daily-table td {
    text-align: right;
    padding: 5px 10px;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.daily-table td:first-child { text-align: left; color: #aaa; }
.daily-table tr.daily-total td {
    border-top: 2px solid #00d4ff;
    font-weight: bold;
    padding-top: 8px;
}

/* Weekly PnL panel — reuses daily-table styles */
.weekly-row-full {
    display: none;
    padding: 15px;
    background: #0f3460;
}
.weekly-row-full.visible {
    display: block;
}
.weekly-container {
    background: #16213e;
    border-radius: 8px;
    padding: 15px;
    max-height: 500px;
    overflow-y: auto;
}

/* Tokens PnL panel — reuses daily styles */
.tokens-row-full {
    display: none;
    padding: 15px;
    background: #0f3460;
}
.tokens-row-full.visible {
    display: block;
}
.tokens-container {
    background: #16213e;
    border-radius: 8px;
    padding: 15px;
    max-height: 500px;
    overflow-y: auto;
}
.tokens-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.tokens-table th {
    text-align: right;
    padding: 6px 10px;
    color: #888;
    border-bottom: 1px solid #1a1a2e;
    position: sticky;
    top: 0;
    background: #16213e;
}
.tokens-table th:first-child { text-align: left; }
.tokens-table td {
    text-align: right;
    padding: 5px 10px;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.tokens-table td:first-child { text-align: left; color: #aaa; font-family: monospace; font-size: 11px; }
.tokens-table td.token-cell a { color: #4ec0ff; text-decoration: none; }
.tokens-table tr.tokens-total td {
    border-top: 2px solid #00d4ff;
    font-weight: bold;
    padding-top: 8px;
}

/* Rank column */
.col-rank {
    flex: 0 0 32px !important;
    text-align: center !important;
}
.cell-rank {
    flex: 0 0 32px !important;
    text-align: center !important;
    padding: 10px 4px !important;
}
.rank-medal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    font-size: 9px;
    font-weight: bold;
}
.rank-gold {
    background: linear-gradient(145deg, #ffd700, #b8860b);
    color: #1a1a2e;
    box-shadow: 0 2px 4px rgba(255,215,0,0.4);
}
.rank-silver {
    background: linear-gradient(145deg, #c0c0c0, #808080);
    color: #1a1a2e;
    box-shadow: 0 2px 4px rgba(192,192,192,0.4);
}
.rank-bronze {
    background: linear-gradient(145deg, #cd7f32, #8b4513);
    color: #fff;
    box-shadow: 0 2px 4px rgba(205,127,50,0.4);
}
.rank-other {
    background: #2a3a5c;
    color: #888;
}

/* Sortable flex headers */
.col-header.sortable {
    cursor: pointer;
    user-select: none;
    transition: background 0.15s ease, color 0.15s ease;
    position: relative;
}
.col-header.sortable:hover {
    background: rgba(0, 212, 255, 0.15);
    color: #fff;
}
.col-header.sortable::after {
    content: '';
    margin-left: 4px;
    opacity: 0.3;
    font-size: 10px;
}
.col-header.sortable.asc::after {
    content: ' ^';
    opacity: 1;
    color: #00ff88;
}
.col-header.sortable.desc::after {
    content: ' v';
    opacity: 1;
    color: #ff9500;
}

/* Visual polish for comparison sections */
.comparison-section {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 212, 255, 0.1);
}
.header-group {
    border-bottom: 2px solid rgba(0, 212, 255, 0.2);
}
.active-header {
    border-right: 1px solid rgba(0, 212, 255, 0.1);
}
.group-title {
    background: rgba(0, 0, 0, 0.2);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
}
.column-headers {
    background: rgba(0, 0, 0, 0.1);
    border-top: 1px solid rgba(0, 212, 255, 0.1);
}
.row-wrapper {
    transition: background 0.1s ease;
}
.row-pair:hover {
    background: linear-gradient(90deg, rgba(0, 255, 136, 0.05), transparent 50%, rgba(255, 149, 0, 0.05));
}
.data-row.active-data {
    border-right: 1px solid rgba(0, 212, 255, 0.1);
}

/* Alternating row backgrounds for better readability */
.row-wrapper:nth-child(odd) {
    background: rgba(0, 0, 0, 0.1);
}
.row-wrapper:nth-child(even) {
    background: transparent;
}
.row-wrapper:nth-child(odd):hover .row-pair,
.row-wrapper:nth-child(even):hover .row-pair {
    background: linear-gradient(90deg, rgba(0, 255, 136, 0.08), transparent 50%, rgba(255, 149, 0, 0.08));
}

/* ---- Calendar view ---- */
.cal-exec {
    background: #16213e;
    border-radius: 6px;
    margin-bottom: 18px;
    padding: 10px 14px 14px;
}
.cal-exec-head {
    display: flex;
    align-items: baseline;
    gap: 14px;
    border-bottom: 1px solid #0f3460;
    padding-bottom: 8px;
    margin-bottom: 12px;
}
.cal-exec-name {
    font-size: 1.15em;
    font-weight: 600;
    color: #00d4ff;
}
.cal-exec-total { font-size: 0.9em; color: #aaa; }

.cal-months {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.cal-month {
    background: #141e35;
    border-radius: 5px;
    padding: 8px 10px 10px;
}
.cal-month-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    font-size: 0.85em;
    color: #ccc;
    margin-bottom: 6px;
    font-weight: 600;
}
.cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 58px);
    gap: 3px;
}
.cal-dow {
    text-align: center;
    font-size: 0.7em;
    color: #667;
    padding-bottom: 2px;
}
.cal-cell {
    height: 50px;
    border-radius: 3px;
    padding: 2px 3px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    overflow: hidden;
    font-size: 0.7em;
    background: #0c1220;
}
.cal-empty { background: transparent; }
.cal-notrade { background: #0e1525; opacity: 0.55; }
.cal-daynum { color: #778; font-size: 0.9em; line-height: 1; }
.cal-pnl { font-weight: 600; font-size: 0.95em; line-height: 1.25; margin-top: 2px; }
.cal-tc { color: #889; font-size: 0.85em; line-height: 1; }
.cal-pos { background: rgba(0, 255, 136, 0.13); }
.cal-neg { background: rgba(255, 71, 87, 0.13); }
.cal-flat { background: #0c1220; }
.cal-cell:hover { outline: 1px solid #00d4ff; }
.cal-day { cursor: pointer; }

.cal-weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(86px, 1fr));
    gap: 3px;
    max-width: 800px;
    margin-bottom: 10px;
}
.cal-wd {
    background: #141e35;
    border-radius: 4px;
    padding: 4px 7px 5px;
    font-size: 0.75em;
    line-height: 1.35;
}
.cal-wd-empty { opacity: 0.45; }
.cal-wd-name { color: #667; font-size: 0.9em; }
.cal-wd-pnl { font-weight: 600; }
.cal-wd-sub { color: #889; font-size: 0.9em; }

.cal-detail {
    color: #889;
    font-size: 0.8em;
    background: #10192e;
    border-radius: 4px;
    padding: 5px 10px;
    margin-bottom: 10px;
    max-width: 800px;
}

