:root{--bg-color: #f5f7fa;--card-bg: #ffffff;--text-primary: #1a1a2e;--text-secondary: #6b7280;--border-color: #e5e7eb;--accent-color: #4f46e5;--accent-hover: #4338ca;--success-color: #10b956;--danger-color: #dc3545;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root{--bg-color: #0f172a;--card-bg: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--border-color: #334155;--accent-color: #6366f1;--accent-hover: #4f46e5}}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-primary);overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}button,input{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.retry-btn{background:var(--accent-color);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.875rem}.positive{color:var(--success-color)}.negative{color:var(--danger-color)}.navigation{width:240px;background:var(--card-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;position:fixed;left:0;top:0}.nav-header{padding:1.25rem;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem}.logo{display:flex;align-items:center;gap:.75rem}.logo-icon{width:100%;height:auto}.nav-list{list-style:none;padding:1rem .75rem;margin:0;flex:1;display:flex;flex-direction:column;gap:.25rem}.nav-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;font-size:.9375rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;text-align:left}.nav-item:hover{background:var(--bg-color);color:var(--text-primary)}.nav-item.active{background:var(--accent-color);color:#fff}.nav-icon{font-size:1.125rem}.nav-label{font-weight:500}.nav-label-short,.nav-logout-mobile{display:none}.nav-footer{padding:1rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.nav-user{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--bg-color);border-radius:10px}.nav-user-avatar{width:42px;height:42px;border-radius:50%;background:var(--accent-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:700;flex-shrink:0}.nav-user-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.nav-username{font-size:1rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-logout{background:transparent;border:none;padding:0;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap;text-align:left}.nav-logout:hover{color:var(--text-primary)}.mock-badge{background:#ffc10726;color:#d39e00;padding:.5rem;border-radius:6px;font-size:.75rem;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.5px}@media(max-width:768px){.navigation{width:100%;height:auto;position:fixed;inset:auto 0 0;border-right:none;border-top:1px solid var(--border-color);flex-direction:row;z-index:100;overflow:hidden}.nav-header,.nav-footer{display:none}.nav-list{flex-direction:row;padding:0;width:100%;justify-content:space-around;overflow:hidden}.nav-list li{flex:1;min-width:0}.nav-item{flex-direction:column;gap:.125rem;padding:.5rem .125rem;border-radius:0;justify-content:center;align-items:center;min-width:0;font-size:.8125rem}.nav-icon{font-size:1.125rem}.nav-label{font-size:.5625rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.nav-label-full{display:none}.nav-label-short{display:inline}.nav-logout-mobile{display:none}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-color)}.login-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem;width:100%;max-width:400px;text-align:center}.login-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem}.login-logo-icon{width:100%;max-width:320px;height:auto}.login-subtitle{color:var(--text-secondary);margin:0 0 2rem;font-size:.9375rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-field{display:flex;flex-direction:column;gap:.5rem;text-align:left}.login-field label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.login-field input{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--bg-color);color:var(--text-primary);outline:none;transition:border-color .2s}.login-field input:focus{border-color:var(--accent-color)}.login-error{color:var(--loss-color);font-size:.875rem;text-align:left}.login-button{padding:.75rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:.5rem}.login-button:hover:not(:disabled){opacity:.9}.login-button:disabled{opacity:.6;cursor:not-allowed}.portfolio-chart{background:var(--card-bg);border-radius:12px;padding:1.25rem;border:1px solid var(--border-color);margin-bottom:1.5rem;overflow:hidden}.chart-header{margin-bottom:1rem}.chart-title-row{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.chart-title-row h2{margin:0;font-size:1.125rem;color:var(--text-primary)}.chart-range-hint{font-size:.875rem;font-weight:400;color:var(--text-secondary)}.chart-performance{font-size:.875rem;font-weight:600}.chart-performance.positive{color:var(--success-color)}.chart-performance.negative{color:var(--danger-color)}.chart-range-tabs{display:flex;gap:.25rem;flex-wrap:wrap}.range-tab{padding:.3rem .75rem;border-radius:999px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;transition:all .2s}.range-tab:hover{border-color:var(--accent-color);color:var(--accent-color)}.range-tab.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.chart-body{min-height:250px}.chart-placeholder{display:flex;justify-content:center;align-items:center;height:250px;color:var(--text-secondary);font-size:.875rem}.chart-error{color:var(--danger-color)}.chart-tooltip{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;box-shadow:0 4px 12px #00000026}.chart-tooltip-date{font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.chart-tooltip-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;padding:.125rem 0}.chart-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-tooltip-dot.totalValue{background:var(--accent-color)}.chart-tooltip-dot.invested{background:var(--success-color)}.chart-tooltip-dot.cash{background:var(--text-secondary)}.chart-tooltip-pnl{margin-top:.375rem;padding-top:.375rem;border-top:1px solid var(--border-color);font-size:.8125rem;font-weight:600}.chart-tooltip-pnl.positive{color:var(--success-color)}.chart-tooltip-pnl.negative{color:var(--danger-color)}.chart-tooltip-label{color:var(--text-secondary)}.chart-tooltip-value{margin-left:auto;font-weight:600;color:var(--text-primary)}.allocation-bar-container{margin-top:1rem;padding:0 .5rem}.allocation-bar-labels{display:flex;justify-content:space-between;margin-bottom:.375rem;font-size:.8125rem}.allocation-label.invested{color:var(--success-color)}.allocation-label.cash{color:var(--text-secondary)}.allocation-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--border-color)}.allocation-segment.invested{background:var(--success-color);transition:width .3s ease}.allocation-segment.cash{background:var(--text-secondary);opacity:.4;transition:width .3s ease}@media(max-width:768px){.range-tab{padding:.25rem .5rem;font-size:.75rem}.chart-title-row{gap:.5rem}}.pos-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.pos-modal{background:var(--card-bg);border-radius:12px;padding:1.5rem;width:100%;max-width:700px;border:1px solid var(--border-color);box-shadow:0 8px 32px #0003}.pos-modal-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.pos-modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.pos-modal-instrument{font-size:.75rem;color:var(--text-secondary)}.pos-modal-performance{font-size:.875rem;font-weight:600;margin-left:auto}.pos-modal-performance.positive{color:var(--success-color)}.pos-modal-performance.negative{color:var(--danger-color)}.pos-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0 .25rem;line-height:1}.pos-modal-close:hover{color:var(--text-primary)}.pos-modal-range-tabs{display:flex;gap:.25rem;margin-bottom:1rem;flex-wrap:wrap}.pos-modal-chart{min-height:300px}.pos-modal-placeholder{display:flex;justify-content:center;align-items:center;height:300px;color:var(--text-secondary);font-size:.875rem}.pos-chart-tooltip{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:.5rem .75rem;box-shadow:0 4px 12px #00000026}.pos-chart-tooltip-date{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.pos-chart-tooltip-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}.sparkline-container{cursor:pointer;margin:.5rem 0;border-radius:6px;transition:background .2s}.sparkline-container:hover{background:#80808014}.sparkline-placeholder{height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin:.5rem 0}.sparkline-no-data{font-size:.7rem;color:var(--text-secondary)}.dashboard{padding:1rem}.dashboard-header{margin-bottom:1.5rem}.dashboard-header h1{margin:0;font-size:1.75rem;color:var(--text-primary)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.card{background:var(--card-bg);border-radius:12px;padding:1.25rem;border:1px solid var(--border-color);min-width:0;overflow:hidden}.card-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.card-value{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.card-subtitle{font-size:.875rem;color:var(--text-secondary)}.card-action{background:var(--accent-color);color:#fff;border:none;padding:.375rem .75rem;border-radius:6px;cursor:pointer;font-size:.8125rem;transition:background-color .2s}.card-action:hover{background:var(--accent-hover)}.card.total-value{background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));color:#fff}.card.total-value .card-label,.card.total-value .card-value,.card.total-value .card-subtitle{color:#fff}.card.pnl.positive{border-color:var(--success-color)}.card.pnl.positive .card-value{color:var(--success-color)}.card.pnl.negative{border-color:var(--danger-color)}.card.pnl.negative .card-value{color:var(--danger-color)}.pnl-breakdown{display:flex;gap:1rem;font-size:.75rem;color:var(--text-secondary)}.positions-preview{background:var(--card-bg);border-radius:12px;padding:1.25rem;border:1px solid var(--border-color);margin-bottom:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{margin:0;font-size:1.125rem;color:var(--text-primary)}.section-header button{background:none;border:none;color:var(--accent-color);cursor:pointer;font-size:.875rem;padding:0}.section-header button:hover{text-decoration:underline}.positions-table{width:100%;border-collapse:collapse}.positions-table th,.positions-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid var(--border-color)}.positions-table th{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:500}.positions-table td{font-size:.875rem;color:var(--text-primary)}.positions-table .right{text-align:right}.positions-table .symbol{font-weight:600}.positions-table .instrument-name{font-size:.75rem;font-weight:400;color:var(--text-secondary)}.positions-table .sparkline-cell{width:120px;padding:.25rem .5rem}.positions-table .positive{color:var(--success-color)}.positions-table .negative{color:var(--danger-color)}.positions-table .position-actions{white-space:nowrap;text-align:right}.trade-btn{padding:.25rem .625rem;border-radius:4px;border:none;font-size:.75rem;font-weight:500;cursor:pointer;transition:opacity .2s}.trade-btn:hover{opacity:.85}.trade-btn.buy{background:var(--success-color);color:#fff;margin-right:.375rem}.trade-btn.sell{background:var(--danger-color);color:#fff}.pnl-percent{font-size:.75rem;margin-left:.25rem;opacity:.8}.loading{display:flex;justify-content:center;align-items:center;height:200px;color:var(--text-secondary);font-size:1rem}.error-container{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:1rem}.error-message{color:var(--danger-color);background:#dc35451a;padding:1rem 1.5rem;border-radius:8px;border:1px solid var(--danger-color)}.retry-btn{background:var(--accent-color);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:6px;cursor:pointer}.retry-btn:hover{background:var(--accent-hover)}@media(max-width:768px){.summary-cards{grid-template-columns:1fr 1fr}.positions-table thead{display:none}.positions-table,.positions-table tbody{display:block}.positions-table tr{display:block;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;margin-bottom:.75rem}.positions-table td{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;border-bottom:none;text-align:right}.positions-table td:before{content:attr(data-label);font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;text-align:left;flex-shrink:0;margin-right:.5rem}.positions-table td.symbol{font-size:1rem;flex-direction:column;align-items:flex-start}.positions-table td.symbol:before{display:none}.positions-table td.sparkline-cell{width:100%;display:block}.positions-table td.sparkline-cell:before{display:none}.positions-table td.sparkline-cell .sparkline-container,.positions-table td.sparkline-cell .sparkline-placeholder{width:100%}.positions-table td.position-actions{justify-content:flex-end;gap:.5rem;padding-top:.5rem}.positions-table td.position-actions:before{display:none}}.trade-form{padding:1rem;max-width:500px;margin:0 auto}.trade-form h1{margin:0 0 1.5rem;font-size:1.75rem;color:var(--text-primary)}.trade-form form{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.side-segmented{display:flex;position:relative;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:3px}.side-segmented-track{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);border-radius:6px;transition:transform .2s ease,background-color .2s ease}.side-segmented-track.buy{background:var(--success-color)}.side-segmented-track.sell{background:var(--danger-color)}.side-segment{flex:1;position:relative;z-index:1;padding:.625rem;border:none;background:transparent;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;color:var(--text-secondary);transition:color .2s ease}.side-segment.active{color:#fff}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.form-group input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--bg-color);color:var(--text-primary);box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #4f46e51a}.form-group input::placeholder{color:var(--text-secondary);opacity:.6}.input-with-action{display:flex}.input-with-action input{border-radius:8px 0 0 8px;border-right:none}.input-with-action input{flex:2;min-width:0}.input-with-action .fetch-price-btn{flex:0 0 auto}.fetch-price-btn{padding:0 .625rem;background:var(--accent-color);color:#fff;border:none;border-radius:0 8px 8px 0;font-size:1.25rem;line-height:1;cursor:pointer;transition:background-color .2s}.fetch-price-btn:hover:not(:disabled){background:var(--accent-hover)}.fetch-price-btn:disabled{opacity:.5;cursor:not-allowed}.form-group .instrument-name{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin-top:.75rem}.form-row{display:flex;gap:1rem}.form-row .form-group:first-child{flex:1}.form-row .form-group:last-child{flex:2}.order-summary{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin-bottom:1.25rem}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:1rem;color:var(--text-primary)}.summary-row.fee-row{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.summary-divider{border-top:1px solid var(--border-color);margin:.5rem 0}.total-value{font-size:1.25rem;font-weight:600}.error-message{background:#dc35451a;border:1px solid var(--danger-color);color:var(--danger-color);padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.success-message{background:#10b9561a;border:1px solid var(--success-color);color:var(--success-color);padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.submit-btn{width:100%;padding:1rem;border:none;border-radius:8px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:background-color .2s}.submit-btn.buy{background:var(--success-color);color:#fff}.submit-btn.buy:hover:not(:disabled){background:#0d9f4c}.submit-btn.sell{background:var(--danger-color);color:#fff}.submit-btn.sell:hover:not(:disabled){background:#c82333}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--bg-color);color:var(--text-primary);box-sizing:border-box;cursor:pointer}.form-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #4f46e51a}.side-info-badge{text-align:center;padding:.625rem;border-radius:8px;font-size:.875rem;font-weight:600;margin-bottom:1.5rem}.side-info-badge.sell{background:#dc35451a;color:var(--danger-color);border:1px solid rgba(220,53,69,.25)}.side-info-badge.buy{background:#10b9561a;color:var(--success-color);border:1px solid rgba(16,185,86,.25)}.conditional-fields{border-top:1px solid var(--border-color);padding-top:1rem;margin-bottom:.25rem}.trailing-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.trailing-btn{flex:1;padding:.5rem;border:1px solid var(--border-color);background:transparent;border-radius:6px;font-size:.875rem;cursor:pointer;color:var(--text-secondary);transition:all .2s}.trailing-btn.active{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.oco-fields{display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--border-color);padding-top:1rem;margin-bottom:.25rem}.oco-order-group{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.oco-order-group h3{margin:0 0 .75rem;font-size:.9375rem;color:var(--text-primary)}.conditional-summary{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.875rem;color:var(--text-secondary);text-align:center}.order-list{padding:1rem}.order-list-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.order-list-header h1{margin:0;font-size:1.75rem;color:var(--text-primary)}.filter-tabs{display:flex;gap:.25rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:.25rem}.filter-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:transparent;border:none;border-radius:6px;font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.filter-tab .count{background:#fff3;padding:.125rem .375rem;border-radius:10px;font-size:.75rem}.filter-tab:not(.active) .count{background:var(--border-color)}.order-filters{display:flex;gap:1.5rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.375rem}.filter-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.filter-tabs.small{padding:.125rem}.filter-tabs.small .filter-tab{padding:.375rem .75rem;font-size:.8125rem}.symbol-filter-input{padding:.4375rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);color:var(--text-primary);font-size:.875rem;outline:none;transition:border-color .2s;min-width:180px}.symbol-filter-input::placeholder{color:var(--text-secondary);opacity:.6}.symbol-filter-input:focus{border-color:var(--accent-color)}.orders-table-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.orders-table{width:100%;border-collapse:collapse}.orders-table th,.orders-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.orders-table th{background:var(--bg-color);font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:500}.orders-table td{font-size:.875rem;color:var(--text-primary)}.orders-table tr:last-child td{border-bottom:none}.orders-table .right{text-align:right}.orders-table .date{color:var(--text-secondary);font-size:.8125rem}.orders-table .symbol{font-weight:600}.orders-table .instrument-name{font-size:.75rem;font-weight:400;color:var(--text-secondary)}.side-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.side-badge.buy{background:#10b95626;color:var(--success-color)}.side-badge.sell{background:#dc354526;color:var(--danger-color)}.status-badge{display:inline-block;padding:.25rem .625rem;border-radius:20px;font-size:.75rem;font-weight:500}.status-badge.pending{background:#ffc10726;color:#d39e00}.status-badge.executed{background:#10b95626;color:var(--success-color)}.status-badge.cancelled{background:#6c757d26;color:#6c757d}.status-badge.expired{background:#dc35451a;color:#b02a37}.profit-loss{font-size:.8125rem;font-weight:500;white-space:nowrap}.profit-loss.positive{color:var(--success-color)}.profit-loss.negative{color:var(--danger-color)}.profit-loss-pct{font-size:.7rem;opacity:.8}.type-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;background:#4f46e51f;color:var(--accent-color);white-space:nowrap}.type-badge.market{background:#6c757d1f;color:#6c757d}.oco-badge{display:inline-block;margin-left:.375rem;padding:.125rem .375rem;border-radius:4px;font-size:.625rem;font-weight:600;background:#ffc10733;color:#d39e00}.trigger-details{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.detail-line{line-height:1.4}.stop-triggered-badge{display:inline-block;margin-left:.375rem;padding:.125rem .375rem;border-radius:4px;font-size:.625rem;font-weight:500;background:#ff980026;color:#e68a00}.cancel-btn{padding:.375rem .75rem;background:transparent;border:1px solid var(--danger-color);border-radius:6px;color:var(--danger-color);font-size:.8125rem;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:var(--danger-color);color:#fff}@media(max-width:768px){.order-list-header{flex-direction:column;align-items:flex-start}.filter-tabs{flex-wrap:wrap;width:100%}.filter-tab{padding:.375rem .625rem;font-size:.8125rem}.orders-table-container{overflow:visible;background:transparent;border:none;border-radius:0}.orders-table thead{display:none}.orders-table,.orders-table tbody{display:block}.orders-table tr{display:block;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;margin-bottom:.75rem}.orders-table td{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;border-bottom:none;text-align:right}.orders-table td:before{content:attr(data-label);font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;text-align:left;flex-shrink:0;margin-right:.5rem}.orders-table td.order-symbol{font-size:1rem;flex-direction:column;align-items:flex-start;padding-bottom:.375rem;border-bottom:1px solid var(--border-color);margin-bottom:.25rem}.orders-table td.order-symbol:before{display:none}.orders-table td.order-actions{justify-content:flex-end;padding-top:.375rem;border-top:1px solid var(--border-color);margin-top:.25rem}.orders-table td.order-actions:before{display:none}.orders-table td.order-actions:empty{display:none}}.transaction-list{padding:1rem}.transaction-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.transaction-header h1{margin:0;font-size:1.75rem;color:var(--text-primary)}.filter-tabs{display:flex;gap:.25rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:.25rem;flex-wrap:wrap}.filter-tab{padding:.5rem .75rem;background:transparent;border:none;border-radius:6px;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.filter-tab:hover{color:var(--text-primary)}.filter-tab.active{background:var(--accent-color);color:#fff}.transactions-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.transaction-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);transition:background-color .15s}.transaction-item:last-child{border-bottom:none}.transaction-item:hover{background:var(--bg-color)}.tx-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:1.25rem;flex-shrink:0}.transaction-item.deposit .tx-icon{background:#10b95626}.transaction-item.withdraw .tx-icon{background:#4f46e526}.transaction-item.buy .tx-icon{background:#10b95626}.transaction-item.sell .tx-icon{background:#dc354526}.transaction-item.fee .tx-icon{background:#ffa50026}.transaction-item.tax .tx-icon{background:#6c757d26}.transaction-item.tax_refund .tx-icon{background:#10b95626}.transaction-item.loss_offset_stock .tx-icon,.transaction-item.loss_offset_general .tx-icon,.transaction-item.allowance_offset .tx-icon{background:#4f46e526}.tx-details{flex:1;min-width:0}.tx-main{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.tx-type{font-weight:500;color:var(--text-primary)}.tx-symbol{background:var(--accent-color);color:#fff;padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.tx-instrument-name{font-size:.75rem;color:var(--text-secondary)}.tx-secondary{display:flex;gap:1rem;font-size:.8125rem;color:var(--text-secondary)}.tx-date{color:var(--text-secondary)}.tx-amount{font-size:1rem;font-weight:600;white-space:nowrap}.tx-amount.positive{color:var(--success-color)}.tx-amount.negative{color:var(--danger-color)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary);background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:var(--text-primary);margin:0 0 .5rem}.empty-state p{margin:0}@media(max-width:640px){.transaction-item{flex-wrap:wrap}.tx-amount{width:100%;text-align:right;margin-top:.5rem;padding-left:calc(40px + 1rem)}}.account-manager{padding:1rem;max-width:500px;margin:0 auto}.account-manager h1{margin:0 0 1.5rem;font-size:1.75rem;color:var(--text-primary)}.balance-card{background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));border-radius:12px;padding:2rem;text-align:center;margin-bottom:1.5rem}.balance-label{font-size:.875rem;color:#fffc;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.balance-value{font-size:2.5rem;font-weight:700;color:#fff}.action-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.action-card h2{margin:0 0 1.25rem;font-size:1.125rem;color:var(--text-primary)}.amount-input-group{margin-bottom:1rem}.amount-input-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.amount-input-group input{width:100%;padding:.875rem;border:1px solid var(--border-color);border-radius:8px;font-size:1.25rem;background:var(--bg-color);color:var(--text-primary);box-sizing:border-box}.amount-input-group input:focus{outline:none;border-color:var(--accent-color)}.action-error{background:#dc35451a;border:1px solid var(--danger-color);color:var(--danger-color);padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.action-success{background:#10b9561a;border:1px solid var(--success-color);color:var(--success-color);padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.action-buttons{display:flex;gap:.75rem;margin-bottom:1rem}.action-buttons .action-btn{flex:1;padding:.875rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.action-btn.deposit{background:var(--success-color);color:#fff}.action-btn.deposit:hover:not(:disabled){background:#0d9f4c}.action-btn.withdraw{background:var(--accent-color);color:#fff}.action-btn.withdraw:hover:not(:disabled){background:var(--accent-hover)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.quick-amounts{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.quick-amounts span{font-size:.875rem;color:var(--text-secondary)}.quick-btn{padding:.375rem .625rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;font-size:.8125rem;color:var(--text-primary);cursor:pointer;transition:all .2s}.quick-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.tax-overview{padding:1rem}.tax-header{margin-bottom:1.5rem}.tax-header h1{margin:0;font-size:1.75rem;color:var(--text-primary)}.tax-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.tax-card{background:var(--card-bg);border-radius:12px;padding:1.25rem;border:1px solid var(--border-color)}.tax-card-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.tax-card-value{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.tax-card-note{font-size:.8125rem;color:var(--text-secondary)}.tax-card.tax-paid{border-color:var(--danger-color)}.tax-card.tax-paid .tax-card-value{color:var(--danger-color)}.allowance-bar{height:8px;background:var(--border-color);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.allowance-fill{height:100%;background:var(--accent-color);border-radius:4px;transition:width .3s ease}.allowance-detail{font-size:.8125rem;color:var(--text-secondary)}.tax-transactions{background:var(--card-bg);border-radius:12px;padding:1.25rem;border:1px solid var(--border-color)}.tax-transactions h2{margin:0 0 1rem;font-size:1.125rem;color:var(--text-primary)}.tax-tx-container{border-top:1px solid var(--border-color)}.tax-tx-item{display:flex;align-items:center;gap:1rem;padding:.875rem 0;border-bottom:1px solid var(--border-color)}.tax-tx-item:last-child{border-bottom:none}.tax-tx-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1.125rem;flex-shrink:0;background:#6c757d1a}.tax-tx-item.tax .tax-tx-icon{background:#dc354526}.tax-tx-item.tax_refund .tax-tx-icon{background:#10b95626}.tax-tx-item.fee .tax-tx-icon{background:#ffa50026}.tax-tx-details{flex:1;min-width:0}.tax-tx-main{display:flex;align-items:center;gap:.5rem;margin-bottom:.125rem}.tax-tx-type{font-weight:500;color:var(--text-primary);font-size:.9375rem}.tax-tx-symbol{background:var(--accent-color);color:#fff;padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.tax-tx-instrument-name{font-size:.75rem;color:var(--text-secondary)}.tax-tx-date{font-size:.8125rem;color:var(--text-secondary)}.tax-tx-amount{font-size:1rem;font-weight:600;white-space:nowrap}.tax-tx-amount.positive{color:var(--success-color)}.tax-tx-amount.negative{color:var(--danger-color)}.tax-overview .empty-state{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.tax-overview .empty-icon{font-size:3rem;margin-bottom:.75rem}.tax-overview .empty-state h3{color:var(--text-primary);margin:0 0 .5rem}.tax-overview .empty-state p{margin:0}@media(max-width:640px){.tax-tx-item{flex-wrap:wrap}.tax-tx-amount{width:100%;text-align:right;padding-left:calc(36px + 1rem)}}.app{display:flex;min-height:100vh;max-width:100vw;overflow-x:hidden}.main-content{flex:1;margin-left:240px;background:var(--bg-color);min-height:100vh;min-width:0}.mobile-header{display:none}@media(max-width:768px){.main-content{margin-left:0;margin-bottom:60px}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;background:var(--card-bg);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:50}.mobile-header-user{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary)}.mobile-header-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.mobile-header-logout{background:transparent;border:1px solid var(--border-color);padding:.375rem .75rem;border-radius:6px;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;font-family:inherit}}
