* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #0f1117; color: #e0e0e0; min-height: 100vh; }

/* ── Header ─────────────────────────────────────────────── */
header { background: #161b22; border-bottom: 1px solid #30363d; padding: 16px 32px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
header h1 { font-size: 20px; font-weight: 600; color: #58a6ff; }

/* ── Search ─────────────────────────────────────────────── */
.search-wrap { position: relative; flex: 1; max-width: 400px; }
#search-input { width: 100%; padding: 8px 14px; background: #0d1117; border: 1px solid #30363d; border-radius: 6px; color: #e0e0e0; font-size: 14px; outline: none; transition: border-color 0.2s; }
#search-input:focus { border-color: #58a6ff; }
#suggestions { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: #161b22; border: 1px solid #30363d; border-radius: 6px; z-index: 200; display: none; }
.suggestion-item { padding: 10px 14px; cursor: pointer; font-size: 14px; display: flex; gap: 10px; align-items: center; }
.suggestion-item:hover { background: #21262d; }
.suggestion-item .sym { font-weight: 600; color: #58a6ff; min-width: 60px; }
.suggestion-item .nm { color: #8b949e; flex: 1; }
.suggestion-item .stype { font-size: 10px; color: #484f58; background: #21262d; border: 1px solid #30363d; border-radius: 4px; padding: 1px 5px; text-transform: uppercase; letter-spacing: 0.5px; }

/* ── Stock chips ────────────────────────────────────────── */
#chips-wrap { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.chip { display: flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 20px; font-size: 13px; font-weight: 600; border: 1.5px solid; }
.chip-remove { cursor: pointer; opacity: 0.6; font-size: 15px; line-height: 1; background: none; border: none; color: inherit; padding: 0; }
.chip-remove:hover { opacity: 1; }

/* ── App body (sidebar + main) ──────────────────────────── */
.app-body { display: flex; align-items: stretch; min-height: calc(100vh - 65px); }

/* ── Main layout ────────────────────────────────────────── */
main { padding: 32px; flex: 1; min-width: 0; }
#placeholder { text-align: center; margin-top: 100px; color: #8b949e; font-size: 16px; }
#chart-section { display: none; }

/* ── Tabs ───────────────────────────────────────────────── */
#main-tabs { display: flex; gap: 2px; margin-bottom: 20px; border-bottom: 1px solid #30363d; padding-bottom: 0; }
.tab-btn { padding: 8px 20px; background: transparent; border: none; border-bottom: 2px solid transparent; color: #8b949e; font-size: 14px; cursor: pointer; transition: all 0.15s; margin-bottom: -1px; }
.tab-btn:hover { color: #e0e0e0; }
.tab-btn.active { color: #58a6ff; border-bottom-color: #58a6ff; font-weight: 600; }

/* ── Shared colour utils ────────────────────────────────── */
.up { color: #3fb950; }
.down { color: #f85149; }
.na { color: #484f58; }
