@import url('efalia-icons.css');

:root {
	--color-compose: #4242cd;
	--color-efalia: #0070E0;
	--background: #fff;
	--background-gray: #f1f1f3;
	--color-gray: #e2e4e7;
	--font-color: #00456f;
	--background-selected: #ededfd;
	--highlight-color: #ffebc4;
	--nav-size: 256px;
	--nav-size-collapse: 56px;
	--font-family: Poppins, 'Helvetica Neue', Helvetica, Arial, sans-serif;
	/*
	--mud-palette-primary: var(--color-compose) !important;
	--mud-palette-secondary: var(--color-efalia) !important;
	--mud-typography-default-family: var(--font-family) !important;
	--mud-typography-button-family: var(--font-family) !important;
	--mud-typography-body1-family: var(--font-family) !important;
	--mud-typography-h1-family: var(--font-family) !important;
	--mud-typography-h2-family: var(--font-family) !important;
	--mud-typography-h3-family: var(--font-family) !important;
	--mud-typography-h4-family: var(--font-family) !important;
	--mud-typography-h5-family: var(--font-family) !important;
	--mud-typography-h6-family: var(--font-family) !important;
	*/

	--mud-drawer-width: var(--nav-size) !important;
	--mud-drawer-width-left: var(--nav-size) !important;
	--mud-appbar-height: var(--nav-size-collapse) !important;
	--mud-zindex-popover: 1300 !important;
	--mud-zindex-appbar: 1200 !important;
}

@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 100;
	src: url('../fonts/Poppins-ThinItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 200;
	src: url('../fonts/Poppins-ExtraLightItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 300;
	src: url('../fonts/Poppins-LightItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 400;
	src: url('../fonts/Poppins-Italic.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 500;
	src: url('../fonts/Poppins-MediumItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 600;
	src: url('fonts/Poppins-SemiBoldItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 700;
	src: url('../fonts/Poppins-BoldItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 800;
	src: url('../fonts/Poppins-ExtraBoldItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: italic;
	font-weight: 900;
	src: url('../fonts/Poppins-BlackItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 100;
	src: url('../fonts/Poppins-Thin.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 200;
	src: url('../fonts/Poppins-ExtraLight.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/Poppins-Light.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/Poppins-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/Poppins-Medium.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	src: url('../fonts/Poppins-SemiBold.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/Poppins-Bold.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 800;
	src: url('../fonts/Poppins-ExtraBold.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 900;
	src: url('../fonts/Poppins-Black.ttf') format('truetype');
}



html, body {
	font-family: var(--font-family) !important;
}

h1:focus {
	outline: none;
}

a, .btn-link {
	color: #0071c1;
}


.content {
	padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
	outline: 1px solid #26b050;
}

.invalid {
	outline: 1px solid red;
}

.validation-message {
	color: red;
}

#blazor-error-ui {
	background: lightyellow;
	bottom: 0;
	box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
	display: none;
	left: 0;
	padding: 0.6rem 1.25rem 0.7rem 1.25rem;
	position: fixed;
	width: 100%;
	z-index: 1000;
}

#blazor-error-ui .dismiss {
	cursor: pointer;
	position: absolute;
	right: 0.75rem;
	top: 0.5rem;
}

.blazor-error-boundary {
	background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
	padding: 1rem 1rem 1rem 3.7rem;
	color: white;
}

.blazor-error-boundary::after {
	content: "An error has occurred."
}

.loading-progress {
	position: relative;
	display: block;
	width: 8rem;
	height: 8rem;
	margin: 20vh auto 1rem auto;
}

.loading-progress circle {
	fill: none;
	/*
	stroke: #e0e0e0;
	*/
	stroke: var(--color-compose);
	stroke-width: 0.6rem;
	transform-origin: 50% 50%;
	transform: rotate(-90deg);
}

.loading-progress circle:last-child {
	/*
	stroke: #1b6ec2;
	*/
	stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%;
	transition: stroke-dasharray 0.05s ease-in-out;
}

.loading-progress-text {
	position: absolute;
	text-align: center;
	font-weight: bold;
	inset: calc(20vh + 3.25rem) 0 auto 0.2rem;
}

.loading-progress-text:after {
	content: var(--blazor-load-percentage-text, "Loading");
}


.icon-expand-component
{
	background: url('../images/icons/history.svg') no-repeat center / contain;
}
.icon-expand-component.disabled
{
	background-color: white;
	mask: url('../images/icons/history.svg') no-repeat center / contain;
	-webkit-mask: url('../images/icons/history.svg') no-repeat center / contain;
}

.cursor-pointer
{
	cursor: pointer;
}

.small-line-break {
	margin-top: 10px;
}

.large-line-break {
	margin-top: 25px;
}

.checkbox-container {
	margin-top: 4px;
}

.pageheader
{
	font-size: 1.5rem;
	font-weight: bold;
	padding-top: 0.5rem;
	padding-bottom: 0.7rem;
}

.mud-checkbox-custom {
	margin-bottom: 2px;
	margin-left: 15px;
}

.button-container {
	padding-left: 25px;
}

.mud-main-content > .mud-paper
{
	background-color: var(--background-gray);
	height: calc(100vh - var(--mud-appbar-height));
}

.mud-button-custom
{
	text-transform: none;
	height: 50px;
	display: flex;
	justify-content: flex-start;
	text-align: left;
	background-color: lightgray;
	color: var(--mud-palette-primary);
	padding-left: 20px;
	border-radius: 8px; /* Ajout d'un rayon de bordure pour un look plus doux */
}

.mud-popover .mud-list-item .mud-list-item-text
{
	white-space: nowrap;
}

.subtitle
{
	font-size: 1.2rem;
	/*font-weight: bold;*/
	color: var(--font-color);
}


.mud-button-custom:hover
{
	background-color: var(--color-efalia); /* Applique une couleur différente au survol */
	color: white;
}

.mud-input-root-text:focus
{
	background-color: var(--background-selected) !important;
}
/*
td.nowrap
{
	position: relative;
	min-width: 18rem;
}
td.nowrap > span
{
	width: 100%;
	height: 100%;
}
td.nowrap > span > p
{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	position: absolute;
	width: 100%;
}
*/
.mud-data-grid .mud-table-cell .column-header .sort-direction-icon {
	opacity: 1 !important;
}
.mud-data-grid .mud-table-cell .column-header .sort-direction-icon:not(.mud-direction-asc):not(.mud-direction-desc)
{
	opacity: 0.3 !important;
}
.mud-data-grid .mud-table-cell .column-header .sort-direction-icon svg
{
	color: var(--color-compose);
}

.mud-row > td
{
	padding-top: 2px;
	padding-bottom: 2px;
}

.mud-table-cell:not(.nowrap) > span
{
	vertical-align: middle;
}
.mud-table-cell.nowrap
{
	position: relative;
	min-width: 18rem;
}
.mud-table-cell.nowrap > span
{
	position: relative;
	height: 1.5rem;
	display: flex;
	width: 100%;
}
.mud-table-cell.nowrap > span > p
{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	position: absolute;
	width: 100%;
}

.mud-button.button-grey
{
	text-transform: none;
	height: 3.5em;
	display: flex;
	justify-content: flex-start;
	text-align: left;
	background-color: lightgray;
	color: var(--mud-palette-primary);
	padding-left: 20px;
}

.mud-table-root .mud-table-head .mud-table-row .mud-table-cell
{
	padding: 12px;
}
.mud-table-root .mud-table-body .mud-table-row.mud-row
{
	/*height: 42px;*/
	height: 3.5em; 
	/*line-height: 38px;*/
}

.mud-table-root .mud-table-body .mud-table-row.mud-row .mud-table-cell
{
	height: inherit;
}

.mud-toolbar.app-toolbar
{
	background-color: var(--color-gray);
	/*height: fit-content;*/
	height: 3em;
	margin-top: 0.5em;
	margin-bottom: 1em;
}

.mud-toolbar.app-toolbar .mud-button
{
	color: var(--font-color);
	font-weight: normal;
	text-transform: none;
	border: 0px;
	height: inherit;
	white-space: nowrap;
}

.app-toolbar p
{
	font-size: var(--mud-typography-button-size);
}

.upload-zone
{
	display: flex;
	flex-direction: column;
}
.upload-zone > *
{
	margin: auto;
	color: var(--color-gray);
}

.mud-table-container thead th,
.mud-table-head th
{
	text-transform: uppercase;
}

.mud-table-row > .mud-table-cell:first-of-type:not(.min-width-content)
{
	padding-left: 2rem !important;
}

.mud-table-row > .min-width-content.mud-table-cell:first-of-type
{
	padding-left: 1rem !important;
}

.mud-table-row > .mud-table-cell:last-of-type:not(.min-width-content)
{
	padding-right: 2rem !important;
}

.mud-table-row > .min-width-content.mud-table-cell:last-of-type
{
	padding-right: 1rem !important;
}

.mud-table-cell.cell-date
{
	width: 13rem;
	min-width: 13rem;
}

.mud-table-cell.cell-version
{
	width: 10rem;
	min-width: 10rem;
}

.mud-table-cell.cell-chip
{
	padding-left: 3px;
	padding-right: 3px;
}

.mud-table-row:not(.mud-row) div.mud-table
{
	background-color: var(--background-selected) !important;
	padding: 1rem;
	margin-left: 1rem;
	margin-right: 1rem;
}

/*
.mud-table-cell:not(.min-width-content):last-child
{
    display: table-cell;
    width: auto;
}
.mud-table-cell.fit-content
{
    display: table-cell;
    width: auto;
}
*/
.mud-data-grid .mud-row:not(.highlight-background) .mud-table-cell,
.mud-data-grid .mud-row .mud-table-cell.sticky-left,
.mud-data-grid .mud-row .mud-table-cell.sticky-right
{
	background-color: white;
}

.mud-table-row:not(.mud-row) .mud-table .mud-table-row .mud-table-cell
{
	background-color: inherit !important;
}



.mud-tab {
	text-transform: none;
}

.mud-tab.mud-tab-active,
.mud-nav-item .mud-nav-link.active
{
	background-color: var(--background-selected) !important;
}

.min-width-content,
.min-width-content .column-header
{
	width: 1.5rem;
	min-width: 1.5rem;
	max-width: fit-content;
	padding-left: 2px !important;
	padding-right: 2px !important;
}

.width-15,
.width-15 .column-header
{
	width: 15rem;
	min-width: 15rem;
	max-width: fit-content;
}

.width-20,
.width-20 .column-header
{
	width: 20rem;
	min-width: 20rem;
	max-width: fit-content;
}

.appdialog.mud-dialog .mud-dialog-title
{
	font-size: 1.5rem;
	font-weight: bold;
	color: var(--font-color);
	background-color: var(--background-gray);

    position: sticky;
    top: 0;
    z-index: 10;
}

.appdialog.mud-dialog .mud-dialog-actions
{
    position: sticky;
    bottom: 0;
    z-index: 10;
}
.appdialog.mud-dialog .mud-dialog-actions .mud-button
{
	border-radius: 18px;
}
/*
.appdialog.mud-dialog .mud-dialog-actions .mud-button-label
{
	text-transform: none;
}
*/
.appdialog.mud-dialog .dialog-subtitle
{
	font-size: 1.2rem;
	font-weight: bold;
	color: var(--font-color);
	padding-top: 1rem;
}
.mud-dialog .mud-dialog-content
.appdialog.mud-dialog .mud-dialog-content
{
	padding-bottom: 1rem;
	border: 0 !important;
/*	height: auto;
	max-height: 80vh;
	overflow-y: auto;
*/
}

.appdialog.mud-dialog .mud-ripple-checkbox
{
	padding-left: 0;
}



.highlight-background,
.highlight-background .mud-table-cell.sticky-left,
.highlight-background .mud-table-cell.sticky-right
{
	background-color: var(--highlight-color) !important;
}

.vertical-spacer
{
	height: 22px;
}


th.mud-table-cell.rotated-data-column {
    text-transform: none;
	font-weight: bolder !important;
}

.progress-div-progress {
	height: 0px;
	overflow: visible;
}

.progress-div-progress > progress {
	border: 0;
	overflow: hidden;
	height: 1.4em;
	width: 8em;
	border-radius: 0.3em 0.3em;
}

.progress-div-span {
	height: 1.2em;
	text-align: center;
	width: 8em;
	vertical-align: middle;
	color: whitesmoke;
	/*font-weight: 500;*/
}
