.fabs-projects {
	--fabs-space-xs: clamp(4px, .32vw, 7px);
	--fabs-space-sm: clamp(6px, .52vw, 10px);
	--fabs-space-md: clamp(9px, .78vw, 14px);
	--fabs-space-lg: clamp(12px, 1.15vw, 20px);
	--fabs-space-xl: clamp(16px, 1.7vw, 28px);
	--fabs-text-xs: clamp(11px, .68vw, 12px);
	--fabs-text-sm: clamp(12px, .76vw, 13px);
	--fabs-text-md: clamp(13px, .88vw, 14px);
	--fabs-title-sm: clamp(14px, 1vw, 16px);
	--fabs-title-md: clamp(17px, 1.35vw, 21px);
	--fabs-title-lg: clamp(22px, 2vw, 30px);
	box-sizing: border-box;
	color: #111827;
	font-family: "Manrope", "Avenir Next", "Segoe UI", sans-serif;
	font-size: var(--fabs-text-sm);
	line-height: 1.5;
	padding: var(--fabs-space-lg) clamp(10px, 1.45vw, 26px) var(--fabs-space-xl);
	width: 100%;
}

.fabs-projects * {
	box-sizing: border-box;
}

.fabs-view-tabs {
	border-bottom: 1px solid #e3e9f1;
	display: flex;
	gap: var(--fabs-space-lg);
	margin-bottom: var(--fabs-space-md);
}

.fabs-view-tab {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid transparent !important;
	color: #64748b !important;
	cursor: pointer;
	font-family: inherit;
	font-size: var(--fabs-text-md);
	font-weight: 800;
	padding: var(--fabs-space-sm) 2px;
}

.fabs-view-tab.is-active {
	border-bottom-color: #111827 !important;
	color: #111827 !important;
}

.fabs-view-panel {
	display: none;
}

.fabs-view-panel.is-active {
	display: block;
}

.fabs-stats {
	display: grid;
	gap: var(--fabs-space-md);
}

.fabs-kpis {
	display: grid;
	gap: var(--fabs-space-sm);
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.fabs-kpi,
.fabs-stats-card {
	background: #fff;
	border: 1px solid #e3e9f1;
	border-radius: 12px;
}

.fabs-kpi {
	display: grid;
	gap: var(--fabs-space-xs);
	padding: var(--fabs-space-md);
}

.fabs-kpi span {
	color: #64748b;
	font-size: var(--fabs-text-xs);
	font-weight: 700;
	text-transform: uppercase;
}

.fabs-kpi strong {
	color: #111827;
	font-size: var(--fabs-title-md);
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.fabs-stats-grid {
	display: grid;
	gap: var(--fabs-space-md);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fabs-stats-card {
	overflow: hidden;
	padding: var(--fabs-space-md);
}

.fabs-stats-card-wide {
	grid-column: 1 / -1;
}

.fabs-stats-card-clients {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
}

.fabs-stats-card h3 {
	color: #111827;
	font-size: var(--fabs-title-sm);
	font-weight: 800;
	margin: 0 0 var(--fabs-space-md);
}

.fabs-stats-card-clients h3 {
	background: transparent;
	border: 0;
	margin-bottom: var(--fabs-space-sm);
	width: auto;
}

.fabs-status-stats {
	display: grid;
	gap: var(--fabs-space-sm);
}

.fabs-status-stat {
	align-items: center;
	display: grid;
	gap: var(--fabs-space-sm);
	grid-template-columns: minmax(125px, .8fr) minmax(100px, 1fr) auto;
}

.fabs-status-stat > div {
	align-items: center;
	display: flex;
	gap: var(--fabs-space-sm);
	justify-content: space-between;
}

.fabs-status-stat > span {
	background: #edf2f7;
	border-radius: 999px;
	height: 7px;
	overflow: hidden;
}

.fabs-status-stat > span i {
	background: #64748b;
	border-radius: inherit;
	display: block;
	height: 100%;
}

.fabs-status-stat small {
	color: #64748b;
	font-size: var(--fabs-text-xs);
	font-weight: 800;
}

.fabs-month-chart {
	align-items: end;
	display: grid;
	gap: var(--fabs-space-xs);
	grid-template-columns: repeat(12, minmax(14px, 1fr));
	height: 230px;
	padding-top: var(--fabs-space-md);
}

.fabs-month-bar {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: flex-end;
	min-width: 0;
}

.fabs-month-bar strong,
.fabs-month-bar small {
	color: #64748b;
	font-size: 10px;
	font-weight: 800;
	white-space: nowrap;
}

.fabs-month-bar span {
	background: #d9e3ee;
	border-radius: 6px 6px 2px 2px;
	margin: 5px 0;
	max-width: 28px;
	min-height: 4px;
	width: 72%;
}

.fabs-month-bar:hover span {
	background: #94a3b8;
}

.fabs-stats-table-wrap {
	overflow-x: auto;
}

.fabs-stats-table {
	border-collapse: collapse;
	width: 100%;
}

.fabs-stats-table th,
.fabs-stats-table td {
	border-bottom: 1px solid #edf1f5;
	padding: var(--fabs-space-sm);
	text-align: left;
}

.fabs-stats-table th {
	color: #64748b;
	font-size: var(--fabs-text-xs);
	text-transform: uppercase;
}

.fabs-stats-table th:last-child,
.fabs-stats-table td:last-child {
	text-align: right;
}

.fabs-filters {
	display: grid;
	gap: var(--fabs-space-sm);
	margin: var(--fabs-space-md) 0;
	padding: 0;
}

.fabs-filter-row {
	align-items: center;
	display: flex;
	gap: var(--fabs-space-sm);
	width: 100%;
}

.fabs-field {
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	color: #111827;
	flex: 0 1 10%;
	font-family: inherit;
	font-size: var(--fabs-text-sm);
	max-width: 10%;
	min-height: 34px;
	min-width: 120px;
	padding: var(--fabs-space-xs) var(--fabs-space-sm);
}

.fabs-field-search {
	flex-basis: 27%;
	max-width: 27%;
	min-width: 240px;
}

.fabs-field-date {
	border: 0;
	flex: 0 1 12%;
	max-width: 12%;
	min-width: 116px;
	padding: 0;
}

.fabs-button {
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	color: #111827;
	cursor: pointer;
	font-family: inherit;
	font-size: var(--fabs-text-sm);
	font-weight: 700;
	min-height: 34px;
	padding: var(--fabs-space-xs) var(--fabs-space-sm);
	width: auto;
}

.fabs-button:hover,
.fabs-button:focus {
	background: #fff;
	border-color: #d1d5db;
	color: #111827;
	outline: none;
}

.fabs-button.is-active {
	background: #111827;
	border-color: #111827;
	color: #fff;
}

.fabs-button.is-loading {
	align-items: center;
	cursor: wait;
	display: inline-flex;
	gap: var(--fabs-space-xs);
	opacity: .82;
}

.fabs-button.is-loading::before {
	animation: fabs-spin .75s linear infinite;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	content: "";
	height: 13px;
	width: 13px;
}

@keyframes fabs-spin {
	to {
		transform: rotate(360deg);
	}
}

.fabs-button-new {
	background: #111827;
	border-color: #111827;
	color: #fff;
	margin-left: auto;
}

.fabs-button-new:hover,
.fabs-button-new:focus {
	background: #fff !important;
	border-color: #d1d5db !important;
	color: #111827 !important;
}

.fabs-button-danger {
	border-color: #fecaca;
	color: #991b1b;
}

.fabs-button-danger:hover,
.fabs-button-danger:focus {
	background: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}

.fabs-request-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fabs-space-xs);
}

.fabs-filter-row-main .fabs-demands-link {
	margin-left: auto;
}

.fabs-filter-row-quick {
	align-items: flex-end;
	margin-bottom: calc(-1 * var(--fabs-space-sm) - 1px);
	position: relative;
	z-index: 2;
}

.fabs-filter-row-quick .fabs-project-count {
	align-items: center;
	align-self: center;
	display: inline-flex;
	margin-left: auto;
	min-height: 34px;
}

.fabs-export-icon {
	align-items: center;
	color: #111827;
	display: inline-flex;
	justify-content: center;
	padding: var(--fabs-space-xs);
}

.fabs-export-icon:hover,
.fabs-export-icon:focus {
	color: #4b5563;
	outline: none;
}

.fabs-export-icon svg {
	fill: none;
	height: 20px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 20px;
}

.fabs-project-count {
	color: #374151;
	font-size: var(--fabs-text-xs);
	font-weight: 700;
	white-space: nowrap;
}

.fabs-quick-filters {
	align-items: center;
	background: #f6f9fc;
	border: 1px solid #f2f5f9;
	border-bottom: 0;
	border-radius: 11px 11px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin-left: auto;
	padding: 4px 4px 0;
}

.fabs-quick-filter {
	background: transparent !important;
	border: 1px solid transparent !important;
	border-bottom: 0 !important;
	border-radius: 8px 8px 0 0;
	color: #4b5563 !important;
	cursor: pointer;
	font-family: inherit;
	font-size: var(--fabs-text-xs);
	font-weight: 700;
	min-height: 32px;
	padding: 6px 12px 8px;
	text-decoration: none;
}

.fabs-quick-filter:hover,
.fabs-quick-filter:focus {
	color: #111827 !important;
	font-weight: 800;
	outline: none;
}

.fabs-quick-filter.is-active {
	background: #fff !important;
	border-color: #f2f5f9 !important;
	color: #111827 !important;
	font-weight: 800;
	position: relative;
}

.fabs-quick-filter.is-active::after {
	background: #fff;
	bottom: -2px;
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	right: 0;
}

.fabs-date-filter,
.fabs-columns {
	position: relative;
}

.fabs-date-trigger {
	font-weight: 400;
	justify-content: flex-start;
	width: 100%;
}

.fabs-date-trigger:hover,
.fabs-date-trigger:focus {
	font-weight: 700;
}

.fabs-date-pop,
.fabs-columns-pop {
	background: #fff;
	border: 1px solid #d9dee5;
	border-radius: 14px;
	box-shadow: 0 14px 34px rgba(17, 24, 39, .12);
	display: none;
	gap: var(--fabs-space-sm);
	left: 0;
	max-width: 92vw;
	padding: var(--fabs-space-lg);
	position: absolute;
	top: calc(100% + 8px);
	width: min(92vw, 560px);
	z-index: 50;
}

.fabs-date-pop.is-open {
	display: block;
}

.fabs-columns-pop.is-open {
	display: grid;
}

.fabs-columns-pop label {
	font-size: var(--fabs-text-sm);
	font-weight: 700;
}

.fabs-date-head,
.fabs-date-foot {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.fabs-date-head {
	margin-bottom: var(--fabs-space-sm);
}

.fabs-date-title {
	color: #111827;
	font-size: var(--fabs-text-md);
	font-weight: 800;
}

.fabs-date-nav {
	background: #fff;
	border: 1px solid #d2d8e0;
	border-radius: 9px;
	color: #111827;
	cursor: pointer;
	height: 30px;
	line-height: 1;
	width: 30px;
}

.fabs-date-nav:hover {
	background: #f6f8fb;
}

.fabs-date-nav-group {
	display: flex;
	gap: var(--fabs-space-xs);
}

.fabs-date-weekdays,
.fabs-date-grid {
	display: grid;
	gap: var(--fabs-space-xs);
	grid-template-columns: repeat(7, 1fr);
}

.fabs-date-weekday {
	color: #1f2937;
	font-size: var(--fabs-text-sm);
	font-weight: 700;
	padding: var(--fabs-space-xs) 0;
	text-align: center;
}

.fabs-date-day {
	background: #fff !important;
	border: 1px solid #d9dee5;
	border-radius: 10px;
	box-shadow: none !important;
	color: #0f172a !important;
	cursor: pointer;
	font-family: inherit;
	font-size: var(--fabs-text-md);
	font-weight: 400;
	padding: var(--fabs-space-xs) 0;
	text-shadow: none !important;
}

.fabs-date-day:hover {
	font-weight: 700;
}

.fabs-date-day.is-today {
	border-color: #aeb9c8;
	box-shadow: inset 0 0 0 1px #aeb9c8 !important;
}

.fabs-date-day.is-selected,
.fabs-date-day.is-range-start,
.fabs-date-day.is-range-end {
	background: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
	font-weight: 700;
}

.fabs-date-day.is-in-range {
	background: #f3f6fa !important;
	border-color: #dbe3ec;
	font-weight: 500;
}

.fabs-date-foot {
	gap: var(--fabs-space-sm);
	margin-top: var(--fabs-space-sm);
}

.fabs-date-hint {
	color: #4b5563;
	font-size: var(--fabs-text-xs);
	line-height: 1.3;
}

.fabs-date-state {
	background: #f4f7fb;
	border: 1px solid #dde4ec;
	border-radius: 10px;
	color: #1f2937;
	font-size: var(--fabs-text-sm);
	margin-top: var(--fabs-space-sm);
	padding: var(--fabs-space-sm);
}

.fabs-create-grid {
	display: grid;
	gap: var(--fabs-space-sm);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fabs-create-grid input,
.fabs-create-grid select,
.fabs-create-grid textarea {
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-family: inherit;
	font-size: var(--fabs-text-md);
	padding: var(--fabs-space-sm);
	width: 100%;
}

.fabs-create-grid textarea {
	grid-column: 1 / -1;
	min-height: 90px;
}

.fabs-dictation-bar {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: flex-end;
}

.fabs-dictation-button {
	min-width: 92px;
}

.fabs-dictation-button.is-recording {
	background: #b91c1c;
	border-color: #991b1b;
	color: #fff;
}

.fabs-dictation-status {
	color: #64748b;
	font-size: var(--fabs-text-xs);
	font-weight: 700;
	min-height: 1em;
}

.fabs-create-field {
	display: grid;
	gap: var(--fabs-space-xs);
}

.fabs-create-field span {
	color: #374151;
	font-size: var(--fabs-text-xs);
	font-weight: 800;
	line-height: 1;
}

.fabs-create-company {
	grid-column: span 2;
}

.fabs-create-contact,
.fabs-create-company {
	position: relative;
}

.fabs-suggest-list {
	background: #f3f4f6;
	border: 0;
	border-radius: 8px;
	box-shadow: none;
	left: 0;
	max-height: 260px;
	overflow: auto;
	padding: 8px;
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	z-index: 60;
}

.fabs-create-company .fabs-suggest-list,
.fabs-create-contact .fabs-suggest-list {
	background: #f6f7f9;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: grid;
	gap: 10px;
	max-height: none;
	padding: 10px;
	top: calc(100% + 4px);
}

.fabs-create-company .fabs-suggest-list[hidden],
.fabs-create-contact .fabs-suggest-list[hidden] {
	display: none !important;
}

.fabs-create-company .fabs-suggest-list:empty,
.fabs-create-contact .fabs-suggest-list:empty {
	display: none !important;
}

.fabs-suggest-item {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: #111827;
	cursor: pointer;
	display: block;
	font-family: inherit;
	padding: 5px 0;
	text-align: left;
	width: 100%;
}

.fabs-suggest-item:hover,
.fabs-suggest-item:focus {
	background: transparent;
	color: var(--cubi-info, #1d4ed8);
	outline: none;
}

.fabs-suggest-item strong {
	display: block;
	font-size: var(--fabs-text-md);
}

.fabs-suggest-item span,
.fabs-suggest-empty {
	color: #64748b;
	display: block;
	font-size: var(--fabs-text-sm);
	margin-top: var(--fabs-space-xs);
}

.fabs-suggest-empty {
	padding: var(--fabs-space-sm);
}

.fabs-create-status {
	color: #374151;
	font-size: var(--fabs-text-md);
	font-weight: 700;
}

.fabs-table-wrap {
	background: transparent;
	border: 1px solid #f2f5f9;
	border-radius: 12px;
	overflow: auto;
}

.fabs-table {
	border-collapse: separate;
	border-spacing: 0;
	min-width: 900px;
	width: 100%;
}

.fabs-table th,
.fabs-table td {
	border-bottom: 1px solid #f4f7fb;
	font-size: var(--fabs-text-md);
	padding: var(--fabs-space-md);
	text-align: left;
	vertical-align: middle;
}

.fabs-table th + th,
.fabs-table td + td {
	border-left: 1px solid #f4f7fb;
}

.fabs-table th {
	background: #f6f9fc;
	color: #1f2937;
	font-weight: 800;
	white-space: nowrap;
}

.fabs-table th a {
	color: #1f2937;
	text-decoration: none;
}

.fabs-table tbody tr:nth-child(odd) td {
	background: #fff;
}

.fabs-table tbody tr:nth-child(even) td {
	background: #fbfdff;
}

.fabs-table tbody tr:hover td {
	background: #f3f7fc;
}





.fabs-project-link,
.fabs-client-link {
	background: transparent;
	border: 0;
	color: #111827;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.fabs-detail-number {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: inherit;
	cursor: pointer;
	font: inherit;
	font-size: var(--fabs-title-md);
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.15;
	margin: 0;
	padding: 0 var(--fabs-space-sm);
	text-align: left;
}

.fabs-demands-link {
	align-items: center;
	color: #111827;
	display: inline-flex;
	font-size: var(--fabs-text-sm);
	font-weight: 800;
	gap: 6px;
	text-decoration: none;
}

.fabs-demands-link span {
	align-items: center;
	background: #dc2626;
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 10px;
	height: 19px;
	justify-content: center;
	min-width: 19px;
	padding: 0 5px;
}

.fabs-demands-link.is-active { color: #111827; }

.fabs-finalize-modal-form {
	display: grid;
	gap: var(--fabs-space-sm);
}

.fabs-assign-number-list {
	display: grid;
	gap: var(--fabs-space-sm);
}

.fabs-finalize-modal-form label,
.fabs-follow-up {
	display: grid;
	gap: var(--fabs-space-xs);
}

.fabs-finalize-modal-form input,
.fabs-follow-up input,
[data-fabs-number-form] input {
	background: #f8fafc;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	font: inherit;
	padding: var(--fabs-space-sm);
	width: 100%;
}

.fabs-status,
.fabs-status-select,
.fabs-anomaly {
	align-items: center;
	border: 0;
	border-radius: 999px;
	display: inline-flex;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .03em;
	padding: 4px 8px;
	text-transform: uppercase;
	white-space: nowrap;
}

.fabs-status-valide,
.fabs-status.tone-success {
	background: var(--cubi-success-soft, #ecfdf3);
	border-color: #bbf7d0;
	color: var(--cubi-success, #166534);
}

.fabs-status-fini,
.fabs-status.tone-info {
	background: var(--cubi-info-soft, #eff6ff);
	border-color: #bfdbfe;
	color: var(--cubi-info, #1d4ed8);
}

.fabs-status-attente,
.fabs-status.tone-pending {
	background: var(--cubi-warning-soft, #fffbeb);
	border-color: #fde68a;
	color: var(--cubi-warning, #92400e);
}

.fabs-status-annule,
.fabs-status-decline,
.fabs-status.tone-danger,
.fabs-anomaly {
	background: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}

.fabs-status.tone-default {
	background: #f3f4f6;
	border-color: #e5e7eb;
	color: #374151;
}

.fabs-post-number {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #dbe4ec;
	border-radius: 999px;
	color: #475569;
	display: inline-flex;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 7px;
	white-space: nowrap;
}

.fabs-status-cell {
	position: relative;
}

.fabs-status-trigger {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
	line-height: inherit !important;
	min-height: 0 !important;
	outline: none !important;
	padding: 0;
}

.fabs-status-form {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	box-shadow: 0 14px 28px rgba(15, 23, 42, .12);
	display: none;
	left: 0;
	min-width: 220px;
	padding: 8px;
	position: absolute;
	top: calc(100% + 6px);
	z-index: 2147483000;
}

.fabs-status-cell.is-open .fabs-status-form {
	display: block;
}

.fabs-status-list {
	display: grid;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.fabs-status-option {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	cursor: pointer;
	display: inline-flex;
	line-height: inherit !important;
	min-height: 0 !important;
	outline: none !important;
	padding: 0;
	text-align: left;
	width: auto;
}

.fabs-status-option:hover,
.fabs-status-option.is-active {
	background: transparent !important;
}

.fabs-status-trigger::before,
.fabs-status-trigger::after,
.fabs-status-option::before,
.fabs-status-option::after {
	display: none !important;
}

.fabs-row-archived {
	opacity: .68;
}

.fabs-column-entry_date,
.fabs-column-desired_date {
	font-size: 90%;
	min-width: 96px;
	width: 9%;
	white-space: nowrap;
}

.fabs-column-project_number {
	min-width: 135px;
	width: 5%;
	white-space: nowrap;
}

.fabs-column-status {
	min-width: 124px;
	width: 9%;
	white-space: nowrap;
}

.fabs-table th.fabs-column-status,
.fabs-table td.fabs-column-status {
	border-left: 0 !important;
}

.fabs-table th.fabs-column-status {
	background: #f6f9fc;
	box-shadow: none !important;
}

.fabs-table th.fabs-column-status a {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.fabs-table td.fabs-column-status .fabs-status-cell,
.fabs-table td.fabs-column-status .fabs-status-trigger {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.fabs-table td.fabs-column-status .fabs-status-trigger {
	display: inline-flex !important;
	width: auto !important;
}

.fabs-column-amount {
	min-width: 132px;
	width: 11%;
	white-space: nowrap;
}

.fabs-column-order_amount {
	min-width: 108px;
	width: 9%;
	white-space: nowrap;
}

.fabs-follow-up-comment {
	color: #64748b;
	display: block;
	font-size: var(--fabs-text-xs);
	line-height: 1.35;
	margin-top: 3px;
}

.fabs-status-validation-modal .fabs-modal-dialog {
	max-width: min(92vw, 420px);
}

.fabs-validation-amount {
	display: grid;
	gap: var(--fabs-space-xs);
}

.fabs-validation-amount span {
	font-size: var(--fabs-text-sm);
	font-weight: 800;
}

.fabs-validation-amount input {
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font: inherit;
	padding: var(--fabs-space-sm);
	width: 100%;
}

.fabs-validation-error {
	color: #991b1b !important;
	font-weight: 700;
	min-height: 1.5em;
}

.fabs-modal-block + .fabs-modal-block {
	margin-top: var(--fabs-space-md);
}

.fabs-modal-label {
	color: #111827;
	font-size: var(--fabs-text-sm);
	font-weight: 800;
}

.fabs-modal-link {
	color: #0f172a;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.fabs-modal-text {
	color: #5f697a;
	font-size: var(--fabs-text-sm);
}

.fabs-pagination {
	align-items: center;
	display: flex;
	gap: var(--fabs-space-xs);
	justify-content: center;
	margin-top: var(--fabs-space-sm);
}

.fabs-pagination .page-numbers {
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	color: #111827;
	font-size: var(--fabs-text-sm);
	font-weight: 700;
	padding: var(--fabs-space-xs) var(--fabs-space-sm);
	text-decoration: none;
}

.fabs-pagination .current {
	background: #f3f7fc;
}

.fabs-empty {
	color: #6b7280;
	padding: var(--fabs-space-xl) !important;
	text-align: center !important;
}

.fabs-message {
	border: 1px solid #d1d5db;
	border-radius: 12px;
	padding: var(--fabs-space-lg);
}

.fabs-modal[hidden] {
	display: none;
}

body.fabs-modal-open {
	overflow: hidden;
}

.fabs-modal {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: clamp(10px, 2vw, 32px);
	position: fixed;
	z-index: 99999;
}

.fabs-modal-backdrop {
	background: rgba(15, 23, 42, .45);
	inset: 0;
	position: absolute;
}

.fabs-modal-dialog {
	background: #fff;
	border: 1px solid #d7dee8;
	border-radius: 12px;
	box-shadow: 0 24px 64px rgba(15, 23, 42, .2);
	max-height: 88vh;
	overflow: hidden;
	position: relative;
	width: min(88vw, 920px);
}

.fabs-modal-header {
	align-items: center;
	background: #f8fafc;
	border-bottom: 1px solid #e5e7eb;
	display: flex;
	justify-content: space-between;
	padding: var(--fabs-space-sm) var(--fabs-space-md);
}

.fabs-modal-header h3 {
	color: #374151;
	font-size: var(--fabs-title-sm);
	font-weight: 800;
	line-height: 1.3;
	margin: 0;
}

.fabs-modal-close {
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	color: #111827;
	cursor: pointer;
	font-size: 20px;
	height: 34px;
	line-height: 1;
	width: 34px;
}

.fabs-modal-content {
	max-height: calc(88vh - 56px);
	overflow: auto;
	padding: var(--fabs-space-lg);
}

.fabs-doc-table-wrap {
	background: #fff;
	border: 1px solid #eef2f7;
	border-radius: 12px;
	overflow: hidden;
}

.fabs-doc-table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
}

.fabs-doc-table th,
.fabs-doc-table td {
	border-bottom: 1px solid #f4f7fb;
	font-size: var(--fabs-text-sm);
	padding: var(--fabs-space-sm);
	text-align: left;
	vertical-align: middle;
}

.fabs-doc-table th + th,
.fabs-doc-table td + td {
	border-left: 1px solid #f4f7fb;
}

.fabs-doc-table th {
	background: #f6f9fc;
	color: #1f2937;
	font-weight: 800;
	white-space: nowrap;
}

.fabs-doc-table thead th:first-child {
	border-top-left-radius: 12px;
}

.fabs-doc-table thead th:last-child {
	border-top-right-radius: 12px;
}

.fabs-doc-table tr:last-child td {
	border-bottom: 0;
}

.fabs-doc-table tbody tr:last-child td:first-child {
	border-bottom-left-radius: 12px;
}

.fabs-doc-table tbody tr:last-child td:last-child {
	border-bottom-right-radius: 12px;
}

.fabs-file-icon {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	color: #334155;
	display: inline-flex;
	font-size: 10px;
	font-weight: 900;
	height: 30px;
	justify-content: center;
	letter-spacing: .03em;
	min-width: 38px;
	padding: 0 var(--fabs-space-xs);
}

.fabs-file-pdf {
	background: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}

.fabs-file-image {
	background: var(--cubi-success-soft, #ecfdf3);
	border-color: #bbf7d0;
	color: var(--cubi-success, #166534);
}

.fabs-file-sheet {
	background: #f0fdf4;
	border-color: #86efac;
	color: #15803d;
}

.fabs-file-doc {
	background: var(--cubi-info-soft, #eff6ff);
	border-color: #bfdbfe;
	color: var(--cubi-info, #1d4ed8);
}

.fabs-file-msg,
.fabs-file-eml {
	background: #f5f3ff;
	border-color: #ddd6fe;
	color: #6d28d9;
}

.fabs-doc-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--fabs-space-xs);
	justify-content: flex-start;
	width: 100%;
}

.fabs-doc-trash {
	align-items: center;
	background: transparent;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	height: 30px;
	justify-content: center;
	margin-left: auto;
	padding: 0;
	transition: opacity .15s ease, transform .15s ease;
	width: 30px;
}

.fabs-doc-trash:hover {
	opacity: .7;
	transform: translateY(-1px);
}

.fabs-doc-trash:disabled {
	cursor: progress;
	opacity: .55;
	transform: none;
}

.fabs-doc-trash img {
	display: block;
	filter: brightness(0) saturate(100%);
	height: 15px;
	width: 15px;
}

.fabs-button-small {
	font-size: var(--fabs-text-xs);
	min-height: 28px;
	padding: var(--fabs-space-xs) var(--fabs-space-sm);
	text-decoration: none;
}

.fabs-upload {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	margin-bottom: var(--fabs-space-md);
	padding: var(--fabs-space-md);
}

.fabs-create-upload {
	grid-column: 1 / -1;
}

.fabs-upload-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--fabs-space-sm);
}

.fabs-upload-picker {
	display: grid;
	gap: var(--fabs-space-xs);
}

.fabs-upload-picker span {
	color: #374151;
	font-size: var(--fabs-text-xs);
	font-weight: 800;
	line-height: 1;
}

.fabs-upload input[type="file"] {
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	color: #111827;
	font-size: var(--fabs-text-sm);
	padding: var(--fabs-space-xs);
}

.fabs-upload-help,
.fabs-upload-progress {
	color: #64748b;
	font-size: var(--fabs-text-sm);
	margin: var(--fabs-space-sm) 0 0;
}

.fabs-upload-progress progress {
	display: block;
	height: 10px;
	margin-top: var(--fabs-space-xs);
	width: 100%;
}

.fabs-detail-head {
	align-items: center;
	display: flex;
	gap: var(--fabs-space-md);
	margin: var(--fabs-space-lg) 0;
}

.fabs-detail-head h2 {
	font-size: var(--fabs-title-md);
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.15;
	margin: 0;
	padding-left: var(--fabs-space-sm);
	padding-right: var(--fabs-space-sm);
}

.fabs-project-trash {
	align-items: center;
	background: transparent;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	height: 34px;
	justify-content: center;
	margin-left: auto;
	padding: 0;
	transition: opacity .15s ease, transform .15s ease;
	width: 34px;
}

.fabs-project-trash:hover {
	opacity: .65;
	transform: translateY(-1px);
}

.fabs-project-trash:disabled {
	cursor: progress;
	opacity: .45;
	transform: none;
}

.fabs-project-trash img {
	display: block;
	filter: brightness(0) saturate(100%);
	height: 17px;
	width: 17px;
}

.fabs-detail-grid {
	display: grid;
	gap: var(--fabs-space-sm);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: var(--fabs-space-md);
}

.fabs-finalize-request,
.fabs-request-checklist {
	background: #fff;
	border: 1px solid #e3e9f1;
	border-radius: 12px;
	display: grid;
	gap: var(--fabs-space-sm);
	margin-bottom: var(--fabs-space-md);
	padding: var(--fabs-space-md);
}

.fabs-finalize-request {
	align-items: end;
	grid-template-columns: auto minmax(160px, 1fr) minmax(160px, 1fr) auto;
}

.fabs-finalize-request label {
	display: grid;
	gap: var(--fabs-space-xs);
}

.fabs-finalize-request strong,
.fabs-finalize-request span,
.fabs-request-checklist strong {
	color: #334155;
	font-size: var(--fabs-text-xs);
	font-weight: 800;
	letter-spacing: .025em;
	text-transform: uppercase;
}

.fabs-finalize-request input {
	background: #f8fafc;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	color: #111827;
	font: inherit;
	padding: var(--fabs-space-sm);
	width: 100%;
}

.fabs-finalize-request p {
	grid-column: 1 / -1;
	margin: 0;
}

.fabs-request-checklist {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.fabs-request-checklist span {
	color: #64748b;
	font-size: var(--fabs-text-sm);
}

.fabs-request-checklist .is-done {
	color: var(--cubi-success, #166534);
}

.fabs-selected-files {
	display: grid;
	gap: var(--fabs-space-xs);
}

.fabs-selected-files div {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #e3e9f1;
	border-radius: 8px;
	display: flex;
	justify-content: space-between;
	padding: var(--fabs-space-xs) var(--fabs-space-sm);
}

.fabs-selected-files button {
	background: transparent;
	border: 0;
	color: #991b1b;
	cursor: pointer;
	font-size: 20px;
}

.fabs-detail-grid div,
.fabs-detail-card {
	background: #fff;
	border: 1px solid #e3e9f1;
	border-radius: 12px;
	padding: var(--fabs-space-md);
}

.fabs-detail-grid p {
	color: #475569;
	font-size: var(--fabs-text-md);
	line-height: 1.5;
	margin: var(--fabs-space-xs) 0 0;
}

.fabs-detail-field strong {
	color: #334155;
	font-size: var(--fabs-text-xs);
	font-weight: 800;
	letter-spacing: .025em;
	line-height: 1.3;
	text-transform: uppercase;
}

.fabs-detail-field label {
	display: grid;
	gap: var(--fabs-space-xs);
}

.fabs-client-auto-field {
	position: relative;
}

.fabs-client-auto-list {
	left: var(--fabs-space-md);
	right: var(--fabs-space-md);
	top: calc(100% - var(--fabs-space-xs));
}

.fabs-auto-field input,
.fabs-auto-field select,
.fabs-auto-field textarea {
	background: #f8fafc;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	color: #111827;
	font-family: inherit;
	font-size: var(--fabs-text-md);
	line-height: 1.45;
	padding: var(--fabs-space-sm);
	width: 100%;
}

.fabs-auto-field textarea {
	min-height: 96px;
	resize: vertical;
}

.fabs-auto-field[data-field="request_text"],
.fabs-auto-field[data-field="project_text"] {
	grid-column: span 2;
}

.fabs-auto-field[data-field="request_text"] label,
.fabs-auto-field[data-field="request_text"] textarea,
.fabs-auto-field[data-field="project_text"] label,
.fabs-auto-field[data-field="project_text"] textarea,
.fabs-note,
.fabs-note textarea {
	width: 100%;
}

.fabs-print-list {
	display: grid;
	gap: 8px;
	margin-bottom: var(--fabs-space-md);
}

.fabs-print-row {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	display: flex;
	gap: 10px;
	padding: 10px 12px;
}

.fabs-print-row input {
	height: 16px;
	width: 16px;
}

.fabs-print-status {
	color: #475569;
	font-size: var(--fabs-text-sm);
	font-weight: 700;
	min-height: 20px;
}

.fabs-print-actions {
	display: flex;
	justify-content: flex-end;
}

.fabs-auto-field input:focus,
.fabs-auto-field select:focus,
.fabs-auto-field textarea:focus {
	background: #fff;
	border-color: #94a3b8;
	box-shadow: 0 0 0 3px rgba(148, 163, 184, .18);
	outline: none;
}

.fabs-auto-field-status {
	color: #64748b;
	font-size: var(--fabs-text-sm);
	font-weight: 700;
	margin: var(--fabs-space-xs) 0 0;
}

.fabs-auto-field-status:empty,
.fabs-note-status:empty {
	display: none;
}

.fabs-detail-layout {
	display: grid;
	gap: var(--fabs-space-md);
	grid-template-columns: 2fr 1fr;
}

.fabs-detail-card h3 {
	font-size: var(--fabs-title-md);
	font-weight: 800;
	letter-spacing: -.015em;
	line-height: 1.25;
	margin: 0 0 var(--fabs-space-sm);
}

.fabs-detail-card p {
	color: #475569;
	font-size: var(--fabs-text-sm);
	line-height: 1.55;
}

.fabs-note {
	display: grid;
	gap: var(--fabs-space-xs);
	margin-top: var(--fabs-space-lg);
}

.fabs-note textarea {
	border: 1px solid #d1d5db;
	border-radius: 10px;
	color: #111827;
	font-family: inherit;
	font-size: var(--fabs-text-md);
	line-height: 1.45;
	min-height: 96px;
	padding: var(--fabs-space-sm);
	resize: vertical;
	width: 100%;
}

.fabs-note textarea:focus {
	border-color: #94a3b8;
	box-shadow: 0 0 0 3px rgba(148, 163, 184, .18);
	outline: none;
}

.fabs-note-status {
	color: #64748b;
	font-size: var(--fabs-text-sm);
	font-weight: 700;
	margin: var(--fabs-space-xs) 0 0;
}

@media (max-width: 900px) {
	.fabs-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fabs-stats-grid {
		grid-template-columns: 1fr;
	}

	.fabs-stats-card-wide {
		grid-column: auto;
	}

	.fabs-filter-row {
		flex-wrap: wrap;
	}

	.fabs-field,
	.fabs-field-search {
		flex: 1 1 45%;
		max-width: none;
	}

	.fabs-field-date {
		flex: 1 1 45%;
		max-width: none;
	}

	.fabs-filter-row-main > [data-fabs-reset],
	.fabs-filter-row-main .fabs-button-new {
		flex: 1 1 45%;
		margin-left: 0;
	}

	.fabs-detail-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fabs-auto-field[data-field="request_text"],
	.fabs-auto-field[data-field="project_text"] {
		grid-column: span 2;
	}

	.fabs-detail-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.fabs-kpis {
		grid-template-columns: 1fr;
	}

	.fabs-status-stat {
		grid-template-columns: 1fr auto;
	}

	.fabs-status-stat > span {
		grid-column: 1 / -1;
	}

	.fabs-month-chart {
		gap: 2px;
	}

	.fabs-projects {
		padding: clamp(7px, 2.8vw, 12px);
	}

	.fabs-field,
	.fabs-field-search,
	.fabs-field-date {
		flex: 1 1 100%;
		max-width: none;
	}

	.fabs-filter-row-main > [data-fabs-reset],
	.fabs-filter-row-main .fabs-button-new {
		flex: 1 1 100%;
	}

	.fabs-create-grid,
	.fabs-detail-grid {
		grid-template-columns: 1fr;
	}

	.fabs-auto-field[data-field="request_text"],
	.fabs-auto-field[data-field="project_text"] {
		grid-column: span 1;
	}

	.fabs-modal {
		padding: clamp(7px, 2.8vw, 12px);
	}

.fabs-modal-dialog {
	width: 100%;
}
}

.fabs-linked-projects {
	margin: 18px 0;
}

.fabs-linked-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
}

.fabs-linked-head h3 {
	margin: 0;
}

.fabs-linked-head p {
	margin: 4px 0 0;
	color: #64748b;
}

.fabs-linked-head span {
	border: 1px solid #dbeafe;
	border-radius: 999px;
	padding: 5px 10px;
	color: var(--cubi-info, #1d4ed8);
	background: var(--cubi-info-soft, #eff6ff);
	font-weight: 700;
	white-space: nowrap;
}

.fabs-linked-table-wrap {
	overflow-x: auto;
}

.fabs-linked-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 13px;
}

.fabs-linked-table th,
.fabs-linked-table td {
	padding: 10px 9px;
	border-bottom: 1px solid #e5e7eb;
	text-align: left;
	vertical-align: middle;
}

.fabs-linked-table th {
	color: #475569;
	background: #f8fafc;
	font-weight: 800;
}

.fabs-linked-table tr.is-current td {
	background: #f8fbff;
}

.fabs-linked-remove-col {
	width: 34px;
	text-align: center !important;
}

.fabs-linked-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 1px solid #fecaca;
	border-radius: 999px;
	background: #fff5f5;
	color: #b91c1c;
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
}

.fabs-linked-remove:hover {
	background: #fee2e2;
	border-color: #f87171;
	color: #991b1b;
}

.fabs-linked-add input,
.fabs-linked-add select {
	min-height: 34px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	padding: 6px 9px;
	background: #fff;
}

.fabs-linked-actions,
.fabs-linked-add {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.fabs-linked-add {
	margin-top: 14px;
}

.fabs-linked-add input {
	min-width: min(280px, 100%);
}

.fabs-linked-add select {
	min-width: min(360px, 100%);
}

.fabs-linked-add p {
	margin: 0;
	color: #64748b;
	font-weight: 700;
}

.fabs-scenarios {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid #e5e7eb;
}

.fabs-scenario {
	display: grid;
	grid-template-columns: minmax(180px, 1.2fr) auto minmax(160px, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #eef2f7;
}

.fabs-scenario > div:first-child {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.fabs-scenario span {
	border-radius: 999px;
	padding: 3px 8px;
	background: #f1f5f9;
	color: #475569;
	font-size: 12px;
	font-weight: 800;
}

.fabs-scenario-retenu span {
	background: #dcfce7;
	color: var(--cubi-success, #166534);
}

.fabs-scenario-non_retenu {
	opacity: .68;
}

.fabs-scenario p,
.fabs-scenario small {
	margin: 0;
}

.fabs-scenario small {
	color: #64748b;
}

.fabs-scenario-form {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) minmax(120px, 180px);
	gap: 10px;
	margin-top: 14px;
}

.fabs-scenario-form input[type="text"] {
	min-height: 36px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	padding: 7px 10px;
}

.fabs-scenario-items {
	grid-column: 1 / -1;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.fabs-scenario-items label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	padding: 6px 10px;
	background: #fff;
}

.fabs-scenario-form p {
	margin: 0;
	align-self: center;
	color: #64748b;
	font-weight: 700;
}

.fabs-folder-create {
	display: grid;
	gap: var(--fabs-space-lg);
}

.fabs-folder-form-panel,
.fabs-folder-table-panel {
	background: #fff;
	border: 1px solid #e3e9f1;
	border-radius: 8px;
	padding: var(--fabs-space-lg);
}

.fabs-folder-form {
	display: grid;
	gap: var(--fabs-space-md);
}

.fabs-folder-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--fabs-space-md);
	align-items: start;
}

.fabs-folder-grid label {
	display: grid;
	gap: 6px;
	color: #475569;
	font-size: var(--fabs-text-xs);
	font-weight: 800;
	text-transform: uppercase;
}

.fabs-folder-grid input,
.fabs-folder-grid select,
.fabs-folder-grid textarea {
	width: 100%;
	min-height: 40px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	background: #fff;
	color: #111827;
	font: inherit;
	padding: 9px 11px;
	text-transform: none;
}

.fabs-folder-project,
.fabs-folder-upload {
	grid-column: 1 / -1;
}

.fabs-folder-project {
	display: grid;
	gap: 8px;
}

.fabs-folder-project label {
	display: grid;
	gap: 6px;
}

.fabs-folder-project textarea {
	min-height: 145px;
	resize: vertical;
}

[data-fabs-copy-project] {
	position: relative;
}

[data-fabs-copy-project].is-copied::after {
	background: #111827;
	border-radius: 6px;
	bottom: calc(100% + 6px);
	color: #fff;
	content: "Copier";
	font-size: 12px;
	font-weight: 700;
	left: 0;
	line-height: 1;
	padding: 6px 8px;
	position: absolute;
	white-space: nowrap;
	z-index: 5;
}

.fabs-folder-client {
	position: relative;
}

.fabs-folder-client .fabs-suggest-list {
	background: #f6f7f9;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: grid;
	gap: 10px;
	max-height: none;
	padding: 10px;
	top: calc(100% + 4px);
}

.fabs-folder-client .fabs-suggest-list[hidden] {
	display: none !important;
}

.fabs-folder-client .fabs-suggest-list:empty {
	display: none !important;
}

.fabs-folder-client-option {
	appearance: none;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #111827;
	cursor: pointer;
	display: block;
	font: inherit;
	line-height: 1.25;
	margin: 0 !important;
	outline: 0 !important;
	padding: 0;
	text-align: left;
	text-decoration: none;
	width: 100%;
}

.fabs-folder-client-option:hover,
.fabs-folder-client-option:focus {
	background: transparent !important;
	box-shadow: none !important;
	color: #0f172a;
	outline: 0 !important;
	font-size: var(--fabs-text-sm);
	font-weight: 700;
}

.fabs-folder-table {
	width: 100%;
}

.fabs-folder-delete {
	background: transparent !important;
	border: 0 !important;
	color: #991b1b;
	cursor: pointer;
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
	margin-left: 8px;
	padding: 2px 4px;
	vertical-align: middle;
}

.fabs-folder-delete:hover,
.fabs-folder-delete:focus {
	color: #dc2626;
	outline: none;
}

.fabs-folder-table th,
.fabs-folder-table td {
	vertical-align: top;
}

@media (max-width: 980px) {
	.fabs-folder-grid {
		grid-template-columns: 1fr;
	}
}


/* =====================================================================
   Règles rapatriées de hub.css (2026-07) — comportement dans le canvas hub.
   Ces règles sont désormais la propriété du plugin : les modifier ICI.
   ===================================================================== */

.hub-service-frame--fabs {
  padding: 0;
}

.hub-service-frame--fabs .fabs-projects {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.hub-service-frame--fabs .fabs-projects {
  padding: 0 !important;
  border: 0 !important;
}

.hub-service-frame--fabs .fabs-table-wrap,
.hub-service-frame--fabs .fabs-doc-table-wrap,
.hub-service-frame--fabs .fabs-stats-table-wrap {
  max-width: 100% !important;
}

.hub-service-frame--fabs .fabs-stats-card-clients {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.hub-service-frame--fabs .fabs-stats-card-clients h3 {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  width: auto !important;
}

.hub-service-frame--fabs .fabs-filters,
.hub-service-frame--fabs .fabs-stats-filters,
.hub-service-frame--fabs .fabs-quick-filters {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.hub-service-frame--fabs .fabs-filters,
.hub-service-frame--fabs .fabs-stats-filters {
  padding: 0 !important;
}

.hub-service-frame--fabs .fabs-quick-filters {
  gap: 6px !important;
  margin-left: 0 !important;
  padding: 0 !important;
}

.hub-service-frame--fabs .fabs-quick-filter {
  min-height: 34px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  padding: 7px 10px !important;
}

.hub-service-frame--fabs .fabs-quick-filter:hover {
  border-color: #d1d5db !important;
  background: #fff !important;
  color: #111827 !important;
  font-weight: 700 !important;
}

.hub-service-frame--fabs .fabs-quick-filter.is-active {
  border-color: #111827 !important;
  background: #111827 !important;
  color: #fff !important;
  font-weight: 700 !important;
}

.hub-service-frame--fabs .fabs-quick-filter.is-active::after {
  display: none !important;
}

.hub-service-frame--fabs .fabs-field,
.hub-service-frame--fabs .fabs-button:not(.fabs-button-primary),
.hub-service-frame--fabs .fabs-date-trigger {
  min-height: 34px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.hub-service-frame--fabs .fabs-field:hover,
.hub-service-frame--fabs .fabs-button:not(.fabs-button-primary):hover,
.hub-service-frame--fabs .fabs-date-trigger:hover {
  border-color: #d1d5db !important;
  background: #fff !important;
  color: #111827 !important;
  font-weight: 700 !important;
}

.hub-service-frame--fabs .fabs-button-new {
  border-color: #111827 !important;
  background: #111827 !important;
  color: #fff !important;
  font-weight: 700 !important;
}

.hub-service-frame--fabs .fabs-date-pop {
  width: min(92vw, 560px) !important;
  border: 1px solid #d9dee5 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(17, 24, 39, .12) !important;
  padding: 16px !important;
}

.hub-service-frame--fabs .fabs-date-nav {
  width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  border: 1px solid #d2d8e0 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #111827 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.hub-service-frame--fabs .fabs-date-day {
  min-height: 0 !important;
  display: block !important;
  border: 1px solid #d9dee5 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #0f172a !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 6px 0 !important;
  text-shadow: none !important;
}

.hub-service-frame--fabs .fabs-date-day:hover {
  border-color: #d9dee5 !important;
  background: #fff !important;
  color: #0f172a !important;
  font-weight: 700 !important;
}

.hub-service-frame--fabs .fabs-date-day.is-today {
  border-color: #aeb9c8 !important;
  box-shadow: inset 0 0 0 1px #aeb9c8 !important;
}

.hub-service-frame--fabs .fabs-date-day.is-selected,
.hub-service-frame--fabs .fabs-date-day.is-range-start,
.hub-service-frame--fabs .fabs-date-day.is-range-end {
  border-color: #000 !important;
  background: #000 !important;
  color: #fff !important;
  font-weight: 700 !important;
}

.hub-service-frame--fabs .fabs-date-day.is-in-range {
  border-color: #dbe3ec !important;
  background: #f3f6fa !important;
  color: #0f172a !important;
  font-weight: 500 !important;
}

.hub-service-frame--fabs .fabs-table,
.hub-service-frame--fabs .fabs-doc-table,
.hub-service-frame--fabs .fabs-stats-table {
  min-width: 100% !important;
}

.hub-service-frame--fabs .fabs-table td,
.hub-service-frame--fabs .fabs-doc-table td,
.hub-service-frame--fabs .fabs-stats-table td {
  border-radius: 0 !important;
}

.hub-service-frame--fabs .fabs-status,
.hub-service-frame--fabs .fabs-request-count,
.hub-service-frame--fabs .fabs-file-icon {
  box-shadow: none !important;
}

.hub-service-frame--fabs .fabs-status {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .03em !important;
  padding: 4px 8px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.hub-service-frame--fabs .fabs-status-trigger,
.hub-service-frame--fabs .fabs-status-option {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  padding: 0 !important;
  transform: none !important;
}

.hub-service-frame--fabs .fabs-status-trigger {
  display: inline-flex !important;
  width: auto !important;
  border-radius: 0 !important;
  line-height: inherit !important;
}

.hub-service-frame--fabs .fabs-status-option {
  display: flex !important;
  width: 100% !important;
  padding: 2px !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

.hub-service-frame--fabs .fabs-status-form {
  min-width: 220px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .12) !important;
  padding: 8px !important;
}

.hub-service-frame--fabs .fabs-table th.fabs-column-status,
.hub-service-frame--fabs .fabs-table td.fabs-column-status {
  border-left: 0 !important;
}

.hub-service-frame--fabs .fabs-table td.fabs-column-status .fabs-status-cell {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.hub-service-frame--fabs .fabs-status-list {
  gap: 6px !important;
}

.hub-service-frame--fabs .fabs-status-option:hover,
.hub-service-frame--fabs .fabs-status-option.is-active {
  background: #f8fafc !important;
}

.hub-service-frame--fabs:not(.hub-service-frame--fabs-stats-view) .fabs-view-tabs {
  display: none !important;
}

.hub-service-frame--fabs-stats-view .fabs-view-tabs {
  display: none !important;
}

.hub-service-frame--fabs-stats-view [data-fabs-panel="table"] {
  display: none !important;
}

.hub-service-frame--fabs:not(.hub-service-frame--fabs-stats-view) [data-fabs-panel="stats"] {
  display: none !important;
}

.hub-service-frame--fabs:not(.hub-service-frame--fabs-stats-view) [data-fabs-panel="table"],
.hub-service-frame--fabs-stats-view [data-fabs-panel="stats"] {
  display: block !important;
}


/* Champ commentaire de la fiche : pleine largeur de son bloc (bat la
   normalisation width:auto du socle par simple spécificité). */
.hub-service-frame .fabs-note textarea[data-fabs-note-text],
.fabs-note textarea[data-fabs-note-text] {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	justify-self: stretch;
	box-sizing: border-box;
}

/* Bouton « Créer le dossier » : style foncé (exclu du normalisateur via cubi-raw). */
.fabs-button.fabs-button-primary,
.fabs-button-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 36px;
	padding: 0 18px;
	border: 1px solid var(--cubi-primary, #111827);
	border-radius: var(--cubi-radius, 8px);
	background: var(--cubi-primary, #111827);
	color: #fff;
	font-size: 13px;
	font-weight: 750;
	line-height: 1.1;
	cursor: pointer;
	transition: background .12s ease;
}
.fabs-button.fabs-button-primary:hover,
.fabs-button.fabs-button-primary:focus,
.fabs-button-primary:hover,
.fabs-button-primary:focus {
	background: #1f2937;
	border-color: #1f2937;
	color: #fff;
}


/* Tableau harmonisé sur le socle : en-tête doux, zébrures, survol. */
.fabs-table thead th {
	background: var(--cubi-panel-soft, #f8fafc);
	color: var(--cubi-muted, #667386);
	font-size: 11px;
	font-weight: 750;
	text-transform: uppercase;
	letter-spacing: .05em;
}
.fabs-table tbody tr:nth-child(even) td { background: var(--cubi-panel-soft, #f8fafc); }
.fabs-table tbody tr:hover td { background: var(--cubi-panel-muted, #f3f6fa); }


/* ÉTAT (tableau Fabs) — neutralisation définitive, consigne Samuel 2026-07-07 :
   la cellule d'en-tête n'a pas de radius, le badge n'a ni bordure ni boîte en
   plus, et les options de la petite modale non plus. Les boutons sont hors
   normalisateur (cubi-raw) : AUCUNE autre règle ne doit re-styler ces éléments. */
.fabs-table thead th { border-radius: 0; }
.fabs-status-trigger,
.fabs-status-option {
	display: inline-flex;
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	outline: none;
	padding: 0;
	margin: 0;
	min-height: 0;
	font: inherit;
	cursor: pointer;
}
.fabs-status,
.fabs-status-option .fabs-status {
	border: 0;
	box-shadow: none;
}
