
:root {
	--menu: 74px;
	--cselect: 60;
	
	--text: #000;
	--color-text: #39404d;
	--ground: #fff;
	--floor: #fff;
	--body-back: linear-gradient(0deg, #eee, #f8f8f8);
	--back: #b4c7e6;
	--title: #666;
	--alert: #f88;
	--focus-bkg: #06328b;
	--focus-txt: white;
	--select: #de7443;
	--disabled: hsl(0, 0%, 75%);
	--label: hsl(0, 0%, 45%);
	--border: hsl(0, 0%, 75%);
	--ombre: hsl(0, 0%, 80%);
	--item: hsl(0, 0%, 90%);
	--second: #06328b10;
	--blink: hsl(120, 100%, 50%);
	--modest: #bbb;
	--gap: 10px;
	--space: 8px;

	--menu-back: linear-gradient(0deg, #777, #ccc 40%, #eee 80%, var(--ground));
	--menu-shadow: hsl(160, 100%, 30%);
	--submenu-shadow: linear-gradient(#f8f8f8, #f8f8f8c0 75%, #f8f8f800);
	--menu-segmented-back: linear-gradient(var(--ground) 0%, #e5e5e5 50%, #d7d7d7 51%, #ededed 100%);
	--button-text: #000;
	--helper: #ffff00f0;
	
	--cal-last: #888;
	
	--z-holder: 1;
	--z-restore: 2;
	--z-select: 3;
	--z-button: 4;
	--z-view: 5;
	--z-header: 6;
	--z-table: 7;
	--z-menu: 8;
	--z-modal: 9;
	--z-helper: 10;
	
	--list-width: 900px;
	--list-title: 30px;
	--list-border: #ddd;
	--list-header: hsla(220, 100%, 50%, .5);
	--list-padding: 8px 10px;
}

@media (prefers-color-scheme: dark) {
html {
/*	filter: invert(1) hue-rotate(.5turn); */
}
header img {
	filter: invert(1) hue-rotate(.5turn);
}
/* 
img:not(:hover) {
	opacity: .7;
	transition: opacity .25s ease-in-out;
}
 */

:root {
	--text: #ddd;
	--color-text: #aaa;
	--ground: #222;
	--floor: #24272A;
	--border: hsl(0, 0%, 50%);
	--ombre: hsl(0, 0%, 15%);
	--body-back: var(--ground);
	--blink: linear-gradient(0deg, var(--ground), hsl(120, 100%, 50%), var(--ground));
	--modest: #666;

	--menu-back: linear-gradient(0deg, var(--ground), hsl(160, 100%, 30%) 30%, hsl(160, 100%, 50%) 50%, hsl(160, 100%, 30%) 70%, var(--ground));
	--menu-shadow: none;
	--submenu-shadow: none;
	--menu-segmented-back: linear-gradient(var(--ground) 0%, #333 50%, #444 51%, #888 100%);
	--button-text: #000;
	
	--cal-last: #222;
	
	--list-border: #ddd;
	--list-header: hsla(220, 100%, 50%, .5);
}
}

div[plume^=slide] > div > div {
	z-index: var(--z-select);
}

@keyframes roundness {
  from { opacity: 0; }
  to { opacity: 1; }
}

body {
	background: var(--body-back);
	animation: roundness .5s ease-in none;
}

body,
input,
button {
	font-family: barlow, Helvetica, sans-serif;
}

body,
button,
body > header a:any-link,
menu.view a:any-link {
	color: var(--color-text);
	font-size: 62.5%;
	font-size: 1rem;
	font-weight: 400;
	text-decoration: none;
}

body > header,
body > header > aside {
	height: 80px;
/* 	background-image: linear-gradient(var(--ground), var(--ground) 90%, #fff4); */
}

body > header aside {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: var(--z-header);
}

body > header menu {
	margin: 0;
	padding: 0;
	height: var(--menu);
	background: var(--menu-back);
	box-shadow: 0px 8px 16px var(--menu-shadow);
}

body > header menu > a img {
	height: 100%;
	border-radius: 40px;
	padding: 0 30px 0 12px;
}

body > header ul {
	display: flex;
	justify-content: flex-end;
	float: right;
	margin: 4px var(--space) 0;
	padding: 0;
	list-style: none;
/* 	width: 50%; */
}

body > header ul li {
	position: relative;
	margin: 0 var(--space) 0 0;
	padding: 0;
}

body > header ul li img {
	border: none;
	border-radius: 50%;
	background: linear-gradient(0deg, var(--ground) 4%, var(--back) 30%, var(--back));
}

body > header img:hover {
	background: var(--focus-bkg);
	cursor: pointer;
}

body > header ul li.select img {
	background: linear-gradient(0deg, var(--ground) 4%, var(--select) 30%, var(--select));
}

body > header ul li span {
	display: none;
	position: absolute;
	bottom: -14px;
	left: 0;
	width: 100%;
	text-align: center;
	color: var(--focus-txt);
	font-weight: 600;
}

body > header ul li:nth-child(5n+4) span {
	left: -9px;
}

body > header ul li:hover span,
body > header ul li.select span {
	display: inline;
}

menu.view {
	height: 50px;
	margin: 0;
}

menu.view div {
	position: fixed;
	top: var(--menu);
	left: 0;
	padding-top: 16px;
	height: 40px;
	width: 100%;
	background: var(--submenu-shadow)
	z-index: var(--z-view);
}
menu.view ol {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	list-style: none;
}

menu.view ol li {
	margin: 0;
	padding: 6px;
	min-width: 100px;
	background-image: var(--menu-segmented-back);
	border: 1px solid #d2d2d2;
	text-align: center;
	cursor: pointer;
}

menu.view ol li:first-child {
	border-radius: 16px 0 0 16px;
	padding-left: 12px;
}

menu.view ol li:last-child {
	border-radius: 0 16px 16px 0;
	padding-right: 12px;
}

menu.view ol li:not(.select):hover a {
	color: #000;
	box-shadow: 0px 0px 16px 4px var(--ground);
	background: var(--ground);
}

menu.view ol li.select {
	box-shadow: inset -2px -3px 5px var(--ground), inset 2px 3px 5px #0008;
}
 
input.inconnu {
	display: none;
	position: absolute;
}

#f_user {
	text-align: left;
}

textarea,
input[type=text],
input[type=password],
input[type=number],
input[type=date],
input[type=calendar],
input[type=plume] {
	background-color: var(--ground);
	color: var(--text);
	outline: none;
	margin: 0 0 4px;
	border: 1px solid var(--border);
	padding: 1px var(--space);
	font-size: 1rem;
	-webkit-appearance: none;
}
textarea,
input[type=password],
input[type=text] {
	width: 95%;
}

.page div > label:nth-child(even) input[type=text] {
	width: 90%;
}

input[type=number] {
	text-align: right;
}
input[type=date] {
	width: 17ex;
}

.page textarea,
.page input {
	display: block;
}
.page input[type=radio],
.page input[type=checkbox] {
	display: inline-block;
	margin-right: 6px;
}
.page input[type=file] {
	display: inline-block;
}

samp {
	position: fixed;
	bottom: 6px;
	right: 6px;
	font-family: Monaco, monospace;
	font-size: 11px;
	color: var(--modest);
	z-index: 99;
}
.form .trace {
	display: block;
	position: absolute;
	top: 150px;
	right: 10px;
	color: var(--modest);
	writing-mode: vertical-lr;
}

.form .nuit::before {
	content: '⚠️';
	position: absolute;
	left: -24px;
	top: -6px;
}

fieldset {
	margin: var(--gap) var(--space);
	border: 0;
	padding: 0;
}

fieldset > fieldset:nth-child(n+2) {
	border-top: 1px solid #ccc;
	padding-top: 10px;
}

label {
	font-weight: 600;
	color: var(--label);
}
label.disabled {
	color: var(--disabled);
}

span.button,
button {
	border: 1px solid var(--ground);
	padding: var(--space);
	background: linear-gradient(170deg, var(--ground), var(--ground) 20%, var(--back) 50%, var(--back));
	color: #000;	/* var(--button-text); */
	border-radius: 100px;
}

#actions button {
	min-width: 114px;
}

#actions button input {
	position: relative;
	left: -8px;
}

body > header ul button:hover,
div > button:not(:disabled):hover,
button:focus {
	background: linear-gradient(170deg, var(--focus-txt), var(--focus-txt) 20%, var(--focus-bkg) 50%, var(--focus-bkg));
	outline: none;
	color: var(--focus-txt);
}

div > button:disabled {
	color: var(--disabled);
}

button.off,
button.off:hover {
	background: linear-gradient(170deg, var(--ground), var(--ground) 20%, #d0d0d0 50%, #d0d0d0) ! important;
	color: #888;
	cursor: not-allowed;
}

span.button,
span button,
#helper button,
div.list table button {
    display: inline-block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	font-size: 12px;
	padding: 0 0 0 2px;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
}

span.button {
	margin: 2px 0 0 0;
}

span.adroite,
span button,
#helper button,
div.list table button {
	margin: 2px 0 0 8px;
}

main aside {
	position: absolute;
	color: var(--label);
	display: flex;
	justify-content: space-between;
	width: 100%;
}

main aside > div span:nth-child(2) {
	cursor: pointer;
}

main aside button {
	position: relative;
	bottom: 9px;
	line-height: 7px;
	z-index: var(--z-button);
}

main.list {
	position: relative;
	margin: 24px auto 0;
	padding-top: var(--list-title);
	min-width: var(--list-width);
	width: 90%;
}

main.list aside {
	top: -26px;
}

main.list table {
	table-layout: fixed;
	border-collapse: collapse;
}

main.list th,
main.list td {
	border: 1px solid;
	padding: var(--list-padding);
}

button[name=purged] {
	padding-left: 20px;
}
button[name=purged] input {
	position: absolute;
	margin: 0;
	top: 6px;
	left: 5px;
}

div.list {
	height: 800px;
	overflow-y: auto;
	margin-bottom: 50px;
}

table.list {
	position: absolute;
	top: -9px;
	width: 100%;
	background-color: var(--ground);
	z-index: var(--z-table);
}
.list_empty::before {
	content: "Aucun résultat";
	display: inline-block;
	height: 300px;
	width: 100%;
	margin-top: 100px;
	text-align: center;
	font-size: 43px;
	color: #444;
	text-shadow: 0 0 19px #fff;
}

main.list thead th {
	border-color: transparent transparent var(--list-border) transparent;
	height: var(--list-title);
	padding: 4px 10px;
	background-color: var(--back);
	color: var(--title);
	cursor: pointer;
}

main.list thead th span {
	margin-left: 4px;
}

main.list thead th.asc::before {
	content: '🔻';
	position: relative;
}

main.list thead th.desc::before {
	content: '🔺';
	position: relative;
}

main.list thead th.no {
	cursor: default;
}

main.list thead span {
	background-color: #0ff;
	border-radius: 50px;
	padding: 4px 10px 4px 4px;
}

main.list thead span::before {
	content: '🔎';
	padding-right: 4px;
}

div.list table {
	width: 100%;
}

div.list:not(.unselect) tr:hover {
	background: var(--focus-bkg) ! important;
	color: var(--focus-txt) ! important;
	cursor: pointer;
}

div.unselect input {
	cursor: default;
}

main.list td {
	position: relative;
	border-color: var(--list-border);
	vertical-align: top;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

button[name=find] span:last-child {
	display: none;
}

#find div {
	text-align: center;
	padding: 8px;
	background: var(--back);
}

#find input {
	width: initial;
	margin: 0 4px;
}

#attente:hover {
	background: none ! important;
}

#attente td {
	border: none;
}

#attente img {
	width: 100px;
	margin: 200px 50%;
}

.page label > span {
	margin-left: 8px;
}
/* 
.page label > span + span {
	position: absolute;
	right: 8px;
}
 */

.page section {
	display: flex;
	justify-content: space-between;
	margin: 0 var(--space) 0 0;
}

.page section > * {
	flex-grow: 1;
	margin: 0 var(--space) 0 0;
}

.page .sep {
	margin: 0 0 var(--gap);
}

.page. sep hr {
	margin: var(--space);
	border: 2px outset var(--ground);
	width: 88%;
}

.page .sep + fieldset {
	margin-top: 0;
}

output {
	position: absolute;
	display: block;
	padding: 1px 4px;
	border: 1px solid red;
	border-radius: 10px;
	background: #f00;
	color: var(--ground);
	cursor: pointer;
	z-index: var(--z-restore);
}
*.output {
	background: #f00 ! important;
	color: var(--ground) ! important;
}
output.hover {
	background: #ccc;
	color: #f00;
	z-index: var(--z-select);
}
output.trigger {
	background: #ccc;
	color: #888;
}

.suites-titre,
.suites > div {
	width: 98%;
	padding: 0 10px;
}

.suites-titre,
.suites > div:nth-child(even) {
	background-color: var(--second);
}

.suites > div:nth-child(even) {
	border-radius: 18px;
}

.suites-titre div,
.suites div div {
	display: flex;
	justify-content: space-between;
}

.suites-titre div > span {
	position: relative;
	top: 5px;
	font-weight: bold;
}

.suites-titre div > span,
.suites div > span {
	width: 100%;
	text-align: center;
}

.suites-titre div > span:last-child,
.suites div > span:last-child {
	position: static;
	width: 80px;
}

.suites div input {
	position: relative;
	top: 2px;
}

ol[plume=strip] {
	max-height: 24px;
}

.langue {
	position: relative;
	top: -8px;
}
.langue ol {
	position: relative;
	top: 10px;
	height: 22px;
	margin-bottom: 15px;
}
.langue li {
	top: -8px ! important;
}

helper {
	display: none;
}

body.helper [helper] {
	outline: 6px dotted var(--helper);
	outline-offset: 1px;
}

[help=auto] {
	cursor: help;
}

button[name=helper] {
	position: relative;
	top: 4px;
	width: 40px;
	height: 40px;
	font-family: Rockwell, Goergia, Times;
	font-size: 30px;
	font-weight: 600;
	color: var(--focus-bkg);
}

button[name=helper]:hover {
	color: var(--ground);
}

button[name=helper].play {
	background: linear-gradient(0deg, var(--ground) 4%, var(--select) 30%, var(--select));
}

#helper {
	font-family: Courrier, monospace;
	display: none;
	position: absolute;
	padding: 14px 14px;
	border-radius: 24px;
	background: var(--helper);
	color: #000;
	z-index: var(--z-helper);
}

#helper::before {
	content: '';
	position: absolute;
	top: -19px;
	left: 10px;
	border: solid 12px;
	border-color: transparent transparent var(--helper) transparent;
}

#helper.right::before {
	left: unset;
	right: 10px;
}

#helper.play {
	display: inline-block;
}

#helper button {
	position: relative;
	top: -4px;
}

#a_erase {
	background: linear-gradient(170deg, var(--ground), var(--ground) 20%, var(--alert) 50%, var(--alert));
}