""" styles.py — Global WCO colour palette, CSS injection, and shared UI helpers """ import streamlit as st # ── WCO Colour Palette ────────────────────────────────────────────────────── WCO_NAVY = "#003087" WCO_BLUE = "#0066CC" WCO_GOLD = "#C8A951" WCO_GREEN = "#00843D" WCO_RED = "#C8102E" WCO_YELLOW = "#F5A800" WCO_GREY_BG = "#0B1220" WCO_CARD_BG = "#0F1C35" WCO_BORDER = "#1E3A6E" WCO_TEXT = "#D0DCF0" WCO_MUTED = "#6B85AA" CHANNEL_COLORS = { "RED": WCO_RED, "YELLOW": WCO_YELLOW, "GREEN": WCO_GREEN, } RISK_COLORS = { "Drugs & Narcotics": "#C8102E", "Environmental/Plastic Waste": "#00843D", "Revenue Leakage": "#F5A800", "IPR Enforcement": "#9B59B6", "Wildlife Smuggling": "#E67E22", } def inject_global_css(): st.markdown(f""" """, unsafe_allow_html=True) def page_header(icon: str, title: str, subtitle: str): st.markdown(f"""
{icon}

{title}

{subtitle}

🌐 WCO ACCREDITED
No-CelH Self-Learning RMS v2.0
""", unsafe_allow_html=True) def metric_row(metrics: list): """metrics = [(value, label, color), ...]""" cols_html = "" for val, lbl, col in metrics: cols_html += f"""
{val}
{lbl}
""" st.markdown(f'
{cols_html}
', unsafe_allow_html=True)