body {
  font-size: 13px !important;
  padding-top: 10px;
  padding-bottom: 20px;
}

* {
	outline: none !important;
}


/* ----- Container ----- */

@media (min-width: 1400px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1320px;
  }
}

/*
@media (min-width: 1200px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1140px;
  }
}
*/

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
  width: 100%;
}

.row {
  margin-right: -10px;
  margin-left: -10px;
}

.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
  padding-right: 10px;
  padding-left: 10px;
}


/* ----- navigation ----- */

.navbar-collapse {
  padding-right: 0px;
  padding-left: 0px;
}

.navbar {
  margin-bottom: 0px;
  min-height: 20px;
}

.navbar li > a {
	border-radius: 10px 10px 0px 0px;
  padding: 7px 15px 6px 15px;
}

.navbar-default {
  background-color: #ffffff;
  border: 0px;
}

.navbar-nav > li > a,
.navbar-default .navbar-nav > a:focus,
.navbar-default .navbar-nav > a:hover {
  background-color: #fafafa;
  margin-right: 2px;
  border-bottom: 2px solid #ffffff;
  color: #444444;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .active > a:hover {
  background-color: #a90000;
  border-bottom: 2px solid #a90000;
  color: #ffffff;
}

.navbar-right > li > a,
.navbar-right .navbar-nav > a:focus,
.navbar-right .navbar-nav > a:hover {
  background-color: #ffffff;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  color: #444444;
}


	.navbar-default .navbar-nav > li > a .fa-solid,
	.navbar-default .navbar-nav > li > a .fa-regular {
		display: block;
	  font-size: 2.1em;
	  text-align: center;
	}

@media (min-width: 768px) {

	.navbar-default .navbar-nav > li > a {
	  color: #444444;
	  font-size: 11px;
	  padding: 7px 14px 1px 14px;
	  text-align: center;
	}


	.navbar-default .navbar-nav .open .dropdown-menu > li > a {
	  color: #777;
	}

}

.subnav {
  background-color: #a90000;
  color: #ffffff;
  margin-bottom: 20px;
  min-height: 34px;
}
	
.subnav ul {
	list-style: none;
	margin: 0px 0px 0px 5px;
	padding: 0px;
}

.subnav li {
	position: relative;
	z-index: 102;
	display: inline-block;
	margin-left: 0px;
	width: auto;
}
	
.subnav a {
	color: #ed9e9e;
	display: block;
	width: auto;
	text-decoration: none;
	padding: 7px 9px 7px 9px;
}
	
.subnav a:hover,
.subnav a:active {
	color: #dddddd;
}

.subnav a.here:link,
.subnav a.here:visited {
	color: #ffffff;
}
	
.subnav br,
.topnav br {
	clear: both;
}



/* ----- connexion ----- */

.form-login {
  max-width: 330px;
  padding: 15px;
  margin: 0 auto;
}

.form-login .form-control {
  position: relative;
  height: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  font-size: 16px;
}

.form-login .form-control:focus {
  z-index: 2;
}

.form-login .img-responsive {
	margin: 50px auto 20px auto;
}

.form-login input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-login input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}


/* ----- Texte ----- */

.modal-body h2 {
	font-size: 18px;
	font-weight: normal;
	text-transform: uppercase;
}

hr {
	margin-bottom: 15px;
	margin-top: 15px;
}

#liste-montants table tbody td i {
	color: #aaaaaa;
	font-size: 12px;
}



/* ----- Filtres ----- */

.filtre {
  background-color: #f2f2f2;
  border: 1px solid #dddddd;
  border-radius: 3px;
  margin-bottom: 15px;
	position: relative;
}

.filtre label {
	position: relative;
}

.dataTables_wrapper .dataTables_filter {
  margin: 15px 10px 5px 10px;
	text-align: left !important;
}

.dataTables_wrapper .dataTables_filter input {
	margin-left: 5px !important;
	min-width: 250px !important;
}

.dataTables_wrapper .dataTables_length {
  margin: 15px 10px 10px 10px;
	text-align: right !important;
}

.dataTables_wrapper .dataTables_length select {
	margin-right: 5px !important;
	min-width: 110px !important;
}

.tab-pane .filtre {
  background-color: transparent;
  border: 0px solid #dddddd;
}

.tab-pane .dataTables_wrapper .dataTables_filter {
  margin: 15px 0px 0px -5px;
}

.tab-pane .dataTables_wrapper .dataTables_length {
  margin: 15px -5px 0px 0px;
}

@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {

	.dataTables_wrapper .dataTables_filter input {
		min-width: 120px !important;
	}
	
	.dataTables_wrapper .dataTables_length select {
		min-width: 50px !important;
	}

}

.filtre.avance {
	padding: 5px 0px;
}

/* ----- le titre du filtre avancé -----
   Le bloc porte son nom, et chaque liste sa première option, pour que l'on sache ce que
   contiennent les listes. */
/* Les questions toutes prêtes, au-dessus du filtre. */
.rk-filtre-raccourcis { margin: 0 0 8px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.rk-filtre-raccourcis-lib { font-size: 12px; font-weight: 700; color: var(--rk-attenue, #777777); margin-right: 2px; }
.rk-filtre-raccourcis .btn { font-size: 12px; }
.rk-filtre-titre {
  margin: 0 0 6px 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--rk-texte, #333333);
}
.rk-filtre-aide {
  font-weight: 400;
  font-size: 12px;
  color: var(--rk-attenue, #777777);
}

.filtre.avance .row {
  margin: 10px 0px;
}

.filtre.avance div span {
  display: inline-block;
  margin-right: 10px;
  text-align: left;
}

.filtre.avance div .logique {
  width: 90px;
}

.filtre.avance div .logique select {
  width: 70px;
}

.filtre.avance div .parenthese select {
  width: 50px !important;
}

.filtre.avance div .champ select {
  width: 170px;
}

.filtre.avance div .operateur select {
  width: 135px;
}

.filtre.avance div .valeur input {
  width: 200px;
}

.filtre.avance div .valeur select {
  width: 200px;
}

.filtre.avance div .boutons {
  width: 100px;
}

.filtre.avance div .boutons input {
	color: #dc0064;
  padding-bottom: 2px;
  padding-top: 1px;
}

.filtre.avance div .motscles input {
	width: 180px;
}

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
  background-color: #a90000;
  border-color: #a90000;
}


/* ----- textes ----- */

h1 {
	color: #a90000;
	font-size: 28px;
	margin: 5px 0px 15px 0px;
}


/* ----- listes ----- */

.table {
	border-collapse: collapse !important;
	max-width: 100% !important;
	table-layout: fixed;
}

.table > thead > tr > th {
  border-bottom: 0px;
}

.table tr th {
	color: #a11e10;
	font-weight: normal;
}

.table tr th,
.table tr td {
	border: 1px solid #eeeeee;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

fieldset .table tr th,
fieldset .table tr td {
	border-left: 0px solid #eeeeee;
	border-right: 0px solid #eeeeee;
}

.table tr[id]:hover {
	border-bottom: 1px solid #333333;
	border-top: 1px solid #333333;
}

.table tr[id]:hover td {
	background-color: #eeeeee !important;
	cursor: pointer;
}

table.dataTable {
	border-collapse: collapse !important;
	border-top: 1px solid #dddddd;
}

table.dataTable.table-condensed > thead > tr > th {
  padding-right: 25px;
}

table.dataTable thead tr > .sorting_asc,
table.dataTable thead tr > .sorting_desc,
table.dataTable.order-column.stripe thead tr > .sorting_asc,
table.dataTable.order-column.stripe thead tr > .sorting_desc {
	background-color: #fafafa;
}

table.dataTable tbody tr.even > .sorting_1,
table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
	background-color: #fafafa;
}

table.dataTable tbody tr.odd > .sorting_1,
table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
	background-color: #f1f1f1;
}

table.dataTable tbody tr:hover > .sorting_1,
table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
  background-color: #eaeaea;
}

/* ----- tableaux « souples » ----- */
/* Les cellules du back-office sont par défaut en une seule ligne, coupée par des points de
   suspension (règle .table tr td ci-dessus) : c'est ce qu'il faut pour de longues listes de
   texte. Là où une cellule porte des BADGES, des BOUTONS ou des mentions annexes datées
   (Comptes voyageurs, Documents › Voyageurs), la coupure rendait l'information illisible et le
   contenu débordait sur la colonne voisine. Dans ces tableaux-là, tout passe à la ligne. */
.table.rk-table-souple tr th,
.table.rk-table-souple tr td {
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	vertical-align: top;
	/* une longue chaîne sans espace (adresse e-mail à rallonge) se coupe plutôt que de dépasser */
	word-wrap: break-word;
	overflow-wrap: break-word;
}

/* Un badge ou un bouton reste d'un seul tenant par défaut (Bootstrap) : dans ces tableaux, son
   libellé passe à la ligne plutôt que de dépasser de sa colonne (« Soldé — aucun document
   requis », « Envoyer les refus groupés »…). */
.table.rk-table-souple .label {
	display: inline-block;
	margin-bottom: 3px;
	white-space: normal;
	text-align: left;
}

.table.rk-table-souple .btn {
	white-space: normal;
}

.table tr.raye td {
	opacity: .30;
	text-decoration: line-through;
}

.table tr td.retard {
	color: #ff0000;
}

.label {
	font-weight: normal;
}

#listcontacts {
	/*margin-top: 10px;*/
}

#listcontacts fieldset .table {
	margin-bottom: 10px;
}

#listcontacts .panel-default > .panel-heading {
  color: #333;
  background-color: #e5e5e5;
}


/* ----- formulaires ----- */

fieldset {
	background-color: #fafafa;
  border: 1px solid #dddddd;
  padding: 10px 15px 5px 15px !important;
  margin: 0px 0px 20px 0px !important;
}

input.date,
input.datetime {
	background-image: url('/images/calendar.png');
	background-position: 99% center;
	background-repeat: no-repeat;
}

fieldset .colonnes {
  -webkit-column-width: 170px; /* Chrome, Safari, Opera */
  -moz-column-width: 170px; /* Firefox */
  column-width: 170px;
  margin: 0px 0px 10px 0px;
}

fieldset .colonnes div label {
  -webkit-text-overflow: ellipsis;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

fieldset .colonnes .checkbox,
fieldset .colonnes .radio {
  margin-top: 0px;
  margin-bottom: 5px;
}

.form-control {
  font-size: 13px;
}

.btn-primary {
	background-color: #444444;
	border-color: #444444;
  font-size: 13px;
}

/* Action principale du back-office : rouge du thème, comme les boutons d'envoi
   côté voyageur. Gris tant qu'aucun fichier n'est choisi (classe rk-inactif). */
.btn-rouge,
.btn-rouge:focus {
  background-color: #a90000;
  border-color: #a90000;
  color: #ffffff;
  font-size: 13px;
  transition: all 0.3s ease 0s;
}

.btn-rouge:hover,
.btn-rouge:active {
  background-color: #8f0000;
  border-color: #8f0000;
  color: #ffffff;
}

.btn-rouge.rk-inactif,
.btn-rouge.rk-inactif:hover,
.btn-rouge.rk-inactif:focus {
  background-color: #cccccc;
  border-color: #cccccc;
  color: #6b6b6b;
}

.btn-primary:hover {
  background-color: #666666;
  border-color: #666666;
}

.form-group-analytique {
  margin-bottom: 0px;
  margin-top: 5px;
}

fieldset .copy {
	cursor: pointer;
	position: absolute;
	right: 10px;
	top: 10px;
}

fieldset .copy:hover {
	cursor: pointer;
	color: #a90000;
	font-size: 1.50em;
}

fieldset .alert:last-child {
	margin-bottom: 10px;
}


/* ----- Panels ----- */

.panel-default > .panel-heading {
  background-color: #fafafa;
  color: #444444;
  font-weight: bold;
}


/* ----- Dropzone ----- */

.dropzone {
  background-color: #ffffff !important;
  border: 2px dashed #cccccc !important;
  border-radius: 5px;
  min-height: 120px;
  margin: 10px 0px;
  padding: 10px;
  position: relative;
  width: 100%;
}

.visuels .dropzone {
  background-color: #ffffff !important;
  border: 2px dashed #cccccc !important;
  border-radius: 5px;
  min-height: 180px;
  width: 100%;
}

.mailings .dropzone {
  background-color: #ffffff !important;
  border: 2px dashed #cccccc !important;
  border-radius: 5px;
  height: 170px;
  margin: 15px 0px;
  width: 100%;
}

.dropzone.dz-clickable .dz-message {
	left: 50%;
  margin: 0px;
	position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.dropzone.dz-clickable .dz-message,
.dropzone.dz-clickable .dz-message * {
  background-color: transparent !important;
  color: #cccccc;
  font-size: 16px;
  font-style: italic;
}

.dropzone .dz-preview {
  margin: 5px;
}

.dropzone .dz-preview .dz-remove {
  font-size: 12px;
}


/* ----- Highcharts ----- */

.highcharts-background {
  fill: transparent;
}

.highcharts-container hr {
	border-color: #cccccc;
	margin-bottom: 0px;
	margin-top: 0px;
}

.highcharts-container table tr td {
	padding: 2px 10px;
}



/* ----- Progress bar ----- */

.progress-bar {
	box-shadow: none;
  font-size: 11px;
  line-height: 18px;
}

td .progress {
	border: 1px solid #c5eac5;
	box-shadow: none;
	font-size: 12px;
  margin-bottom: 0px;
}

td .progress > .progress-bar-zero {
	color: #5CB85C;
}


/* ----- Photos ----- */


.visuels > div {
  margin: 0px 0px 10px 0px !important;
}

.visuels > div > img {
	border: 1px solid #eeeeee;
  padding: 3px;
}

.visuels > div.main > img {
	border: 2px solid #a90000;
  padding: 2px;
}

.visuels > div.main > a {
	color: #a90000;
}

.visuels > div > a {
	color: #777777;
	font-size: 11px;
	line-height: 16px;
	margin-right: 10px;
}

.visuels > div > a:hover {
	text-decoration: underline;
}


/* ---------- Cropping ---------- */

#original {
	height: auto;
	width: 100% !important;
	overflow: hidden;
}

#preview {
	width: 100% !important;
	overflow: hidden;
}



/* ----- onglets ----- */

.nav-tabs {
  border-bottom: 0px solid #DDD;
}

.nav-tabs > li > a,
.nav-tabs > li > a:focus,
.nav-tabs > li > a:hover {
  color: #555;
  background-color: transparent;
  z-index: 1000;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover {
  color: #555;
  background-color: #fafafa;
}

.nav-tabs li .badge {
  font-size: 10px !important;
  font-weight: normal;
}


/* ----- colonnes ----- */

.columns {
	-webkit-column-width: 250px;
	-moz-column-width: 250px;
	column-width: 250px;

} 


/* ----- historiques ----- */

#historique table {
	margin: 0px 0px 10px 0px;
}

#historique table td {
	padding: 5px 30px 5px 0px;
}


/* ----- map ----- */

#gmap {
	height: 650px;
	width: 100%;
}


/* ----- agenda ----- */

div.day {
	background-image: url('/images/cal_blank.png');
	height: 48px;
	margin: 0px 5px 20px 5px;
	width: 48px;
}

div.day span.mois {
	color: #ffffff;
	display: block;
	height: 11px;
	line-height: 11px;
	text-align: center;
	width: 48px;
}

div.day span.jour {
	color: #333333;
	display: block;
	font-family: arial;
	font-size: 22px;
	height: 37px;
	line-height: 37px;
	text-align: center;
	width: 48px;
}


/* ----- calendrier ----- */
/* les onglets internes des fiches sont en z-index 1000 (règle ci-dessus) : ils transperçaient
   le calendrier déroulé (z-index 1000 lui aussi, dessiné avant). Le calendrier passe au-dessus. */
.bootstrap-datetimepicker-widget.dropdown-menu {
	z-index: 1050;
}

/* ==========================================================================
   FAQ — la liste dépliable

   Lignes <details> et actions par bouton visible, jamais de menu caché : le
   public de ce back-office est l'agence, pas un développeur.

   ⚠ AUCUNE COULEUR DE FOND EN DUR ICI. La leçon du 17/09 : des fonds clairs
     forcés rendaient les noms illisibles en thème sombre. Tout ce qui a besoin
     d'un fond utilise du translucide, qui s'adapte aux deux thèmes ; les rares
     réglages propres au sombre sont dans sombre.css.
   ========================================================================== */

.rk-afaq-compte { margin: 0 0 12px; color: #6b655e; }
.rk-afaq-compte strong { font-size: 17px; }

.rk-afaq-filtres { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }
.rk-afaq-filtres label { margin: 0; font-weight: 400; color: #6b655e; }
.rk-afaq-filtres select { padding: 5px 8px; border: 1px solid rgba(128, 128, 128, .4); border-radius: 2px;
	background: rgba(255, 255, 255, .06); color: inherit; max-width: 100%; min-width: 0; }
.rk-afaq-vider { margin-left: 4px; }

.rk-afaq { border: 1px solid rgba(128, 128, 128, .35); border-radius: 2px; }
.rk-afaq-entete,
.rk-afaq-ligne > summary { display: grid; grid-template-columns: 150px 1fr 118px 120px; gap: 14px; align-items: center; }
@media (max-width: 900px) {
	.rk-afaq-entete { display: none; }
	.rk-afaq-ligne > summary { grid-template-columns: 1fr; gap: 6px; }
}
.rk-afaq-entete { padding: 9px 16px; background: rgba(128, 128, 128, .10);
	border-bottom: 1px solid rgba(128, 128, 128, .35); font-size: 12.5px; color: #6b655e; }
.rk-afaq-vide { padding: 18px 16px; margin: 0; color: #6b655e; }

.rk-afaq-ligne { border-bottom: 1px solid rgba(128, 128, 128, .22); }
.rk-afaq-ligne:last-child { border-bottom: 0; }
.rk-afaq-ligne > summary { list-style: none; cursor: pointer; padding: 11px 16px; }
.rk-afaq-ligne > summary::-webkit-details-marker { display: none; }
.rk-afaq-ligne > summary::marker { content: ""; }
.rk-afaq-ligne > summary:hover { background: rgba(128, 128, 128, .08); }
.rk-afaq-ligne > summary:focus-visible { outline: 3px solid #8a2b16; outline-offset: -3px; }
.rk-afaq-ligne.brouillon > summary { opacity: .75; }

.rk-afaq-theme { font-size: 13px; color: #6b655e; display: flex; align-items: center; gap: 7px; }
.rk-afaq-theme .rk-faq2-ic,
.rk-afaq-cat-nom .rk-faq2-ic,
.rk-veille-groupe-nom .rk-faq2-ic,
.rk-reec-rubrique .rk-faq2-ic { width: 18px; height: 18px; flex: 0 0 18px; color: #8a2b16; }
.rk-afaq-cat-nom { display: flex; align-items: center; gap: 8px; }
.rk-veille-groupe-nom { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.rk-veille-note-premier { font-size: 14px; max-width: 70ch; margin: 0 0 16px; padding: 10px 14px;
	border-left: 3px solid #8a2b16; background: rgba(138, 43, 22, .06); }
.rk-veille-mode-emploi { max-width: 70ch; margin: 0 0 20px; padding: 14px 16px;
	border: 1px solid rgba(128, 128, 128, .3); }
.rk-veille-mode-emploi h2 { font-size: 16px; margin: 0 0 8px; }
.rk-veille-mode-emploi p { margin: 0 0 8px; font-size: 14px; }
.rk-veille-mode-emploi p:last-child { margin-bottom: 0; }
.rk-afaq-q { font-size: 15px; }
.rk-afaq-pays { font-size: 12.5px; color: #6b655e; }
.rk-afaq-etat { display: inline-block; font-size: 11px; font-weight: 600; text-transform: uppercase;
	letter-spacing: .04em; border: 1px solid rgba(128, 128, 128, .6); color: #6b655e;
	padding: 0 6px; border-radius: 2px; margin-left: 8px; vertical-align: 1px; }
.rk-afaq-etat.avalider { border-color: #8a2b16; color: #8a2b16; }

/* les trois pastilles : le défaut le plus utile de cet écran, visible d'un coup d'œil */
.rk-afaq-langues { display: flex; gap: 5px; }
.rk-afaq-langues .lg { font-size: 11px; font-weight: 700; padding: 1px 6px; border-radius: 2px; border: 1px solid; }
.rk-afaq-langues .lg.pleine { background: #2f7d4f; border-color: #2f7d4f; color: #fff; }
.rk-afaq-langues .lg.vide { border-color: #8a2b16; color: #8a2b16; border-style: dashed; background: none; }

.rk-afaq-detail { padding: 4px 16px 16px; background: rgba(128, 128, 128, .07);
	border-top: 1px solid rgba(128, 128, 128, .22); }
.rk-afaq-apercu { background: rgba(255, 255, 255, .06); border: 1px solid rgba(128, 128, 128, .3);
	padding: 11px 14px; margin: 12px 0 8px; font-size: 14px; max-width: 78ch; }
.rk-afaq-meta { font-size: 12.5px; color: #6b655e; margin: 0 0 10px; }
.rk-afaq-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.rk-afaq-bouton { display: inline; margin: 0; }

/* -- FAQ : le bloc « Publication, source et destinations » des deux formulaires --
   Même charte que la liste : encadré discret, titre en rouge brique, textes d'aide
   en gris. Les fonds restent en rgba() pour que le thème sombre les traverse. */
.rk-faqm-bloc { margin-top: 26px; padding: 6px 18px 14px; background: rgba(128, 128, 128, .05);
	border: 1px solid rgba(128, 128, 128, .35); border-radius: 2px; }
.rk-faqm-bloc > legend { width: auto; margin: 0 0 2px; padding: 0 8px; border: 0; font-size: 13px;
	font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #8a2b16; }
.rk-faqm-bloc .form-group { margin-bottom: 17px; }
.rk-faqm-bloc .form-group:last-child { margin-bottom: 3px; }
.rk-faqm-bloc .help-block { font-size: 12.5px; color: #6b655e; max-width: 74ch; margin-top: 5px; }
.rk-faqm-court { max-width: 380px; }
.rk-faqm-pays { display: flex; flex-wrap: wrap; gap: 4px 18px; max-width: 760px; }
.rk-faqm-pays-case { display: flex; align-items: center; gap: 7px; font-weight: 400; margin: 0; min-width: 170px; }
.rk-faqm-pays-case input { margin: 0; }

/* la relecture : une case, et l'historique de qui a relu quand */
.rk-faqm-valide { border-left: 3px solid #2f7d4f; padding-left: 13px; }
.rk-faqm-case { display: flex; align-items: center; gap: 8px; font-weight: 600; margin: 0; }
.rk-faqm-case input { margin: 0; flex: none; }

/* -- FAQ : l'écran d'équipement (phase E) -- */
.rk-eq-entete, .rk-eq-somm { grid-template-columns: 130px 1fr 110px 60px 110px !important; }
@media (max-width: 900px) { .rk-eq-somm { grid-template-columns: 1fr !important; } }
.rk-eq-titre { font-size: 19px; margin: 26px 0 12px; }
.rk-eq-form { margin: 12px 0 0; }
.rk-eq-champs { display: flex; flex-wrap: wrap; gap: 10px 14px; margin-bottom: 10px; }
.rk-eq-champs label { display: flex; flex-direction: column; gap: 3px; font-weight: 400; font-size: 13px; color: #6b655e; min-width: 180px; flex: 1 1 180px; }
.rk-eq-champs .form-control { min-width: 0; }

/* -- FAQ : la veille concurrente (phases F à H) -- */
.rk-veille-lancer { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; }
.rk-veille-aide { font-size: 13px; color: #6b655e; max-width: 62ch; }
.rk-veille-bilan { font-size: 14px; }
.rk-veille-entete, .rk-veille-somm { grid-template-columns: 1fr 170px 90px !important; }
@media (max-width: 900px) { .rk-veille-somm { grid-template-columns: 1fr !important; } }
.rk-veille-groupe { margin: 0 0 10px; border: 1px solid rgba(128, 128, 128, .35); border-radius: 2px; }
.rk-veille-groupe > .rk-afaq { border: 0; border-top: 1px solid rgba(128, 128, 128, .22); }
.rk-veille-groupe-titre { list-style: none; cursor: pointer; padding: 10px 16px; font-weight: 700;
	display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.rk-veille-groupe-titre::-webkit-details-marker { display: none; }
.rk-veille-groupe-titre::marker { content: ""; }
.rk-veille-groupe-titre:hover { background: rgba(128, 128, 128, .08); }
.rk-veille-groupe-n { font-weight: 400; font-size: 13px; color: #6b655e; }
.rk-veille-source-ligne { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; padding: 10px 16px;
	border-bottom: 1px solid rgba(128, 128, 128, .22); align-items: start; }
.rk-veille-source-ligne .rk-afaq-meta { grid-column: 1; margin: 0; word-break: break-all; }
.rk-veille-sondage form { margin-top: 10px; }
.rk-veille-lexique { font-size: 13px; margin: 0 0 12px; max-width: 70ch; line-height: 1.55; }
.rk-veille-plus-ex, .rk-veille-diff ins { background: #ffe566; color: #1a1a1a; text-decoration: none; padding: 0 .12em; }
.rk-veille-moins-ex, .rk-veille-diff del { background: #ff8a80; color: #4a0000; text-decoration: line-through; padding: 0 .12em; }
.rk-veille-diff {
	font-size: 14px; white-space: pre-wrap; word-break: break-word;
	line-height: 1.55; background: rgba(255, 255, 255, .06); border: 1px solid rgba(128, 128, 128, .3);
	padding: 12px 14px; margin: 8px 0 12px; max-height: 380px; overflow: auto;
}
.rk-veille-l { white-space: pre-wrap; word-break: break-word; }
.rk-veille-l.plus  { color: #2f7d4f; }
.rk-veille-l.moins { color: #8a2b16; }
.rk-veille-avert { font-style: italic; }

/* -- veille : la page à deux colonnes de « Réécrire à la main » (phase G) -- */
.rk-reec-titre { font-size: 22px; margin: 4px 0 6px; }
.rk-reec-deux { display: grid; grid-template-columns: 1fr; gap: 22px; align-items: start; margin-top: 16px; }
@media (min-width: 1100px) { .rk-reec-deux { grid-template-columns: 1fr 1fr; gap: 28px; } }
.rk-reec-col h2 { font-size: 17px; margin: 0 0 8px; }
.rk-reec-avert { font-size: 13px; color: #8a2b16; margin: 0 0 10px; font-style: italic; }
/* leur texte : brut, à chasse fixe, jamais dans un champ. Une référence à lire,
   pas une page à imiter ni un texte à copier. */
.rk-reec-source {
	font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	font-size: 12.5px; line-height: 1.6; white-space: pre-wrap; word-break: break-word;
	background: rgba(128, 128, 128, .10); border: 1px solid rgba(128, 128, 128, .35);
	padding: 14px 16px; max-height: 620px; overflow: auto;
}
.rk-reec-barre { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
.rk-reec-barre label, .rk-reec-barre span { margin: 0; font-weight: 400; font-size: 13px; color: #6b655e; }
.rk-reec-barre select { max-width: 420px; }
.rk-reec-aide { font-size: 12.5px; color: #6b655e; }
.rk-reec-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 12px 0 8px; }

/* -- veille : la mention de coût du bouton de rédaction -- */
.rk-veille-cout { font-size: 13px; color: #6b655e; background: rgba(181, 118, 30, .10);
	border-left: 3px solid #b5761e; padding: 10px 12px; margin: 10px 0; }
.rk-veille-cout strong { color: #8a2b16; }
.rk-veille-cout-reel { font-size: 13.5px; }
.rk-afaq-etat.suspect { border-color: #b5761e; color: #b5761e; }

/* -- bulles FAQ admin : mêmes cartes que la page publique Questions pratiques -- */
.rk-afaq-bulles {
	--faq2-rouge: #8a2b16; --faq2-rouge-voile: #F6EBE7;
	--faq2-carte: #FFFFFF; --faq2-encre: #1C1A18; --faq2-texte: #4A453F;
	--faq2-gris: #6B655E; --faq2-filet: #D7D1C9; --faq2-filet2: #E3DED7; --faq2-voile: #F5F3F0;
	color: var(--faq2-encre); max-width: 960px; margin: 0 0 22px;
}
.rk-afaq-bulles a { color: inherit; text-decoration: none; }
.rk-afaq-bulles .rk-faq2-lbl { font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
	color: var(--faq2-gris); margin: 16px 0 12px; }
.rk-afaq-bulles .rk-faq2-ic { width: 34px; height: 34px; color: var(--faq2-rouge); }
.rk-afaq-bulles .rk-faq2-pin { width: 28px; height: 28px; color: var(--faq2-rouge); }
.rk-afaq-bulles .rk-faq2-themes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0 0 8px; }
.rk-afaq-bulles .rk-faq2-bulle-t { min-height: 128px; justify-content: center; background: var(--faq2-carte);
	border: 1px solid var(--faq2-filet); border-radius: 16px; padding: 16px 14px 14px; text-align: center;
	cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 8px;
	box-shadow: 0 1px 0 var(--faq2-filet2); transition: border-color .12s, box-shadow .12s; }
.rk-afaq-bulles .rk-faq2-bulle-t:hover { border-color: var(--faq2-rouge); box-shadow: 0 3px 10px rgba(138, 43, 22, .12); }
.rk-afaq-bulles .rk-faq2-bulle-t b { font-weight: 600; font-size: 15px; line-height: 1.25; }
.rk-afaq-bulles .rk-faq2-n { font-size: 12px; color: var(--faq2-gris); background: var(--faq2-voile);
	border-radius: 999px; padding: 1px 9px; }
.rk-afaq-bulles .rk-faq2-pays { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.rk-afaq-bulles .rk-faq2-bulle-p { background: var(--faq2-carte); border: 1px solid var(--faq2-filet);
	border-radius: 16px; cursor: pointer; display: flex; flex-direction: column; align-items: center;
	justify-content: center; gap: 9px; padding: 20px 12px 18px; min-height: 150px; text-align: center;
	box-shadow: 0 1px 0 var(--faq2-filet2); transition: border-color .12s, box-shadow .12s; }
.rk-afaq-bulles .rk-faq2-bulle-p:hover { border-color: var(--faq2-rouge); box-shadow: 0 3px 10px rgba(138, 43, 22, .12); }
.rk-afaq-bulles .rk-faq2-ph { display: flex; align-items: center; justify-content: center;
	width: 64px; height: 48px; border-radius: 6px; overflow: hidden;
	box-shadow: 0 0 0 1px var(--faq2-filet2); background: #fff; }
.rk-afaq-bulles .rk-faq2-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rk-afaq-bulles .rk-faq2-nom { font-weight: 700; font-size: 15px; display: block; line-height: 1.25; }
.rk-afaq-bulles .rk-faq2-nq { font-size: 12px; color: var(--faq2-gris); display: block; }
.rk-afaq-bulles .rk-faq2-retour { display: inline-flex; align-items: center; gap: 7px; color: var(--faq2-rouge);
	font-weight: 600; font-size: 14px; background: var(--faq2-rouge-voile); padding: 7px 15px 7px 12px;
	border-radius: 999px; margin: 0 0 16px; }
.rk-afaq-bulles .rk-faq2-retour:hover { background: #efd9d2; }
.rk-afaq-bulles .rk-faq2-retour svg { width: 15px; height: 15px; }
.rk-afaq-bulles .rk-faq2-h2 { font-weight: 600; font-size: 22px; color: var(--faq2-rouge);
	margin: .1em 0 .6em; display: flex; align-items: center; gap: 12px; }
.rk-afaq-bulles .rk-faq2-h2-dr { width: 34px; height: 26px; object-fit: cover; border-radius: 3px;
	box-shadow: 0 0 0 1px var(--faq2-filet); }
.rk-afaq-bulles .rk-faq2-h2 .rk-faq2-ic { width: 26px; height: 26px; }
.rk-afaq-bulles .rk-faq2-bulle-here { border-color: var(--faq2-rouge); box-shadow: 0 0 0 2px var(--faq2-rouge-voile); }
.rk-veille-bloc { margin: 0 0 22px; max-width: 960px; padding: 18px 20px 16px;
	border: 1px solid rgba(128, 128, 128, .28); border-radius: 12px; background: #fff; }
.rk-veille-bloc > h2 { font-size: 18px; margin: 0 0 10px; }
.rk-veille-bloc > p { max-width: 70ch; margin: 0 0 12px; font-size: 14px; }
.rk-veille-pastille { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .03em;
	padding: 1px 8px; border-radius: 999px; margin-left: 8px; vertical-align: 1px; }
.rk-veille-pastille.fiable { background: #e5f3ea; color: #1f6b3a; }
.rk-veille-pastille.fragile { background: #f8ecd4; color: #7a4d0b; }
.rk-faq2-bulle-t, .rk-faq2-bulle-p { position: relative; }
.rk-veille-pip { position: absolute; top: 10px; right: 10px; width: 10px; height: 10px;
	border-radius: 50%; background: #c4841a; box-shadow: 0 0 0 2px #fff; }
.rk-faq-pills { position: absolute; top: 8px; right: 8px; display: flex; gap: 4px; }
.rk-faq-pill { display: inline-flex; align-items: center; justify-content: center;
	min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
	font-size: 10px; font-weight: 700; font-style: normal; letter-spacing: .04em;
	line-height: 1; color: #fff; box-shadow: 0 0 0 2px #fff; }
.rk-faq-pill-v { background: #8a2b16; }
.rk-faq-pill-q { background: #c4841a; }
.rk-faq-pill-p { background: #4a6580; }
.rk-faq-lexique { font-size: 13px; line-height: 1.55; max-width: 78ch; margin: 0 0 16px; color: #4A453F; }
.rk-faq-lexique .rk-faq-pill { position: relative; top: -1px; margin: 0 2px; box-shadow: none; vertical-align: middle; }
.rk-faq-nav-n { display: inline-block; min-width: 16px; padding: 0 5px; border-radius: 999px;
	font-size: 10px; font-weight: 700; line-height: 16px; color: #fff; margin-left: 4px; vertical-align: 1px; }
.rk-faq-nav-n.q { background: #c4841a; }
.rk-faq-nav-n.v { background: #8a2b16; }
.rk-afaq-bandeau-p { background: #eef2f6; border: 1px solid #c5d0da; border-radius: 10px;
	padding: 12px 16px; margin: 0 0 16px; max-width: 960px; }
.rk-afaq-bandeau-p p { margin: 0 0 8px; }
.rk-afaq-bandeau-p ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.rk-veille-journal { max-width: 70ch; margin: 0 0 20px; padding: 14px 16px;
	border: 1px solid #d7b56a; border-radius: 12px; background: #fff8e8; }
.rk-veille-journal h2 { font-size: 16px; margin: 0 0 8px; }
.rk-veille-journal p { margin: 0 0 8px; font-size: 14px; }
.rk-veille-journal ul { margin: 0; padding-left: 1.2em; }
.rk-veille-journal li { margin: 0 0 8px; }
.rk-veille-sondage-propre { border-left: 4px solid #2f7d4f; }
.rk-veille-sondage-html { border-left: 4px solid #c4841a; }
.rk-veille-qualifier { display: grid; gap: 8px; margin-top: 12px; max-width: 420px; }
.rk-veille-qualifier label { margin: 4px 0 0; font-weight: 600; font-size: 13px; }
.rk-veille-qualifier .btn { margin-top: 4px; justify-self: start; }
.rk-veille-source-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.rk-veille-source-ligne { grid-template-columns: 1fr auto; }
.rk-veille-source-ligne .rk-veille-qualifier { grid-column: 1 / -1; }
.rk-veille-retirees { font-size: 14px; }
.rk-veille-retirees > summary { cursor: pointer; font-weight: 600; font-size: 15px; }
.rk-veille-retirees > summary:hover { text-decoration: underline; }
.rk-veille-retirees > p { margin: 10px 0 12px; color: #6b655e; }
@media (max-width: 900px) {
	.rk-afaq-bulles .rk-faq2-themes,
	.rk-afaq-bulles .rk-faq2-pays { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.rk-afaq-bulles .rk-faq2-bulle-t { min-height: 112px; }
	.rk-afaq-bulles .rk-faq2-bulle-p { min-height: 136px; }
}

/* ==========================================================================
   « Pages du site » : la liste
   des fiches de la table `textes`, groupée en Pages / Encadrés / Courriel.
   Pas de couleur de fond en dur : translucide, valable dans les deux thèmes.
   ========================================================================== */
.rk-pages-groupe { margin: 0 0 28px; }
.rk-pages-groupe-titre { font-size: 19px; margin: 0 0 4px; }
.rk-pages-groupe-titre small { font-size: 13px; color: #6b655e; margin-left: 6px; }
.rk-pages-groupe-expl { margin: 0 0 10px; color: #6b655e; font-size: 13.5px; }
.rk-pages-vide { padding: 12px 14px; margin: 0; color: #6b655e; border: 1px dashed rgba(128, 128, 128, .4); border-radius: 2px; }
.rk-pages-table { margin-bottom: 0; }
.rk-pages-table code { background: rgba(128, 128, 128, .12); color: inherit; padding: 1px 4px; }
.rk-pages-col-titre { width: 26%; }
.rk-pages-col-ou { width: 36%; }
.rk-pages-col-lg { width: 4%; text-align: center; }
.rk-pages-col-date { width: 12%; }
.rk-pages-col-action { width: 8%; }
.rk-pages-lg { text-align: center; }
.rk-pages-ou { color: #6b655e; font-size: 13px; }
.rk-pages-oui { color: #2f7d4f; font-weight: 700; }
.rk-pages-non { color: rgba(128, 128, 128, .6); }
[data-theme="sombre"] .rk-pages-groupe-titre small,
[data-theme="sombre"] .rk-pages-groupe-expl,
[data-theme="sombre"] .rk-pages-ou,
[data-theme="sombre"] .rk-pages-vide { color: var(--rk-attenue); }
[data-theme="sombre"] .rk-pages-oui { color: #7fcf9a; }
/* Petit écran : on garde la fiche, où elle s'affiche et le bouton ; les six langues et la date
   attendent le bureau. Sélecteurs appuyés : les règles de tableau de l'admin l'emportaient sur
   une classe seule. */
@media (max-width: 900px) {
	.rk-pages-table thead th.rk-pages-col-lg, .rk-pages-table tbody td.rk-pages-lg,
	.rk-pages-table thead th.rk-pages-col-date, .rk-pages-table tbody td.rk-pages-date { display: none; }
	.rk-pages-table { table-layout: fixed; width: 100%; }
	.rk-pages-col-titre { width: 42%; }
	.rk-pages-col-ou { width: 36%; }
	.rk-pages-col-action { width: 22%; }
	.rk-pages-table .btn-xs { padding-left: 5px; padding-right: 5px; }
}

/* --- Pages du site : diagnostic du découpage (étape 2, lecture seule) --- */
.rk-diag-bandeau { max-width: 960px; margin: 0 0 18px; padding: 12px 16px; border: 1px solid rgba(128, 128, 128, .35); border-radius: 10px; background: rgba(128, 128, 128, .06); }
.rk-diag-bandeau p { margin: 0 0 6px; }
.rk-diag-bandeau p:last-child { margin-bottom: 0; }
.rk-diag-pastille { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; border: 1px solid transparent; }
.rk-diag-pastille.blocs { color: #2f7d4f; border-color: #2f7d4f; }
.rk-diag-pastille.brut { color: #c4841a; border-color: #c4841a; }
.rk-diag-pastille.vide { color: #6b655e; border-color: rgba(128, 128, 128, .5); }
.rk-diag-table td, .rk-diag-table th { vertical-align: middle !important; }
.rk-diag-oui { color: #2f7d4f; font-weight: 700; }
.rk-diag-non { color: #8a2b16; font-weight: 700; }
.rk-diag-attention { color: #c4841a; font-weight: 700; }
.rk-diag-legende { max-width: 70ch; margin: 18px 0 0; font-size: 14px; }
.rk-diag-legende h2 { font-size: 16px; margin: 0 0 8px; }
.rk-diag-legende li { margin: 0 0 6px; }
.rk-diag-titre { font-size: 19px; margin: 0 0 8px; }
.rk-diag-titre small { font-size: 13px; color: #6b655e; }
.rk-diag-blocs { list-style: none; margin: 12px 0 0; padding: 0; max-width: 960px; border: 1px solid rgba(128, 128, 128, .35); border-radius: 2px; counter-reset: bloc; }
.rk-diag-bloc { display: grid; grid-template-columns: 34px 150px 1fr; gap: 12px; align-items: start; padding: 8px 12px; border-bottom: 1px solid rgba(128, 128, 128, .22); counter-increment: bloc; }
.rk-diag-bloc:last-child { border-bottom: 0; }
.rk-diag-bloc::before { content: counter(bloc); color: #6b655e; font-size: 12px; padding-top: 2px; }
.rk-diag-bloc-type { font-size: 12.5px; font-weight: 700; }
.rk-diag-bloc-type code { font-weight: 400; background: rgba(128, 128, 128, .12); color: inherit; padding: 0 4px; }
.rk-diag-bloc.type-titre .rk-diag-bloc-texte { font-weight: 700; }
.rk-diag-bloc.type-titre { background: rgba(128, 128, 128, .07); }
.rk-diag-bloc.type-html { border-left: 4px solid #c4841a; }
.rk-diag-bloc.malforme { border-left: 4px solid #8a2b16; }
.rk-diag-bloc-code { margin: 0; font-size: 12px; white-space: pre-wrap; word-break: break-all; background: rgba(128, 128, 128, .08); border: 0; color: inherit; }
.rk-diag-vignette { height: 44px; width: auto; vertical-align: middle; margin-right: 8px; border-radius: 3px; }
[data-theme="sombre"] .rk-diag-titre small, [data-theme="sombre"] .rk-diag-bloc::before, [data-theme="sombre"] .rk-diag-pastille.vide { color: var(--rk-attenue); }
[data-theme="sombre"] .rk-diag-oui, [data-theme="sombre"] .rk-diag-pastille.blocs { color: #7fcf9a; border-color: #7fcf9a; }
[data-theme="sombre"] .rk-diag-non { color: var(--rk-accent-doux); }
@media (max-width: 900px) {
	.rk-diag-bloc { grid-template-columns: 28px 1fr; }
	.rk-diag-bloc .rk-diag-bloc-texte, .rk-diag-bloc .rk-diag-bloc-code { grid-column: 2; }
}

/* --- Pages du site : éditeur par blocs (étape 3) --- */
.rk-blocs-bascule { max-width: 960px; margin: 0 0 18px; padding: 12px 16px; border: 1px solid rgba(128, 128, 128, .35); border-radius: 10px; background: rgba(128, 128, 128, .06); }
.rk-blocs-bascule h2 { font-size: 17px; margin: 0 0 8px; }
.rk-blocs-bascule p { margin: 0 0 8px; }
.rk-blocs-verdicts .rk-diag-pastille { margin-right: 4px; }
.rk-blocs-bascule-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.rk-blocs-bascule-note { font-size: 13px; color: #6b655e; max-width: 60ch; }
.rk-blocs-onglet-mode { font-size: 10px; text-transform: uppercase; color: #2f7d4f; font-weight: 700; }
.rk-blocs-renvoi { padding: 14px; border: 1px dashed rgba(128, 128, 128, .4); border-radius: 4px; }
.rk-bl-entete { margin: 0 0 14px; }
.rk-bl-titre { font-size: 19px; margin: 0 0 8px; }
.rk-bl-titre small { font-size: 13px; color: #6b655e; }
.rk-bl-langues { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.rk-bl-langues .btn.active { font-weight: 700; }
.rk-bl-langues .rk-diag-pastille { font-size: 10px; padding: 0 5px; }
.rk-bl-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; }
.rk-bl-pile { list-style: none; margin: 0 0 18px; padding: 0; max-width: 960px; }
.rk-bl-bloc { display: grid; grid-template-columns: 110px 1fr 120px; gap: 14px; align-items: start; padding: 10px 12px; margin: 0 0 8px;
	border: 1px solid rgba(128, 128, 128, .35); border-radius: 6px; background: rgba(128, 128, 128, .04); }
.rk-bl-bloc.type-titre { background: rgba(128, 128, 128, .10); }
.rk-bl-bloc.type-html { border-left: 4px solid #c4841a; }
.rk-bl-bloc.rk-bl-surligne { outline: 3px solid #8a2b16; outline-offset: -1px; }
.rk-bl-bloc-marge { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; }
.rk-bl-num { font-weight: 700; font-size: 13px; min-width: 22px; }
.rk-bl-type { font-size: 11.5px; text-transform: uppercase; letter-spacing: .03em; color: #6b655e; width: 100%; }
.rk-bl-fleche { display: inline; margin: 0; }
.rk-bl-apercu { min-width: 0; overflow-wrap: anywhere; font-size: 14px; }
.rk-bl-apercu > :first-child { margin-top: 0; }
.rk-bl-apercu > :last-child { margin-bottom: 0; }
.rk-bl-apercu h2 { font-size: 20px; margin: 0; }
.rk-bl-apercu h3 { font-size: 17px; margin: 0; }
.rk-bl-apercu img { max-width: 100%; max-height: 160px; height: auto; }
.rk-bl-apercu img.left, .rk-bl-apercu img.right { float: none; }
.rk-bl-apercu-seul { max-width: 960px; padding: 12px; border: 1px solid rgba(128, 128, 128, .35); border-radius: 6px; margin: 0 0 14px; }
.rk-bl-bloc-actions { display: flex; flex-direction: column; gap: 6px; align-items: stretch; }
.rk-bl-form { max-width: 960px; margin: 0 0 18px; }
.rk-bl-form h3 { font-size: 17px; margin: 0 0 10px; }
.rk-bl-form h3 small, .rk-bl-form h4 { font-size: 13px; color: #6b655e; }
.rk-bl-form h4 { font-size: 15px; margin: 0 0 8px; font-weight: 700; color: inherit; }
.rk-bl-aide { font-size: 13px; color: #6b655e; margin: 8px 0; }
.rk-bl-ajout-2col, .rk-bl-secours-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.rk-bl-vignette { max-height: 140px; max-width: 100%; border-radius: 4px; }
.rk-bl-image-form .form-group { margin-bottom: 10px; }
.rk-bl-secours { max-width: 960px; margin: 24px 0 0; padding: 12px 16px; border: 1px solid #d7b56a; border-radius: 10px; background: rgba(215, 181, 106, .10); }
.rk-bl-secours > summary { cursor: pointer; font-weight: 700; font-size: 15px; }
.rk-bl-secours > summary:hover { text-decoration: underline; }
.rk-bl-secours > p { margin: 10px 0 12px; color: #6b655e; }
.rk-bl-secours h4 { font-size: 15px; margin: 0 0 6px; }
.rk-bl-secours p { font-size: 13.5px; }
.rk-bl-versions { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.rk-bl-versions li { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; padding: 6px 0; border-top: 1px solid rgba(128, 128, 128, .22); }
.rk-bl-version-quand { font-weight: 700; }
.rk-bl-version-motif { color: #6b655e; }
.rk-bl-version-form { display: inline; margin: 0; }
[data-theme="sombre"] .rk-blocs-bascule-note, [data-theme="sombre"] .rk-bl-titre small, [data-theme="sombre"] .rk-bl-type,
[data-theme="sombre"] .rk-bl-aide, [data-theme="sombre"] .rk-bl-form h3 small, [data-theme="sombre"] .rk-bl-secours > p,
[data-theme="sombre"] .rk-bl-version-motif { color: var(--rk-attenue); }
[data-theme="sombre"] .rk-blocs-onglet-mode { color: #7fcf9a; }
[data-theme="sombre"] .rk-bl-secours { background: rgba(215, 181, 106, .08); border-color: rgba(215, 181, 106, .5); }
@media (max-width: 900px) {
	.rk-bl-bloc { grid-template-columns: 1fr; }
	.rk-bl-bloc-actions { flex-direction: row; flex-wrap: wrap; }
	.rk-bl-ajout-2col, .rk-bl-secours-2col { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Tableau de bord : grille 1fr + 340px.
   Charte : Newsreader, Archivo, rouge brique. Variables sur .rk-tb.
   ========================================================================== */
.rk-tb-cadre { width: auto; max-width: 1240px; }
.rk-tb {
	--tb-rouge: #8a2b16; --tb-rouge-doux: rgba(138, 43, 22, .08);
	--tb-encre: #1c1a18; --tb-texte: #4a453f; --tb-gris: #6b655e; --tb-filet: #d7d1c9;
	--tb-carte: #fff; --tb-carte2: #f7f5f2; --tb-vert: #2f7d4f; --tb-ambre: #b5741a; --tb-manque: #8a847c;
	--tb-hachure: repeating-linear-gradient(135deg, rgba(128, 128, 128, .07) 0 8px, transparent 8px 16px);
	--tb-ombre: 0 1px 2px rgba(28, 26, 24, .06), 0 6px 18px rgba(28, 26, 24, .05);
	--tb-n2: #cfc6ba; --tb-n1: #a3968a; --tb-n0: #8a2b16; --tb-att: #d9a04a;
	--tb-ambre-doux: rgba(181, 116, 26, .10); --tb-vert-doux: rgba(47, 125, 79, .10);
	font-family: Archivo, "Helvetica Neue", Arial, sans-serif;
	display: grid; grid-template-columns: 1fr 340px; gap: 22px; align-items: start;
	margin: 8px 0 48px; color: var(--tb-encre);
}
[data-theme="sombre"] .rk-tb {
	--tb-rouge: #e06b52; --tb-rouge-doux: rgba(224, 107, 82, .14);
	--tb-encre: #ece8e2; --tb-texte: #cfc9c1; --tb-gris: #a8a198; --tb-filet: #3d3934;
	--tb-carte: #262421; --tb-carte2: #2f2c28; --tb-vert: #7fcf9a; --tb-ambre: #e0ad5a; --tb-ambre-encre: #e0ad5a; --tb-manque: #8f8880;
	--tb-hachure: repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 8px, transparent 8px 16px);
	--tb-ombre: 0 1px 2px rgba(0, 0, 0, .4);
	--tb-n2: #4f4841; --tb-n1: #857a6e; --tb-n0: #e06b52; --tb-att: #e0ad5a;
	--tb-ambre-doux: rgba(224, 173, 90, .12); --tb-vert-doux: rgba(127, 207, 154, .12);
}
.rk-tb-principal { min-width: 0; display: grid; gap: 22px; }
.rk-tb-principal > * { min-width: 0; max-width: 100%; }
.rk-tb-cote { display: grid; gap: 22px; align-content: start; min-width: 0; }
.rk-tb-accueil { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0; color: var(--tb-encre); }
.rk-tb-accueil > div { min-width: 0; flex: 1 1 180px; }
.rk-tb-bonjour { font-family: Newsreader, Georgia, serif; font-weight: 600; font-size: 34px; line-height: 1.1; margin: 0; color: var(--tb-encre); letter-spacing: -.01em; }
.rk-tb-bonjour em { font-style: italic; font-weight: 400; color: var(--tb-rouge); }
[data-theme="sombre"] .rk-tb-bonjour { color: var(--tb-encre); }
.rk-tb-sous { margin: 6px 0 0; color: var(--tb-gris); font-size: 15px; }
.rk-tb-date { text-align: right; font-size: 14px; color: var(--tb-gris); }
.rk-tb-date b { display: block; color: var(--tb-encre); font-family: Newsreader, Georgia, serif; font-size: 20px; font-weight: 600; }
.rk-tb-chiffres { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 0; }
.rk-tb-carte { background: var(--tb-carte); border: 1px solid var(--tb-filet); border-radius: 14px; box-shadow: var(--tb-ombre); }
.rk-tb-carte.manque { border-style: dashed; border-color: var(--tb-manque); background-image: var(--tb-hachure); box-shadow: none; }
.rk-tb-chiffre { padding: 16px 18px 14px; display: grid; gap: 4px; align-content: start; text-decoration: none; color: var(--tb-encre); }
a.rk-tb-chiffre:hover, a.rk-tb-chiffre:focus { text-decoration: none; color: var(--tb-encre); border-color: var(--tb-rouge); }
.rk-tb-chiffre .lib { font-size: 13px; color: var(--tb-gris); display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.rk-tb-chiffre .ico { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 10px; background: var(--tb-rouge-doux); color: var(--tb-rouge); display: grid; place-items: center; font-size: 15px; font-weight: 700; }
.rk-tb-chiffre .val { font-family: Newsreader, Georgia, serif; font-size: 36px; line-height: 1; font-weight: 600; color: var(--tb-encre); }
.rk-tb-chiffre .val.alerte { color: var(--tb-ambre); }
.rk-tb-chiffre .val small { font-size: 15px; color: var(--tb-gris); font-family: Archivo, sans-serif; font-weight: 400; margin-left: 5px; }
.rk-tb-chiffre .det { font-size: 13px; color: var(--tb-texte); line-height: 1.45; }
.rk-tb-chiffre .det b { color: var(--tb-vert); font-weight: 600; }
.rk-tb-chiffre .det b.bas { color: var(--tb-rouge); }
.rk-tb-chiffre .det a { color: var(--tb-rouge); }
.rk-tb-chiffre.manque .val { color: var(--tb-manque); font-size: 26px; }
.rk-tb-chiffre.manque .det { color: var(--tb-manque); }
.rk-tb-chiffre.manque .ico { background: transparent; border: 1px dashed var(--tb-manque); color: var(--tb-manque); }
.rk-tb-chiffre .comparo { display: flex; gap: 6px; align-items: center; margin-top: 4px; }
.rk-tb-chiffre .comparo i { flex: 1; height: 6px; border-radius: 3px; background: var(--tb-carte2); border: 1px solid var(--tb-filet); position: relative; overflow: hidden; }
.rk-tb-chiffre .comparo i::after { content: ""; position: absolute; inset: 0; width: var(--p); background: var(--tb-rouge); }
.rk-tb-chiffre .comparo.n1 i::after { background: var(--tb-gris); opacity: .6; }
.rk-tb-chiffre .comparo span { font-size: 12px; color: var(--tb-gris); white-space: nowrap; min-width: 64px; }
.rk-tb-deux { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; margin-top: 4px; }
.rk-tb-deux a { text-decoration: none; color: inherit; min-width: 0; border-radius: 8px; }
.rk-tb-deux a:hover, .rk-tb-deux a:focus { text-decoration: none; color: inherit; }
.rk-tb-deux a:hover .val, .rk-tb-deux a:focus .val { color: var(--tb-rouge); }
.rk-tb-deux .val { font-size: 32px; }
.rk-tb-deux .val small { display: block; margin: 6px 0 0; margin-left: 0; font-size: 12px; }
.rk-tb-manque-etiquette { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--tb-manque); }
.rk-tb-manque-etiquette::before { content: ""; width: 8px; height: 8px; border-radius: 50%; border: 2px solid var(--tb-manque); }
@media (max-width: 1000px) { .rk-tb { grid-template-columns: 1fr; } .rk-tb-chiffres, .rk-tb-indicateurs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .rk-tb-chiffres, .rk-tb-indicateurs { grid-template-columns: 1fr; } .rk-tb-bonjour { font-size: 28px; } .rk-tb-date { text-align: left; } }

/* --- tableau de bord, section 2 : réservations sur trois ans en barres CSS, tableau derrière --- */
.rk-tb-graphique {
	--tb-rouge: #8a2b16; --tb-encre: #1c1a18; --tb-texte: #4a453f; --tb-gris: #6b655e; --tb-filet: #d7d1c9; --tb-carte: #fff; --tb-carte2: #f7f5f2;
	--tb-n2: #cfc6ba; --tb-n1: #a3968a; --tb-n0: #8a2b16; --tb-att: #d9a04a;
	--tb-ombre: 0 1px 2px rgba(28, 26, 24, .06), 0 6px 18px rgba(28, 26, 24, .05);
	font-family: Archivo, "Helvetica Neue", Arial, sans-serif; color: var(--tb-encre); padding: 16px 18px 18px; margin: 0; display: block;
}
[data-theme="sombre"] .rk-tb-graphique {
	--tb-rouge: #e06b52; --tb-encre: #ece8e2; --tb-texte: #cfc9c1; --tb-gris: #a8a198; --tb-filet: #3d3934; --tb-carte: #262421; --tb-carte2: #2f2c28;
	--tb-n2: #4f4841; --tb-n1: #857a6e; --tb-n0: #e06b52; --tb-att: #e0ad5a; --tb-ombre: 0 1px 2px rgba(0, 0, 0, .4);
}
.rk-tb-mention { display: flex; justify-content: space-between; align-items: baseline; gap: 10px 16px; flex-wrap: wrap; margin: 0 0 4px; }
.rk-tb-mention-lib { margin: 0; font-family: Archivo, "Helvetica Neue", Arial, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--tb-gris); line-height: 1.2; }
.rk-tb-mention a { font-size: 11.5px; text-decoration: none; color: var(--tb-gris); border: 1px solid var(--tb-filet); border-radius: 999px; padding: 2px 8px; background: var(--tb-carte2); }
.rk-tb-mention a:hover { color: var(--tb-rouge); }
.rk-tb-section-titre { display: flex; justify-content: space-between; align-items: baseline; gap: 12px 20px; flex-wrap: wrap; margin-bottom: 6px; }
.rk-tb-legende { list-style: none; margin: 0; padding: 0; display: flex; gap: 14px; flex-wrap: wrap; font-size: 12.5px; color: var(--tb-gris); }
.rk-tb-legende li { display: inline-flex; gap: 6px; align-items: center; }
.rk-tb-legende i { width: 14px; height: 10px; border-radius: 2px; display: inline-block; }
.rk-tb-legende i.n2, .rk-tb-barres .barre.n2 .colonne { background: var(--tb-n2); }
.rk-tb-legende i.n1, .rk-tb-barres .barre.n1 .colonne { background: var(--tb-n1); }
.rk-tb-legende i.n0, .rk-tb-barres .barre.n0 .colonne { background: var(--tb-n0); }
.rk-tb-legende i.att, .rk-tb-barres .colonne .att { background: repeating-linear-gradient(135deg, var(--tb-att) 0 3px, var(--tb-carte) 3px 6px); }
.rk-tb-barres { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px; height: 260px; align-items: end; margin-top: 10px; padding: 22px 0 0; border-bottom: 1px solid var(--tb-filet); position: relative; min-width: 0; }
.rk-tb-barres::before { content: ""; position: absolute; inset: 22px 0 0; background: repeating-linear-gradient(to top, transparent 0 calc(25% - 1px), var(--tb-filet) calc(25% - 1px) 25%); opacity: .5; pointer-events: none; }
.rk-tb-barres .mois { display: flex; gap: 3px; align-items: flex-end; height: 100%; position: relative; }
.rk-tb-barres .barre { flex: 1; height: 100%; position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; }
.rk-tb-barres .colonne { display: block; height: var(--h); border-radius: 3px 3px 0 0; position: relative; overflow: hidden; }
.rk-tb-barres .barre.vide .colonne { height: 0; }
.rk-tb-barres .colonne .att { position: absolute; left: 0; right: 0; top: 0; height: var(--a); display: block; }
.rk-tb-barres .etiq { position: absolute; bottom: calc(var(--h) + 3px); left: 50%; transform: translateX(-50%); font-size: 10px; color: var(--tb-gris); line-height: 1; white-space: nowrap; }
.rk-tb-barres .barre.n0 .etiq { color: var(--tb-encre); font-weight: 600; }
.rk-tb-axe { display: grid; grid-template-columns: repeat(12, 1fr); gap: 10px; font-size: 12px; color: var(--tb-gris); text-align: center; margin-top: 6px; }
.rk-tb-totaux { display: flex; gap: 8px 26px; margin-top: 14px; font-size: 13px; color: var(--tb-gris); flex-wrap: wrap; }
.rk-tb-totaux b { font-family: Newsreader, Georgia, serif; font-size: 20px; color: var(--tb-encre); font-weight: 600; margin-right: 3px; }
.rk-tb-totaux .n0 b { color: var(--tb-rouge); }
.rk-tb-totaux em { font-style: normal; color: var(--tb-att); font-weight: 600; }
[data-theme="clair"] .rk-tb-totaux em, :root:not([data-theme="sombre"]) .rk-tb-totaux em { color: #a26a12; }
.rk-tb-tableau { margin-top: 16px; border-top: 1px solid var(--tb-filet); padding-top: 10px; font-size: 13px; }
.rk-tb-tableau summary { cursor: pointer; color: var(--tb-rouge); font-weight: 500; }
.rk-tb-tableau table { margin: 12px 0 0; font-size: 12.5px; color: var(--tb-texte); }
.rk-tb-tableau caption { text-align: left; color: var(--tb-gris); padding: 0 0 8px; font-size: 12px; }
.rk-tb-tableau th, .rk-tb-tableau td { border-color: var(--tb-filet) !important; }
.rk-tb-tableau td.att { color: var(--tb-gris); }
.rk-tb-tableau tfoot td { border-top: 2px solid var(--tb-filet) !important; }
[data-theme="sombre"] .rk-tb-tableau .table > thead > tr > th, [data-theme="sombre"] .rk-tb-tableau .table > tbody > tr > th { color: var(--tb-encre); }
@media (max-width: 900px) { .rk-tb-barres { height: 190px; gap: 5px; } .rk-tb-barres .mois { gap: 2px; } .rk-tb-barres .etiq { display: none; } .rk-tb-barres .barre.n0 .etiq { display: block; font-size: 9px; } .rk-tb-axe { gap: 5px; font-size: 10px; } }
@media (max-width: 600px) { .rk-tb-barres .etiq { display: none !important; } .rk-tb-axe span { font-size: 9px; } .rk-tb-tableau table { font-size: 11px; } .rk-tb-tableau { overflow-x: auto; } }

/* --- tableau de bord, section 3 : départs proches, ce qui reste à valider --- */
.rk-tb-departs {
	--tb-rouge: #8a2b16; --tb-encre: #1c1a18; --tb-texte: #4a453f; --tb-gris: #6b655e; --tb-filet: #d7d1c9;
	--tb-carte: #fff; --tb-carte2: #f7f5f2; --tb-vert: #2f7d4f; --tb-ambre: #b5741a;
	--tb-ambre-doux: rgba(181, 116, 26, .1); --tb-vert-doux: rgba(47, 125, 79, .1);
	font-family: Archivo, "Helvetica Neue", Arial, sans-serif; color: var(--tb-encre); padding: 16px 14px 10px; margin: 0; display: block;
}
[data-theme="sombre"] .rk-tb-departs {
	--tb-rouge: #e06b52; --tb-encre: #ece8e2; --tb-texte: #cfc9c1; --tb-gris: #a8a198; --tb-filet: #3d3934;
	--tb-carte: #262421; --tb-carte2: #2f2c28; --tb-vert: #7fcf9a; --tb-ambre: #e0ad5a; --tb-ambre-encre: #e0ad5a;
	--tb-ambre-doux: rgba(224, 173, 90, .12); --tb-vert-doux: rgba(127, 207, 154, .12);
}
.rk-tb-departs .rk-tb-mention a { color: var(--tb-gris); }
.rk-tb-departs-liste { list-style: none; margin: 8px 0 0; padding: 0; }
.rk-tb-depart { display: grid; grid-template-columns: 52px 1fr; gap: 0 12px; padding: 10px; border-top: 1px solid var(--tb-filet); }
.rk-tb-depart:first-child { border-top: 0; }
.rk-tb-depart .jour { text-align: center; background: var(--tb-carte2); border: 1px solid var(--tb-filet); border-radius: 10px; padding: 6px 0; align-self: start; }
.rk-tb-depart .jour b { display: block; font-family: Newsreader, Georgia, serif; font-size: 20px; line-height: 1; color: var(--tb-encre); }
.rk-tb-depart .jour small { font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--tb-gris); }
.rk-tb-depart .quoi { font-weight: 600; font-size: 14px; text-decoration: none; color: var(--tb-encre); }
.rk-tb-depart .quoi:hover { color: var(--tb-rouge); }
.rk-tb-depart .reste { font-size: 13px; color: var(--tb-gris); margin-top: 2px; }
.rk-tb-pastilles { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 7px; }
.rk-tb-pastilles span { font-size: 11px; padding: 1px 8px; border-radius: 999px; border: 1px solid var(--tb-filet); color: var(--tb-gris); background: var(--tb-carte2); }
.rk-tb-pastilles span.alerte { border-color: var(--tb-ambre); color: var(--tb-ambre); background: var(--tb-ambre-doux); }
.rk-tb-pastilles span.ok { border-color: var(--tb-vert); color: var(--tb-vert); background: var(--tb-vert-doux); }
.rk-tb-dossiers { list-style: none; margin: 10px 0 0; padding: 0; }
.rk-tb-dossier { display: grid; grid-template-columns: minmax(140px, 280px) 1fr; gap: 6px 16px; padding: 5px 0; font-size: 13px; align-items: baseline; }
.rk-tb-dossier a { color: var(--tb-rouge); font-weight: 500; }
.rk-tb-dossier .manques { color: var(--tb-texte); }
.rk-tb-dossier.ok a { color: var(--tb-vert); }
.rk-tb-dossier.ok .manques { color: var(--tb-vert); }
.rk-tb-departs-pied { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--tb-filet); font-size: 12.5px; color: var(--tb-gris); }
.rk-tb-departs-vide { color: var(--tb-gris); margin: 12px 0; }
@media (max-width: 700px) { .rk-tb-dossier { grid-template-columns: 1fr; } }

/* --- tableau de bord, section 4 : à faire, chaque ligne vers l'écran filtré --- */
.rk-tb-afaire {
	--tb-rouge: #8a2b16; --tb-encre: #1c1a18; --tb-texte: #4a453f; --tb-gris: #6b655e; --tb-filet: #d7d1c9;
	--tb-carte: #fff; --tb-carte2: #f7f5f2; --tb-manque: #8a847c;
	--tb-hachure: repeating-linear-gradient(135deg, rgba(128, 128, 128, .07) 0 8px, transparent 8px 16px);
	font-family: Archivo, "Helvetica Neue", Arial, sans-serif; color: var(--tb-encre); padding: 16px 18px 12px; margin: 0; display: block;
}
[data-theme="sombre"] .rk-tb-afaire {
	--tb-rouge: #e06b52; --tb-encre: #ece8e2; --tb-texte: #cfc9c1; --tb-gris: #a8a198; --tb-filet: #3d3934;
	--tb-carte: #262421; --tb-carte2: #2f2c28; --tb-manque: #8f8880;
	--tb-hachure: repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 8px, transparent 8px 16px);
}
.rk-tb-afaire-note { font-size: 13px; color: var(--tb-gris); }
.rk-tb-liste { list-style: none; margin: 8px 0 0; padding: 0; }
.rk-tb-liste li { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 12px 4px; border-top: 1px solid var(--tb-filet); align-items: center; }
.rk-tb-liste li:first-child { border-top: 0; }
.rk-tb-liste .t { grid-column: 1; font-weight: 600; font-size: 15px; color: var(--tb-encre); text-decoration: none; }
.rk-tb-liste a.t:hover { color: var(--tb-rouge); }
.rk-tb-liste .s { grid-column: 1; font-size: 13px; color: var(--tb-texte); line-height: 1.45; }
.rk-tb-liste .n { grid-column: 2; grid-row: 1 / span 2; font-family: Newsreader, Georgia, serif; font-size: 28px; font-weight: 600; color: var(--tb-rouge); text-decoration: none; text-align: right; line-height: 1; }
.rk-tb-liste .n small { display: block; font-family: Archivo, sans-serif; font-size: 11px; color: var(--tb-gris); font-weight: 400; margin-top: 3px; }
.rk-tb-liste li.manque { border-style: dashed; border-color: var(--tb-manque); background-image: var(--tb-hachure); border-radius: 10px; padding: 12px 10px; margin-top: 6px; }
.rk-tb-liste li.manque .t, .rk-tb-liste li.manque .n { color: var(--tb-manque); }
.rk-tb-liste li.manque .s { color: var(--tb-manque); }
@media (max-width: 600px) { .rk-tb-liste li { grid-template-columns: 1fr; } .rk-tb-liste .n { grid-column: 1; grid-row: auto; text-align: left; font-size: 22px; } }

/* --- tableau de bord, section 5 : indicateurs proposés --- */
.rk-tb-indicateurs { grid-template-columns: repeat(3, 1fr); margin: 0; }
.rk-tb-indicateurs .rk-tb-chiffre .val { font-size: 30px; }
@media (max-width: 1000px) { .rk-tb-indicateurs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .rk-tb-indicateurs { grid-template-columns: 1fr; } }
.rk-tb-section-titre h2 { font-family: Archivo, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin: 0; color: var(--tb-gris); }
.rk-tb-section-titre a { font-size: 11.5px; text-decoration: none; color: var(--tb-gris); border: 1px solid var(--tb-filet); border-radius: 999px; padding: 2px 8px; background: var(--tb-carte2); }
.rk-tb-section-titre a:hover { color: var(--tb-rouge); }
.rk-tb-section-titre small { font-family: Archivo, sans-serif; font-size: 13px; color: var(--tb-gris); font-weight: 400; }
.rk-tb-cote .rk-tb-dossiers { display: none; }
.rk-tb-cote .rk-tb-departs-pied { font-size: 12px; }
.rk-tb-carte-pied { padding: 8px 8px 6px; font-size: 12.5px; color: var(--tb-gris); border-top: 1px dashed var(--tb-filet); margin: 4px 4px 0; }
.rk-tb-carte-pied.manque { color: var(--tb-manque); border-top: 0; padding-top: 4px; }
#tb-rdv { padding: 16px 18px 12px; }
.rk-tb-taches-liste { list-style: none; margin: 6px 0 0; padding: 0; }
.rk-tb-taches-liste li { padding: 8px 10px; border-top: 1px solid var(--tb-filet); font-size: 13.5px; display: flex; gap: 10px; align-items: baseline; }
.rk-tb-taches-liste li:first-child { border-top: 0; }
.rk-tb-taches-liste li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; border: 2px solid var(--tb-rouge); flex: 0 0 8px; transform: translateY(-1px); }
.rk-tb-taches-liste a { color: inherit; text-decoration: none; font-weight: 500; }
.rk-tb-taches-liste a:hover { color: var(--tb-rouge); }
.rk-tb-taches-liste .cat { font-size: 11px; color: var(--tb-gris); text-transform: uppercase; letter-spacing: .04em; margin-left: auto; white-space: nowrap; }

/* ==========================================================================
   Audience (20/09/2026) : passerelle, mêmes cartes que le tableau de bord.
   ========================================================================== */
.rk-aud-outils { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rk-aud-outil { padding: 16px 18px 16px; display: grid; gap: 8px; align-content: start; color: var(--tb-encre); }
.rk-aud-outil .lib { font-size: 13px; color: var(--tb-gris); display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.rk-aud-outil .ico { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 10px; background: var(--tb-rouge-doux); color: var(--tb-rouge); display: grid; place-items: center; font-size: 14px; font-weight: 700; }
.rk-aud-outil.manque .ico { background: transparent; border: 1px dashed var(--tb-manque); color: var(--tb-manque); }
.rk-aud-outil .nom { font-family: Newsreader, Georgia, serif; font-size: 22px; line-height: 1.15; font-weight: 600; margin: 0; color: var(--tb-encre); }
.rk-aud-outil .det, .rk-aud-bloc .det, .rk-aud-liens .det { font-size: 13px; color: var(--tb-texte); line-height: 1.45; margin: 0; }
.rk-aud-outil .note, .rk-aud-form .note { font-size: 12px; color: var(--tb-gris); line-height: 1.4; margin: 0; }
.rk-aud .etat { display: inline-block; justify-self: start; width: fit-content; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; border-radius: 999px; padding: 3px 8px; }
.rk-aud .etat.ok { background: var(--tb-vert-doux); color: var(--tb-vert); }
.rk-aud .etat.off { background: var(--tb-ambre-doux); color: var(--tb-ambre); }
.rk-aud .etat.wait { background: transparent; color: var(--tb-manque); border: 1px dashed var(--tb-manque); }
.rk-aud .btn { display: inline-flex; align-items: center; justify-content: center; margin-top: 4px; padding: 8px 12px; border-radius: 999px; border: 1px solid var(--tb-rouge); color: var(--tb-rouge); background: transparent; font: 600 13px Archivo, sans-serif; text-decoration: none; width: fit-content; justify-self: start; cursor: pointer; }
.rk-aud a.btn:hover, .rk-aud a.btn:focus { color: var(--tb-rouge); text-decoration: none; border-color: var(--tb-rouge); }
.rk-aud-bloc, .rk-aud-liens { padding: 16px 18px 14px; }
.rk-aud-bloc h2, .rk-aud-liens h2, [data-theme="sombre"] .rk-aud-bloc h2, [data-theme="sombre"] .rk-aud-liens h2 { font-family: Newsreader, Georgia, serif; font-size: 22px; font-weight: 600; margin: 0 0 10px; color: var(--tb-encre); }
[data-theme="sombre"] .rk-aud-outil .nom { color: var(--tb-encre); }
.rk-aud-lignes { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rk-aud-lignes li { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: start; font-size: 13.5px; color: var(--tb-texte); padding-top: 10px; border-top: 1px solid var(--tb-filet); }
.rk-aud-lignes li:first-child { border-top: 0; padding-top: 0; }
.rk-aud-lignes b { color: var(--tb-encre); font-weight: 600; display: block; }
.rk-aud-lignes small { display: block; color: var(--tb-gris); font-size: 12px; margin-top: 2px; font-weight: 400; }
.rk-aud-verif { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.rk-aud-verif li { font-size: 13.5px; color: var(--tb-texte); line-height: 1.45; padding-left: 22px; position: relative; }
.rk-aud-verif li::before { content: ""; position: absolute; left: 0; top: 5px; width: 10px; height: 10px; border-radius: 50%; background: var(--tb-ambre); }
.rk-aud-verif li.ok::before { background: var(--tb-vert); }
.rk-aud-form { display: grid; gap: 12px; margin-top: 12px; }
.rk-aud-form label { display: grid; gap: 4px; font-size: 13px; font-weight: 600; color: var(--tb-encre); }
.rk-aud-form input { font: 400 14px Archivo, sans-serif; padding: 8px 10px; border: 1px solid var(--tb-filet); border-radius: 8px; background: var(--tb-carte2); color: var(--tb-encre); width: 100%; }
.rk-aud-ok, .rk-aud-err { margin: 0; padding: 10px 14px; border-radius: 10px; font-size: 14px; }
.rk-aud-ok { background: var(--tb-vert-doux); color: var(--tb-vert); }
.rk-aud-err { background: var(--tb-rouge-doux); color: var(--tb-rouge); }
@media (max-width: 1000px) { .rk-aud-outils { grid-template-columns: 1fr; } }
.rk-tb-equipe-liste { list-style: none; margin: 0; padding: 8px 4px 4px; display: grid; gap: 4px; }
.rk-tb-equipe-liste li { display: flex; gap: 10px; align-items: center; padding: 6px 10px; }
.rk-tb-equipe-liste .av { width: 34px; height: 34px; border-radius: 50%; background: var(--tb-rouge-doux); color: var(--tb-rouge); font-weight: 700; display: grid; place-items: center; font-size: 13px; position: relative; }
.rk-tb-equipe-liste .av::after { content: ""; position: absolute; right: -1px; bottom: -1px; width: 9px; height: 9px; border-radius: 50%; border: 2px solid var(--tb-carte); background: var(--tb-gris); }
.rk-tb-equipe-liste .av.la::after { background: var(--tb-vert); }
.rk-tb-equipe-liste .qui { font-weight: 600; font-size: 14px; }
.rk-tb-equipe-liste .quand { font-size: 12px; color: var(--tb-gris); }

/* ==========================================================================
   Asesor (22/09/2026) : mêmes cartes rk-tb, thème clair/sombre.
   ========================================================================== */
.rk-as { --as-rayon: 14px; }
.rk-as-avertissement {
	margin: 0; padding: 14px 16px; border-radius: var(--as-rayon);
	border: 1px solid var(--tb-ambre); background: var(--tb-ambre-doux); color: var(--tb-encre);
}
.rk-as-avertissement p { margin: 0 0 8px; font-size: 13.5px; line-height: 1.45; }
.rk-as-avertissement p:last-child { margin-bottom: 0; }
.rk-as-avertissement.rk-as-pii { border-color: var(--tb-rouge); background: var(--tb-rouge-doux); }
.rk-as-apercu { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px) { .rk-as-apercu { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .rk-as-apercu { grid-template-columns: 1fr; } }
.rk-as-section { padding: 16px 18px 18px; display: grid; gap: 10px; }
.rk-as-section h2 { font-family: Newsreader, Georgia, serif; font-size: 22px; font-weight: 600; margin: 0; color: var(--tb-encre); }
.rk-as-det { font-size: 13px; color: var(--tb-gris); line-height: 1.45; margin: 0; }
.rk-as-ok, .rk-as-err { margin: 0; padding: 10px 14px; border-radius: 10px; font-size: 14px; }
.rk-as-ok { background: var(--tb-vert-doux); color: var(--tb-vert); }
.rk-as-err { background: var(--tb-rouge-doux); color: var(--tb-rouge); }
.rk-as-ok-inline { color: var(--tb-vert); font-weight: 600; }
.rk-as-err-inline { color: var(--tb-rouge); font-weight: 600; }
.rk-as-bulles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 6px; }
@media (max-width: 800px) { .rk-as-bulles { grid-template-columns: 1fr; } }
.rk-as-bulle {
	padding: 14px 16px; border-radius: 12px; border: 1px solid var(--tb-filet);
	background: var(--tb-carte2); display: grid; gap: 6px; color: var(--tb-encre);
}
.rk-as-bulle.statut-absent { border-color: var(--tb-rouge); }
.rk-as-bulle.statut-humain { border-color: var(--tb-ambre); }
.rk-as-bulle.statut-present { border-color: var(--tb-vert); }
.rk-as-bulle h3 { font-family: Newsreader, Georgia, serif; font-size: 17px; margin: 0; font-weight: 600; }
.rk-as-bulle p { margin: 0; font-size: 13px; line-height: 1.45; color: var(--tb-texte); }
.rk-as-statut {
	justify-self: start; font-size: 11px; font-weight: 600; letter-spacing: .04em;
	text-transform: uppercase; border-radius: 999px; padding: 3px 8px;
	background: var(--tb-ambre-doux);
	/* L'ambre des bordures, #b5741a, ne donnait que 3,15:1 posé sur son propre fond à 10 %
	   (retour 3, 24/09/2026, mesuré au navigateur). Ce texte est petit : il lui faut 4,5.
	   D'où une encre ambre à part, plus sombre, qui ne sert qu'ici. En thème sombre
	   --tb-ambre-encre reprend l'ambre clair, qui passe déjà à 5,39:1. */
	color: var(--tb-ambre-encre, #8a5a12);
}
.rk-as-bulle.statut-present .rk-as-statut { background: var(--tb-vert-doux); color: var(--tb-vert); }
.rk-as-bulle.statut-absent .rk-as-statut { background: var(--tb-rouge-doux); color: var(--tb-rouge); }
.rk-as-source { font-size: 12px; color: var(--tb-gris); word-break: break-word; }
.rk-as-lien, .rk-as-btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 8px 12px; border-radius: 999px; border: 1px solid var(--tb-rouge);
	color: var(--tb-rouge); background: transparent; font: 600 13px Archivo, sans-serif;
	text-decoration: none; width: fit-content; cursor: pointer;
}
.rk-as-btn.actif, .rk-as-btn:hover, a.rk-as-lien:hover { background: var(--tb-rouge-doux); text-decoration: none; color: var(--tb-rouge); }
.rk-as-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 0; }
.rk-as-vide { color: var(--tb-gris); font-size: 13px; margin: 0; }
.rk-as-disc-layout { display: grid; grid-template-columns: 220px 1fr; gap: 16px; margin-top: 8px; }
@media (max-width: 800px) { .rk-as-disc-layout { grid-template-columns: 1fr; } }
.rk-as-disc-liste ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.rk-as-disc-liste li { display: flex; gap: 6px; align-items: center; padding: 6px 8px; border-radius: 8px; }
.rk-as-disc-liste li.actif { background: var(--tb-rouge-doux); }
.rk-as-disc-liste a { flex: 1; color: var(--tb-encre); text-decoration: none; font-size: 13px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rk-as-disc-liste li.vide { color: var(--tb-gris); font-size: 13px; }
.rk-as-suppr { margin: 0; }
.rk-as-suppr button {
	border: 0; background: transparent; color: var(--tb-gris); cursor: pointer;
	font-size: 18px; line-height: 1; padding: 0 4px;
}
.rk-as-suppr button:hover { color: var(--tb-rouge); }
.rk-as-messages { display: grid; gap: 10px; max-height: 420px; overflow: auto; margin-bottom: 12px; padding-right: 4px; }
.rk-as-msg { padding: 10px 12px; border-radius: 12px; border: 1px solid var(--tb-filet); background: var(--tb-carte2); }
.rk-as-msg.role-user { border-color: var(--tb-rouge); }
.rk-as-msg.role-assistant { border-color: var(--tb-vert); }
.rk-as-msg .corps { font-size: 13.5px; line-height: 1.5; color: var(--tb-texte); white-space: pre-wrap; }
.rk-as-msg .meta { font-size: 11px; color: var(--tb-gris); margin-top: 6px; }
.rk-as-sources-msg { margin: 6px 0 0; padding-left: 18px; font-size: 12px; }
.rk-as-form-chat { display: grid; gap: 8px; }
.rk-as-form-chat label { font-size: 13px; font-weight: 600; color: var(--tb-encre); }
.rk-as-form-chat textarea {
	font: 400 14px Archivo, sans-serif; padding: 10px 12px; border: 1px solid var(--tb-filet);
	border-radius: 10px; background: var(--tb-carte2); color: var(--tb-encre); width: 100%; resize: vertical;
}
.rk-as-regle { padding: 12px 0; border-top: 1px solid var(--tb-filet); }
.rk-as-regle:first-of-type { border-top: 0; }
.rk-as-regle h3 { font-family: Newsreader, Georgia, serif; font-size: 18px; margin: 0 0 6px; color: var(--tb-encre); }
.rk-as-regle h3 small { font-family: Archivo, sans-serif; font-size: 12px; color: var(--tb-gris); font-weight: 400; }
.rk-as-form-vies { display: grid; gap: 10px; }
.rk-as-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.rk-as-row input {
	font: 400 14px Archivo, sans-serif; padding: 8px 10px; border: 1px solid var(--tb-filet);
	border-radius: 8px; background: var(--tb-carte2); color: var(--tb-encre);
}
.rk-as-vies-res { padding: 10px 12px; border-radius: 10px; background: var(--tb-carte2); border: 1px solid var(--tb-filet); }
[data-theme="sombre"] .rk-as-avertissement { color: var(--tb-encre); }
[data-theme="sombre"] .rk-as-bulle h3,
[data-theme="sombre"] .rk-as-section h2,
[data-theme="sombre"] .rk-as-regle h3 { color: var(--tb-encre); }

/* Ligne de départ à qui il manque des places (écran Dates). La couleur était écrite
   en dur dans le PHP, et le thème sombre n'avait aucun moyen de la reprendre. */
.rk-ligne-alerte > td { background: #fff8e6; }

/* ----- le tampon « new » et le fil des nouveautés ----- */
.rk-new {
  display: inline-block;
  margin-left: 4px;
  padding: 0px 3px;
  border-radius: 6px;
  background: var(--rk-new-fond, #a90000);
  color: var(--rk-new-encre, #ffffff);
  font-size: 8px;
  line-height: 11px;
  font-weight: bold;
  text-transform: uppercase;
  vertical-align: middle;
  cursor: help;
}
/* Posé dans un COIN, jamais dans le flux. Dans le bandeau, le
   tampon élargissait l'onglet, allongeait la rangée et faisait apparaître une barre de
   défilement horizontale. En position absolue il ne pèse plus rien : la rangée d'onglets
   retrouve exactement la largeur qu'elle avait avant les tampons. Il reste À L'INTÉRIEUR
   de la boîte de son hôte, sans déborder, pour ne pas créer de défilement à son tour. */
.rk-new-hote { position: relative; }
.rk-new-coin {
  position: absolute;
  top: 1px;
  right: 3px;
  margin-left: 0px;
  z-index: 2;
  pointer-events: auto;
}
/* ----- le fil repliable (retour 4, 24/09/2026) -----
   Trois lignes à l'arrivée, le reste derrière « Voir tout ». Le compteur de nouveautés non
   vues et le tampon vivent dans le TITRE, donc restent visibles fil replié. */
.rk-fil-compteur {
  display: inline-block; min-width: 17px; padding: 0px 5px; margin-left: 6px;
  border-radius: 9px; background: var(--rk-new-fond, #a90000); color: var(--rk-new-encre, #ffffff);
  font-size: 10px; line-height: 16px; font-weight: bold; text-align: center; vertical-align: middle;
}
/* Le fil est la seule carte du tableau de bord qui n'avait pas de marge intérieure : son
   texte touchait les bords. Même valeur que .rk-aud-bloc. */
.rk-fil-nouveautes { padding: 16px 18px 14px; }
/* « Voir tout » / « Replier » se retrouvait au milieu du fil une fois déroulé, parce que
   <summary> doit être le PREMIER enfant de <details>. On le laisse premier dans le code et on
   l'affiche en bas, seul sur sa ligne, par positionnement : display:flex sur un <details> n'est
   honoré que par les navigateurs récents, et le repli doit tenir même sans JavaScript. */
#tb-nouveautes-suite { position: relative; padding-bottom: 32px; }
#tb-nouveautes-suite > summary {
  list-style: none; cursor: pointer; padding: 9px 0px 2px;
  font-size: 12px; font-weight: bold; color: var(--rk-lien, #a90000);
  position: absolute; left: 0px; right: 0px; bottom: 0px;
  border-top: 1px solid var(--rk-bord, #eeeeee);
}
#tb-nouveautes-suite > summary::-webkit-details-marker { display: none; }
#tb-nouveautes-suite > summary::after { content: " ▸"; opacity: .7; }
#tb-nouveautes-suite[open] > summary::after { content: " ▾"; }
#tb-nouveautes-suite > summary:hover { text-decoration: underline; }
#tb-nouveautes-suite > ul > li:first-child { border-top: 1px solid var(--rk-bord, #eeeeee); }
.rk-fil-nouveautes ul { list-style: none; margin: 0px; padding: 0px; }
.rk-fil-nouveautes li { padding: 7px 0px; border-top: 1px solid #eeeeee; }
.rk-fil-nouveautes li:first-child { border-top: 0px; }
/* #888888 sur blanc ne donnait que 3,54:1, mesuré au navigateur (retour 3, 24/09/2026). */
.rk-fil-nouveautes .d { color: var(--rk-attenue, #6b655e); font-size: 11px; }
.rk-fil-nouveautes .t { font-weight: bold; }
.rk-fil-nouveautes .s { display: block; color: #666666; }
.rk-fil-encours .t { color: #8a6d3b; }
.rk-fil-etat {
  display: inline-block; margin-left: 6px; padding: 0px 6px; border-radius: 8px;
  font-size: 10px; line-height: 15px; text-transform: uppercase; vertical-align: middle;
}
.rk-fil-etat.utilisable { background: #dff0d8; color: #3c763d; }
.rk-fil-etat.encours { background: #fcf8e3; color: #8a6d3b; border: 1px dashed #d6c78a; }
/* Les deux états de l'atelier : ils ne paraissent que dans l'onglet
   Nouveautés, le tableau de bord ne montre que « en cours » et « utilisable ». */
.rk-fil-etat.prevu { background: #eeeeee; color: #5a554e; border: 1px dashed #cccccc; }
.rk-fil-etat.encreation { background: #e8eef6; color: #31577d; border: 1px dashed #a9c0d8; }
/* L'atelier lui-même : une table compacte, un compteur par état. */
.rk-nouv-table table { width: 100%; }
.rk-nouv-select { max-width: 155px; display: inline-block; }
.rk-nouv-compteur .nom { margin: 0px; }
.rk-nouv-form-statut, .rk-nouv-form-suppr { display: inline-block; margin: 0px; }
.rk-nouv-voir { font-size: 11px; margin-left: 6px; }
#rk-nouv-compteurs { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { #rk-nouv-compteurs { grid-template-columns: 1fr 1fr; } }

/* ----- Asesor : la mention légale repliable ----- */
.rk-as-avertissement { position: relative; }
.rk-as-avert-replier {
  position: absolute; top: 6px; right: 8px;
  border: 0px; background: transparent; color: inherit;
  font-size: 18px; line-height: 1; cursor: pointer; opacity: .6;
}
.rk-as-avert-replier:hover { opacity: 1; }
.rk-as-avert-pastille {
  position: fixed; right: 18px; bottom: 18px; z-index: 1030;
  width: 34px; height: 34px; border-radius: 17px;
  border: 0px; background: #a90000; color: #ffffff;
  font-weight: bold; font-size: 15px; line-height: 34px; cursor: pointer;
  box-shadow: 0px 2px 6px rgba(0,0,0,.3);
}
.rk-as-avert-pastille:hover { background: #8f0000; }
/* Les deux boutons d'une bulle Asesor, côte à côte. */
.rk-as-corriger { margin-left: 8px; }

/* ----- Équipe : une ligne cliquable, et le repli du formulaire ----- */
.rk-eq-ligne { cursor: pointer; }
.rk-eq-ligne:hover > td { background: #f3f3f3; }
#rk-ajout > summary { list-style: none; }
#rk-ajout > summary::-webkit-details-marker { display: none; }
#rk-ajout > summary::after { content: " ▸"; opacity: .6; }
#rk-ajout[open] > summary::after { content: " ▾"; }

/* ----- La frontière entre « d'actualité » et « le reste » -----
   Discrète : un trait un peu plus marqué que les autres, rien de plus. */
tr.rk-frontiere > td { border-top: 2px solid #c9c9c9 !important; }

/* ------------------------------------------------------------------------------------------
   Onglet Administrateur. Charte des cartes rk-tb / rk-aud, thème par les
   variables --tb-* : rien de codé en dur. */
.rk-adm-cartes { grid-template-columns: 1fr 1fr; }
.rk-adm-carte .rk-adm-form { margin-top: 4px; }
.rk-adm-carte .rk-adm-etat { display: block; font-weight: 400; margin: 2px 0 4px; }
.rk-adm-carte textarea { font: 400 12px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; padding: 8px 10px; border: 1px solid var(--tb-filet); border-radius: 8px; background: var(--tb-carte2); color: var(--tb-encre); width: 100%; resize: vertical; }
.rk-adm-carte input[type="file"] { font: 400 13px Archivo, sans-serif; color: var(--tb-texte); }
.rk-adm-carte .note { margin: 0; }
/* « Où prendre la clé » : le lien vers la page du service, juste
   sous la description, détaché du formulaire pour qu'on le voie avant de chercher. */
.rk-adm-carte .rk-adm-ou { margin: -2px 0 2px; }
.rk-adm-carte .rk-adm-ou a { font-weight: 700; }
.rk-adm-bascule { display: block !important; font-weight: 500 !important; }
.rk-adm-bascule input[type="checkbox"] { width: auto; margin-right: 6px; }
.rk-adm-boutons { display: flex; flex-wrap: wrap; gap: 8px; }
.rk-adm-boutons .btn[disabled] { opacity: .45; cursor: not-allowed; }
.rk-adm-boutons .rk-adm-poser { background: var(--tb-rouge); color: #fff; }
.rk-adm-flash { margin: 0 !important; }
.rk-aud-ok { background: var(--tb-vert-doux); color: var(--tb-vert); }
.rk-aud-err { background: var(--tb-rouge-doux); color: var(--tb-rouge); }
.rk-adm-table { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--tb-texte); margin-top: 10px; }
.rk-adm-table th { text-align: left; font-weight: 600; color: var(--tb-gris); font-size: 12px; padding: 6px 8px; border-bottom: 1px solid var(--tb-filet); }
.rk-adm-table td { padding: 7px 8px; border-bottom: 1px solid var(--tb-filet); vertical-align: top; }
.rk-adm-table code { background: var(--tb-carte2); color: var(--tb-encre); border-radius: 4px; padding: 1px 5px; font-size: 12px; }
.rk-adm-code { max-width: 560px; margin: 24px auto 48px; }
.rk-adm-code .rk-tb-carte { padding: 22px 24px; }
.rk-adm-code h1 { font-family: Newsreader, Georgia, serif; font-size: 26px; font-weight: 600; margin: 4px 0 10px; color: var(--tb-encre); }
.rk-adm-code .det { font-size: 14px; color: var(--tb-texte); line-height: 1.5; }
.rk-adm-code-form { display: grid; gap: 8px; margin: 14px 0 10px; }
.rk-adm-code-form label { font-size: 13px; font-weight: 600; color: var(--tb-encre); }
.rk-adm-code-form input { font: 600 26px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .3em; padding: 10px 12px; border: 1px solid var(--tb-filet); border-radius: 8px; background: var(--tb-carte2); color: var(--tb-encre); max-width: 240px; }
@media (max-width: 900px) { .rk-adm-cartes { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------------------------------------
   Onglet Réseaux sociaux. Le cadre occupe la hauteur utile de l'écran ;
   Postiz a son propre thème sombre, on ne le repeint pas. */
/* LA LARGEUR : .rk-tb est une grille « contenu + colonne de 340 px ».
   L'onglet Réseaux sociaux n'a pas de colonne latérale, mais la place restait réservée : le
   cadre perdait 362 points et s'arrêtait bien avant le bord du bandeau des onglets. Même
   correction pour l'onglet Administrateur, qui n'a pas de colonne non plus. */
.rk-res, .rk-adm { grid-template-columns: 1fr; }
.rk-res-cadre { padding: 12px 14px 10px; display: grid; gap: 8px; }
/* LA HAUTEUR : posée par le script de la page, qui mesure la place réellement disponible sous
   l'en-tête. Une valeur en dur ne survivrait pas au bandeau d'onglets passé à deux lignes.
   Ce qui est écrit ici n'est que le repli si le script ne tourne pas. */
/* min-height: 300px et non 420. Une hauteur posee en ligne par
   le script ne peut pas descendre SOUS le min-height de la feuille : c est lui, et non le
   script, qui empechait le cadre de se reduire et poussait la PAGE a defiler a 1400x900.
   La valeur de repli calc() ne sert que le temps que le script mesure. */
.rk-res-cadre iframe { width: 100%; height: calc(100vh - 460px); min-height: 300px; border: 1px solid var(--tb-filet); border-radius: 10px; background: var(--tb-carte2); display: block; }
.rk-res-cadre .note { font-size: 12px; color: var(--tb-gris); margin: 0; }
/* Le cadre redimensionnable a la main. La zone porte la largeur, le
   cadre porte la hauteur ; la poignee vit dans le coin, par-dessus le cadre. touch-action:none
   est indispensable : sans lui, le navigateur prend le glisser du doigt pour un defilement et
   la poignee ne recoit jamais pointermove. */
.rk-res-zone { position: relative; width: 100%; max-width: 100%; }
.rk-res-poignee {
  position: absolute; right: 2px; bottom: 2px; width: 22px; height: 22px;
  cursor: nwse-resize; touch-action: none; border-radius: 0 0 8px 0;
  background:
    linear-gradient(135deg, transparent 48%, var(--tb-gris) 48%, var(--tb-gris) 56%, transparent 56%),
    linear-gradient(135deg, transparent 68%, var(--tb-gris) 68%, var(--tb-gris) 76%, transparent 76%);
  opacity: .55;
}
.rk-res-poignee:hover, .rk-res-poignee:focus { opacity: 1; outline: 2px solid var(--tb-rouge); outline-offset: 1px; }
.rk-res-taille { display: flex; align-items: center; gap: 10px; }
/* Un display: flex bat la regle du navigateur pour [hidden] : sans cette ligne, la note de
   taille reste visible alors que le PHP la marque cachee. */
.rk-res-taille[hidden] { display: none; }
.rk-res-taille .btn { font-size: 11px; }

/* ----- la barre d outils du cadre Postiz -----
   Celle de Postiz vit A L INTERIEUR du cadre et peut se retrouver coupee ; celle-ci est a
   nous, au-dessus du cadre, et reste visible quoi qu il arrive dedans. Le message qui la suit
   est permanent : le navigateur ne nous laisse pas savoir quand Postiz part vers un ecran de
   connexion Google ou Meta, donc on ne peut pas l afficher au bon moment. */
/* Sur une fenetre basse, la phrase d introduction laisse sa place au cadre : elle dit ce que
   le message permanent au-dessus du cadre dit deja (Postiz a sa propre connexion, ce qui s y
   passe reste chez lui). Mesure du 25/09 a 1366x768 : elle coute 43 px sur les 237 qui
   restaient au cadre. */
@media (max-height: 900px) {
  .rk-res .rk-tb-sous { display: none; }
}
/* ----- la tete de l ecran Reseaux -----
   Le titre de la page et la barre d outils sont sur UNE ligne, pour laisser plus de
   hauteur au cadre. */
.rk-res-tete { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin: 0; }
.rk-res-titre {
  margin: 0;
  font-family: Newsreader, Georgia, serif;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 600;
  color: var(--tb-encre, #1c1a18);
}
.rk-res-tete .rk-res-barre { margin-left: auto; }
/* Le message permanent devient repliable : l explication reste accessible d un clic, jamais
   perdue. Ouvert la premiere fois, la preference etant gardee par
   compte comme celle du fil des nouveautes. */
.rk-res-avis > summary {
  cursor: pointer;
  font-weight: 700;
  list-style: none;
  padding: 2px 0;
}
.rk-res-avis > summary::-webkit-details-marker { display: none; }
.rk-res-avis > summary::before { content: "\25B8"; display: inline-block; margin-right: 6px; transition: transform .15s; }
.rk-res-avis[open] > summary::before { transform: rotate(90deg); }
.rk-res-avis > p { margin: 6px 0 0; }
.rk-res-avis > p:last-child { margin-bottom: 2px; }
.rk-res-barre { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0; }
.rk-res-barre .btn { font-size: 12px; }
.rk-res-barre .fa-solid { margin-right: 4px; }
.rk-res-avis {
  margin: 0;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.45;
  /* variables NEUTRES : --rk-accent-fond vaut un rouge soutenu (#b83535) en theme sombre,
     ce qui donnerait un bloc rouge a encre sombre, illisible. */
  color: var(--rk-texte, #1c1a18);
  background: var(--rk-surface, #fbf8f4);
  border: 1px solid var(--rk-bord, #e6ded4);
  border-radius: 8px;
}
.rk-res .rk-tb-accueil { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.rk-res .rk-aud-outils { margin-bottom: 14px; }
.rk-res .rk-aud-bloc { margin-bottom: 14px; }
.rk-res .rk-aud-bloc .det { margin-bottom: 8px; }
.rk-res .rk-aud-bloc .rk-tb-mention-lib { margin-bottom: 4px; }

/* Sélection multiple des messages de contact.
   La barre d'actions ne paraît que lorsqu'au moins une ligne est cochée ; elle reste visible
   en haut du tableau, à la façon d'une boîte aux lettres. */
.rk-ct-barre[hidden] { display: none !important; }   /* sinon le display:flex ci-dessous gagne sur l'attribut */
.rk-ct-barre { display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  padding: 8px 10px; margin: 0px 0px 10px; border: 1px solid var(--rk-bord, #dddddd);
  border-radius: 8px; background: var(--rk-surface2, #f7f6f4); }
.rk-ct-compte { font-weight: bold; font-size: 12px; margin-right: 4px; }
.rk-ct-supprimer { color: #a90000; }
th.rk-ct-case, td.rk-ct-case { text-align: center; vertical-align: middle; cursor: default; }
td.rk-ct-case input, th.rk-ct-case input { cursor: pointer; margin: 0px; }
[data-theme="sombre"] .rk-ct-barre { background: var(--rk-surface2); border-color: var(--rk-bord); }
[data-theme="sombre"] .rk-ct-supprimer { color: #f0a0a0; }

/* ------------------------------------------------------------------------------------
   Filtre a pastilles. Remplace le filtre avance sur Pays, Voyages,
   Dates et Finances. Une rangee de pastilles cliquables avec leur compteur, puis les
   menus et la recherche. Les pastilles sont des LIENS : elles marchent sans JavaScript,
   et l'adresse porte l'etat, donc une vue filtree se garde en favori.
   ------------------------------------------------------------------------------------ */
/* Les couleurs de la brique. Les variables --tb-* ne vivent que dans le
   tableau de bord (.rk-tb et ses sections) ; hors de lui, les pastilles n'avaient ni
   bordure, ni fond, ni rouge une fois cochees, et se lisaient comme du texte. */
.rk-past, .rk-past-note {
	--tb-rouge: #8a2b16; --tb-encre: #1c1a18; --tb-gris: #6b655e; --tb-filet: #d7d1c9;
	--tb-carte: #fff; --tb-carte2: #f7f5f2;
}
[data-theme="sombre"] .rk-past, [data-theme="sombre"] .rk-past-note {
	--tb-rouge: #e06b52; --tb-encre: #ece8e2; --tb-gris: #a8a198; --tb-filet: #3d3934;
	--tb-carte: #262421; --tb-carte2: #2f2c28;
}
.rk-past { margin: 0 0 14px; }
.rk-past-ligne { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rk-past-bas { margin-top: 10px; gap: 12px; }
.rk-past-p {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 12px; border-radius: 999px; text-decoration: none;
  border: 1px solid var(--tb-filet); background: var(--tb-carte2);
  color: var(--tb-encre); font-size: 13px; line-height: 1.2;
}
.rk-past-p:hover, .rk-past-p:focus { border-color: var(--tb-rouge); color: var(--tb-encre); text-decoration: none; }
.rk-past-p .n {
  font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 999px;
  background: var(--tb-filet); color: var(--tb-gris);
}
.rk-past-p.actif { background: var(--tb-rouge); border-color: var(--tb-rouge); color: #fff; }
.rk-past-p.actif .n { background: rgba(255,255,255,.28); color: #fff; }
/* Une pastille a zero reste CLIQUABLE : elle dit quelque chose sur les donnees, et la
   cacher reviendrait a cacher l'information. Elle est seulement plus discrete. */
.rk-past-p.vide { opacity: .55; }
.rk-past-menu, .rk-past-q { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-weight: 400; }
.rk-past-menu > span, .rk-past-q > span { font-size: 12px; color: var(--tb-gris); }
.rk-past-menu select, .rk-past-q input {
  height: 30px; font-size: 13px; padding: 2px 8px; max-width: 240px;
  border: 1px solid var(--tb-filet); border-radius: 6px;
  background: var(--tb-carte); color: var(--tb-encre);
}
.rk-past-raz { font-size: 12px; color: var(--tb-gris); text-decoration: underline; }
/* Une ligne sous la rangee, pour ce qu'aucune pastille ne peut porter
   (Reservations : les dossiers sans date ; Documents : les pieces a deposer). */
.rk-past-note { margin: -6px 0 14px; font-size: 12px; color: var(--tb-gris); }
.rk-past-note a { color: var(--tb-encre); text-decoration: underline; }
@media (max-width: 760px) {
  .rk-past-menu, .rk-past-q { width: 100%; }
  /* min-width: 0 (27/09) : sans lui, un menu dont une option est longue (Contacts, « Interesse
     par ») garde la largeur de son texte le plus long et pousse le bloc hors de l'ecran. */
  .rk-past-menu select, .rk-past-q input { flex: 1 1 auto; max-width: none; min-width: 0; }
}

/* ------------------------------------------------------------------------------------
   Asesor en conversation. La page d'arrivee est un chat : grande zone
   de messages, champ centre en bas, choix du modele en haut a droite.
   ------------------------------------------------------------------------------------ */
.rk-as-chat { display: flex; flex-direction: column; gap: 12px; }
.rk-as-chat-tete { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.rk-as-chat-tete h2 { margin: 0; }
.rk-as-modele { display: flex; align-items: center; gap: 7px; margin: 0; }
.rk-as-modele label { font-size: 12px; color: var(--tb-gris); margin: 0; font-weight: 400; }
.rk-as-modele select {
  height: 30px; font-size: 12px; padding: 2px 8px; max-width: 320px;
  border: 1px solid var(--tb-filet); border-radius: 6px;
  background: var(--tb-carte); color: var(--tb-encre);
}
.rk-as-messages {
  min-height: 220px; max-height: 52vh; overflow-y: auto; padding: 4px 2px;
  display: flex; flex-direction: column; gap: 12px;
}
.rk-as-vide { color: var(--tb-gris); font-size: 13px; margin: 0; padding: 26px 8px; text-align: center; }
.rk-as-msg { max-width: 82%; padding: 10px 14px; border-radius: 12px; font-size: 14px; line-height: 1.5; }
.rk-as-msg.role-user { align-self: flex-end; background: var(--tb-rouge); color: #fff; border-bottom-right-radius: 4px; }
.rk-as-msg.role-assistant { align-self: flex-start; background: var(--tb-carte2); border: 1px solid var(--tb-filet); border-bottom-left-radius: 4px; }
.rk-as-msg .meta { margin-top: 7px; font-size: 11px; color: var(--tb-gris); }
.rk-as-sources-msg { margin: 6px 0 0; padding-left: 16px; font-size: 11px; word-break: break-all; }
.rk-as-saisie { margin: 0; }
.rk-as-saisie .rk-as-lbl { display: block; font-size: 12px; color: var(--tb-gris); margin-bottom: 4px; font-weight: 400; }
.rk-as-saisie-ligne { display: flex; gap: 8px; align-items: flex-end; }
.rk-as-saisie textarea {
  flex: 1 1 auto; resize: vertical; min-height: 54px; font-size: 14px; padding: 9px 12px;
  border: 1px solid var(--tb-filet); border-radius: 10px;
  background: var(--tb-carte); color: var(--tb-encre);
}
.rk-as-pii-ligne { margin: 6px 0 0; font-size: 11px; color: var(--tb-gris); }
.rk-as-chat-pied { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.rk-as-cache { display: none; }
.rk-as-lien-bouton {
  background: none; border: 0; padding: 0; font-size: 12px; color: var(--tb-rouge);
  text-decoration: underline; cursor: pointer;
}
.rk-as-sugg-ligne { border-top: 1px solid var(--tb-filet); padding-top: 10px; }
.rk-as-sugg-boutons { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 6px; }
.rk-as-sugg {
  font-size: 12px; padding: 5px 11px; border-radius: 999px; text-align: left;
  border: 1px solid var(--tb-filet); background: var(--tb-carte2); color: var(--tb-encre); cursor: pointer;
}
.rk-as-sugg:hover { border-color: var(--tb-rouge); }
.rk-as-budget { margin: 8px 0 0; padding-left: 18px; font-size: 13px; }
.rk-as-budget li { margin-bottom: 8px; }
.rk-as-budget .det { display: block; font-size: 11px; color: var(--tb-gris); }
/* Les cartes sont devenues des liens : elles ne doivent pas prendre l'allure d'un lien. */
a.rk-tb-chiffre { text-decoration: none; color: inherit; }
a.rk-tb-chiffre:hover { border-color: var(--tb-rouge); text-decoration: none; color: inherit; }
@media (max-width: 760px) {
  .rk-as-msg { max-width: 94%; }
  .rk-as-modele select { max-width: 200px; }
}

/* ------------------------------------------------------------------------------------
   Asesor, page de conversation. Une seule colonne : le chat prend la
   hauteur de la fenetre, le reste descend en lignes depliables <details>, repliees par
   defaut. La hauteur exacte de la zone de messages est posee par script ; la valeur
   ci-dessous n'est qu'un repli sans JavaScript.
   ⚠ Pas de min-height de feuille sur .rk-as-messages ici : il gagnerait sur la hauteur posee
   en ligne (piege du 25/09). Le plancher est dans le script.
   ------------------------------------------------------------------------------------ */
.rk-as-page { display: block; }
.rk-as-page .rk-as-chat { padding: 14px 18px 12px; gap: 10px; margin: 0 0 28px; }
.rk-as-page .rk-as-messages { height: calc(100vh - 330px); min-height: 0; max-height: none; }
.rk-as-titre { font-family: Newsreader, Georgia, serif; font-size: 24px; font-weight: 600; margin: 0; color: var(--tb-encre); }
.rk-as-tete-droite { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
/* Le choix du modele reste discret : petit, sans cadre tant qu'on ne le touche pas. */
.rk-as-page .rk-as-modele select { border-color: transparent; background: transparent; color: var(--tb-gris); max-width: 280px; }
.rk-as-page .rk-as-modele select:hover, .rk-as-page .rk-as-modele select:focus { border-color: var(--tb-filet); color: var(--tb-encre); }
.rk-as-accueil { margin: auto 0; display: grid; gap: 14px; justify-items: center; }
.rk-as-accueil .rk-as-vide { padding: 0 8px; }
.rk-as-accueil .rk-as-sugg-boutons { list-style: none; padding: 0; margin: 0; justify-content: center; max-width: 820px; }
.rk-as-envoyer { align-self: stretch; padding-left: 18px; padding-right: 18px; }
.rk-as-plus { display: grid; gap: 10px; margin: 0 0 40px; }
.rk-as-pli { padding: 0; }
.rk-as-pli > summary {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px;
  padding: 13px 18px; cursor: pointer; list-style: none; font-size: 15px; color: var(--tb-encre);
}
.rk-as-pli > summary::-webkit-details-marker { display: none; }
.rk-as-pli > summary::before { content: "\25B8"; color: var(--tb-gris); display: inline-block; width: 12px; transition: transform .15s; }
.rk-as-pli[open] > summary::before { transform: rotate(90deg); }
.rk-as-pli > summary .t { font-weight: 600; }
.rk-as-pli > summary .n { font-size: 12px; font-weight: 700; padding: 1px 8px; border-radius: 999px; background: var(--tb-carte2); border: 1px solid var(--tb-filet); color: var(--tb-gris); }
.rk-as-pli > summary .d { font-size: 12px; color: var(--tb-gris); }
.rk-as-pli > summary:hover .t { color: var(--tb-rouge); }
.rk-as-pli-corps { padding: 0 18px 18px; display: grid; gap: 10px; }
@media (max-width: 760px) {
  .rk-as-page .rk-as-chat { padding: 12px 12px 10px; }
  .rk-as-page .rk-as-modele select { max-width: 170px; }
}

/* Asesor : bulle d'attente, question non partie, tâche proposée,
   statut du choix de modèle, sous-onglet Consigne. */
.rk-as-msg.rk-as-attente .corps { color: var(--tb-gris); font-style: italic; }
.rk-as-msg.rk-as-attente .corps::after { content: ""; display: inline-block; width: 1.2em; text-align: left; animation: rk-as-points 1.2s steps(4, end) infinite; }
@keyframes rk-as-points { 0% { content: ""; } 25% { content: "."; } 50% { content: ".."; } 75% { content: "..."; } }
@media (prefers-reduced-motion: reduce) { .rk-as-msg.rk-as-attente .corps::after { animation: none; content: "…"; } }
.rk-as-msg.rk-as-non-envoye { opacity: .6; border-style: dashed; }
.rk-as-modele-statut { font-size: 11px; color: var(--tb-gris); min-width: 0; }
.rk-as-tache { margin: 10px 0 0; padding: 10px 0 0; border-top: 1px dashed var(--tb-filet); }
.rk-as-tache-q { margin: 0 0 6px; font-size: 13px; color: var(--tb-encre); font-weight: 600; }
.rk-as-tache-ligne { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.rk-as-tache-ligne input[type=text] { flex: 1 1 220px; min-width: 0; padding: 6px 9px; border: 1px solid var(--tb-filet); border-radius: 8px; background: var(--tb-carte); color: var(--tb-encre); font-size: 13px; }
.rk-as-tache-ligne select { padding: 6px 8px; border: 1px solid var(--tb-filet); border-radius: 8px; background: var(--tb-carte); color: var(--tb-encre); font-size: 13px; }
.rk-as-tache-faite { margin: 8px 0 0; font-size: 12px; color: var(--tb-vert); }
.rk-as-consigne .rk-as-socle { margin: 0; padding: 12px 14px; border-radius: 10px; background: var(--tb-hachure), var(--tb-carte2); border: 1px solid var(--tb-filet); color: var(--tb-texte); font-size: 13px; line-height: 1.55; white-space: pre-wrap; }
.rk-as-consigne textarea { width: 100%; min-height: 320px; padding: 10px 12px; border: 1px solid var(--tb-filet); border-radius: 10px; background: var(--tb-carte); color: var(--tb-encre); font: 13px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; box-sizing: border-box; }
.rk-as-consigne input[type=text] { width: 100%; max-width: 520px; padding: 6px 9px; border: 1px solid var(--tb-filet); border-radius: 8px; background: var(--tb-carte); color: var(--tb-encre); box-sizing: border-box; }
.rk-as-consigne .rk-as-cadenas { font-size: 12px; color: var(--tb-gris); }
.rk-as-versions { width: 100%; border-collapse: collapse; font-size: 13px; }
.rk-as-versions th, .rk-as-versions td { text-align: left; padding: 7px 8px; border-bottom: 1px solid var(--tb-filet); color: var(--tb-texte); vertical-align: top; }
.rk-as-versions tr.active td { color: var(--tb-encre); font-weight: 600; }
.rk-as-diff { margin: 0; padding: 10px 0; border-radius: 10px; background: var(--tb-carte2); border: 1px solid var(--tb-filet); font: 12.5px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-x: auto; }
.rk-as-diff div { padding: 0 12px; white-space: pre-wrap; color: var(--tb-texte); }
.rk-as-diff .plus { background: var(--tb-vert-doux); color: var(--tb-vert); }
.rk-as-diff .moins { background: var(--tb-rouge-doux); color: var(--tb-rouge); text-decoration: line-through; }
.rk-as-table-defile { overflow-x: auto; }
/* une colonne, des cartes aérées ; et la bulle de la question lisible (texte clair sur le
   rouge : la règle générale .rk-as-msg .corps l'assombrissait) */
.rk-tb.rk-as-consigne { display: block; }
.rk-as-consigne > .rk-tb-carte { padding: 16px 20px 18px; margin: 0 0 18px; }
.rk-as-consigne h2 { margin: 0 0 8px; font-size: 20px; }
.rk-as-consigne .rk-as-socle { overflow-wrap: break-word; word-break: normal; }
.rk-as-msg.role-user .corps { color: #fff; }
@media (max-width: 600px) { .rk-as-consigne > .rk-tb-carte { padding: 12px 12px 14px; } }
/* Recherche globale */
.rk-tb.rk-recherche { display: block; }
.rk-recherche-carte { padding: 18px 20px; }
.rk-recherche-form { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 14px; }
.rk-recherche-form input { flex: 1 1 220px; min-width: 0; max-width: 420px; padding: 6px 10px; border: 1px solid var(--tb-filet); border-radius: 8px; background: var(--tb-carte); color: var(--tb-encre); }
.rk-recherche-liste { list-style: none; padding: 0; margin: 0 0 14px; }
.rk-recherche-liste li { padding: 8px 0; border-bottom: 1px solid var(--tb-filet); color: var(--tb-texte); }
.rk-recherche-alerte { padding: 10px 14px; border-radius: 10px; background: var(--tb-ambre-doux); color: var(--tb-encre); border: 1px solid var(--tb-ambre); }
/* le numéro de dossier suffixé (« 8373-IND ») ne se coupe pas */
#rk-resa-liste tbody td:first-child { white-space: nowrap; overflow: visible; text-overflow: clip; }

/* titres de colonnes lisibles dans les deux langues. */
.table th, .rk-hp-table th, .rk-cx-table th { white-space: normal; overflow-wrap: anywhere; text-overflow: clip; overflow: visible; }

/* En-têtes lisibles dans les tableaux compacts FR et ES. */
.table th { white-space:normal !important; overflow-wrap:anywhere; overflow:visible !important; text-overflow:clip !important; height:auto; }
