@import url("https://fonts.googleapis.com/css?family=Inter:500,700,600");
:root {
	--text: #333333;
	--muted: #6b7280;
	--border: #e5e7eb;
	--green:rgb(0, 194, 104);
	--blue:#17B1B1;
	--green2:rgba(238, 247, 247);
	--orange:rgb(245, 154, 35);
	--red:rgb(249, 91, 88);
	--light-grey:#fafafa;
	--grey:rgb(121, 121, 121);
	--error: rgb(213 33 30);
	--primary:rgb(88, 226, 146);
	--primary-dark:#22b55f;
	--primary-light:#75f5ac;
}
* {
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
}
html,
body {
    margin: 0px;
    min-height: 100%;
	font-family: Arial;
	font-size:13px;
	color: var(--text);
	max-width: 100%;
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
}
a {
    text-decoration: none;
}
img { max-width:100%; }

body {
    background-color: var(--backgroundscreen);
}
input {
	margin:0;
	padding:4px 8px;
}
.flash {
    transition: opacity 1s ease-out;
    opacity: 1;
}

.flash.fade-out {
    opacity: 0;
}

#flashes {
    position: fixed;
    top: 10px;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    flex-direction: column;
    gap: 8px;
}

#flashes > div, .flash-error-login {
    padding: 10px;
	border-radius:8px;
}

.flash-success {
    background-color: var(--primary);
    color: white;
}

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

.flash-warning {
    background-color: yellow;
    color: var(--neutral-100);
}

.flash-info {
    background-color: var(--light-grey);
    color: var(--neutral-0);
}
.error {
    display: flex;
    background: rgb(213 33 30);
    width: 100%;
    color: white;
    padding: 5px 10px;
    border-radius: 8px;
    justify-content: center;
}
.widget-development {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f1f3f5;
    color: #333;
    text-align: center;
}

.widget-development-message {
    font-weight: 600;
}

.widget-development-reference {
    max-width: 100%;
    color: #5f6873;
    font-size: 12px;
    overflow-wrap: anywhere;
    white-space: normal;
}

.widget-parameter-error {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f1f3f5;
    color: #333;
    text-align: center;
}
textarea, select, input, button, div, svg { outline: none; }
.bold {font-weight:bold;}
.hide {display:none !important;}
header.header {
    padding: calc(env(safe-area-inset-top) + 10px) 20px 10px;
    flex-shrink: 0;
}
.header-user {
    display: flex;
    align-items: center;
    gap: 16px;
	justify-content:space-between;
}
.header-user-labels {
	cursor:pointer;
}
.header-user-avatar {
    border-width: 0px;
    width: clamp(42px, 10vw, 47px);
    aspect-ratio: 1;
    height: auto;
    display: flex;
    font-size: clamp(15px, 4vw, 18px);
    background-color: rgb(209, 234, 235);
    border-radius: 47px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.header-user-entite {
    font-size: 12px;
    font-weight: 400;
}
.header-user-name {
    font-size: 13px;
    font-weight: 700;
}
.avatar-xl {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(0deg, #e2e6e7, #eaf8f9);
    margin: 0;
    border-radius: 20px;
    padding: 0px 20px 20px;
	min-height: 267px;
}
img.avatar-xl-img {
    max-width: 80%;
    transform: translateY(-80px);
    border-radius: 800px;
    margin-bottom: -60px;
	max-height: 290px;
}
.avatar-xl-text {
    display: flex;
    flex-direction: column;
    align-items: center;
	color:rgb(89, 127, 126);
	line-height: 1.3;
}
.leon-ideas {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgb(89, 127, 126);
    font-size: 14px;
}
.nowrap {
    white-space: nowrap;
}
.composer {
    border-top: 1px solid var(--border);
    background: #fff;
    flex-shrink: 0;
}
.suggestions {
    display: flex;
    justify-content: center;
    align-items: center;
	flex-wrap: wrap;
	gap:20px;
	overflow-y: auto;
}
.suggestions a {
    width: 40%;
    border: 1px solid rgba(0, 194, 104, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: rgb(51, 51, 51);
    text-transform: uppercase;
    min-height: 36px;
    border-radius: 47px;
    text-align: center;
    cursor: pointer;
    padding: 8px 12px;
	max-width:300px;
}
.suggestions a:hover {
    color: #fff;
	background-color:rgba(0, 194, 104, 1);
}
.chat-app .login-page {
    display: flex;
    justify-content: space-evenly;
    flex-direction: column;
    height: 100%;
}
.login-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 24px;
}


.button {
    border-width: 0px;
    min-width: 93px;
    height: 36px;
    background: inherit;
    background-color: rgba(255, 255, 255, 1);
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(0, 194, 104, 1);
    color: var(--text);
    border-radius: 30px;
    filter: drop-shadow(none);
    transition: none;
    font-size: 12px;
    cursor: pointer;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
}

.button-green {
	background-color:var(--green);
	color:white;
}

.button:hover, .button.active {
    border-width: 0px;
	min-width:93px;
    height: 36px;
    background: inherit;
    background-color: rgba(0, 194, 104, 1);
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(0, 194, 104, 1);
    border-radius: 30px;
    filter: drop-shadow(none);
    transition: none;
    font-size: 12px;
	color:white;
}
h1.login-title {
    font-size: 14px;
    color: #597F7E;
    text-align: center;
}
.column-input {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
.input {
    min-width: 300px;
	max-width80%
    height: 25px;
    padding: 2px 2px 2px 2px;
    font-family: "Arial", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 13px;
    letter-spacing: normal;
    color: #000000;
    vertical-align: none;
    text-align: center;
    text-transform: none;
    background-color: white;
    border:1px solid rgba(121, 121, 121, 0.4980392156862745);
	border-radius:30px;
}
.row-forgot-password a, .small_link {
    font-size: 11px;
    text-decoration: underline;
    color: #597F7E;
    text-align: center;
}
.warning {
    background-color: #f1ec72;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    /* color: white; */
    font-weight: bold;
}
a.logout {
    background: rgb(89, 127, 126);
    color: white;
    font-size: 10px;
    padding: 5px 10px;
    border-radius: 10px;
}

/* Loading overlay */
#loadingOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* semi-black */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.spinner {
  border: 8px solid #f3f3f3; /* Light grey */
  border-top: 8px solid var(--green);
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
/* /Loading overlay */

.icon {
    width: clamp(30px, 9vw, 36px);
    aspect-ratio: 1;
    height: auto;
    display: flex;
    font-size: 18px;
    background-color: rgb(209, 234, 235);
    border-radius: 47px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.header-user-switch, .header-user-role-switch {
	position:relative;
}
.header-user-switch-list, .header-user-role-switch-list {
	display:none;
}

.header-user-role-switch-list,
.header-user-switch-list {
    gap: 6px;
    box-sizing: border-box;
    width: min(280px, calc(100vw - 24px));
    max-width: 280px;
    min-width: 0;
    padding: 10px;
    border: 1px solid #cbd3e0;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .15);
}

.header-user-role-switch-list label,
.header-user-switch-list label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.header-user-role-switch-list select,
.header-user-switch-list select {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid #cbd3e0;
    border-radius: 4px;
    background: #fff;
}

.header-user-role-switch-list .select2-container,
.header-user-switch-list .select2-container {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
}

.header-user-role-switch-list .select2-selection__rendered,
.header-user-switch-list .select2-selection__rendered {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-user-switch.is-open .header-user-switch-list,
.header-user-role-switch.is-open .header-user-role-switch-list {
    position: absolute;
    display: flex;
    flex-direction: column;
    z-index: 1;
    right: 0;
    max-height: calc(100vh - 87px);
    overflow-y: auto;
    overflow-x: hidden;
}

.header-user-role-switch-trigger,
.header-user-switch-trigger {
    border: 0;
}

@media (max-width: 480px) {
    .header-user-switch.is-open .header-user-switch-list,
    .header-user-role-switch.is-open .header-user-role-switch-list {
        position: fixed;
        top: 64px;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        width: min(280px, calc(100vw - 24px));
        max-height: calc(100dvh - 76px);
    }
}
.header-user-switch-list a, .header-user-role-switch-list a {
	padding: 2px 5px;
    background: whitesmoke;
    border: 1px solid;
    border-bottom: none;
    cursor: pointer;
    max-width: 400px;
    min-width: 250px;
}
.header-user-switch-list a:last-child, .header-user-role-switch-list a:last-child {
    border-bottom: 1px solid;
}
.header-user-switch-list a.selected, .header-user-role-switch-list a.selected, .header-user-switch-list a:hover, .header-user-role-switch-list a:hover {
    font-weight:bold;
}
a.button-chat img {
    max-width: 38px;
}
.header-user > div {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}

.chat-app {
    max-width: 1024px;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin: 0 auto;
    gap: 8px;
    position: relative;
    justify-content: space-between;
	height: 100dvh;
	overflow: hidden;
}

.chat-app.chat-app--full-width {
    max-width: 100%;
}

/* Fixed chat panels must not become flex items or create gaps above the header. */
.chat-app > .scenario-launcher,
.chat-app > .beta-scenario-launcher,
.chat-app > .scenario-question-detail {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    overflow: visible;
}

.hero {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 18px;
    background: linear-gradient(135deg, #e8f0ff, #f6fffb);
    border-bottom: 1px solid var(--border);
    flex-direction: column;
	border-radius: 18px 18px 0 0;
}

.avatar {
	width: 112px; height: 148px; border-radius: 12px;
	flex: none;
}

.hero-text .hello { font-size: 20px; font-weight: 800; }
.hero-text .subtitle { color: var(--muted); margin-top: 4px; }

.chat-window {
    background: #F2F2F2;
    padding: 12px 16px 45px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1 1 auto;
}

.bubble {
    display: inline-block;
    max-width: 84%;
    padding: 10px 12px;
    margin: 0 0 8px 0;
    font-size: 13px;
    line-height: 1.35;
    background: #fff;
	border-radius:8px 8px 8px 0;
	position:relative;
}
.bubble-system { }
.bubble-user {
    margin-left: auto;
    background: #D3EAEA;
	border-radius:8px 8px 0 8px;
}
.bubble.small { font-size: 13px; }

#chat-form {
    display: flex;
    gap: 4px;
    padding: 12px 12px 0;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
}
form#chat-form small {
    color: rgba(51, 51, 51, 0.68);
    font-size: 10px;
}
#footer-menu {
    display: flex;
    gap: 2px;
    justify-content: space-around;
    flex-direction: column;
    align-items: stretch;
}
#footer-menu .item i {
	font-size:13px;
}
#footer-menu .item {
    text-align: center;
    padding: 10px 6px;
    font-size: 10px;
    color: rgba(51, 51, 51, 0.298);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 4px;
}
#footer-menu .item > span:first-child {
    padding: 8px;
}
#footer-menu .item:hover > span:first-child, #footer-menu .item.active > span:first-child {
    background: var(--green);
    color: white;
    border-radius: 4px;
}
#footer-menu .item:hover > span:last-child, #footer-menu .item.active > span:last-child {
    color: var(--text);
}
#footer-menu nav {
    display: flex;
    gap: 8px;
    justify-content: space-around;
}
.footer-warning {
    display: flex;
    justify-content: center;
    margin-bottom: 8px;
    font-size: 11px;
    font-style: italic;
    color: rgb(0 0 0 / 30%);
}
header.flex-strecth {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.avatar-small {
    width: 44px;
    height: 61px;
}
.avatar-intro {
    display: flex;
    align-items: center;
    gap: 18px;
}
section#history {
    padding: 24px;
    color: var(--muted);
    height: calc(100vh - 241px);
    overflow-y: auto;
}
h1 {
    margin-bottom: 24px;
}
.history-header {
    border-bottom: 1px solid var(--border);
    padding: 12px 24px;
}
a.button-back {
    background: #98d4d5;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    font-size: 13px;
}
ul.formulation-history li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}
ul.formulation-history li > div:first-child {
	width:40px;
}
ul.formulation-history {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
button.icon {
    border: none;
}
.icon.icon-white {
    background: white;
}
.icon.icon-black {
    background: black;
	color:white;
}
.icon.icon-green {
    background: green;
	color:white;
}
.chat_input_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid var(--border);
    padding: 4px 6px;
    border-radius: 45px;
    background-color: #fff;
    width: 100%;
	gap:6px;
}
.chat_input_container > div:first-child {
    flex:1;
}
.chat_input_container .icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
}
.chat-reset-button {
	border: 0;
	cursor: pointer;
}
.chat-reset-button[hidden] {
	display: none;
}
.chat-reset-button:disabled {
	cursor: wait;
	opacity: .55;
}
.chat_input_container button[type="submit"]:disabled {
	cursor: wait;
	opacity: .55;
}
.chat_input {
    border: none;
    padding: 10px 12px;
    width: 100%;
    resize: none;
    font-size: 13px;
    outline: none;
}
.chat-form-wrapper {	
    width: 100%;
}
.avatar-xl-container {
    padding-top: 80px;
	width: 100%;
}
.avatar-xl .icon.icon-microphone {
    background-color: #fff;
}
.avatar-xl form#chat-form {
    padding: 12px 0;
}
.black {
	color:rgba(51, 51, 51, 0.898);
}
h2.iconed_title {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
	font-weight:700;
	font-size:14px;
	gap:12px;
}
.indicateurs_cles {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    text-align: center;
    flex-wrap: wrap;
}
.indicateurs_cles > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border: 1px solid var(--green);
    padding: 2px 0;
    flex-wrap: wrap;
    border-radius: 10px;
    box-shadow: #b5b5b5 0 0 8px;
    width: 20%;
    min-width: 80px;
	height:57px;
	justify-content: center;
	cursor:pointer;
}
.indicateurs_cles > div:hover {
	background-color:var(--green);
	color:white;
}
.indicateurs_cles > div > div:first-child {
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 400;
}
.indicateurs_cles > div > div:last-child {
    font-weight: 700;
    font-size: 15px;
}
.icon-flex {
    display: flex;
    justify-content: center;
    align-items: center;
}
.icon-30 {
    width: 30px;
    min-width: 30px;
    height: 30px;
    font-size: 14px;
    border-radius: 8px;
}
.icon-22 {
    width: 22px;
    min-width: 22px;
    height: 22px;
    font-size: 12px;
    border-radius: 6px;
}
.icon-19 {
    width: 19px;
    min-width: 19px;
    height: 19px;
    font-size: 8px;
    border-radius: 5px;
}
.icon-green {
    background-color: var(--green);
	color:white;
}
.icon-red {
    background-color: var(--red);
	color:white;
}
.icon-grey {
    background-color: var(--grey);
	color:white;
}
.full-width .main {
    padding: 0 0 32px;
}
.main {
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin: 0 auto;
    gap: 24px;
	overflow:auto;
	padding: 0 20px 32px;
	width:100%;
	flex: 1 1 auto;
	min-height: 0;
}
.roadmap-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px}
.roadmap-nav a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8deea;border-radius:7px;padding:9px 14px;background:#fff;color:#172033;text-decoration:none;cursor:pointer}
.roadmap-nav a[aria-current="page"]{border-color:var(--green);background:var(--green);color:#fff}
.main > .avatar-xl {
    margin-top: 70px;
}
.widget {
    margin: 0 20px;
    padding: 12px 16px;
    background-color: var(--light-grey);
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
	gap:16px;
}
.widget-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
	gap:12px;
}
.widget-title-left {
    display: flex;
    gap: 8px;
    line-height: 1.3;
}
.widget-title-label {
    font-size: 15px;
}
.widget-title-right, .widget-title-right a {
    display: flex;
    align-items: center;
    gap: 8px;
	margin-top:2px;
	white-space: nowrap;
}
.icon-asterix {
    font-size: 30px;
    padding-top: 14px;
    color: black;
}
.widget_progression_ca_individuelle_data {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	gap:12px;
}
.widget_progression_ca_individuelle_data_block {
    display: flex;
    gap: 4px;
    flex-direction: column;
}
.widget_progression_ca_individuelle_data_top {
    font-size: 12px;
    text-transform: uppercase;
}
.widget_progression_ca_individuelle_data_bottom {
    display: flex;
    align-items: center;
    gap: 4px;
}
.widget_progression_ca_individuelle_data_value {
    font-size: 20px;
    font-weight: 700;
}
.widget_progression_ca_individuelle_data_bottom_right {
    font-size: 11px;
}
.widget_progression_ca_individuelle_data_percent {
    font-weight: 700;
    color: var(--green);
}
.widget_progression_ca_individuelle_data_pdm {
    font-size: 12px;
}
.fiabilite {
    text-align: right;
    font-size: 12px;
}

.fiabilite > span {
	font-weight:700;
	color:var(--green);
}
.widget_evolution_data {
    display: flex;
    flex-direction: column;
    gap: 12px;
	padding-left:8%;
}
.widget_evolution_data_block {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.widget_evolution_data_top {
    font-size: 12px;
    text-transform: uppercase;
}
.widget_evolution_data_bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.widget_evolution_data_bottom_left {
    display: flex;
    align-items: center;
    gap: 8px;
}
.text-red {
	color:var(--red);
}
.text-green {
	color:var(--green);
}
.text-orange {
	color:var(--orange);
}
.widget_evolution_data_percent {
    font-size: 12px;
    font-weight: 700;
}
.widget_evolution_data_value {
    font-size: 13px;
    font-weight: 700;
}
.widget_jauge_data_row {
    display: flex;
    justify-content: space-between;
    text-align: center;
    align-items: center;
}

.widget_jauge_data_row:first-child { 
	font-size:13px;
	color:var(--grey);
}
.widget_jauge_data_row {
    display: flex;
    justify-content: space-between;
    text-align: center;
    align-items: center;
    gap: 2%;
}
.widget_jauge_data_row > div {
    width: 13%;
    min-width: 40px;
}
.widget_jauge_data_row > div:first-child {
    width: 20%;
    font-weight: 700;
    font-size: 17px;
}
.widget_jauge_data {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.widget_jauge_data_row_value {
	border-radius:4px;
	color:white;
	font-weight:700;
	font-size:12px;
	background-color:rgb(215, 215, 215);
	padding:4px;
}
.bg-red {
	background-color:var(--red);
}
.bg-green {
	background-color:var(--green);
}
.widget_performance_achat_data {
    display: flex;
    flex-direction: column;
    align-items: center;
	gap:12px;
}
.widget_performance_achat_data_block {
    display: flex;
    justify-content: space-between;
    align-items: center;
	gap:12px;
	min-width:70%;
}
.widget_performance_achat_data_left {
    display: flex;
    align-items: center;
    gap: 16px;
}
.widget_performance_achat_data_left_right {
    display: flex;
    flex-direction: column;
}
.widget_performance_achat_data_title {
    display: flex;
    font-size: 12px;
    text-transform: uppercase;
    white-space: nowrap;
    width: 120px;
}
.widget_performance_achat_data_percent {
    width: 60px;
	font-weight:bold;
}
.widget-alt {
	background-color:var(--green2);
}
.widget_performance_achat_data_value {
    font-size: 12px;
    font-weight: 900;
}
.widget_performance_trimestrielle_graphs, .widget_performance_trimestrielle_labels {
    display: flex;
    gap: 10px;
    justify-content: space-between;
}
.widget_performance_trimestrielle_block{
	/*max-width: min(22%, 90px);*/
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 4px;
	flex-wrap: wrap;
	width:100%;
}
.widget_performance_trimestrielle_block_title {
    font-size: 10px;
    text-transform: uppercase;
}
.widget_performance_trimestrielle_block_value {
    font-size: 12px;
    font-weight: bold;
}
canvas {
    max-width: 100%;
}
.widget_top_famille_data_left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.widget_top_famille_data_title {
    font-size: 12px;
    font-weight: 900;
}
.widget_top_famille_data {
    padding: 0 10%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.widget_top_famille_data_block {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: space-between;
}
.widget_top_famille_data_percent {
    font-weight: 700;
}
.widget_top_famille_data_left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.widget_top_famille_data_right {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
    min-width: 100px;
    flex-direction: row;
}
.widget_top_famille_data_right > div:last-child {
    min-width: 36px;
}
.widget_top_famille_data_title {
    font-size: 12px;
    font-weight: 900;
}
.widget_top_famille_data_n1 {
    color: var(--grey);
    font-size: 9px;
    min-width: 24px;
    text-align: right;
}
.widget_top_famille_data_percent {
    font-weight: 700;
}
.progress {
	height: 20px;
	background: #ddd;
	border-radius: 20px;
	overflow: hidden;
}
.progress-value {
    height: 100%;
    border-radius: 20px;
    color: white;
    font-size: 13px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.progress-value > div {
    position: absolute;
    left: 20px;
    white-space: nowrap;
    text-shadow: 0 0 2px black;
	top: 2px;
}
.widget_top_fournisseur_data {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.widget_top_fournisseur_data_block {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.widget_top_fournisseur_data_top {
    font-size: 12px;
    text-transform: uppercase;
}
.widget_top_fournisseur_data_bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.widget_top_fournisseur_data_bottom .progress {
    width: 100%;
}
.widget_top_fournisseur_data_percent {
    display: flex;
    align-items: center;
    font-size: 13px;
    font-weight: 700;
    gap: 4px;
}
.widget_top_fournisseur_data_percent span {
    font-size: 9px;
    white-space: nowrap;
    color: var(--grey);
    font-weight: normal;
}
.widget_classement_regional_data {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
.widget_classement_regional_data_rank {
    font-size: 27px;
    font-weight: 900;
}
.flash-error {
    background: var(--red);
    color: white;
    text-align: center;
}
/* === Base modal === */
.user-edit-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;          /* Full width until desktop */
    max-width: 1024px;
    height: 100vh;
    max-height: 100vh;
    background: white;
    z-index: 8;

    opacity: 0;
    transform: translateX(-100%); /* Off-screen left */
    pointer-events: none;

    transition: transform .35s ease, opacity .35s ease, top .35s ease, left .35s ease;
	overflow-y:auto;
}

/* === When visible === */
.user-edit-modal.active {
    opacity: 1;
    transform: translateX(0);  /* Slide in */
    pointer-events: auto;
}



/* === Desktop (center after animation) === */
@media (min-width: 700px) {
  .user-edit-modal {
      /* prepare centered position but still off-screen at start */
      width: 1024px;
      top: 50%;
      left: 50%;

      transform: translate(-50%, -50%) translateX(-100%); /* off screen */
  }

  .user-edit-modal.active {
      transform: translate(-50%, -50%) translateX(0); /* centered */
  }
}
.user-edit-modal-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
}
.user-edit-modal.user-edit-modal--full-width {
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    transform: translateX(-100%);
}
.user-edit-modal.user-edit-modal--full-width.active {
    transform: translateX(0);
}
.user-edit-modal.user-edit-modal--width-switching {
    transition: none !important;
}
.user-edit-modal {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
	justify-content: space-between;
}
.user-edit-modal-block {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.user-edit-modal form {
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: space-between;
    height: 100%;
}

.user-edit-modal-block-sub {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.user-edit-modal-block-sub.user-edit-modal-block-sub-user {
	gap:8px;
}
.user-edit-modal-block-sub.user-edit-modal-block-sub-user > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.user-edit-modal-block-sub.user-edit-modal-block-sub-notify > div {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
    padding: 0 6%;
}
.user-edit-modal-block-sub.user-edit-modal-block-sub-user > div input {
    width: 80%;
    text-align: center;
    height: 25px;
    border-radius: 20px;
    border: 1px solid var(--grey);
}
.user-edit-modal-block-sub.user-edit-modal-block-sub-links {
    padding: 0 6%;
}
.user-edit-modal-block-sub.user-edit-modal-block-sub-links a, .user-edit-modal-block.user-edit-modal-block-footer a {
    font-size: 13px;
    text-decoration: underline;
}
.user-edit-modal-width-toggle {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid #cbd3e0;
    border-radius: 50%;
    background: #fff;
    color: #1f2937;
    cursor: pointer;
}
.user-edit-modal-width-toggle:hover,
.user-edit-modal-width-toggle.is-active {
    border-color: var(--green);
    background: var(--green);
    color: #fff;
}
@media (max-width: 480px) {
    .user-edit-modal-width-toggle {
        display: none;
    }
}
.btn {
    height: 54px;
    border-radius: 50px;
    border: none;
    color: white;
    background: black;
    display: inline-block;
    font-weight: bold;
    padding: 0 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
.btn-red {
	background-color:#FB3732;
}
.user-edit-modal-block.user-edit-modal-block-buttons {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    gap: 8%;
}
.user-edit-modal-block.user-edit-modal-block-footer {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}
.bubble .widget {
    margin: 0;
    /*padding: 0;
    background: no-repeat;*/
}
.bubble .fiabilite div {
    background: var(--green2);
    padding: 4px 8px;
    display: inline;
    border-radius: 8px;
}

.bubble .widget {
	min-width: 100%;
}

.widget_fiche_fournisseur_data_header img {
    max-height: 64px;
    max-width: 45%;
}

.widget_fiche_fournisseur_data_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.widget_fiche_fournisseur_data_warning {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    background: #FBE6E9;
    border-radius: 20px;
    padding: 5px;
    color: #D9001B;
    font-size: 10px;
}

.widet_fiche_fournisseur_data_warning > div:first-child {
	text-transform:uppercase;
}

.widet_fiche_fournisseur_data_warning > div:last-child {
	text-style:italic;
}
.widget_fiche_fournisseur_data {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.widget_fiche_fournisseur_data_title > div:first-child {
    font-size: 17px;
    font-weight: 700;
}

.widget_fiche_fournisseur_data_family {
    font-size: 13px;
}
.widget_fiche_fournisseur_data_score {
    display: flex;
    flex-direction: column;
}
.widget_fiche_fournisseur_data_table > div {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    padding: 2px;
}
.widget_fiche_fournisseur_data_table > div > div:first-child {
    font-weight: 700;
}
.widget_fiche_fournisseur_data_table > div:nth-child(2n) {
    background: #EDFCF3;
}
.widget_fiche_fournisseur_data_subtitle > div {
    width: auto !important;
    font-weight: normal !important;
    font-size: 11px;
    color: var(--green);
    text-transform: uppercase;
}
.green_check {
    background: var(--green);
    color: white;
    padding: 2px;
    font-size: 10px;
    height: 13px;
    width: 13px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
}

.red_rectangle {
    background: var(--red);
    color: white;
    padding: 2px;
    font-size: 10px;
    height: 13px;
    width: 13px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
}
.widget_fiche_fournisseur_data_table > div > div:last-child {
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.widget_fiche_fournisseur_data_team > div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    margin-top: 5px;
}
.widget_fiche_fournisseur_data_team {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.widget_fiche_fournisseur_data_cotisation span {
    font-weight: 400;
}
.default_avatar {
    width: 50px;
    height: 50px;
    color: white;
    background: black;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 40px;
    border-radius: 50px;
    border: 30px solid black;
}
.widget_fiche_fournisseur_data_team_name {
    font-weight: 700;
}
i.fa.fa-leaf {
    color: var(--green);
}
.slider_content {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    box-sizing: border-box;
	flex-shrink: 0;
}

.slider {
    display: flex;
    transition: transform 0.3s ease;
    width: 100%;
}

.slider > div {
    flex: 0 0 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.slider_buttons {
    display: flex;
    margin-top: 10px;
    padding: 5px 5%;
    gap: 5%;
}

.slide-buttons-right .slider_buttons {
    display: flex;
    margin-top: 10px;
    padding: 5px 5%;
    gap: 8px;
    justify-content: flex-end;
}

.slider_buttons > div {
    height: 4px;
    background: #ccc;
    cursor: pointer;
    transition: background 0.3s;
	flex: 1;
}

.slide-buttons-right .slider_buttons > div {
    height: 4px;
    background: #ccc;
    cursor: pointer;
    transition: background 0.3s;
    width: 8px;
    height: 8px;
    border-radius: 8px;
	flex: initial;
}

.slider_content.slide-widget-alt {
    margin: 0 20px;
    background-color: var(--green2);
    border-radius: 20px;
    padding: 12px 0;
}

.slider_content.slide-widget-alt .widget {
	margin: 0;
	padding: 0 16px;
}

.slider_buttons > div.active {
    background: var(--green);
}

.quick-links-card {
    border-radius: 14px;
    padding: 12px 12px 4px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #FAFAFA;
    border: 1px solid #EDEDED;
    margin: 0 20px;
}

.quick-links-header {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
}

.quick-links-header i {
    font-size: 13px;
}

.quick-links-list {
    display: flex;
    flex-direction: column;
    padding-left: 18px;
}

.quick-link-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    text-decoration: none;
    color: #222;
    font-size: 13px;
    border-bottom: 1px solid #e5e5e5;
    gap: 12px;
}

.quick-link-item:last-child {
    border-bottom: none;
}

.quick-link-item span {
    flex: 1;
}

.quick-link-item i {
    font-size: 16px;
    color: #444;
}
.agenda-section-title {
    margin: 12px 0;
    display: flex;
    gap: 6px;
    font-size: 13px;
	align-items: center;
	font-weight: 400;
}
i.fa.fa-wifi.fa-wifi-rotate {
    transform: rotate(45deg);
}

.agenda-banner img {
    width: 100%;
    border-radius: 10px;
}
.agenda-wrapper-inner {
	padding:0 16px;	
}
.agenda-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
	margin-top:16px;
}

.agenda-download {
    font-size: 13px;
    text-decoration: underline;
}

.agenda-subtitle-urgent {
    color: rgb(217, 0, 27);
}

.agenda-subtitle {
    font-size: 13px;
    font-weight: 400;
    margin: 20px 0 5px 0;
}

.agenda-month {
    font-weight: 400;
}

.agenda-events {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.agenda-event {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border-radius: 50px;
    border: 2px solid transparent;
    background: #F8F4F6;
	font-size: 13px;
}

.agenda-event.done {
    background: #28c26f;
    color: white;
}

.agenda-event.urgent {
    border-color: #D9001B;
    color: #D9001B;
}

.agenda-event.confirmed {
    border-color: var(--green);
    color: var(--green);
}
span.agenda-badge {
    white-space: nowrap;
}
.agenda-event.full {
    color: #A2A2A2;
}
.confirmed span.agenda-icon.question {
    border: none;
    color: white;
}
.agenda-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 26px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    font-weight: bold;
}

.agenda-icon.ok {
    background: white;
    color: #28c26f;
}

.agenda-icon.question {
    background: var(--green);
    border: 1px solid #D9001B;
}

.agenda-icon.no {
    background: white;
    color: red;
}

.agenda-actions i {
    margin-left: 8px;
}
.agenda-months {
    padding: 0 16px;
}

.fa-copy-90 {
	transform:scaleY(-1);
}

.pim-wrapper {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.pim-wrapper-inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.pim-index h2.iconed_title {
    font-weight: 400;
}

.input-row-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.input-row-submit input {
    width: 100%;
    height: 36px;
    padding: 2px 13px;
    background-color: white;
    border: 1px solid rgba(121, 121, 121, 0.4980392156862745);
    border-radius: 30px;
}	
.input-row-submit button {
	border-radius:50px;
	min-width:36px;
	width:36px;
	height:36px;
	background:black;
	color:white;
	font-size:16px;
	border:none;
	cursor:pointer;
}

.pim-filters {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 11px;
    gap: 12px;
    flex-wrap: wrap;
}
.pim-filters > div {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 12px;
}
.pim-filter {
    background: var(--light-grey);
    padding: 8px 12px;
    border-radius: 8px;
    cursor: pointer;
}
.pim-filter:hover, .pim-filter.active {
    background: var(--green);
	color:white;
}
.product-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 16px;
    gap: 16px;
}
.product-img {
    height: 60px;
    min-width: 80px;
    text-align: center;
    width: 80px;
}
.product-img img {
    max-width: 100%;
    max-height: 100%;
}

.product-title-list {
    font-size: 13px;
	font-weight:600;
}
.product-brand {
    font-size: 13px;
	font-style:italic;
}
.product-info {
    font-size: 13px;
}
.table  {
	font-size:13px;
	overflow:hidden;
	width:100%;
}
.table td, .table th {
	text-align:center;
}
.table td:first-child, .table th:first-child {
	text-align:left;
}
.table tfoot td {
    background: var(--green);
    color: white;
}
table.table td, table.table th {
    padding: 4px;
}
table.table th {
    background: var(--green);
    color: white;
    font-weight: bold;
}

.historique_commandes_block_title {
    font-weight: bold;
}

.historique_commandes_block_subtitle {
    font-style: italic;
    font-size: 13px;
}

.historique_commandes_block_details > div > div:first-child {
	font-weight:bold;
	width:70px;
}
.historique_commandes_block_details > div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.historique_commandes_block_details {
    margin-left: 16px;
    font-size: 13px;
}
.historique_commandes_block {
    background: var(--light-grey);
    padding: 8px;
    border-radius: 8px;
}
.main.stat-index .button {
    flex-shrink: 0;
}
.main.stat-index {
    padding-left: 20px;
    padding-right: 20px;
}
.stat-header h2.iconed_title {
	font-weight:400;
}
.stat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.stat-header-breadcrumbs {
    margin-left: 48px;
    font-weight: bold;
	text-transform:uppercase;
}
.stat-header-filter {
    gap: 8px;
}
.stat-header-view select {
    width: 100%;
    height: 32px;
    border-radius: 30px;
    border: 1px solid var(--green);
    padding: 0 16px;
}
.tabs-design2 {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
    background: #EBEBEB;
    padding: 8px;
    border-radius: 30px;
    gap: 2%;
}
.tabs-design2 > a {
    background: white;
    padding: 12px 3%;
    text-transform: uppercase;
    border-radius: 30px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
	font-size:13px;
}
.tabs-design2 > a.active, .tabs-design2 > a:hover {
    background: var(--green);
	color:white;
}

.table tbody tr:nth-child(2n) {
	background-color:#EDFCF3;
}
.main.stat-index .table thead tr:last-child {
    font-weight: bold;
	background-color: #EDFCF3;
}
.stat-table td {
	white-space:nowrap;
}
.stat-table td:first-child {
	white-space:initial;
}
.stat-columns {
	padding-left:20px;
	padding-right:20px;
}
.container1 {
    background: #FAFAFA;
    border-radius: 17px;
    padding: 16px;
    gap: 16px;
    display: flex;
    flex-direction: column;
	width:100%;
}
.container2 {
    gap: 8px;
    display: flex;
    flex-direction: column;
	width:100%;
}
.stat-columns-container h3 {
    margin: 0;
}
form.stat-column-form {
    display: flex;
    flex-wrap: wrap;
    row-gap: 16px;
    justify-content: space-between;
}
form.stat-column-form > div {
    width: 48%;
    display: flex;
    gap: 8px;
    flex-direction: column;
}
form.stat-column-form > div > label {
    display: flex;
    align-items: center;
    gap: 8px;
}

form.stat-column-form > div > label > input {
	margin:0;
}
form.stat-column-form .children {
    display: flex;
    flex-direction: column;
    font-size: 13px;
    margin-left: 12px;
}

.btn-primary {
	background-color:var(--green) !important;
	color:white !important;
}

.btn-primary-inverted {
	color:var(--green);
	border:1px solid var(--green);
	background-color:transparent;
}

.btn-primary-inverted:hover {
	color:white;
	border:1px solid var(--green);
	background-color:var(--green);
}

.btn-blue-inverted {
	color:var(--blue);
	border:1px solid var(--blue);
	background-color:transparent;
}

.btn-blue-inverted:hover {
	color:white;
	border:1px solid var(--blue);
	background-color:var(--blue);
}

.btn-medium {
	height:32px;
	font-size:13px;
	font-weight:500;
	padding:0 12px;
}

.btn-medium2 {
	height:36px;
	font-size:13px;
	font-weight:500;
	padding:0 12px;
}

form.stat-column-form > div.buttons {
    width: 100%;
    display: flex;
    align-items: center;
}

form.stat-column-form > div.buttons .btn {
	height:32px;
	font-size:12px;
	width:100px;
}
.flex-row-4 {
    display: flex;
    gap: 4px;
    justify-content: space-around;
	align-items: center;
}
.flex-row-8 {
    display: flex;
    gap: 8px;
    justify-content: space-around;
	align-items: center;
}
.flex-column-4 {
    display: flex;
    gap: 4px;
	align-items: center;
	flex-direction: column;
}
.flex-cell-4 {
    display: flex;
    align-items: center;
    gap: 4px;
}
.flex-end {
    display: flex;
    justify-content: flex-end;
}
.space-between {
    display: flex;
    justify-content: space-between;
	gap:8px;
}
.stat-filter-display-values {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 13px;
    align-items: stretch;
    text-align: center;
    padding: 0 9%;
}
.container1 h3 {
    margin: 0;
}
.stat-filters-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.stat-filters-container .btn {
    min-width: 100px;
    height: 30px;
    font-size: 13px;
    white-space: nowrap;
    width: auto;
}
.stat-filter-groups-values {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.stat-filter-groups-values > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.stat-filter-groups-values {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-left: 20px;
}

.stat-filter-groups-values > div label {
    font-size: 13px;
    font-weight: 700;
}
.w100 {
	width:100%;
}
.flex-left {
	justify-content: flex-start;
}
.flex-center {
	justify-content: center;
}
.flex-wrap {
    flex-wrap: wrap;
}
.container1 .widget {
    padding: 0;
    margin: 0;
}

.flex-start {
	display:flex;
	justify-content: flex-start;
}

.flex-between {
	justify-content: space-between;
}
.widget.widget-alt.widget_valeur_ca_chart {
    background: white;
    border-radius: 2px;
}
.chat-tool-right {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(50%, -50%);
}
.chat-tool-bottom {
    position: absolute;
    bottom: -10px;
    width: 100%;
    margin-left: -12px;
    transform: translateY(100%);
	display:flex;
	gap:8px;
}
.chat-tool-button1 {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #333;
    width: 100%;
    padding: 5px;
    background: white;
    cursor: pointer;
}
.chat-tool-button1 select {
    border: none;
}
.chat-tool-bottom > div, .chat-tool-bottom > div > div {
    width: 100%;
}
.btn-chat-tool {
    width: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 30px;
    background: white;
    border: 1px solid #ccc;
	cursor:pointer;
}
.subtitle-chat-tool {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px;
    border: 1px solid #ccc;
    background: white;
}

.chat-tool-response-no .btn-chat-tool, .chat-tool-response-no .subtitle-chat-tool {
    border-color: red;
    color: red;
}

.chat-tool-response-yes-up {
    border-color: green;
    color: green;
}
.btn-chat-tool.chat-tool-response-yes-down {
    border-color: red;
    color: red;
}
.widget.widget_valeur_ca_zoom {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 12px;
}
.widget.widget_valeur_ca_zoom > div {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.widget_valeur_ca_zoom_data_block {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    padding: 4px 8px;
    border-radius: 8px;
    gap: 8px;
    flex-wrap: wrap;
    flex-direction: column;
}
.widget_valeur_ca_zoom_values {
    display: flex;
    gap: 5%;
    align-items: center;
    justify-content: space-between;
    flex: 1 1 0;
}
.widget_valeur_ca_zoom_data_block-green {
    background-color: #D6F5E3;
}
.widget_valeur_ca_zoom_data_block-green:nth-child(1) {
    background-color: #B1EFCB;
}
.widget_valeur_ca_zoom_data_block-green:nth-child(2) {
    background-color: #C4F1D7;
}
.widget_valeur_ca_zoom_data_block-red {
    background-color: #F8C8CE;
}
.widget_valeur_ca_zoom_data_block-red:nth-child(1) {
    background-color: #F68D9A;
}
.widget_valeur_ca_zoom_data_block-red:nth-child(2) {
    background-color: #F7AFB8;
}

.widget_valeur_ca_zoom_title {
    font-size: 13px;
    font-weight: 700;
}
.widget_valeur_ca_zoom_value {
    font-size: 15px;
    font-weight: 700;
}
.widget.widget-alt.widget_indicateur_metier_famille {
    background: transparent;
    border-radius: 0;
}
.map-svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transition: transform 0.2s ease;
	cursor: grab;
	touch-action: none;
	will-change: transform;
	transform-origin: center center;
}
.map-shape {
	fill: #dddddd;
    stroke: #fff;
    stroke-width: 1;
}

.map-shape[data-ca]:not([data-ca^="-"]):not([data-ca="0"]) {
	fill: var(--green);
}

.map-shape[data-ca^="-"] {
	fill: var(--red);
}

.map-tooltip {
    position: fixed;
    z-index: 1000;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.8);
    color: var(--text);
    padding: 8px 12px;
    border-radius: 0;
    font-size: 13px;
    white-space: nowrap;
    transform: translate(10px, 10px);
    border: 1px solid var(--green);
	display:flex;
    flex-direction: column;
    gap: 12px;
}
.map-tooltip[hidden] {
	display: none !important;
}
.tooltip-content {
    font-size: 13px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.map-zoom-controls {
	display: inline-flex;
	gap: 4px;
}

.map-zoom-controls button {
	padding: 4px 8px;
	cursor: pointer;
}

.analyse-map-container {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 1000 / 960;
	overflow: hidden;
	background:white;
}
.widget_indicateur_metier_famille_menu {
	position: relative;
	z-index: 10;
}

.map-svg:active {
	cursor: grabbing;
}
.widget_indicateur_metier_famille_menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5%;
    flex-wrap: wrap;
    row-gap: 12px;
}
.widget_indicateur_metier_famille_menu select {
    height: 28px;
    padding: 0px 8px;
}
.map-zoom-controls > button {
    background: white;
    border: 1px solid var(--text);
    color: var(--text);
    height: 28px;
    width: 28px;
}

ul.pagination {
    padding: 0;
    list-style: none;
    display: flex;
    gap: 8px;
    justify-content: center;
}

.page a, .page.active span {
    display: flex;
    min-width: 28px;
    height: 28px;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--text);
    padding: 4px 10px;
    border-radius: 4px;
    line-height: 1;
    background-color: white;
}

.page.active a, .page.active span, .page a:hover {
    border: 1px solid var(--green);
    background-color: var(--green);
	color:white;
	font-weight:bold;
}

.breacrumbs {
    font-size: 13px;
    color: rgb(170, 170, 170);
}

.product-title {
    font-size: 20px;
    font-weight: bold;
}

.product-ids {
    display: flex;
    gap: 24px;
}

.product-view-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
	padding: 0 12px;
}

.product-ids > div {
    border: 1px solid #f0f0f0;
    padding: 4px 8px;
    border-radius: 3px;
}

.product-ids > div > label {
    font-weight: bold;
}

.product-view-img img {
    max-width: 100%;
    border: 1px solid #f0f0f0;
	max-height: 263px;
}

.product-view-img {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.button-big, .button-big:hover, .button-big.active {
    font-size: 13px;
    height: 48px;
}

.product-block {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.product-block-title {
    font-weight: bold;
    font-size: 14px;
}

.product-block-value {
    font-size: 13px;
}

hr {
    width: 100%;
    border: none;
    border-top: 1px solid #d5d5d5;
}
.product-block-spec-title {
    font-size: 14px;
	cursor:pointer;
	display:flex;
	justify-content: space-between;
}


.product-block-spec-values-block {
    display: flex;
    gap: 12px;
    font-size: 13px;
}

.product-block-spec {
    display: flex;
    gap: 8px;
    flex-direction: column;
}

.product-block-spec-values {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-left: 12px;
}
.product-block-spec-values-block-title {
    font-weight: bold;
    width: 130px;
}
.product-block-specs, .product-block-specs-attributes {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.product-block-specs-attributes {
    padding:0 12px;
}
.product-block-specs-title {
    font-weight: bold;
    font-size: 15px;
}
.title-big h2 {
    font-size: 17px;
}
select.observatory-select-year {
    font-size: 13px;
    color: #797979;
    border: 1px solid #797979;
    padding: 4px 8px;
    min-width: 75px;
    border-radius: 16px;
	max-height:27px;
}
.flex-space-between {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
}
.pdm-evolution-container {
    display: flex;
    gap: 8px;
    align-items: center;
	font-size:13px;
}

.pdm-evolution-container-bg {
    background: #75BB43;
    width: 45px;
    height: 24px;
    border-radius: 16px;
    position: relative;
}
.pdm-evolution-container-button {
    width: 24px;
    height: 24px;
    position: absolute;
    background: white;
    border-radius: 16px;
    box-shadow: 0 0 3px;
    border: 1px solid #75BB43;
    right: 0;
}

.source-xerfi {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    font-style: italic;
    font-size: 11px;
    flex-direction: row;
}

.source-xerfi > div:first-child {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    justify-content: center;
}
.source-xerfi img {
    max-width: 26px;
}
.sort-arrow {
	cursor:pointer;
	margin-left:4px;
}

.observatory-title {
	font-weight:400;
}

.scaled-wrapper {
  display: block;
  transform-origin: top left;
  /*overflow: hidden;*/ /* hides the unused layout space */
  width:100%;
}
.scaled-wrapper > .scaling {
  transform-origin: top left;
}

.db_logs_button {
    position: fixed;
    bottom: 195px;
    right: 1%;
    z-index: 1;
    background: #111;
    color: #fff;
    width: 32px;
    border-radius: 30px;
    cursor: pointer;
    font-weight: 600;
    font-size: 13px;
    border: none;
    height: 32px;
}

.leon-json-logs-button {
    position: fixed;
    right: 1%;
    bottom: 273px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #111;
    color: #fff;
    cursor: pointer;
}

.leon-json-logs-button span {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 16px;
    padding: 2px 4px;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 9px;
    line-height: 1.2;
}

.leon-json-logs-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(0, 0, 0, .4);
}

.leon-json-logs-backdrop[hidden] { display: none; }

.leon-json-logs-modal {
    display: flex;
    flex-direction: column;
    width: min(900px, 96vw);
    max-height: 86vh;
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 60px rgba(0, 0, 0, .28);
}

.leon-json-logs-modal > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 16px;
    border-bottom: 1px solid #e5e7eb;
}

.leon-json-logs-modal h2 { margin: 0; font-size: 18px; }
.leon-json-logs-modal header > div { display: flex; align-items: center; gap: 8px; }
.leon-json-logs-clear { padding: 6px 10px; border: 1px solid #d1d5db; border-radius: 7px; background: #fff; cursor: pointer; }
.leon-json-logs-close { border: 0; background: transparent; font-size: 26px; line-height: 1; cursor: pointer; }
.leon-json-logs-body { padding: 14px; overflow: auto; }
.leon-json-logs-empty { color: #64748b; }
.leon-json-log-entry { margin-bottom: 10px; border: 1px solid #dbe2ea; border-radius: 8px; background: #fff; }
.leon-json-log-entry summary { padding: 10px 12px; cursor: pointer; font-size: 13px; font-weight: 600; }
.leon-json-log-content { display: grid; gap: 8px; padding: 12px; border-top: 1px solid #e5e7eb; }
.leon-json-log-content > strong { font-size: 13px; }
.leon-json-log-entry pre { margin: 0; padding: 12px; overflow: auto; border-radius: 6px; background: #f8fafc; font: 12px/1.45 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; white-space: pre-wrap; word-break: break-word; }
.leon-json-log-entry .leon-json-log-final-text { color: #1f2937; font-family: inherit; font-size: 14px; }
.leon-json-log-block { overflow: hidden; border: 1px solid #e2e8f0; border-radius: 7px; }
.leon-json-log-block-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 9px;
    background: #f8fafc;
}
.leon-json-log-block-header > strong { font-size: 13px; }
.leon-json-log-block-actions { display: flex; align-items: center; gap: 5px; }
.leon-json-log-block-actions button {
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid #cbd5e1;
    border-radius: 5px;
    background: #fff;
    color: #334155;
    font-size: 11px;
    cursor: pointer;
}
.leon-json-log-block-actions button:hover { background: #eef2f7; }
.leon-json-log-block-toggle { width: 28px; padding: 4px !important; font-size: 15px !important; }
.leon-json-log-block > pre { border-radius: 0 0 6px 6px; }
.leon-json-log-block > pre[hidden] { display: none; }
.leon-json-logs-open { overflow: hidden; }

.db_logs_backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.35);
	z-index: 99998;
}

.db_logs_modal {
	position: fixed;
	bottom: 60px;
	right: 16px;
	width: 560px;
	max-width: calc(100% - 32px);
	max-height: 75vh;
	overflow: hidden;
	z-index: 99999;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0,0,0,.25);
	display: flex;
	flex-direction: column;
}

.db_logs_modal_header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px;
	border-bottom: 1px solid #eee;
}

.db_logs_modal_body {
	padding: 14px;
	overflow: auto;
}

.db_logs_close {
	border: none;
	background: transparent;
	font-size: 18px;
	cursor: pointer;
	line-height: 1;
}

.db_log_item {
	margin-bottom: 12px;
}

.db_log_item.slow .db_logs_item {
	border-color: #ffb3b3;
	background: #fff5f5;
}

.db_logs_item {
	padding: 12px;
	border-radius: 10px;
	border: 1px solid #eee;
}

.db_log_header {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	font-size: 13px;
	margin-bottom: 8px;
}

.db_log_time {
	margin-left: auto;
	font-size: 12px;
	color: #666;
	white-space: nowrap;
}

.db_logs_actions {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 6px;
}

.db_logs_copy {
	border: 1px solid #ddd;
	background: #fafafa;
	padding: 6px 10px;
	border-radius: 8px;
	cursor: pointer;
	font-size: 12px;
}

.db_logs_sql {
	white-space: pre;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
	font-size: 12px;
	line-height: 1.4;
	background: #f7f7f7;
	padding: 10px;
	border-radius: 10px;
	max-height: 220px;
	overflow: auto;
}

.db_logs_pre {
	white-space: pre;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
	font-size: 12px;
	line-height: 1.4;
	background: #f1f1ff;
	padding: 10px;
	border-radius: 10px;
	margin-top: 8px;
	max-height: 160px;
	overflow: auto;
}
.button-cmem {
    background: #A7C13C;
    border: none;
    color: white;
    padding: 5px 15px;
}

.button-cmem:hover {
    background: #9db539;
    border: none;
}
button.bug-button {
    position: fixed;
    bottom: 155px;
    right: 1%;
    background: #ffc28d;
    border: none;
    border-radius: 50px;
    height: 32px;
    width: 32px;
    cursor: pointer;
}

.modal-bg {
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
	z-index:10;
}

.modal-container {
    background: white;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 12px;
    max-width: 50%;
    min-width: max(30%, 260px);
    padding: 32px;
    box-sizing: content-box;
}

/* Reusable application modal */
body.app-modal-open {
    overflow: hidden;
}

.app-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.5);
}

.app-modal {
    width: min(560px, 100%);
    max-height: calc(100dvh - 40px);
    overflow: auto;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(15, 23, 42, 0.28);
    color: #20242b;
}

.app-modal.welcome-modal {
    box-sizing: border-box;
    border: 2px solid rgba(0, 194, 104, 1);
}

.app-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px 14px;
    border-bottom: 1px solid #e2e8f0;
}

.app-modal-header h2 {
    margin: 0;
    font-size: 20px;
}

.app-modal-close {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #000;
    color: #fff;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
}

.app-modal-close:hover,
.app-modal-close:focus-visible {
    background: #2f343b;
}

.app-modal-body {
    padding: 20px 22px 24px;
}

.welcome-modal-content {
    font-size: 14px;
    line-height: 1.55;
}

.welcome-modal-content p {
    margin: 0 0 16px;
}

.welcome-modal-content p:last-child {
    margin-bottom: 0;
}

@media (max-width: 480px) {
    .app-modal-backdrop {
        padding: 12px;
    }

    .app-modal {
        max-height: calc(100dvh - 24px);
    }

    .app-modal-header,
    .app-modal-body {
        padding-left: 16px;
        padding-right: 16px;
    }
}

.bug-modal form, .modal-thumbs form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.bug-modal form label, .modal-thumbs form label {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bug-modal h3, .modal-thumbs h3 {
	margin-top:0;
}

.bug-modal form label textarea, .modal-thumbs form label textarea {
    min-height: 64px;
}


.bool-box-off {
    background: #e91616;
    color: white;
}
.bool-box-on {
    background: #59c338;
    color: white;
}
.bool-box {
    border-radius: 20px;
    display: inline-flex;
    height: 20px;
    width: 20px;
    align-items: center;
    justify-content: center;
    font-size: 10px;
}
.none {
    display: none !important;
}
.product-block-documents-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 12px;
}
a.document-button {
    background: black;
    color: white;
    padding: 5px 20px;
    border-radius: 5px;
}
.product-block-documents-title {
    font-weight: bold;
}

.politique-confidentialite {
    margin-top: 10px;
    line-height: 1.5;
}

.product-block-variants-title {
    font-weight: bold;
}
.product-block-variants-container {
    margin-top: 12px;
}

.chat-cursor {
	display: inline-block;
	width: 8px;
	height: 16px;
	background: #667eea;
	animation: blink 0.7s infinite;
	vertical-align: middle;
}

@keyframes blink {
	0%, 50% { opacity: 1; }
	51%, 100% { opacity: 0; }
}

/* Microphone recording animation */
.icon-microphone.recording {
    animation: pulse 1.5s infinite;
}

.icon-microphone.recording i {
    color: #dc3545 !important;
}

/* Success flash animation */
.icon-microphone.success-flash i {
    color: #28a745 !important;
    animation: success-flash 2s ease;
}

@keyframes pulse {
    0% { 
        opacity: 1;
    }
    50% { 
        opacity: 0.7;
    }
    100% { 
        opacity: 1;
    }
}

@keyframes success-flash {
    0% { 
        color: #28a745;
        transform: scale(1);
    }
    50% { 
        transform: scale(1.2);
    }
    100% { 
        color: inherit;
        transform: scale(1);
    }
}

/* Ensure microphone is clickable */
.icon-microphone {
    cursor: pointer;
    transition: opacity 0.2s;
}

.icon-microphone:hover {
    opacity: 0.8;
}
.product-loading {
    padding: 0px;
    text-align: center;
    color: #666;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.product-loading::before {
    content: 'Chargement';
    margin-right: 5px;
}

.bouncing-dots {
    display: flex;
    gap: 4px;
}

.bouncing-dots span {
    width: 8px;
    height: 8px;
    background-color: #007bff;
    border-radius: 50%;
    display: inline-block;
    animation: bounce 1.4s infinite ease-in-out both;
}

.bouncing-dots span:nth-child(1) { animation-delay: -0.32s; }
.bouncing-dots span:nth-child(2) { animation-delay: -0.16s; }
.bouncing-dots span:nth-child(3) { animation-delay: 0s; }

@keyframes bounce {
    0%, 80%, 100% { transform: scale(0); }
    40% { transform: scale(1); }
}


.chat-nomenclature, .chat-recherche-fournisseur {
    display: flex;
    margin-top: 12px;
    gap: 8px;
    flex-direction: column;
}
.chat-nomenclature-levels, .chat-recherche-fournisseur-levels {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.chat-nomenclature-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
	align-items: flex-start;
}

.chat-recherche-fournisseur-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}

.chat-recherche-fournisseur-actions[hidden],
.chat-recherche-fournisseur-actions [hidden] {
    display: none !important;
}

.chat-recherche-fournisseur-category-loading {
    display: inline-flex;
    min-width: 36px;
    align-items: center;
    justify-content: center;
    color: var(--green);
    font-size: 18px;
}

.chat-recherche-fournisseur-category-loading[hidden] {
    display: none !important;
}

.chat-nomenclature-actions .quick-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.chat-nomenclature select, .chat-recherche-fournisseur select {
    height: 28px;
}

.pim-wrapper-inner-header {
    display: flex;
    justify-content: space-between;
	gap:8px;
}

.render-pdf .no-pdf {
	display:none !important;
}

.pdf-only {
	display:none !important;
}

.identification {
    display: flex;
    gap: 4px;
    align-items: center;
}

.identification-item {
    background: #E9FFF3;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 8px;
    height: 28px;
    border-radius: 4px;
    color: #265A5D;
    font-size: 13px;
    gap: 4px;
	white-space: nowrap;
}

.identification-item label {
    font-weight: 600;
}
.product-chat-sheet .product-img {
    height: 120px;
    margin: 0 auto;
}

.product-chat-sheet {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border: 1px solid #d6d6d6;
    padding: 10px;
    box-shadow: 0 0 5px #c7c7c7;
    border-radius: 12px;
    background: #f5f5f5;
}

.product-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.product-info-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.button-square, .button-square:hover, .button-square.active {
    border-radius: 4px;
}

.button-small, .button-small:hover, .button-small.active {
    min-width: auto;
    height: 26px;
    width: 26px;
}
.history-back-button {
	cursor:pointer;
}
.chat-hooks {
    display: flex;
    gap: 8px;
    padding: 8px 0;
    flex-wrap: wrap;
}

.hook-button {
    background: #f5f5f5;
    border: 1px solid #272727;
    border-radius: 8px;
    padding: 4px 8px;
    font-size: 13px;
    color: #272727;
    cursor: pointer;
}

.hook-button-filtre {
    color: #3b82f6;
    border-color: #3b82f6;
    background: #eff5ff;
}
.hook-button-elargissement {
    color: #f59e0b;
    border-color: #f59e0b;
    background: #fff9ef;
}
.hook-button-performance {
    color: #10b981;
    border-color: #10b981;
    background: #e8f8f2;
}
.hook-button-avantage {
    color: #ec4899;
    border-color: #ec4899;
    background: #fef2f8;
}
.product-placeholder[data-theme="idproduit"], .product-placeholder[data-theme="CompactStyle"] {
    display: inline-block;
}
.no-product {
    text-align: center;
    font-style: italic;
}

.has-tools {
	margin-bottom:48px;
}
.chart-box.chart-bar {
	min-height: 200px;
}

.dashboard-select-pdv select {
    background: var(--green);
    min-height: 38px;
    border: none;
    padding: 0 10px;
    border-radius: 30px;
    max-width: calc(100% - 40px);
    color: white;
    text-transform: uppercase;
    font-weight: 700;
    min-width: 0;
	width:100%;
}
.dashboard-select-pdv select option {
    background: white;
}

.button-black, .button-black:hover, .button-black.active {
	background:black;
	color:white;
	border:none;
}

.button-round, .button-round:hover, .button-round.active  {
	width:36px;
	min-width:36px;
}

@media(max-width:360px) {
	
	.tabs-design2 > div {
		font-size:11px;
	}
}

@media(max-width:420px) {
	
	.flex-wrap {
		flex-wrap: wrap;
	}
}

.container-box {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 20px;
    border-radius: 15px;
    box-shadow: 0 0 5px #898989;
	margin:0 5px;
}

.container-box form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.row {
    display: flex;
    gap: 8px;
    align-items: center;
}
.chat-window li {
    margin-left: 16px;
}
.chat-window h1 {
    font-size: 20px;
    margin: 0 0 12px;
}
.chat-window h2 {
    font-size: 18px;
    margin: 0 0 8px;
}
.chat-window h3 {
    font-size: 16px;
    margin: 0 0 4px;
}

.chat-window ul {
    padding-left: 0;
}
.header-user-entite img {
    max-height: 14px;
}

.no-data {
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
	width:100%;
}

.dashboard-select-pdv .select2-container {
    background: var(--green);
    min-height: 38px;
    border: none;
    /* padding: 0 10px; */
    border-radius: 30px;
    max-width: calc(100% - 40px);
    color: white;
    text-transform: uppercase;
    font-weight: 700;
    min-width: 0;
    width: 100%;
}

.dashboard-select-pdv .select2-container--default .select2-selection--single {
    background: transparent;
    min-height: 38px;
    border-radius: 30px;
    border: none;
}
.dashboard-select-pdv .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: white;
    min-height: 38px;
    display: flex;
    align-items: center;
    padding: 0 32px 0 16px;
}
.dashboard-select-pdv .select2-container--default .select2-selection--single .select2-selection__arrow {
    min-height: 38px;
    right: 8px;
}
.dashboard-select-pdv .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-top-color: white;
}
.widget_top_famille_data_n1.widget_top_famille_data_n1_header.widget_top_famille_data_n1_header1 {
    font-size: 12px;
}
.off .pdm-evolution-container-button {
    right: initial;
    left: 0;
}
.table-show-more {
    margin-top: 12px;
    display: flex;
    justify-content: center;
}

.observatory-subtitle-family {
	margin-top:12px;
}

body.error-page .chat-app {
    display: flex;
    justify-content: center;
}

body.error-page .chat-app > div {
    display: flex;
    flex-direction: column;
    text-align: center;
    box-shadow: 0 0 5px black;
    padding: 20px;
    font-size: 18px;
	margin: 0 10px;
}

body.error-page .chat-app > div a {
    text-decoration: underline;
}
.stat-button-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 24px;
}

a.stat-button {
    width: calc(50% - 24px);
    border: 1px solid var(--green);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    text-transform: uppercase;
    height: 48px;
    border-radius: 48px;
    text-align: center;
    cursor: pointer;
    color: var(--green);
}
body .full-width {
    width: 100%;
}
body .third-width {
    width: calc(33% - 24px);
}
a.stat-button:hover {
    color: white;
    background: var(--green);
}

.buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    row-gap: 12px;
}

img.logo-header {
    max-height: 47px;
    max-width: min(32%, 110px);
}

.form-date-mode .select2-container {
    width: auto !important;
    min-width: 92px;
}

.form-date-mode .select2-container--default .select2-selection--multiple {
    font-size: 13px;
    color: #797979;
    border: 1px solid #797979;
    padding: 1px 8px;
    min-width: 32px;
    border-radius: 16px;
    min-height: 27px;
    display: flex;
    align-items: center;
	height:27px;
}

.form-date-mode .select2-container .select2-selection--multiple .select2-selection__rendered {
    min-height: auto;
    height: auto;
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
	overflow: hidden;
}

.form-date-mode .select2-container--default .select2-selection--multiple .select2-selection__choice {
    margin: 0;
}

.btn-small {
    height: 27px;
    padding: 0 12px;
}

.form-date-mode {
    display: flex;
    gap: 8px;
}
.pim-index-suggestions {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 20px 40px;
    gap: 32px;
}
.pim-index-suggestions > div {
    display: flex;
    gap: 16px;
}
.pim-index-suggestions > div > a {
    width: 50%;
}
.pim-index-suggestions > .pim-index-home-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pim-index-suggestions > .pim-index-home-actions > a,
.pim-flow-actions > a {
    width: auto;
}
.pim-index-suggestions > .pim-document-flow {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    display: flex;
}
.pim-flow-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}
.pim-flow-heading h2 {
    margin: 0;
}
.pim-flow-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 38px;
    flex: 0 0 auto;
    padding: 0 14px;
    border-radius: 20px;
    background: var(--primary, #1f8f55);
    color: #fff;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
}
.pim-flow-actions {
    display: flex;
    gap: 16px;
    width: 100%;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.pim-flow-actions > a {
    flex: 1 1 0;
}
.pim-flow-return {
    align-self: flex-start;
}
.pim-document-flow > form {
    width: 100%;
}
.pim-document-flow > form select {
    max-width: 600px;
}
.pim-supplier-selection {
    display: flex;
    gap: 24px;
    flex-direction: column;
    align-items: flex-end;
}
.pim-supplier-selection .select2-container {
    width: 100% !important;
}
.pim-document-results,
.pim-contact-results {
    display: grid;
    width: 100%;
    gap: 12px;
}
.pim-contact-filter {
    display: grid;
    gap: 16px;
    width: 100%;
}
.pim-contact-filter-controls {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(240px, 2fr);
    gap: 12px;
    width: 100%;
}
.pim-contact-filter-controls .select2-container {
    width: 100% !important;
}
.pim-contact-card.is-filtered-out {
    display: none;
}
.pim-contact-card {
    padding: 14px 18px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
}
.pim-contact-card h3,
.pim-contact-card p {
    margin: 0 0 6px;
}
.pim-contact-card p:last-child {
    margin-bottom: 0;
}
.pim-empty-state {
    margin: 0;
    color: #666;
}
.pim-document-categories {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    width: 100%;
}
.pim-document-categories > .btn {
    width: 100%;
    text-align: center;
}
.pim-document-back {
    display: flex;
    width: 100%;
}
@media (max-width: 600px) {
    .pim-index-suggestions > .pim-index-home-actions {
        grid-template-columns: 1fr;
    }
    .pim-flow-actions {
        flex-direction: column;
    }
    .pim-contact-filter-controls {
        grid-template-columns: 1fr;
    }
}
.agenda-wrapper-todo {
    height: calc(100vw - 62px - 145px - 16px);
    text-align: center;
    display: flex;
    align-items: center;
}

.pim-index .chat-nomenclature-actions {
    display: flex;
	flex-direction: row-reverse;
    justify-content: space-between;
}
.pim-search-nomenclature {
    background: var(--light-grey);
    padding: 0 24px 12px;
    border-radius: 12px;
}

.no-stat-data .widget {
    width: 100%;
    text-align: center;
    font-size: 16px;
}
.no-stat-data.widget.widget-alt {
    margin: 0;
    text-align: center;
    font-weight: bold;
}

.table tbody tr td.different {
    background-color: #ffe1e1;
}

.table tbody tr:nth-child(2n) td.different {
    background-color: #ffbcbc;
}

.select2-results__option--disabled {
    display: none;
}


@media(max-width:460px) {
	.pim-filter {
		width:120px;
	}
}
.tampon {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #d70000;
    text-shadow: 0 0 2px white;
    background: rgba(255, 255, 255, 0.7);
}

.widget_valeur_ca_chart_data {
	position:relative;
}

.full-width .chat-app {
    max-width: 100%;
    overflow: auto;
    margin: 0;
    height: auto;
    padding: 20px;
}

.flex-row-start {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
}

.flex-row-between {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.table-column-filter-icon {
    padding: 0 3px;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: white;
}

.table-column-filter-input {
    display: block;
    width: 100%;
    margin-top: 4px;
    border-radius: 4px;
    border: 1px solid var(--primary-dark);
    padding: 2px 20px 2px 4px;
}

.hidden-by-show-more,
.hidden-by-filter {
    display: none;
}
.table-column-filter-wrapper {
    position: relative;
    margin-top: 5px;
}

.table-column-filter-clear {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    user-select: none;
    font-size: 14px;
    line-height: 1;
	color: var(--text);
}

.link {
	cursor:pointer;
}

.data-deletion-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.data-deletion-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.modal-bg.modal-data-deletion .modal-container {
    max-width: calc(80% - 32px);
    min-width: calc(80% - 32px);
}

.data-deletion-modal-buttons {
    display: flex;
    justify-content: space-between;
}

.icon-small {
    font-size: 12px;
    width: clamp(16px, 9vw, 28px);
}

h2#data-deletion-modal-title {
    margin: 0;
}

textarea#data-deletion-message {
    padding: 8px 12px;
}
.stat-fiabilite {
    float: right;
    height: 36px;
    margin-top: 12px;
    display: flex;
    align-items: center;
	font-size: 11px;
}

.modal-close {
    background-color: black;
    color: white;
    float: right;
    border-radius: 20px;
    height: 20px;
    width: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.chat-entity-anonymous {
    display: none;
}

.chat-anonymous-mode .chat-entity-real {
    display: none;
}

.chat-anonymous-mode .chat-entity-anonymous {
    display: inline;
}

.bubble-system table {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0;
}

.bubble-system th,
.bubble-system td {
    padding: 8px 10px;
    border: 1px solid var(--border);
    text-align: left;
    vertical-align: top;
}

.bubble-system th {
    font-weight: 700;
}

.bubble-system {
    overflow-wrap: anywhere;
}

.chat-table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    /*cursor: zoom-in;*/
    position: relative;
}

.chat-table-wrapper table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;

    transition: transform 0.15s ease;
}

.chat-table-wrapper th,
.chat-table-wrapper td {
    padding: 8px 10px;
    border: 1px solid var(--border);

    text-align: left;
    vertical-align: top;

    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
}


/* Expanded / natural size */
.chat-table-wrapper.chat-table-expanded {
    overflow-x: auto;
    overflow-y: hidden;

    height: auto !important;

    /*cursor: zoom-out;*/

    -webkit-overflow-scrolling: touch;
}

.chat-table-wrapper.chat-table-expanded table {
    transform: none !important;
}

.chat-hooks p {
    margin: 0;
}

.bubble ol, .bubble ul {
    padding: 0;
}

.bubble p {
    margin: 0;
}

.page-text h1 {
    line-height: 1.1;
	margin-bottom:5px;
}
.page-text h2 {
    line-height: 1.1;
}
.page-text .meta {
	font-size:12px;
	font-weight:bold;
}

.full-page .chat-app {
	overflow:auto;
	padding: 24px 32px;
}

.page-text dt {
	font-weight:bold;
}

.full-page ul {
    padding-left: 16px;
}
.full-page dd {
    margin-left: 16px;
}

/* Lanceur de scénarios du chat */
.scenario-launcher-backdrop {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	width: min(430px, calc(100vw - 48px));
	z-index: 2000;
	background: transparent;
}

.scenario-launcher-backdrop[hidden] {
	display: none;
}

.scenario-launcher-tenant-select[hidden],
.scenario-launcher-list[hidden],
.scenario-launcher-tenant-group[hidden] {
	display: none;
}

.scenario-launcher-modal {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	width: min(430px, calc(100vw - 48px));
	max-height: 100vh;
	border: 1px solid #b8c3d4;
	border-radius: 0 12px 12px 0;
	background: #fff;
	box-shadow: 0 20px 55px rgba(15, 23, 42, .25);
	overflow: hidden;
	transform: translateX(-100%);
	transition: transform .22s ease;
}

.scenario-launcher-backdrop.is-open .scenario-launcher-modal { transform: translateX(0); }

.scenario-launcher-modes{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px 18px 0}.scenario-launcher-modes button{padding:8px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#475569;font-weight:700;cursor:pointer}.scenario-launcher-modes button.is-active{border-color:#172033;background:#172033;color:#fff}.scenario-launcher-tenant-select{display:grid;gap:6px;padding:12px 18px 0;color:#64748b;font-size:13px}.scenario-launcher-tenant-select select{width:100%;padding:9px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}.scenario-launcher-tenant-group>h3{margin:0;padding:10px 18px;border-bottom:1px solid #e2e8f0;background:#fff;color:#475569;font-size:13px}

.scenario-launcher-header,
.scenario-launcher-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
}

.scenario-launcher-header {
	border-bottom: 1px solid #e2e8f0;
}

.scenario-launcher-header small {
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.scenario-launcher-header h2 {
	margin: 2px 0 0;
	font-size: 20px;
}

.scenario-launcher-close,
.scenario-launcher-play {
	border: 0;
	background: transparent;
	cursor: pointer;
}

.scenario-launcher-close {
	font-size: 28px;
	line-height: 1;
}

.scenario-launcher-search {
	padding: 12px 18px;
}

.scenario-launcher-search input {
	box-sizing: border-box;
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 7px;
}

.scenario-launcher-list {
	min-height: 100px;
	overflow-y: auto;
	border-top: 1px solid #eef2f7;
	border-bottom: 1px solid #e2e8f0;
}

.scenario-launcher-scenario > summary {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 18px;
	background: transparent;
	font-weight: 700;
	cursor: pointer;
}

.scenario-launcher-scenario > summary small {
	color: #64748b;
	font-weight: 400;
}

.scenario-launcher-question {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px 10px 18px;
	border-top: 1px solid #eef2f7;
}

.scenario-launcher-question[hidden],
.scenario-launcher-scenario[hidden] {
	display: none;
}

.scenario-question-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1;
	gap: 4px;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: default;
}

.scenario-question-tenants {
	width: 100%;
}

.scenario-question-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.scenario-question-info span,
.scenario-question-info small {
	display: block;
}
.scenario-launcher-question .tenant-toggle{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid hsl(var(--stable-color-hue,215) 45% 70%);border-radius:999px;background:hsl(var(--stable-color-hue,215) 62% 93%);color:hsl(var(--stable-color-hue,215) 52% 27%);font-size:11px}

.scenario-question-info small {
	margin-top: 3px;
	color: #64748b;
}

.scenario-launcher-question:has(input:checked) {
	background: #eff6ff;
	box-shadow: inset 3px 0 #2563eb;
}

.scenario-launcher-question.is-viewed {
	background: #f5f3ff;
	box-shadow: inset 3px 0 #7c3aed;
}

.scenario-launcher-question.question-played,
.beta-scenario-question.question-played {
    background: #f1f5f9;
    color: #64748b;
}

.scenario-launcher-question.question-playing,
.scenario-launcher-question.question-playing:has(input:checked),
.beta-scenario-question.question-playing {
    background: #dcfce7;
    color: #166534;
    box-shadow: inset 3px 0 #16a34a;
}

.scenario-launcher-badge {
	display: inline-flex;
	align-items: center;
	max-width: 105px;
	padding: 3px 7px;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	font-size: 10px;
	line-height: 1.15;
	text-align: center;
}

.scenario-question-play-state {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	line-height: 1.2;
}

.scenario-question-play-state[hidden] {
	display: none !important;
}

.scenario-question-play-state [hidden] {
	display: none !important;
}

.scenario-question-play-state-played {
	color: #64748b;
}

.scenario-question-play-state-played i {
	margin-right: 3px;
	color: #16a34a;
}

.scenario-question-play-state-playing {
	color: #15803d;
	font-weight: 600;
}

.scenario-launcher-badge.status-dispo{border-color:#86d198;background:#e6f5e9;color:#216e35}
.scenario-launcher-badge.status-en_cours{border-color:#91b8ee;background:#e8f1fd;color:#1859aa}
.scenario-launcher-badge.status-possible{border-color:#efb5ba;background:#fcebed;color:#a73b45}
.scenario-launcher-badge.status-prevu{border-color:#e8cf75;background:#fff7d6;color:#806300}
.scenario-launcher-badge.status-en_attente_retour_client{border-color:#f2b56d;background:#fff0dd;color:#9a4c00}
.scenario-launcher-badge.validation-valide{background:#dcfce7;color:#166534}
.scenario-launcher-badge.validation-modif_demandee{background:#fef3c7;color:#92400e}
.scenario-launcher-badge.validation-refuse{background:#fee2e2;color:#991b1b}
.scenario-launcher-badge.validation-en_attente_retour_client{background:#ffedd5;color:#c2410c}
.scenario-launcher-view{display:grid;place-items:center;width:30px;height:30px;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:#475569;cursor:pointer}
.scenario-launcher-question:has(input:disabled:not(:checked)):not(.question-played) {
	opacity: .48;
}

.scenario-launcher-play {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #dcfce7;
	color: #166534;
}

.scenario-launcher-footer {
	background: #172033;
	color: #fff;
}

.scenario-launcher-run {
	padding: 8px 12px;
	border: 1px solid rgba(255,255,255,.4);
	border-radius: 6px;
	background: transparent;
	color: #fff;
	cursor: pointer;
}

.scenario-launcher-run:disabled {
	opacity: .45;
	cursor: default;
}

.scenario-launcher-status,
.scenario-launcher-empty {
	margin: 0;
	padding: 10px 18px;
	color: #64748b;
	font-size: 13px;
}

.chat-context-change {
	border-color: #93c5fd;
	background: #eff6ff;
	color: #1e3a8a;
}

@media (max-width: 480px) {
	.scenario-launcher-backdrop {
		inset: 0;
		width: auto;
		display: grid;
		place-items: center;
		padding: 12px;
		background: rgba(15, 23, 42, .18);
	}

	.scenario-launcher-modal {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		max-height: min(82vh, 720px);
		border-radius: 12px;
		transform: none;
	}
	
	.chat-table-wrapper {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
        position: relative;
    }

    .chat-table-wrapper::after {
        content: "← Glissez pour voir la suite →";
        display: block;
        position: sticky;
        left: 0;
        width: max-content;
        margin-top: 2px;
		margin-bottom:12px;
        color: #6b7280;
        font-size: 11px;
        pointer-events: none;
    }
	
	.chat-table-wrapper.chat-table-expanded table {
		margin-bottom:0px;
	}

	body.scenario-launcher-open { overflow: hidden; }
}

/* Fiche question du lanceur */
.scenario-question-detail-backdrop{position:fixed;inset:0;z-index:2010;background:transparent;pointer-events:none}.scenario-question-detail-backdrop[hidden]{display:none}.scenario-question-detail-panel{position:fixed;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(430px,calc(100vw - 48px));background:#fff;border:1px solid #b8c3d4;border-radius:12px 0 0 12px;box-shadow:0 20px 55px rgba(15,23,42,.25);transform:translateX(100%);transition:transform .22s ease;overflow:hidden;pointer-events:auto}.scenario-question-detail-backdrop.is-open .scenario-question-detail-panel{transform:translateX(0)}.scenario-question-detail-header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #e2e8f0}.scenario-question-detail-header h2{margin:0;font-size:20px}.scenario-question-detail-header button{border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer}.scenario-question-detail-content{padding:16px 18px 24px;overflow-y:auto}.scenario-question-detail-loading,.scenario-question-detail-error,.scenario-question-readonly{padding:12px;border-radius:8px;background:#f8fafc;color:#64748b}.scenario-question-detail-error{background:#fef2f2;color:#b91c1c}.scenario-question-card>header{padding-bottom:14px;border-bottom:1px solid #e2e8f0}.scenario-question-card>header small,.scenario-question-card section>h3,.scenario-question-validation>h3{color:#8b97ad;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.scenario-question-card>header h2{margin:4px 0;font-size:17px}.scenario-question-card>header span{color:#64748b;font-size:12px}.scenario-question-card section{margin-top:16px}.scenario-question-card section>h3,.scenario-question-validation>h3{margin:0 0 7px}.scenario-question-value{padding:11px;border:1px solid #d6deea;border-radius:7px;color:#334155;line-height:1.45}.scenario-question-card section.is-notice .scenario-question-value{border:2px solid #a855f7;background:#faf5ff;color:#5b21b6}.scenario-question-card section.is-dev .scenario-question-value{border-color:#f59e0b;background:#fffbeb}.scenario-question-metadata{display:flex;flex-wrap:wrap;gap:6px}.scenario-question-metadata span{padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px}.scenario-question-validation{margin-top:20px}.scenario-question-validation>p{margin:4px 0 10px;color:#64748b;font-size:12px}.scenario-question-verdicts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.scenario-question-verdicts button{padding:9px 5px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;cursor:pointer}.scenario-question-verdicts button[value=VALIDE]{border-color:#15803d;color:#15803d}.scenario-question-verdicts button[value=REFUSE]{color:#b91c1c}.scenario-question-validation textarea{box-sizing:border-box;width:100%;margin-top:9px;padding:10px;border:1px solid #cbd5e1;border-radius:7px;resize:vertical}.scenario-question-validation-status{min-height:18px;color:#166534!important}.scenario-question-validation-status:not(:empty){padding:8px;background:#f0fdf4;border-radius:6px}

.scenario-question-verdicts button[value=VALIDE].is-current{border-color:#15803d;background:#dcfce7;color:#166534}.scenario-question-verdicts button[value=MODIF_DEMANDEE].is-current{border-color:#d97706;background:#fef3c7;color:#92400e}.scenario-question-verdicts button[value=REFUSE].is-current{border-color:#dc2626;background:#fee2e2;color:#991b1b}

@media(max-width:480px){.scenario-question-detail-backdrop{display:grid;place-items:center;padding:12px;background:rgba(15,23,42,.28);pointer-events:auto}.scenario-question-detail-panel{position:relative;top:auto;right:auto;bottom:auto;width:100%;max-height:min(88vh,760px);border-radius:12px;transform:none}.scenario-question-detail-content{padding:14px}.scenario-question-verdicts{grid-template-columns:1fr}.scenario-question-detail-open{overflow:hidden}}

.scenario-question-validation textarea{margin:9px 0}
.scenario-question-comments{display:grid;gap:9px}.scenario-question-comments form{display:grid;gap:8px}.scenario-question-comments textarea{box-sizing:border-box;width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:7px;resize:vertical}.scenario-question-latest-comment{padding:10px;border:1px solid #d6deea;border-radius:8px;background:#f8fafc}.scenario-question-latest-comment small{display:block;color:#64748b}.scenario-question-latest-comment p{margin:7px 0 0}.scenario-question-validation-save{width:100%;margin-top:9px}.question-comments-modal{position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.45)}.question-comments-modal[hidden]{display:none}.question-comments-dialog{box-sizing:border-box;width:95%;max-height:80vh;padding:18px;border-radius:12px;background:#fff;box-shadow:0 20px 60px rgba(15,23,42,.35);overflow:auto}.question-comments-dialog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.question-comments-dialog>header h3{margin:0}.question-comments-dialog>header button{border:0;background:none;font-size:26px;cursor:pointer}.question-chat-history{display:flex;flex-direction:column;gap:9px}.question-chat-message{max-width:82%;padding:9px 11px;border-radius:12px;background:#edf2f7;color:#263247}.question-chat-message.is-current-user{align-self:flex-start;border-bottom-left-radius:3px;background:#dff1ff}.question-chat-message.is-other-user{align-self:flex-end;border-bottom-right-radius:3px;background:#f1e9ff}.question-chat-message header{display:flex;gap:10px;justify-content:space-between;margin-bottom:5px}.question-chat-message header small{color:#64748b}
.validation-note{display:inline-flex;margin:8px 0;padding:0;background:transparent;color:#fff;font-size:12px;font-weight:800}.validation-note-class{display:flex;min-width:92px;min-height:34px;box-sizing:border-box;align-items:center;padding:0 28px 0 14px;border-radius:7px;background:var(--note-color);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%);color:#fff;font-size:15px}.validation-note-10,.validation-note-9,.validation-note-8,.validation-note-7{--note-color:#079447}.validation-note-6,.validation-note-5{--note-color:#2d91ed}.validation-note-4{--note-color:#ff7a14}.validation-note-0,.validation-note-1,.validation-note-2,.validation-note-3{--note-color:#e80f2f}.validation-note-di{--note-color:#df1760}.validation-note-hs,.validation-note-nr{--note-color:#8493a8}.validation-note-ne{--note-color:#465267}
.evaluation-select{position:relative;display:grid;gap:6px;margin-top:9px}.evaluation-select-label{color:#8b97ad;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.evaluation-select-trigger{display:flex;width:100%;align-items:center;gap:10px;padding:5px 9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;text-align:left;cursor:pointer}.evaluation-select-trigger>.validation-note{margin:0}.evaluation-select-trigger>i{margin-left:auto}.evaluation-select-menu{z-index:5100;box-sizing:border-box;margin:0;padding:6px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18);overflow-y:auto}.evaluation-select-menu[hidden]{display:none}.evaluation-select-menu>button{display:flex;width:100%;align-items:center;gap:10px;padding:5px 7px;border:0;border-radius:6px;background:#fff;color:#334155;text-align:left;cursor:pointer}.evaluation-select-menu>button:hover,.evaluation-select-menu>button:focus,.evaluation-select-menu>button.is-selected{background:#f1f5f9}.evaluation-select-menu .validation-note{margin:0}.evaluation-select-menu .validation-note-class,.evaluation-select-trigger .validation-note-class{min-width:76px;min-height:30px;padding:0 24px 0 12px;font-size:14px}
.evaluation-select-row{display:flex;align-items:stretch;gap:7px}.evaluation-select-row .evaluation-select-trigger{flex:1}.evaluation-help-button{width:36px;flex:0 0 36px;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:#334155;font-size:17px;font-weight:800;cursor:pointer}.evaluation-help-button:hover,.evaluation-help-button:focus{border-color:#2563eb;color:#2563eb}.evaluation-help-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.72)}.evaluation-help-modal[hidden]{display:none}.evaluation-help-dialog{position:relative;width:min(1200px,96vw);max-height:94vh;padding:10px;border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.4);overflow:auto}.evaluation-help-dialog img{display:block;width:100%;height:auto;border-radius:7px}.evaluation-help-close{position:sticky;z-index:2;top:0;float:right;width:36px;height:36px;margin:0 0 -36px;border:0;border-radius:50%;background:#0f172a;color:#fff;font-size:25px;line-height:1;cursor:pointer}.evaluation-help-open{overflow:hidden}
.scenario-launcher-question .validation-note{margin:0}.scenario-launcher-question .validation-note-class{min-width:42px;min-height:24px;padding:0 17px 0 9px;font-size:11px}
.validation-note-class{width:90px;min-width:90px;height:38px;min-height:38px;padding:0 24px 0 10px;clip-path:polygon(0 0,68px 0,90px 50%,68px 100%,0 100%)}
.validation-note-dev{--note-color:#eab308}
.scenario-launcher-validation-badge.validation-note{display:flex;align-items:center;justify-content:center;width:49.5px;height:20.9px;min-width:49.5px;min-height:20.9px;flex:0 0 49.5px;margin:0;overflow:visible}
.scenario-launcher-validation-badge .validation-note-class{width:90px;min-width:90px;height:38px;min-height:38px;padding:0 16px 0 0;clip-path:polygon(0 0,68px 0,90px 50%,68px 100%,0 100%);font-size:15px;scale:.55;transform-origin:center;align-items:center;justify-content:center;text-align:center}

/* Boîte à questions — profil BETA */
.beta-question-box-fab{
	position:fixed;
	right:1%;
	bottom:234px;
	display:grid;
	place-items:center;
	width:32px;
	height:32px;
	border-radius:50%;
	background:rgba(0,194,104,1);
	color:#fff;
	font-size:16px;
	text-decoration:none;
}
.beta-question-box-suggestion{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:40%;
	min-height:36px;
	margin:16px auto 0;
	padding:8px 12px;
	border:1px solid rgba(0,194,104,1);
	border-radius:47px;
	background:#fff;
	color:rgb(51,51,51);
	font-size:12px;
	text-align:center;
	text-decoration:none;
	text-transform:uppercase;
	cursor:pointer;
	max-width:300px;
}
.beta-question-box-suggestion i{color:rgba(0,194,104,1);font-size:20px}
.beta-question-box-suggestion:hover{background:rgba(0,194,104,1);color:#fff}
.beta-question-box-suggestion:hover i{color:#fff}
.beta-scenario-launcher-modal{overflow-y:auto}
.beta-scenario-launcher-header h2{display:flex;align-items:center;gap:12px;margin:0;font-size:20px}
.beta-scenario-launcher-header h2 i{color:rgba(0,194,104,1);font-size:28px}
.beta-context-chooser{padding:14px 20px 24px}
.beta-context-chooser[hidden],.beta-question-list[hidden]{display:none}
.beta-launcher-intro{margin:0 0 18px;color:#7b879b;line-height:1.45}
.beta-context-chooser hr{margin:0 0 20px;border:0;border-top:1px solid #e2e8f0}
.beta-context-chooser h3{margin:0 0 3px;font-size:16px}
.beta-context-chooser h3 + p{margin:0 0 20px;color:#8792a5;font-size:12px}
.beta-context-list{display:grid;gap:16px}
.beta-context-list button{
	width:100%;
	min-height:52px;
	padding:10px 18px;
	border:2px solid rgba(0,194,104,1);
	border-radius:999px;
	background:#fff;
	color:#172033;
	font-weight:700;
	cursor:pointer;
}
.beta-context-list button:hover,.beta-context-list button:focus{background:rgba(0,194,104,1);color:#fff}
.beta-current-context{display:flex;align-items:center;gap:12px;padding:12px 18px 0}
.beta-current-context strong{padding:8px 18px;border-radius:999px;background:rgba(0,194,104,1);color:#fff;font-size:13px}
.beta-current-context button{padding:0;border:0;background:none;color:rgba(0,194,104,1);text-decoration:underline;cursor:pointer}
.beta-scenario-launcher .scenario-launcher-play{background:rgba(0,194,104,1);color:#fff}
.beta-scenario-launcher .scenario-launcher-play:hover{background:#fff;color:rgba(0,194,104,1);outline:1px solid rgba(0,194,104,1)}
section.beta-question-list{display:flex;flex-direction:column;gap:8px}
.beta-question-list .scenario-launcher-search{padding-top:12px}
.beta-question-list .scenario-launcher-scenario>summary i{margin-left:auto;color:#7b879b;font-size:12px}
.beta-question-list .scenario-launcher-scenario:not([open])>summary i{transform:rotate(180deg)}
.beta-scenario-question{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:8px;min-height:46px;padding:7px 14px 7px 22px;border-bottom:1px solid #edf1f5;color:#30394b;font-size:13px}
.beta-scenario-question-info{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px}
.beta-scenario-question[hidden],.beta-question-list .scenario-launcher-scenario[hidden]{display:none}
.beta-scenario-question .scenario-launcher-play{width:28px;height:28px}
.beta-scenario-launcher .scenario-launcher-status:not(:empty){padding:10px 18px}

@media(max-width:480px){
	.beta-scenario-launcher-modal{max-height:calc(100dvh - 24px)}
}

/* Configuration LLM — lanceur DEV / CP */
.dev-llm-config {
    width: 100%;
    margin-bottom: 8px;
    border: 1px solid #cbd3e0;
    border-radius: 8px;
    background: #fff;
    color: #1f2937;
}

.dev-llm-config-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 7px 10px;
    border: 0;
    border-radius: inherit;
    background: #f8fafc;
    color: inherit;
    cursor: pointer;
    font-weight: 700;
}

.dev-llm-config-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 10px;
    border-top: 1px solid #e2e8f0;
}

.dev-llm-config-panel[hidden],
.dev-llm-modal[hidden],
.dev-llm-config-error[hidden],
.dev-llm-form-error[hidden] { display: none !important; }

.dev-llm-config-section {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.dev-llm-config-section h3 { margin: 0; font-size: 13px; }
.dev-llm-config label { display: flex; flex-direction: column; gap: 4px; font-size: 11px; }
.dev-llm-config select,
.dev-llm-config input,
.dev-llm-config textarea { width: 100%; padding: 6px 10px; border: 1px solid #cbd3e0; border-radius: 5px; background: #fff; }
.dev-llm-config textarea { resize: vertical; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; line-height: 1.45; }
.dev-llm-config .is-disabled { opacity: .5; }

.dev-llm-config-metadata {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 3px 8px;
    margin: 0;
    font-size: 10px;
}
.dev-llm-config-metadata dt { color: #64748b; }
.dev-llm-config-metadata dd { margin: 0; overflow-wrap: anywhere; }
.dev-llm-config-metadata .is-different { background: #fff3cd; }
.dev-llm-config-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.dev-llm-config-fresh { grid-column: 1 / -1; flex-direction: row !important; align-items: center; }
.dev-llm-config-fresh input { width: auto; }

.dev-llm-config-error,
.dev-llm-form-error { padding: 7px 10px; border-radius: 5px; background: #fff3cd; color: #7c5700; font-size: 11px; }
.dev-llm-config-error { margin: 8px 10px 0; }

.dev-llm-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: grid;
    place-items: center;
    padding: 18px;
}
.dev-llm-modal-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .58); }
.dev-llm-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(900px, 96vw);
    max-height: 92vh;
    overflow: auto;
    padding: 16px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(15, 23, 42, .25);
}
.dev-llm-modal-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.dev-llm-modal-dialog > header h2 { margin: 0; font-size: 18px; }
.dev-llm-modal-dialog > header button { border: 0; background: transparent; font-size: 24px; cursor: pointer; }
.dev-llm-modal-dialog form { display: flex; flex-direction: column; gap: 10px; }
.dev-llm-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.dev-llm-modal-dialog footer { display: flex; justify-content: flex-end; gap: 8px; }
.dev-llm-compare-dialog { width: min(1200px, 96vw); }
.dev-llm-compare-selects,
.dev-llm-compare-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dev-llm-compare-content section { min-width: 0; }
.dev-llm-compare-content pre { max-height: 58vh; overflow: auto; padding: 10px; background: #f8fafc; font-size: 11px; white-space: pre-wrap; }
.dev-llm-compare-content pre span { display: block; min-height: 1.2em; }
.dev-llm-compare-content pre span.is-different { background: #fff3cd; }
body.dev-llm-modal-open { overflow: hidden; }

.dev-llm-fingerprint {
    position: relative;
    clear: both;
    margin-top: 10px;
    padding-top: 7px;
    border-top: 1px solid #d8dee8;
    color: #64748b;
    font-size: 10px;
    cursor: pointer;
}
.dev-llm-fingerprint.is-warning { color: #b45309; border-color: #f59e0b; }
.dev-llm-fingerprint.is-refused { color: #b91c1c; border-color: #ef4444; }
.dev-llm-fingerprint-details {
    display: none;
    position: absolute;
    left: 0;
    bottom: calc(100% + 5px);
    z-index: 30;
    width: min(520px, 85vw);
    max-height: 360px;
    overflow: auto;
    padding: 10px;
    border: 1px solid #cbd3e0;
    border-radius: 6px;
    background: #fff;
    color: #1f2937;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .18);
}
.dev-llm-fingerprint:hover .dev-llm-fingerprint-details,
.dev-llm-fingerprint:focus .dev-llm-fingerprint-details,
.dev-llm-fingerprint.is-open .dev-llm-fingerprint-details { display: block; }
.dev-llm-fingerprint-details pre { margin: 0 0 8px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 10px; }
.dev-llm-like { margin-top: 6px; border: 0; background: transparent; cursor: pointer; }
.dev-llm-like.is-liked { opacity: .55; }

@media (max-width: 480px) {
    .dev-llm-config-panel,
    .dev-llm-form-grid,
    .dev-llm-compare-content { grid-template-columns: 1fr; }
    .dev-llm-compare-selects { grid-template-columns: 1fr; }
}


.chat-recherche-fournisseur-placeholder {
    margin: 0;
    color: var(--grey);
    font-size: 12px;
    font-style: italic;
}

.chat-recherche-fournisseur-placeholder[hidden] {
    display: none !important;
}
