/* ── General ── */ html, body, [class*="css"] { font-family: 'IBM Plex Sans', 'Segoe UI', sans-serif; } .block-container { padding-top: 2rem; } h1, h2, h3, h4 { letter-spacing: -0.01em; } /* ── Sidebar ── */ [data-testid="stSidebar"] { background: #0f1117; border-right: 1px solid #1e2130; } [data-testid="stSidebar"] * { color: #e2e8f0 !important; } [data-testid="stSidebar"] .stRadio label { font-size: 0.95rem; } [data-testid="stSidebar"] hr { border-color: #1e2130; } /* ── Page header ── */ .page-header { display: flex; align-items: baseline; gap: 0.6rem; margin-bottom: 0.1rem; } .page-subtitle { color: #94a3b8; font-size: 0.95rem; margin-bottom: 1.4rem; } /* ── Panel / card shells ── */ .panel { background: #12141c; border: 1px solid #232838; border-radius: 12px; padding: 1.1rem 1.3rem; } .panel-title { font-size: 0.82rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: #7dd3fc; margin-bottom: 0.7rem; } /* ── Answer box ── */ .answer-box { background: #0f1117; border: 1px solid #2d3748; border-left: 4px solid #38bdf8; border-radius: 8px; padding: 1.2rem 1.4rem; margin-top: 0.5rem; color: #e2e8f0; font-size: 0.97rem; line-height: 1.7; box-shadow: 0 2px 10px rgba(0,0,0,0.18); } /* ── Source card ── */ .source-card { background: #1a1f2e; border: 1px solid #2d3748; border-radius: 8px; padding: 0.8rem 1rem; margin-bottom: 0.55rem; font-size: 0.87rem; color: #94a3b8; transition: border-color 0.15s ease; } .source-card:hover { border-color: #38bdf8; } .source-card strong { color: #7dd3fc; } .source-page-badge { display: inline-block; background: #052e16; color: #4ade80 !important; border-radius: 999px; padding: 0.05rem 0.55rem; font-size: 0.72rem; margin-left: 0.4rem; } /* ── Upload status ── */ .upload-success { background: #052e16; border: 1px solid #15803d; border-radius: 8px; padding: 0.75rem 1rem; color: #4ade80; font-size: 0.9rem; } /* ── Metric pills ── */ .metric-pill { display: inline-block; background: #1e293b; border: 1px solid #334155; border-radius: 999px; padding: 0.25rem 0.75rem; font-size: 0.8rem; color: #94a3b8; margin-right: 0.4rem; margin-bottom: 0.3rem; } /* ── Empty state ── */ .empty-state { height: 780px; border: 2px dashed #2d3748; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #4b5563; gap: 0.4rem; } .empty-state .icon { font-size: 2.4rem; } .empty-state .txt { font-size: 0.95rem; } /* ── PDF page nav bar ── */ .pdf-navbar { display: flex; align-items: center; justify-content: center; gap: 0.6rem; color: #94a3b8; font-size: 0.85rem; margin-top: 0.5rem; } .highlight-note { color: #facc15; font-size: 0.8rem; margin-top: 0.3rem; }