.tremvi-ca-staff {
	--tremvi-primary: var(--wdtPrimaryColor, #A69D84);
	--tremvi-secondary: var(--wdtSecondaryColor, #2A2E31);
	--tremvi-tertiary: var(--wdtTertiaryColor, #F4F5EF);
	--tremvi-text: var(--wdtBodyTxtColor, #222222);
	--tremvi-heading: var(--wdtHeadAltColor, #2A2E31);
	--tremvi-accent-text: var(--wdtAccentTxtColor, #ffffff);
	--tremvi-border: var(--wdtBorderColor, #e2e0da);
	--tremvi-font-body: var(--wdtFontTypo_Base, "DM Sans", sans-serif);
	--tremvi-font-heading: var(--wdtFontTypo_Alt, "prata", serif);
	--tremvi-radius: var(--wdtRadius_2X, 5px);
	--tremvi-transition: var(--wdtBaseTransition, all 0.3s linear 0s);

	max-width: 900px;
	margin: 0 auto;
	font-family: var(--tremvi-font-body);
	color: var(--tremvi-text);
}
.tremvi-ca-staff h2, .tremvi-ca-staff h3, .tremvi-ca-staff h4 {
	font-family: var(--tremvi-font-heading);
	color: var(--tremvi-heading);
	font-weight: 400;
}

.tremvi-ca-staff-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 1em;
	margin-bottom: 1.5em;
}
.tremvi-ca-staff-header-actions {
	display: flex;
	gap: 0.6em;
}

.tremvi-ca-staff .tremvi-ca-tabs {
	display: flex;
	gap: 0.25em;
	border-bottom: 2px solid var(--tremvi-border);
	margin-bottom: 1.8em;
	flex-wrap: wrap;
}
.tremvi-ca-staff .tremvi-tab-btn {
	background: none;
	border: none;
	padding: 0.9em 1.3em;
	cursor: pointer;
	font-weight: 500;
	font-family: var(--tremvi-font-body);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-size: 0.85em;
	color: var(--tremvi-text);
	border-bottom: 2px solid transparent;
	transition: var(--tremvi-transition);
	margin-bottom: -2px;
}
.tremvi-ca-staff .tremvi-tab-btn:hover { color: var(--tremvi-primary); }
.tremvi-ca-staff .tremvi-tab-btn.active { color: var(--tremvi-primary); border-bottom-color: var(--tremvi-primary); }

.tremvi-ca-staff .tremvi-ca-form .tremvi-field { margin-bottom: 1.2em; }
.tremvi-ca-staff .tremvi-ca-form label {
	display: block; font-weight: 500; margin-bottom: 0.4em; font-size: 0.92em; color: var(--tremvi-heading);
}
.tremvi-ca-staff .tremvi-ca-form input[type="text"],
.tremvi-ca-staff .tremvi-ca-form input[type="email"],
.tremvi-ca-staff .tremvi-ca-form input[type="password"] {
	width: 100%; padding: 0.75em 0.9em; border: 1px solid var(--tremvi-border);
	border-radius: var(--tremvi-radius); box-sizing: border-box; font-family: var(--tremvi-font-body);
	background: #fff; transition: var(--tremvi-transition);
}
.tremvi-ca-staff .tremvi-ca-form input:focus { outline: none; border-color: var(--tremvi-primary); }

.tremvi-ca-staff .tremvi-btn {
	display: inline-block; padding: var(--wdtPadding_Btn, 14px 28px); border-radius: var(--tremvi-radius);
	border: 1px solid var(--tremvi-secondary); cursor: pointer; font-family: var(--tremvi-font-body);
	font-weight: 500; text-transform: uppercase; letter-spacing: 1px; font-size: 0.85em; line-height: 1;
	text-decoration: none; transition: var(--tremvi-transition);
}
.tremvi-ca-staff .tremvi-btn-primary { background: var(--tremvi-secondary); border-color: var(--tremvi-secondary); color: var(--tremvi-accent-text); }
.tremvi-ca-staff .tremvi-btn-primary:hover { background: var(--tremvi-primary); border-color: var(--tremvi-primary); }
.tremvi-ca-staff .tremvi-btn-secondary { background: transparent; border-color: var(--tremvi-border); color: var(--tremvi-text); }
.tremvi-ca-staff .tremvi-btn-secondary:hover { border-color: var(--tremvi-primary); color: var(--tremvi-primary); }

.tremvi-ca-staff .tremvi-form-feedback { margin: 0.9em 0; font-weight: 500; font-size: 0.92em; }

.tremvi-ca-staff-stats {
	display: flex; gap: 1em; flex-wrap: wrap; margin-bottom: 2em;
}
.tremvi-ca-staff-stat {
	background: var(--tremvi-tertiary); border-radius: var(--tremvi-radius); padding: 1.2em 1.5em; flex: 1; min-width: 160px; text-align: center;
}
.tremvi-ca-staff-stat-nombre { display: block; font-size: 2em; font-weight: 700; color: var(--tremvi-primary); }
.tremvi-ca-staff-stat-label { font-size: 0.85em; color: var(--tremvi-text); opacity: 0.75; }

.tremvi-ca-table { width: 100%; border-collapse: collapse; }
.tremvi-ca-table th { text-align: left; padding: 0.7em 0.8em; background: var(--tremvi-tertiary); font-weight: 600; }
.tremvi-ca-table td { padding: 0.7em 0.8em; border-bottom: 1px solid var(--tremvi-border); }

.tremvi-badge {
	display: inline-block; padding: 0.25em 0.8em; border-radius: 999px; font-size: 0.78em; font-weight: 700; text-transform: uppercase;
}
.tremvi-badge-rdv-sollicite { background: #fff3cd; color: #7a5b00; }
.tremvi-badge-rdv-confirme { background: #d4edda; color: #1e6b32; }
.tremvi-badge-rdv-annule { background: #f8d7da; color: #7a1f22; }
.tremvi-badge-nouvelle { background: #e0ecff; color: #1d3557; }
.tremvi-badge-en_cours { background: #fff3cd; color: #7a5b00; }
.tremvi-badge-acceptee { background: #d4edda; color: #1e6b32; }
.tremvi-badge-rejetee { background: #f8d7da; color: #7a1f22; }

/* Agenda : sélecteur de vue Jour/Semaine/Mois/Année */
.tremvi-ca-staff-agenda-modes {
	display: flex; gap: 0.4em; flex-wrap: wrap;
}
.tremvi-ca-mode-btn {
	border: 1px solid var(--tremvi-border); border-radius: 999px; padding: 0.4em 1.1em;
	font-size: 0.82em; text-decoration: none; color: var(--tremvi-text); background: #fff;
	transition: var(--tremvi-transition);
}
.tremvi-ca-mode-btn:hover { border-color: var(--tremvi-primary); }
.tremvi-ca-mode-btn.active { background: var(--tremvi-secondary); border-color: var(--tremvi-secondary); color: var(--tremvi-accent-text); }
.tremvi-ca-staff-agenda-nav {
	display: flex; align-items: center; gap: 0.8em;
}

/* Agenda */
.tremvi-ca-staff-agenda-toolbar {
	display: flex; align-items: center; justify-content: space-between; gap: 1em; margin-bottom: 1.5em; flex-wrap: wrap;
}
.tremvi-ca-staff-agenda-periode { font-weight: 600; }
.tremvi-ca-staff-agenda-jour { margin-bottom: 1.8em; }
.tremvi-ca-staff-agenda-jour h4 { text-transform: capitalize; margin-bottom: 0.6em; font-size: 1.05em; }

.tremvi-ca-rdv-card {
	background: var(--tremvi-tertiary); border-left: 4px solid #999; border-radius: 6px; padding: 0.9em 1.1em; margin-bottom: 0.8em;
}
.tremvi-ca-rdv-sollicite { border-left-color: #b8860b; }
.tremvi-ca-rdv-confirme { border-left-color: #2a7a3b; }
.tremvi-ca-rdv-annule { border-left-color: #b3261e; opacity: 0.7; }
.tremvi-ca-rdv-heure { font-weight: 700; }
.tremvi-ca-rdv-avocat { font-style: italic; opacity: 0.7; font-size: 0.9em; }
.tremvi-ca-rdv-motif { opacity: 0.75; font-size: 0.9em; margin: 0.2em 0; }
.tremvi-ca-rdv-actions { display: flex; gap: 0.4em; flex-wrap: wrap; margin-top: 0.5em; }
.tremvi-btn-mini {
	border: 1px solid var(--tremvi-border); background: #fff; border-radius: 4px; padding: 0.3em 0.8em;
	font-size: 0.8em; cursor: pointer; font-family: var(--tremvi-font-body);
}
.tremvi-btn-mini:hover { border-color: var(--tremvi-primary); color: var(--tremvi-primary); }
.tremvi-ca-rdv-deplacer-form { margin-top: 0.5em; display: flex; gap: 0.4em; flex-wrap: wrap; align-items: center; }
.tremvi-ca-rdv-deplacer-form input { font-size: 0.85em; padding: 3px 6px; }
.tremvi-ca-rdv-feedback { font-size: 0.82em; margin-top: 0.3em; font-weight: 600; }
