:root {
	--col-fond-blanc          : #ffffff;
	--col-fond-gris           : #EEEEEE;
	--col-fond-gris-actif     : #DDDDDD;
	--col-fond-hover          : #CFCFCF;
	--col-fond-bleu-pale      : #BBDEFB;
	--col-fond-bleu-pale-actif: #64B5F6;
	--col-fond-bleu-medium    : #90CAF9;
	--col-fond-jaune-pale     : #FFFBD0;
	--col-fond-jaune-medium   : #FFF0C0;
	--col-bord-gris           : #D0D0D0;
	--col-link                : #0d6efd;
	--col-link-hover          : #0a58ca;

	--col-navy: #0000c0;
	--col-blue: #0d6efd;
	--col-indigo: #6610f2;
	--col-purple: #6f42c1;
	--col-pink: #d63384;
	--col-red: #dc3545;
	--col-orange: #fd7e14;
	--col-yellow: #ffc107;
	--col-green: #198754;
	--col-teal: #20c997;
	--col-cyan: #0dcaf0;
	--col-black: #000;
	--col-white: #fff;
	--col-silver: silver;
	--col-gray: #6c757d;

	--col-primary: #0d6efd;
	--col-secondary: #6c757d;
	--col-success: #198754;
	--col-info: #0dcaf0;
	--col-warning: #ffc107;
	--col-danger: #dc3545;
	--col-light: #f8f9fa;
	--col-dark: #212529;

	--col-primary-light: #0d6efd70;
	--col-success-light: #29c77d70;
	--col-info-light: #0dcaf070;
	--col-warning-light: #ffc10770;
	--col-danger-light: #dd263870;

	--col-texte: #333;
	--col-texte-sur-bg-primary: var(--col-white);
	--col-texte-sur-bg-secondary: var(--col-white);
	--col-texte-sur-bg-success: var(--col-white);
	--col-texte-sur-bg-info: var(--col-white);
	--col-texte-sur-bg-warning: var(--col-red);
	--col-texte-sur-bg-danger: var(--col-white);

	--col-active-link: #0c63e4;

	--padding-1: 0.2em;
	--padding-2: calc(var(--padding-1) * 2);
	--padding-3: calc(var(--padding-1) * 3);
	--padding-4: calc(var(--padding-1) * 4);
	--padding-5: calc(var(--padding-1) * 5);
	--padding-6: calc(var(--padding-1) * 6);
	--padding-7: calc(var(--padding-1) * 7);
	--padding-8: calc(var(--padding-1) * 8);
	--padding-9: calc(var(--padding-1) * 9);
	--padding-10: calc(var(--padding-1) * 10);

	--margin-1: 0.3em;
	--margin-2: calc(var(--margin-1) * 2);
	--margin-3: calc(var(--margin-1) * 3);
	--margin-4: calc(var(--margin-1) * 4);
	--margin-5: calc(var(--margin-1) * 5);
	--margin-6: calc(var(--margin-1) * 6);
	--margin-7: calc(var(--margin-1) * 7);
	--margin-8: calc(var(--margin-1) * 8);
	--margin-9: calc(var(--margin-1) * 9);
	--margin-10: calc(var(--margin-1) * 10);

	--font-family: sans-serif,"Arial","Helvetica";
	--font-size  : 10pt;
	--font-weight: normal;

	--radius-1: 0.5em;
	--radius-2: calc(var(--radius-1) * 2);
	--radius-3: calc(var(--radius-1) * 3);
	--radius-4: calc(var(--radius-1) * 4);
	--radius-5: calc(var(--radius-1) * 5);
	--radius-6: calc(var(--radius-1) * 6);
	--radius-7: calc(var(--radius-1) * 7);
	--radius-8: calc(var(--radius-1) * 8);
	--radius-9: calc(var(--radius-1) * 9);
	--radius-10: calc(var(--radius-1) * 10);

	--zindex-dropdown: 9999;
}

*, ::before, ::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.m-zone {
	margin: 0;
	padding: 0;
	font-family: var(--font-family);
	font-size: var(--font-size);
	font-weight: var(--font-weight);
	color: var(--col-texte);
}

.m-zone .m-responsive {
	overflow-x: auto;
}

.m-zone .m-hidden {
	display: none !important;
}
.m-zone .m-block {
	display: block !important;
}
.m-zone .m-invisible {
	visibility: hidden !important;
}
.m-zone .m-clear-both {
	clear: both;
}

.m-zone .m-nowrap {
	white-space: nowrap;
}

UL {
	margin-left: 2em;
}

HR {
	border: none;
	border-bottom: 1px solid silver;
}

/**********/
/* COLORS */
/**********/

/* Couleurs de fonds + couleurs de texte assorties */
.m-zone .m-bg-white     { background-color: var(--col-fond-blanc)     !important; color: var(--col-texte);                  }
.m-zone .m-bg-light     { background-color: var(--col-fond-gris)      !important; color: var(--col-texte);                  }
.m-zone .m-bg-primary   { background-color: var(--col-primary)        !important; color: var(--col-texte-sur-bg-primary);   }
.m-zone .m-bg-secondary { background-color: var(--col-secondary)      !important; color: var(--col-texte-sur-bg-secondary); }
.m-zone .m-bg-success   { background-color: var(--col-success)        !important; color: var(--col-texte-sur-bg-success);   }
.m-zone .m-bg-info      { background-color: var(--col-info)           !important; color: var(--col-texte-sur-bg-info);      }
.m-zone .m-bg-warning   { background-color: var(--col-warning)        !important; color: var(--col-texte-sur-bg-warning);   }
.m-zone .m-bg-error     { background-color: var(--col-danger)         !important; color: var(--col-texte-sur-bg-danger);    }
.m-zone .m-bg-danger    { background-color: var(--col-danger)         !important; color: var(--col-texte-sur-bg-danger);    }
.m-zone .m-bg-pale-blue { background-color: var(--col-fond-bleu-pale) !important; color: var(--col-texte);                  }
/* Couleurs de texte */
.m-zone .m-text-primary   { color: var(--col-primary  ) !important; }
.m-zone .m-text-secondary { color: var(--col-secondary) !important; }
.m-zone .m-text-success   { color: var(--col-success  ) !important; }
.m-zone .m-text-info      { color: var(--col-info     ) !important; }
.m-zone .m-text-warning   { color: var(--col-warning  ) !important; }
.m-zone .m-text-error     { color: var(--col-danger   ) !important; }
.m-zone .m-text-danger    { color: var(--col-danger   ) !important; }
.m-zone .m-text-blue      { color: var(--col-blue     ) !important; }
.m-zone .m-text-navy      { color: var(--col-navy     ) !important; }
.m-zone .m-text-red       { color: var(--col-red      ) !important; }
.m-zone .m-text-yellow    { color: var(--col-yellow   ) !important; }

/********/
/* TEXT */
/********/

.m-zone p { margin-bottom: var(--margin-2); }

.m-zone .m-bigger { font-size: 120%; }
.m-zone .m-big    { font-size: 110%; }
.m-zone .m-small  { font-size: 80%; }
.m-zone .m-tiny   { font-size: 65%; }

.m-zone h1 { font-weight: bold; font-size: 140%; }
.m-zone h2 { font-weight: bold; font-size: 130%; }
.m-zone h3 { font-weight: bold; font-size: 120%; }
.m-zone h4 { font-weight: bold; font-size: 115%; }
.m-zone h5 { font-weight: bold; font-size: 110%; }
.m-zone h6 { font-weight: bold; font-size: 105%; }

.m-zone .m-bold { font-weight: bold; }

/*********/
/* SPACE */
/*********/

/* margin */
.m-zone .m-m0 { margin: 0 !important; }
.m-zone .m-m1 { margin: var(--margin-1) !important; }
.m-zone .m-m2 { margin: var(--margin-2) !important; }
.m-zone .m-m3 { margin: var(--margin-3) !important; }
.m-zone .m-m4 { margin: var(--margin-4) !important; }
.m-zone .m-m5 { margin: var(--margin-5) !important; }
/* margin left */
.m-zone .m-ml0 { margin-left: 0 !important; }
.m-zone .m-ml1 { margin-left: var(--margin-1) !important; }
.m-zone .m-ml2 { margin-left: var(--margin-2) !important; }
.m-zone .m-ml3 { margin-left: var(--margin-3) !important; }
.m-zone .m-ml4 { margin-left: var(--margin-4) !important; }
.m-zone .m-ml5 { margin-left: var(--margin-5) !important; }
/* margin right */
.m-zone .m-mr0 { margin-right: 0 !important; }
.m-zone .m-mr1 { margin-right: var(--margin-1) !important; }
.m-zone .m-mr2 { margin-right: var(--margin-2) !important; }
.m-zone .m-mr3 { margin-right: var(--margin-3) !important; }
.m-zone .m-mr4 { margin-right: var(--margin-4) !important; }
.m-zone .m-mr5 { margin-right: var(--margin-5) !important; }
/* margin left + right */
.m-zone .m-mx0 { margin-left: 0 !important; margin-right: 0 !important; }
.m-zone .m-mx1 { margin-left: var(--margin-1) !important; margin-right: var(--margin-1) !important; }
.m-zone .m-mx2 { margin-left: var(--margin-2) !important; margin-right: var(--margin-2) !important; }
.m-zone .m-mx3 { margin-left: var(--margin-3) !important; margin-right: var(--margin-3) !important; }
.m-zone .m-mx4 { margin-left: var(--margin-4) !important; margin-right: var(--margin-4) !important; }
.m-zone .m-mx5 { margin-left: var(--margin-5) !important; margin-right: var(--margin-5) !important; }
/* margin top */
.m-zone .m-mt0 { margin-top: 0 !important; }
.m-zone .m-mt1 { margin-top: var(--margin-1) !important; }
.m-zone .m-mt2 { margin-top: var(--margin-2) !important; }
.m-zone .m-mt3 { margin-top: var(--margin-3) !important; }
.m-zone .m-mt4 { margin-top: var(--margin-4) !important; }
.m-zone .m-mt5 { margin-top: var(--margin-5) !important; }
/* margin bottom */
.m-zone .m-mb0 { margin-bottom: 0 !important; }
.m-zone .m-mb1 { margin-bottom: var(--margin-1) !important; }
.m-zone .m-mb2 { margin-bottom: var(--margin-2) !important; }
.m-zone .m-mb3 { margin-bottom: var(--margin-3) !important; }
.m-zone .m-mb4 { margin-bottom: var(--margin-4) !important; }
.m-zone .m-mb5 { margin-bottom: var(--margin-5) !important; }
.m-zone .m-mb6 { margin-bottom: var(--margin-6) !important; }
.m-zone .m-mb7 { margin-bottom: var(--margin-7) !important; }
.m-zone .m-mb8 { margin-bottom: var(--margin-8) !important; }
.m-zone .m-mb9 { margin-bottom: var(--margin-9) !important; }
.m-zone .m-mb10 { margin-bottom: var(--margin-10) !important; }
/* margin top bottom */
.m-zone .m-my0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.m-zone .m-my1 { margin-top: var(--margin-1) !important; margin-bottom: var(--margin-1) !important; }
.m-zone .m-my2 { margin-top: var(--margin-2) !important; margin-bottom: var(--margin-2) !important; }
.m-zone .m-my3 { margin-top: var(--margin-3) !important; margin-bottom: var(--margin-3) !important; }
.m-zone .m-my4 { margin-top: var(--margin-4) !important; margin-bottom: var(--margin-4) !important; }
.m-zone .m-my5 { margin-top: var(--margin-5) !important; margin-bottom: var(--margin-5) !important; }
.m-zone .m-my6 { margin-top: var(--margin-6) !important; margin-bottom: var(--margin-6) !important; }
.m-zone .m-my7 { margin-top: var(--margin-7) !important; margin-bottom: var(--margin-7) !important; }
.m-zone .m-my8 { margin-top: var(--margin-8) !important; margin-bottom: var(--margin-8) !important; }
.m-zone .m-my9 { margin-top: var(--margin-9) !important; margin-bottom: var(--margin-9) !important; }
.m-zone .m-my10 { margin-top: var(--margin-10) !important; margin-bottom: var(--margin-10) !important; }
/* padding */
.m-zone .m-p0 { padding: 0 !important; }
.m-zone .m-p1 { padding: var(--padding-1) !important; }
.m-zone .m-p2 { padding: var(--padding-2) !important; }
.m-zone .m-p3 { padding: var(--padding-3) !important; }
.m-zone .m-p4 { padding: var(--padding-4) !important; }
.m-zone .m-p5 { padding: var(--padding-5) !important; }
.m-zone .m-p10 { padding: var(--padding-10) !important; }
/* padding left */
.m-zone .m-pl0 { padding-left: 0 !important; }
.m-zone .m-pl1 { padding-left: var(--padding-1) !important; }
.m-zone .m-pl2 { padding-left: var(--padding-2) !important; }
.m-zone .m-pl3 { padding-left: var(--padding-3) !important; }
.m-zone .m-pl4 { padding-left: var(--padding-4) !important; }
.m-zone .m-pl5 { padding-left: var(--padding-5) !important; }
/* padding right */
.m-zone .m-pr0 { padding-right: 0 !important; }
.m-zone .m-pr1 { padding-right: var(--padding-1) !important; }
.m-zone .m-pr2 { padding-right: var(--padding-2) !important; }
.m-zone .m-pr3 { padding-right: var(--padding-3) !important; }
.m-zone .m-pr4 { padding-right: var(--padding-4) !important; }
.m-zone .m-pr5 { padding-right: var(--padding-5) !important; }
/* padding left + right */
.m-zone .m-px0 { padding-left: 0 !important; padding-right: 0 !important; }
.m-zone .m-px1 { padding-left: var(--padding-1) !important; padding-right: var(--padding-1) !important; }
.m-zone .m-px2 { padding-left: var(--padding-2) !important; padding-right: var(--padding-2) !important; }
.m-zone .m-px3 { padding-left: var(--padding-3) !important; padding-right: var(--padding-3) !important; }
.m-zone .m-px4 { padding-left: var(--padding-4) !important; padding-right: var(--padding-4) !important; }
.m-zone .m-px5 { padding-left: var(--padding-5) !important; padding-right: var(--padding-5) !important; }
/* padding top */
.m-zone .m-pt0 { padding-top: 0 !important; }
.m-zone .m-pt1 { padding-top: var(--padding-1) !important; }
.m-zone .m-pt2 { padding-top: var(--padding-2) !important; }
.m-zone .m-pt3 { padding-top: var(--padding-3) !important; }
.m-zone .m-pt4 { padding-top: var(--padding-4) !important; }
.m-zone .m-pt5 { padding-top: var(--padding-5) !important; }
/* padding bottom */
.m-zone .m-pb0 { padding-bottom: 0 !important; }
.m-zone .m-pb1 { padding-bottom: var(--padding-1) !important; }
.m-zone .m-pb2 { padding-bottom: var(--padding-2) !important; }
.m-zone .m-pb3 { padding-bottom: var(--padding-3) !important; }
.m-zone .m-pb4 { padding-bottom: var(--padding-4) !important; }
.m-zone .m-pb5 { padding-bottom: var(--padding-5) !important; }
/* padding top + bottom */
.m-zone .m-py0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.m-zone .m-py1 { padding-top: var(--padding-1) !important; padding-bottom: var(--padding-1) !important; }
.m-zone .m-py2 { padding-top: var(--padding-2) !important; padding-bottom: var(--padding-2) !important; }
.m-zone .m-py3 { padding-top: var(--padding-3) !important; padding-bottom: var(--padding-3) !important; }
.m-zone .m-py4 { padding-top: var(--padding-4) !important; padding-bottom: var(--padding-4) !important; }
.m-zone .m-py5 { padding-top: var(--padding-5) !important; padding-bottom: var(--padding-5) !important; }

/**********/
/* BORDER */
/**********/

/* border left */
.m-zone .m-bl1 { border-left: solid 1px var(--col-bord-gris); }

/* border right */
.m-zone .m-br1 { border-right: solid 1px var(--col-bord-gris); }

/* border left + right */
.m-zone .m-bx1 { border-left: solid 1px var(--col-bord-gris); border-right: solid 1px var(--col-bord-gris); }

/* border top */
.m-zone .m-bt1 { border-top: solid 1px var(--col-bord-gris); }

/* border bottom */
.m-zone .m-bb1 { border-bottom: solid 1px var(--col-bord-gris); }

/* border top + bottom */
.m-zone .m-by1 { border-top: solid 1px var(--col-bord-gris); border-bottom: solid 1px var(--col-bord-gris); }

/* border around */
.m-zone .m-b1 { border: solid 1px var(--col-bord-gris); }

/* no border */
.m-zone .m-b0 { border: none; }

/**********/
/* SHADOW */
/**********/

.m-zone .m-shadow-1 {
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

/*********/
/* WIDTH */
/*********/

.m-zone .m-w100 { width: 100%; }
.m-zone .m-w50  { width: 50%;  }
.m-zone .m-w33  { width: 33%;  }
.m-zone .m-w25  { width: 25%;  }

/**********/
/* HEIGHT */
/**********/

.m-zone .m-h100 { height: 100%; }

/*********/
/* ALIGN */
/*********/

.m-zone .m-left   { text-align: start  !important; }
.m-zone .m-center { text-align: center !important; }
.m-zone .m-right  { text-align: end    !important; }

/********/
/* FLEX */
/********/

.m-zone .m-flex { display: flex; }

.m-zone .m-flex-horiz { flex-direction: row;    }
.m-zone .m-flex-vert  { flex-direction: column; }

.m-zone .m-flex-grow { flex-grow: 1; }

.m-zone .m-flex-vtop     { align-items: start;   }
.m-zone .m-flex-vcenter  { align-items: center;  }
.m-zone .m-flex-vbottom  { align-items: end;     }
.m-zone .m-flex-vstretch { align-items: stretch; }

/********/
/* GRID */
/********/

.m-zone .m-grid {
	display: grid;
	gap: 0.5em;
}

.m-zone .m-grid-2-columns { grid-template-columns: auto auto; }
.m-zone .m-grid-3-columns { grid-template-columns: auto auto auto; }
.m-zone .m-grid-4-columns { grid-template-columns: auto auto auto auto; }
.m-zone .m-grid-5-columns { grid-template-columns: auto auto auto auto auto; }

.m-zone .m-grid .m-span2 { grid-column: 1 / span 2; }
.m-zone .m-grid .m-span3 { grid-column: 1 / span 3; }
.m-zone .m-grid .m-span4 { grid-column: 1 / span 4; }
.m-zone .m-grid .m-span5 { grid-column: 1 / span 5; }
.m-zone .m-grid .m-span6 { grid-column: 1 / span 6; }

/***********/
/* COLUMNS */
/***********/

.m-zone .m-two-columns > div {
	float: left;
	width: 50%;
}

.m-zone .m-two-columns > div:first-child {
	border-right: 5px solid var(--col-fond-bleu-pale);
}

@media screen and (max-width: 1280px) {
	.m-zone .m-two-columns > div {
		float: none;
		width: 100%;
	}
	.m-zone .m-two-columns > div:first-child {
		border: none;
	}
}

/***********/
/* BUTTONS */
/***********/

.m-zone .m-bouton {
	border: none;
	background-color: var(--col-fond-gris);
	border: 1px solid var(--col-fond-gris);
	padding: var(--padding-3) var(--padding-5);
	border-radius: var(--radius-1);
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
}
.m-zone .m-bouton:hover {
	filter: brightness(90%);
}
.m-zone .m-bouton.m-pressed {
	filter: brightness(70%);
}
.m-zone .m-bouton.m-tiny {
	padding: 0 var(--padding-1) !important;
}
.m-zone .m-bouton.m-small {
	padding: var(--padding-1) var(--padding-2) !important;
}
.m-zone .m-bouton.m-medium {
	padding: var(--padding-1) var(--padding-3) !important;
}
.m-zone .m-bouton.m-big {
	padding: var(--padding-2) var(--padding-4) !important;
	font-size: 120%;
}
.m-zone .m-bouton.m-bigger {
	padding: var(--padding-2) var(--padding-4) !important;
	font-size: 150%;
}
.m-zone .m-bouton.m-enormous {
	padding: var(--padding-2) var(--padding-4) !important;
	font-size: 180%;
}
.m-zone .m-bouton.m-dropdown-button:after{
	content: "";
	display:inline-block;
	margin-left: 0.5em;
	border: 4px solid transparent;
	border-top: 8px solid white;
	border-bottom: 0 none;
}
.m-zone .m-bouton.m-dropdown-button.m-transparent:after { border-top: 8px solid var(--col-primary); }
/* Primary */
.m-zone .m-bouton.m-primary {
	background-color: var(--col-primary);
	border: 1px solid var(--col-primary);
	color: var(--col-texte-sur-bg-primary);
}
.m-zone .m-bouton.m-primary.m-outline {
	background-color: var(--col-fond-blanc) !important;
	border: 1px solid var(--col-primary);
	color: var(--col-primary);
}
/* Secondary */
.m-zone .m-bouton.m-secondary {
	background-color: var(--col-secondary);
	border: 1px solid var(--col-secondary);
	color: var(--col-texte-sur-bg-secondary);
}
.m-zone .m-bouton.m-secondary.m-outline {
	background-color: var(--col-fond-blanc) !important;
	border: 1px solid var(--col-secondary);
	color: var(--col-secondary);
}
/* Success */
.m-zone .m-bouton.m-success {
	background-color: var(--col-success);
	border: 1px solid var(--col-success);
	color: var(--col-texte-sur-bg-success);
}
.m-zone .m-bouton.m-success.m-outline {
	background-color: var(--col-fond-blanc) !important;
	border: 1px solid var(--col-success);
	color: var(--col-success);
}
/* Info */
.m-zone .m-bouton.m-info {
	background-color: var(--col-info);
	border: 1px solid var(--col-info);
	color: var(--col-texte-sur-bg-info);
}
.m-zone .m-bouton.m-info.m-outline {
	background-color: var(--col-fond-blanc) !important;
	border: 1px solid var(--col-info);
	color: var(--col-info);
}
/* Warning */
.m-zone .m-bouton.m-warning {
	background-color: var(--col-warning);
	border: 1px solid var(--col-warning);
	color: var(--col-texte-sur-bg-warning);
}
.m-zone .m-bouton.m-warning.m-outline {
	background-color: var(--col-fond-blanc) !important;
	border: 1px solid var(--col-warning);
	color: var(--col-warning);
}
/* Danger */
.m-zone .m-bouton.m-danger {
	background-color: var(--col-danger);
	border: 1px solid var(--col-danger);
	color: var(--col-texte-sur-bg-danger);
}
.m-zone .m-bouton.m-danger.m-outline {
	background-color: var(--col-fond-blanc) !important;
	border: 1px solid var(--col-danger);
	color: var(--col-danger);
}
/* Transparent */
.m-zone .m-bouton.m-transparent {
	background-color: var(--col-fond-blanc) !important;
	border: 1px solid var(--col-fond-blanc) !important;
}

/*********/
/* LINKS */
/*********/

.m-zone A {
	color: var(--col-active-link);
	text-decoration: none;
}

/**************/
/* FORM ITEMS */
/**************/

*:focus { outline:1px solid var(--col-navy); }

.m-zone .m-label {
	display: block;
	width: 100%;
	margin-bottom: 0.3em;
	font-weight: bold;
	user-select: none;
}

.m-zone .m-control {
	display: block;
	width: 100%;
}

.m-zone INPUT {
	background-color: var(--col-fond-jaune-pale);
	border: 1px solid var(--col-bord-gris);
	border-radius: var(--radius-1);
	padding: .375rem .75rem;
}
.m-zone INPUT:focus {
	background-color: var(--col-fond-jaune-medium);
}

.m-zone SELECT {
	background-color: var(--col-fond-jaune-pale);
	border: 1px solid var(--col-bord-gris);
	border-radius: var(--radius-1);
	padding: .375rem .75rem;
}
.m-zone SELECT:focus {
	background-color: var(--col-fond-jaune-medium);
}

.m-zone SELECT .m-select-item {
	background-color: var(--col-fond-jaune-pale);
}

.m-zone SELECT OPTION {
	cursor: pointer;
}

.m-zone SELECT OPTION:disabled {
	font-size: 0.3em;
	background-color: var(--col-fond-jaune-medium);
}

.m-zone TEXTAREA {
	background-color: var(--col-fond-jaune-pale);
	border: 1px solid var(--col-bord-gris);
	border-radius: var(--radius-1);
	padding: .375rem .75rem;
}
.m-zone TEXTAREA:focus {
	background-color: var(--col-fond-jaune-medium);
}

.m-zone INPUT[type="number"] {
	text-align: end;
}

.m-zone INPUT[type="date"] {
	color: black;
}
.m-zone INPUT[type="date"]:required:invalid {
	color: gray;
}
.m-zone INPUT[type="datetime-local"] {
	color: black;
}
.m-zone INPUT[type="datetime-local"]:required:invalid {
	color: gray;
}

.m-zone .m-checkbox {
	margin-right: 1em;
}
.m-zone .m-checkbox-label {
	user-select: none;
}

.m-zone .m-input-group-label {
	background-color: var(--col-fond-gris-actif);
	border: 1px solid var(--col-bord-gris);
	border-right: none;
	border-radius: var(--radius-1) 0 0 var(--radius-1);
	padding: .375rem .75rem;
	font-weight: bold;
}
.m-zone .m-input-group-control {
	background-color: var(--col-fond-jaune-pale);
	border: 1px solid var(--col-bord-gris);
	border-radius: 0 var(--radius-1) var(--radius-1) 0;
}

/*********/
/* LISTS */
/*********/

.m-zone UL.m-list {
	list-style-type: none;
	padding: 0;
	margin: 0;
	border: solid 1px var(--col-bord-gris);
	border-radius: var(--radius-1);
}

.m-zone UL.m-list LI {
	padding: 0.5em;
	border-bottom: solid 1px var(--col-bord-gris);
	border-radius: 0;
}

.m-zone UL.m-list LI:hover {
	background-color: var(--col-fond-gris);
}

.m-zone UL.m-list LI:first-child {
	border-top-left-radius: var(--radius-1);
	border-top-right-radius: var(--radius-1);
}

.m-zone UL.m-list LI:last-child {
	border: none;
	border-bottom-left-radius: var(--radius-1);
	border-bottom-right-radius: var(--radius-1);
}

/*********/
/* BADGE */
/*********/

.m-zone .m-badge {
	padding: var(--padding-2);
	border-radius: var(--radius-2);
	font-size: 75%;
}

/**********/
/* TABLES */
/**********/

.m-zone .m-table {
	border-collapse: collapse;
	background-color: var(--col-fond-blanc);
}

/*
.m-zone .m-table TR:hover TD {
	background-color: var(--col-fond-hover) !important;
}
.m-zone .m-table.no-hover TR:hover TD {
	background-color: var(--col-fond-blanc) !important;
}
*/
.m-zone .m-table.m-hover TR:hover TD {
	background-color: var(--col-fond-hover) !important;
}

.m-zone .m-table TD {
	border: 1px solid var(--col-bord-gris);
	margin: 0;
	padding: var(--padding-1) var(--padding-2);
}
.m-zone .m-table TD.m-b0 {
	border: none;
}

.m-zone .m-table TH {
	border: 1px solid var(--col-bord-gris);
	margin: 0;
	padding: var(--padding-1) var(--padding-2);
	text-align: left;
	font-weight: bold;
	background-color: var(--col-fond-bleu-pale); /* var(--col-fond-gris); */
}
.m-zone .m-table TH.m-b0 {
	border: none;
}

.m-zone .m-table .m-table-primary   { color: #052c65; background-color: #cfe2ff; border-color: #9ec5fe; }
.m-zone .m-table .m-table-secondary { color: #2b2f32; background-color: #e2e3e5; border-color: #c4c8cb; }
.m-zone .m-table .m-table-success   { color: #0a3622; background-color: #d1e7dd; border-color: #a3cfbb; }
.m-zone .m-table .m-table-info      { color: #2e7381; background-color: #cff4fc; border-color: #9eeaf9; }
.m-zone .m-table .m-table-warning   { color: #755d16; background-color: #fff3cd; border-color: #ffe69c; }
.m-zone .m-table .m-table-danger    { color: #58151c; background-color: #f8d7da; border-color: #f1aeb5; }
.m-zone .m-table .m-table-error     { color: #58151c; background-color: #f8d7da; border-color: #f1aeb5; }

.m-zone .m-table .m-icon {
	color: var(--col-active-link);
	cursor: pointer;
}

.m-zone .m-table .m-icon:hover {
	color: var(--col-green);
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.m-zone .m-table TD.m-editable {
	position: relative;
}
.m-zone .m-table TD.m-editable:hover {
	background-color: rgb(221, 245, 255);
	cursor: pointer;
}
.m-zone .m-table TD.m-editable I {
	position: absolute;
	left: 2px;
	top: 2px;
	color: var(--col-active-link);
	opacity: 0;
}
.m-zone .m-table TD.m-editable:hover I {
	opacity: 1;
}

/********/
/* CARD */
/********/

.m-zone .m-card {
	border: 1px solid var(--col-bord-gris);
	padding: 0;
	border-radius: var(--radius-1);
}

.m-zone .m-card .m-card-header {
	background-color: var(--col-fond-bleu-medium); /* var(--col-fond-bleu-pale); */ /* var(--col-fond-gris); */
	padding: var(--padding-5);
	border-top-left-radius: var(--radius-1);
	border-top-right-radius: var(--radius-1);
}

.m-zone .m-card .m-card-body {
	background-color: var(--col-fond-blanc);
	padding: var(--padding-5);
	border-bottom-left-radius: var(--radius-1);
	border-bottom-right-radius: var(--radius-1);
}

/*********/
/* PANEL */
/*********/

.m-zone .m-panel {
	background-color: var(--col-fond-gris);
	border: 1px solid var(--col-bord-gris);
	border-radius: var(--radius-1);
	padding: 0.5em;
}

.m-zone .m-panel .m-close-button {
	position: absolute;
	right: 1em;
	top: 1em;
}
.m-zone .m-panel .m-close-button::after {
	content: "❌";
	cursor: pointer;
}

/*************/
/* ACCORDEON */
/*************/

.m-zone .m-accordeon {
	border: 1px solid var(--col-bord-gris);
	margin-bottom: var(--margin-2);
	border-radius: var(--radius-1);
}
.m-zone .m-accordeon-header {
	background-color: var(--col-fond-bleu-pale); /* var(--col-fond-gris); */
	color: #444;
	cursor: pointer;
	padding: var(--padding-2);
	width: 100%;
	text-align: left;
	border: none;
	outline: none;
	transition: 0.4s;
	border-radius: var(--radius-1);
	font-size: var(--font-size);
}
.m-zone .m-accordeon-header:hover {
	background-color: var(--col-fond-bleu-pale-actif); /* var(--col-fond-gris-actif); */
}
.m-zone .m-accordeon-header:before {
	content: '\025B6';
	font-family: sans-serif;
	color: var(--col-blue);
	float: left;
	margin-right: var(--margin-1);
}
.m-zone .m-accordeon-header .m-open {
	background-color: var(--col-fond-gris-actif);
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.m-zone .m-accordeon-header .m-open:before {
	content: '\025BC' !important;
}
.m-zone .m-accordeon-panel {
	padding: 0 var(--padding-3);
	background-color: var(--col-fond-blanc);
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s ease-out;
	border-radius: var(--radius-1);
}

/*********/
/* POPUP */
/*********/

.m-zone .m-popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.2);
	backdrop-filter: blur(1px);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 999;
}

.m-zone .m-popup {
	display: flex;
	flex-direction: column;
	background: white;
	padding: 20px;
	border-radius: 10px;
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.3);
	min-width: 300px;
	text-align: center;
	z-index: 1000;
}

.m-zone .m-popup .m-close-button {
	align-self: end;
	position: relative;
	left: 0.5em;
	bottom: 0.8em;
	padding: 4px;
}
.m-zone .m-popup .m-close-button::after {
	content: "❌";
	cursor: pointer;
}
.m-zone .m-popup .m-close-button:hover {
	background-color: var(--col-fond-gris-actif);
	border-radius: 10px;
}

.m-zone .m-popup .m-popup-content {
	align-self: start;
	text-align: start;
}

/**********/
/* DIALOG */
/**********/

.m-zone .m-dialog LABEL {
	align-self: center;
}
.m-zone .m-dialog SPAN {
	align-self: center;
}
.m-zone .m-dialog INPUT[type=number] {
	text-align: right;
}

/************/
/* DROPDOWN */
/************/

.m-zone .m-dropdown {
	display: none;
	background-color: var(--col-fond-gris);
	border: 1px solid var(--col-bord-gris);
	border-radius: var(--radius-1);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	padding: var(--padding-4);
	z-index: var(--zindex-dropdown);
}

.m-zone .m-dropdown-item {
	display: block;
	background-color: var(--col-fond-gris);
	margin-bottom: var(--margin-1);
	padding: var(--padding-2);
	white-space: nowrap;
	color: var(--col-texte);
	text-decoration: none;
}

.m-zone .m-dropdown-item:hover {
	background-color: var(--col-fond-bleu-pale);
	border-radius: var(--radius-1);
}

.m-zone button.m-dropdown-item {
	background-color: var(--col-fond-gris);
	border: none;
	white-space: nowrap;
	color: var(--col-texte);
}

/******************/
/* TABS (ONGLETS) */
/******************/

.m-zone .m-tabs {
	display: flex;
	flex-direction: column;
}

.m-zone .m-tabs .m-tabs-tabs {
	flex-grow: 0;
}

.m-zone .m-tabs .m-tabs-pages {
	flex-grow: 1;
}

.m-zone .m-tabs .m-tab {
	display: inline-block;
	border: 1px solid var(--col-silver);
	border-bottom: none;
	border-top-left-radius: var(--radius-1);
	border-top-right-radius: var(--radius-1);
	padding: var(--padding-4);
	margin-right: var(--margin-2);
	background-color: var(--col-fond-gris); /*var(--col-fond-bleu-pale);*/
	color: var(--col-gray);
	font-size: 110%;
	font-weight: bold;
	cursor: pointer;
	user-select: none;
}

.m-zone .m-tabs .m-tab.m-active {
	border: 1px solid var(--col-bord-gris);
	border-bottom: none;
	background-color: var(--col-fond-bleu-pale); /*var(--col-fond-blanc);*/
	color: var(--col-texte);
	font-weight: bold;
	box-shadow: 0px -1px 2px 0px rgba(88,88,88,0.2);
}

.m-zone .m-tabs .m-tab-page {
	display: none;
	border: 1px solid var(--col-bord-gris);
	padding: var(--padding-4);
}

/*********/
/* ALERT */
/*********/

.m-zone .m-alert {
	background-color: var(--col-fond-gris);
	border: 1px solid var(--col-bord-gris);
	border-radius: var(--radius-1);
	padding: var(--padding-5);
}

.m-zone .m-alert-primary   { color: #052c65; background-color: #cfe2ff; border-color: #9ec5fe; }
.m-zone .m-alert-secondary { color: #2b2f32; background-color: #e2e3e5; border-color: #c4c8cb; }
.m-zone .m-alert-success   { color: #0a3622; background-color: #d1e7dd; border-color: #a3cfbb; }
.m-zone .m-alert-info      { color: #2e7381; background-color: #cff4fc; border-color: #9eeaf9; }
.m-zone .m-alert-warning   { color: #755d16; background-color: #fff3cd; border-color: #ffe69c; }
.m-zone .m-alert-danger    { color: #58151c; background-color: #f8d7da; border-color: #f1aeb5; }
.m-zone .m-alert-error     { color: #58151c; background-color: #f8d7da; border-color: #f1aeb5; }

.m-zone .m-alert UL {
	margin-left: 1em;
}
.m-zone .m-alert UL LI {
	margin-bottom: 1em;
}
.m-zone .m-alert UL LI:last-child {
	margin-bottom: 0;
}

/***********/
/* SPINNER */
/***********/

@keyframes m-spinner-rotation {
    to { transform: rotate(360deg); }
}

.m-zone .m-spinner {
    display: inline-block;
    width: 3em;
    height: 3em;
    border: 0.5em solid dimgrey;
    border-right-color: transparent;
    border-radius: 50%;
    animation: 0.75s linear infinite m-spinner-rotation;
    margin: var(--margin-1);
}

.m-zone .m-spinner-small {
    display: inline-block;
	width: 1em;
	height: 1em;
	border: 0.2em solid dimgrey;
    border-right-color: transparent;
    border-radius: 50%;
    animation: 0.75s linear infinite m-spinner-rotation;
    margin: 0 0.5em 0 0;
}

/*********/
/* SHEET */
/*********/

.m-zone .m-sheet {
	display: grid;
	grid-template-columns: auto auto;
}

.m-zone .m-sheet .m-sheet-head-row {
	grid-column: 1 / span 2;
	background-color: var(--col-fond-bleu-pale);
	padding: var(--padding-3);
	border-bottom: 1px solid var(--col-bord-gris);
}

.m-zone .m-sheet .m-sheet-head-row h1,
.m-zone .m-sheet .m-sheet-head-row h2,
.m-zone .m-sheet .m-sheet-head-row h3,
.m-zone .m-sheet .m-sheet-head-row h4,
.m-zone .m-sheet .m-sheet-head-row h5,
.m-zone .m-sheet .m-sheet-head-row h6 {
	display: inline-block;
}

.m-zone .m-sheet .m-sheet-title-row {
	grid-column: 1 / span 2;
	background-color: var(--col-fond-blanc);
	padding: var(--padding-3);
	font-weight: bold;
}

.m-zone .m-sheet .m-sheet-text-row {
	grid-column: 1 / span 2;
	background-color: var(--col-fond-blanc);
	padding: var(--padding-3);
}

.m-zone .m-sheet .m-sheet-data-cell-title {
	grid-column: 1;
	font-weight: bold;
	background-color: var(--col-fond-blanc);
	padding: var(--padding-2);
	border-bottom: 1px solid var(--col-bord-gris);
}

.m-zone .m-sheet .m-sheet-data-cell-value {
	grid-column: 2;
	background-color: var(--col-fond-blanc);
	padding: var(--padding-2);
	border-bottom: 1px solid var(--col-bord-gris);
}

.m-zone .m-sheet .m-sheet-fullwidth-cell {
	grid-column: 1 / span 2;
	background-color: var(--col-fond-blanc);
	padding: var(--padding-2);
	border-bottom: 1px solid var(--col-bord-gris);
}

/***********/
/* SIDEBAR */
/***********/

.m-sidebar {
	position: fixed;
	left: 0;
	top: 0;
	height: 100%;
	width: 17em;
	overflow: auto;
	padding-left: 1em;
	padding-right: 0.3em;
	background-color: white;
}

.m-sidebar img {
	width: 100%;
	max-width: 200px;
}

.m-sidebar .m-sidebar-panel {
	border: 1px solid var(--col-bord-gris);
	margin-bottom: var(--margin-2);
	border-radius: var(--radius-1);
 }

.m-sidebar .m-sidebar-panel-header {
	background-color: var(--col-fond-bleu-pale);
	color: var(--col-dark);
	cursor: pointer;
	padding: var(--padding-3) var(--padding-2);
	width: 100%;
	text-align: left;
	border: none;
	outline: none;
	transition: 0.4s;
	border-radius: var(--radius-1);
	font-size: var(--font-size);
}

.m-sidebar .m-sidebar-panel-header H1,H2,H3,H4,H5,H6 {
	user-select: none;
}

.m-sidebar .m-sidebar-panel-header:hover {
	background-color: var(--col-fond-gris-actif);
}

.m-sidebar .m-sidebar-panel H1,
.m-sidebar .m-sidebar-panel H2,
.m-sidebar .m-sidebar-panel H3,
.m-sidebar .m-sidebar-panel H4,
.m-sidebar .m-sidebar-panel H5,
.m-sidebar .m-sidebar-panel H6 {
	display: inline-block;
	font-size: 1.2em;
	font-weight: normal;
	margin: 0.3em 0 0.3em 0.7em;
}

.m-sidebar .m-sidebar-panel-header:after {
	float: right;
	width: 1.25rem;
	height: 1.25rem;
	margin: 5px;
	content: "";
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-size: 1.25rem;
	transition: transform 0.2s ease-in-out;
}

.m-sidebar .m-sidebar-panel-header.m-open {
	color: var(--col-active-link);
}

.m-sidebar .m-sidebar-panel-header.m-open:after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
	transform: rotate(-180deg);
}

.m-sidebar .m-sidebar-panel-content {
	padding: 0 var(--padding-3);
	background-color: var(--col-fond-blanc);
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s ease-out;
	border-radius: var(--radius-1);
}

.m-sidebar .m-sidebar-panel-content UL {
	margin: 0;
	list-style-type: none;
	padding-left: 0.1rem !important;
}

.m-sidebar .m-sidebar-subtitle {
	padding: 0.1rem 0.5rem;
	margin: 0.3rem 0 0.3rem 0;
	color: dimgray;
	font-size: 90%;
	font-weight: normal;
	font-variant-caps: small-caps;
	text-decoration: none;
	border-bottom: 1px solid silver;
}

.m-sidebar .m-sidebar-item {
	padding: 0.3rem 0.5rem;
	margin-bottom: 0.5rem;
	border-radius: 0.5rem;
}

.m-sidebar .m-sidebar-item:last-of-type {
	margin-bottom: 0;
}

.m-sidebar .m-sidebar-item a {
	color: var(--col-active-link);
	text-decoration: none;
}

.m-sidebar .m-sidebar-item .target-icon {
	float: right;
	font-size: 70%;
	display: none;
}

.m-sidebar .m-sidebar-item:hover {
	background-color: #f0f0f0;
}

.m-sidebar .m-sidebar-item:hover .target-icon {
	display: inline-block;
}

/****************/
/* SEARCH INPUT */
/****************/

.m-zone .m-search-input {
	min-width: 20em;
}

.m-zone .m-search-input-hidden-field {
	display: none;
}

.m-zone .m-search-clear-button {
	background-color: var(--col-fond-blanc);
	border: 1px solid var(--col-bord-gris);
	border-radius: var(--radius-1);
	padding: .33rem .60rem;
	cursor: pointer;
}
.m-zone .m-search-clear-button:hover {
	background-color: var(--col-fond-gris-actif);
	font-weight: bold;
}

.m-zone .m-search-dropdown {
	background-color: var(--col-fond-gris);
	border: 1px solid var(--col-bord-gris);
	border-radius: var(--radius-1);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	padding: var(--padding-4);
	z-index: var(--zindex-dropdown);
}

.m-zone .m-search-dropdown .m-search-dropdown-item {
	display: block;
	font-size: 80%;
	padding: var(--padding-2);
	cursor: pointer;
	user-select: none;
	color: var(--col-texte);
}

.m-zone .m-search-dropdown .m-search-dropdown-item:hover {
	background-color: var(--col-fond-bleu-pale);
	border-radius: var(--radius-1);
	color: var(--col-link);
}

/******************/
/* STATUS CLIENTS */
/******************/

.cli-prospect {
	background-color: orange !important;
	color: black !important;
}
.cli-inactif {
	background-color: silver !important;
	color: black !important;
}
.cli-actif {
	background-color: lime !important;
	color: black !important;
}

/*******************/
/* STATUS ARTICLES */
/*******************/

.status-pp {
  background-color: red !important;
  color: white !important;
}

.status-hp {
  background-color: red !important;
  color: white !important;
}

.status-pa {
  background-color: lime !important;
  color: black !important;
}

.status-ha {
  background-color: lime !important;
  color: black !important;
}

.status-pl {
  background-color: yellow !important;
  color: black !important;
}

.status-hl {
  background-color: yellow !important;
  color: black !important;
}

.status-pd {
  background-color: #66ccff !important;
  color: navy !important;
}

.status-hd {
  background-color: #66ccff !important;
  color: navy !important;
}

.status-s {
  background-color: gainsboro !important;
  color: navy !important;
}

/*****************************************************************************/
/* REVEAL ON HOVER                                                           */
/* Classe à appliquer à un élement pour le rendre visible uniquement lorsque */
/* la souris survole son parent.                                             */
/*****************************************************************************/

.m-reveal-on-hover {
	opacity: 0;
	pointer-events: none;
}

*:hover>.m-reveal-on-hover {
	opacity: 1;
	pointer-events: auto;
}

