
:root {
  --backgroundA: rgb(0, 56, 101); 
  --colorA:#ccc;
  --backgroundB: #fff; 
  --colorB:#222;
  --backgroundC: rgb(0, 56, 101); 
  --colorC:#fff;
}

.form-control:focus{
	border-color: var(--backgroundC);
	box-shadow: 0 0 0 .25rem rgb(0, 56, 101, 0.25);
}
.form-select:focus{
	border-color: var(--backgroundC);
	box-shadow: 0 0 0 .25rem rgb(0, 56, 101, 0.25);
}

html {
	height:100%;
}

body.app {
	display:grid;
	grid-template-rows: auto 1fr;
	padding:0;
	margin:0;
	height:100vh;
}
.no-select {
  user-select: none;
}

.filtre{
	display:grid;
	grid-template-columns: auto 1fr auto;
	
}
.select_division_cont{
	
}

.grid_date{
	display:grid;
	grid-template-columns: auto auto auto auto auto;
	
	> input {
		z-index:1;
	}
}

.topbar {
	background:var(--backgroundA);
	color:var(--colorC);
	fill:var(--colorC);
	padding:0.6em;
	
	display:grid;
	grid-template-columns: auto 1fr auto;
	
	> .logo {
		
	}
	
	> .menu {
		align-self: center;
		
		> .action {
			color:var(--colorA);
			vertical-align:middle;
			height:3em;
			padding:0.2em;
			display:inline-block;
			margin-left:0.5em;
		}
	}
}

	
.svg {
	height:100%;
}
.filtre{
	text-align:right;
}


.main {
	background:var(--backgroundB);
	color:var(--colorB);
	
	display:grid;
	grid-template-columns: auto 3px 1fr;
	grid-template-rows: auto 1fr;
	
	overflow:auto;
	
	> .employes {
		grid-column: 1;
		grid-row: 1 / span 2;
		padding:10px;
	}
	> .splitter {
		grid-column: 2;
		grid-row: 1 / span 2;
	}
	> .filtre {
		grid-column: 3;
		grid-row: 1;
	}
	> .planification {
		grid-column: 3;
		grid-row: 2;
	}
}



.splitter{
	cursor: ew-resize;
	background:var(--backgroundA);
}
.employes{
	min-width: 200px;
	overflow:auto;
	display: grid;
	grid-template-rows: auto 1fr;
}
.planification{
	margin:10px;
	background: var(--backgroundB);
	overflow:scroll;
	position: relative;
	display: grid;
	grid-template-columns: 25em 1fr;
	
	> div{
		background:var(--backgroundB);
		grid-row: 1;
	}
}

#coinPlanification {
	position:sticky;
	left:0;
	top:0;
	z-index:2000;
	background: #f5f5f5;
	display:grid;
	justify-items: center;
	align-items: center; 
}

#listeProjets{
	left:0;
	position: sticky;
	z-index:100;
	
	> .projet {
		border-right: 2px solid var(--backgroundA);
		padding:20px 10px;
		box-sizing: border-box;
		font-weight: bold;
	}
}

#horaire {
	
}

.niveaux_cont {
	display:grid; 
	gap:2px;
	background:var(--backgroundA);
	position:sticky;
	top:0;
	z-index: 5;
	
	> div {
		background:#f5f5f5;
		min-height:1em;
	}
	
	> div.niv1 {
		text-align:center;
		grid-row: 1;
	}
	> div.niv3 {
		min-width:1em;
	}
}
.projetHoraireCont{
	box-sizing: border-box;
	
	> .contHorEmp {
		height:40px;
		position: relative;
		
		> .zoneHorEmp{
			position: absolute;
			border: 1px solid #000;
			box-sizing: border-box;
			height:100%;
			border-radius:0.3em;
			text-align: center;
			display:grid;
			align-items:center;
			background: rgb(0, 56, 101);
			color: white;
			
			> div {
				grid-row: 1;
				grid-column: 1;
			}
		}
	}
}


#listeEmployes{
	.entetes, .lignes > div{
		grid-template-columns : 70px 120px 120px 60px;
	}
}

#listeSMS{
	.entetes, .lignes > div{
		grid-template-columns : 170px 170px 250px;
	}
}

.employe_in_horaire, .employe_notin_division {
	color:#666;
}

.contListe{
	max-width:100%;
	overflow-x:auto;
	overflow-y:auto;
	display:inline;
	
	.entetes > div {
		background: var(--backgroundC);
		color: var(--colorC);
	}
	
	.lignes > div {
		width: fit-content;
		
	}
	
	.entetes{
		position:sticky;
		top:0;
		z-index:5;
	}
	
	.lignes {
	}
	
	.entetes, .lignes > div{
		display:grid;
	}
}

.contListe.bghoverline {
	.lignes > div:hover {
		background:#eee;
	}
}

.ligne_employee_list:hover{
	background:#eee;
}
.ligne_employee_list.selected{
	background:#ccc;
}


body .hide_employe_in_horaire .employe_in_horaire {
	display:none;
}

body .hide_employe_notin_division .employe_notin_division {
	display:none;
}

.configuration_cont{
	display:grid;
	grid-template-columns: 200px 1fr;
	gap:10px;
	
	> .menu > button {
		width:100%;
	}
	
	> .receiver {
		min-width:600px;
	}
}

dialog {
	border: none;
	padding: 1em;
	border-radius: 0.2em;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); 
	background-color: #fff;
	margin: auto;
	position:relative;
}

dialog::backdrop {
	background-color: rgba(0, 0, 0, 0.6);
}
dialog .close {
	position:absolute;
	right:0;
	top:0;
	z-index:2;
}

body.login{
	height:100%;
	display:grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	place-items: center; 
	color:#fff;
	background:var(--backgroundA);
}

.copy_list_projet{
	font-weight:bold;
	max-width:500px;
}