/* ===== CRM Instant Lunch — app.css v1.6.0 ===== */
.screen {
display:none;
}

.page-id-8 .screen,
.page-id-9 .screen,
.page-id-45 .screen,
.page-id-46 .screen,
.page-id-47 .screen,
.page-id-10 .screen {
display:block;
}

/* .cell-actions { */
/* display:none!important; */
/* } */

.page-id-8 .cell-actions,
.page-id-9 .cell-actions,
.page-id-45 .cell-actions,
.page-id-46 .cell-actions,
.page-id-10 .cell-actions {
display:flex!important;
}

/* .lead-title-badges { */
/* display:none!important; */
/* } */

.disc-chat-btn {
display:none!important;
}

/* .sidebar__search { */
/* display:none!important; */
/* } */

body .modal__header-right .disc-chat-btn {
display:none!important;
}

/* .btn-activity-ctx { */
/* display:none!important; */
/* } */

/* .cell-actions .cell-action[data-action-contact-mail] { */
/* .cell-actions a.cell-action[href^="tel:"] { */
/* display: none!important; */
/* } */

/* .cell-action[data-action-contact-mail], */
/* a.cell-action[href^="tel:"], */
/* .btn-activity-ctx, */
.disc-chat-btn {
display: none!important;
}
/* --- Masquage thème TT5 --- */
footer.wp-block-template-part,
.wp-site-blocks > footer{ display: none !important; }
body.is-app header.wp-block-template-part,
body.is-app .wp-site-blocks > header,
body.is-app h1.wp-block-post-title,
body.is-app .wp-block-post-title{ display: none !important; }
body.is-app .wp-site-blocks,
body.is-app main,
body.is-app .wp-block-post-content{ padding: 0 !important; margin: 0 !important; max-width: none !important; }
body.is-app .wp-block-post-content > *{ max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body.is-app{ background: #eceff8; }

/* --- Layout --- */
.app-shell{ display: flex; min-height: 100vh; font-size: 14px; }
.sidebar{
	width: 230px; flex-shrink: 0; background: #292f4c; color: #fff;
	padding: 20px 12px; position: sticky; top: 0; height: 100vh;
	box-sizing: border-box; overflow-y: auto;
}
.sidebar__brand{ font-size: 18px; font-weight: 700; padding: 0 12px 20px; color: #fff; }
.sidebar__nav{ display: flex; flex-direction: column; gap: 2px; }
.sidebar__link{
	display: flex; align-items: center; gap: 10px; padding: 10px 12px;
	border-radius: 6px; color: #d5d8e4; text-decoration: none; font-size: 14px; transition: background .15s;
}
.sidebar__link:hover{ background: rgba(255,255,255,.08); color: #fff; }
.sidebar__link.is-active{ background: #0073ea; color: #fff; font-weight: 600; }
.sidebar__icon{ font-size: 16px; width: 20px; text-align: center; }
.app-content{ flex: 1; padding: 28px 32px; min-width: 0; overflow-x: hidden; }
.screen{ background: #fff; border-radius: 0; padding: 24px; box-shadow: 0 1px 3px rgba(41,47,76,.08); min-height: calc(100vh - 80px); }

/* --- Toolbar --- */
.toolbar{ display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.screen-title{ font-size: 24px; margin: 0; flex: 1; }

/* --- Boutons --- */
.btn{
	padding: 8px 16px; border: 1px solid #c3c6d4; border-radius: 4px;
	background: #fff; cursor: pointer; font-size: 14px; transition: background .15s;
}
.btn:hover{ background: #eceff8; }
.btn--primary{ background: #0073ea; border-color: #0073ea; color: #fff; }
.btn--primary:hover{ background: #0060c2; }
.btn--danger{ background: #fff; border-color: #e2445c; color: #e2445c; }
.btn--danger:hover{ background: #fdeef1; }
.btn--sm{ padding: 5px 10px; font-size: 13px; }

/* --- DataTables overrides --- */
.dt-top{
	display: flex; align-items: center; justify-content: space-between;
	gap: 12px; margin-bottom: 12px; flex-wrap: wrap;
}
.dt-bottom{
	display: flex; align-items: center; justify-content: space-between;
	gap: 12px; margin-top: 12px; flex-wrap: wrap;
}
/* Table avec outline (compatible border-collapse) */
.dataTables_wrapper table.dataTable{ margin: 0 !important; border-collapse: collapse !important; }
table.datatable,
table.dataTable{
	width: calc(100% - 1px) !important; font-size: 14px; background: #fff;
	border: none !important;
	outline: 1px solid #d0d4e4;
	outline-offset: -1px;
	border-radius: 0 !important;
}
.table-wrap,
.dataTables_wrapper{
	overflow: hidden;
	border-radius: 8px;
}
table.dataTable thead th{
	background: #f5f6f8; text-align: left; padding: 10px 12px;
	font-weight: 600; color: #676879; border-bottom: 1px solid #d0d4e4;
	white-space: nowrap;
}
table.dataTable thead th.sorting::after,
table.dataTable thead th.sorting_asc::after,
table.dataTable thead th.sorting_desc::after{ opacity: .5; }
table.dataTable tbody td{
	padding: 8px 12px; border-bottom: 1px solid #ebedf3;
	color: #323338; vertical-align: middle;
}
table.dataTable tbody tr:last-child td{ border-bottom: none; }
table.dataTable tbody tr:hover td{ background: rgba(0, 115, 234, 0.06); }
.dataTables_length select,
.dataTables_filter input{
	padding: 6px 10px; border: 1px solid #c3c6d4; border-radius: 4px;
	font-size: 13px; font-family: inherit;
}
.dataTables_filter input{ width: 220px; }
.dataTables_info{ font-size: 13px; color: #676879; }
.dataTables_paginate{ display: flex; gap: 4px; }
.dataTables_paginate .paginate_button{
	padding: 5px 10px; border: 1px solid #c3c6d4; border-radius: 4px;
	cursor: pointer; font-size: 13px; background: #fff;
}
.dataTables_paginate .paginate_button.current{ background: #0073ea; color: #fff !important; border-color: #0073ea; }
.dataTables_paginate .paginate_button:hover:not(.current){ background: #eceff8; }
.dataTables_paginate .paginate_button.disabled{ opacity: .4; cursor: default; }
.dataTables_processing{
	position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
	background: rgba(255,255,255,.9); padding: 12px 24px; border-radius: 6px;
	box-shadow: 0 2px 12px rgba(0,0,0,.15); font-size: 14px; color: #676879;
}
.dataTables_wrapper{ position: relative; }

/* --- Filtres --- */
.filter-bar{ display: flex; align-items: center; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.filter-select{ padding: 7px 10px; border: 1px solid #c3c6d4; border-radius: 4px; font-size: 13px; background: #fff; min-width: 160px; }

/* --- Pills statut --- */
.pill{
	display: inline-block; padding: 4px 12px; border-radius: 4px; color: #fff;
	font-size: 13px; font-weight: 500; text-align: center; white-space: nowrap; cursor: pointer;
}

/* --- Pills contact/client avec actions hover --- */
.cell-link-wrap{ overflow: hidden; min-width: 240px; width: 240px; max-width: 240px; }
.cell-pill{
	display: inline-flex; align-items: center; padding: 4px 10px;
	background: #eef4fd; border: 1px solid #c3d8f7; border-radius: 5px;
	color: #0073ea; font-weight: 500; font-size: 13px; white-space: nowrap;
	cursor: default; transition: background .15s, border-color .15s;
}
.cell-pill:hover{ background: #d6eaff; border-color: #0073ea; }
.cell-pill-label{ flex-shrink: 0; max-width: 140px; overflow: hidden; text-overflow: ellipsis; }
.cell-actions{ display: inline-flex; align-items: center; gap: 1px; max-width: 0; overflow: hidden; opacity: 0; transition: max-width .15s, opacity .12s, margin-left .15s; margin-left: 0; }
.cell-pill:hover .cell-actions{ max-width: 80px; opacity: 1; margin-left: 5px; }
.cell-pill--client:hover .cell-actions{ max-width: 28px; }
.cell-action{
	display: inline-flex; align-items: center; justify-content: center;
	width: 22px; height: 22px; border-radius: 4px; color: #676879;
	cursor: pointer; text-decoration: none; transition: background .12s, color .12s; flex-shrink: 0;
}
.cell-action:hover{ background: rgba(0,0,0,.08); color: #0073ea; }
.cell-action svg{ display: block; pointer-events: none; width: 13px; height: 13px; }
.cell-assign{ cursor: pointer; }
.cell-assign:hover .avatar{ opacity: .8; }

/* --- Avatars --- */
.avatar{ display: inline-flex; align-items: center; gap: 8px; }
.avatar img, .avatar__ph{
	width: 30px; height: 30px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
}
.avatar__ph{
	display: inline-flex; align-items: center; justify-content: center;
	background: #676879; color: #fff; font-size: 12px; font-weight: 600;
}

/* --- Popovers statut / commercial --- */
.status-popover{
	position: fixed; z-index: 100002; background: #fff; border-radius: 8px;
	box-shadow: 0 10px 40px rgba(0,0,0,.25); padding: 12px;
	display: grid; grid-template-columns: repeat(2, 170px); gap: 8px;
}
.status-popover .pill{ cursor: pointer; width: 100%; box-sizing: border-box; padding: 7px 10px; }
.status-popover .pill:hover{ filter: brightness(.92); }
.assign-popover{
	position: fixed; z-index: 100002; background: #fff; border-radius: 8px;
	box-shadow: 0 10px 40px rgba(0,0,0,.25); min-width: 200px; overflow: hidden;
}
.assign-popover__title{
	padding: 10px 14px; font-size: 12px; font-weight: 600; color: #676879;
	border-bottom: 1px solid #ebedf3; text-transform: uppercase; letter-spacing: .05em;
}
.assign-popover__item{
	display: flex; align-items: center; gap: 8px; padding: 9px 14px; cursor: pointer; font-size: 14px;
}
.assign-popover__item:hover{ background: #eef4fd; }
.assign-popover__item img{ width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }
.assign-popover__item .avatar__ph{ width: 26px; height: 26px; font-size: 11px; }

/* --- Modals --- */
.modal-overlay{
	position: fixed; inset: 0; background: rgba(41,47,76,.55);
	display: flex; align-items: center; justify-content: center; z-index: 99999; padding: 20px;
}
.modal{
	background: #fff; border-radius: 8px; width: 700px; max-width: 100%;
	max-height: 90vh; overflow-y: auto; box-shadow: 0 15px 50px rgba(0,0,0,.3);
}
/* modal__header défini dans v1.8 patches */
.modal__header h2{ margin: 0; font-size: 18px; }
.modal__close{ background: none; border: none; font-size: 22px; cursor: pointer; color: #676879; }
.modal__body{ padding: 20px 24px; }
.modal__footer{
	display: flex; justify-content: space-between; gap: 12px;
	padding: 16px 24px; border-top: 1px solid #ebedf3;
	position: sticky; bottom: 0; background: #fff; z-index: 2;
}
.modal__actions{ display: flex; gap: 8px; margin-left: auto; }

/* Bannière d'erreurs */
.modal-errors{
	background: #fef2f2; border: 1px solid #fca5a5; border-radius: 6px;
	padding: 12px 16px; margin-bottom: 16px; color: #b91c1c; font-size: 14px;
}

/* --- Sections dans les modals --- */
.modal-section{ border: 1px solid #ebedf3; border-radius: 8px; overflow: visible; margin-bottom: 16px; }
.modal-section__title{
	background: #f5f6f8; padding: 11px 18px; font-weight: 700;
	font-size: 14px; color: #323338; border-bottom: 1px solid #ebedf3;
	display: flex; align-items: center; gap: 8px;
}
.modal-section .form-grid{ padding: 18px; }

/* --- Formulaire --- */
.form-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-field{ display: flex; flex-direction: column; gap: 4px; position: relative; }
.form-field--full{ grid-column: 1 / -1; }
.form-field label{ font-size: 13px; color: #676879; }
.form-field input,
.form-field select,
.form-field textarea{
	padding: 8px 10px; border: 1px solid #c3c6d4; border-radius: 4px;
	font-size: 14px; font-family: inherit; box-sizing: border-box; width: 100%;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{ outline: 2px solid #0073ea; outline-offset: -1px; }
.form-field.has-error input,
.form-field.has-error textarea,
.form-field.has-error select,
.form-field.has-error .select2-selection{ border-color: #e2445c !important; }

/* --- Section client inline dans popup contact --- */
.client-create-toggle{ display: inline-block; margin-top: 6px; font-size: 13px; color: #0073ea; text-decoration: none; }
.client-create-toggle:hover{ text-decoration: underline; }
.client-inline{ border-top: 1px dashed #c3d8f7; margin: 0 18px 10px; padding-top: 14px; }
.client-inline__header{
	display: flex; align-items: center; justify-content: space-between;
	font-size: 13px; font-weight: 700; color: #0073ea; margin-bottom: 12px;
}
.client-inline__close{ background: none; border: none; font-size: 18px; cursor: pointer; color: #676879; padding: 0 4px; }
.client-inline .form-grid{ padding: 0; }
.client-hint{ font-size: 12px; color: #676879; margin-top: 5px; }

/* --- Autocomplete Sirene --- */
.sirene-results{
	position: absolute; top: 100%; left: 0; right: 0; background: #fff;
	border: 1px solid #c3c6d4; border-radius: 0 0 6px 6px;
	box-shadow: 0 10px 30px rgba(0,0,0,.15); z-index: 100002; max-height: 260px; overflow-y: auto;
}
.sirene-results__item{ padding: 8px 12px; cursor: pointer; border-bottom: 1px solid #f0f1f5; }
.sirene-results__item:hover{ background: #eef4fd; }
.sirene-results__item small{ display: block; color: #676879; }

/* --- Adresses de livraison --- */
.addr-add-wrap{ padding: 12px 18px 14px; }
.addr-rows{ padding: 8px 18px 0; }
.addr-row{
	border: 1px solid #ebedf3; border-radius: 6px; margin-bottom: 12px; overflow: visible;
}
.addr-row__header{
	display: flex; align-items: center; gap: 8px; padding: 8px 10px;
	background: #f5f6f8; border-bottom: 1px solid #ebedf3;
}
.addr-label{ flex: 1; padding: 5px 8px; border: 1px solid #c3c6d4; border-radius: 4px; font-size: 13px; font-style: italic; }
.addr-label.has-error{ border-color: #e2445c; }
.addr-remove{ padding: 4px 8px; font-size: 14px; }
.addr-fields{ padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.addr-fields input, .addr-fields select{
	width: 100%; padding: 7px 10px; border: 1px solid #c3c6d4; border-radius: 4px;
	font-size: 14px; box-sizing: border-box;
}
.addr-row__inline{ display: grid; grid-template-columns: 100px 1fr 1fr; gap: 8px; }
.addr-row__inline .select2-container{ width: 100% !important; }

/* --- Repeater contacts client --- */
.subcontacts__list{ margin-bottom: 4px; }
.subcontact-existing{
	display: flex; align-items: center; justify-content: space-between;
	gap: 12px; padding: 9px 18px; border-bottom: 1px solid #ebedf3;
}
.subcontact-existing:last-child{ border-bottom: none; }
.subcontact-existing__info{ display: flex; align-items: center; gap: 14px; flex: 1; font-size: 14px; flex-wrap: wrap; }
.subcontact-existing__name{ font-weight: 600; }
.subcontact-existing__info span{ color: #676879; }
.subcontacts__empty{ padding: 12px 18px; color: #676879; font-size: 14px; font-style: italic; }

/* Repeater ajout contact client */
.subcontacts__rows{ padding: 0 18px; }
.subcontact-row{
	border: 1px solid #ebedf3; border-radius: 6px; padding: 14px;
	margin-bottom: 10px;
}
.subcontact-row .form-grid{ gap: 10px; }

/* --- Popup Lead --- */
.lead-recu{ font-size: 12px; color: #676879; margin-bottom: 16px; text-align: right; }
.lead-section{ margin-bottom: 16px; border: 1px solid #ebedf3; border-radius: 8px; overflow: hidden; }
.lead-section__title{
	background: #f5f6f8; padding: 10px 16px; font-weight: 700;
	font-size: 14px; color: #323338; border-bottom: 1px solid #ebedf3;
}
.lead-section__title--contact{ display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lead-section__title-left{ display: flex; align-items: center; gap: 6px; }
.lead-title-badges{ display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.lead-section .lead-details{ margin: 0; }
.lead-section .lead-details th,
.lead-section .lead-details td{ padding: 8px 16px; }
.lead-details{ width: 100%; border-collapse: collapse; font-size: 14px; }
.lead-details th{ text-align: left; padding: 6px 12px 6px 0; color: #676879; font-weight: 600; white-space: nowrap; vertical-align: middle; width: 40%; }
.lead-details td{ padding: 6px 0; color: #323338; }
.lead-details tr{ border-bottom: 1px solid #f0f1f5; }
.lead-id-card{ padding: 14px 16px; border-left: 3px solid #d0d4e4; }
.lead-id-card__name{ font-size: 18px; font-weight: 700; color: #323338; margin-bottom: 12px; }
.lead-id-card__grid{ display: grid; grid-template-columns: 20px 1fr; gap: 6px 10px; align-items: center; font-size: 14px; }
.lead-id-card__grid span:nth-child(odd){ text-align: center; color: #676879; }
.lead-com-inline{ display: flex; align-items: center; gap: 8px; }
.lead-com-inline select{ padding: 6px 8px; border: 1px solid #c3c6d4; border-radius: 4px; font-size: 13px; flex: 1; }
.contact-id-badge{
	display: inline-block; background: #e6faf2; color: #00c875;
	border: 1px solid #00c875; border-radius: 20px; padding: 2px 10px;
	font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer;
}
.contact-id-badge:hover{ background: #c5f0df; }
.contact-id-badge--client{ background: #eceff8; color: #323338; border-color: #676879; }
.contact-id-badge--client:hover{ background: #d8dce8; }

/* --- Select2 dans les modals --- */
.modal .select2-container{ width: 100% !important; }
.modal .select2-selection--single{ height: 38px; border: 1px solid #c3c6d4; border-radius: 4px; }
.modal .select2-selection__rendered{ line-height: 36px !important; }
.modal .select2-selection__arrow{ height: 36px !important; }
.pac-container{ z-index: 100003 !important; }

/* --- Paramètres --- */
.settings-card{ max-width: 560px; }
.settings-row{ display: block; margin-bottom: 20px; font-size: 15px; cursor: pointer; }
.settings-row input{ margin-right: 8px; transform: scale(1.2); }
.settings-hint{ display: block; color: #676879; font-size: 13px; margin: 4px 0 0; }

/* --- Responsive --- */
@media (max-width: 900px){
	.app-shell{ flex-direction: column; }
	.sidebar{ width: 100%; height: auto; position: static; display: flex; align-items: center; gap: 12px; padding: 12px; overflow-x: auto; }
	.sidebar__brand{ padding: 0 8px; white-space: nowrap; }
	.sidebar__nav{ flex-direction: row; }
	.sidebar__link span:last-child{ display: none; }
	.app-content{ padding: 16px; }
	.form-grid{ grid-template-columns: 1fr; }
	.toolbar{ flex-wrap: wrap; }
	.status-popover{ grid-template-columns: repeat(2, 150px); }
	.addr-row__inline{ grid-template-columns: 1fr 1fr; }
}

/* ===== v1.6 corrections ===== */

/* Padding WP block group */
.wp-block-group.alignfull,
.has-global-padding,
.is-layout-constrained,
.wp-block-group-is-layout-constrained{ padding: 0 !important; margin: 0 !important; }

/* DataTables : pas de zebra striping */
table.dataTable tbody tr{ background: #fff !important; }
table.dataTable.stripe tbody tr.odd,
table.dataTable.display tbody tr.odd{ background: #fff !important; }
table.dataTable.hover tbody tr:hover,
table.dataTable.display tbody tr:hover{ background: rgba(0, 115, 234, 0.06) !important; }

/* Centrage processing relatif au tableau, pas à l'écran */
.dataTables_wrapper{ position: relative; overflow: hidden; }
.dataTables_processing{
	position: absolute !important;
	top: 100px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	margin: 0 !important;
	width: auto !important;
	max-width: 280px !important;
	min-width: 160px !important;
	text-align: center !important;
	white-space: nowrap;
	z-index: 10;
	opacity: 1 !important;
	background: rgba(255,255,255,.97) !important;
	border: 1px solid #d0d4e4 !important;
	border-radius: 6px !important;
	padding: 10px 20px !important;
	box-shadow: 0 4px 16px rgba(41,47,76,.12) !important;
}
.dataTables_wrapper{ min-height: 200px; }

/* Input erreur dans addr-row (sans .form-field parent) */
.input-error{ border-color: #e2445c !important; background: #fff5f5 !important; }

/* Bouton supprimer contact dans popup client → croix */
.subcontact-remove-x{
	background: none; border: none; font-size: 18px; line-height: 1;
	color: #e2445c; cursor: pointer; padding: 4px 6px; align-self: flex-end;
}
.subcontact-remove-x:hover{ color: #b91c1c; }

/* Repeater contact client : moins de padding */
.subcontact-row{ padding: 10px; margin-bottom: 8px; }
.subcontact-row .form-grid{ gap: 8px; }

/* Select2 : taille uniforme avec les inputs */
.select2-container--default .select2-selection--single{
	height: 36px !important;
	font-size: 14px !important;
	border: 1px solid #c3c6d4 !important;
	border-radius: 4px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
	line-height: 34px !important;
	font-size: 14px !important;
	padding-left: 10px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
	height: 34px !important;
}
/* Select2 multi dans filtres */
.select2-container--default .select2-selection--multiple{
	border: 1px solid #c3c6d4 !important;
	border-radius: 4px !important;
	min-height: 36px !important;
	font-size: 14px !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
	font-size: 12px !important;
}
.select2-dropdown{ font-size: 14px !important; }

/* Toolbar search */
.dt-custom-search{
	padding: 8px 12px; border: 1px solid #c3c6d4; border-radius: 4px;
	font-size: 14px; width: 220px;
}

/* Pill clickable dans tableau */
table.dataTable tbody .pill{ cursor: pointer; }

/* ===== v1.6.1 — UI/UX moderne ===== */

/* --- Fix zebra + bordure DataTables --- */
table.dataTable{
	border: 1px solid #e2e5ef !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	box-shadow: 0 1px 4px rgba(41,47,76,.06);
}
table.dataTable thead th:first-child,
table.dataTable tbody td:first-child{
	background-color: inherit !important;
}
table.dataTable.stripe tbody tr.odd td,
table.dataTable.display tbody tr.odd td,
table.dataTable tbody tr.odd td{
	background: #fff !important;
}
.dataTables_wrapper table.dataTable{ border-collapse: collapse !important; }

/* --- Filtres leads — Select2 multi redesigné --- */
.filter-bar{
	display: flex; align-items: center; gap: 10px; margin-bottom: 16px; flex-wrap: wrap;
}
.filter-bar .select2-container{ min-width: 200px !important; }
.filter-bar .select2-container--default .select2-selection--multiple{
	border: 1px solid #d0d4e4 !important;
	border-radius: 6px !important;
	background: #fff !important;
	min-height: 36px !important;
	padding: 2px 4px !important;
	box-shadow: 0 1px 2px rgba(41,47,76,.05);
	transition: border-color .15s, box-shadow .15s;
}
.filter-bar .select2-container--default.select2-container--focus .select2-selection--multiple{
	border-color: #0073ea !important;
	box-shadow: 0 0 0 3px rgba(0,115,234,.12) !important;
}
.filter-bar .select2-container--default .select2-selection--multiple .select2-selection__choice{
	background: #0073ea !important;
	border: none !important;
	color: #fff !important;
	border-radius: 4px !important;
	padding: 2px 8px 2px 6px !important;
	font-size: 12px !important;
	display: inline-flex; align-items: center; gap: 4px;
	margin: 2px !important;
}
.filter-bar .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
	color: rgba(255,255,255,.7) !important;
	font-size: 14px; margin: 0 !important;
	order: 1;
}
.filter-bar .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{
	color: #fff !important;
}
.filter-bar .select2-container--default .select2-selection--multiple .select2-selection__rendered{
	padding: 0 !important;
}
.filter-bar .select2-container--default .select2-search--inline .select2-search__field{
	font-size: 13px !important; color: #323338 !important; margin: 2px !important;
	height: 28px !important;
}
/* Placeholder du select2 multi filtre */
.filter-bar .select2-container--default .select2-selection--multiple .select2-selection__placeholder{
	color: #676879; font-size: 13px; line-height: 30px; padding-left: 6px;
}

/* Dropdown select2 propre */
.select2-dropdown{
	border: 1px solid #d0d4e4 !important;
	border-radius: 6px !important;
	box-shadow: 0 8px 24px rgba(41,47,76,.12) !important;
	font-size: 14px !important;
	overflow: hidden;
}
/* Forcer le dropdown SOUS l'input, jamais au-dessus */

.select2-container--default .select2-results__option{
	padding: 8px 12px !important;
	font-size: 14px !important;
	color: #323338 !important;
}
.select2-container--default .select2-results__option--highlighted{
	background: #eef4fd !important;
	color: #0073ea !important;
}
.select2-container--default .select2-results__option[aria-selected="true"]{
	background: #f0f7ff !important;
	color: #0073ea !important;
	font-weight: 600;
}
.select2-search--dropdown .select2-search__field{
	border: 1px solid #d0d4e4 !important;
	border-radius: 4px !important;
	padding: 6px 10px !important;
	font-size: 13px !important;
	outline: none !important;
}
.select2-search--dropdown .select2-search__field:focus{
	border-color: #0073ea !important;
}

/* --- Toast notifications --- */
.crm-toast{
	position: fixed; bottom: -80px; right: 24px;
	background: #fff; border-radius: 8px;
	box-shadow: 0 8px 28px rgba(41,47,76,.18);
	padding: 14px 18px; display: flex; align-items: flex-start; gap: 12px;
	max-width: 380px; font-size: 14px; color: #323338;
	border-left: 4px solid #0073ea;
	transition: bottom .35s cubic-bezier(.34,1.56,.64,1), opacity .35s;
	opacity: 0; z-index: 200000;
}
.crm-toast--visible{ bottom: 24px; opacity: 1; }
.crm-toast--success{ border-left-color: #00c875; }
.crm-toast--warn{ border-left-color: #e2445c; }
.crm-toast--error{ border-left-color: #e2445c; }
.crm-toast__icon{ font-size: 18px; flex-shrink: 0; margin-top: 1px; }
.crm-toast__msg{ flex: 1; line-height: 1.5; }
.crm-toast__close{
	background: none; border: none; font-size: 18px; cursor: pointer;
	color: #676879; padding: 0; line-height: 1; flex-shrink: 0; margin-top: 1px;
}
.crm-toast__close:hover{ color: #323338; }

/* --- Boutons suppression unifiés --- */
/* Toujours utiliser .btn.btn--danger pour supprimer */
.addr-remove,
.subcontact-remove-x{
	background: none !important;
	border: 1px solid #e2445c !important;
	color: #e2445c !important;
	padding: 5px 10px !important;
	border-radius: 4px !important;
	cursor: pointer !important;
	font-size: 15px !important;
	line-height: 1 !important;
	transition: background .12s !important;
}
.addr-remove:hover,
.subcontact-remove-x:hover{
	background: #fdeef1 !important;
}

/* --- Contacts dans popup client — style tableau --- */
.subcontacts__list{
	margin-bottom: 4px;
}
.subcontact-existing{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr auto;
	gap: 0;
	align-items: center;
	padding: 9px 18px;
	border-bottom: 1px solid #ebedf3;
	font-size: 13px;
}
.subcontact-existing:first-child{
	border-top: 1px solid #ebedf3;
}
.subcontact-existing:last-child{ border-bottom: none; }
.subcontact-existing__name{ font-weight: 600; color: #323338; }
.subcontact-existing span:not(.subcontact-existing__name){ color: #676879; }

/* --- Input erreur addr-row --- */
.input-error{
	border-color: #e2445c !important;
	background: #fff8f8 !important;
	box-shadow: 0 0 0 2px rgba(226,68,92,.1) !important;
}

/* --- Bannière erreurs popup --- */
.modal-errors{
	background: #fff0f2;
	border: 1px solid #fca5b4;
	border-left: 4px solid #e2445c;
	border-radius: 6px;
	padding: 12px 16px;
	margin-bottom: 16px;
	color: #b91c1c;
	font-size: 14px;
	display: none;
}



/* ===== v1.6.2 stabilisation ===== */

/* Table contacts dans popup client */
.subcontacts-table{
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	margin: 0;
}
.subcontacts-table thead tr{
	background: #f5f6f8;
	border-top: 1px solid #ebedf3;
	border-bottom: 1px solid #ebedf3;
}
.subcontacts-table th{
	padding: 8px 14px;
	text-align: left;
	font-weight: 600;
	color: #676879;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.subcontacts-table td{
	padding: 9px 14px;
	border-bottom: 1px solid #ebedf3;
	color: #323338;
	vertical-align: middle;
}
.subcontacts-table tbody tr:last-child td{ border-bottom: none; }
.subcontacts-table tbody tr:hover td{ background: #f9fafb; }
.subcontacts-table .sc-name{ font-weight: 600; color: #323338; }
.subcontacts-table td:last-child{ text-align: right; padding-right: 10px; }

/* Suppression règles .subcontact-existing grid (remplacées par table) */
.subcontact-existing{ display: none; }

/* Padding entre header section et premier subcontact-row */
.subcontacts__rows{ padding: 14px 18px 0; }
.subcontacts__rows .subcontact-row:first-child{ margin-top: 0; }
.subcontacts__rows:empty{ padding: 0; }

/* Select2 dropdown positioning */
.select2-dropdown--below{ margin-top: 32px; }
.select2-dropdown--above{ margin-bottom: 2px; }

/* First col : même BG que les autres */
table.dataTable thead tr th:first-child{ background: #f5f6f8 !important; }
table.dataTable tbody tr td:first-child{ background: transparent !important; }
/* Le survol doit repeindre la ligne entière, première colonne comprise */
table.dataTable tbody tr:hover td:first-child{
	background: rgba(0, 115, 234, 0.06) !important;
}

/* Override DataTables qui force du padding sur les wrappers */
div.dataTables_wrapper div.dataTables_scroll,
div.dataTables_wrapper{ border-radius: 8px; }

/* ===== Commercial hérité du lead — champ verrouillé ===== */
.commercial-locked{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	background: #f5f6f8;
	border: 1px solid #d0d4e4;
	border-radius: 4px;
	font-size: 14px;
	color: #323338;
}
.commercial-locked__badge{
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	background: #eef4fd;
	color: #0073ea;
	border: 1px solid #c3d8f7;
	border-radius: 20px;
	padding: 2px 8px;
	white-space: nowrap;
}

/* ===== v1.7 — Timeline + Settings + Brands ===== */

/* --- Settings tabs --- */
.settings-tabs{
	display: flex; gap: 2px; border-bottom: 2px solid #ebedf3;
	margin-bottom: 24px;
}
.settings-tab{
	padding: 10px 20px; font-size: 14px; font-weight: 500; color: #676879;
	text-decoration: none; border-radius: 6px 6px 0 0;
	border: 1px solid transparent; border-bottom: none; margin-bottom: -2px;
	transition: color .15s, background .15s;
}
.settings-tab:hover{ color: #323338; background: #f5f6f8; }
.settings-tab.is-active{
	color: #0073ea; border-color: #ebedf3; background: #fff;
	border-bottom-color: #fff; font-weight: 700;
}
.settings-panel{ padding: 4px 0; }
.settings-card{ max-width: 760px; }
.settings-card__header{
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 16px;
}
.settings-card__header h3{ margin: 0; }
.settings-url-box{
	background: #f5f6f8; border: 1px solid #ebedf3; border-radius: 6px;
	padding: 10px 14px; font-size: 13px; font-family: monospace; color: #323338;
	word-break: break-all; margin-bottom: 4px;
}

/* Brand dot */
.brand-dot{
	display: inline-block; width: 10px; height: 10px; border-radius: 50%;
	margin-right: 4px; vertical-align: middle;
}

/* --- Timeline popup --- */
.timeline{ display: flex; flex-direction: column; gap: 0; }

.tl-item{
	display: flex; gap: 14px; padding: 14px 0;
	border-bottom: 1px solid #ebedf3; position: relative;
}
.tl-item:last-child{ border-bottom: none; }

.tl-icon{
	width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
	font-size: 15px; color: #fff; margin-top: 2px;
}

.tl-content{ flex: 1; min-width: 0; }

.tl-header{
	display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
	margin-bottom: 6px;
}
.tl-title{ font-weight: 600; font-size: 14px; color: #323338; flex: 1; }
.tl-date{ font-size: 12px; color: #676879; white-space: nowrap; }
.tl-agent{
	font-size: 11px; background: #eef4fd; color: #0073ea;
	border-radius: 20px; padding: 2px 8px; white-space: nowrap;
}
.tl-delete{
	background: none; border: none; color: #c4c4c4; cursor: pointer;
	font-size: 13px; padding: 2px 4px; border-radius: 4px; line-height: 1;
}
.tl-delete:hover{ color: #e2445c; background: #fdeef1; }

.tl-body{
	font-size: 14px; color: #323338; line-height: 1.6;
	white-space: pre-wrap; margin-bottom: 8px;
}

.tl-call-meta{
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	font-size: 13px; color: #676879; margin-bottom: 8px;
}
.tl-call-meta .pill{ font-size: 12px; padding: 2px 10px; }

.tl-summary{
	background: #f5f6f8; border-left: 3px solid #0073ea;
	padding: 8px 12px; border-radius: 0 4px 4px 0;
	font-size: 13px; color: #323338; line-height: 1.6; margin-bottom: 8px;
}

.tl-sentiment{
	display: inline-block; font-size: 12px; font-weight: 600;
	padding: 2px 10px; border-radius: 20px; margin-bottom: 6px;
}
.tl-sentiment--positive{ background: #e6faf2; color: #00c875; }
.tl-sentiment--neutral{ background: #f5f6f8; color: #676879; }
.tl-sentiment--negative{ background: #fdeef1; color: #e2445c; }

.tl-topics{ display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.tl-topic{
	background: #eef4fd; color: #0073ea; border-radius: 20px;
	padding: 2px 10px; font-size: 12px;
}

.tl-recording{
	display: inline-flex; align-items: center; gap: 4px;
	font-size: 13px; color: #0073ea; text-decoration: none;
}
.tl-recording:hover{ text-decoration: underline; }

.timeline-loading{
	padding: 20px; text-align: center; color: #676879; font-size: 14px;
}

/* ===== v1.8 — Toggles, sidebar search, Flatpickr, timeline édition ===== */

/* --- Toggle switch universel --- */
.toggle-wrap{
	display: inline-flex; align-items: center; cursor: pointer;
	vertical-align: middle;
}
.toggle-input{ position: absolute; opacity: 0; width: 0; height: 0; }
.toggle-slider{
	position: relative; display: inline-block;
	width: 42px; height: 24px; flex-shrink: 0;
	background: #e2445c; border-radius: 12px;
	transition: background .2s;
}
.toggle-slider::after{
	content: ''; position: absolute;
	top: 3px; left: 3px;
	width: 18px; height: 18px; border-radius: 50%;
	background: #fff; transition: transform .2s;
	box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.toggle-input:checked + .toggle-slider{ background: #00c875; }
.toggle-input:checked + .toggle-slider::after{ transform: translateX(18px); }

.settings-toggle-label{ font-size: 13px; color: #676879; margin-bottom: 6px; display: block; }
.settings-line-row{
	display: flex; align-items: center; gap: 12px;
	padding: 10px 0; border-bottom: 1px solid #ebedf3; cursor: pointer;
}
.settings-line-row:last-child{ border-bottom: none; }
.settings-line-info{ display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.settings-line-info strong{ color: #323338; }
.settings-line-info span{ color: #676879; font-size: 12px; }
.settings-lines-list{ margin-bottom: 12px; }

/* Badges on/off dans tableau users */
.badge-toggle{
	display: inline-block; padding: 2px 8px; border-radius: 20px;
	font-size: 11px; font-weight: 700;
	min-width: 58px; text-align: center; white-space: nowrap;
}
.badge-on{ background: #e6faf2; color: #00c875; }
.badge-off{ background: #fdeef1; color: #e2445c; }
.badge-pending{ background: #fff4dd; color: #c78a1e; }

/* --- Sidebar search globale --- */
.sidebar__search{
	padding: 12px 10px 8px;
	border-top: 1px solid rgba(255,255,255,.1);
	margin-top: auto;
}
.sidebar__search .select2-container{ width: 100% !important; }
.sidebar__search .select2-selection--single{
	background: rgba(255,255,255,.1) !important;
	border: 1px solid rgba(255,255,255,.15) !important;
	border-radius: 8px !important;
	height: 36px !important;
}
.sidebar__search .select2-selection__rendered{
	color: rgba(255,255,255,.7) !important;
	line-height: 34px !important;
	font-size: 13px !important;
}
.sidebar__search .select2-selection__arrow b{ border-color: rgba(255,255,255,.4) transparent transparent !important; }

/* Résultats recherche globale */
.gs-item{ display: flex; align-items: center; gap: 8px; padding: 2px 0; }
.gs-icon{ font-size: 14px; width: 20px; text-align: center; flex-shrink: 0; }
.gs-label{ flex: 1; font-size: 14px; color: #323338; font-weight: 500; }
.gs-sub{ font-size: 12px; color: #676879; }
.gs-loading{ display: block; padding: 8px 12px; color: #676879; font-size: 13px; }

/* --- Flatpickr customisation --- */
.flatpickr-calendar{
	border-radius: 8px !important;
	box-shadow: 0 8px 24px rgba(41,47,76,.15) !important;
	border: 1px solid #d0d4e4 !important;
}
.flatpickr-day.selected, .flatpickr-day.selected:hover{
	background: #0073ea !important;
	border-color: #0073ea !important;
}
.flatpickr-day:hover{ background: #eef4fd !important; }
.flatpickr-time input:hover, .flatpickr-time input:focus{ background: #eef4fd !important; }

/* --- Sidebar flex pour pousser search en bas --- */
.sidebar{ display: flex; flex-direction: column; }
.sidebar__nav{ flex: 1; }

/* --- Bouton delete timeline : même rendu que les modèles --- */
.tl-delete{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	border-radius: 5px !important;
	color: #e2445c !important;
	cursor: pointer !important;
	line-height: 1 !important;
	flex-shrink: 0 !important;
	transition: background .12s !important;
}
.tl-delete:hover{ background: #fdeef1 !important; }

/* ===== Modal header avec meta + boutons droite ===== */
.modal__header{ display:flex; align-items:center; gap:10px; padding:16px 24px; border-bottom:1px solid #ebedf3; position:sticky; top:0; background:#fff; z-index:2; }
.modal__header-left{ display:flex; align-items:center; gap:10px; flex:1; min-width:0; }
.modal__header-left h2{ margin:0; font-size:18px; line-height:1.2; }
.modal__header-right{ display:flex; align-items:center; gap:6px; flex-shrink:0; }
/* Boutons header popup — hauteur et style uniformes */
.modal__header-right .btn,
.modal__header-right .btn--sm,
.modal__header-right .btn--outline,
.modal__header-right .disc-chat-btn,
.modal__header-right a.btn{
	gap:5px;
	height:30px !important;
	min-height:30px !important;
	max-height:30px !important;
	display:inline-flex !important;
	align-items:center !important;
	padding:0 10px !important;
	box-sizing:border-box;
	border:1.5px solid #d0d4e4 !important;
	border-radius:6px;
	background:#fff;
	color:#323338 !important;
	font-size:13px;
	font-weight:500;
	text-decoration:none !important;
	cursor:pointer;
}
.modal__header-right .btn:hover,
.modal__header-right .btn--sm:hover,
.modal__header-right .disc-chat-btn:hover,
.modal__header-right a.btn:hover{
	border-color:#0073ea !important;
	color:#0073ea !important;
}
.modal__meta{ font-size:12px; color:#676879; font-weight:400; white-space:nowrap; line-height:1; padding:3px 8px; background:#f5f6f8; border-radius:20px; }

/* app-shell height fix */
.app-shell{ min-height:calc(100vh - 32px); max-height:calc(100vh - 32px); overflow:hidden; }
.sidebar{ max-height:calc(100vh - 32px); overflow-y:auto; }
.app-content{ overflow-y:auto; max-height:calc(100vh - 32px); }

/* Settings toggle row */
.settings-toggle-row{
	display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px;
}
.settings-toggle-row .toggle-wrap{ flex-shrink: 0; margin-top: 2px; }

/* ===== Flatpickr custom theme ===== */
.flatpickr-calendar{
	font-family: inherit !important;
	border-radius: 10px !important;
	box-shadow: 0 8px 32px rgba(41,47,76,.18) !important;
	border: 1px solid #d0d4e4 !important;
	padding: 8px !important;
}
.flatpickr-months{ padding: 4px 0 8px; }
.flatpickr-month{ color: #323338 !important; }
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year{
	font-weight: 700 !important; font-size: 15px !important; color: #323338 !important;
}
.flatpickr-weekdays{ background: none !important; }
.flatpickr-weekday{ color: #676879 !important; font-size: 11px !important; font-weight: 600 !important; text-transform: uppercase; }
.flatpickr-day{
	border-radius: 6px !important; font-size: 13px !important; color: #323338 !important;
}
.flatpickr-day:hover{ background: #eef4fd !important; border-color: #eef4fd !important; color: #0073ea !important; }
.flatpickr-day.selected,
.flatpickr-day.selected:hover{
	background: #0073ea !important; border-color: #0073ea !important; color: #fff !important;
}
.flatpickr-day.today{ border-color: #0073ea !important; color: #0073ea !important; font-weight: 700; }
.flatpickr-day.today:hover{ background: #0073ea !important; color: #fff !important; }
.flatpickr-time{ border-top: 1px solid #ebedf3 !important; margin-top: 8px; padding-top: 8px; }
.flatpickr-time input{ font-size: 15px !important; font-weight: 600 !important; color: #323338 !important; }
.flatpickr-time input:hover,
.flatpickr-time input:focus{ background: #eef4fd !important; border-radius: 6px; }
.flatpickr-time .flatpickr-time-separator{ color: #676879 !important; }
.numInputWrapper:hover{ background: none !important; }
.flatpickr-prev-month svg, .flatpickr-next-month svg{ fill: #323338 !important; }
.flatpickr-prev-month:hover svg, .flatpickr-next-month:hover svg{ fill: #0073ea !important; }

/* ===== Password wrap avec oeil ===== */
.password-wrap{
	position: relative; display: flex; align-items: center;
}
.password-wrap input{
	flex: 1; padding-right: 36px !important;
}
.password-toggle{
	position: absolute; right: 8px;
	background: none; border: none; cursor: pointer;
	font-size: 16px; color: #676879; padding: 0; line-height: 1;
}
.password-toggle:hover{ color: #323338; }

/* modal__meta--date */
.modal__meta--date{
	background: #eef4fd;
	color: #0073ea;
	border: 1px solid #c3d8f7;
}

/* ===== DataTable row hover — bleu ciel uniforme =====
   Règles génériques : DataTables applique .sorting_1 à la colonne triée
   et lui donne un fond propre, d'où la teinte différente sans ces surcharges. */
table.dataTable tbody tr{ cursor: pointer; }
table.dataTable tbody tr:hover > td,
table.dataTable tbody tr:hover > td.sorting_1,
table.dataTable tbody tr:hover > td.sorting_2,
table.dataTable tbody tr:hover > td.sorting_3,
table.dataTable tbody tr.odd:hover > td,
table.dataTable tbody tr.even:hover > td,
table.dataTable tbody tr.odd:hover > td.sorting_1,
table.dataTable tbody tr.even:hover > td.sorting_1{
	background: rgba(0, 115, 234, 0.06) !important;
}
/* La colonne triée ne doit pas se distinguer au repos non plus */
table.dataTable tbody tr > td.sorting_1,
table.dataTable tbody tr > td.sorting_2,
table.dataTable tbody tr > td.sorting_3{
	background: transparent !important;
}
/* Désactiver le gris sur sorting column */
table.dataTable.display tbody tr.odd > .sorting_1,
table.dataTable.display tbody tr.even > .sorting_1{
	background: transparent;
}
table.dataTable.display tbody tr:hover > .sorting_1,
table.dataTable.display tbody tr:hover > .sorting_2,
table.dataTable.display tbody tr:hover > .sorting_3{
	background: rgba(0, 115, 234, 0.06) !important;
}

/* ===== Sextan pages ===== */
.sync-badge{
	display: inline-flex; align-items: center; gap: 4px;
	font-size: 12px; color: #676879; background: #f5f6f8;
	border: 1px solid #ebedf3; border-radius: 20px;
	padding: 3px 10px; margin-left: 12px;
}
.sextan-readonly .dataTables_wrapper table tbody tr{
	cursor: default !important;
}
.sextan-status{
	display: inline-block; padding: 2px 10px; border-radius: 20px;
	font-size: 12px; font-weight: 600;
	background: #f5f6f8; color: #676879;
}
.sextan-status--confirme, .sextan-status--confirmé{ background: #e6faf2; color: #00c875; }
.sextan-status--valide, .sextan-status--validé   { background: #e6f2ff; color: #0073ea; }
.sextan-status--devis                            { background: #fff3e0; color: #fdab3d; }
.sextan-status--option                           { background: #f3e5f5; color: #9c27b0; }
.sextan-status--annule, .sextan-status--annulé   { background: #fdeef1; color: #e2445c; }
.sextan-status--ferme, .sextan-status--fermé     { background: #eceff1; color: #607d8b; }
.sextan-status--paid                             { background: #e6faf2; color: #00c875; }

.screen-header{
	display: flex; align-items: center; justify-content: space-between;
	padding: 20px 28px 12px; gap: 16px;
}
.screen-header__left{ display: flex; align-items: center; gap: 8px; }
.screen-header__left h1{ margin: 0; font-size: 22px; font-weight: 700; color: #323338; }
.screen-header__right{ display: flex; align-items: center; gap: 8px; }

/* ===== Batch progress bar ===== */
.batch-progress-bar-wrap{
	width: 100%; background: #ebedf3; border-radius: 8px;
	height: 12px; overflow: hidden; margin-bottom: 8px;
}
.batch-progress-bar{
	height: 100%; width: 0%; background: #0073ea;
	border-radius: 8px; transition: width .3s ease;
}
.batch-progress-label{
	font-size: 13px; color: #676879; margin: 0;
}

/* ===== Sextan event popup ===== */
.lead-details-grid{ display: flex; flex-direction: column; gap: 0; }
.ldg-row{
	display: flex; align-items: flex-start; gap: 16px;
	padding: 9px 12px; border-bottom: 1px solid #f0f1f3;
}
.ldg-row:last-child{ border-bottom: none; }
.ldg-label{
	flex-shrink: 0; width: 140px; font-size: 11px;
	color: #676879; font-weight: 600; text-transform: uppercase; letter-spacing: .5px;
	padding-top: 2px;
}
.ldg-val{ flex: 1; font-size: 14px; color: #323338; }
.ldg-comment{
	margin-top: 12px; padding: 10px 14px;
	background: #f8f9fb; border-left: 3px solid #0073ea;
	border-radius: 0 6px 6px 0; font-size: 13px; color: #323338;
}
.ldg-comment--internal{ border-left-color: #fdab3d; }

/* Lien Sextan dans le tableau */
.sextan-link{
	color: #0073ea; text-decoration: none; font-weight: 600;
	font-size: 12px;
}
.sextan-link:hover{ text-decoration: underline; }

/* crm-link cliquable dans DT */
.crm-link{
	color: #0073ea; cursor: pointer; text-decoration: none;
}
.crm-link:hover{ text-decoration: underline; }

/* ===== Filter bar events (date range + statut + commercial) ===== */
.filter-bar--events{
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
	padding: 12px 20px; background: #fff;
	border-bottom: 1px solid #ebedf3;
}
.filter-daterange{
	display: flex; align-items: center; gap: 6px;
}
.filter-daterange__sep{ color: #c4c4c4; font-size: 14px; }
.filter-date{
	width: 130px; padding: 6px 10px; border: 1px solid #d0d4e4;
	border-radius: 6px; font-size: 13px; color: #323338;
	background: #fff; outline: none;
}
.filter-date:focus{ border-color: #0073ea; }

/* ===== Table lignes facture ===== */
.inv-items-table{
	width: 100%; border-collapse: collapse;
	font-size: 13px; margin-top: 4px;
}
.inv-items-table thead th{
	text-align: left; padding: 8px 10px;
	background: #f5f6f8; color: #676879;
	font-size: 11px; font-weight: 600;
	text-transform: uppercase; letter-spacing: .4px;
	border-bottom: 2px solid #ebedf3;
}
.inv-items-table tbody td{
	padding: 8px 10px; border-bottom: 1px solid #f0f1f3;
	vertical-align: top;
}
.inv-items-table tbody tr:last-child td{ border-bottom: none; }
.inv-items-table tbody tr:hover td{ background: rgba(0,115,234,.03); }
.inv-cat{
	display: inline-block; font-size: 10px; font-weight: 700;
	color: #676879; text-transform: uppercase; letter-spacing: .3px;
	margin-bottom: 2px;
}
.inv-num{ text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Sextan ID badge */
.sextan-id{
	font-size: 12px; font-weight: 700; color: #323338;
	background: #f5f6f8; padding: 2px 8px; border-radius: 4px;
}

/* Flatpickr range dans filter bar */
.filter-date{ min-width: 200px; }

/* ===== Sync complète par objet ===== */
.sync-full-grid{
	display: flex; gap: 16px; flex-wrap: wrap; margin-top: 16px;
}
.sync-full-card{
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	background: #f5f6f8; border: 1px solid #ebedf3; border-radius: 10px;
	padding: 20px 28px; min-width: 140px; text-align: center;
}
.sync-full-card__icon{ font-size: 28px; }
.sync-full-card__label{ font-size: 13px; font-weight: 600; color: #323338; }

/* ===== Fixes v1.8.9 ===== */

/* Pas de text-decoration sur les boutons dans les modales */
.modal__header-right a.btn,
.modal__header-right .btn{ text-decoration: none !important; }

/* lead-section dans popups : utilise le CSS lead natif */

/* Badge contact-id dans popup event (style lead) */
.contact-id-badge{
	display: inline-flex; align-items: center;
	padding: 4px 12px; border-radius: 20px;
	font-size: 13px; font-weight: 500; cursor: pointer;
	border: 1.5px solid #00c875; color: #00c875;
	background: transparent; transition: background .12s;
	text-decoration: none !important;
}
.contact-id-badge:hover{ background: #e6faf2; }
.contact-id-badge--client{
	border-color: #c4c4c4; color: #323338;
}
.contact-id-badge--client:hover{ background: #f5f6f8; }

/* Select2 filter commercial factures */
#inv-filter-com + .select2-container{ min-width: 180px; }

/* ===== Navigation popup (pile) ===== */
.modal--hidden{ display: none !important; }

.modal__back{
	display: flex; align-items: center; gap: 4px;
	background: none; border: none; cursor: pointer;
	font-size: 13px; color: #676879; padding: 4px 8px;
	border-radius: 6px; transition: background .12s; white-space: nowrap;
	flex-shrink: 0;
}
.modal__back:hover{ background: #f0f1f3; color: #323338; }
.modal__header{ gap: 8px; }

/* ===================================================
   REFONTE TOOLBAR + FILTER-BAR UNIFIÉE v1.9.1
   =================================================== */

/* Topbar : titre + actions */
.screen-topbar{
	display: flex; align-items: center; justify-content: space-between;
	padding: 15px 0 20px;
	gap: 16px;
}
.screen-topbar__left{
	display: flex; align-items: center; gap: 12px; flex: 1;
}
.screen-topbar .screen-title{ font-size: 22px; font-weight: 700; color: #323338; margin: 0; }

/* Filter bar unifiée */
.filter-bar--unified{
	display: flex; align-items: center; justify-content: space-between;
	gap: 10px; flex-wrap: wrap;
	margin: 0 0 30px;
	padding: 10px 16px;
	background: linear-gradient(135deg, #f8f9fb 0%, #f3f4f8 100%);
	border: 1px solid #e4e6ef;
	border-radius: 10px;
	box-shadow: 0 1px 3px rgba(41,47,76,.06);
}
.filter-bar__filters{
	display: flex; align-items: center; gap: 8px; flex-wrap: wrap; flex: 1;
}
.filter-bar__search{ display: flex; align-items: center; flex-shrink: 0; }
.filter-bar__search .dt-custom-search{
	padding: 7px 12px 7px 32px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23676879' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.35-4.35'%3E%3C/path%3E%3C/svg%3E") 10px center no-repeat;
	border: 1px solid #d0d4e4; border-radius: 8px;
	font-size: 13px; width: 210px; outline: none;
	transition: border-color .15s, box-shadow .15s;
}
.filter-bar__search .dt-custom-search:focus{
	border-color: #0073ea;
	box-shadow: 0 0 0 3px rgba(0,115,234,.10);
}

/* Supprimer l'ancienne toolbar */
.toolbar{ display: none !important; }

/* ===================================================
   WIDGET CRÉANCES FACTURES
   =================================================== */
.creance-widget{
	margin: 0 0 30px 0;
	padding: 16px 20px;
	background: #fff;
	border: 1px solid #e4e6ef;
	border-radius: 10px;
	box-shadow: 0 1px 4px rgba(41,47,76,.07);
}
.creance-widget__loading{ color: #676879; font-size: 13px; }
.creance-widget__inner{ display: flex; align-items: flex-start; gap: 24px; flex-wrap: wrap; }

.creance-total{
	display: flex; flex-direction: column; justify-content: center;
	gap: 4px; min-width: 160px; padding-right: 24px;
	border-right: 2px solid #ebedf3;
}
.creance-total__label{ font-size: 11px; font-weight: 600; color: #676879; text-transform: uppercase; letter-spacing: .5px; }
.creance-total__amount{ font-size: 26px; font-weight: 700; color: #e2445c; letter-spacing: -.5px; }

.creance-cards{ display: flex; gap: 12px; flex-wrap: wrap; flex: 1; }

.creance-card{
	display: flex; flex-direction: column; gap: 4px;
	background: #f8f9fb; border: 1px solid #ebedf3;
	border-radius: 8px; padding: 10px 14px; min-width: 140px;
}
.creance-card__head{ display: flex; align-items: center; gap: 8px; }
.creance-avatar{
	width: 26px; height: 26px; border-radius: 50%; object-fit: cover;
	border: 1.5px solid #e4e6ef; flex-shrink: 0;
}
.creance-avatar--initials{
	display: inline-flex; align-items: center; justify-content: center;
	background: #0073ea; color: #fff; font-size: 11px; font-weight: 700;
}
.creance-card__name{ font-size: 13px; font-weight: 600; color: #323338; }
.creance-card__amount{ font-size: 17px; font-weight: 700; color: #e2445c; }
.creance-card__meta{ font-size: 11px; color: #676879; }
.creance-bar{
	height: 4px; background: #ebedf3; border-radius: 2px; overflow: hidden; margin-top: 4px;
}
.creance-bar__fill{ height: 100%; background: #e2445c; border-radius: 2px; transition: width .4s ease; }

/* ===== Tableau utilisateurs — colonne Statut ===== */
#users-table td:nth-child(7),
#users-table th:nth-child(7){ min-width: 100px; white-space: nowrap; }


/* =======================================================
   TOPBAR + LAYOUT REFONTE v2.1
   ======================================================= */

/* Wrapper global */
.app-shell-layout{
	display: flex; flex-direction: column;
	min-height: 100vh; background: #eceff8;
}

/* ── Topbar ─────────────────────────────────────────── */
.topbar{
	display: flex; align-items: center;
	height: 52px; padding: 0 20px;
	background: #fff;
	border-bottom: 1px solid #e4e6ef;
	box-shadow: 0 1px 3px rgba(41,47,76,.06);
	position: sticky; top: 0; z-index: 900;
	gap: 16px; flex-shrink: 0;
}

.topbar__brand{
	display: flex; align-items: center; gap: 8px;
	font-size: 15px; font-weight: 800; color: #292f4c;
	letter-spacing: -.3px; flex-shrink: 0;
}
.topbar__brand-icon{ font-size: 18px; }

.topbar__center{
	flex: 1; display: flex; align-items: center; justify-content: center;
}

/* Sélecteur de marque */
.brand-switcher__select{
	height: 34px; padding: 0 32px 0 12px;
	border: 1.5px solid #e4e6ef; border-radius: 8px;
	font-size: 13px; font-weight: 600; color: #323338;
	background: #f5f6f8; cursor: pointer; outline: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23676879' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 10px center;
	min-width: 180px; transition: border-color .15s, box-shadow .15s;
}
.brand-switcher__select:focus{
	border-color: #0073ea;
	box-shadow: 0 0 0 3px rgba(0,115,234,.10);
	background-color: #fff;
}
.brand-switcher__select:hover{ border-color: #c3c6d4; background-color: #fff; }

/* Actions topbar */
.topbar__actions{
	display: flex; align-items: center; gap: 4px; flex-shrink: 0;
}
.topbar__btn{
	width: 36px; height: 36px; border-radius: 8px;
	background: none; border: none; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	color: #676879; position: relative;
	transition: background .15s, color .15s;
}
.topbar__btn:hover{ background: #f0f1f6; color: #323338; }
/* topbar__notif-dot défini plus bas avec compteur */

.topbar__user{
	display: flex; align-items: center; gap: 8px;
	padding: 4px 10px 4px 4px;
	border-radius: 8px; cursor: pointer;
	border: 1.5px solid transparent;
	transition: background .15s, border-color .15s;
	margin-left: 4px;
}
.topbar__user:hover{ background: #f0f1f6; border-color: #e4e6ef; }
.topbar__avatar{
	width: 30px; height: 30px; border-radius: 50%; object-fit: cover;
	border: 2px solid #e4e6ef; flex-shrink: 0;
}
.topbar__username{ font-size: 13px; font-weight: 600; color: #323338; }

/* Divider dans topbar */
.topbar__divider{
	width: 1px; height: 24px; background: #e4e6ef; margin: 0 4px;
}

/* ── Corps (sidebar + contenu) ────────────────────────── */
.app-shell{
	display: flex; flex: 1; overflow: hidden;
	min-height: calc(100vh - 52px); max-height: calc(100vh - 52px);
}

/* Sidebar */
.sidebar{
	width: 220px; flex-shrink: 0; background: #292f4c; color: #fff;
	display: flex; flex-direction: column;
	padding: 12px 10px; box-sizing: border-box;
	overflow-y: auto;
	/* Retirer sticky/height car géré par app-shell */
	position: static; height: auto; max-height: none;
}
.sidebar__nav{ flex: 0 0 auto; display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px; }

/* ── Sidebar search refonte ─────────────────────────── */
.sidebar__search{
	border-top: 1px solid rgba(255,255,255,.1);
	padding: 14px 4px 8px;
	flex: 1;
}
.sidebar-search__title{
	font-size: 10px; font-weight: 700; text-transform: uppercase;
	letter-spacing: .8px; color: rgba(255,255,255,.4);
	padding: 0 6px 8px; display: block;
}
.gs-row{
	display: flex; align-items: center; gap: 6px;
	margin-bottom: 4px;
}
.gs-icon{ font-size: 13px; width: 20px; text-align: center; flex-shrink: 0; }
.gs-input{
	flex: 1; padding: 5px 8px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 6px; color: #fff; font-size: 12px;
	outline: none; transition: background .15s, border-color .15s;
}
.gs-input::placeholder{ color: rgba(255,255,255,.4); }
.gs-input:focus{
	background: rgba(255,255,255,.15);
	border-color: rgba(255,255,255,.35);
}

/* Résultats */
.gs-results{
	/* Ancien dropdown — conservé pour compatibilité mais display géré par le panel */
}
.gs-result-item{
	display: flex; align-items: flex-start; gap: 8px;
	padding: 8px 12px; cursor: pointer; border-bottom: 1px solid #f0f1f3;
	transition: background .1s;
}
.gs-result-item:last-child{ border-bottom: none; }
.gs-result-item:hover{ background: #eef4fd; }
.gs-result-icon{ font-size: 13px; flex-shrink: 0; margin-top: 1px; }
.gs-result-text{ flex: 1; font-size: 12px; color: #323338; }
.gs-result-text strong{ font-weight: 600; display: block; }
.gs-result-text small{ color: #676879; font-size: 11px; }
.gs-noresult{ padding: 10px 12px; font-size: 12px; color: #676879; }

/* App-content */
.app-content{ flex: 1; overflow-y: auto; padding: 0; min-width: 0; }
.screen{
	background: #fff; min-height: calc(100vh - 52px);
	padding: 0 0 40px; border-radius: 0;
}

/* Cacher l'ancienne sidebar brand */
.sidebar__brand{ display: none; }

/* Dark mode toggle (visuel uniquement) */
.topbar.is-dark{ background: #1a1d2e; border-bottom-color: #2a2d3e; }
.topbar.is-dark .topbar__brand{ color: #fff; }
.topbar.is-dark .topbar__btn{ color: rgba(255,255,255,.6); }
.topbar.is-dark .topbar__btn:hover{ background: rgba(255,255,255,.1); color: #fff; }
.topbar.is-dark .topbar__username{ color: #fff; }
.topbar.is-dark .brand-switcher__select{ background: #2a2d3e; color: #fff; border-color: #3a3d4e; }

/* ── Responsive ──────────────────────────────────────── */
@media(max-width:900px){
	.topbar__center{ display: none; }
	.topbar__username{ display: none; }
	.sidebar{ width: 200px; }
}

/* ===== Fixes v2.1.1 ===== */

/* Cacher la WP admin bar */
#wpadminbar{ display: none !important; }
html{ margin-top: 0 !important; }

/* Screen padding */
.screen{ padding: 25px; }

/* Screen topbar padding */
.screen-topbar{ padding: 0 0 20px; }

/* App-shell height ajusté (topbar 53px) */
.app-shell{
	min-height: calc(100vh - 53px) !important;
	max-height: calc(100vh - 53px) !important;
}

/* ===== Fixes v2.1.2 ===== */
.app-content{ max-height: calc(100vh - 53px); overflow-y: auto; }
.screen{ min-height: calc(100vh - 103px); }

/* ===== Filter toggle checkbox ===== */
.filter-toggle{
	display: flex; align-items: center; gap: 6px;
	font-size: 13px; font-weight: 500; color: #323338;
	cursor: pointer; white-space: nowrap;
	padding: 0 4px;
}
.filter-toggle input[type=checkbox]{
	width: 15px; height: 15px; cursor: pointer; accent-color: #0073ea;
}

/* ===== DataTables processing — overlay ===== */

/* Overlay sombre sur tout le tableau */
.dataTables_wrapper{ position: relative; }
.dataTables_wrapper::after{
	content: '';
	display: none;
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(20,24,48,0.28);
	z-index: 9;
	border-radius: 8px;
	pointer-events: none;
}
.dataTables_wrapper.processing-active::after{
	display: block;
}

/* Loader : toujours 40px sous le header du tableau */
.dataTables_wrapper .dataTables_processing{
	position: absolute !important;
	top: 40px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	margin: 0 !important;
	min-width: 220px !important;
	max-width: 320px !important;
	padding: 18px 32px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #292f4c !important;
	background: #fff !important;
	border: 1.5px solid #e4e6ef !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 40px rgba(41,47,76,.22), 0 2px 8px rgba(41,47,76,.10) !important;
	z-index: 10 !important;
}

/* ===== Pill Pennylane (tableau factures — client) ===== */
/* Pill Pennylane — identique à .cell-pill mais vert */
a.cell-pill--pennylane,
span.cell-pill--pennylane{
	display: inline-flex; align-items: center; padding: 4px 10px;
	background: #e8f8f2; border: 1px solid #a8e6cc; border-radius: 5px;
	color: #1a7a50; font-weight: 500; font-size: 13px;
	white-space: nowrap; position: relative; cursor: default;
	text-decoration: none; transition: background .15s;
	max-width: 180px; overflow: hidden;
}
a.cell-pill--pennylane{ cursor: pointer; }
a.cell-pill--pennylane .cell-pill-label,
span.cell-pill--pennylane .cell-pill-label{
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
a.cell-pill--pennylane .cell-pill-ext,
span.cell-pill--pennylane .cell-pill-ext{
	position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
	background: #e8f8f2; padding-left: 2px;
	opacity: 0; pointer-events: none; transition: opacity .15s;
	display: inline-flex; align-items: center;
}
a.cell-pill--pennylane:hover,
span.cell-pill--pennylane:hover{
	background: #c8f0e0; border-color: #5ecc9e; color: #0f5c3a;
	padding-right: 28px;
}
a.cell-pill--pennylane:hover .cell-pill-ext,
span.cell-pill--pennylane:hover .cell-pill-ext{
	opacity: 1; pointer-events: auto; background: #c8f0e0;
}

/* ===== Statut Pennylane pill ===== */
.pl-status-pill,
#crm-dt td .pl-status-pill{
	display: inline-block;
	padding: 2px 10px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	color: #323338 !important;
}

/* ===== Overlay chargement DT (div injecté) ===== */
.dt-overlay{
	display: none;
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(20,24,48,0.22);
	z-index: 9;
	border-radius: 8px;
	pointer-events: none;
}
/* Loader toujours à 40px du haut */
.dataTables_wrapper .dataTables_processing{
	top: 40px !important;
	transform: translateX(-50%) !important;
}

/* ===== Vue Projet — popup factures ===== */
.project-link{
	cursor: pointer; color: #0073ea; font-weight: 500;
	border-bottom: 1px dashed #0073ea;
	white-space: nowrap;
}
.project-link:hover{ color: #005bb5; }
.project-badge{ font-size: 11px; }

.project-totals{
	display: flex; gap: 24px; padding: 16px 20px;
	background: #f8f9fb; border-radius: 8px; margin-bottom: 20px;
	border: 1px solid #ebedf3;
}
.project-total-item{ display: flex; flex-direction: column; gap: 2px; }
.project-total-label{ font-size: 11px; color: #676879; text-transform: uppercase; letter-spacing: .5px; }
.project-total-val{ font-size: 16px; color: #323338; }

.project-invoices-table{ width: 100%; border-collapse: collapse; font-size: 13px; }
.project-invoices-table th{
	text-align: left; padding: 8px 10px;
	border-bottom: 2px solid #ebedf3; color: #676879;
	font-weight: 600; font-size: 11px; text-transform: uppercase;
}
.project-invoices-table td{ padding: 10px 10px; border-bottom: 1px solid #f0f1f3; }
.project-inv-row{ cursor: pointer; transition: background .1s; }
.project-inv-row:hover{ background: #f5f8ff; }
.project-inv-row--avoir td{ color: #c0392b; background: #fff8f8; }
.project-inv-row--avoir:hover{ background: #fce8e8; }
.project-modal-loading{ padding: 40px; text-align: center; color: #676879; }

/* ===== Pill icônes hover (Pennylane + client) ===== */
.cell-pill--pennylane,
.cell-pill--client{ position: relative; }
.cell-pill-ext{
	display: inline-flex; align-items: center;
	opacity: 0; pointer-events: none;
	margin-left: 4px; color: inherit;
	transition: opacity .15s;
	vertical-align: middle; flex-shrink: 0;
}
.cell-pill--pennylane:hover .cell-pill-ext,
.cell-pill--client:hover .cell-pill-ext{
	opacity: 1; pointer-events: auto;
}
/* Empêcher la pill de s-élargir au hover */
.cell-pill--client{ overflow: hidden; max-width: 160px; }
.cell-pill--client .cell-pill-label{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.cell-pill--client .cell-pill-ext{ position: absolute; right: 6px; top: 50%; transform: translateY(-50%); background: inherit; padding-left: 2px; }

/* ===== Popup projet — largeur élargie ===== */
/* Override largeur modal pour la popup projet uniquement */
.modal--project{ width: 800px; max-width: 96vw; }

/* ===== DataTables — scroll horizontal si contenu trop large ===== */
.dataTables_wrapper{ overflow-x: auto; }
#crm-dt{ min-width: 600px; }

/* ===== Chat / Discussion ===== */

/* Icone chat dans les DT */
.disc-chat-btn{
	background: none; border: none; cursor: pointer;
	padding: 3px 6px; border-radius: 6px;
	color: #c3c6d4; position: relative; display: inline-flex;
	align-items: center; gap: 3px; transition: color .15s, background .15s;
}
.disc-chat-btn:hover{ background: #f0f1f6; color: #676879; }
.disc-chat-btn--active{ color: #0073ea; }
.disc-chat-btn--unread{ color: #e2445c; }
.disc-count, .act-count{ font-size: 10px; font-weight: 700; min-width: 14px; line-height: 1; }
.disc-count:empty{ display:none; }

/* Modal discussion */
.modal--discussion{ width: 760px; max-width: 96vw; }
.disc-wrap{ display: flex; flex-direction: column; height: 520px; }

/* Messages */
.disc-messages{
	flex: 1; overflow-y: auto; padding: 12px 16px;
	display: flex; flex-direction: column; gap: 10px;
	background: #f8f9fb; border-radius: 8px; margin-bottom: 10px;
}
.disc-loading, .disc-empty{ text-align:center; color:#676879; font-size:13px; margin:auto; padding:20px; }
.disc-msg{ max-width: 80%; }
.disc-msg--mine{ align-self: flex-end; }
.disc-msg-head{ display:flex; align-items:center; gap:6px; margin-bottom:4px; }
.disc-msg-avatar{ width:24px; height:24px; border-radius:50%; object-fit:cover; }
.disc-msg-author{ font-size:12px; font-weight:600; color:#323338; }
.disc-msg-time{ font-size:11px; color:#676879; }
.disc-msg-body{
	background:#fff; border:1px solid #e4e6ef; border-radius:8px;
	padding:8px 12px; font-size:13px; color:#323338; line-height:1.5;
	word-break: break-word;
}
.disc-msg--mine .disc-msg-body{ background:#dce9ff; border-color:#b8d3ff; }
.disc-msg-attachments{ display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.disc-msg-img{ max-width:200px; max-height:160px; border-radius:6px; cursor:pointer; display:block; }
.disc-msg-file{ font-size:12px; color:#0073ea; text-decoration:none; padding:4px 8px; background:#f0f4ff; border-radius:4px; }
.disc-mention{ background:#e8f0fe; color:#0073ea; border-radius:3px; padding:0 3px; font-weight:600; display:inline !important; white-space:nowrap; }

/* Composer */
.disc-composer{ flex-shrink:0; border:1.5px solid #e4e6ef; border-radius:8px; overflow:visible; background:#fff; position:relative; }
.disc-toolbar{
	display:flex; align-items:center; gap:2px; padding:6px 8px;
	border-bottom:1px solid #f0f1f3;
}
.disc-tb-btn{
	background:none; border:none; cursor:pointer; padding:3px 7px;
	border-radius:4px; font-size:13px; color:#676879; line-height:1.4;
	transition:background .1s;
}
.disc-tb-btn:hover{ background:#f0f1f6; color:#323338; }
.disc-tb-sep{ width:1px; height:16px; background:#e4e6ef; margin:0 3px; }
.disc-upload-btn{ cursor:pointer; }

/* Éditeur contenteditable */
.disc-editor-area{ position:relative; }
.disc-editor{
	min-height:72px; max-height:140px; overflow-y:auto;
	padding:10px 12px; font-size:13px; color:#323338; line-height:1.5;
	outline:none; word-break:break-word;
}
.disc-editor:empty::before{
	content: attr(data-placeholder);
	color:#c3c6d4; pointer-events:none;
}
.disc-editor-area.drag-over{ outline:2px dashed #0073ea; border-radius:4px; }

/* Dropdown mentions */
.disc-mentions-list{
	display:none; position:absolute; bottom:calc(100% + 4px); left:0;
	background:#fff; border:1px solid #e4e6ef;
	border-radius:8px; box-shadow:0 4px 16px rgba(0,0,0,.12);
	min-width:220px; max-height:200px; overflow-y:auto; z-index:300;
}
.disc-mention-item{
	display:flex; align-items:center; gap:8px;
	padding:8px 12px; cursor:pointer; font-size:13px; transition:background .1s;
}
.disc-mention-item:hover{ background:#f0f4ff; }
.disc-mention-avatar{ width:20px; height:20px; border-radius:50%; object-fit:cover; }

/* Pièces jointes en attente */
.disc-attachments{ display:flex; flex-wrap:wrap; gap:6px; padding:0 10px 6px; }
.disc-attach-item{
	display:flex; align-items:center; gap:6px; padding:4px 8px;
	background:#f0f4ff; border-radius:6px; font-size:12px; max-width:200px;
}
.disc-attach-preview{ width:32px; height:32px; object-fit:cover; border-radius:4px; }
.disc-attach-icon{ font-size:18px; }
.disc-attach-name{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#323338; }
.disc-attach-remove{
	background:none; border:none; cursor:pointer; color:#e2445c;
	font-size:16px; line-height:1; padding:0 2px;
}

/* Footer envoi */
.disc-editor-footer{
	display:flex; align-items:center; justify-content:flex-end;
	padding:6px 10px; border-top:1px solid #f0f1f3; gap:10px;
}
.disc-hint{ font-size:11px; color:#c3c6d4; }
.disc-send-group{ display:flex; }
.disc-send-main{
	background:#0073ea; color:#fff; border:none;
	padding:7px 16px; cursor:pointer; display:flex; align-items:center;
	border-radius:6px; transition:background .15s;
}
.disc-send-main:hover{ background:#0060c7; }
.disc-send-main:disabled{ opacity:.6; cursor:default; }
.disc-send-schedule{ display:none; }

/* Panel notifications */
#notif-panel{
	position:fixed; top:0; right:0; bottom:0; width:360px;
	background:#fff; border-left:1px solid #e4e6ef;
	box-shadow:-8px 0 40px rgba(41,47,76,.14);
	z-index:1001; display:flex; flex-direction:column;
	animation:slideInRight .18s ease;
}
@keyframes slideInRight{ from{transform:translateX(100%)} to{transform:translateX(0)} }
.notif-panel__header{
	padding:16px 20px; font-weight:700; font-size:14px;
	border-bottom:1px solid #ebedf3; color:#323338;
	display:flex; align-items:center; justify-content:space-between;
}
.notif-panel__close{
	background:none; border:none; cursor:pointer; font-size:18px;
	color:#676879; line-height:1; padding:2px 6px;
}
.notif-panel__close:hover{ color:#323338; }
.notif-panel__list{ overflow-y:auto; flex:1; }
.notif-panel__empty{ padding:40px 20px; text-align:center; color:#676879; font-size:13px; }
.notif-item{ padding:12px 20px; border-bottom:1px solid #f0f1f3; cursor:pointer; font-size:13px; color:#323338; transition:background .1s; }
.notif-item:hover{ background:#f5f8ff; }
.notif-item__meta{ font-weight:600; margin-bottom:3px; }
.notif-item__excerpt{ color:#676879; display:block; margin-top:2px; font-size:12px; }
.notif-item__time{ color:#b0b3c1; font-size:11px; display:block; margin-top:4px; }

/* Topbar notif dot — rond rouge */
.topbar__notif-dot{
	width:18px; height:18px; padding:0;
	display:none; align-items:center; justify-content:center;
	line-height:18px; text-align:center;
	font-size:10px; font-weight:700; color:#fff;
	background:#e2445c; border-radius:50%;
	position:absolute; top:-5px; right:-7px;
	pointer-events:none; box-sizing:border-box;
}
.topbar__notif-dot--active{ display:flex; }

/* ===== Pill client leads — icône open-in-new-tab au hover ===== */
.cell-pill--client{ position:relative; }
.cell-pill--client .cell-pill-ext{
	display:inline-flex; align-items:center;
	opacity:0; pointer-events:none;
	margin-left:3px; color:inherit;
	transition:opacity .15s; vertical-align:middle;
	position:absolute; right:-18px; top:50%; transform:translateY(-50%);
}
.cell-pill--client:hover .cell-pill-ext{ opacity:1; pointer-events:auto; }
/* ===== Toolbar discussion ===== */
.disc-composer{ border:1.5px solid #e4e6ef; border-radius:8px; overflow:hidden; }
.disc-toolbar{
	display:flex; align-items:center; gap:2px;
	padding:4px 8px; border-bottom:1px solid #f0f1f3; background:#fafbfc;
}
.disc-tb-btn{
	background:none; border:none; cursor:pointer; padding:4px 7px;
	border-radius:4px; font-size:13px; color:#4a4f6a; transition:background .1s;
}
.disc-tb-btn:hover{ background:#ebedf3; }
.disc-tb-sep{ width:1px; height:16px; background:#e0e2ec; margin:0 3px; display:inline-block; }
.disc-upload-btn{
	cursor:pointer; color:#4a4f6a; padding:4px 7px;
	border-radius:4px; transition:background .1s; display:inline-flex; align-items:center;
}
.disc-upload-btn:hover{ background:#ebedf3; }
/* disc-mention consolidated above */
.disc-msg-img{ max-width:200px; max-height:140px; border-radius:6px; display:block; margin-top:6px; }
.disc-msg-file{ display:inline-block; margin-top:4px; font-size:12px; color:#0073ea; }
.disc-msg-attachments{ margin-top:6px; display:flex; flex-wrap:wrap; gap:6px; }

/* ===== Slack toggle dans l'éditeur ===== */
.disc-slack-toggle{
	display: flex; align-items: center; gap: 6px;
	font-size: 12px; color: #4a4f6a; cursor: pointer;
}
.disc-slack-toggle input{ cursor: pointer; accent-color: #0073ea; }


	position:fixed; top:0; right:0; bottom:0; width:360px;
	background:#fff; border-left:1px solid #e4e6ef;
	box-shadow:-8px 0 32px rgba(41,47,76,.12);
	z-index:1001; display:flex; flex-direction:column;
	animation: slideInRight .2s ease;
}
@keyframes slideInRight{
	from{ transform:translateX(100%); }
	to{   transform:translateX(0); }
}
/* Mention dans les messages */
.disc-msg-body .disc-mention{
	display:inline !important; white-space:nowrap;
}

/* Topbar notif button position pour le dot */
[data-topbar-notif]{ position:relative; }

/* Notif panel items — avatar + auteur */
.notif-item__head{ display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.notif-item__avatar{
	width:28px; height:28px; border-radius:50%; object-fit:cover; flex-shrink:0;
}
.notif-item__avatar--ph{
	width:28px; height:28px; border-radius:50%; background:#0073ea;
	color:#fff; display:inline-flex; align-items:center; justify-content:center;
	font-size:11px; font-weight:700; flex-shrink:0;
}
.notif-item__author{
	font-weight:600; color:#323338; font-size:12px;
}
.notif-item__ref{ color:#676879; font-size:12px; margin-left:2px; }

/* @mentions dans excerpt notif */
.notif-mention{ color:#0073ea; font-weight:600; }

/* Toast cliquable */
.crm-toast--clickable{ cursor: pointer; }
.crm-toast--clickable:hover{ filter: brightness(.95); }

/* Settings actions row */
.settings-actions{
	display:flex; align-items:center; gap:12px;
	margin-top:20px; padding-top:16px;
	border-top:1px solid #ebedf3;
}

/* Pièces jointes sous le message */
/* disc-msg-body flex removed */
.disc-attachment{ display:block; }
.disc-msg-img{ max-width:200px; max-height:150px; border-radius:6px; display:block; margin-top:4px; }
.disc-msg-file{ display:inline-block; color:#0073ea; font-size:12px; margin-top:4px; text-decoration:none; }
.disc-msg-file:hover{ text-decoration:underline; }

/* ===== Formulaire Login / Auth ===== */
.crm-auth-wrap{
	min-height: 100vh; display: flex; align-items: center; justify-content: center;
	background: #f5f6f8; padding: 20px;
}
.crm-auth-card{
	background: #fff; border-radius: 12px; padding: 40px;
	box-shadow: 0 4px 24px rgba(41,47,76,.10);
	width: 100%; max-width: 420px;
}
.crm-auth-logo{
	font-size: 20px; font-weight: 800; color: #292f4c;
	margin-bottom: 24px; letter-spacing: -.3px;
}
.crm-auth-title{
	font-size: 22px; font-weight: 700; color: #323338;
	margin: 0 0 24px; padding: 0; border: none;
}
.crm-auth-hint{ font-size: 13px; color: #676879; margin-bottom: 20px; }
.crm-auth-error{
	background: #fff5f5; border: 1px solid #fcc; border-radius: 6px;
	color: #c0392b; font-size: 13px; padding: 10px 14px; margin-bottom: 16px;
}
.crm-auth-error--success{
	background: #f0fff4; border-color: #b2dfdb; color: #1a7a50;
}
.crm-auth-form{ display: flex; flex-direction: column; gap: 16px; }
.crm-auth-field{ display: flex; flex-direction: column; gap: 6px; }
.crm-auth-field label{ font-size: 13px; font-weight: 600; color: #323338; }
.crm-auth-field input{
	height: 42px; padding: 0 14px; border: 1.5px solid #d0d4e4;
	border-radius: 6px; font-size: 14px; color: #323338;
	transition: border-color .15s;
}
.crm-auth-field input:focus{ outline: none; border-color: #0073ea; }
.crm-auth-pw-wrap{ position: relative; }
.crm-auth-pw-wrap input{ width: 100%; padding-right: 44px; }
.crm-auth-pw-toggle{
	position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
	background: none; border: none; cursor: pointer; font-size: 16px; padding: 4px;
}
.crm-auth-btn{
	height: 44px; background: #0073ea; color: #fff; border: none;
	border-radius: 6px; font-size: 15px; font-weight: 600;
	cursor: pointer; transition: background .15s; margin-top: 4px;
}
.crm-auth-btn:hover{ background: #0060c7; }
.crm-auth-btn:disabled{ opacity: .6; cursor: default; }
.crm-auth-link{
	text-align: center; font-size: 13px; color: #0073ea;
	text-decoration: none; margin-top: -4px;
}
.crm-auth-link:hover{ text-decoration: underline; }

/* Toggle Slack */
.toggle-wrap{ position:relative; display:inline-block; width:36px; height:20px; flex-shrink:0; }
.toggle-input{ opacity:0; width:0; height:0; position:absolute; }
.toggle-slider{
	position:absolute; inset:0; background:#d0d4e4; border-radius:20px;
	cursor:pointer; transition:background .2s;
}
.toggle-slider::before{
	content:''; position:absolute; left:3px; top:3px;
	width:14px; height:14px; background:#fff; border-radius:50%;
	transition:transform .2s;
}
.toggle-input:checked + .toggle-slider{ background:#0073ea; }
.toggle-input:checked + .toggle-slider::before{ transform:translateX(16px); }
.disc-slack-toggle{ display:flex; align-items:center; gap:8px; font-size:13px; color:#4a4f6a; cursor:pointer; }

/* Bouton déconnexion topbar */
a.topbar__btn{
	display: inline-flex; align-items: center; justify-content: center;
	text-decoration: none; color: inherit;
}
a.topbar__btn:hover{ color: #e2445c; }

/* ===== Page Accueil ===== */
.accueil-wrap{ display:flex; flex-direction:column; gap:24px; }
.accueil-greeting{ font-size:20px; font-weight:700; color:#323338; }

/* KPIs */
.kpi-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.kpi-card{
	background:#fff; border:1px solid #ebedf3; border-radius:10px;
	padding:20px; display:flex; flex-direction:column; gap:10px;
}
.kpi-card__icon{ width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:20px; }
.kpi-card__val{ font-size:22px; font-weight:800; color:#323338; }
.kpi-card__label{ font-size:12px; color:#676879; margin-top:2px; }
.kpi-card__trend{ font-size:11px; color:#676879; }
.kpi-trend--up{ color:#00c875; }
.kpi-trend--down{ color:#e2445c; }

/* Ligne 2 */
.accueil-row{ display:grid; grid-template-columns:1fr 340px; gap:16px; }
.accueil-card{
	background:#fff; border:1px solid #ebedf3; border-radius:10px; padding:20px;
}
.accueil-card__title{
	font-size:14px; font-weight:700; color:#323338;
	margin-bottom:16px; display:flex; align-items:center; gap:8px;
}
.accueil-badge{
	background:#f0f1f6; color:#676879; border-radius:20px;
	font-size:11px; font-weight:600; padding:2px 8px;
}
.accueil-badge--warn{ background:#fff3e0; color:#e65100; }

/* Chart */
.accueil-card--chart{ position:relative; min-height:220px; }
.accueil-card--chart canvas{ width:100% !important; }

/* To-do */
.todo-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.todo-item{ display:flex; align-items:center; gap:10px; font-size:13px; color:#323338; }
.todo-item--done{ color:#b0b3c1; text-decoration:line-through; }
.todo-item--urgent{ color:#e2445c; font-weight:600; }
.todo-dot{ width:8px; height:8px; border-radius:50%; background:#d0d4e4; flex-shrink:0; }
.todo-item--urgent .todo-dot{ background:#e2445c; }
.todo-item--done .todo-dot{ background:#d0d4e4; }

/* Activité */
.accueil-card--activity{ }
.activity-feed{ display:flex; flex-direction:column; gap:12px; }
.activity-item{ display:flex; align-items:flex-start; gap:10px; font-size:13px; color:#323338; }
.activity-dot{ width:10px; height:10px; border-radius:50%; flex-shrink:0; margin-top:3px; }
.activity-dot--blue{ background:#0073ea; }
.activity-dot--green{ background:#00c875; }
.activity-dot--orange{ background:#fdab3d; }
.activity-time{ color:#b0b3c1; font-size:11px; margin-left:6px; }

/* Déconnexion */
.topbar__btn--logout{ color:#676879; }
.topbar__btn--logout:hover{ color:#e2445c !important; }

/* Fix champ password form login débordant */
.crm-auth-pw-wrap input{ box-sizing:border-box; width:100%; }


/* Toast sur page login (déconnexion) */
.crm-auth-toast{
	position:fixed; bottom:24px; right:24px;
	background:#323338; color:#fff; border-radius:8px;
	padding:12px 20px; font-size:14px; font-weight:500;
	opacity:0; transform:translateY(8px); transition:all .3s;
	z-index:9999;
}
.crm-auth-toast.visible{ opacity:1; transform:translateY(0); }

/* Icône power — couleur #676879 comme voisines */
.topbar__btn--logout{ color:#676879; }
.topbar__btn--logout:hover{ color:#e2445c; }

/* ===== Suggestions NDD dans modal contact ===== */
.ndd-suggestions{
	margin-top:10px; padding:10px 12px;
	background:#fffbea; border:1.5px solid #f5d97e; border-radius:8px;
}
.ndd-suggestions__loading{ font-size:12px; color:#676879; }
.ndd-suggestions__title{ font-size:12px; font-weight:600; color:#323338; margin-bottom:8px; }
.ndd-suggestions__list{ margin:0; padding:0 0 0 4px; list-style:none; display:flex; flex-direction:row; flex-wrap:wrap; gap:6px; }
.ndd-suggestion-pill{ text-decoration:none; }
.ndd-suggestion-pill{
	display:inline-flex; align-items:center;
	background:#fff; border:1.5px solid #c3d8f7; border-radius:20px;
	color:#0073ea; font-size:12px; font-weight:600;
	padding:3px 12px; margin:3px 4px 3px 0;
	cursor:pointer; transition:all .15s;
}
.ndd-suggestion-pill:hover{ background:#eef4fd; border-color:#0073ea; }
.ndd-suggestion-pill--active{ background:#0073ea; color:#fff; border-color:#0073ea; }

/* Select statut/commercial dans popup lead */
.lead-select{
	width:100%; height:36px; padding:0 10px;
	border:1.5px solid #d0d4e4; border-radius:6px;
	font-size:13px; color:#323338; background:#fff;
	cursor:pointer;
}
.lead-select:focus{ outline:none; border-color:#0073ea; }



/* Message système dans la discussion */
.disc-msg-avatar--system{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#f0f1f5; font-size:14px; flex-shrink:0; }

/* ===== Chrono leads ===== */
.lead-chrono{ font-size:12px; font-weight:600; padding:2px 6px; border-radius:4px; white-space:nowrap; }
.chrono--ok{ color:#00c875; background:#e6faf2; }
.chrono--warn{ color:#fdab3d; background:#fff5e6; }
.chrono--urgent{ color:#e2445c; background:#fde8ec; }
.chrono--expired{ color:#fff; background:#e2445c; }
.lead-contacted{ color:#00c875; font-size:12px; font-weight:600; white-space:nowrap; }

/* ===== Bouton activité ===== */
.btn-activity-ctx{ background:none; border:none; cursor:pointer; color:#676879; padding:3px; display:inline-flex; align-items:center; border-radius:4px; }
.btn-activity-ctx:hover{ color:#0073ea; background:#eef4fd; }

/* ===== Popup activité contextuelle ===== */
.act-list{ padding:12px; }
.act-row{ display:flex; align-items:flex-start; gap:10px; padding:10px 0; border-bottom:1px solid #ebedf3; }
.act-row:last-child{ border:none; }
.act-icon{ font-size:18px; flex-shrink:0; }
.act-body{ flex:1; }
.act-title{ font-size:13px; font-weight:600; color:#323338; }
.act-meta{ font-size:11px; color:#676879; margin-top:2px; }
.act-ctx-btn{ background:none; border:none; cursor:pointer; color:#b0b3c1; font-size:16px; padding:2px 6px; border-radius:4px; flex-shrink:0; }
.act-ctx-btn:hover{ color:#323338; background:#f5f6fb; }
.act-ctx-select{ display:flex; gap:6px; align-items:center; margin-top:8px; }
.act-ctx-select select{ flex:1; height:32px; border:1.5px solid #d0d4e4; border-radius:6px; font-size:12px; padding:0 8px; }

/* ===== Popup threads contact ===== */
.thread-list{ padding:12px; }
.thread-row{ display:flex; align-items:center; gap:10px; padding:12px; border:1.5px solid #ebedf3; border-radius:8px; margin-bottom:8px; cursor:pointer; transition:border-color .15s; }
.thread-row:hover{ border-color:#0073ea; background:#f5f9ff; }
.thread-icon{ font-size:20px; flex-shrink:0; }
.thread-body{ flex:1; }
.thread-subject{ font-size:13px; font-weight:600; color:#323338; }
.thread-meta{ font-size:11px; color:#676879; margin-top:2px; }
.thread-arrow{ color:#b0b3c1; font-size:18px; flex-shrink:0; }

/* ===== Popup contexte appel ===== */
.context-inferred{ background:#eef4fd; border:1.5px solid #c3d8f7; border-radius:8px; padding:12px 16px; margin-bottom:12px; }
.context-inferred p{ margin:0 0 4px; font-size:13px; color:#676879; }
.context-inferred__label{ font-size:14px; font-weight:700; color:#323338; margin:4px 0 8px !important; }
.ctx-change{ font-size:12px; color:#0073ea; }

/* ===== Select2 contexte appel — options sélectionnées ===== */
.select2-results__option--selected{
	background:#e6faf2 !important;
	border:1.5px solid #00c875 !important;
	border-radius:6px !important;
	color:#1a7a4a !important;
	font-weight:600 !important;
	position:relative;
}
.select2-results__option--selected::after{
	content:'✓';
	position:absolute;
	right:10px;
	top:50%;
	transform:translateY(-50%);
	color:#00c875;
	font-weight:700;
}

/* Timeline : prénom auteur 14px */
.tl-item .avatar span{ font-size:14px; }

/* Timeline boutons edit/delete — style cell-action cohérent */
.tl-item .cell-action{ background:none; border:none !important; outline:none; box-shadow:none; }
.tl-item .cell-action:focus{ outline:none; box-shadow:none; }
.tl-item .cell-action:hover{ background:#eef4fd; color:#0073ea !important; }
.tl-item .tl-delete{ color:#b0b3c1; }
.tl-item .tl-delete:hover{ background:#fde8ec !important; color:#e2445c !important; }

/* Select2 contexte appel — dropdown min-height + masquer options déjà sélectionnées.
   Restreint à sa popup : appliquée globalement, cette hauteur minimale
   poussait les résultats vers le bas dans tout autre select2, dont
   celui de contexte de la popup mail, où les leads semblaient absents
   alors qu'ils étaient bien présents plus bas dans un vide blanc. */
#ctx-select2 + .select2-container .select2-results__options,
#mc-context + .select2-container .select2-results__options{
	padding:12px;
}
#ctx-select2 + .select2-container .select2-results__options{ min-height:300px; }
.select2-results__option{
	padding:8px 10px !important;
	border-radius:6px;
	margin-bottom:2px;
	display:flex !important;
	align-items:center;
	justify-content:space-between;
	border:1px solid transparent;
	transition:border-color .12s, background .12s;
}
.select2-results__option--highlighted{
	border-color:#c3d8f7 !important;
	background:#eef4fd !important;
	color:#0073ea !important;
}
.select2-results__option[aria-selected="true"]{
	border-color:#0073ea !important;
	background:#fff !important;
	color:#0073ea !important;
	font-weight:600;
}
.select2-results__option[aria-selected="true"]{
	padding-left:28px !important;
	position:relative;
}
.select2-results__option[aria-selected="true"]::before{
	content:'✓';
	position:absolute;
	left:10px;
	top:50%;
	transform:translateY(-50%);
	color:#0073ea;
	font-weight:700;
	font-size:13px;
}
.select2-results__group{
	padding:6px 10px 4px;
	font-size:11px;
	font-weight:700;
	color:#676879;
	text-transform:uppercase;
	letter-spacing:.5px;
}
/* Le li qui contient le groupe ne doit pas hériter du flex des options */
.select2-results__option[role="group"]{
	display:block !important;
	border:none !important;
	padding:0 !important;
	background:none !important;
	position:static !important;
}
.select2-results__option[role="group"]::before{ display:none; }

/* cell-action dans tableaux inline popups */
td .cell-action{ background:none; border:none !important; outline:none; box-shadow:none; padding:0; }
td .cell-action:hover{ background:#eef4fd; color:#0073ea; }

/* Bouton non attribués dans filter bar leads */
.filter-btn-unassigned{
	position:relative;
	height:36px;
	padding:0 14px;
	border:1.5px solid #d0d4e4;
	border-radius:6px;
	background:#fff;
	font-size:13px;
	font-weight:500;
	color:#323338;
	cursor:pointer;
	transition:border-color .12s, background .12s;
	white-space:nowrap;
	flex-shrink:0;
}
.filter-btn-unassigned:hover{
	border-color:#0073ea;
	color:#0073ea;
}
.filter-btn-unassigned.active{
	background:#0073ea;
	color:#fff;
	border-color:#0073ea;
}
.filter-btn-unassigned.active:hover{
	background:#0060c0;
}
.filter-btn-unassigned.active .unassigned-badge{
	background:#fff;
	color:#0073ea;
}

.filter-btn-unassigned:hover{ border-color:#0073ea; color:#0073ea; }
.filter-btn-unassigned.active{ background:#e2445c; border-color:#e2445c; color:#fff; }
.filter-btn-unassigned.active .
/* Croix fermeture sur items notification */
.notif-item{ position:relative; }
.notif-item__close{
	position:absolute;
	top:8px;
	right:8px;
	background:none;
	border:none;
	font-size:16px;
	line-height:1;
	color:#b0b3c1;
	cursor:pointer;
	padding:2px 4px;
	border-radius:3px;
	opacity:0;
	transition:opacity .12s, color .12s;
}
.notif-item:hover .notif-item__close{ opacity:1; }
.notif-item__close:hover{ color:#e2445c; }

/* Boutons d'accès rapide dans le header de la popup lead */
.lead-modal-header-actions{
	display:flex;
	gap:6px;
	margin-left:auto;
	margin-right:8px;
	align-items:center;
}
.lead-modal-header-actions .btn--sm{
	display:inline-flex;
	align-items:center;
	gap:4px;
	padding:4px 10px;
	font-size:12px;
	height:28px;
	border:1.5px solid #d0d4e4;
	border-radius:6px;
	background:#fff;
	color:#323338;
	cursor:pointer;
	white-space:nowrap;
	transition:border-color .12s, color .12s;
}
.lead-modal-header-actions .btn--sm:hover{
	border-color:#0073ea;
	color:#0073ea;
}

/* Bouton discussion dans header popup — bordure explicite */



/* Bouton Annuler dans toast de suppression */
/* Lien d'annulation, identique dans tous les toasts */
.toast-undo,
.mail-undo__btn{
	margin-left:8px;
	padding:0;
	border:none;
	background:none;
	color:#0073ea;
	font-size:13px;
	font-weight:700;
	font-family:inherit;
	text-decoration:underline;
	cursor:pointer;
	white-space:nowrap;
	flex-shrink:0;
}
.toast-undo:hover,
.mail-undo__btn:hover{ color:#0060c2; }


/* Suggestion de client dans popup lead */
.lead-suggestion-box{
	background:#fffbea;
	border:1px solid #f0c040;
	border-radius:8px;
	padding:10px 14px;
	margin:6px 0 2px;
	display:flex;
	flex-direction:column;
	gap:8px;
}
.lead-suggestion-box__title{
	font-size:12px;
	font-weight:600;
	color:#7a6000;
}
.lead-suggestion-box__pills{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
}
.lead-suggestion-pill{
	display:inline-block;
	padding:4px 12px;
	border:1.5px solid #0073ea;
	border-radius:20px;
	color:#0073ea;
	font-size:12px;
	font-weight:500;
	background:#fff;
}

/* Bouton KO dans footer popup lead */
.btn--warning{
	background:#fff;
	color:#e2445c;
	border:1.5px solid #e2445c;
}
.btn--warning:hover{ background:#fff0f2; }

.lead-ko-badge{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:6px 14px;
	background:#ffe6e6;
	color:#e2445c;
	border-radius:6px;
	font-size:13px;
	font-weight:600;
}

/* Grid motifs KO */
.ko-reasons-grid{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	padding:8px 0;
}
.ko-reasons-grid .ko-reason-pick{
	padding:8px 18px;
	border-radius:20px;
	cursor:pointer;
	font-size:13px;
	transition:background .12s, color .12s;
}
.ko-reasons-grid .ko-reason-pick:hover{
	background:#e2445c;
	color:#fff;
	border-color:#e2445c;
}

/* Settings motifs KO */
.ko-reason-row{
	display:flex;
	gap:8px;
	align-items:center;
	margin-bottom:8px;
}
.ko-reason-drag{
	cursor:grab;
	color:#c5c7d0;
	font-size:16px;
	line-height:1;
	padding:2px;
}
.ko-reason-input{
	flex:1;
	padding:7px 10px;
	border:1.5px solid #d0d4e4;
	border-radius:6px;
	font-size:13px;
	transition:border-color .12s;
}
.ko-reason-input:focus{
	outline:none;
	border-color:#0073ea;
}

/* Motif KO sélectionné */
.ko-reason-pick--active{
	background:#e2445c !important;
	color:#fff !important;
	border-color:#e2445c !important;
}

.tl-author{ font-size:11px; color:#676879; margin-top:3px; }

/* Badge count leads non attribués */
.unassigned-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:18px;
	height:18px;
	padding:0 5px;
	border-radius:9px;
	background:#e2445c;
	color:#fff;
	font-size:10px;
	font-weight:700;
	margin-left:6px;
	vertical-align:middle;
}

/* Actions edit/delete timeline */
.tl-header-actions{ display:flex; gap:4px; align-items:center; margin-left:auto; }

/* Change log */
.change-datetime{
	color:#676879;
	font-size:12px;
	margin:-8px 0 16px;
}
.act-change-link{ color:#0073ea; cursor:pointer; font-size:12px; text-decoration:underline; }
.act-change-table{ width:100%; border-collapse:collapse; font-size:12px; margin-top:8px; }
.act-change-table th{ background:#f0f2f8; color:#676879; padding:5px 8px; text-align:left; font-weight:600; }
.act-change-table td{ padding:5px 8px; border-bottom:1px solid #ebedf3; }
.act-change-table .val-old{ color:#e2445c; }
.act-change-table .val-new{ color:#00c875; font-weight:600; }
.act-change-popup{ background:#fff; border:1px solid #d0d4e4; border-radius:8px; padding:16px; margin-top:8px; box-shadow:0 2px 8px rgba(0,0,0,.1); }

/* B2B/B2C champs conditionnels */
.b2b-only{ transition: opacity .2s; }

/* Billing row — 3 champs sur une ligne */
.billing-row{ display:flex; gap:8px; align-items:flex-end; }
.billing-cell{ flex:1; min-width:0; }
.billing-cell input, .billing-cell select{ width:100%; box-sizing:border-box; }

/* =============================================
   Panneau résultats recherche rapide
   ============================================= */
.gs-panel{
	position:fixed;
	top:0; left:220px; /* largeur sidebar */
	height:100vh;
	width:320px;
	background:#fff;
	border-right:1px solid #e6e9f0;
	box-shadow:4px 0 20px rgba(0,0,0,.08);
	z-index:1100;
	display:flex;
	flex-direction:column;
	transition:transform .2s ease;
}
.gs-panel__header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:14px 16px;
	border-bottom:1px solid #e6e9f0;
	background:#f8f9fc;
}
.gs-panel__title{
	font-weight:600;
	font-size:13px;
	color:#323338;
}
.gs-panel__close{
	background:none;
	border:none;
	font-size:20px;
	cursor:pointer;
	color:#676879;
	line-height:1;
	padding:0 4px;
}
.gs-panel__close:hover{ color:#e2445c; }
.gs-panel__body{
	flex:1;
	overflow-y:auto;
	padding:8px 0;
}
.gs-panel__group-title{
	font-size:10px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.08em;
	color:#676879;
	padding:12px 16px 4px;
}
.gs-panel__item{
	display:flex;
	gap:10px;
	align-items:center;
	padding:9px 16px;
	cursor:pointer;
	border-bottom:1px solid #f3f4f8;
	transition:background .12s;
}
.gs-panel__item:hover{ background:#f0f4ff; }
.gs-panel__item-id{
	font-size:11px;
	color:#676879;
	min-width:34px;
	flex-shrink:0;
}
.gs-panel__item-main{
	flex:1;
	min-width:0;
}
.gs-panel__item-name{
	font-size:13px;
	font-weight:600;
	color:#323338;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.gs-panel__item-sub{
	font-size:11px;
	color:#676879;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.gs-panel__empty{
	padding:24px 16px;
	text-align:center;
	color:#676879;
	font-size:13px;
}
.gs-overlay{
	display:none;
	position:fixed;
	top:0; left:540px; right:0; bottom:0; /* sidebar(220) + panel(320) */
	background:rgba(0,0,0,.25);
	z-index:1099;
}

/* =============================================
   Module Repas RH
   ============================================= */
.repas-module{
	max-width:900px;
	padding:24px;
}
.repas-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:24px;
	gap:12px;
}
.repas-title{
	font-size:20px;
	font-weight:700;
	color:#323338;
}
.repas-nav{
	display:flex;
	align-items:center;
	gap:8px;
}
.repas-nav-btn{
	background:#fff;
	border:1.5px solid #d0d4e4;
	border-radius:6px;
	padding:6px 12px;
	cursor:pointer;
	font-size:16px;
	color:#323338;
	transition:border-color .15s;
}
.repas-nav-btn:hover{ border-color:#0073ea; color:#0073ea; }
.repas-month-label{
	font-size:15px;
	font-weight:600;
	color:#323338;
	min-width:140px;
	text-align:center;
}



.repas-prefs-days{
	display:flex;
	gap:6px;
}
.repas-day-cb{
	display:none;
}
.repas-day-label{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:32px; height:32px;
	border-radius:6px;
	border:1.5px solid #d0d4e4;
	background:#fff;
	cursor:pointer;
	font-size:12px;
	font-weight:600;
	color:#676879;
	transition:all .15s;
}
.repas-day-cb:checked + .repas-day-label{
	background:#fde8e8;
	border-color:#e2445c;
	color:#e2445c;
}
/* Dans la popup user : TT = bleu */
.modal__body .repas-day-cb:checked + .repas-day-label{
	background:#e8f0fe;
	border-color:#0073ea;
	color:#0073ea;
}
.repas-site-select{
	padding:6px 10px;
	border:1.5px solid #d0d4e4;
	border-radius:6px;
	font-size:13px;
	color:#323338;
}

/* Calendrier */
.repas-calendar{
	border:1px solid #e6e9f0;
	border-radius:8px;
	overflow:hidden;
	margin-bottom:20px;
}
.repas-cal-head{
	display:grid;
	grid-template-columns:repeat(5, 1fr);
	background:#f0f4ff;
	border-bottom:1px solid #e6e9f0;
}
.repas-cal-head-cell{
	padding:10px 0;
	text-align:center;
	font-size:11px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.06em;
	color:#0073ea;
}
.repas-cal-body{
	display:grid;
	grid-template-columns:repeat(5, 1fr);
}
.repas-cal-cell{
	border-right:1px solid #e6e9f0;
	border-bottom:1px solid #e6e9f0;
	padding:12px 8px;
	min-height:80px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	gap:10px;
}
.repas-cal-cell:nth-child(5n){ border-right:none; }
.repas-cal-cell--empty{
	background:#fafafa;
}

.repas-cal-cell--locked{
	background:#f4f5f8;
}
.repas-cal-cell--locked .repas-toggle{
	opacity:.45;
	cursor:not-allowed;
}
.repas-cal-cell--locked .repas-day-num{
	color:#9699a6;
}
.repas-cal-cell--today .repas-day-num{
	background:#0073ea;
	color:#fff;
}
.repas-day-num{
	font-size:13px;
	font-weight:600;
	color:#323338;
	width:28px; height:28px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
}
.repas-day-weekday{
	font-size:10px;
	color:#676879;
}
.repas-toggle{
	width:36px; height:36px;
	border-radius:8px;
	border:2px solid #d0d4e4;
	background:#fff;
	cursor:pointer;
	transition:all .15s;
	font-size:18px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.repas-toggle:hover{ border-color:#0073ea; }
.repas-toggle.is-on{
	background:#e6f7ed;
	border-color:#00c875;
	color:#00c875;
}
.repas-toggle.is-off{
	background:#fff0f0;
	border-color:#e2445c;
	color:#e2445c;
}

.repas-actions{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:12px;
}
#repas-reset{
	padding:8px 16px;
	border:1px solid #c3c6d4;
	background:#fff;
	color:#323338;
	font-size:14px;
}
#repas-reset:hover{
	background:#eceff8;
}
/* Sidebar groupe avec sous-menu */
.sidebar__group-toggle{
	display:flex;
	align-items:center;
	gap:10px;
	width:100%;
	padding:10px 12px;
	background:none;
	border:none;
	border-radius:6px;
	cursor:pointer;
	color:#d5d8e4;
	font-size:14px;
	font-weight:400;
	text-align:left;
	transition:background .15s;
}
.sidebar__group-toggle:hover{ background:rgba(255,255,255,.08); color:#fff; }
.sidebar__group-arrow{
	margin-left:auto;
	transition:transform .2s;
	font-size:12px;
	opacity:.7;
}
.sidebar__group.is-open .sidebar__group-arrow{ transform:rotate(90deg); }
.sidebar__submenu{
	display:none;
	background:rgba(0,0,0,.15);
}
.sidebar__group.is-open .sidebar__submenu{ display:block; }
/* Les sous-entrées gardent la typographie du niveau 1 */
.sidebar__link--sub{
	padding-left:38px !important;
	font-size:14px !important;
	color:#d5d8e4;
}

/* Section Repas & Présence dans popup utilisateur */
.modal-section--repas{ margin-top:24px; }

/* Indicateur modifications en attente */
.repas-actions{ align-items:center; gap:12px; }
#repas-save.has-pending{
	box-shadow:0 0 0 3px rgba(0,115,234,.18);
}

/* =============================================
   Popup de confirmation
   ============================================= */
.confirm-overlay{
	position:fixed;
	inset:0;
	background:rgba(20,22,30,.45);
	backdrop-filter:blur(2px);
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:99999;
	opacity:0;
	transition:opacity .15s ease;
}
.confirm-overlay.is-visible{ opacity:1; }
/* Sécurité : un overlay resté sans .is-visible redevient visible
   après l'animation, plutôt que de bloquer les clics en transparent */
.confirm-overlay{ animation:confirmFailsafe .01s .4s forwards; }
@keyframes confirmFailsafe{ to{ opacity:1; } }
.confirm-modal{
	background:#fff;
	border-radius:12px;
	box-shadow:0 12px 40px rgba(0,0,0,.18);
	width:100%;
	max-width:420px;
	overflow:hidden;
	transform:translateY(8px) scale(.98);
	transition:transform .18s cubic-bezier(.2,.9,.3,1);
}
.confirm-overlay.is-visible .confirm-modal{
	transform:translateY(0) scale(1);
}
.confirm-modal__body{
	padding:28px 28px 20px;
	text-align:center;
}
.confirm-modal__icon{
	font-size:34px;
	line-height:1;
	margin-bottom:14px;
}
.confirm-modal__title{
	font-size:17px;
	font-weight:700;
	color:#323338;
	margin-bottom:8px;
}
.confirm-modal__message{
	font-size:14px;
	line-height:1.5;
	color:#676879;
}
.confirm-modal__hint{
	display:inline-block;
	margin-top:8px;
	font-size:12.5px;
	color:#9699a6;
}
.confirm-modal__actions{
	display:flex;
	justify-content:flex-end;
	gap:10px;
	padding:16px 24px 20px;
	border-top:1px solid #f0f1f5;
	background:#fbfbfd;
}
.confirm-modal__actions .btn{
	min-width:110px;
}
.confirm-yes:focus-visible{
	outline:2px solid #0073ea;
	outline-offset:2px;
}

/* Carte Restauration interne — Paramètres */
.settings-card--repas{ margin-top:28px; }

/* =============================================
   Colonne Sextan — datatable leads
   ============================================= */
/* Pill Sextan des leads — deux actions P et R */
.cell-pill--sextan:hover .cell-actions{ max-width:56px; }
.cell-pill--sextan .cell-action{
	font-size:11px;
	font-weight:700;
}
.dt-sextan-col{
	text-align:center;
	width:110px;
}
.sextan-create{
	color:#9699a6;
	transition:color .15s;
}
button.sextan-create:hover{ color:#0073ea; }


/* Champ de saisie dans la popup de confirmation */
.confirm-modal__field{
	margin-top:18px;
	text-align:left;
}
.confirm-modal__field label{
	display:block;
	font-size:12px;
	font-weight:600;
	color:#676879;
	margin-bottom:6px;
}
.confirm-modal__input{
	width:100%;
	padding:9px 12px;
	border:1.5px solid #d0d4e4;
	border-radius:6px;
	font-size:14px;
	color:#323338;
	box-sizing:border-box;
	transition:border-color .15s;
}
.confirm-modal__input:focus{
	outline:none;
	border-color:#0073ea;
}

/* Blocage de configuration Sextan */
.sextan-config-warn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color:#f39c12;
	cursor:help;
	opacity:.75;
	transition:opacity .15s;
}
.sextan-config-warn:hover{ opacity:1; }

/* Section Sextan dans la popup lead */
.lead-section--sextan .sextan-links,
.lead-section--sextan .sextan-blocked{
	margin:14px 16px;
}
.sextan-links{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}
/* Boutons Sextan — mêmes couleurs que .cell-pill du datatable */
.sextan-link-btn{
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:6px 12px;
	background:#eef4fd;
	border:1px solid #c3d8f7;
	border-radius:5px;
	color:#0073ea;
	font-size:13px;
	font-weight:500;
	white-space:nowrap;
	cursor:pointer;
	transition:background .15s, border-color .15s;
}
.sextan-link-btn:hover{
	background:#d6eaff;
	border-color:#0073ea;
}
.sextan-link-btn svg{
	display:block;
	flex-shrink:0;
	opacity:.7;
	pointer-events:none;
}
.sextan-link-btn:hover svg{ opacity:1; }
/* Prérequis manquants — même traitement que les suggestions NDD */
.sextan-blocked{
	padding:12px 14px;
	background:#fffbea;
	border:1.5px solid #f5d97e;
	border-radius:8px;
}
.sextan-blocked__title{
	font-size:12px;
	font-weight:600;
	color:#323338;
	margin-bottom:4px;
}
.sextan-blocked__reason{
	font-size:12px;
	color:#676879;
	line-height:1.45;
}

/* Avertissement dans la popup de confirmation */
.confirm-modal__warning{
	margin-top:16px;
	padding:10px 14px;
	background:#fffbea;
	border:1.5px solid #f5d97e;
	border-radius:8px;
	font-size:12.5px;
	color:#676879;
	line-height:1.45;
	text-align:left;
}

/* Liens Sextan dans la timeline d'activité */
.act-sextan-link{
	color:#0073ea;
	font-weight:600;
	text-decoration:none;
	border-bottom:1px solid rgba(0,115,234,.35);
	transition:border-color .15s;
}
.act-sextan-link:hover{
	border-bottom-color:#0073ea;
}

/* =============================================
   Dossiers (projets Sextan)
   ============================================= */
.proj-id{
	font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size:12px;
	color:#676879;
}
.proj-ratio{
	display:inline-block;
	margin-left:6px;
	padding:2px 7px;
	border-radius:10px;
	background:#eef4fd;
	border:1px solid #c3d8f7;
	color:#0073ea;
	font-size:11px;
	font-weight:700;
	cursor:help;
}
.proj-ratio.is-partial{
	background:#fffbea;
	border-color:#f5d97e;
	color:#a87c1a;
}

/* Réceptions dans la colonne Dossiers — pills avec action au survol */
.recep-pills{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:4px;
}
.recep-pill{
	font-size:12px;
	padding:3px 9px;
}
.recep-pill:hover .cell-actions{
	max-width:28px;
}
/* Commande */
.recep-pill.is-confirmed{
	background:#e6f7ed;
	border-color:#a8e6c4;
	color:#037f4c;
}
.recep-pill.is-confirmed:hover{
	background:#d0f0de;
	border-color:#037f4c;
}
.recep-pill.is-confirmed .cell-action{ color:#037f4c; }
.recep-pill.is-confirmed .cell-action:hover{ background:rgba(3,127,76,.12); }
/* Annulée */
.recep-pill.is-cancelled{
	background:#fdeef1;
	border-color:#f5c2cc;
	color:#e2445c;
}
.recep-pill.is-cancelled:hover{
	background:#fbdde3;
	border-color:#e2445c;
}
.recep-pill.is-cancelled .cell-action{ color:#e2445c; }
.recep-pill.is-cancelled .cell-action:hover{ background:rgba(226,68,92,.12); }

/* Valeur HT — colonne Dossiers */
.dt-right{ text-align:right; }
.val-ht{
	font-weight:600;
	color:#323338;
	white-space:nowrap;
}
.val-empty{ color:#c3c6d4; }

/* =============================================
   États des notifications
   ============================================= */
.notif-item.is-unread{
	background:#f0f6ff;
	border-left:3px solid #0073ea;
}
.notif-item.is-read{
	background:#fff;
	border-left:3px solid transparent;
}
.notif-item.is-read .notif-item__excerpt{
	color:#676879;
}
.notif-item__close{
	position:absolute;
	top:6px;
	right:6px;
	width:18px;
	height:18px;
	padding:0;
	line-height:1;
	border:none;
	border-radius:3px;
	background:transparent;
	color:#c3c6d4;
	font-size:15px;
	cursor:pointer;
	opacity:0;
	transition:opacity .15s, background .15s, color .15s;
}
.notif-item{ position:relative; }
.notif-item:hover .notif-item__close{ opacity:1; }
.notif-item__close:hover{
	background:#fdeef1;
	color:#e2445c;
}

.dt-center{ text-align:center; }

/* =============================================
   Page de création de compte
   ============================================= */
.crm-auth-card--wide{ max-width:480px; }
.crm-auth-intro{
	font-size:13px;
	color:#676879;
	line-height:1.5;
	margin:0 0 20px;
	text-align:center;
}
.crm-auth-row{
	display:flex;
	gap:12px;
}
.crm-auth-row .crm-auth-field{ flex:1; }
.crm-auth-success{
	padding:14px 16px;
	background:#e6f7ed;
	border:1.5px solid #a8e6c4;
	border-radius:8px;
	color:#037f4c;
	font-size:13px;
	line-height:1.5;
	margin-bottom:16px;
}
.crm-auth-sep{
	position:relative;
	text-align:center;
	margin:18px 0 12px;
}
.crm-auth-sep::before{
	content:'';
	position:absolute;
	top:50%; left:0; right:0;
	height:1px;
	background:#e6e9f0;
}
.crm-auth-sep span{
	position:relative;
	padding:0 12px;
	background:#fff;
	color:#9699a6;
	font-size:12px;
}
.crm-auth-link--register{
	display:block;
	text-align:center;
	font-weight:600;
}
/* Critères de mot de passe */
.crm-pw-rules{
	list-style:none;
	margin:8px 0 0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:4px 14px;
}
.crm-pw-rules li{
	position:relative;
	padding-left:16px;
	font-size:11.5px;
	color:#9699a6;
	transition:color .15s;
}
.crm-pw-rules li::before{
	content:'○';
	position:absolute;
	left:0;
}
.crm-pw-rules li.is-ok{ color:#037f4c; }
.crm-pw-rules li.is-ok::before{ content:'●'; }

/* Champ e-mail avec domaine fixe */
.crm-auth-email-group{
	display:flex;
	align-items:stretch;
}
.crm-auth-email-group input{
	flex:1;
	border-top-right-radius:0 !important;
	border-bottom-right-radius:0 !important;
	border-right:none !important;
	min-width:0;
}
.crm-auth-email-domain{
	display:flex;
	align-items:center;
	padding:0 12px;
	background:#f5f6f8;
	border:1px solid #d0d4e4;
	border-left:none;
	border-radius:0 6px 6px 0;
	color:#676879;
	font-size:14px;
	white-space:nowrap;
}
.crm-auth-email-group input:focus + .crm-auth-email-domain{
	border-color:#0073ea;
}

/* Erreurs du formulaire d'inscription — alignées sur les modals du CRM */
.crm-auth-field.has-error input{
	border-color:#e2445c !important;
}
.crm-auth-field.has-error label{
	color:#e2445c;
}
.crm-auth-field.has-error .crm-auth-email-domain{
	border-color:#e2445c;
}
.crm-auth-wrap .modal-errors{
	text-align:left;
	line-height:1.5;
}


/* Tableau utilisateurs dans la carte Paramètres */
.settings-card .filter-bar--unified{ margin: 16px 0 12px; }
.settings-card .table-wrap{ margin: 0; }
/* La carte contenant un datatable occupe toute la largeur disponible */
.settings-card:has(#dt-users){ max-width: none; }
/* Repli pour les navigateurs sans :has() */
.settings-card--full{ max-width: none !important; }
/* Dix colonnes : laisser les en-têtes se replier pour éviter le scroll */
#dt-users{
	width: 100% !important;
	table-layout: auto;
}
#dt-users thead th{
	white-space: normal;
	padding: 10px 8px;
}
#dt-users tbody td{
	padding: 8px;
	word-break: break-word;
}
/* Colonnes courtes : ne pas laisser les badges se couper */
#dt-users th:nth-child(6),
#dt-users th:nth-child(7),
#dt-users th:nth-child(8),
#dt-users th:nth-child(9){ width: 1%; }
#dt-users td:nth-child(6),
#dt-users td:nth-child(7),
#dt-users td:nth-child(8),
#dt-users td:nth-child(9){ white-space: nowrap; }
#dt-users tbody tr{ cursor: pointer; }

/* Délai de paiement : champ + suffixe NET */
.billing-net{
	display:flex;
	align-items:center;
	gap:8px;
}
.billing-net input{
	width:90px;
	flex:0 0 auto;
}
.billing-net__suffix{
	font-size:13px;
	color:#676879;
	white-space:nowrap;
}

/* Sélecteur de pays avec drapeau */
.country-opt{
	display:inline-flex;
	align-items:center;
	gap:8px;
}
.country-opt__flag{
	font-size:16px;
	line-height:1;
	flex-shrink:0;
}

/* Barre de progression des imports */
.sync-progress{
	height:6px;
	background:#e6e9f0;
	border-radius:3px;
	overflow:hidden;
}
.sync-progress__fill{
	height:100%;
	background:#0073ea;
	border-radius:3px;
	transition:width .25s ease;
}

/* Popup de confirmation après création d'un projet Sextan */
.sextan-created{ position:relative; }
.sextan-created__close{
	position:absolute;
	top:12px;
	right:12px;
	width:28px;
	height:28px;
	padding:0;
	line-height:1;
	border:none;
	border-radius:6px;
	background:transparent;
	color:#9699a6;
	font-size:22px;
	cursor:pointer;
	transition:background .15s, color .15s;
}
.sextan-created__close:hover{
	background:#f5f6f8;
	color:#323338;
}
.sextan-created__actions{
	display:flex;
	flex-direction:column;
	gap:8px;
	margin-top:20px;
}
.sextan-created__actions .btn{
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:100%;
	box-sizing:border-box;
}

/* Champs de la popup de création de projet */
.confirm-modal__field + .confirm-modal__field{ margin-top:12px; }
.confirm-modal__field label{
	display:block;
	font-size:12px;
	color:#676879;
	margin-bottom:5px;
	text-align:left;
}

/* =============================================
   Actions de ligne — révélées au survol
   ============================================= */
.row-actions{
	display:flex;
	gap:4px;
	align-items:center;
	opacity:0;
	transition:opacity .12s ease;
}
table.dataTable tbody tr:hover .row-actions{ opacity:1; }
/* Accessibilité : le focus clavier révèle aussi les actions */
.row-actions:focus-within{ opacity:1; }

/* Icône sans donnée associée */
.cell-action.is-disabled{
	opacity:.28;
	cursor:not-allowed;
	pointer-events:none;
}

/* La colonne garde sa largeur même quand les icônes sont masquées */
.dt-acts-col{ white-space:nowrap; }
/* Une discussion en cours reste signalée même sans survol */
table.dataTable tbody tr .row-actions:has(.disc-chat-btn--active){ opacity:1; }

/* Groupe e-mail dans les popups du CRM */
.form-field .crm-auth-email-group input{
	border-top-right-radius:0 !important;
	border-bottom-right-radius:0 !important;
	border-right:none !important;
}
.form-field .crm-auth-email-domain{
	border-radius:0 4px 4px 0;
	font-size:13.5px;
}

/* Télétravail et site alignés sur la même hauteur */
.modal-section--repas .form-field{ align-self:start; }
.modal-section--repas .repas-prefs-days{ margin-top:1px; }
.modal-section--repas .repas-day-label{
	width:30px;
	height:30px;
}

/* Bandeau de maintenance dans la topbar */
.topbar__maintenance{
	display:inline-flex;
	align-items:center;
	gap:5px;
	padding:4px 10px;
	margin-left:auto;
	background:#fff4dd;
	border:1px solid #f0c674;
	border-radius:20px;
	color:#a8730f;
	font-size:12px;
	font-weight:700;
	white-space:nowrap;
}

/* Outils de l'en-tête des notifications */
/* Outils centrés entre le titre et la croix de fermeture */
.notif-panel__tools{
	display:flex;
	align-items:center;
	gap:4px;
	margin:0 auto;
}
.notif-tool{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
	padding:0;
	border:none;
	border-radius:5px;
	background:transparent;
	color:#9699a6;
	cursor:pointer;
	transition:background .15s, color .15s;
}
.notif-tool:hover{
	background:#eef4fd;
	color:#0073ea;
}
.notif-tool--danger:hover{
	background:#fdeef1;
	color:#e2445c;
}
.notif-tool svg{ display:block; }

/* Carte de synchronisation sur deux colonnes */
.sync-full-card--wide{
	grid-column:span 2;
}
@media (max-width:700px){
	.sync-full-card--wide{ grid-column:span 1; }
}

/* =============================================
   Popup projet — onglets et détail des réceptions
   ============================================= */
.proj-badge{ margin-left:8px; display:inline-flex; align-items:center; gap:5px; vertical-align:1px; }
/* Le pill client hérite du datatable mais sans fond de cellule */
.proj-kv .cell-pill{ margin:0; }
/* Corps de la popup projet — plus compact que les autres */
.modal__body:has(.proj-modal),
.modal__body--project{ padding:15px 20px !important; }

/* Sélecteur de réception */
.proj-recs{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
	padding:0 0 14px;
	border-bottom:1px solid #e6e9f0;
}
.proj-recs__label{ font-size:12px; color:#9699a6; }
.proj-rec{
	padding:5px 11px;
	border:1px solid #d0d4e4;
	border-radius:6px;
	background:#fff;
	font-size:12.5px;
	color:#676879;
	cursor:pointer;
	transition:all .15s;
}
.proj-rec:hover{ border-color:#0073ea; color:#0073ea; }
.proj-rec.is-active{
	background:#eef4fd;
	border-color:#0073ea;
	color:#0073ea;
	font-weight:600;
}
.proj-rec__pax{ font-weight:400; opacity:.8; }

/* Onglets */
.proj-tabs{
	display:flex;
	gap:18px;
	border-bottom:1px solid #e6e9f0;
	margin-bottom:16px;
	overflow-x:auto;
}
.proj-tab{
	padding:10px 0;
	border:none;
	border-bottom:2px solid transparent;
	background:none;
	font-size:13.5px;
	color:#676879;
	cursor:pointer;
	white-space:nowrap;
	transition:color .15s, border-color .15s;
}
.proj-tab:hover{ color:#323338; }
.proj-tab.is-active{
	color:#323338;
	font-weight:600;
	border-bottom-color:#0073ea;
}

/* Contenu */
.proj-panel{ font-size:13.5px; }
.proj-empty{
	padding:32px 12px;
	text-align:center;
	color:#9699a6;
	font-size:13px;
}
.proj-section__title{
	font-size:13px;
	font-weight:600;
	color:#323338;
	margin:20px 0 8px;
}
.proj-section__title:first-child{ margin-top:0; }

.proj-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
	gap:10px 20px;
	margin-bottom:6px;
}
.proj-kv{ display:flex; flex-direction:column; gap:2px; }
.proj-kv span{ font-size:11.5px; color:#9699a6; }
.proj-kv strong{ font-size:13.5px; font-weight:600; color:#323338; }

.proj-table{
	width:100%;
	border-collapse:collapse;
	font-size:13px;
}
.proj-table th{
	text-align:left;
	font-size:11.5px;
	font-weight:600;
	color:#9699a6;
	padding:6px 8px 6px 0;
	border-bottom:1px solid #e6e9f0;
}
.proj-table td{
	padding:7px 8px 7px 0;
	border-bottom:1px solid #f0f2f7;
}
.proj-table tfoot td{ border-bottom:none; padding-top:10px; }
.proj-table .ta-r, .proj-table th.ta-r{ text-align:right; padding-right:0; }
.proj-table .c-muted{ color:#9699a6; }
.proj-sub td{ background:#fafbfd; }
.proj-sub__mark{ color:#c3c6d4; }

/* Étapes du menu, repliables */
.proj-step{ border-bottom:1px solid #f0f2f7; }
.proj-step__head{
	display:flex;
	align-items:center;
	gap:8px;
	padding:10px 0;
	cursor:pointer;
}
.proj-step__chev{ font-style:normal; color:#9699a6; font-size:11px; width:10px; }
.proj-step__name{ font-weight:600; font-size:13px; }
.proj-step__sub{ font-size:12px; color:#9699a6; }
.proj-step__count{
	margin-left:auto;
	font-size:11px;
	color:#676879;
	background:#f0f2f7;
	padding:2px 7px;
	border-radius:10px;
}
.proj-step__body{ padding:0 0 12px; }
.proj-step.is-collapsed .proj-step__body{ display:none; }

/* Alerte de recalcul */
.proj-alert{
	padding:9px 12px;
	background:#fff4dd;
	border:1px solid #f0c674;
	border-radius:6px;
	font-size:12.5px;
	color:#a8730f;
	margin-bottom:14px;
}
.proj-note{
	padding:9px 12px;
	background:#f5f6f8;
	border-radius:6px;
	font-size:12.5px;
	color:#676879;
	margin:8px 0 0;
}
.proj-status{ font-size:11.5px; color:#676879; }
.proj-total{
	margin-top:16px;
	padding-top:12px;
	border-top:1px solid #e6e9f0;
	text-align:right;
	font-size:13px;
	color:#676879;
}
.proj-total strong{ font-size:15px; color:#323338; margin-left:8px; }

/* Checklist */
.proj-checks{ display:flex; flex-direction:column; gap:2px; }
.proj-check{
	display:flex;
	align-items:center;
	gap:10px;
	padding:7px 0;
	border-bottom:1px solid #f0f2f7;
	font-size:13px;
}
.proj-check__box{
	width:16px; height:16px;
	border:1px solid #d0d4e4;
	border-radius:4px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:11px;
	color:#00c875;
	flex-shrink:0;
}
.proj-check.is-done .proj-check__box{ border-color:#00c875; background:#e6faf2; }
.proj-check.is-done{ color:#676879; }

/* =============================================
   Pill client — alignement sur les autres pills
   ============================================= */
/* Le pill client reprend exactement les couleurs des autres pills :
   l'action se révèle au survol via .cell-actions, sans réserve d'espace. */
.cell-pill--company{
	background:#eef4fd;
	border-color:#c3d8f7;
	color:#0073ea;
}
.cell-pill--company:hover{
	background:#d6eaff;
	border-color:#0073ea;
}
.cell-pill--company:hover .cell-actions{ max-width:28px; }

/* Lien projet du header : même comportement */
.proj-link-pill{
	text-decoration:none;
	cursor:pointer;
}
.proj-link-pill:hover .cell-actions{ max-width:28px; opacity:1; margin-left:5px; }

/* =============================================
   Popup projet — stabilité et largeur
   ============================================= */
/* Le contenu ne fait plus sauter la popup à chaque onglet */
.proj-panel{
	min-height:340px;
	max-height:60vh;
	overflow-y:auto;
}
/* Largeur plus confortable pour le tableau des réceptions */
.modal:has(.proj-modal),
.modal--proj{ max-width:900px !important; width:900px !important; }

/* Un nom de réception long ne doit pas déformer le tableau */
.proj-table td{
	overflow:hidden;
	text-overflow:ellipsis;
}
.proj-table--recs{ table-layout:fixed; }
.proj-table--recs th:nth-child(1), .proj-table--recs td:nth-child(1){ width:96px; }
.proj-table--recs th:nth-child(2), .proj-table--recs td:nth-child(2){ max-width:0; }
.proj-table--recs th:nth-child(3), .proj-table--recs td:nth-child(3){ width:118px; }
.proj-table--recs th:nth-child(4), .proj-table--recs td:nth-child(4){ width:60px; }
.proj-table--recs th:nth-child(5), .proj-table--recs td:nth-child(5){ width:110px; padding-right:22px; }
.proj-table--recs th:nth-child(6), .proj-table--recs td:nth-child(6){ width:90px; }
.proj-table--recs th:nth-child(7), .proj-table--recs td:nth-child(7){ width:34px; }
.proj-table--recs td:nth-child(2){ white-space:nowrap; }

/* Pill de document — compact, sans action au survol */
.proj-doc-pill{
	text-decoration:none;
	padding:2px 8px;
	font-size:12px;
	font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
}
.proj-doc-pill .cell-pill-label{ max-width:none; }
/* La colonne d'ouverture s'élargit pour accueillir le pill */
.proj-table--recs th:nth-child(7), .proj-table--recs td:nth-child(7){ width:72px; }

/* Lien PDF dans l'onglet Documents */
.proj-pdf{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
	border-radius:5px;
	color:#676879;
	text-decoration:none;
	transition:background .15s, color .15s;
}
.proj-pdf:hover{ background:#eef4fd; color:#0073ea; }
.proj-pdf.is-off{
	color:#d0d4e4;
	cursor:not-allowed;
}
.proj-pdf.is-off:hover{ background:none; }

/* Statut Pennylane dans l'onglet Documents */
.proj-pl-status{
	display:inline-block;
	padding:2px 9px;
	border-radius:20px;
	font-size:11.5px;
	font-weight:600;
	white-space:nowrap;
}

/* Pill client de la synthèse : texte bleu comme les autres pills */
.proj-kv .cell-pill--company,
.proj-kv .cell-pill--company .cell-pill-label{ color:#0073ea; }

/* Le pill de document révèle son icône au survol */
.proj-doc-pill .cell-actions{ max-width:0; opacity:0; margin-left:0; }
.proj-doc-pill:hover .cell-actions{ max-width:24px; opacity:1; margin-left:4px; }
.proj-doc-pill .cell-action{ width:18px; height:18px; }

/* Tableau du menu : le nom absorbe la largeur restante */
.proj-table--menu{ table-layout:fixed; }
.proj-table--menu th:nth-child(1), .proj-table--menu td:nth-child(1){
	max-width:0;
	white-space:nowrap;
}
.proj-table--menu th:nth-child(2), .proj-table--menu td:nth-child(2){ width:130px; }
.proj-table--menu th:nth-child(3), .proj-table--menu td:nth-child(3){ width:70px; }

/* Icônes de contact dans les tableaux logistiques */
.proj-contact-icons{
	display:inline-flex;
	gap:2px;
	justify-content:flex-end;
}
.proj-contact-icons .cell-action.is-disabled{
	opacity:.28;
	cursor:not-allowed;
	pointer-events:none;
}

/* =============================================
   Widget de valeur des dossiers
   ============================================= */
/* Les deux totaux empilés : plus compact en hauteur de page */
.proj-totals{
	display:flex;
	flex-direction:column;
	gap:8px;
	margin-bottom:14px;
	max-width:320px;
}
.proj-total-box{
	padding:9px 14px;
	border-radius:8px;
	display:flex;
	flex-direction:column;
	gap:1px;
}
.proj-total-box--devis{
	background:#eef4fd;
	border:1px solid #c3d8f7;
}
.proj-total-box--commande{
	background:#e6faf2;
	border:1px solid #a8e6c9;
}
.proj-total-box__label{
	font-size:12px;
	color:#676879;
	font-weight:500;
}
.proj-total-box__amount{
	font-size:17px;
	font-weight:700;
	color:#323338;
	white-space:nowrap;
}
.proj-total-box--devis .proj-total-box__amount{ color:#0073ea; }
.proj-total-box--commande .proj-total-box__amount{ color:#037f4c; }

/* Détail par commercial */
.proj-card__lines{
	display:flex;
	flex-direction:column;
	gap:3px;
	margin:6px 0 4px;
}
.proj-card__line{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:8px;
	font-size:12px;
}
.proj-card__line span{ color:#9699a6; }
.proj-card__line strong{ font-size:13px; color:#323338; font-weight:600; }


/* Menu à deux niveaux */
.menu-step{ cursor:pointer; }
.menu-step:hover td{ background:rgba(0,115,234,.04); }
.menu-step__chev{
	display:inline-block;
	width:12px;
	color:#9699a6;
	font-size:10px;
}
.menu-detail.is-hidden{ display:none; }
.menu-detail > td{
	padding:0 0 10px 24px !important;
	border-bottom:1px solid #f0f2f7;
}
.menu-inner{ background:#fafbfd; border-radius:6px; }
.menu-inner th{
	font-size:11px;
	padding:6px 8px;
	border-bottom:1px solid #e6e9f0;
}
.menu-inner td{ padding:5px 8px; border-bottom:none; }
.menu-inner tr:not(:last-child) td{ border-bottom:1px solid #f0f2f7; }
.menu-sub__mark{ color:#c3c6d4; margin-right:2px; }

/* Sélecteur de réception à l'intérieur d'un onglet */
.proj-panel .proj-recs{
	padding:0 0 12px;
	margin-bottom:14px;
}

/* Résultat du test Gmail */
.gmail-ok, .gmail-ko{
	padding:12px 14px;
	border-radius:8px;
	font-size:13px;
}
.gmail-ok{ background:#e6faf2; border:1px solid #a8e6c9; color:#037f4c; }
.gmail-ko{ background:#fdeef1; border:1px solid #f5c2cb; color:#e2445c; }
.gmail-boxes{
	margin:8px 0 0;
	padding-left:18px;
	font-size:12px;
	color:#676879;
}

/* Réception perdue ou annulée dans le sélecteur */
.proj-rec.is-ko{
	border-color:#f5c2cb;
	color:#e2445c;
	background:#fdf5f6;
}
.proj-rec.is-ko:hover{
	border-color:#e2445c;
	background:#fdeef1;
}
.proj-rec.is-ko.is-active{
	background:#fdeef1;
	border-color:#e2445c;
	color:#e2445c;
	font-weight:600;
}

/* Sélection des boîtes Gmail */
.gmail-box-list{
	border:1px solid #e6e9f0;
	border-radius:8px;
	margin:0 0 14px;
	overflow:hidden;
}
.gmail-box-list__loading{
	padding:16px;
	font-size:13px;
	color:#9699a6;
	text-align:center;
}
.gmail-box-head{ border-bottom:1px solid #e6e9f0; background:#fafbfd; }
.gmail-box-items{ max-height:320px; overflow-y:auto; }
.gmail-box{
	display:flex;
	align-items:center;
	gap:10px;
	padding:9px 14px;
	cursor:pointer;
	font-size:13px;
	border-bottom:1px solid #f0f2f7;
	transition:background .12s;
}
.gmail-box:last-child{ border-bottom:none; }
.gmail-box:hover{ background:#fafbfd; }
.gmail-box--all{ font-weight:600; border-bottom:none; }
.gmail-box input[type="checkbox"]{
	width:15px; height:15px;
	flex-shrink:0;
	cursor:pointer;
}
.gmail-box__main{ display:flex; flex-direction:column; gap:1px; flex:1; min-width:0; }
.gmail-box__name{ font-weight:500; color:#323338; }
.gmail-box__mail{
	font-size:11.5px;
	color:#9699a6;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.gmail-box__role{
	font-size:11px;
	color:#676879;
	background:#f0f2f7;
	padding:2px 8px;
	border-radius:10px;
	white-space:nowrap;
}
.gmail-box__info{
	font-size:11.5px;
	color:#9699a6;
	white-space:nowrap;
	min-width:150px;
	text-align:right;
}
.gmail-box__info.is-done{ color:#037f4c; }

/* Mails dans la timeline */
.tl-mail__meta{
	font-size:12px;
	color:#676879;
	margin:2px 0 6px;
}
.tl-mail__badge{
	display:inline-block;
	margin-left:6px;
	padding:1px 7px;
	border-radius:10px;
	background:#eef4fd;
	color:#0073ea;
	font-size:10.5px;
	font-weight:600;
}
.tl-mail__body{
	white-space:pre-wrap;
	word-break:break-word;
	font-size:13px;
	line-height:1.15;
}
/* Trois lignes visibles, le reste au clic */
.tl-mail__body.is-clamped{
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.tl-mail__more{
	margin:0;
	padding:0;
	border:none;
	background:none;
	color:#0073ea;
	font-size:12px;
	cursor:pointer;
}
.tl-mail__more:hover{ text-decoration:underline; }
.tl-mail__atts{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-top:8px;
}
.tl-mail__att{
	font-size:11.5px;
	padding:3px 9px;
	background:#f5f6f8;
	border-radius:5px;
	color:#676879;
}

/* =============================================
   Fil de discussion Gmail
   ============================================= */
/* Entrée de timeline : un fil, pas un message isolé */
.tl-mail{ cursor:pointer; }
.tl-mail .tl-mail__body{ cursor:pointer; }
.tl-mail__count{
	display:inline-block;
	margin-left:5px;
	padding:0 6px;
	border-radius:9px;
	background:#f0f2f7;
	color:#676879;
	font-size:11px;
	font-weight:600;
}
.tl-mail__clip{ margin-left:4px; opacity:.6; font-size:11px; }
.tl-mail__open{
	margin:4px 0 0;
	padding:0;
	border:none;
	background:none;
	color:#0073ea;
	font-size:12px;
	cursor:pointer;
}
.tl-mail__open:hover{ text-decoration:underline; }

/* Popup du fil */
.mail-thread{ padding:4px 0; }
.mail-msg{
	border:1px solid #e6e9f0;
	border-radius:8px;
	margin-bottom:8px;
	overflow:hidden;
	background:#fff;
}
.mail-msg.is-sent{ border-left:3px solid #0073ea; }
.mail-msg__head{
	display:flex;
	align-items:center;
	gap:8px;
	padding:9px 12px;
	cursor:pointer;
	background:#fafbfd;
	transition:background .12s;
}
.mail-msg__head:hover{ background:#f0f2f7; }
.mail-msg__dir{ font-size:13px; }
.mail-msg__who{ font-weight:600; font-size:13px; flex:1; }
.mail-msg__date{ font-size:11.5px; color:#9699a6; white-space:nowrap; }
.mail-msg__to{
	padding:6px 12px 0;
	font-size:11.5px;
	color:#9699a6;
	word-break:break-word;
}
.mail-msg__body{
	padding:8px 12px 12px;
	font-size:13px;
	line-height:1.35;
	white-space:pre-wrap;
	word-break:break-word;
}
.mail-msg__quoted-btn{
	margin:0 12px 10px;
	padding:1px 8px;
	border:none;
	border-radius:5px;
	background:#f0f2f7;
	color:#9699a6;
	font-size:12px;
	letter-spacing:1px;
	cursor:pointer;
	line-height:1.4;
}
.mail-msg__quoted-btn:hover{ background:#e6e9f0; color:#676879; }
.mail-msg__quoted{
	padding:0 12px 12px;
	font-size:12px;
	line-height:1.3;
	color:#9699a6;
	white-space:pre-wrap;
	word-break:break-word;
	border-left:2px solid #e6e9f0;
	margin:0 12px 10px;
}
.mail-msg__quoted.is-hidden{ display:none; }

/* Message replié : seul l'en-tête reste visible */
.mail-msg.is-folded .mail-msg__to,
.mail-msg.is-folded .mail-msg__body,
.mail-msg.is-folded .mail-msg__quoted-btn,
.mail-msg.is-folded .mail-msg__quoted,
.mail-msg.is-folded .tl-mail__atts{ display:none; }

/* =============================================
   Composition d'un message
   ============================================= */
.mail-compose{ display:flex; flex-direction:column; gap:0; }
.mail-compose__row{
	display:flex;
	align-items:center;
	gap:10px;
	padding:8px 0;
	border-bottom:1px solid #f0f2f7;
}
.mail-compose__row.is-hidden{ display:none; }
.mail-compose__row label{
	width:48px;
	flex-shrink:0;
	font-size:12px;
	color:#9699a6;
}
.mail-compose__row input{
	flex:1;
	border:none;
	padding:2px 0;
	font-size:13.5px;
	background:none;
}
.mail-compose__row input:focus{ outline:none; }
.mail-compose__from{ font-size:13.5px; color:#676879; }

.mail-compose__tools{
	display:flex;
	align-items:center;
	gap:8px;
	padding:10px 0;
	flex-wrap:wrap;
}
.mail-compose__tpl{
	padding:4px 8px;
	border:1px solid #d0d4e4;
	border-radius:5px;
	font-size:12.5px;
}
.mail-compose__upload{ cursor:pointer; margin:0; }

.mail-compose__docs{
	padding:10px 12px;
	background:#fafbfd;
	border:1px solid #e6e9f0;
	border-radius:8px;
	margin-bottom:10px;
}
.mail-compose__docs.is-hidden{ display:none; }
.mail-compose__docs-label{
	font-size:11.5px;
	color:#9699a6;
	margin-bottom:6px;
}
.mail-compose__doc{
	display:flex;
	align-items:center;
	gap:8px;
	padding:3px 0;
	font-size:13px;
	cursor:pointer;
}

.mail-compose__atts{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-bottom:8px;
}
.mc-att{
	display:inline-flex;
	align-items:center;
	gap:5px;
	padding:3px 6px 3px 9px;
	background:#eef4fd;
	border:1px solid #c3d8f7;
	border-radius:5px;
	font-size:12px;
	color:#0073ea;
}
.mc-att-remove{
	border:none;
	background:none;
	color:#0073ea;
	font-size:15px;
	line-height:1;
	cursor:pointer;
	padding:0 2px;
}
.mc-att-remove:hover{ color:#e2445c; }

.mail-compose__body{
	min-height:220px;
	max-height:380px;
	overflow-y:auto;
	padding:12px;
	border:1px solid #d0d4e4;
	border-radius:8px;
	font-size:13.5px;
	line-height:1.45;
}
.mail-compose__body:focus{
	outline:none;
	border-color:#0073ea;
}
.mc-sig-block{
	margin-top:16px;
	padding-top:10px;
	border-top:1px solid #e6e9f0;
	color:#676879;
	font-size:12.5px;
}
.mail-compose__sig{
	display:flex;
	align-items:center;
	gap:7px;
	margin-top:10px;
	font-size:12.5px;
	color:#676879;
	cursor:pointer;
}

/* Toast d'annulation d'envoi */
.mail-undo{
	display:flex;
	align-items:center;
	gap:14px;
}
.mail-undo .crm-toast__msg{ flex:1; }


/* Barre de mise en forme du message */
.mc-tb{
	display:flex;
	align-items:center;
	gap:2px;
	flex-wrap:wrap;
	padding:5px 8px;
	border:1px solid #d0d4e4;
	border-bottom:none;
	border-radius:8px 8px 0 0;
	background:#f5f6f8;
}
.mc-tb__btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:26px;
	height:26px;
	padding:0 5px;
	border:none;
	border-radius:4px;
	background:none;
	color:#323338;
	font-size:13px;
	cursor:pointer;
	transition:background .12s;
}
.mc-tb__btn:hover{ background:#e0e4ec; }
.mc-tb__select{
	height:26px;
	padding:0 4px;
	border:none;
	border-radius:4px;
	background:none;
	font-size:12.5px;
	color:#323338;
	cursor:pointer;
}
.mc-tb__select:hover{ background:#e0e4ec; }
.mc-tb__sep{
	width:1px;
	height:18px;
	background:#d0d4e4;
	margin:0 4px;
}
.mc-tb__color{ position:relative; font-weight:700; }
.mc-tb__color-input{
	position:absolute;
	inset:0;
	opacity:0;
	width:100%;
	height:100%;
	cursor:pointer;
}

/* L'éditeur se raccorde à la barre */
.mail-compose__body{
	border-radius:0 0 8px 8px;
}
.mail-compose__body blockquote{
	margin:8px 0;
	padding-left:12px;
	border-left:3px solid #d0d4e4;
	color:#676879;
}
.mail-compose__body ul, .mail-compose__body ol{ padding-left:22px; margin:6px 0; }
.mail-compose__body a{ color:#0073ea; }

/* Photo et signature dans la fiche utilisateur */
.usr-media{ display:flex; flex-direction:column; gap:8px; }
/* Hauteur fixe : les deux champs restent alignés, avec ou sans image */
.usr-media__box{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	height:64px;
	border:1px dashed #d0d4e4;
	border-radius:8px;
	background:#fafbfd;
	overflow:hidden;
}
.usr-media__box--empty span{
	font-size:12px;
	color:#9699a6;
}
.usr-media__box--round{ border-radius:8px; }
.usr-media__del{
	position:absolute;
	top:4px;
	right:4px;
	width:20px;
	height:20px;
	padding:0;
	line-height:1;
	border:none;
	border-radius:50%;
	background:rgba(226,68,92,.9);
	color:#fff;
	font-size:15px;
	cursor:pointer;
	opacity:0;
	transition:opacity .15s;
}
.usr-media__box:hover .usr-media__del{ opacity:1; }
.usr-media__del:hover{ background:#e2445c; }

.usr-preview{
	max-width:100%;
	max-height:58px;
	object-fit:contain;
}
.usr-preview--round{
	width:56px;
	height:56px;
	border-radius:50%;
	object-fit:cover;
}
.usr-media input[type=file]{ font-size:12px; }

/* Bascule de désactivation, en pied de fiche utilisateur */
.usr-inactive{
	display:flex;
	align-items:center;
	gap:12px;
	margin-top:18px;
	padding-top:14px;
	border-top:1px solid #ebedf3;
}
.usr-inactive__txt{ display:flex; flex-direction:column; gap:1px; }
.usr-inactive__txt strong{
	font-size:13px;
	font-weight:600;
	color:#e2445c;
}
.usr-inactive__txt span{
	font-size:12px;
	color:#676879;
}

/* Sélecteur de semaine du rapport repas */
.repas-week{
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:12px;
}
.repas-week label{
	font-size:12.5px;
	color:#676879;
}
.repas-week input[type=date],
.repas-week input[type=text]{
	padding:6px 10px;
	border:1px solid #d0d4e4;
	border-radius:6px;
	font-size:13px;
}
.repas-week input[type=date]:focus,
.repas-week input[type=text]:focus{
	outline:none;
	border-color:#0073ea;
}

/* =============================================
   Tableau des utilisateurs : supprimer le
   débordement horizontal de quelques pixels
   ============================================= */
/* Le débordement venait des bordures ajoutées à la largeur calculée.
   border-collapse et box-sizing suffisent : masquer le dépassement
   couperait la bordure droite du tableau. */
#dt-users{
	max-width:100%;
	border-collapse:collapse;
}
#dt-users th,
#dt-users td{
	box-sizing:border-box;
}
#dt-users th:last-child,
#dt-users td:last-child{
	padding-right:12px;
}

.repas-week input{ cursor:pointer; width:140px; }

/* =============================================
   Modèles d'e-mail
   ============================================= */
.tpl-group{ margin-bottom:16px; }
.tpl-group:last-child{ margin-bottom:0; }
.tpl-group__title{
	font-size:11.5px;
	font-weight:600;
	color:#9699a6;
	text-transform:uppercase;
	letter-spacing:.4px;
	margin-bottom:6px;
}
.tpl-row{
	display:flex;
	align-items:center;
	gap:12px;
	padding:10px 12px;
	border:1px solid #e6e9f0;
	border-radius:8px;
	margin-bottom:6px;
	cursor:pointer;
	transition:border-color .12s, background .12s;
}
.tpl-row:hover{ border-color:#c3d8f7; background:#fafbfd; }
.tpl-row__main{ flex:1; display:flex; flex-direction:column; gap:1px; min-width:0; }
.tpl-row__name{ font-size:13.5px; font-weight:600; color:#323338; }
.tpl-row__subject{
	font-size:12px;
	color:#9699a6;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.tpl-row__date{ font-size:11.5px; color:#9699a6; white-space:nowrap; }
/* Corbeille rouge, sans encadré, fond clair au survol */
.tpl-row .tpl-del{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
	padding:0;
	border:none;
	border-radius:5px;
	background:none;
	color:#e2445c;
	cursor:pointer;
	flex-shrink:0;
	transition:background .12s;
}
.tpl-row .tpl-del:hover{ background:#fdeef1; }

/* Jetons de champs dynamiques */
.tpl-vars{
	margin:14px 0 10px;
	padding:10px 12px;
	background:#fafbfd;
	border:1px solid #e6e9f0;
	border-radius:8px;
}
.tpl-vars__label{
	font-size:11.5px;
	color:#9699a6;
	margin-bottom:8px;
}
.tpl-vars__group{ margin-bottom:10px; }
.tpl-vars__group:last-child{ margin-bottom:0; }
.tpl-vars__list{ display:flex; flex-wrap:wrap; gap:5px; }
.tpl-vars__empty{
	font-size:12.5px;
	color:#9699a6;
	text-align:center;
	padding:6px 0;
}
.tpl-var{
	padding:3px 9px;
	border:1px solid #c3d8f7;
	border-radius:5px;
	background:#eef4fd;
	color:#0073ea;
	font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size:11.5px;
	cursor:pointer;
	transition:background .12s;
}
.tpl-var:hover{ background:#d6eaff; border-color:#0073ea; }
.tpl-edit .mail-compose__body{ min-height:200px; }

/* Ligne de chargement d'un modèle */
.mail-compose__tplrow{
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:10px;
}
.mail-compose__tplrow select{
	flex:1;
	padding:6px 10px;
	border:1px solid #d0d4e4;
	border-radius:6px;
	font-size:13px;
	background:#fff;
	cursor:pointer;
}
.mail-compose__tplrow select:focus{ outline:none; border-color:#0073ea; }
.mail-compose__tplrow .btn{ flex-shrink:0; }

/* Champ verrouillé par les droits */
.field-locked{ position:relative; }
.field-locked select{
	width:100%;
	background:#f5f6f8;
	color:#676879;
	cursor:not-allowed;
	padding-right:32px;
}
.field-locked__hint{
	position:absolute;
	right:10px;
	top:50%;
	transform:translateY(-50%);
	font-size:12px;
	opacity:.55;
	pointer-events:auto;
	cursor:help;
}

/* Activité appartenant à un autre commercial */
.tl-private .tl-content{ opacity:.72; }
.tl-private__label{
	font-size:13px;
	font-weight:600;
	color:#9699a6;
}
.tl-private__txt{
	font-size:12.5px;
	color:#9699a6;
	font-style:italic;
}

/* État de la récupération automatique */
.gmail-cron{
	display:flex;
	align-items:center;
	gap:10px;
	padding:10px 14px;
	border-radius:8px;
	margin-bottom:14px;
}
.gmail-cron--on{ background:#e6faf2; border:1px solid #a8e6c9; }
.gmail-cron--off{ background:#fff4dd; border:1px solid #f0c674; }
.gmail-cron__dot{
	width:8px; height:8px;
	border-radius:50%;
	flex-shrink:0;
}
.gmail-cron--on .gmail-cron__dot{ background:#00c875; }
.gmail-cron--off .gmail-cron__dot{ background:#fdab3d; }
.gmail-cron__txt{ display:flex; flex-direction:column; gap:1px; }
.gmail-cron__txt strong{ font-size:13px; }
.gmail-cron--on .gmail-cron__txt strong{ color:#037f4c; }
.gmail-cron--off .gmail-cron__txt strong{ color:#a8730f; }
.gmail-cron__txt span{ font-size:12px; color:#676879; }

/* =============================================
   Gestion des colonnes
   ============================================= */
.dt-top{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.col-manager{ position:relative; }
.col-manager__btn{
	display:inline-flex;
	align-items:center;
	gap:6px;
	white-space:nowrap;
}
.col-manager__panel{
	position:absolute;
	top:calc(100% + 6px);
	/* Ancré à droite : le bouton est en bord d'écran, un ancrage
	   à gauche ferait déborder le panneau hors de la fenêtre. */
	right:0;
	left:auto;
	z-index:120;
	min-width:230px;
	max-width:min(280px, calc(100vw - 32px));
	background:#fff;
	border:1px solid #d0d4e4;
	border-radius:8px;
	box-shadow:0 8px 24px rgba(41,47,76,.14);
	overflow:hidden;
}
.col-manager__panel.is-hidden{ display:none; }
.col-manager__head{
	padding:9px 12px;
	font-size:11.5px;
	font-weight:600;
	color:#9699a6;
	text-transform:uppercase;
	letter-spacing:.4px;
	border-bottom:1px solid #f0f2f7;
}
.col-manager__list{ max-height:320px; overflow-y:auto; padding:4px 0; }
.col-item{
	display:flex;
	align-items:center;
	gap:8px;
	padding:4px 12px;
	font-size:13px;
	user-select:none;
	transition:background .12s;
}
.col-item:hover{ background:#fafbfd; }
.col-item__label{
	display:flex;
	align-items:center;
	gap:8px;
	flex:1;
	cursor:pointer;
	min-width:0;
}
/* Poignée de déplacement */
.col-item__grip{
	color:#c3c6d4;
	font-size:12px;
	line-height:1;
	flex-shrink:0;
	cursor:grab;
}
.col-item:hover .col-item__grip{ color:#9699a6; }
.col-item__cb{ width:14px; height:14px; cursor:pointer; flex-shrink:0; }
.col-item__name{
	flex:1;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.col-manager__foot{
	padding:8px 12px;
	border-top:1px solid #f0f2f7;
	background:#fafbfd;
}
.col-manager__reset{
	border:none;
	background:none;
	color:#0073ea;
	font-size:12.5px;
	cursor:pointer;
	padding:0;
}
.col-manager__reset:hover{ text-decoration:underline; }

/* Type de client dans les tableaux */
.client-type{
	display:inline-block;
	padding:2px 9px;
	border-radius:20px;
	font-size:11.5px;
	font-weight:600;
	white-space:nowrap;
	background:#f0f2f7;
	color:#676879;
}
.client-type.ct-pro{    background:#eef4fd; color:#0073ea; }
.client-type.ct-part{   background:#f5edff; color:#9750dd; }
.client-type.ct-inst{   background:#e6faf2; color:#037f4c; }
.client-type.ct-agence{ background:#fff4dd; color:#a8730f; }

/* =============================================
   Vues enregistrées
   ============================================= */
/* Barre de vues, en haut de page à droite du titre */
.screen-topbar{ display:flex; align-items:center; gap:16px; }
.screen-topbar__right{ margin-left:auto; flex-shrink:0; }

.view-bar{
	display:flex;
	align-items:center;
	gap:6px;
}
.view-bar__select{
	padding:7px 12px;
	border:1px solid #d0d4e4;
	border-radius:6px;
	font-size:15px;
	background:#fff;
	cursor:pointer;
	max-width:260px;
}
.view-bar__select:focus{ outline:none; border-color:#0073ea; }
/* Menu de gestion des vues */
.view-menu{ position:relative; flex-shrink:0; }
.view-menu__btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	padding:0 !important;
}
.view-menu__panel{
	position:absolute;
	top:calc(100% + 6px);
	right:0;
	z-index:130;
	min-width:230px;
	padding:4px 0;
	background:#fff;
	border:1px solid #d0d4e4;
	border-radius:8px;
	box-shadow:0 8px 24px rgba(41,47,76,.14);
}
.view-menu__panel.is-hidden{ display:none; }
.view-menu__item{
	display:block;
	width:100%;
	padding:8px 14px;
	border:none;
	background:none;
	font-size:13px;
	color:#323338;
	text-align:left;
	cursor:pointer;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.view-menu__item:hover{ background:#fafbfd; }
.view-menu__item.is-danger{ color:#e2445c; }
.view-menu__item.is-danger:hover{ background:#fdeef1; }
.view-menu__sep{
	height:1px;
	margin:4px 0;
	background:#f0f2f7;
}

.view-save__hint{
	margin:10px 0 0;
	font-size:12.5px;
	color:#9699a6;
}
.view-save__new{
	display:flex;
	align-items:center;
	gap:8px;
	margin-top:10px;
	font-size:12.5px;
	color:#676879;
	cursor:pointer;
}

/* Le gestionnaire de colonnes suit la barre de vues */
.col-manager{ margin-left:0; }

/* Colonne d'actions : présente mais non masquable */
.col-item.is-locked{
	cursor:default;
	opacity:.75;
}
.col-item.is-locked:hover{ background:none; }
.col-item.is-locked .col-item__grip{ cursor:grab; }
.col-item.is-locked input[type=checkbox]{ cursor:not-allowed; }
.col-item__lock{ font-size:11px; opacity:.5; margin-left:auto; }

/* URL du webhook Sextan */
.wh-field label{
	display:block;
	font-size:12px;
	color:#9699a6;
	margin-bottom:5px;
}
.wh-copy{ display:flex; gap:8px; }
.wh-copy input{
	flex:1;
	padding:7px 10px;
	border:1px solid #d0d4e4;
	border-radius:6px;
	font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size:12px;
	background:#fafbfd;
	color:#676879;
}
.wh-copy .btn{ flex-shrink:0; }


.recep-pill__id{
	font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size:11px;
	opacity:.7;
}

/* Valeurs empilées, une par réception */
.stack-cell{
	display:flex;
	flex-direction:column;
	gap:6px;
	line-height:1.9;
}
.stack-cell__v{ white-space:nowrap; }

/* Test d'envoi d'e-mail */
.mail-test{ display:flex; gap:8px; }
.mail-test input{
	flex:1;
	max-width:320px;
	padding:7px 10px;
	border:1px solid #d0d4e4;
	border-radius:6px;
	font-size:13px;
}
.mail-test input:focus{ outline:none; border-color:#0073ea; }
.mail-test .btn{ flex-shrink:0; }

/* =============================================
   Conformité des dossiers
   ============================================= */
/* Icône dans la colonne d'actions */
.btn-todo{
	position:relative;
	color:#fdab3d;
	overflow:visible;
}
.btn-todo:hover{ background:#fff4dd; }
/* Pastille ronde, décalée hors de l'icône comme celle de la topbar */
.btn-todo__count{
	position:absolute;
	top:-3px;
	right:-3px;
	width:15px;
	height:15px;
	padding:0;
	border-radius:50%;
	background:#e2445c;
	color:#fff;
	font-size:9px;
	font-weight:700;
	line-height:15px;
	text-align:center;
	box-shadow:0 0 0 2px #fff;
}

/* Filtre de la barre */
.filter-todo{
	display:inline-flex;
	align-items:center;
	gap:7px;
	font-size:13px;
	color:#676879;
	cursor:pointer;
	padding:0 4px;
	white-space:nowrap;
}
.filter-todo input{ width:15px; height:15px; cursor:pointer; }

/* Onglet Todo */
.todo-ok{
	display:flex;
	align-items:center;
	gap:14px;
	padding:20px;
	background:#e6faf2;
	border:1px solid #a8e6c9;
	border-radius:8px;
}
.todo-ok__icon{
	width:32px; height:32px;
	border-radius:50%;
	background:#00c875;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:17px;
	flex-shrink:0;
}
.todo-ok div{ display:flex; flex-direction:column; gap:2px; }
.todo-ok strong{ font-size:14px; color:#037f4c; }
.todo-ok span{ font-size:12.5px; color:#676879; }

.todo-head{
	display:flex;
	flex-direction:column;
	gap:2px;
	padding:12px 14px;
	background:#fff4dd;
	border:1px solid #f0c674;
	border-radius:8px;
	margin-bottom:16px;
}
.todo-head strong{ font-size:13.5px; color:#a8730f; }
.todo-head span{ font-size:12.5px; color:#676879; }

.todo-block{
	border:1px solid #e6e9f0;
	border-radius:8px;
	margin-bottom:14px;
	overflow:hidden;
}
.todo-block__head{
	display:flex;
	align-items:center;
	gap:10px;
	padding:10px 14px;
	background:#fafbfd;
	border-bottom:1px solid #f0f2f7;
	cursor:pointer;
	transition:background .12s;
}
.todo-block__head:hover{ background:#f0f2f7; }
.todo-block__chev{
	color:#9699a6;
	font-size:11px;
	width:10px;
	flex-shrink:0;
}
.todo-block__title{ font-size:13px; font-weight:600; color:#323338; }
.todo-block__badge{
	display:inline-block;
	min-width:18px;
	padding:1px 6px;
	border-radius:10px;
	background:#fff4dd;
	color:#a8730f;
	font-size:11px;
	font-weight:700;
	text-align:center;
}
.todo-link{ margin-left:auto; text-decoration:none; flex-shrink:0; }
.todo-link:hover .cell-actions{ max-width:24px; opacity:1; margin-left:5px; }

/* Section repliée : seul l'en-tête reste */
.todo-block.is-folded .todo-fields{ display:none; }
.todo-block.is-folded .todo-block__head{ border-bottom:none; }

/* Enregistrement unique, en pied d'onglet */
.todo-actions{
	display:flex;
	align-items:center;
	gap:14px;
	margin-top:18px;
	padding-top:14px;
	border-top:1px solid #e6e9f0;
	flex-wrap:wrap;
}
/* Le message occupe l'espace libre, l'enregistrement reste à droite */
.todo-actions .todo-msg{ flex:1; }

.todo-fields{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:12px;
	padding:14px;
}
.todo-field{ display:flex; flex-direction:column; gap:4px; }
.todo-field--full{ grid-column:1 / -1; }
.todo-field label{ font-size:12px; color:#676879; }
.todo-field input, .todo-field textarea{
	padding:7px 10px;
	border:1px solid #d0d4e4;
	border-radius:6px;
	font-size:13px;
	font-family:inherit;
	width:100%;
	box-sizing:border-box;
}
.todo-field input:focus, .todo-field textarea:focus{
	outline:none;
	border-color:#0073ea;
}
.todo-field.is-done input, .todo-field.is-done textarea{
	border-color:#a8e6c9;
	background:#f5fdf9;
}

.todo-msg{ font-size:12.5px; }
.todo-msg.is-ok{ color:#037f4c; }
.todo-msg.is-warn{ color:#a8730f; }
.todo-msg.is-error{ color:#e2445c; }

.todo-block--blocked{ border-color:#f5c2cb; }
.todo-blocked{
	margin:0;
	padding:14px;
	font-size:13px;
	color:#e2445c;
}

/* Pastille de l'onglet Todo */
.proj-tab{ position:relative; }
/* Pastille ronde : largeur figée, pas de padding qui l'étire */
.proj-tab__badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:16px;
	height:16px;
	margin-left:6px;
	padding:0;
	border-radius:50%;
	background:#e2445c;
	color:#fff;
	font-size:9.5px;
	font-weight:700;
	line-height:1;
	vertical-align:1px;
}

/* Le bouton de demande s'aligne sur celui d'enregistrement */
.todo-ask{
	padding:9px 16px !important;
	font-size:13px !important;
	line-height:1.2 !important;
}

/* Saisie d'un pourcentage */
.todo-percent{ display:flex; align-items:center; gap:8px; }
.todo-percent input{
	width:90px;
	flex:0 0 auto;
	padding:7px 10px;
	border:1px solid #d0d4e4;
	border-radius:6px;
	font-size:13px;
}
.todo-percent input:focus{ outline:none; border-color:#0073ea; }
.todo-percent span{ font-size:13px; color:#676879; }

/* =============================================
   Constructeur de filtres
   ============================================= */
.filter-summary{
	display:none;
	align-items:center;
	gap:8px;
	font-size:12.5px;
	color:#676879;
	min-width:0;
	flex:1;
}
.filter-summary{ flex-wrap:wrap; gap:6px; }

/* Une pastille par groupe de conditions */
.filter-pill{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:3px 10px;
	border-radius:14px;
	background:#eef4fd;
	border:1px solid #c3d8f7;
	font-size:12px;
	max-width:340px;
}
.filter-pill__k{
	color:#676879;
	flex-shrink:0;
}
.filter-pill__k::after{ content:' :'; }
.filter-pill__v{
	color:#0073ea;
	font-weight:600;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.filter-summary.is-active{ display:inline-flex; }
.filter-summary__clear{
	border:none;
	background:none;
	color:#9699a6;
	font-size:16px;
	line-height:1;
	cursor:pointer;
	padding:0 2px;
}
.filter-summary__clear:hover{ color:#e2445c; }

.fb__intro{
	font-size:12.5px;
	color:#676879;
	margin-bottom:14px;
}
.fb-group{ margin-bottom:10px; }
/* En-tête du groupe : liaison à gauche, suppression à droite */
.fb-group__top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:22px;
	padding:0 4px 4px 8px;
}
.fb-group__join{
	font-size:11px;
	font-weight:700;
	color:#9699a6;
	letter-spacing:.5px;
}
.fb-group__body{
	padding:10px 12px;
	border:1px solid #e6e9f0;
	border-radius:8px;
	background:#fafbfd;
}
.fb-group__del{
	border:none;
	background:none;
	color:#c3c6d4;
	font-size:18px;
	line-height:1;
	cursor:pointer;
	padding:0 4px;
}
.fb-group__del:hover{ color:#e2445c; }

/* Intervalle : les deux bornes restent alignées */
.fb-range{
	display:inline-flex;
	align-items:center;
	gap:8px;
	flex-wrap:nowrap;
}
.fb-range input[type=number]{ width:110px; flex:0 0 110px; }

/* Le calendrier s'ouvre sous son champ, dans la popup */
.fb-cond__value{ position:relative; }
.fb-cond__value .flatpickr-calendar{ z-index:100010; }

.fb-cond{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
	margin-bottom:8px;
}
.fb-cond__join{
	width:34px;
	flex-shrink:0;
	font-size:11.5px;
	font-weight:600;
	color:#9699a6;
}
.fb-cond select, .fb-cond input[type=text], .fb-cond input[type=number]{
	padding:6px 9px;
	border:1px solid #d0d4e4;
	border-radius:6px;
	font-size:13px;
	background:#fff;
}
.fb-cond__field{ min-width:150px; }
.fb-cond__op{ min-width:150px; }
.fb-cond__value{
	display:inline-flex;
	align-items:center;
	gap:6px;
	flex-wrap:wrap;
	flex:1;
	min-width:180px;
	position:relative;
}
.fb-cond__value input[type=text]{ flex:1; min-width:120px; }
.fb-cond__del{
	border:none;
	background:none;
	color:#c3c6d4;
	font-size:17px;
	line-height:1;
	cursor:pointer;
	padding:0 4px;
}
.fb-cond__del:hover{ color:#e2445c; }
.fb-check{
	display:inline-flex;
	align-items:center;
	gap:5px;
	font-size:12.5px;
	cursor:pointer;
	padding:2px 6px;
	border-radius:5px;
	background:#fff;
	border:1px solid #e6e9f0;
}
.fb-check input{ width:13px; height:13px; }
.fb-sep, .fb-unit{ font-size:12.5px; color:#9699a6; }

.fb__add-cond, .fb__add-group{
	border:none;
	background:none;
	color:#0073ea;
	font-size:12.5px;
	cursor:pointer;
	padding:2px 0;
}
.fb__add-cond:hover, .fb__add-group:hover{ text-decoration:underline; }
.fb__add-group{ margin-top:4px; font-weight:600; }

/* Attente du chargement de la vue */
.dt-preload{
	padding:48px 20px;
	text-align:center;
	font-size:13px;
	color:#9699a6;
}

/* Glisser-déposer des colonnes */
.col-item{ cursor:grab; }
.col-item:active{ cursor:grabbing; }
.col-item.is-dragging{ opacity:.4; }
.col-item.is-over{ background:#eef4fd; box-shadow:inset 0 2px 0 #0073ea; }
.col-item__label{ cursor:pointer; }

/* La barre s'adapte au nombre de pastilles */
.filter-bar{ flex-wrap:wrap; row-gap:8px; }
#filter-bar-slot{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; flex:1; min-width:0; }

/* =============================================
   Suivi de facturation
   ============================================= */
.bill-status{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:3px 11px;
	border-radius:14px;
	font-size:12px;
	font-weight:600;
	white-space:nowrap;
}
.bill-status--orange{ background:#fff4dd; color:#a8730f; }
.bill-status--purple{ background:#f5edff; color:#7a3fc4; }
.bill-status--blue{   background:#eef4fd; color:#0073ea; }
.bill-status--green{  background:#e6faf2; color:#037f4c; }
.bill-status--red{    background:#fdeef1; color:#e2445c; }
.bill-status--grey{   background:#f0f2f7; color:#676879; }

.bill-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:16px;
	height:16px;
	border-radius:50%;
	background:#e2445c;
	color:#fff;
	font-size:9.5px;
	font-weight:700;
}

/* Factures d'un projet, en sous-tableau aligné */
.dt-bills{ padding:6px 10px !important; }
.bill-grid{
	border-collapse:collapse;
	font-size:11.5px;
	/* Largeurs figées : les colonnes restent alignées d'une ligne
	   à l'autre, quelle que soit la longueur des numéros. */
	table-layout:fixed;
	width:auto;
}
.bill-row__num{ width:130px; }
.bill-row__amt{ width:92px; }
.bill-row__pct{ width:44px; }
.bill-row__st{  width:88px; }
.bill-row td{
	padding:3px 8px 3px 0;
	vertical-align:middle;
	border:none;
}
.bill-row__num{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bill-row__amt{
	text-align:right;
	font-weight:600;
	color:#323338;
	white-space:nowrap;
}
.bill-row__pct{
	text-align:right;
	color:#9699a6;
	white-space:nowrap;
}
.bill-row__st{ white-space:nowrap; }
.bill-row__act{ width:22px; text-align:right; }
.bill-row__act .cell-action{
	color:#c3c6d4;
	display:inline-flex;
}
.bill-row:hover .cell-action{ color:#0073ea; }

.bill-pill{
	display:inline-flex;
	align-items:center;
	gap:5px;
	padding:2px 9px;
	border-radius:12px;
	font-size:11.5px;
	font-weight:600;
	white-space:nowrap;
	border:1px solid transparent;
}
.bill-pill--pending{ background:#f0f2f7; color:#676879; border-color:#e6e9f0; }
.bill-pill--partial{ background:#eef4fd; color:#0073ea; border-color:#c3d8f7; }
.bill-pill--paid{    background:#e6faf2; color:#037f4c; border-color:#a8e6c9; }
.bill-pill--overdue{ background:#fdeef1; color:#e2445c; border-color:#f5c2cb; }
.bill-pill__tag{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:14px;
	height:14px;
	border-radius:50%;
	background:rgba(0,0,0,.08);
	font-size:9px;
}

.val-due{ color:#e2445c; font-weight:600; }
.val-ok{ color:#037f4c; font-size:12px; }

/* Créance totale, en tête de la page Factures */
.proj-total-box--due{
	background:#fdeef1;
	border-color:#f5c2cb;
}
.proj-total-box--due .proj-total-box__amount{ color:#e2445c; }
.creance-card__amount{
	font-size:15px;
	font-weight:700;
	color:#e2445c;
	margin-top:6px;
}

/* L'action apparaît au survol de la pastille */
.bill-pill .cell-actions{
	max-width:0;
	overflow:hidden;
	opacity:0;
	transition:max-width .15s, opacity .15s, margin-left .15s;
}
.bill-pill:hover .cell-actions{
	max-width:24px;
	opacity:1;
	margin-left:4px;
}
.bill-pill .cell-action{
	color:inherit;
	display:inline-flex;
	align-items:center;
}
.cell-user{ display:inline-flex; align-items:center; gap:7px; }

/* Statut Pennylane */
.pl-chip{
	display:inline-block;
	padding:1px 8px;
	border-radius:10px;
	font-size:10.5px;
	font-weight:600;
	white-space:nowrap;
}
.pl-chip--green{  background:#e6faf2; color:#037f4c; }
.pl-chip--blue{   background:#eef4fd; color:#0073ea; }
.pl-chip--orange{ background:#fff4dd; color:#a8730f; }
.pl-chip--red{    background:#fdeef1; color:#e2445c; }
.pl-chip--grey{   background:#f0f2f7; color:#676879; }
.pl-chip--none{   background:none; color:#c3c6d4; font-weight:400; font-style:italic; }

/* Colonnes optionnelles des leads */
.cell-trunc{
	display:inline-block;
	max-width:260px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	vertical-align:middle;
}
.cell-mono{
	font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size:11.5px;
	color:#676879;
}
.cell-pill--soft{
	display:inline-block;
	padding:2px 9px;
	border-radius:12px;
	background:#f0f2f7;
	color:#676879;
	font-size:11.5px;
	font-weight:600;
}

/* Création de projet : champs d'ajustement sur deux colonnes */
.sxp-modal{ max-width:520px; }
.sxp-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
	margin-bottom:12px;
}
.sxp-grid .confirm-modal__field{ margin:0; }
.sxp-grid input[type=time]{ font-family:inherit; }

/* Documents joignables : trois colonnes alignées */
.mc-doc-table{
	border-collapse:collapse;
	width:100%;
	font-size:12.5px;
}
.mc-doc-row td{
	padding:1px 8px 1px 0;
	vertical-align:middle;
	border:none;
	line-height:1.5;
}
.mc-doc-row__cb{ width:24px; }
.mc-doc-row__cb input{ width:14px; height:14px; cursor:pointer; }
.mc-doc-row__name{
	color:#323338;
	overflow:hidden;
	text-overflow:ellipsis;
}
.mc-doc-row__date{ color:#9699a6; font-size:11.5px; margin-left:6px; }
.mc-doc-row__pdf{ width:26px; text-align:right; }
.mc-doc-row__pdf a{ color:#c3c6d4; display:inline-flex; }
.mc-doc-row:hover .mc-doc-row__pdf a{ color:#e2445c; }
/* Document coché automatiquement par un modèle */
.mc-doc-row.is-auto .mc-doc-row__name{ font-weight:600; }

/* Sélecteur de contexte dans la popup de mail */
#mc-context + .select2-container{ width:100% !important; }
.mail-compose__row .select2-selection--multiple{
	border:1px solid #d0d4e4 !important;
	border-radius:6px !important;
	min-height:34px;
}

/* Contexte en tête de la popup de mail */
.mail-compose__row--ctx{
	padding-bottom:10px;
	margin-bottom:4px;
	border-bottom:1px solid #f0f2f7;
}

/* Document sans PDF disponible */
.mc-doc-row__nopdf{ color:#e6e9f0; cursor:not-allowed; display:inline-flex; }
.mc-doc-row input:disabled + *{ opacity:.5; }

/* Le dropdown de contexte s'aligne sous son champ */
.mail-compose .select2-dropdown--below,
.mail-compose__row--ctx .select2-dropdown--below{ margin-top:0 !important; }

/* Constructeur de filtres : une date tient en jj/mm/aaaa */
.fb-cond input.fb-date{
	width:95px !important;
	flex:0 0 95px !important;
	text-align:center;
}

/* Le calendrier reste dans la popup : l'alignement est calculé
   à l'ouverture, seul le débordement est bloqué ici. */
.fb-cond__value .flatpickr-calendar{ max-width:calc(100vw - 32px); }
.fb-group__body{ overflow:visible; }
.fb-cond{ position:relative; }

/* Le calendrier se place au-dessus quand la place manque en bas */
.fb-cond__value .flatpickr-calendar.arrowBottom{ margin-top:0; }
.fb-cond__value .flatpickr-calendar{ z-index:100020; }

/* La cellule de valeur impose un minimum : le champ date doit primer */
.fb-cond__value input.fb-date{
	min-width:95px !important;
	max-width:95px !important;
}

/* Lien vers le lead d'origine, dans le journal du projet */
.act-lead-link{
	color:#0073ea;
	font-weight:600;
	cursor:pointer;
	text-decoration:underline;
	text-decoration-style:dotted;
}
.act-lead-link:hover{ color:#0060c2; }

/* Export et Colonnes, collés l'un à l'autre, même hauteur — distincts
   du reste de la barre, qui garde son espacement large (gap:12px) */
.dt-top-actions{
	display:flex;
	align-items:center;
	gap:4px;
}
.dt-top-actions .col-manager__btn,
.dt-top-actions .export-xlsx-btn{
	box-sizing:border-box;
	height:30px;
}
.export-xlsx-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:30px;
	padding:0 !important;
}
.export-xlsx-btn:disabled{ opacity:.5; cursor:wait; }
