:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--green: #22c55e;--red: #ef4444;--blue: #3b82f6;--border: rgba(255, 255, 255, .08);--bg-card: rgba(255, 255, 255, .03);--text-dim: rgba(255, 255, 255, .5);--text-mid: rgba(255, 255, 255, .7)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa}.app{display:grid;grid-template-columns:320px 1fr 340px;grid-template-rows:auto 1fr;min-height:100vh;gap:1px;background:var(--border)}.header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#0d0d0d}.header h1{font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.header-right{display:flex;align-items:center;gap:1.5rem;font-size:.85rem}.portfolio-summary{display:flex;gap:1.5rem}.portfolio-summary .label{color:var(--text-dim);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.portfolio-summary .value{font-weight:600;font-size:.95rem;font-variant-numeric:tabular-nums}.watchlist-panel{background:#0d0d0d;overflow-y:auto;max-height:calc(100vh - 52px)}.panel-header{padding:1rem 1.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-bottom:1px solid var(--border)}.watchlist-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border)}.watchlist-item:hover{background:#ffffff0a}.watchlist-item.active{background:#3b82f61a;border-left:2px solid var(--blue)}.stock-symbol{font-weight:700;font-size:.9rem}.stock-name{font-size:.75rem;color:var(--text-dim);margin-top:.15rem}.stock-price{text-align:right;font-weight:600;font-size:.9rem;font-variant-numeric:tabular-nums}.stock-change{text-align:right;font-size:.75rem;font-weight:500;margin-top:.15rem;font-variant-numeric:tabular-nums}.stock-change.up{color:var(--green)}.stock-change.down{color:var(--red)}.chart-panel{background:#0d0d0d;display:flex;flex-direction:column}.chart-header{display:flex;align-items:baseline;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.chart-symbol{font-size:1.5rem;font-weight:700}.chart-price{font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums}.chart-change{font-size:.9rem;font-weight:500}.chart-change.up{color:var(--green)}.chart-change.down{color:var(--red)}.chart-timeframes{display:flex;gap:.25rem;margin-left:auto}.chart-timeframes button{background:none;border:1px solid var(--border);color:var(--text-dim);padding:.3rem .65rem;border-radius:.25rem;font-size:.75rem;cursor:pointer;transition:all .15s}.chart-timeframes button:hover{color:#fff;border-color:#fff3}.chart-timeframes button.active{background:var(--blue);border-color:var(--blue);color:#fff}.chart-area{flex:1;padding:1rem;position:relative}.chart-canvas{width:100%;height:100%;min-height:300px}.order-panel{background:#0d0d0d;display:flex;flex-direction:column;overflow-y:auto;max-height:calc(100vh - 52px)}.order-tabs{display:flex;border-bottom:1px solid var(--border)}.order-tabs button{flex:1;padding:.75rem;background:none;border:none;color:var(--text-dim);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;border-bottom:2px solid transparent}.order-tabs button:hover{color:#fff}.order-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.order-form{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.form-group input,.form-group select{background:#ffffff0d;border:1px solid var(--border);color:#fff;padding:.6rem .75rem;border-radius:.375rem;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-color:var(--blue)}.order-type-row{display:flex;gap:.5rem}.order-type-btn{flex:1;padding:.5rem;border-radius:.375rem;border:1px solid var(--border);background:none;color:var(--text-dim);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.order-type-btn.active.buy{background:#22c55e26;border-color:var(--green);color:var(--green)}.order-type-btn.active.sell{background:#ef444426;border-color:var(--red);color:var(--red)}.submit-order{padding:.75rem;border:none;border-radius:.375rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .15s;color:#fff}.submit-order.buy{background:var(--green)}.submit-order.sell{background:var(--red)}.submit-order:hover{opacity:.85}.order-estimate{padding:.75rem;background:#ffffff08;border-radius:.375rem;font-size:.8rem;display:flex;justify-content:space-between;color:var(--text-mid)}.order-estimate .val{font-weight:600;color:#fff}.holdings-section{padding:1.25rem;border-top:1px solid var(--border)}.holdings-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:.75rem}.holding-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.85rem}.holding-row:last-child{border-bottom:none}.holding-sym{font-weight:700}.holding-qty{color:var(--text-dim);font-variant-numeric:tabular-nums}.holding-value{font-weight:600;font-variant-numeric:tabular-nums}.holding-pnl{font-size:.8rem;font-weight:500}.holding-pnl.up{color:var(--green)}.holding-pnl.down{color:var(--red)}.history-section{padding:1.25rem;border-top:1px solid var(--border)}.history-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.8rem}.history-item:last-child{border-bottom:none}.history-side{font-weight:700;text-transform:uppercase;font-size:.7rem;padding:.15rem .4rem;border-radius:.2rem}.history-side.buy{background:#22c55e26;color:var(--green)}.history-side.sell{background:#ef444426;color:var(--red)}.history-details{color:var(--text-mid);font-variant-numeric:tabular-nums}.history-time{color:var(--text-dim);font-size:.7rem}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:#1a1a2e;border:1px solid var(--border);padding:.75rem 1.5rem;border-radius:.5rem;font-size:.85rem;font-weight:500;z-index:100;animation:toastIn .3s ease,toastOut .3s ease 2s forwards;box-shadow:0 8px 32px #00000080}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}@media(max-width:900px){.app{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.watchlist-panel,.order-panel{max-height:none}}
