/* --- Base.css --- */ .stAppHeader { visibility: hidden; } /* Conteneur principal */ .block-container { max-width: 1024px !important; padding-left: 2rem; padding-right: 2rem; padding: 0rem 1rem 10rem; } .stVerticalBlock { gap: 0.5rem !important; } /* Typographie & structure */ body, html { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; } .block-container { max-width: 1024px !important; padding: 0 1rem 10rem; } .stVerticalBlock { gap: 0.5rem !important; } /* Boutons & sliders */ .stButton > button, .stDownloadButton > button, .stSlider > div > div { background-color: darkgreen !important; color: white !important; border: 1px solid grey; } /* Sidebar (style fixe) */ section[data-testid="stSidebar"] { background-color: #ccc !important; color: #111 !important; } section[data-testid="stSidebar"] .stButton > button { background-color: darkgreen !important; color: white !important; font-weight: bold; border: 1px solid #ccc !important; } /* Footer commun */ .wide-footer { width: 100vw; margin-left: calc(-50vw + 50%); margin-top: 3rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); border-top: 1px solid #ddd; text-align: center; padding-top: 1rem; } .info-footer { font-size: 1rem !important; font-weight: 800; } /* En-tête large */ .wide-header { width: 100vw; margin-left: calc(-50vw + 50%); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); border-bottom: 1px solid #ddd; text-align: center; padding-top: 1rem; margin-top: -1.25em; } .titre-header { font-size: 2rem !important; font-weight: bolder !important; } /* Accessibilité RGAA pour les onglets */ div[role="radiogroup"] > label { padding: 0.5em 1em; border-radius: 0.4em; margin-right: 0.5em; cursor: pointer; border: 1px solid #fff; } div[role="radiogroup"] > label[data-selected="true"] { font-weight: bold; border: 2px solid #145a1a; } /* Styles pour les éléments décoratifs */ section[data-testid="stSidebar"] .decorative-heading { font-size: 1.25rem; font-weight: bold; margin-bottom: 0.5rem; text-align: center; color: #145a1a; } section[data-testid="stSidebar"] div[role="radiogroup"] { justify-content: center !important; display: flex !important; gap: 1rem; /* Optionnel : espace entre les boutons */ } /* Corrige la couleur du texte des boutons de la sidebar - identique en light ou en dark */ section[data-testid="stSidebar"] .stButton > button { background-color: darkgreen !important; color: white !important; font-weight: bold !important; border: 1px solid #ccc !important; width: 100%; } /* Translate Drag and drop and Browse files */ /* Hide original "Drag and drop file here" text */ div[data-testid="stFileUploaderDropzoneInstructions"] .st-emotion-cache-j7qwjs > span:nth-of-type(1) { visibility: hidden; } /* Insert French translation */ div[data-testid="stFileUploaderDropzoneInstructions"] .st-emotion-cache-j7qwjs > span:nth-of-type(1)::after { content: "Glissez-déposez votre fichier ici"; visibility: visible; display: block; font-size: inherit; color: inherit; } /* Hide original "Browse files" button text */ /* Target the button within the dropzone container for uploader */ div[data-testid="stFileUploaderDropzone"] button[data-testid="stBaseButton-secondary"] { color: transparent !important; position: relative; } /* Insert French translation for button */ div[data-testid="stFileUploaderDropzone"] button[data-testid="stBaseButton-secondary"]::after { content: "Parcourir les fichiers"; visibility: visible !important; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; font-size: inherit; color: inherit !important; } /* Override Streamlit file uploader limit text to 100 Ko */ div[data-testid="stFileUploaderDropzoneInstructions"] small { visibility: hidden; } div[data-testid="stFileUploaderDropzoneInstructions"] small::after { content: "Limite 100 Ko par fichier • JSON"; visibility: visible; display: block; font-size: inherit; color: inherit; margin-top: 0.25em; } button[data-testid="stBaseButton-primary"], button[data-testid="stBaseButton-secondary"] { color: white !important; } button[data-testid="stBaseButton-primary"] p, , button[data-testid="stBaseButton-secondary"] p { color: white !important; } .bouton-fictif { display: inline-flex; -moz-box-align: center; align-items: center; -moz-box-pack: center; justify-content: center; padding: 0.25rem 0.75rem; border-radius: 0.5rem; min-height: 2.5rem; margin-bottom: 20px; line-height: 1; text-transform: none; font-size: x-large; font-family: inherit; user-select: none; border: 1px solid rgba(49, 51, 63, 0.2); background-color: darkgrey !important; color: darkgreen !important; font-weight: bold !important; width: 100%; letter-spacing: 0.2em; } /* Utilisation des variables CSS définies dans les fichiers de thème */ body, .stApp, .block-container { background-color: var(--bg-color) !important; color: var(--text-color) !important; } /* En-tête large */ .wide-header { background-color: var(--header-bg); } .titre-header { color: var(--header-title); } /* Footer commun */ .wide-footer { background-color: var(--footer-bg); } .info-footer { color: var(--footer-text); } /* Accessibilité RGAA pour les onglets */ section:not([data-testid="stSidebar"]) div[role="radiogroup"] > label p { background-color: var(--radio-bg) !important; color: var(--radio-text) !important; } section:not([data-testid="stSidebar"]) div[role="radiogroup"] > label[data-selected="true"] { background-color: var(--radio-selected-bg) !important; color: var(--radio-selected-text) !important; } /* Graphiques */ .stPlotlyChart text { fill: var(--plot-text) !important; } /* Paragraphes */ section:not([data-testid="stSidebar"]) div:not[data-testid="stElementContainer"] p:not(#Authentification):not(#Theme) { color: var(--paragraph-color) !important; } /* Champs de formulaire */ div[data-baseweb="select"], section:not([data-testid="stSidebar"]) div[data-baseweb="base-input"], section[data-testid="stFileUploaderDropzone"] { border: 1px solid var(--input-border) !important; border-radius: 5px; padding: 4px; } /* Détails */ details { border-color: var(--details-border) !important; } /* Tables */ table { border: 1px solid var(--table-border) !important; border-collapse: collapse; width: 100%; margin-bottom: 1.5em; } th, td { border: 1px solid var(--table-border) !important; padding: 8px; text-align: left; } /* Accessibilité RGAA */ caption { caption-side: top; font-weight: bold; padding: 0.5em; text-align: left; caption-side: bottom; text-align: center; } table[role="table"] th[scope="col"] { background-color: var(--background-color); } /* Fin de Tables */ section:not([data-testid="stSidebar"]) div[data-testid="stSelectbox"] p, section:not([data-testid="stSidebar"]) div[data-testid="stMultiSelect"] p, section:not([data-testid="stSidebar"]) div[data-testid="stRadio"] p, section:not([data-testid="stSidebar"]) div[data-testid="stCheckbox"] p, section:not([data-testid="stSidebar"]) div[data-testid="stTextInput"] p, section:not([data-testid="stSidebar"]) div[data-testid="stTextArea"] p, section:not([data-testid="stSidebar"]) div[data-testid="stAlertContentInfo"] p { color: var(--text-color) !important; } section:not([data-testid="stSidebar"]) hr { background-color: var(--hr-color) !important; } .stPlotlyChart text { fill: black !important; text-shadow: none !important; font-weight: bold !important; font-size: 14px !important; font-family: Verdana, sans-serif !important; } .conteneur_commentaire { background: var(--background-color); padding: 0.5rem; border-radius: 8px; margin-bottom: 0.5rem; border: 1px solid #ccc; border-radius: 8px; padding: 1em; margin-bottom: 1em; } .commentaire_auteur { color: var(--text-color) !important; margin: 0; } .commentaire_contenu { color: var(--text-color) !important; margin: 0.5rem 0 0; } .conteneur_ticket { background: var(--background-color); padding: 0.5rem; border-radius: 8px; margin-bottom: 0.5rem; border: 1px solid #ccc; border-radius: 8px; padding: 1em; margin-bottom: 1em; } .ticket_auteur { color: var(--text-color) !important; margin: 0; } .ticket_contenu { color: var(--text-color) !important; margin: 0.5rem 0 0; } button[data-testid="stBaseButton-headerNoPadding"] svg { fill: var(--text-color) !important; } details { border: 1px solid #ccc; border-radius: 6px; padding: 0.5em; margin-bottom: 0.5em; background-color: var(--background-color); } .math-block { display: block; text-align: center; margin: 1em 0; border: 1px solid var(--math-block-border); border-radius: 10px; background: var(--math-block-bg); font-size: x-large; color: var(--text-color); } .math-block math { display: inline-block; } /* Cache complètement la section d’actions Vega */ .vega-actions { display: none !important; } /* Et aussi le
parent, s’il faut tout masquer */ details[title="Click to view actions"] { display: none !important; } div.stElementContainer.element-container.st-key-nom_utilisateur { display: none !important; }