:root{--bg: #0A0E13;--card: #111827;--border: rgba(255, 255, 255, .08);--border-soft: rgba(255, 255, 255, .05);--text: #e5e7eb;--text2: #9ca3af;--text3: #6b7280;--gain: #22c55e;--loss: #f87171;--v-line: #a78bfa;--sell: #f87171}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;margin:0;font-size:14px}a{color:inherit;text-decoration:none}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}button{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;padding:6px 12px;font-size:13px;transition:opacity .15s}button:hover{opacity:.8}button.primary{background:#7c3aed;border-color:#7c3aed;color:#fff}button.danger{background:transparent;border-color:var(--loss);color:var(--loss)}input,select{background:var(--card);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 10px;font-size:13px;width:100%}input:focus,select:focus{outline:none;border-color:#7c3aed}.between{display:flex;justify-content:space-between;align-items:center}.row{display:flex;gap:8px;align-items:center}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{font-size:12px;color:var(--text3)}.gain{color:var(--gain)}.loss{color:var(--loss)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;min-width:360px;max-width:480px;width:90vw;max-height:80vh;overflow-y:auto}.modal h3{margin:0 0 16px;font-size:16px}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:12px;color:var(--text2);margin-bottom:4px}.tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab-btn{border:none;border-bottom:2px solid transparent;border-radius:0;padding:8px 16px;color:var(--text2);background:transparent}.tab-btn.active{color:var(--text);border-bottom-color:#7c3aed}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:6px 8px;color:var(--text3);font-weight:500;border-bottom:1px solid var(--border)}td{padding:6px 8px;border-bottom:1px solid var(--border-soft)}tr:last-child td{border-bottom:none}.dragging{opacity:.4}.drag-over{border-top:2px solid #7c3aed}
