@import "tailwindcss"; :root { --font-display: system-ui, -apple-system, sans-serif; --font-mono: "SF Mono", "Fira Code", monospace; --bg-0: #0f0f0f; --bg-1: #161616; --bg-2: #1c1c1c; --panel: #1a1a1a; --panel-soft: #222222; --panel-bright: #2a2a2a; --line-weak: rgba(255, 255, 255, 0.08); --line-strong: rgba(255, 255, 255, 0.16); --accent: #e0e0e0; --accent-strong: #ffffff; --danger: #ff6b6b; --danger-soft: rgba(255, 107, 107, 0.15); --terminal-bright: #f0f0f0; --terminal-muted: #888888; --focus-ring: rgba(255, 255, 255, 0.1); } * { box-sizing: border-box; } html, body { margin: 0; padding: 0; } html { -webkit-text-size-adjust: 100%; } [data-sonner-toaster] { --normal-bg: rgba(31, 34, 39, 0.96); --normal-text: #f3f5f7; --normal-border: rgba(220, 226, 234, 0.24); --success-bg: rgba(34, 44, 39, 0.96); --success-text: #e4efe7; --success-border: rgba(163, 191, 171, 0.55); --error-bg: rgba(67, 27, 27, 0.96); --error-text: #ffd6d6; --error-border: rgba(255, 112, 112, 0.8); } [data-sonner-toast] { backdrop-filter: blur(8px); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28); } body { min-height: 100vh; overflow-x: hidden; font-family: var(--font-display), sans-serif; color: var(--terminal-bright); background: var(--bg-0); } .app-surface, .auth-page { position: relative; min-height: 100vh; overflow: hidden; } .terminal-caption { font-family: var(--font-mono), monospace; } .panel-heading { font-family: var(--font-mono), monospace; } a, button, input, select, textarea { touch-action: manipulation; } .data-table { width: 100%; border-collapse: collapse; } .data-surface { border: 1px solid var(--line-weak); border-radius: 0.5rem; background: var(--panel); } .data-table-wrap { overflow-x: auto; border: 1px solid var(--line-weak); border-radius: 0.5rem; background: var(--panel); } .data-table th, .data-table td { border-bottom: 1px solid var(--line-weak); padding: 0.8rem 0.8rem; text-align: left; font-size: 0.875rem; vertical-align: top; } .data-table th { font-family: var(--font-mono), monospace; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--terminal-muted); } .data-table tbody tr:hover { background-color: rgba(255, 255, 255, 0.04); } @media (max-width: 640px) { .data-table th, .data-table td { padding: 0.65rem 0.55rem; font-size: 0.8125rem; } .financial-matrix-metric-col { width: 18rem; } .financial-matrix-period-col { width: 8rem; } .financial-matrix-header, .financial-matrix-section-cell, .financial-matrix-sticky-cell, .financial-matrix-value-cell { padding-left: 0.65rem; padding-right: 0.65rem; } } .panel-compact { padding: 0.75rem; } .panel-dense { padding: 0.5rem 0.75rem; } .data-table-dense { width: 100%; border-collapse: collapse; } .data-table-dense th, .data-table-dense td { border-bottom: 1px solid var(--line-weak); padding: 0.5rem 0.6rem; text-align: left; font-size: 0.8125rem; vertical-align: top; } .data-table-dense th { font-family: var(--font-mono), monospace; font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--terminal-muted); } .data-table-dense tbody tr:hover { background-color: rgba(255, 255, 255, 0.04); } .financials-table tbody tr:hover { background-color: transparent; } .financial-matrix-wrap { overflow: auto; border: 1px solid var(--line-weak); border-radius: 0.75rem; background: var(--panel); } .financial-matrix { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; } .financial-matrix-metric-col { width: 24rem; } .financial-matrix-period-col { width: 9rem; } .financial-matrix-header { position: sticky; top: 0; z-index: 10; padding: 0.85rem 0.9rem; border-bottom: 1px solid var(--line-strong); background: color-mix(in srgb, var(--panel) 92%, black 8%); text-align: right; white-space: nowrap; font-family: var(--font-mono), monospace; } .financial-matrix-section-row td { border-bottom: 1px solid var(--line-strong); } .financial-matrix-section-cell { padding: 0.7rem 0.9rem; background: rgba(255, 255, 255, 0.04); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--terminal-muted); } .financial-matrix-row-detail td { background: rgba(255, 255, 255, 0.015); } .financial-matrix-sticky-cell, .financial-matrix-value-cell { padding: 0.45rem 0.9rem; border-bottom: 1px solid var(--line-weak); white-space: nowrap; vertical-align: top; } .financial-matrix-sticky-cell { border-right: 1px solid var(--line-weak); background: var(--panel); } .financial-matrix-sticky-cell-detail { background: color-mix(in srgb, var(--panel) 92%, white 8%); } .financial-matrix-value-cell { text-align: right; font-variant-numeric: tabular-nums; color: var(--terminal-bright); } .metric-compact { padding-top: 0.5rem; } .metric-compact .metric-value { font-size: 1.25rem; } .metric-compact .metric-label { font-size: 0.625rem; } .index-card-row { display: flex; gap: 0.5rem; overflow-x: auto; padding-bottom: 0.25rem; scrollbar-width: thin; } .index-card-row::-webkit-scrollbar { height: 4px; } .index-card-row::-webkit-scrollbar-track { background: transparent; } .index-card-row::-webkit-scrollbar-thumb { background: var(--line-weak); border-radius: 2px; } .index-card { flex-shrink: 0; min-width: 140px; padding: 0.625rem 0.75rem; border-right: 1px solid var(--line-weak); } .index-card:last-child { border-right: none; } .index-card .label { font-family: var(--font-mono), monospace; font-size: 0.625rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--terminal-muted); } .index-card .value { font-size: 1.125rem; font-weight: 600; color: var(--terminal-bright); margin-top: 0.25rem; } .index-card .delta { font-size: 0.75rem; margin-top: 0.125rem; } .index-card .delta.positive { color: #96f5bf; } .index-card .delta.negative { color: #ff9f9f; } .section-divider { border-top: 1px solid var(--line-weak); margin-top: 1rem; padding-top: 1rem; } .section-divider-compact { border-top: 1px solid var(--line-weak); margin-top: 0.75rem; padding-top: 0.75rem; } .toolbar-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; } .screener-table-wrap { overflow-x: auto; border: 1px solid var(--line-weak); border-radius: 0.5rem; background: var(--panel); } .screener-table-wrap thead { position: sticky; top: 0; background: rgba(28, 31, 36, 0.95); z-index: 1; } .screener-table-wrap thead::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--line-weak); } .control-compact { min-height: 32px; padding: 0.375rem 0.625rem; font-size: 0.75rem; } .control-compact.rounded-xl { border-radius: 0.625rem; }