/* Google Fonts Import */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); /* Global Reset & Base Styles */ html, body, [class*="css"] { font-family: 'Inter', sans-serif; color: #1F2937; /* Gray 800 */ } /* Hide Streamlit Default Elements */ #MainMenu { visibility: hidden; } footer { visibility: hidden; } header { visibility: hidden; } /* Background */ .stApp { background-color: #F9FAFB; /* Gray 50 */ background-image: radial-gradient(#E5E7EB 1px, transparent 1px); background-size: 20px 20px; } /* Container Styling */ .block-container { padding-top: 2rem; padding-bottom: 3rem; max-width: 900px; } /* Headings */ h1 { font-weight: 800 !important; color: #111827; text-align: center; margin-bottom: 0.5rem !important; background: linear-gradient(90deg, #4F46E5, #7C3AED); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; } h2 { font-weight: 600 !important; color: #374151; text-align: center; font-size: 1.2rem !important; margin-bottom: 2rem !important; margin-top: 0 !important; } h3 { color: #111827; font-weight: 600 !important; font-size: 1.1rem !important; margin-top: 1rem !important; } .stTabs [data-baseweb="tab-list"] { gap: 8px; background-color: transparent; padding-bottom: 10px; } .stTabs [data-baseweb="tab"] { height: 45px; white-space: pre-wrap; background-color: #FFFFFF; border-radius: 8px; color: #4B5563; font-weight: 500; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); border: 1px solid #E5E7EB; transition: all 0.2s ease; } .stTabs [aria-selected="true"] { background-color: #4F46E5 !important; color: white !important; border: none !important; box-shadow: 0 4px 6px -1px rgba(79, 70, 229, 0.2); } /* Button Styling (Primary) */ div.stButton>button { width: 100%; background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%); color: white !important; border: none; padding: 0.6rem 1.2rem; border-radius: 8px; font-weight: 600; transition: transform 0.1s, box-shadow 0.2s; box-shadow: 0 4px 6px -1px rgba(79, 70, 229, 0.3); } div.stButton>button:hover { transform: translateY(-1px); box-shadow: 0 6px 8px -1px rgba(79, 70, 229, 0.4); border: none; color: white !important; } div.stButton>button:active { transform: translateY(0); } /* Success/Info Messages */ .stAlert { border-radius: 8px; border: none; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); } /* Images */ img { border-radius: 12px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); transition: transform 0.2s; } img:hover { transform: scale(1.02); } /* Custom helper classes for dividers */ hr { border-top: 1px solid #E5E7EB; margin: 2rem 0; }