.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:0;height:100vh;overflow-y:auto;transition:width .25s ease,min-width .25s ease}.sidebar.collapsed{width:60px;min-width:60px}.sidebar.collapsed .sidebar-logo,.sidebar.collapsed .portfolio-info,.sidebar.collapsed .create-portfolio-btn span,.sidebar.collapsed .nav-item span,.sidebar.collapsed .nav-chevron,.sidebar.collapsed .sub-nav{display:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:56px;flex-shrink:0;background:#1e40af;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo{font-size:16px;font-weight:700;color:#fff;letter-spacing:-.3px}.logo-italic{font-style:italic}.collapse-btn{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#2563eb;background:#ffffffe6;transition:background .2s}.collapse-btn:hover{background:#fff}.sidebar.collapsed .sidebar-header{justify-content:center;padding:16px 8px 12px}.sidebar.collapsed .nav-item{justify-content:center;padding:10px 0}.sidebar.collapsed .portfolio-item,.sidebar.collapsed .create-portfolio-btn{justify-content:center}.portfolios-section{padding:8px 12px 16px;border-bottom:1px solid var(--border-color)}.portfolio-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer;transition:background .15s}.portfolio-item:hover,.portfolio-item.active{background:var(--bg-hover)}.portfolio-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:#fff;flex-shrink:0}.portfolio-info{display:flex;flex-direction:column;overflow:hidden}.portfolio-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portfolio-owner{font-size:11px;color:var(--text-secondary)}.create-portfolio-btn{display:flex;align-items:center;gap:8px;padding:8px;margin-top:4px;font-size:13px;color:var(--text-secondary);border-radius:8px;transition:all .15s;width:100%}.create-portfolio-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav{padding:12px;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:400;color:var(--text-secondary);transition:all .15s}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--bg-hover);color:var(--accent-blue);font-weight:500}.nav-chevron{margin-left:auto;opacity:.6}.sub-nav{padding-left:16px}.nav-item.sub-item{font-size:13px;padding:8px 12px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:linear-gradient(135deg,#1e40af,#2563eb 60%,#3b82f6);border-bottom:none;height:56px}[data-theme=dark] .topbar{background:linear-gradient(135deg,#1e3a8a,#1d4ed8 60%,#2563eb)}.search-container{position:relative;flex:0 1 480px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#ffffffa6}.search-input{width:100%;padding:8px 12px 8px 36px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#ffffff26;color:#fff;font-size:13px;outline:none;transition:border-color .2s,background .2s}.search-input::placeholder{color:#fff9}.search-input:focus{border-color:#fff9;background:#fff3}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-icon-btn{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2563eb;background:#ffffffeb;box-shadow:0 1px 4px #00000026;transition:all .15s}.topbar-icon-btn:hover{background:#fff;color:#1d4ed8;box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.topbar-icon-btn.accent-green{color:#16a34a}.topbar-icon-btn.theme-toggle{color:#ea580c}.user-avatar{margin-left:4px}.avatar-circle{width:32px;height:32px;border-radius:50%;background:var(--avatar-bg);border:2px solid rgba(255,255,255,.35)}.avatar-img{object-fit:cover}.summary-cards-wrapper{display:flex;flex-direction:column;gap:16px}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.summary-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s}.summary-card:hover{border-color:var(--border-hover)}.summary-card.highlighted{border-color:var(--accent-blue);border-width:1.5px}.card-header{display:flex;align-items:center;justify-content:space-between}.card-title{font-size:13px;font-weight:400;color:var(--text-secondary)}.card-value{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.card-value.positive{color:var(--accent-green)}.card-value.negative{color:var(--accent-red)}.card-subtitle{font-size:12px;font-weight:400;color:var(--text-muted)}.card-change{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.card-change.positive{color:var(--accent-green)}.card-change.negative{color:var(--accent-red)}.card-value-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.card-inline-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.card-badge{font-size:28px;font-weight:700;white-space:nowrap;letter-spacing:-.5px}.card-badge-sep{color:var(--text-muted)}.card-badge .positive{color:var(--accent-green)}.card-badge .negative{color:var(--accent-red)}@media (max-width: 1024px){.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.summary-cards{grid-template-columns:1fr}}.performance-chart{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px}.chart-header{display:flex;align-items:center;justify-content:space-between}.chart-title{font-size:15px;font-weight:600;color:var(--text-primary)}.chart-filters{display:flex;gap:16px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:capitalize}.filter-select{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:13px;min-width:120px;transition:border-color .2s}.filter-select:hover{border-color:var(--border-hover)}.filter-dropdown-wrapper{position:relative}.filter-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:120px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px var(--tooltip-shadow);z-index:10;overflow:hidden}.filter-dropdown-item{display:block;width:100%;padding:8px 12px;text-align:left;font-size:13px;color:var(--text-primary);background:transparent;border:none;cursor:pointer;transition:background .15s}.filter-dropdown-item:hover{background:var(--bg-hover, rgba(255,255,255,.05))}.filter-dropdown-item.active{color:var(--accent-blue);font-weight:600}.chart-container{margin-top:4px}.chart-tooltip{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;box-shadow:0 8px 24px var(--tooltip-shadow)}.tooltip-label{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.chart-legend{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;padding-top:4px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.recent-pnl-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.recent-pnl-header{display:flex;align-items:flex-start;justify-content:space-between}.recent-pnl-title{font-size:14px;font-weight:600;color:var(--text-primary)}.recent-pnl-subtitle{font-size:11px;color:var(--text-muted);margin-top:2px}.recent-pnl-table{display:flex;flex-direction:column;overflow-x:auto;overflow-y:auto;flex:1;min-height:0}.recent-pnl-table-header{display:grid;grid-template-columns:1fr 50px 80px 80px 100px 80px;gap:0 8px;padding:8px 0;border-bottom:1px solid var(--border-color);font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.recent-pnl-table-row{display:grid;grid-template-columns:1fr 50px 80px 80px 100px 80px;gap:0 8px;padding:10px 0;border-bottom:1px solid var(--row-border);font-size:13px;align-items:center}.recent-pnl-table-row:last-child{border-bottom:none}.col-date{color:var(--text-muted);font-size:12px}.col-security{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-right{text-align:right;color:var(--text-primary);white-space:nowrap}.pnl-positive{color:var(--accent-green);font-weight:500;display:flex;align-items:center;justify-content:flex-end;gap:3px}.pnl-negative{color:var(--accent-red);font-weight:500;display:flex;align-items:center;justify-content:flex-end;gap:3px}.recent-pnl-empty{padding:20px 0;text-align:center;font-size:13px;color:var(--text-muted)}@media (max-width: 768px){.recent-pnl-table-header,.recent-pnl-table-row{gap:0 8px;font-size:11px}}.return-table-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.return-header{display:flex;align-items:flex-start;justify-content:space-between}.return-title{font-size:14px;font-weight:600;color:var(--text-primary)}.return-subtitle{font-size:11px;color:var(--text-muted);margin-top:2px}.return-table{display:flex;flex-direction:column;overflow-y:auto;flex:1;min-height:0}.return-table-header{display:grid;grid-template-columns:1fr 1fr 1fr;padding:8px 0;border-bottom:1px solid var(--border-color);font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.return-table-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:10px 0;border-bottom:1px solid var(--row-border);font-size:13px;align-items:center}.return-table-row:last-child{border-bottom:none}.return-month{color:var(--text-primary);font-weight:500}.return-percent{display:flex;align-items:center;gap:6px;color:var(--text-primary)}.icon-positive{color:var(--accent-green)}.icon-negative{color:var(--accent-red)}.return-dollar{color:var(--text-primary);text-align:right}.card-actions{display:flex;align-items:center;gap:6px}.card-icon{color:var(--text-muted);cursor:pointer;transition:color .15s}.card-icon:hover{color:var(--text-secondary)}.dashboard{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.dashboard-header{display:flex;align-items:center;justify-content:space-between}.dashboard-title{font-size:22px;font-weight:700;color:var(--text-primary)}.dashboard-actions{display:flex;gap:8px}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:500;transition:all .15s}.action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.fy-dropdown-wrapper{position:relative}.fy-btn{font-weight:600;color:var(--accent-blue)}.fy-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:140px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px var(--tooltip-shadow);z-index:20;overflow:hidden}.fy-dropdown-item{display:block;width:100%;padding:8px 14px;text-align:left;font-size:13px;color:var(--text-primary);background:transparent;border:none;cursor:pointer;transition:background .15s}.fy-dropdown-item:hover{background:var(--bg-hover, rgba(255,255,255,.05))}.fy-dropdown-item.active{color:var(--accent-blue);font-weight:600}.zerodha-connect-wrapper{display:flex;align-items:center}.broker-badge{display:flex;align-items:center;gap:7px;padding:5px 12px;border-radius:6px;font-size:13px;font-weight:500;border:1px solid transparent}.broker-badge--connected{color:#22c55e;background:#22c55e14;border-color:#22c55e40}.broker-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;box-shadow:0 0 6px #22c55e99}.broker-badge--checking{color:var(--text-muted);gap:6px}.broker-badge--checking .spinning{animation:spin 1s linear infinite}.dashboard-middle{display:grid;grid-template-columns:1fr 1fr 280px;gap:16px;min-height:0}.dashboard-chart-area,.dashboard-pnl-area,.dashboard-return-area{min-width:0;min-height:0}.dashboard-chart-area>*,.dashboard-pnl-area>*,.dashboard-return-area>*{height:100%;box-sizing:border-box}.dashboard-bottom-panels{display:grid;grid-template-columns:1fr;gap:16px;min-height:0}@media (max-width: 1200px){.dashboard-middle{grid-template-columns:1fr 1fr}.dashboard-return-area{grid-column:1 / -1}}@media (max-width: 768px){.dashboard{padding:16px}.dashboard-middle{grid-template-columns:1fr}}.trades-page{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.trades-header{display:flex;align-items:center;justify-content:space-between}.trades-title{font-size:22px;font-weight:700;color:var(--text-primary)}.trades-actions{display:flex;gap:8px;align-items:center}.trades-page .fy-dropdown-wrapper{position:relative}.trades-page .action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:500;transition:all .15s;cursor:pointer}.trades-page .action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.trades-page .fy-btn{font-weight:600;color:var(--accent-blue)}.trades-page .fy-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:140px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px var(--tooltip-shadow);z-index:20;overflow:hidden}.trades-page .fy-dropdown-item{display:block;width:100%;padding:8px 14px;text-align:left;font-size:13px;color:var(--text-primary);background:transparent;border:none;cursor:pointer;transition:background .15s}.trades-page .fy-dropdown-item:hover{background:var(--bg-hover, rgba(255,255,255,.05))}.trades-page .fy-dropdown-item.active{color:var(--accent-blue);font-weight:600}.trades-table-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:auto}.trades-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.trades-table thead tr{background:var(--accent-blue)}.trades-table th{padding:12px 16px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#fff;text-align:left;border-bottom:2px solid var(--accent-blue)}.trades-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.trades-table th.sortable:hover{background:#ffffff26}.trades-table th.sortable svg{display:inline;vertical-align:middle;margin-left:4px;opacity:.9}.trades-table th:nth-child(4),.trades-table th:nth-child(5),.trades-table th:nth-child(6),.trades-table th:nth-child(7){text-align:right}.trades-table th:nth-child(8){text-align:center}.trades-table td{padding:10px 16px;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.trades-table tbody tr{transition:background .15s}.trades-table tbody tr:hover{background:var(--bg-hover)}.trades-table tbody tr:last-child td{border-bottom:none}.action-badge.deposit{background:#4a9eff26;color:var(--accent-blue)}.quantity-cell,.price-cell,.total-cell{text-align:right;font-variant-numeric:tabular-nums}.quantity-cell.negative{color:var(--accent-red)}@media (max-width: 768px){.trades-page{padding:16px}}.add-trade-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;background:var(--accent-blue);color:#fff;font-size:13px;font-weight:500;transition:opacity .15s}.add-trade-btn:hover{opacity:.85}.trade-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;align-items:end}.form-submit-btn{padding:8px 20px;border-radius:8px;background:var(--accent-green);color:#fff;font-size:13px;font-weight:600;transition:opacity .15s;align-self:end}.trades-loading{padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.edit-input{width:100%;padding:4px 8px;border-radius:4px;border:1px solid var(--accent-blue);background:var(--bg-input);color:var(--text-primary);font-size:13px;outline:none}.edit-input.edit-right{text-align:right}.actions-cell{text-align:center;display:flex;gap:4px;justify-content:center}.row-action-btn{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.row-action-btn.edit{color:var(--text-muted)}.positions-page{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.positions-inner{width:100%;padding:0 24px;box-sizing:border-box}.positions-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);flex-shrink:0}.positions-header .positions-inner{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}.positions-title-area{display:flex;align-items:center;gap:8px}.positions-title{font-size:18px;font-weight:700;color:var(--text-primary)}.holdings-count-badge{font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg-hover);border:1px solid var(--border-color);border-radius:20px;padding:1px 8px}.positions-actions{display:flex;align-items:center;gap:10px}.filter-tab:hover:not(.active){background:var(--bg-hover)}.sync-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.sync-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.sync-btn:disabled{opacity:.6;cursor:not-allowed}.holdings-summary-bar{background:var(--bg-card);border-bottom:1px solid var(--border-color);flex-shrink:0}.holdings-summary-bar .positions-inner{display:flex}.summary-tile{flex:1;display:flex;flex-direction:column;gap:6px;padding:20px 28px;border-right:1px solid var(--border-color)}.summary-tile:last-child{border-right:none}.summary-tile-label{font-size:12px;color:var(--text-secondary);font-weight:500;letter-spacing:.2px}.summary-tile-value-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.summary-tile-value{font-size:28px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1}.tile-positive{color:var(--accent-green)}.tile-negative{color:var(--accent-red)}.summary-tile-badge{font-size:12px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap}.badge-pos{background:#22c55e26;color:var(--accent-green)}.badge-neg{background:#ef44441f;color:var(--accent-red)}.positions-table-wrapper{flex:1;overflow-y:auto;overflow-x:auto;background:var(--bg-card)}.positions-table-inner{width:100%;padding:0 24px;box-sizing:border-box}.positions-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.positions-table thead tr{background:var(--accent-blue);position:sticky;top:0;z-index:1}.positions-table th{padding:11px 14px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#fff;text-align:left}.positions-table td{padding:12px 14px;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.positions-table tbody tr{transition:background .12s}.positions-table tbody tr:hover{background:var(--bg-hover)}.positions-table tbody tr:last-child td{border-bottom:none}.positions-table tbody tr.closed-row{opacity:.5}.security-cell{font-weight:600}.pnl-positive{color:var(--accent-green)!important;font-weight:600}.pnl-negative{color:var(--accent-red)!important;font-weight:600}.status-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.open{background:#22c55e26;color:var(--accent-green)}.status-badge.closed{background:#8b8fa326;color:var(--text-muted)}.cmp-cell-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.cmp-value{display:inline-block}.cmp-value.editable{cursor:pointer;border-bottom:1px dashed var(--text-muted)}.cmp-value.editable:hover{color:var(--accent-blue);border-color:var(--accent-blue)}.cmp-input{width:80px;padding:4px 8px;border-radius:4px;border:1px solid var(--accent-blue);background:var(--bg-input);color:var(--text-primary);font-size:13px;text-align:right;outline:none}.tsl-value{display:inline-block}.tsl-value.editable{cursor:pointer;border-bottom:1px dashed var(--text-muted)}.tsl-value.editable:hover{color:var(--accent-blue);border-color:var(--accent-blue)}.tsl-input{width:80px;padding:4px 8px;border-radius:4px;border:1px solid var(--accent-blue);background:var(--bg-input);color:var(--text-primary);font-size:13px;text-align:right;outline:none}.inline-edit{display:flex;align-items:center;gap:4px;justify-content:flex-end}.row-action-btn{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;border:none;background:transparent;cursor:pointer}.row-action-btn.save{color:var(--accent-green)}.row-action-btn.save:hover{background:#22c55e26}.row-action-btn.cancel{color:var(--accent-red)}.row-action-btn.cancel:hover{background:#ef444426}.positions-loading,.positions-empty{padding:60px 40px;text-align:center;color:var(--text-secondary);font-size:14px}.th-engine{background:#64b5f61f!important;border-left:1px solid rgba(100,181,246,.2)}.engine-cell{background:#64b5f60a;border-left:1px solid rgba(100,181,246,.08)}.exit-active-cell{text-align:center}.exit-pct-select{background:var(--bg-input, var(--bg-card));border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:12px;padding:3px 5px;outline:none;cursor:pointer;text-align:right}.exit-pct-select:focus{border-color:var(--accent-blue)}.pos-toggle{position:relative;display:inline-block;width:32px;height:18px;cursor:pointer}.pos-toggle input{opacity:0;width:0;height:0}.pos-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;background:var(--border-color);transition:background .2s}.pos-toggle-track:before{content:"";position:absolute;width:12px;height:12px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.pos-toggle input:checked+.pos-toggle-track{background:var(--accent-green, #22c55e)}.pos-toggle input:checked+.pos-toggle-track:before{transform:translate(14px)}.pnl-page{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.pnl-header{display:flex;align-items:center;justify-content:space-between}.pnl-title{font-size:22px;font-weight:700;color:var(--text-primary)}.pnl-filters{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.pnl-filter-group{display:flex;align-items:center;gap:8px}.pnl-filter-label{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.pnl-date-label{font-size:12px;color:var(--text-muted)}.pnl-select,.pnl-date-input{padding:6px 10px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .15s}.pnl-select:focus,.pnl-date-input:focus{border-color:var(--accent-blue)}.pnl-go-btn{padding:6px 16px;border-radius:6px;background:var(--accent-blue);color:#fff;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:opacity .15s}.pnl-go-btn:hover{opacity:.85}.pnl-filter-divider{width:1px;height:28px;background:var(--border-color)}.pnl-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pnl-summary-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:8px}.pnl-summary-card.card-positive{border-color:var(--accent-green)}.pnl-summary-card.card-negative{border-color:var(--accent-red)}.pnl-card-header{display:flex;align-items:center;justify-content:space-between}.pnl-card-title{font-size:13px;font-weight:500;color:var(--text-secondary)}.pnl-card-period{font-size:11px;color:var(--text-muted);background:var(--bg-hover);padding:2px 8px;border-radius:4px}.pnl-card-value{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:700;color:var(--text-primary)}.card-positive .pnl-card-value{color:var(--accent-green)}.card-negative .pnl-card-value{color:var(--accent-red)}.pnl-table-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:auto}.pnl-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.pnl-table thead tr{background:var(--accent-blue)}.pnl-table th{padding:12px 16px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#fff;text-align:left;border-bottom:2px solid var(--accent-blue)}.pnl-table th:nth-child(n+2){text-align:right}.pnl-table td{padding:10px 16px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.pnl-table tbody tr:hover{background:var(--bg-hover)}.stock-name{font-weight:600}.num-cell.positive{color:var(--accent-green)}.num-cell.negative{color:var(--accent-red)}.pnl-table tfoot tr{background:var(--bg-secondary);font-weight:700}.pnl-table tfoot td{padding:12px 16px;border-top:2px solid var(--border-color);border-bottom:none}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{background:#ffffff1f}.sort-idle{opacity:.45;font-size:11px}.pnl-loading{padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.oc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:400;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.oc-drawer{position:fixed;top:0;right:0;width:620px;max-width:95vw;height:100vh;background:var(--bg-secondary, #1a1a2e);border-left:1px solid var(--border-color, rgba(255,255,255,.08));z-index:401;display:flex;flex-direction:column;box-shadow:-8px 0 32px #00000080}.oc-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-color, rgba(255,255,255,.08));flex-shrink:0}.oc-title{font-size:14px;font-weight:600;color:var(--text-primary, #e8eaf6);letter-spacing:.01em}.oc-close{background:none;border:none;color:var(--text-secondary, #8892b0);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:4px;transition:color .15s,background .15s}.oc-close:hover{color:var(--text-primary, #e8eaf6);background:#ffffff0f}.oc-controls{padding:10px 18px;border-bottom:1px solid var(--border-color, rgba(255,255,255,.08));flex-shrink:0;display:flex;align-items:center;gap:20px}.oc-expiry-row{display:flex;align-items:center;gap:8px}.oc-expiry-row label{font-size:12px;color:var(--text-secondary, #8892b0)}.oc-date-input{background:var(--bg-tertiary, rgba(255,255,255,.05));border:1px solid var(--border-color, rgba(255,255,255,.12));border-radius:6px;color:var(--text-primary, #e8eaf6);font-family:inherit;font-size:12px;padding:5px 8px;outline:none}.oc-date-input:focus{border-color:var(--accent-blue, #64b5f6)}.oc-refresh-btn{background:none;border:1px solid var(--border-color, rgba(255,255,255,.12));border-radius:6px;color:var(--text-secondary, #8892b0);cursor:pointer;padding:5px 7px;display:flex;align-items:center;transition:color .15s,border-color .15s}.oc-refresh-btn:hover:not(:disabled){color:var(--accent-blue, #64b5f6);border-color:var(--accent-blue, #64b5f6)}.oc-refresh-btn:disabled{opacity:.4;cursor:default}.oc-spot-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.oc-spot{font-size:12px;color:var(--text-secondary, #8892b0)}.oc-spot strong{color:var(--text-primary, #e8eaf6);font-weight:600}.oc-strike-toggle{display:flex;gap:2px}.oc-toggle-btn{padding:3px 10px;font-size:11px;font-weight:600;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all .15s}.oc-toggle-btn:first-child{border-radius:4px 0 0 4px}.oc-toggle-btn:last-child{border-radius:0 4px 4px 0;border-left:none}.oc-toggle-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.oc-toggle-btn:not(.active):hover{background:var(--bg-hover);color:var(--text-primary)}.oc-cached-tag{display:inline-block;font-size:10px;font-weight:500;color:#ffa726;background:#ffa7261f;border:1px solid rgba(255,167,38,.25);border-radius:4px;padding:1px 5px;margin-left:6px}.oc-loading{padding:40px;text-align:center;font-size:13px;color:var(--text-secondary, #8892b0)}.oc-error{margin:10px 18px;padding:8px 12px;background:#ef53501a;border:1px solid rgba(239,83,80,.25);border-radius:6px;font-size:12px;color:var(--accent-red, #ef5350)}.oc-table-wrap{flex:1;overflow-y:auto;overflow-x:hidden}.oc-table{width:100%;border-collapse:collapse;font-size:12px}.oc-table thead th{position:sticky;top:0;background:var(--bg-secondary, #1a1a2e);z-index:2;padding:7px 6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border-color, rgba(255,255,255,.08))}.oc-table thead tr:first-child th{top:0}.oc-table thead tr:nth-child(2) th{top:29px}.oc-th-ce{color:var(--accent-green, #26a69a);text-align:center}.oc-th-pe{color:var(--accent-red, #ef5350);text-align:center}.oc-th-strike{color:var(--text-secondary, #8892b0);text-align:center}.oc-subhead th{font-size:10px;font-weight:500;color:var(--text-secondary, #8892b0);padding:4px 6px}.oc-subhead th.num{text-align:right}.oc-subhead th.sel{text-align:center}.oc-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background .1s}.oc-table tbody tr:hover{background:#ffffff08}.oc-atm-row{background:#64b5f62e!important}.oc-atm-row:hover{background:#64b5f63d!important}.oc-itm-ce-row td:nth-child(1),.oc-itm-ce-row td:nth-child(2),.oc-itm-ce-row td:nth-child(3){background:#26a69a14}.oc-itm-ce-row:hover td:nth-child(1),.oc-itm-ce-row:hover td:nth-child(2),.oc-itm-ce-row:hover td:nth-child(3){background:#26a69a21}.oc-itm-pe-row td:nth-child(5),.oc-itm-pe-row td:nth-child(6),.oc-itm-pe-row td:nth-child(7){background:#ef535012}.oc-itm-pe-row:hover td:nth-child(5),.oc-itm-pe-row:hover td:nth-child(6),.oc-itm-pe-row:hover td:nth-child(7){background:#ef53501f}.oc-table td{padding:5px 6px;vertical-align:middle}.oc-strike{text-align:center;font-weight:600;font-size:12px;color:var(--text-primary, #e8eaf6);padding:5px 8px}.oc-atm{color:var(--accent-blue, #64b5f6)}.oc-ltp{text-align:right;font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.oc-ltp.ce{color:var(--accent-green, #26a69a)}.oc-ltp.pe{color:var(--accent-red, #ef5350)}.oc-iv{text-align:center;font-size:11px;color:var(--text-secondary, #8892b0)}.oc-bs-cell{text-align:center;padding:2px 4px;white-space:nowrap}.oc-b-btn,.oc-s-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:22px;font-size:11px;font-weight:700;border-radius:4px;border:1px solid var(--border-color);background:transparent;cursor:pointer;transition:all .12s}.oc-b-btn{color:var(--accent-blue);margin-right:2px}.oc-b-btn:hover{background:#4a9eff1f;border-color:var(--accent-blue)}.oc-b-btn.active-buy{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.oc-s-btn{color:var(--accent-red)}.oc-s-btn:hover{background:#ef44441f;border-color:var(--accent-red)}.oc-s-btn.active-sell{background:var(--accent-red);border-color:var(--accent-red);color:#fff}.oc-qty-row td{padding:2px 4px 6px;border-bottom:1px solid var(--border-color)}.oc-qty-cell{text-align:center}.oc-qty-wrap{display:inline-flex;align-items:center;gap:4px}.oc-qty-select{background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:11px;padding:2px 4px;cursor:pointer;outline:none}.oc-qty-select:focus{border-color:var(--accent-blue)}.oc-footer{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--border-color, rgba(255,255,255,.08));flex-shrink:0}.oc-sel-count{flex:1;font-size:12px;color:var(--text-secondary, #8892b0)}.oc-cancel-btn{background:none;border:1px solid var(--border-color, rgba(255,255,255,.12));border-radius:6px;color:var(--text-secondary, #8892b0);font-family:inherit;font-size:12px;padding:7px 14px;cursor:pointer;transition:color .15s,border-color .15s}.oc-cancel-btn:hover{color:var(--text-primary, #e8eaf6);border-color:#ffffff40}.oc-done-btn{display:flex;align-items:center;gap:5px;background:var(--accent-blue, #64b5f6);border:none;border-radius:6px;color:#0a0e1a;font-family:inherit;font-size:12px;font-weight:600;padding:7px 16px;cursor:pointer;transition:opacity .15s}.oc-done-btn:hover:not(:disabled){opacity:.88}.oc-done-btn:disabled{opacity:.35;cursor:default}.strategy-page{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.strategy-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.strategy-title{font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.strategy-actions{display:flex;align-items:center;gap:10px}.filter-tabs{display:flex;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.filter-tab{padding:7px 14px;font-size:12px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:all .15s}.filter-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.filter-tab.active{color:var(--accent-blue);background:#4a9eff1a;font-weight:600}.strategy-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.strategy-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:16px}.strategy-card:hover{border-color:var(--accent-blue);transform:translateY(-2px);box-shadow:0 4px 16px #0003}.scard-header{display:flex;flex-direction:column;gap:8px}.scard-title-row{display:flex;align-items:center;justify-content:space-between}.scard-name{font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.scard-badges{display:flex;gap:6px}.strategy-status-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.strategy-status-badge.active{background:#22c55e26;color:var(--accent-green)}.strategy-status-badge.closed{background:#8b8fa326;color:var(--text-secondary)}.strategy-status-badge.archived{background:#8b8fa31a;color:var(--text-muted)}.strategy-underlying-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;background:#4a9eff1f;color:var(--accent-blue);letter-spacing:.5px}.spot-price-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;background:#f973161f;color:var(--accent-orange);letter-spacing:.3px}.spot-price-badge.loading{opacity:.6;font-style:italic}.spot-cached-tag{margin-left:5px;font-size:9px;font-weight:500;opacity:.7;text-transform:uppercase;letter-spacing:.4px}.strategy-mode-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.strategy-mode-badge.live{background:#22c55e1f;color:var(--accent-green)}.strategy-mode-badge.paper{background:#f59e0b1f;color:#f59e0b}.paper-tag{font-size:10px;padding:1px 6px;border-radius:3px;background:#f59e0b26;color:#f59e0b;font-weight:600;margin-left:6px;vertical-align:middle}.mode-toggle{display:flex;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.mode-toggle-btn{flex:1;padding:7px 12px;border:none;background:var(--bg-page);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.mode-toggle-btn.live.active{background:#22c55e26;color:var(--accent-green);font-weight:600}.mode-toggle-btn.paper.active{background:#f59e0b26;color:#f59e0b;font-weight:600}.mode-toggle-btn:hover:not(.active){background:var(--bg-card);color:var(--text-primary)}.filter-tabs.mode-tabs .filter-tab.live.active{color:var(--accent-green);border-bottom-color:var(--accent-green)}.filter-tabs.mode-tabs .filter-tab.paper.active{color:#f59e0b;border-bottom-color:#f59e0b}.scard-stats{display:flex;flex-direction:column;gap:8px}.scard-stat{display:flex;justify-content:space-between;align-items:center}.scard-stat-label{font-size:12px;color:var(--text-secondary)}.scard-stat-value{font-size:13px;font-weight:600;color:var(--text-primary)}.scard-stat-value.positive{color:var(--accent-green)}.scard-stat-value.negative{color:var(--accent-red)}.scard-footer{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border-color);padding-top:12px}.row-action-btn.archive{color:var(--text-muted)}.row-action-btn.archive:hover{color:#f59e0b;background:#f59e0b1f}.archive-confirm{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:6px;margin-bottom:6px}.archive-confirm-text{font-size:12px;color:var(--text-secondary);flex:1}.archive-confirm-btn{padding:3px 10px;border-radius:4px;border:none;font-size:12px;font-weight:600;cursor:pointer}.archive-confirm-btn.yes{background:#f59e0b26;color:#f59e0b}.archive-confirm-btn.yes:hover{background:#f59e0b4d}.archive-confirm-btn.no{background:var(--bg-page);color:var(--text-muted)}.archive-confirm-btn.no:hover{background:var(--bg-card);color:var(--text-primary)}.row-action-btn.delete{color:var(--text-muted)}.row-action-btn.delete:hover{color:var(--accent-red);background:#ef44441f}.row-action-btn.close-leg{color:var(--text-muted);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s;background:none;border:none;cursor:pointer}.row-action-btn.close-leg:hover{color:var(--accent-red);background:#ef44441f}.row-action-btn.reopen-leg{color:var(--text-muted);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s;background:none;border:none;cursor:pointer}.row-action-btn.reopen-leg:hover{color:var(--accent-green, #22c55e);background:#22c55e1f}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 20px;color:var(--text-muted);text-align:center}.empty-state h3{font-size:18px;color:var(--text-secondary);margin:0}.empty-state p{font-size:13px;color:var(--text-muted);margin:0}.strategy-detail-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.back-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.back-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.detail-title-area{display:flex;align-items:center;gap:10px;flex:1}.detail-actions{display:flex;gap:8px}.add-leg-btn{color:var(--accent-blue)!important;border-color:#4a9eff4d!important}.add-leg-btn:hover{background:#4a9eff1a!important}.close-strategy-btn{color:var(--accent-orange)!important;border-color:#f973164d!important}.close-strategy-btn:hover{background:#f973161a!important}.strategy-summary-cards{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;gap:12px}.strategy-summary-cards .summary-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:5px;transition:border-color .2s;min-width:0;overflow:hidden}.strategy-summary-cards .summary-card:hover{border-color:var(--border-hover)}.strategy-summary-cards .card-title{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.strategy-summary-cards .card-value.small{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px}.card-value-row{display:flex;align-items:center;gap:8px}.summary-card.pnl-positive{border-color:#22c55e4d}.summary-card.pnl-positive .card-value.small,.summary-card.pnl-positive .card-value-row{color:var(--accent-green)}.summary-card.pnl-negative{border-color:#ef44444d}.summary-card.pnl-negative .card-value.small,.summary-card.pnl-negative .card-value-row{color:var(--accent-red)}.pnl-summary-tile .pnl-summary-grid{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.pnl-summary-item{display:flex;flex-direction:column;gap:2px}.pnl-summary-item .pnl-label{font-size:10px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.pnl-summary-item .pnl-value{font-size:15px;font-weight:700;letter-spacing:-.2px}.pnl-summary-item.pnl-total .pnl-value{font-size:18px}.pnl-summary-item .pnl-value.positive{color:var(--accent-green)}.pnl-summary-item .pnl-value.negative{color:var(--accent-red)}.max-pnl-grid{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.max-pnl-item{display:flex;flex-direction:column;gap:2px}.max-pnl-label{font-size:10px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.max-pnl-value{font-size:14px;font-weight:700;letter-spacing:-.2px}.max-pnl-value.positive{color:var(--accent-green)}.max-pnl-value.negative{color:var(--accent-red)}.card-value.small.positive{color:var(--accent-green)}.card-value.small.negative{color:var(--accent-red)}.card-value.small.muted{color:var(--text-secondary)}.breakeven-row{display:flex;gap:16px;align-items:flex-start;flex-wrap:nowrap}.breakeven-item-block{display:flex;flex-direction:column;gap:2px;min-width:0}.breakeven-label{font-size:10px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.breakeven-item{font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:-.2px}.breakeven-pct{font-size:10px;font-weight:500;margin-left:3px}.breakeven-pct.positive{color:var(--accent-green)}.breakeven-pct.negative{color:var(--accent-red)}.margin-grid{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.margin-item{display:flex;flex-direction:column;gap:2px}.margin-label{font-size:10px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.margin-value{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.2px}.margin-item.margin-total .margin-value{font-size:16px;font-weight:700;color:var(--accent-blue)}.confirm-bar{display:flex;align-items:center;justify-content:space-between;background:#f9731614;border:1px solid rgba(249,115,22,.25);border-radius:10px;padding:12px 20px;font-size:13px;color:var(--accent-orange)}.confirm-actions{display:flex;gap:8px}.confirm-yes{padding:6px 16px;border-radius:6px;border:none;background:var(--accent-orange);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s}.confirm-yes:hover{opacity:.85}.confirm-no{padding:6px 16px;border-radius:6px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.confirm-no:hover{background:var(--bg-hover);color:var(--text-primary)}.add-leg-form{background:var(--bg-card);border:1px solid var(--accent-blue);border-radius:12px;padding:20px}.add-leg-form .section-heading{margin:0 0 14px}.leg-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;align-items:end}.legs-payoff-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.legs-column{display:flex;flex-direction:column;gap:20px;min-width:0}.legs-section{display:flex;flex-direction:column;gap:10px}.section-heading{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.section-heading-row{display:flex;align-items:center;justify-content:space-between}.refresh-prices-btn{display:flex;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.refresh-prices-btn:hover:not(:disabled){color:var(--accent-blue, #3b82f6);border-color:var(--accent-blue, #3b82f6);background:#3b82f614}.refresh-prices-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-prices-btn .spinning{animation:spin 1s linear infinite}.closed-heading{color:var(--text-secondary)}.draft-section{border:1px dashed rgba(245,158,11,.35);border-radius:12px;padding:14px 16px;background:#f59e0b08}.draft-heading{color:#f59e0b;display:flex;align-items:center;gap:8px}.draft-count{background:#f59e0b26;color:#f59e0b;font-size:11px;font-weight:600;padding:1px 7px;border-radius:10px}.draft-actions-row{display:flex;gap:8px;align-items:center}.draft-action-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;border-radius:7px;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);transition:all .2s}.draft-action-btn.add-draft{color:#f59e0b;border-color:#f59e0b4d}.draft-action-btn.add-draft:hover{background:#f59e0b1a;border-color:#f59e0b}.draft-action-btn.save-drafts{color:#3b82f6;border-color:#3b82f64d}.draft-action-btn.save-drafts:hover:not(:disabled){background:#3b82f61a;border-color:#3b82f6}.draft-action-btn.move-all{color:var(--accent-green);border-color:#22c55e4d}.draft-action-btn.move-all:hover:not(:disabled){background:#22c55e1a;border-color:var(--accent-green)}.draft-action-btn.clear-all:hover{color:var(--accent-red);border-color:var(--accent-red);background:#ef444414}.draft-action-btn:disabled{opacity:.5;cursor:not-allowed}.draft-form{border-color:#f59e0b40!important;background:#f59e0b0a!important}.legs-table-wrapper.draft{border-color:#f59e0b33;background:transparent}.draft-row{background:#f59e0b0a}.draft-row:hover{background:#f59e0b14!important}.draft-row.draft-disabled{opacity:.4}.draft-row.draft-disabled td{text-decoration:line-through;text-decoration-color:var(--text-muted)}.draft-row.draft-disabled td:first-child,.draft-row.draft-disabled td:last-child{text-decoration:none}.draft-checkbox{width:15px;height:15px;accent-color:#f59e0b;cursor:pointer}.draft-status-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500}.draft-status-badge.saved{color:var(--accent-green);background:#22c55e1f}.draft-status-badge.unsaved{color:#f59e0b;background:#f59e0b1f}.row-action-btn.move-to-open{color:var(--accent-green)}.row-action-btn.move-to-open:hover{background:#22c55e26}.row-action-btn.delete-draft{color:var(--text-muted)}.row-action-btn.delete-draft:hover{color:var(--accent-red);background:#ef444426}.draft-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:16px 12px;font-style:italic}.draft-premium-cell{display:flex;align-items:center;gap:4px;justify-content:flex-end}.draft-premium-cell .edit-input.num{width:70px;padding:3px 6px;font-size:12px}.draft-refresh-cmp-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:#22c55e1f;color:var(--accent-green);cursor:pointer;transition:background .15s;flex-shrink:0}.draft-refresh-cmp-btn:hover{background:#22c55e40}.draft-refresh-cmp-btn:disabled{opacity:.5;cursor:not-allowed}.legend-line.current{background:#4a9eff;opacity:.5}.legend-line.adjusted{background:#f59e0b}.legs-table-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:auto}.legs-table-wrapper.closed{opacity:.7}.legs-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.legs-table thead tr{background:var(--accent-blue)}.legs-table th{padding:10px 16px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#fff;text-align:left;border-bottom:2px solid var(--accent-blue)}.legs-table th.num-cell{text-align:right}.legs-table td{padding:10px 16px;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.legs-table.compact th{padding:6px 8px;font-size:10px}.legs-table.compact td{padding:5px 8px;font-size:12px}.legs-table tbody tr{transition:background .15s}.legs-table tbody tr:hover{background:var(--bg-hover)}.legs-table tbody tr:last-child td{border-bottom:none}.legs-table tbody tr.closed-row{opacity:.65}.num-cell{text-align:right;font-variant-numeric:tabular-nums}.num-cell.positive{color:var(--accent-green);font-weight:600}.num-cell.negative{color:var(--accent-red);font-weight:600}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.type-badge.ce{background:#8b5cf626;color:var(--accent-purple)}.type-badge.pe{background:#06b6d426;color:var(--accent-cyan)}tr.leg-row-ce{background:#8b5cf626}tr.leg-row-ce:hover{background:#8b5cf640}tr.leg-row-pe{background:#06b6d426}tr.leg-row-pe:hover{background:#06b6d440}[data-theme=light] tr.leg-row-ce{background:#8b5cf61f}[data-theme=light] tr.leg-row-ce:hover{background:#8b5cf638}[data-theme=light] tr.leg-row-pe{background:#06b6d41f}[data-theme=light] tr.leg-row-pe:hover{background:#06b6d438}.action-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:500}.action-badge.sell{background:#ef444426;color:var(--accent-red)}.action-badge.buy{background:#22c55e26;color:var(--accent-green)}.inline-confirm{display:flex;gap:4px}.actions-cell,.legs-table th.actions-cell{text-align:center}.editing-row{background:var(--bg-hover)}.editing-row td{padding-top:6px;padding-bottom:6px}.edit-input{width:100%;padding:5px 8px;border-radius:6px;border:1px solid var(--accent-blue);background:var(--bg-input);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .2s}.edit-input:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 2px #4a9eff26}.edit-input.num{text-align:right;width:65px;font-variant-numeric:tabular-nums}.row-action-btn.edit{color:var(--text-muted);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s;background:none;border:none;cursor:pointer}.row-action-btn.edit:hover{background:var(--bg-hover);color:var(--accent-blue)}.payoff-section{display:flex;flex-direction:column;gap:10px;position:sticky;top:0}.payoff-chart-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px 8px 8px 0}.payoff-zoom-controls{display:flex;align-items:center;gap:4px}.zoom-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.zoom-btn:hover{color:var(--accent-blue);border-color:var(--accent-blue);background:#4a9eff14}.zoom-btn:disabled{opacity:.4;cursor:default}.payoff-legend{display:flex;gap:16px;justify-content:center;padding:4px 0}.payoff-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.ce{background:var(--accent-purple)}.legend-dot.pe{background:var(--accent-cyan)}.legend-line{width:16px;height:2px;background:var(--text-muted);border-radius:1px}.legend-line.spot{background:var(--accent-orange);border-style:dashed}.legend-line.expiry{background:var(--accent-green)}.legend-line.target{background:var(--accent-blue)}.legend-line.sd{background:var(--text-muted);border-top:1px dashed var(--text-muted);background:transparent;height:0;margin-bottom:1px}.payoff-header-controls{display:flex;align-items:center;gap:12px}.payoff-target-date{display:flex;align-items:center;gap:6px}.payoff-target-label{font-size:11px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.payoff-date-input{padding:4px 8px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:12px;font-family:inherit;cursor:pointer}.payoff-date-input:focus{outline:none;border-color:var(--accent-blue)}.payoff-target-loading{font-size:11px;color:var(--text-muted)}.adjustments-section{display:flex;flex-direction:column;gap:12px}.section-heading-btn{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0;color:var(--text-primary)}.section-heading-btn:hover .section-heading{color:var(--accent-blue)}.adj-count{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--bg-hover);padding:2px 8px;border-radius:10px}.adjustment-timeline{display:flex;flex-direction:column;padding-left:8px}.adj-item{display:flex;gap:14px}.adj-dot-line{display:flex;flex-direction:column;align-items:center;min-width:12px}.adj-dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted);flex-shrink:0;margin-top:4px}.adj-dot.created{background:var(--accent-green)}.adj-dot.added-leg{background:var(--accent-blue)}.adj-dot.closed-leg{background:var(--accent-orange)}.adj-dot.strategy-closed{background:var(--accent-red)}.adj-dot.modified-leg{background:var(--accent-purple)}.adj-line{width:2px;flex:1;background:var(--border-color);min-height:20px}.adj-item:last-child .adj-line{display:none}.adj-content{padding-bottom:16px}.adj-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.adj-action{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.adj-action.created{color:var(--accent-green)}.adj-action.added-leg{color:var(--accent-blue)}.adj-action.closed-leg{color:var(--accent-orange)}.adj-action.strategy-closed{color:var(--accent-red)}.adj-action.modified-leg{color:var(--accent-purple)}.adj-date{font-size:11px;color:var(--text-muted)}.adj-desc{font-size:13px;color:var(--text-secondary);margin:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;width:90%;max-width:800px;max-height:85vh;overflow-y:auto;box-shadow:0 16px 48px #0006}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;transition:all .15s}.modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-body{padding:24px;display:flex;flex-direction:column;gap:20px}.modal-form-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.modal-section-title{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;padding-bottom:4px;border-bottom:1px solid var(--border-color)}.modal-legs{display:flex;flex-direction:column;gap:10px}.modal-leg-row{display:flex;align-items:end;gap:8px;padding:12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px}.leg-number{font-size:12px;font-weight:700;color:var(--accent-blue);min-width:24px;text-align:center;padding-bottom:8px}.form-field.compact{flex:1;min-width:80px}.form-field.compact label{font-size:10px}.form-field.compact input,.form-field.compact select{padding:6px 8px;font-size:12px}.remove-leg-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:none;color:var(--text-muted);cursor:pointer;transition:all .15s;margin-bottom:2px}.remove-leg-btn:hover{background:#ef44441f;color:var(--accent-red)}.modal-leg-actions{display:flex;gap:10px}.add-more-leg-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:1px dashed var(--border-color);border-radius:10px;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.add-more-leg-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#4a9eff0d}.fetch-ltp-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border:1px solid var(--accent-green);border-radius:10px;background:#22c55e14;color:var(--accent-green);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.fetch-ltp-btn:hover:not(:disabled){background:#22c55e26}.fetch-ltp-btn:disabled{opacity:.6;cursor:not-allowed}.fetch-ltp-btn .spinning,.spinning{animation:spin 1s linear infinite}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border-color)}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-field input,.form-field select{padding:8px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .2s}.form-field input:focus,.form-field select:focus{border-color:var(--accent-blue)}.form-field input::placeholder{color:var(--text-muted)}.form-submit-btn{padding:8px 20px;border-radius:8px;border:none;background:var(--accent-green);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.form-submit-btn:hover{opacity:.85}.form-cancel-btn{padding:8px 20px;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.form-cancel-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.notes-section{margin-top:24px}.notes-section .section-heading-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.note-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:14px;margin-bottom:14px}.note-textarea{width:100%;background:var(--bg-page);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;font-size:13px;font-family:inherit;resize:vertical;min-height:60px;box-sizing:border-box}.note-textarea:focus{outline:none;border-color:var(--accent-blue)}.note-form-actions{display:flex;gap:8px;margin-top:10px}.notes-list{display:flex;flex-direction:column;gap:8px}.note-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:12px 14px}.note-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.note-date{font-size:11px;color:var(--text-muted)}.note-edited{font-size:10px;color:var(--text-muted);font-style:italic}.note-actions{display:flex;gap:2px;margin-left:auto;opacity:0;transition:opacity .15s}.note-item:hover .note-actions{opacity:1}.note-content{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0;white-space:pre-wrap}.note-edit-wrapper{display:flex;flex-direction:column}.lot-qty-field{display:flex;align-items:center;gap:6px;background:var(--bg-page);border:1px solid var(--border-color);border-radius:6px;padding:4px 6px}.lot-qty-field.compact{padding:2px 4px;gap:4px}.lot-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:15px;font-weight:600;cursor:pointer;transition:all .15s;padding:0;line-height:1}.lot-btn:hover:not(:disabled){background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.lot-btn:disabled{opacity:.3;cursor:not-allowed}.lot-display{display:flex;flex-direction:column;align-items:center;min-width:52px}.lot-count{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.2}.lot-qty{font-size:10px;color:var(--text-muted);line-height:1.2}@media (max-width: 1024px){.strategy-summary-cards{grid-template-columns:1fr 1fr}.legs-payoff-layout{grid-template-columns:1fr}.payoff-section{position:static}}@media (max-width: 768px){.strategy-page{padding:16px}.strategy-card-grid{grid-template-columns:1fr}.strategy-summary-cards{grid-template-columns:1fr 1fr}.modal-form-row{grid-template-columns:1fr}.modal-leg-row{flex-wrap:wrap}.strategy-detail-header{flex-direction:column;align-items:flex-start}.detail-actions{width:100%}.leg-form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.strategy-summary-cards{grid-template-columns:1fr}.filter-tabs{display:none}}.settings-page{flex:1;min-height:0;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.settings-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.settings-title{font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.settings-row{display:flex;gap:20px;align-items:flex-start}.settings-row .settings-section{flex:1 1 50%;min-width:0}.settings-row .settings-section--compact{flex:1 1 50%;min-width:0;width:auto}.settings-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:visible;flex-shrink:0}.section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.section-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.section-subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px}.settings-table{width:100%;border-collapse:collapse}.settings-table th{padding:10px 20px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.settings-table td{padding:12px 20px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--row-border)}.settings-table tr:last-child td{border-bottom:none}.settings-table tr:last-child td:first-child{border-bottom-left-radius:12px}.settings-table tr:last-child td:last-child{border-bottom-right-radius:12px}.settings-table tr:hover td{background:var(--bg-hover)}.symbol-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:#4a9eff1a;color:var(--accent-blue);font-weight:600;font-size:13px}.lot-size-value{font-weight:600;font-size:15px;color:var(--accent-green)}.row-actions{display:flex;gap:6px}.btn-icon{width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .15s}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon.danger:hover{background:#ef444426;color:var(--accent-red)}.add-row td{padding:8px 20px;background:var(--bg-secondary);border-bottom:none}.add-row input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .15s}.add-row input:focus{border-color:var(--accent-blue)}.add-row input::placeholder{color:var(--text-muted)}.form-actions{display:flex;gap:6px}.btn-save{padding:6px 14px;border-radius:6px;background:var(--accent-blue);color:#fff;font-size:12px;font-weight:600;transition:opacity .15s}.btn-save:hover{opacity:.85}.btn-cancel{padding:6px 14px;border-radius:6px;background:var(--bg-hover);color:var(--text-secondary);font-size:12px;font-weight:500;transition:all .15s}.btn-cancel:hover{color:var(--text-primary)}.btn-add{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;background:var(--accent-blue);color:#fff;font-size:13px;font-weight:600;transition:opacity .15s}.btn-add:hover{opacity:.85}.btn-add--secondary{background:var(--bg-secondary, #2a2d3e);color:var(--text-primary, #e2e8f0);border:1px solid var(--border-color, rgba(255,255,255,.1))}.btn-add--secondary:hover{opacity:.8}.btn-add:disabled{opacity:.6;cursor:not-allowed}.empty-state{padding:40px 20px;text-align:center;color:var(--text-secondary);font-size:14px}.settings-error{padding:10px 20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--accent-red);font-size:13px}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s;border:none}.status-badge:hover{opacity:.8}.status-badge.active{background:#22c55e26;color:var(--accent-green)}.status-badge.inactive{background:#8b8fa326;color:var(--text-secondary)}.status-select{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:13px;outline:none;cursor:pointer;transition:border-color .15s}.status-select:focus{border-color:var(--accent-blue)}.scanner-page{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.scanner-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.scanner-header-left{display:flex;align-items:center;gap:12px}.scanner-title{font-size:22px;font-weight:700;color:var(--text-primary)}.scanned-at{font-size:12px;color:var(--text-muted)}.scanner-actions{display:flex;align-items:center;gap:10px}.regime-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.regime-badge.bullish{background:#22c55e26;color:var(--accent-green)}.regime-badge.bearish{background:#ef444426;color:var(--accent-red)}.regime-badge.unknown{background:#8b8fa326;color:var(--text-muted)}.scan-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;border:none}.scan-btn.outline{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary)}.scan-btn.outline:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.scan-btn.primary{background:var(--accent-blue);color:#fff}.scan-btn.primary:hover:not(:disabled){opacity:.88}.scan-btn:disabled{opacity:.5;cursor:not-allowed}.scan-btn.copy-btn.copied{border-color:var(--accent-green);color:var(--accent-green)}.quick-scan-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:10px}.quick-scan-label{font-size:13px;color:var(--text-secondary);margin:0}.quick-scan-row{display:flex;gap:10px;align-items:center}.quick-scan-input{flex:1;padding:8px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .15s}.quick-scan-input:focus{border-color:var(--accent-blue)}.scanner-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:10px 16px;font-size:13px;color:var(--accent-red)}.scanner-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s}.stat-card:hover{border-color:var(--border-hover)}.stat-card.breakout{border-left:3px solid var(--accent-blue)}.stat-card.pullback{border-left:3px solid var(--accent-orange)}.stat-card.strong{border-left:3px solid var(--accent-green)}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1}.stat-label{font-size:12px;color:var(--text-secondary);font-weight:500}.scanner-filters{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.filter-tabs{display:flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.filter-tab{padding:6px 14px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-card);border:none;cursor:pointer;transition:all .15s}.filter-tab:not(:last-child){border-right:1px solid var(--border-color)}.filter-tab.active{background:var(--accent-blue);color:#fff}.filter-tab:hover:not(.active){background:var(--bg-hover);color:var(--text-primary)}.score-filter{display:flex;align-items:center;gap:10px}.score-filter-label{font-size:13px;color:var(--text-secondary);white-space:nowrap}.score-filter-tabs{display:flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.scanner-table-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow-x:auto}.scanner-empty{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 20px;color:var(--text-secondary);font-size:14px}.scanner-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.scanner-table thead tr{background:var(--accent-blue)}.scanner-table th{padding:10px 12px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#fff;text-align:left;border-bottom:2px solid var(--accent-blue)}.th-right{text-align:right!important}.th-center{text-align:center!important}.scanner-table td{padding:10px 12px;color:var(--text-primary);border-bottom:1px solid var(--border-color);vertical-align:middle}.scanner-row{cursor:pointer;transition:background .15s}.scanner-row:hover,.scanner-row.expanded{background:var(--bg-hover)}.scanner-table tbody tr:last-child td{border-bottom:none}.expand-cell{width:32px;color:var(--text-muted)}.symbol-cell{font-weight:700;color:var(--text-primary);font-size:14px}.num-cell{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.stop-cell{color:var(--accent-red)!important;font-weight:500}.risk-cell{color:var(--accent-orange)!important;font-weight:500}.val-high{color:var(--accent-green)!important;font-weight:600}.val-low{color:var(--accent-orange)!important;font-weight:600}.score-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;min-width:48px;text-align:center}.score-badge.score-high{background:#22c55e26;color:var(--accent-green)}.score-badge.score-mid{background:#f9731626;color:var(--accent-orange)}.score-badge.score-low{background:#8b8fa31f;color:var(--text-muted)}.setup-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:500}.setup-badge.breakout{background:#4a9eff26;color:var(--accent-blue)}.setup-badge.pullback{background:#f9731626;color:var(--accent-orange)}.conditions-row td{padding:0!important;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.conditions-detail{padding:12px 48px;display:flex;flex-direction:column;gap:10px}.conditions-group{display:flex;align-items:flex-start;gap:10px}.conditions-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;padding-top:3px;min-width:48px}.conditions-label.met{color:var(--accent-green)}.conditions-label.failed{color:var(--accent-red)}.conditions-tags{display:flex;flex-wrap:wrap;gap:6px}.condition-tag{display:inline-block;padding:2px 10px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap}.condition-tag.met{background:#22c55e1f;color:var(--accent-green)}.condition-tag.failed{background:#ef44441f;color:var(--accent-red)}.main-tabs .filter-tab{padding:7px 18px;font-size:13px}.main-tabs .vcp-tab.active{background:var(--accent-purple)}.stat-card.vcp{border-left:3px solid var(--accent-purple)}.stat-card.vcp2{border-left:3px solid var(--accent-cyan)}.pivot-cell{color:var(--accent-purple)!important;font-weight:600}.contraction-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700}.contraction-badge.c0{background:#8b8fa31f;color:var(--text-muted)}.contraction-badge.c1{background:#f9731626;color:var(--accent-orange)}.contraction-badge.c2{background:#22c55e26;color:var(--accent-green)}.contraction-badge.c3{background:#4a9eff26;color:var(--accent-blue)}.tt-bar-wrap{display:flex;align-items:center;gap:6px;min-width:80px}.tt-bar{height:6px;border-radius:3px;transition:width .3s;flex:1;max-width:60px}.tt-bar.tt-high{background:var(--accent-green)}.tt-bar.tt-mid{background:var(--accent-orange)}.tt-bar.tt-low{background:var(--accent-red)}.tt-label{font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.vcp-detail{padding:16px 48px;display:flex;flex-direction:column;gap:16px}.tt-detail-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 8px}.tt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.tt-item{display:flex;align-items:center;gap:6px;font-size:12px;padding:4px 8px;border-radius:6px}.tt-item.pass{background:#22c55e14;color:var(--accent-green)}.tt-item.fail{background:#ef444414;color:var(--accent-red)}.contraction-track{display:flex;align-items:flex-end;gap:6px}.contraction-seg{display:flex;flex-direction:column;align-items:center;gap:4px}.contraction-bar{width:40px;background:var(--accent-blue);border-radius:4px 4px 0 0;opacity:.7;min-height:4px;transition:height .3s}.contraction-pct{font-size:11px;font-weight:600;color:var(--text-secondary)}.contraction-num{font-size:10px;color:var(--text-muted);text-transform:uppercase}.contraction-arrow{color:var(--text-muted);margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.scanner-page{padding:16px}.scanner-stats{grid-template-columns:repeat(2,1fr)}.scanner-header{flex-direction:column;align-items:flex-start}}.trading-page{padding:1.5rem 2rem;max-width:1100px;display:flex;flex-direction:column;gap:1.25rem}.mx-loading{display:flex;align-items:center;gap:.6rem;color:var(--text-secondary, #94a3b8);padding:3rem}.mx-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.mx-header-left{display:flex;align-items:center;gap:.6rem;color:var(--text-primary, #f1f5f9)}.mx-header-left h2{font-size:1.15rem;font-weight:700;margin:0}.mx-header-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mx-lastsync{font-size:.72rem;color:var(--text-secondary, #94a3b8)}.mx-badge{font-size:.68rem;font-weight:600;padding:.2rem .55rem;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}.mx-badge--live{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.mx-badge--off{background:#64748b26;color:#94a3b8;border:1px solid rgba(100,116,139,.3)}.mx-badge--paper{background:#eab30826;color:#fbbf24;border:1px solid rgba(234,179,8,.3)}.mx-broker-row{display:flex;gap:.5rem}.mx-broker-chip{display:flex;align-items:center;gap:.35rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:.3rem .65rem;font-size:.78rem;color:var(--text-primary, #f1f5f9)}.mx-broker-ok{color:#4ade80}.mx-broker-off{color:#f87171}.mx-broker-warn{color:#fbbf24}.mx-broker-chip--stale{border-color:#eab30866}.mx-broker-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary, #94a3b8);padding:0;display:flex;align-items:center}.mx-broker-btn:hover{color:#3b82f6}.mx-broker-name{font-weight:500}.mx-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem}@media (max-width: 700px){.mx-stats-row{grid-template-columns:repeat(2,1fr)}}.mx-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.2rem}.mx-stat-card--green{border-color:#22c55e59}.mx-stat-card--red{border-color:#ef444459}.mx-stat-card--warn{border-color:#eab3084d}.mx-stat-label{font-size:.72rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.04em}.mx-stat-value{font-size:1.15rem;font-weight:700;color:var(--text-primary, #f1f5f9)}.mx-stat-sub{font-size:.75rem;color:var(--text-secondary, #94a3b8)}.mx-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 700px){.mx-main-grid{grid-template-columns:1fr}}.mx-pos-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.1rem}.mx-pos-card--flat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;min-height:140px;color:var(--text-secondary, #94a3b8)}.mx-pos-card--long{border-color:#22c55e66}.mx-pos-card--short{border-color:#ef444466}.mx-pos-icon{opacity:.4}.mx-pos-label{font-size:.95rem;font-weight:600}.mx-pos-sub{font-size:.8rem}.mx-pos-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.85rem}.mx-pos-card--long .mx-pos-header{color:#4ade80}.mx-pos-card--short .mx-pos-header{color:#f87171}.mx-pos-side{font-size:1rem;font-weight:700}.mx-pos-symbol{font-size:.78rem;color:var(--text-secondary, #94a3b8);margin-left:auto}.mx-pos-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem 1rem;margin-bottom:.85rem}.mx-pos-grid>div{display:flex;flex-direction:column;gap:.1rem}.mx-pos-key{font-size:.7rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase}.mx-pos-val{font-size:.95rem;font-weight:600;color:var(--text-primary, #f1f5f9)}.mx-pos-sl{color:#fbbf24}.mx-levels{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.mx-level-lbl{font-size:.68rem;color:var(--text-secondary, #94a3b8)}.mx-level{font-size:.68rem;padding:.15rem .45rem;border-radius:4px;font-weight:600}.mx-level--lph{background:#ef44441f;color:#f87171}.mx-level--lpl{background:#22c55e1f;color:#4ade80}.mx-level--sph{background:#ef444412;color:#fca5a5}.mx-level--spl{background:#22c55e12;color:#86efac}.mx-signals-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.6rem}.mx-panel-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #94a3b8);font-weight:600}.mx-empty{color:var(--text-secondary, #94a3b8);font-size:.85rem;text-align:center;padding:1.5rem 0}.mx-signals-list{display:flex;flex-direction:column;gap:.45rem;overflow-y:auto;max-height:200px}.mx-sig-row{display:flex;align-items:center;gap:.5rem;font-size:.82rem}.mx-sig-time{color:var(--text-secondary, #94a3b8)}.mx-sig-spot{font-weight:600;color:var(--text-primary, #f1f5f9)}.mx-sig-sl{color:#fbbf24;font-size:.75rem}.mx-sig-badge{font-size:.65rem;font-weight:700;padding:.15rem .45rem;border-radius:4px;text-transform:uppercase;min-width:50px;text-align:center}.mx-sig-badge--long{background:#22c55e2e;color:#4ade80}.mx-sig-badge--short{background:#ef44442e;color:#f87171}.mx-sig-badge--exit{background:#94a3b82e;color:#cbd5e1}.mx-sig-badge--sl{background:#eab30826;color:#fbbf24}.mx-equity-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.mx-chart-tip{background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;padding:.4rem .75rem;font-size:.8rem;color:var(--text-primary)}.mx-chart-tip-date{color:var(--text-secondary);font-size:.72rem;margin-bottom:.2rem}.mx-trades-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.mx-trade-table{width:100%;border-collapse:collapse;font-size:.82rem}.mx-trade-table th{text-align:left;padding:.4rem .6rem;color:var(--text-secondary, #94a3b8);font-size:.7rem;text-transform:uppercase;border-bottom:1px solid var(--border-color)}.mx-trade-table td{padding:.45rem .6rem;color:var(--text-primary, #f1f5f9)}.mx-trade-table .row--win td,.mx-trade-table .row--loss td{border-left:none}.mx-trade-table tr:not(:last-child) td{border-bottom:1px solid rgba(255,255,255,.04)}.cell--green{color:#4ade80;font-weight:600}.cell--red{color:#f87171;font-weight:600}.spin{animation:spin .8s linear infinite}.mx-live-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sd-live-wrap{display:flex;flex-direction:column;gap:1.25rem}.sg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.sg-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s}.sg-card:hover{border-color:#3b82f666;box-shadow:0 0 0 1px #3b82f61a}.sg-card--disabled{opacity:.55}.sg-card-top{position:relative;padding:1rem 1rem .85rem;cursor:pointer;flex:1;display:flex;flex-direction:column;gap:.4rem}.sg-card-top:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px;border-radius:12px 12px 0 0}.sg-name-row{display:flex;align-items:center;gap:.5rem;padding-right:1.2rem}.sg-name{font-size:.95rem;font-weight:700;color:var(--text-primary, #f1f5f9)}.sg-desc{font-size:.78rem;color:var(--text-secondary, #94a3b8);line-height:1.4}.sg-mode{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .45rem;border-radius:20px}.sg-mode--paper{background:#eab30826;color:#fbbf24;border:1px solid rgba(234,179,8,.3)}.sg-mode--live{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.sg-pnl-row{display:flex;align-items:baseline;gap:.4rem;margin-top:.25rem}.sg-pnl-label{font-size:.68rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.04em}.sg-pnl-value{font-size:1.1rem;font-weight:700;color:var(--text-primary, #f1f5f9)}.sg-pnl-pts{font-size:.72rem;color:var(--text-secondary, #94a3b8)}.sg-arrow{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);color:var(--text-secondary, #94a3b8);opacity:.5}.sg-card-top:hover .sg-arrow{opacity:1;color:#3b82f6}.sg-card-bottom{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;border-top:1px solid var(--border-color);gap:.5rem}.sg-lots-wrap{display:flex;align-items:center;gap:.4rem}.sg-lots-label{font-size:.7rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase}.sg-lots-value{font-size:.95rem;font-weight:700;color:var(--text-primary, #f1f5f9);cursor:pointer;border-bottom:1px dashed rgba(148,163,184,.4);padding:0 2px;min-width:1.5rem;text-align:center}.sg-lots-value:hover{border-bottom-color:#3b82f6;color:#60a5fa}.sg-lots-input{width:3.5rem;background:var(--bg-card);border:1px solid #3b82f6;border-radius:6px;color:var(--text-primary, #f1f5f9);font-size:.9rem;font-weight:700;padding:.15rem .4rem;outline:none;text-align:center}.sg-toggle{display:flex;align-items:center;gap:.3rem;background:none;border:none;cursor:pointer;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;transition:background .15s}.sg-toggle--on{color:#4ade80}.sg-toggle--off{color:var(--text-secondary, #94a3b8)}.sg-toggle:hover{background:#ffffff0d}.sg-toggle:disabled{opacity:.5;cursor:default}.sg-add-card{background:none;border:1px dashed var(--border-color);border-radius:12px;color:var(--text-secondary, #94a3b8);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.85rem;font-weight:600;min-height:120px;transition:border-color .15s,color .15s}.sg-add-card:hover{border-color:#3b82f6;color:#60a5fa}.sg-form-card{background:var(--bg-card);border:1px solid #3b82f6;border-radius:12px;padding:1.1rem}.sg-form-title{font-size:.85rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.sg-form-input{width:100%;background:#ffffff0a;border:1px solid var(--border-color);border-radius:7px;color:var(--text-primary, #f1f5f9);font-size:.82rem;font-family:inherit;padding:.4rem .65rem;outline:none;box-sizing:border-box;margin-bottom:.5rem}.sg-form-input:focus{border-color:#3b82f6}.sg-form-input--sm{width:auto}.sg-form-row{display:flex;gap:1rem;margin-bottom:.5rem}.sg-form-label{font-size:.75rem;color:var(--text-secondary);display:flex;align-items:center;gap:.4rem}.sg-form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.sg-form-cancel{background:none;border:1px solid var(--border-color);border-radius:7px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:.35rem .8rem}.sg-form-save{background:#3b82f6;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:.35rem .9rem}.sg-form-save:disabled{opacity:.6;cursor:default}.sd-page{display:flex;flex-direction:column;gap:1.25rem}.sd-header{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.sd-back-btn{display:flex;align-items:center;gap:.35rem;background:none;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary, #94a3b8);cursor:pointer;font-size:.82rem;padding:.35rem .75rem;transition:color .15s,border-color .15s;flex-shrink:0}.sd-back-btn:hover{color:var(--text-primary, #f1f5f9);border-color:#94a3b880}.sd-header-center{display:flex;align-items:center;gap:.5rem;flex:1}.sd-header-name{font-size:1.1rem;font-weight:700;color:var(--text-primary, #f1f5f9)}.sd-header-right{display:flex;align-items:center;gap:.75rem;margin-left:auto;flex-wrap:wrap}.sd-lots-wrap{display:flex;align-items:center;gap:.4rem}.sd-lots-label{font-size:.72rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase}.sd-lots-value{font-size:1rem;font-weight:700;color:var(--text-primary, #f1f5f9);cursor:pointer;border-bottom:1px dashed rgba(148,163,184,.4);padding:0 2px;min-width:1.5rem;text-align:center}.sd-lots-value:hover{border-bottom-color:#3b82f6;color:#60a5fa}.sd-lots-input{width:4rem;background:var(--bg-card);border:1px solid #3b82f6;border-radius:6px;color:var(--text-primary, #f1f5f9);font-size:.95rem;font-weight:700;padding:.15rem .4rem;outline:none;text-align:center}.sd-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border-color)}.sd-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #94a3b8);cursor:pointer;font-size:.85rem;font-weight:600;padding:.55rem 1rem;margin-bottom:-1px;transition:color .15s,border-color .15s}.sd-tab:hover{color:var(--text-primary, #f1f5f9)}.sd-tab--active{color:#60a5fa;border-bottom-color:#3b82f6}.sd-content{min-height:200px}.sd-no-live{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:4rem 2rem;color:var(--text-secondary, #94a3b8);text-align:center;font-size:.9rem}.sd-no-live p{margin:0}.sh-wrap{display:flex;flex-direction:column;gap:1rem}.sh-filters{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.sh-filter-label{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-secondary, #94a3b8)}.sh-input{background:var(--bg-card);border:1px solid var(--border-color);border-radius:7px;color:var(--text-primary);font-family:inherit;font-size:.82rem;padding:.35rem .6rem;outline:none}.sh-input:focus{border-color:#3b82f6}.sh-refresh-btn{display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:7px;padding:.38rem .6rem;color:var(--text-primary);cursor:pointer}.sh-refresh-btn:disabled{opacity:.5;cursor:default}.sh-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.sh-tile{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.25rem}.sh-tile-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.sh-tile-value{font-size:1.2rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.sh-table-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;overflow:auto}.sh-empty{padding:2.5rem 1rem;text-align:center;color:var(--text-secondary);font-size:.85rem}.sh-table{width:100%;border-collapse:collapse}.sh-table thead th{background:#ffffff06;color:var(--text-secondary);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.sh-table th.num{text-align:right}.sh-table tbody td{padding:.65rem .85rem;font-size:.82rem;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.04)}.sh-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.sh-table tbody tr:last-child td{border-bottom:none}.sh-table tbody tr:hover{background:#ffffff05}.sh-time{color:var(--text-secondary);font-size:.78rem;white-space:nowrap}.sh-symbol{font-weight:600;white-space:nowrap}.sh-badge{display:inline-block;padding:.18rem .55rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em}.ps-page{padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.25rem}.ps-header{display:flex;align-items:center;justify-content:space-between;max-width:1100px}.ps-header-left{display:flex;align-items:center;gap:.6rem;color:var(--text-primary)}.ps-header-left h2{font-size:1.15rem;font-weight:700;margin:0}.ps-reset-btn{padding:.35rem .9rem;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.ps-reset-btn:hover{background:var(--bg-card);color:var(--text-primary)}.ps-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch;max-width:1100px}@media (max-width: 640px){.ps-grid{grid-template-columns:1fr}}.ps-card,.ps-watchlist-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.1rem;display:flex;flex-direction:column;gap:1rem}.ps-card-title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #94a3b8);margin:0}.ps-fields{display:flex;flex-direction:column;gap:.55rem}.ps-field{display:flex;flex-direction:row;align-items:center;gap:.75rem}.ps-field-label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.04em;width:130px;flex-shrink:0}.ps-input-wrap{display:flex;align-items:center;flex:1;background:var(--bg-input, var(--bg-page));border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:border-color .15s}.ps-input-wrap:focus-within{border-color:var(--accent-blue, #3b82f6)}.ps-affix{padding:0 .65rem;font-size:.82rem;color:var(--text-secondary, #94a3b8);background:var(--bg-card);border-right:1px solid var(--border-color);align-self:stretch;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.ps-affix--right{border-right:none;border-left:1px solid var(--border-color)}.ps-input{flex:1;background:transparent;border:none;outline:none;padding:.55rem .75rem;font-size:.9rem;font-weight:500;color:var(--text-primary, #f1f5f9);font-family:inherit;text-align:right;-moz-appearance:textfield}.ps-input--text{text-align:left}.ps-input::-webkit-outer-spin-button,.ps-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ps-metrics{display:flex;flex-direction:column}.ps-metric{display:flex;align-items:center;justify-content:space-between;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.ps-metric:last-child{border-bottom:none}.ps-metric-label{font-size:.82rem;color:var(--text-secondary, #94a3b8)}.ps-metric-value{font-size:.9rem;font-weight:600;color:var(--text-primary, #f1f5f9);font-variant-numeric:tabular-nums}.ps-metric-value--lg{font-size:1.05rem;font-weight:700}.ps-metric-value--pos{color:#4ade80}.ps-metric-value--neg{color:#f87171}.ps-metric-value--accent{color:var(--accent-blue, #3b82f6)}.ps-divider{height:1px;background:var(--border-color);margin:.25rem 0}.ps-add-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;border-radius:8px;border:none;background:var(--accent-blue, #3b82f6);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s;margin-top:auto}.ps-add-btn:hover:not(:disabled){opacity:.88}.ps-add-btn:disabled{opacity:.45;cursor:not-allowed}.ps-table-wrap{overflow-x:auto}.ps-table{width:100%;border-collapse:collapse;font-size:.82rem;white-space:nowrap}.ps-table th{padding:.4rem .7rem;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #94a3b8);border-bottom:1px solid var(--border-color)}.ps-table td{padding:.5rem .7rem;color:var(--text-primary, #f1f5f9);border-bottom:1px solid rgba(255,255,255,.04)}.ps-table tbody tr:last-child td{border-bottom:none}.ps-table tbody tr:hover{background:var(--bg-hover, rgba(255,255,255,.03))}.ps-table th.num,.ps-table td.num{text-align:right;font-variant-numeric:tabular-nums}.ps-symbol-cell{font-weight:600;color:var(--text-primary)}.ps-sl-cell{color:#fbbf24}.ps-shares-cell{color:var(--accent-blue, #3b82f6);font-weight:700}.ps-risk-cell{color:#f87171}.ps-pos{color:#4ade80;font-weight:600}.ps-neg{color:#f87171;font-weight:600}.ps-th-center{text-align:center!important}.ps-engine-cell{padding:.3rem .5rem!important}.ps-engine-input{width:80px;background:var(--bg-input, var(--bg-page));border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.8rem;padding:3px 6px;outline:none;text-align:right;-moz-appearance:textfield}.ps-engine-input::-webkit-outer-spin-button,.ps-engine-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ps-engine-input:focus{border-color:var(--accent-blue, #3b82f6)}.ps-engine-select{background:var(--bg-input, var(--bg-page));border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.8rem;padding:3px 6px;outline:none;cursor:pointer}.ps-engine-select:focus{border-color:var(--accent-blue, #3b82f6)}.ps-active-cell{text-align:center}.ps-toggle{position:relative;display:inline-block;width:32px;height:18px;cursor:pointer}.ps-toggle input{opacity:0;width:0;height:0}.ps-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;background:var(--border-color);transition:background .2s}.ps-toggle-track:before{content:"";position:absolute;width:12px;height:12px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.ps-toggle input:checked+.ps-toggle-track{background:var(--accent-blue, #3b82f6)}.ps-toggle input:checked+.ps-toggle-track:before{transform:translate(14px)}.ps-editable{cursor:pointer;border-radius:4px;padding:2px 4px;margin:-2px -4px;display:inline-block;transition:background .15s}.ps-editable:hover{background:#ffffff12}.ps-inline-edit{display:flex;align-items:center;gap:2px}.ps-cell-input{width:72px;background:var(--bg-input, var(--bg-page));border:1px solid var(--accent-blue, #3b82f6);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.8rem;padding:2px 5px;outline:none;text-align:right;-moz-appearance:textfield}.ps-cell-input--text{text-align:left;width:90px}.ps-cell-input::-webkit-outer-spin-button,.ps-cell-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ps-row-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:4px;cursor:pointer;padding:0;flex-shrink:0}.ps-row-btn--save{background:#4ade8026;color:#4ade80}.ps-row-btn--save:hover{background:#4ade8047}.ps-row-btn--cancel{background:#f8717126;color:#f87171}.ps-row-btn--cancel:hover{background:#f8717147}.ps-del-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:none;background:none;color:var(--text-muted, #64748b);cursor:pointer;transition:all .15s}.ps-del-btn:hover:not(:disabled){background:#ef44441f;color:#f87171}.ps-del-btn:disabled{opacity:.4;cursor:not-allowed}.tl-page{padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.25rem}.tl-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.tl-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin:0}.tl-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tl-search{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.82rem;padding:.35rem .75rem;outline:none;width:140px}.tl-search:focus{border-color:var(--accent-blue, #3b82f6)}.tl-status-tabs{display:flex;gap:2px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:3px}.tl-tab{padding:.25rem .7rem;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s}.tl-tab.active{background:var(--accent-blue, #3b82f6);color:#fff}.tl-tab:not(.active):hover{background:#ffffff0f;color:var(--text-primary)}.tl-limit-select{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.8rem;padding:.3rem .6rem;outline:none;cursor:pointer}.tl-refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.tl-refresh-btn:hover:not(:disabled){color:var(--text-primary)}.tl-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.tl-table-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.tl-empty{padding:3rem;text-align:center;color:var(--text-secondary);font-size:.88rem}.tl-table{width:100%;border-collapse:collapse;font-size:.82rem}.tl-table th{padding:.5rem .8rem;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.tl-table td{padding:.6rem .8rem;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.04)}.tl-table th.num,.tl-table td.num{text-align:right;font-variant-numeric:tabular-nums}.tl-row{cursor:pointer;transition:background .12s}.tl-row:hover{background:var(--bg-hover, rgba(255,255,255,.04))}.tl-row.row-failed{background:#f871710a}.tl-row.row-expanded{background:#ffffff08}.tl-row.row-expanded td{border-bottom:none}.tl-chevron-cell{width:32px;padding:.6rem .4rem .6rem .8rem!important}.tl-chevron{color:var(--text-secondary);flex-shrink:0}.tl-detail-row td{padding:0 .8rem .8rem 2.4rem!important;border-bottom:1px solid var(--border-color)!important}.tl-detail-grid{display:flex;flex-wrap:wrap;gap:.5rem 2rem;background:#ffffff05;border:1px solid var(--border-color);border-radius:8px;padding:.9rem 1.1rem}.tl-detail-item{display:flex;flex-direction:column;gap:.2rem;min-width:120px}.tl-detail-item--error{flex:1 0 100%}.tl-detail-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.tl-detail-value{font-size:.82rem;color:var(--text-primary);font-variant-numeric:tabular-nums}.tl-mono{font-family:monospace;font-size:.78rem}.tl-error-text{color:#f87171}.tl-time{color:var(--text-secondary);font-size:.78rem;white-space:nowrap}.tl-symbol{font-weight:700}.tl-action{font-weight:700;font-size:.78rem;padding:2px 10px;border-radius:4px;display:inline-block}.action-buy{color:#4ade80;background:#4ade801f}.action-sell{color:#fb923c;background:#fb923c1f}.tl-badge{font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:4px;display:inline-block;text-transform:capitalize}.reason-entry{background:#3b82f626;color:#60a5fa}.reason-target{background:#4ade8021;color:#4ade80}.reason-sl{background:#f8717121;color:#f87171}.status-placed{background:#4ade8021;color:#4ade80}.status-failed{background:#f8717121;color:#f87171}.status-filled{background:#3b82f626;color:#60a5fa}.spinning{animation:spin .8s linear infinite}.at-page{padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.25rem}.at-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.at-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin:0}.at-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.at-input{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.82rem;padding:.35rem .6rem;outline:none;cursor:pointer}.at-input:focus{border-color:var(--accent-blue, #3b82f6)}.at-date-label{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.78rem}.at-refresh-btn{display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:.4rem .6rem;color:var(--text-primary);cursor:pointer}.at-refresh-btn:disabled{opacity:.5;cursor:default}.at-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.at-summary-tile{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.25rem}.at-summary-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.at-summary-value{font-size:1.25rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.pnl-pos{color:#4ade80}.pnl-neg{color:#f87171}.at-table-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;overflow:auto}.at-empty{padding:2.5rem 1rem;text-align:center;color:var(--text-secondary);font-size:.85rem}.at-table{width:100%;border-collapse:collapse}.at-table thead th{background:#ffffff06;color:var(--text-secondary);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.7rem .85rem;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.at-table th.num{text-align:right}.at-table tbody td{padding:.7rem .85rem;font-size:.82rem;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.04)}.at-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.at-table tbody tr:last-child td{border-bottom:none}.at-table tbody tr:hover{background:#ffffff05}.at-time{color:var(--text-secondary);font-size:.78rem;white-space:nowrap}.at-symbol{font-weight:600;white-space:nowrap}.at-badge{display:inline-block;padding:.18rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.02em}.side-long{background:#4ade8021;color:#4ade80}.side-short{background:#f8717121;color:#f87171}.reason-cell{background:#94a3b821;color:#94a3b8}.mode-paper{background:#facc1521;color:#facc15}.mode-live{background:#3b82f626;color:#60a5fa}@keyframes at-spin{to{transform:rotate(360deg)}}.at-refresh-btn .spinning{animation:at-spin .8s linear infinite}@media (max-width: 768px){.at-summary{grid-template-columns:1fr}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);padding:1rem}.login-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:3rem 2.5rem;text-align:center;max-width:400px;width:100%;box-shadow:0 8px 32px #0000004d}.login-logo{color:var(--accent-blue);margin-bottom:1rem}.login-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.login-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:2rem}.login-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--accent-red);padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.85rem}.google-btn{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.google-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.google-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{flex-shrink:0}.login-footer{margin-top:1.5rem;font-size:.75rem;color:var(--text-muted)}body{background:var(--bg-primary)}.app-layout{display:flex;height:100vh;width:100%;max-width:1620px;margin:0 auto;overflow:hidden}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-primary)}.page-content{flex:1;overflow-y:auto;min-height:0}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-primary)}.app-loading-spinner{width:36px;height:36px;border:3px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-card: #1e2130;--bg-hover: #252839;--bg-input: #252839;--border-color: #2a2d3a;--border-hover: #3a3d4a;--text-primary: #ffffff;--text-secondary: #a8acbf;--text-muted: #737899;--accent-blue: #4a9eff;--accent-green: #22c55e;--accent-red: #ef4444;--accent-orange: #f97316;--accent-cyan: #06b6d4;--accent-purple: #8b5cf6;--accent-teal: #14b8a6;--sidebar-width: 220px;--chart-grid: rgba(255, 255, 255, .05);--chart-axis: #2a2d3a;--chart-tick: #555872;--chart-cursor: rgba(255, 255, 255, .03);--row-border: rgba(42, 45, 58, .5);--tooltip-shadow: rgba(0, 0, 0, .4);--avatar-bg: linear-gradient(135deg, #333, #555);--collapse-bg: rgba(34, 197, 94, .15);--collapse-bg-hover: rgba(34, 197, 94, .25)}[data-theme=light]{--bg-primary: #f5f6fa;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-hover: #f0f1f5;--bg-input: #f0f1f5;--border-color: #e2e4ea;--border-hover: #cccfd6;--text-primary: #1a1d27;--text-secondary: #3a3d50;--text-muted: #6b7080;--accent-blue: #3b82f6;--accent-green: #16a34a;--accent-red: #dc2626;--accent-orange: #ea580c;--accent-cyan: #0891b2;--accent-purple: #7c3aed;--accent-teal: #0d9488;--chart-grid: rgba(0, 0, 0, .06);--chart-axis: #e2e4ea;--chart-tick: #9096a8;--chart-cursor: rgba(0, 0, 0, .03);--row-border: rgba(226, 228, 234, .7);--tooltip-shadow: rgba(0, 0, 0, .12);--avatar-bg: linear-gradient(135deg, #bbb, #ddd);--collapse-bg: rgba(22, 163, 74, .1);--collapse-bg-hover: rgba(22, 163, 74, .2)}html,body,#root{height:100%;width:100%}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:400;line-height:1.6;letter-spacing:.01em;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1{font-size:32px;font-weight:600;line-height:1.25;letter-spacing:-.02em}h2{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.01em}h3{font-size:18px;font-weight:500;line-height:1.4}h4{font-size:15px;font-weight:500;line-height:1.5}button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}input,select{font-family:inherit;color:inherit}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}
