/* Variables pilotées depuis les réglages de l'extension (valeurs par défaut ci-dessous) */
.diag-ia-app {
	--diag-accent: #2f6f4f;
	--diag-accent-dark: #245a40;
	--diag-accent-soft: #eaf3ee;
	--diag-text: #1f2a24;
	--diag-border: #e2e6e3;
	--diag-muted: #9aa5a0;
	--diag-fs: 18px;
	--diag-fs-title: 20px;
	--diag-fs-day: 18px;
	--diag-fs-slot: 16px;
	--diag-cardw: 360px;
	--diag-cardh: 420px;
	--diag-font: inherit;
	--diag-day-bg: #eaf3ee;
	--diag-day-text: #245a40;
	--diag-day-border: #eaf3ee;
	--diag-slot-bg: #ffffff;
	--diag-slot-text: #245a40;
	--diag-slot-border: #2f6f4f;
	--diag-locked-bg: #f4f6f5;
	--diag-locked-text: #cdd5d0;
	--diag-locked-border: #eef1ef;
	--diag-day-hover-bg: #2f6f4f;
	--diag-day-hover-text: #ffffff;
	--diag-day-active-bg: #245a40;
	--diag-day-active-text: #ffffff;
	--diag-slot-hover-bg: #2f6f4f;
	--diag-slot-hover-text: #ffffff;
	--diag-slot-active-bg: #245a40;
	--diag-slot-active-text: #ffffff;
	--diag-day-zoom: 1.05;
	--diag-slot-zoom: 1.05;
	--diag-title-weight: 700;
	--diag-title-style: normal;
	--diag-day-weight: 700;
	--diag-day-style: normal;
	--diag-slot-weight: 400;
	--diag-slot-style: normal;
	--diag-form-font: inherit;
	--diag-form-bg: #ffffff;
	--diag-form-text: #1f2a24;
	--diag-form-border: #e2e6e3;
	--diag-form-weight: 400;
	--diag-form-style: normal;
	font-family: var(--diag-font, inherit);
	color: var(--diag-text);
	display: block !important;
	width: 100% !important;
	text-align: center;
}

.diag-ia-app button {
	margin: 0;
	font-family: inherit;
	line-height: normal;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: normal;
	min-height: 0 !important;
	text-decoration: none;
}

.diag-ia-card {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: var(--diag-cardw) !important;
	min-height: var(--diag-cardh);
	margin: 0 auto !important;
	border: 1px solid var(--diag-border);
	border-radius: 16px;
	background: #fff;
	padding: 20px !important;
	box-shadow: 0 4px 18px rgba(0,0,0,.06);
	display: flex;
	flex-direction: column;
	text-align: left;
}

.diag-ia-title {
	margin: 0 0 4px !important;
	padding: 0;
	font-size: var(--diag-fs-title);
	line-height: 1.3;
	font-weight: var(--diag-title-weight);
	font-style: var(--diag-title-style);
	color: var(--diag-text) !important;
	-webkit-text-fill-color: var(--diag-text) !important;
}
.diag-ia-sub { margin: 0 0 12px !important; color: var(--diag-muted); font-size: max(12px, calc(var(--diag-fs) - 3px)); }
.diag-ia-hint { margin: 12px 0 0 !important; color: var(--diag-muted); font-size: max(11px, calc(var(--diag-fs) - 5px)); text-align: center; }
.diag-ia-loading, .diag-ia-error { text-align: center; color: var(--diag-muted); margin: auto 0; }
.diag-ia-error { color: #b23b3b; }

.diag-ia-monthnav {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	margin: 6px 0 12px;
	gap: 8px;
}
.diag-ia-monthlabel {
	font-weight: var(--diag-month-weight, 600);
	white-space: nowrap;
	line-height: 1.2;
	font-size: var(--diag-month-size, var(--diag-fs));
	font-family: var(--diag-month-font, inherit);
	color: var(--diag-month-color, var(--diag-text)) !important;
	-webkit-text-fill-color: var(--diag-month-color, var(--diag-text)) !important;
}
.diag-ia-nav {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 36px !important;
	height: 36px !important;
	padding: 0 10px !important;
	border: 1px solid var(--diag-border) !important;
	background: #fff !important;
	border-radius: 8px !important;
	font-size: var(--diag-nav-size, 1.2rem);
	font-weight: var(--diag-nav-weight, 400);
	line-height: 1;
	cursor: pointer;
	color: var(--diag-nav-color, var(--diag-accent-dark)) !important;
	-webkit-text-fill-color: var(--diag-nav-color, var(--diag-accent-dark)) !important;
}
.diag-ia-nav:disabled { opacity: .3; cursor: default; }

.diag-ia-grid {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr) !important;
	gap: 4px !important;
	width: 100%;
}
.diag-ia-wday {
	text-align: center;
	font-size: max(11px, calc(var(--diag-fs) - 4px));
	font-weight: 600;
	color: var(--diag-muted);
	padding-bottom: 2px;
}
.diag-ia-cell {
	height: calc(var(--diag-fs-day) + 24px) !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
}
.diag-ia-cell.empty { visibility: hidden; }
.diag-ia-cell.muted { background: var(--diag-locked-bg) !important; border: 1px solid var(--diag-locked-border) !important; border-radius: 9px !important; color: var(--diag-locked-text) !important; -webkit-text-fill-color: var(--diag-locked-text) !important; font-size: max(11px, calc(var(--diag-fs-day) - 2px)); }
.diag-ia-daybtn {
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	border: 1px solid var(--diag-day-border) !important;
	border-radius: 9px !important;
	background: var(--diag-day-bg) !important;
	color: var(--diag-day-text) !important;
	-webkit-text-fill-color: var(--diag-day-text) !important;
	font-weight: var(--diag-day-weight);
	font-style: var(--diag-day-style);
	font-size: var(--diag-fs-day);
	cursor: pointer;
	transition: transform .12s, background .12s, color .12s;
}
.diag-ia-daybtn:hover { background: var(--diag-day-hover-bg) !important; color: var(--diag-day-hover-text) !important; -webkit-text-fill-color: var(--diag-day-hover-text) !important; transform: scale(var(--diag-day-zoom)); }
.diag-ia-daybtn:active { background: var(--diag-day-active-bg) !important; color: var(--diag-day-active-text) !important; -webkit-text-fill-color: var(--diag-day-active-text) !important; }

.diag-ia-slotwrap {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 8px !important;
	margin-top: 6px;
}
.diag-ia-slot {
	border: 1px solid var(--diag-slot-border) !important;
	background: var(--diag-slot-bg) !important;
	color: var(--diag-slot-text) !important;
	-webkit-text-fill-color: var(--diag-slot-text) !important;
	border-radius: 10px !important;
	padding: 10px 0 !important;
	font-size: var(--diag-fs-slot);
	font-weight: var(--diag-slot-weight);
	font-style: var(--diag-slot-style);
	cursor: pointer;
	transition: transform .12s, background .12s, color .12s;
}
.diag-ia-slot:hover { background: var(--diag-slot-hover-bg) !important; color: var(--diag-slot-hover-text) !important; -webkit-text-fill-color: var(--diag-slot-hover-text) !important; transform: scale(var(--diag-slot-zoom)); }
.diag-ia-slot:active { background: var(--diag-slot-active-bg) !important; color: var(--diag-slot-active-text) !important; -webkit-text-fill-color: var(--diag-slot-active-text) !important; }

.diag-ia-backbar { margin-bottom: 10px; }
.diag-ia-back {
	border: none !important;
	background: none !important;
	color: var(--diag-accent-dark) !important;
	-webkit-text-fill-color: var(--diag-accent-dark) !important;
	font-size: max(12px, calc(var(--diag-fs) - 3px));
	cursor: pointer;
	padding: 0 !important;
}
.diag-ia-back:hover { text-decoration: underline; }

.diag-ia-chosen {
	background: var(--diag-chosen-bg, var(--diag-accent-soft));
	border-radius: 8px;
	padding: 8px 12px;
	margin: 0 0 14px !important;
	font-weight: var(--diag-chosen-weight, 600);
	font-style: var(--diag-chosen-style, normal);
	color: var(--diag-chosen-text, var(--diag-accent-dark));
	-webkit-text-fill-color: var(--diag-chosen-text, var(--diag-accent-dark));
	font-size: max(12px, calc(var(--diag-fs) - 3px));
}
.diag-ia-form { font-family: var(--diag-form-font, inherit); }
.diag-ia-form label {
	display: block;
	margin-bottom: 10px !important;
	font-size: max(12px, calc(var(--diag-fs) - 3px));
	font-weight: var(--diag-form-weight);
	font-style: var(--diag-form-style);
	color: var(--diag-text);
}
.diag-ia-form input,
.diag-ia-form textarea {
	width: 100% !important;
	box-sizing: border-box !important;
	margin-top: 4px;
	padding: 9px 11px !important;
	border: 1px solid var(--diag-form-border) !important;
	border-radius: 8px !important;
	font-size: inherit;
	font-family: var(--diag-form-font, inherit);
	background: var(--diag-form-bg) !important;
	color: var(--diag-form-text) !important;
	-webkit-text-fill-color: var(--diag-form-text) !important;
}
.diag-ia-form input:focus,
.diag-ia-form textarea:focus { outline: none; border-color: var(--diag-accent) !important; }

.diag-ia-msg { margin: 4px 0 0 !important; font-size: max(12px, calc(var(--diag-fs) - 3px)); }

.diag-ia-btn {
	border-radius: 9px !important;
	padding: 11px 16px !important;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid transparent !important;
	font-size: var(--diag-fs);
}
.diag-ia-btn-block { width: 100% !important; margin-top: 12px !important; }
.diag-ia-btn-primary {
	background: var(--diag-btn-bg, var(--diag-accent)) !important;
	color: var(--diag-btn-text, #fff) !important;
	-webkit-text-fill-color: var(--diag-btn-text, #fff) !important;
	border-color: var(--diag-btn-border, transparent) !important;
	font-weight: var(--diag-btn-weight, 600) !important;
}
.diag-ia-btn-primary:hover {
	background: var(--diag-btn-hbg, var(--diag-accent-dark)) !important;
	color: var(--diag-btn-htext, #fff) !important;
	-webkit-text-fill-color: var(--diag-btn-htext, #fff) !important;
}
.diag-ia-btn-primary:active {
	background: var(--diag-btn-abg, var(--diag-accent-dark)) !important;
	color: var(--diag-btn-atext, #fff) !important;
	-webkit-text-fill-color: var(--diag-btn-atext, #fff) !important;
}
.diag-ia-btn-primary:disabled { opacity: .6; cursor: default; }
.diag-ia-btn-ghost {
	background: #fff !important;
	border-color: var(--diag-border) !important;
	color: var(--diag-text) !important;
	-webkit-text-fill-color: var(--diag-text) !important;
	margin-top: 16px !important;
}

.diag-ia-check { font-size: 2.2rem; text-align: center; margin: 0 0 6px; }
