
/* LAYOUT GLOBAL */
body {
	width: 100dvw;
	height: 100dvh;
	--modBgColor: #C0C0C0;
}
.text-center { text-align: center; }
/*.mod-doc { --modBgColor: #ff6c00; }
.mod-user { --modBgColor: #00abff; }
.mod-conversation { --modBgColor: #af00ff; }*/

/* COULEURS DES MODULES (Thème Intranet Urcuit) */

/* 1. ACTUALITÉS (Information chaude, institutionnelle) : Rouge corail doux */
.mod-actu, .mod-salle_hebdo { --modBgColor: #e63946; }

/* 2. ÉVÉNEMENTS (Festif, agenda public, dynamisme) : Orange chaleureux */
.mod-event { --modBgColor: #f4a261; }

/* 3. DOCUMENTS (Archives, sérieux, GED) : Bleu acier / Gris bleuté */
.mod-doc { --modBgColor: #457b9d; }

/* 4. CONVERSATION (Communication, WhatsApp-like, direct) : Vert d'eau / Émeraude */
.mod-conversation, .mod-salle_year { --modBgColor: #9d4edd; }

/* 5. UTILISATEURS (Annuaire, personnel, institution) : Bleu nuit / Marine */
.mod-user { --modBgColor: #1d3557; }

/* 6. SALLES (Logistique, réservation, ressources matérielles) : Violet améthyste */
.mod-salle { --modBgColor: #2a9d8f; }

/* 7. ASSOCIATIONS (Vie locale, nature, tissu social) : Vert */
.mod-asso { --modBgColor: #93b24b; }

/* 8. PROFESSIONNELS (Acteurs économiques, sérieux, entreprises) : Terre cuite / Brun ou Gris Ardoise */
.mod-pro { --modBgColor: #bc6c25; }


#module-topbar {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	color: white;
	text-align: center;
	padding: 5px 10px;
	background-color: var(--modBgColor);
}
#body-upload { background-color: var(--modBgColor); }
#body-filter { padding: 5px; 	border-bottom: 1px solid var(--fg-color-white); background-color: var(--bg-color); }
#body-main { flex: 1; overflow: auto; }
#body-footer {}

#topbar-home img {
	width: 50px;
	height: 50px;
}

/* Disparition matérielle du DOM si le contrôleur Node.js n'injecte aucun filtre (Sobriété UI) */
#body-filter:empty {
	display: none !important;
}
/* --- Composants de Filtrage Mutuel --- */
#body-filter .filter-select {
	min-width: 150px;
	padding: 6px;
	border-radius: 4px;
}
#body-filter .filter-search {
	min-width: 250px;
	padding: 6px 12px;
	border-radius: 20px; /* Consistance avec la charte des .btn-action */
}
/* --- Toggles de la Machine d'État (Vue Liste vs Regroupée) --- */
#body-filter .view-toggle-group {
	display: flex;
	border: 1px solid var(--fg-color-blue, #161e29);
	border-radius: 4px;
	overflow: hidden;
}
#body-filter .view-toggle-btn {
	background: var(--fg-color-light, #ffffff);
	color: var(--fg-color-blue, #161e29);
	border: none;
	padding: 6px 12px;
	cursor: pointer;
	font-size: 0.9rem;
	transition: background 0.2s, color 0.2s;
}
#body-filter .view-toggle-btn.active {
	background: var(--fg-color-blue, #161e29);
	color: var(--fg-color-light, #ffffff);
	font-weight: bold;
}

/* Surcharge MODALE */
.modal-content { width: auto !important; }
.modal-header, .modal-footer {
	padding: 6px 12px !important;
	border-bottom: none !important;
	background-color: black !important;
	color: white !important;
}
.modal-close-btn svg { fill: white !important; }
.modal-body { padding: 0px !important; }

.empty-state .symbol {
	font-size: 4rem;
	color: #ccc;
	margin: 10px 0px;
}