@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
	/* ===== Colors ===== */
	--body-color: #F5F5F9;
	--sidebar-color: #FEFEFE;
	--primary-color: #ff8214;
	--primary-color-active: #ff82142e;
	--primary-color-light: #F6F5FF;
	--primary-text-color: #ff8214;
	--secondary-text-color: #84919D;
	--third-text-color: #495057;
	--light-icon-color: #FFDE59;
	--light-alert-js: yellow;
	--title-color: #4C545B;
	--black-title-color: #000;
	--pagination-button-background: #f8f9fa;
	--pagination-button-color: #adb5bd;
	--pagination-button-text-color: #495057;
	--popup-content-details-background-color: #fff;
	--popup-content-details-border-color: #888;
	--product-card-background-color: #f9f9f9;
	--product-card-background-color-hover: #f1f1f1;
	--color-mode-button: #f5f5f9;
	--color-mode-button-hover: #eaeaea;
	--color-mode-button-border: #e0e0e0;
	--border-color: #ccc;
	--success-color: #28a745;
	--success-color-active: #218838;
	--disabled-color: #6c757d;
	--shema-color: #ededed;
	--shema-line-color: var(--primary-color);
	--error-color: #dc3545;
	--error-bg: #f8d7da;
	--success-bg: #d4edda;
	--info-bg: #d1ecf1;
	--warning-bg: #fff3cd;
	--code-bg: #f8f9fa;
	--code-border: #e9ecef;
	--table-hover-bg: #f5f5f5;
	--input-disabled-bg: #e9ecef;
	--dropdown-hover-bg: #f0f0f0;
	--alert-error-bg: rgba(231, 76, 60, 0.1);
	--alert-success-bg: rgba(39, 174, 96, 0.1);

	/* ===== Status dot ===== */
	--status-dot-online: #54e154;
	--status-dot-idle: #ffd71f;
	--status-dot-offline: #ff5d5d;

	--status-dot-shadow-online: rgba(0, 255, 0, 0.5);
	--status-dot-shadow-idle: rgba(255, 165, 0, 0.5);
	--status-dot-shadow-offline: rgba(255, 0, 0, 0.5);

	/* ===== Transition ===== */
	--tran-02: all 0.2s ease;
	--tran-03: all 0.3s ease;
	--tran-04: all 0.4s ease;
	--tran-05: all 0.5s ease;
}

* {
	font-family: 'Poppins', sans-serif;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

*::selection {
	background: var(--primary-color-active);
	color: var(--primary-text-color);
}

body {
	height: 100vh;
	background-color: var(--body-color);
}

.alert-js {
	background-color: yellow;
	text-align: center;
	padding: 20px;
	font-size: 18px;
	font-weight: bold;
}

.mobile-page {
	display: none;
}

.home {
	position: relative;
	height: 100vh;
	left: 200px;
	width: calc(100% - 200px);
	transition: var(--tran-05);
}

/* ===== Navbar ===== */

.navbar {
	height: 50px;
	width: calc(100% - 55px);
	margin: 10px auto 25px;
	border-radius: 10px;
	background: var(--sidebar-color);
	box-shadow: 0px 0px 20px 2px rgba(0, 0, 0, 0.1);
	z-index: 1;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.flex-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.navbar .search-box {
	display: none;
}

.alerts-container {
	margin-bottom: 10px;
}

.alert-debug,
.alert-maintenance {
	background-color: yellow;
	text-align: center;
	padding: 10px;
	font-size: 18px;
	font-weight: bold;
	position: relative;
	/* Changer de fixed à relative */
	z-index: 1;
	width: 100%;
	/* Ajuster pour correspondre à la largeur du contenu principal */
	margin: 0 auto;
	box-sizing: border-box;
}

.alert-maintenance {
	background-color: var(--error-color);
	color: white;
}

/* ===== Sidebar Message ===== */
.marquee {
	position: relative;
	width: 100%;
	overflow: hidden;
	height: 32px;
	background: transparent;
}

.marquee-content {
	position: absolute;
	white-space: nowrap;
	will-change: transform;
	left: 100%;
	transform: translateY(0%);
}

.marquee-content.active-notification {
	color: #fff;
	background: #ff8214;
	padding: 3px 20px;
	border-radius: 5px;
	animation: marquee-absolute 30s linear infinite;
}

@keyframes marquee-absolute {
	0% {
		left: 100%;
	}

	100% {
		left: -100%;
	}
}

.notification-banner {
	position: fixed;
	top: -80px;
	left: 0;
	width: 100vw;
	background: linear-gradient(90deg, #ff8214 0%, #ffb347 100%);
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	padding: 22px 0 22px 0;
	z-index: 9999;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
	opacity: 0;
	transition: top 0.5s cubic-bezier(.68, -0.55, .27, 1.55), opacity 0.5s;
	animation: slideDown 0.7s cubic-bezier(.68, -0.55, .27, 1.55) forwards;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

@keyframes slideDown {
	from {
		top: -80px;
		opacity: 0;
	}

	to {
		top: 0;
		opacity: 1;
	}
}

.notification-banner.hide {
	top: -80px;
	opacity: 0;
	transition: top 0.5s, opacity 0.5s;
}

@keyframes marquee {
	0% {
		transform: translateX(100%);
	}

	100% {
		transform: translateX(-100%);
	}
}