/* =========================================================================
   GenCRM — couche « application »
   Gabarit à barre supérieure et menu latéral + composants partagés avec
   l'extension GenCRM (et réutilisables par GenRP, Pilotage DSI).
   Toutes les classes sont préfixées gen- ; les jetons sont des variables --gen-*.
   ========================================================================= */

:root {
	--gen-barre: var(--wp--custom--app--barre, 56px);
	--gen-rail: var(--wp--custom--app--rail, 260px);
	--gen-rail-replie: var(--wp--custom--app--rail-replie, 72px);
	--gen-ok: var(--wp--custom--statut--ok, #1E7E34);
	--gen-ok-fond: var(--wp--custom--statut--ok-fond, #E6F4EA);
	--gen-att: var(--wp--custom--statut--attention, #7A5A00);
	--gen-att-fond: var(--wp--custom--statut--attention-fond, #FFF6C7);
	--gen-ko: var(--wp--custom--statut--alerte, #B02030);
	--gen-ko-fond: var(--wp--custom--statut--alerte-fond, #FDE7E9);
	--gen-info: var(--wp--custom--statut--info, #0E5A9C);
	--gen-info-fond: var(--wp--custom--statut--info-fond, #E8F2FB);
	--gen-ombre: var(--wp--preset--shadow--carte);
	--gen-ombre-tiroir: var(--wp--preset--shadow--tiroir);
}

/* -------------------------------------------------------------------------
   Gabarit application
   ------------------------------------------------------------------------- */
body.gen-is-app { background: var(--gen-fond-doux); }
/* Pas d'espace entre la barre et la zone de travail */
body.gen-is-app .wp-site-blocks > * { margin-block-start: 0; }
.gen-app-bar {
	position: sticky;
	top: 0;
	z-index: 40;
	min-height: var(--gen-barre);
	background: var(--gen-anthracite);
	color: #FFFFFF;
	border-bottom: 5px solid transparent;
	border-image: var(--gen-bande) 1;
}
.admin-bar .gen-app-bar { top: 32px; }
@media (max-width: 782px) { .admin-bar .gen-app-bar { top: 46px; } }
.gen-app-bar a { color: #FFFFFF; text-decoration: none; }
.gen-app-bar .wp-block-site-title a { font-family: var(--gen-f-titres); }
.gen-app-bar .custom-logo { max-height: 38px; width: auto; background: #FFFFFF; padding: 3px 6px; }
.gen-app-bar .wp-block-search__input {
	background: rgba(255, 255, 255, .14);
	color: #FFFFFF;
	border: 1px solid rgba(255, 255, 255, .35);
	min-width: min(38vw, 420px);
}
.gen-app-bar .wp-block-search__input::placeholder { color: rgba(255, 255, 255, .85); }
.gen-app-bar .wp-block-search__button { background: #FFFFFF; color: var(--gen-anthracite); border: 0; }

.gen-app {
	display: grid;
	grid-template-columns: var(--gen-rail) minmax(0, 1fr);
	min-height: calc(100vh - var(--gen-barre));
	align-items: start;
}
.gen-app.is-collapsed { grid-template-columns: var(--gen-rail-replie) minmax(0, 1fr); }
.gen-app__main { padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--60) var(--wp--preset--spacing--80); min-width: 0; }
.gen-app__main > * { max-width: 1320px; }

/* Menu latéral */
.gen-rail {
	position: sticky;
	top: var(--gen-barre);
	height: calc(100vh - var(--gen-barre));
	overflow-y: auto;
	background: #FFFFFF;
	border-right: 1px solid var(--gen-filet);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
}
.gen-rail .wp-block-navigation__container,
.gen-rail ul { display: grid; gap: 2px; width: 100%; list-style: none; margin: 0; padding: 0; }
.gen-rail .wp-block-navigation-item,
.gen-rail li { width: 100%; }
.gen-rail .wp-block-navigation-item__content,
.gen-rail a {
	display: flex;
	align-items: center;
	gap: .7rem;
	width: 100%;
	padding: .6rem .8rem;
	color: var(--gen-texte);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--s);
	text-decoration: none;
	border-left: 4px solid transparent;
}
.gen-rail a:hover { background: var(--gen-bleu-pale); }
.gen-rail .current-menu-item > a,
.gen-rail a[aria-current="page"] {
	background: var(--gen-bleu-pale);
	border-left-color: var(--gen-bleu);
	color: var(--gen-bleu-fonce);
}
.gen-rail__titre {
	margin: var(--wp--preset--spacing--40) .8rem .3rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--gen-corail-texte);
}
.gen-rail__toggle {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-top: var(--wp--preset--spacing--40);
	background: none;
	border: 0;
	color: var(--gen-texte-doux);
	font: inherit;
	font-size: var(--wp--preset--font-size--s);
	font-weight: 600;
	cursor: pointer;
	padding: .5rem .8rem;
}
.gen-app.is-collapsed .gen-rail .wp-block-navigation-item__label,
.gen-app.is-collapsed .gen-rail__titre,
.gen-app.is-collapsed .gen-rail__toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@media (max-width: 900px) {
	.gen-app, .gen-app.is-collapsed { grid-template-columns: minmax(0, 1fr); }
	.gen-rail {
		position: fixed;
		inset: var(--gen-barre) auto 0 0;
		width: min(86vw, 320px);
		height: auto;
		transform: translateX(-100%);
		transition: transform .2s;
		z-index: 45;
		box-shadow: var(--gen-ombre-tiroir);
	}
	.gen-app.is-rail-open .gen-rail { transform: none; }
	.gen-app__main { padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) var(--wp--preset--spacing--70); }
	.gen-rail__toggle { display: none; }
}
.gen-rail-open { display: none; }
@media (max-width: 700px) {
	.gen-app-bar .wp-block-search,
	.gen-app-bar .wp-block-site-logo { display: none; }
}
@media (max-width: 900px) {
	.gen-rail-open {
		display: inline-flex;
		align-items: center;
		gap: .4rem;
		background: none;
		border: 0;
		color: #FFFFFF;
		font: inherit;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: .04em;
		cursor: pointer;
	}
}

/* En-tête de page d'application */
.gen-page-head { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--40); align-items: end; justify-content: space-between; margin-bottom: var(--wp--preset--spacing--50); }
.gen-page-head h1 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.4rem); }
.gen-page-head p { margin: .3rem 0 0; color: var(--gen-texte-doux); max-width: 75ch; }

/* -------------------------------------------------------------------------
   Composants
   ------------------------------------------------------------------------- */
.gen-panel {
	background: #FFFFFF;
	border: 1px solid var(--gen-filet);
	box-shadow: var(--gen-ombre);
}
.gen-panel--pad { padding: var(--wp--preset--spacing--50); }
.gen-panel__titre { font-family: var(--gen-f-titres); font-size: var(--wp--preset--font-size--l); font-weight: 600; margin: 0 0 .75rem; color: var(--gen-texte); }

/* Pastilles */
.gen-pill {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: .15rem .6rem;
	border-radius: var(--wp--custom--rayon--pastille, 999px);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	line-height: 1.5;
	background: var(--gen-gris);
	color: var(--gen-texte);
	white-space: nowrap;
}
.gen-pill--ok { background: var(--gen-ok-fond); color: var(--gen-ok); }
.gen-pill--attention { background: var(--gen-att-fond); color: var(--gen-att); }
.gen-pill--alerte { background: var(--gen-ko-fond); color: var(--gen-ko); }
.gen-pill--info { background: var(--gen-info-fond); color: var(--gen-info); }
.gen-pill--corail { background: var(--gen-corail-pale); color: var(--gen-corail-texte); }

/* Boutons de l'application (angles droits, comme le site) */
.gen-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	padding: .6rem 1.1rem;
	border: 2px solid var(--gen-bleu);
	background: #FFFFFF;
	color: var(--gen-bleu);
	font: inherit;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--s);
	text-decoration: none;
	cursor: pointer;
	border-radius: 0;
}
.gen-btn:hover { background: var(--gen-bleu-pale); }
.gen-btn--primaire { background: var(--gen-bleu); color: #FFFFFF; }
.gen-btn--primaire:hover { background: var(--gen-bleu-fonce); border-color: var(--gen-bleu-fonce); }
.gen-btn--danger { border-color: var(--gen-ko); color: var(--gen-ko); }
.gen-btn--petit { padding: .3rem .7rem; font-size: var(--wp--preset--font-size--xs); }
.gen-btn[disabled], .gen-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }

/* Indicateurs */
.gen-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--wp--preset--spacing--40); margin-bottom: var(--wp--preset--spacing--50); }
.gen-kpi { background: #FFFFFF; border: 1px solid var(--gen-filet); border-top: 5px solid var(--gen-kq, var(--q-gabriel-peri)); padding: var(--wp--preset--spacing--40); display: grid; gap: .15rem; }
.gen-kpi__v { font-family: var(--gen-f-titres); font-size: 2rem; font-weight: 600; line-height: 1.1; }
.gen-kpi__l { font-weight: 600; }
.gen-kpi__s { font-size: var(--wp--preset--font-size--xs); color: var(--gen-texte-doux); }
.gen-kpi--alerte { border-top-color: var(--gen-corail); }
.gen-kpi--alerte .gen-kpi__v { color: var(--gen-ko); }

/* Tableaux */
.gen-table-wrap { overflow-x: auto; }
.gen-table,
.wp-block-table.is-style-gen table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--s); }
.gen-table th,
.wp-block-table.is-style-gen th {
	text-align: left;
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gen-texte-doux);
	padding: .7rem .8rem;
	border-bottom: 2px solid var(--gen-bleu);
	white-space: nowrap;
}
.gen-table td,
.wp-block-table.is-style-gen td { padding: .7rem .8rem; border-bottom: 1px solid var(--gen-filet); vertical-align: top; }
.wp-block-table.is-style-gen td, .wp-block-table.is-style-gen th { border-left: 0; border-right: 0; border-top: 0; }
.gen-table tr.is-clickable { cursor: pointer; }
.gen-table tr.is-clickable:hover td { background: var(--gen-bleu-pale); }
.gen-table tr.is-late td:first-child { box-shadow: inset 4px 0 0 var(--gen-corail); }
.gen-table .num { text-align: right; font-variant-numeric: tabular-nums; }

/* Filtres et segments */
.gen-filters { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--30); align-items: center; margin-bottom: var(--wp--preset--spacing--40); }
.gen-seg { display: inline-flex; border: 2px solid var(--gen-bleu); }
.gen-seg button { background: #FFFFFF; color: var(--gen-bleu); border: 0; font: inherit; font-weight: 600; font-size: var(--wp--preset--font-size--s); padding: .45rem .9rem; cursor: pointer; }
.gen-seg button + button { border-left: 1px solid var(--gen-bleu); }
.gen-seg button[aria-pressed="true"] { background: var(--gen-bleu); color: #FFFFFF; }

/* Champs de formulaire */
.gen-field { display: grid; gap: .3rem; font-size: var(--wp--preset--font-size--s); }
.gen-field > span,
.gen-field > label { font-weight: 600; }
.gen-field input,
.gen-field select,
.gen-field textarea,
.gen-filters input,
.gen-filters select {
	font: inherit;
	font-size: var(--wp--preset--font-size--m);
	padding: .55rem .7rem;
	border: 1px solid #8A9099;
	background: #FFFFFF;
	color: var(--gen-texte);
	border-radius: 0;
}
.gen-field input:focus,
.gen-field select:focus,
.gen-field textarea:focus { border-color: var(--gen-bleu); }
.gen-field .gen-aide { font-weight: 400; color: var(--gen-texte-doux); font-size: var(--wp--preset--font-size--xs); }
.gen-field.has-error input,
.gen-field.has-error select,
.gen-field.has-error textarea { border-color: var(--gen-ko); }
.gen-field .gen-erreur { color: var(--gen-ko); font-weight: 600; font-size: var(--wp--preset--font-size--xs); }
.gen-check { display: flex; gap: .5rem; align-items: flex-start; font-size: var(--wp--preset--font-size--s); }
.gen-check input { width: 1.1rem; height: 1.1rem; accent-color: var(--gen-bleu); margin-top: .15rem; }
.gen-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--wp--preset--spacing--40); }

/* Bandeaux d'information */
.gen-notice { display: flex; flex-wrap: wrap; gap: .5rem .7rem; align-items: flex-start; padding: .8rem 1rem; border-left: 5px solid var(--gen-info); background: var(--gen-info-fond); font-size: var(--wp--preset--font-size--s); }
.gen-notice--ok { border-color: var(--gen-ok); background: var(--gen-ok-fond); }
.gen-notice--attention { border-color: #C9A300; background: var(--gen-att-fond); }
.gen-notice--alerte { border-color: var(--gen-ko); background: var(--gen-ko-fond); }
.gen-notice--prepare { border: 1px dashed #C9A300; border-left-width: 5px; background: var(--gen-att-fond); }

/* Étapes d'un circuit */
.gen-steps { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 0; padding: 0; }
.gen-steps li { padding: .25rem .7rem; font-size: var(--wp--preset--font-size--xs); font-weight: 700; border: 1px solid var(--gen-filet); color: var(--gen-texte-doux); background: #FFFFFF; }
.gen-steps li.is-done { background: var(--gen-ok-fond); color: var(--gen-ok); border-color: transparent; }
.gen-steps li[aria-current="step"] { background: var(--gen-bleu); color: #FFFFFF; border-color: var(--gen-bleu); }

/* Historique */
.gen-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.gen-timeline li { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: .7rem; font-size: var(--wp--preset--font-size--s); }
.gen-timeline time { color: var(--gen-texte-doux); font-variant-numeric: tabular-nums; }
.gen-timeline .is-interne > div { background: var(--gen-att-fond); padding: .4rem .6rem; }
.gen-timeline .is-public > div { background: var(--gen-info-fond); padding: .4rem .6rem; }
.gen-timeline .is-auto > div { color: var(--gen-texte-doux); font-style: italic; }
@media (max-width: 640px) { .gen-timeline li { grid-template-columns: 1fr; gap: .1rem; } }

/* Tiroir latéral (dialog natif) */
dialog.gen-drawer {
	margin: 0 0 0 auto;
	height: 100vh;
	max-height: 100vh;
	width: min(640px, 100vw);
	max-width: 100vw;
	border: 0;
	padding: 0;
	box-shadow: var(--gen-ombre-tiroir);
	display: none;
	flex-direction: column;
}
dialog.gen-drawer[open] { display: flex; }
dialog.gen-drawer::backdrop { background: rgba(20, 20, 24, .45); }
.gen-drawer__head { display: flex; align-items: center; gap: .8rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--gen-filet); }
.gen-drawer__head h2 { margin: 0; flex: 1; font-size: var(--wp--preset--font-size--l); color: var(--gen-texte); }
.gen-drawer__body { padding: 1.25rem; overflow-y: auto; display: grid; gap: 1rem; align-content: start; flex: 1; }
.gen-drawer__foot { padding: .9rem 1.25rem; border-top: 1px solid var(--gen-filet); display: flex; gap: .6rem; flex-wrap: wrap; }
.gen-close { background: none; border: 0; width: 40px; height: 40px; font-size: 1.5rem; line-height: 1; cursor: pointer; color: var(--gen-texte); }

/* Notifications éphémères */
.gen-toasts { position: fixed; right: 1rem; bottom: 1rem; display: grid; gap: .5rem; z-index: 100; max-width: min(420px, calc(100vw - 2rem)); }
.gen-toast { background: var(--gen-anthracite); color: #FFFFFF; padding: .8rem 1rem; box-shadow: var(--gen-ombre-tiroir); font-size: var(--wp--preset--font-size--s); border-left: 5px solid var(--gen-vert); }
.gen-toast--alerte { border-left-color: var(--gen-corail); }

/* État vide */
.gen-empty { text-align: center; padding: var(--wp--preset--spacing--60); color: var(--gen-texte-doux); }
.gen-empty strong { display: block; font-family: var(--gen-f-titres); color: var(--gen-texte); font-size: var(--wp--preset--font-size--l); margin-bottom: .3rem; }

/* Bannette : grille de blocs */
.gen-dash { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: var(--wp--preset--spacing--40); align-items: start; }

/* Utilitaires */
.gen-muted { color: var(--gen-texte-doux); }
.gen-mono { font-family: var(--gen-f-mono); }
.gen-row { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.gen-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Impression : on retire la navigation et les ombres */
@media print {
	.gen-app-bar, .gen-rail, .gen-top, .gen-toasts, .gen-site-bar, .gen-footer { display: none !important; }
	.gen-app { display: block; }
	.gen-panel, .gen-kpi { box-shadow: none; }
}

/* =========================================================================
   Charte 2022 : couleurs des quartiers dans l'application
   ========================================================================= */

/* Indicateurs : chaque carte prend la couleur d'un quartier, dans l'ordre du logotype */
.gen-kpis > .gen-kpi:nth-child(7n+1) { --gen-kq: var(--q-gabriel-peri); }
.gen-kpis > .gen-kpi:nth-child(7n+2) { --gen-kq: var(--q-chaperon-vert); }
.gen-kpis > .gen-kpi:nth-child(7n+3) { --gen-kq: var(--q-plateau); }
.gen-kpis > .gen-kpi:nth-child(7n+4) { --gen-kq: var(--q-reine-blanche); }
.gen-kpis > .gen-kpi:nth-child(7n+5) { --gen-kq: var(--q-centre-ville); }
.gen-kpis > .gen-kpi:nth-child(7n+6) { --gen-kq: var(--q-victor-hugo); }
.gen-kpis > .gen-kpi:nth-child(7n+7) { --gen-kq: var(--q-val-de-bievre); }
.gen-kpis > .gen-kpi.gen-kpi--alerte { --gen-kq: var(--q-victor-hugo); }
.gen-kpi__v { font-family: var(--gen-f-titres); font-weight: 900; }

/* Pastille de quartier : triangle de couleur + nom (texte en version lisible) */
.gen-q { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; font-size: .86em; color: var(--gen-qt, var(--gen-texte-doux)); white-space: nowrap; }
.gen-q::before { content: ""; flex: none; width: .75em; height: .75em; background: var(--gen-qc, var(--q-val-de-bievre)); clip-path: polygon(0 0, 100% 50%, 0 100%); }
.gen-q--chaperon-vert { --gen-qc: var(--q-chaperon-vert); --gen-qt: var(--q-chaperon-vert-t); --gc-q: var(--q-chaperon-vert); }
.gen-q--victor-hugo { --gen-qc: var(--q-victor-hugo); --gen-qt: var(--q-victor-hugo-t); --gc-q: var(--q-victor-hugo); }
.gen-q--plateau { --gen-qc: var(--q-plateau); --gen-qt: var(--q-plateau-t); --gc-q: var(--q-plateau); }
.gen-q--val-de-bievre { --gen-qc: var(--q-val-de-bievre); --gen-qt: var(--q-val-de-bievre-t); --gc-q: var(--q-val-de-bievre); }
.gen-q--centre-ville { --gen-qc: var(--q-centre-ville); --gen-qt: var(--q-centre-ville-t); --gc-q: var(--q-centre-ville); }
.gen-q--gabriel-peri { --gen-qc: var(--q-gabriel-peri); --gen-qt: var(--q-gabriel-peri-t); --gc-q: var(--q-gabriel-peri); }
.gen-q--reine-blanche { --gen-qc: var(--q-reine-blanche); --gen-qt: var(--q-reine-blanche-t); --gc-q: var(--q-reine-blanche); }
.gen-q--tous { --gen-qc: var(--q-centre-ville); --gen-qt: var(--gen-texte); }

/* Menu latéral de l'application (extension GenCRM, code court [gencrm_nav]) */
.gen-nav { display: grid; gap: .2rem; }
.gen-nav__titre { margin: 1rem .8rem .35rem; font-size: var(--wp--preset--font-size--xs); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--gen-texte-doux); }
.gen-nav__titre:first-child { margin-top: .2rem; }
.gen-nav__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.gen-rail .gen-nav__a,
.gen-nav__a {
	display: flex; align-items: center; gap: .7rem;
	box-sizing: border-box; width: 100%; padding: .55rem .75rem; border-left: 4px solid transparent;
	color: var(--gen-texte); text-decoration: none; font-weight: 600; font-size: .95rem;
}
.gen-nav__ico { width: 22px; height: 22px; flex: none; color: var(--gen-qt, var(--gen-texte-doux)); }
.gen-nav__l { flex: 1; }
.gen-rail .gen-nav__a:hover,
.gen-nav__a:hover { background: color-mix(in srgb, var(--gen-qc) 10%, #fff); }
.gen-rail .gen-nav__a[aria-current="page"],
.gen-nav__a[aria-current="page"] { background: color-mix(in srgb, var(--gen-qc) 14%, #fff); border-left-color: var(--gen-qc); color: var(--gen-texte); }
.gen-nav__a.gen-q--tous[aria-current="page"] { border-image: linear-gradient(180deg, var(--q-chaperon-vert), var(--q-plateau), var(--q-centre-ville), var(--q-gabriel-peri), var(--q-reine-blanche)) 1; }
.gen-nav__a.gen-q--tous .gen-nav__ico { color: var(--q-centre-ville); }
.gen-nav__n { min-width: 1.6rem; padding: 0 .45rem; border-radius: 999px; font-size: .75rem; font-weight: 800; line-height: 1.5rem; text-align: center; background: var(--gen-gris); color: var(--gen-texte); }
.gen-nav__n--alerte { background: var(--gen-ko); color: #fff; }
.gen-nav__n--attention { background: var(--q-plateau); color: #2B2B2A; }
.gen-app.is-collapsed .gen-nav__l,
.gen-app.is-collapsed .gen-nav__titre,
.gen-app.is-collapsed .gen-nav__n { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gen-app.is-collapsed .gen-nav__a { justify-content: center; padding-inline: .3rem; }

/* Bloc utilisateur de la barre (code court [gencrm_user]) */
.gen-user { display: flex; align-items: center; gap: .6rem; color: #fff; }
.gen-user__av { width: 34px; height: 34px; display: grid; place-items: center; font-weight: 800; color: #fff; background: var(--gen-bande); clip-path: polygon(50% 0, 100% 100%, 0 100%); padding-top: 8px; font-size: .8rem; }
.gen-user__t { display: grid; line-height: 1.15; font-size: .85rem; }
.gen-user__t span { opacity: .8; font-size: .78rem; }
.gen-user__out { color: #fff !important; font-size: .85rem; text-decoration: underline !important; }
@media (max-width: 700px) { .gen-user__t { display: none; } }

/* Titres de page de l'application : Fengardo, petit triangle de la rubrique */
.gen-app__main > .wp-block-post-title { font-weight: 900; color: var(--gen-anthracite); display: flex; align-items: center; gap: .6rem; }
.gen-app__main > .wp-block-post-title::before { content: ""; width: .55em; height: .55em; background: var(--gen-bande); clip-path: polygon(0 0, 100% 50%, 0 100%); flex: none; }

/* Tableaux : filet de tête aux couleurs des quartiers */
.gen-table thead th { border-bottom: 3px solid transparent; border-image: var(--gen-bande) 1; }
