.vdc-planning-my-schedule {
	display: grid;
	max-width: 100%;
	gap: 1.5rem;
}

.vdc-planning-my-schedule__section {
	min-width: 0;
}

.vdc-planning-my-schedule__primary-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 1.5rem;
}

.vdc-planning-my-schedule__section--upcoming,
.vdc-planning-my-schedule__section--available {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
	min-width: 0;
	gap: 1rem;
}

.vdc-planning-my-schedule__section--upcoming > h2,
.vdc-planning-my-schedule__section--available > h2,
.vdc-planning-my-schedule__section--upcoming > .vdc-planning-my-schedule__empty,
.vdc-planning-my-schedule__section--available > .vdc-planning-my-schedule__empty {
	grid-column: 1 / -1;
}

.vdc-planning-my-schedule__section--upcoming > .vdc-planning-card,
.vdc-planning-my-schedule__section--available > .vdc-planning-card {
	margin-block: 0;
}

.vdc-planning-my-schedule__primary-grid .vdc-planning-card {
	padding: 0.85rem;
}

.vdc-planning-my-schedule__primary-grid .vdc-planning-card__title {
	margin-block: 0 0.65rem;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.25;
	overflow-wrap: normal;
	word-break: normal;
}

.vdc-planning-my-schedule__primary-grid :is(
	.vdc-planning-card__date,
	.vdc-planning-card__time,
	.vdc-planning-card__description
) {
	margin-block: 0.4rem;
	font-size: 15px;
	line-height: 1.4;
	overflow-wrap: normal;
	word-break: normal;
}

.vdc-planning-my-schedule__primary-grid .vdc-planning-card__status {
	margin-block: 0.4rem;
	font-size: 1.4rem;
	line-height: 1.4;
}

.vdc-planning-my-schedule__primary-grid .vdc-planning-coverage {
	margin-block: 0.55rem;
	font-size: 15px;
	line-height: 1.4;
}

.vdc-planning-my-schedule__primary-grid .vdc-planning-status {
	font-size: 1.4rem;
	line-height: 1.4;
}

.vdc-planning-my-schedule__primary-grid .vdc-planning-actions {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	margin-block-start: 0.75rem;
}

.vdc-planning-my-schedule__primary-grid .vdc-planning-button {
	width: auto;
	min-height: 40px;
	padding: 6px 10px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
}

.vdc-planning-my-schedule__section > h2 {
	margin-block: 0 0.75rem;
}

.vdc-planning-my-schedule__section--history {
	padding-block-start: 0.75rem;
	border-block-start: 1px solid #d7dde5;
	color: #475569;
}

.vdc-planning-card {
	box-sizing: border-box;
	max-width: 100%;
	margin-block: 0 0.75rem;
	padding: 1rem;
	border: 1px solid #d7dde5;
	border-radius: 0.5rem;
	background-color: #fff;
	overflow-wrap: anywhere;
}

.vdc-planning-card__title {
	margin-block: 0 0.5rem;
}

.vdc-planning-card__date,
.vdc-planning-card__time,
.vdc-planning-card__status {
	margin-block: 0.25rem;
}

.vdc-planning-card--understaffed,
.vdc-planning-card--covered {
	border-inline-start: 0.25rem solid;
}

.vdc-planning-card--understaffed {
	border-inline-start-color: #d97706;
	background-color: #fffbeb;
}

.vdc-planning-card--covered {
	border-inline-start-color: #4d7c5b;
}

.vdc-planning-coverage {
	display: inline-block;
	max-width: 100%;
	margin-block: 0.5rem;
	padding: 0.375rem 0.625rem;
	border-radius: 0.25rem;
	font-weight: 600;
	line-height: 1.4;
}

.vdc-planning-coverage--understaffed {
	color: #713f12;
	background-color: #fef3c7;
}

.vdc-planning-coverage--reached {
	color: #14532d;
	background-color: #dcfce7;
}

.vdc-planning-status {
	display: inline-block;
	max-width: 100%;
	padding: 0.25rem 0.5rem;
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight: 600;
	line-height: 1.4;
}

.vdc-planning-status--available {
	color: #1e3a5f;
	border-color: #93c5fd;
	background-color: #eff6ff;
}

.vdc-planning-status--confirmed {
	color: #14532d;
	border-color: #86efac;
	background-color: #f0fdf4;
}

.vdc-planning-status--waiting-list {
	color: #713f12;
	border-color: #fcd34d;
	background-color: #fffbeb;
}

.vdc-planning-attendance {
	display: inline-block;
	max-width: 100%;
	margin: 0.25rem 0.5rem;
	padding: 0.25rem 0.6rem;
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight: 600;
	line-height: 1.4;
}

.vdc-planning-attendance--pending {
	color: #713f12;
	border-color: #fcd34d;
	background-color: #fffbeb;
}

.vdc-planning-attendance--present {
	color: #14532d;
	border-color: #86efac;
	background-color: #f0fdf4;
}

.vdc-planning-attendance--absent {
	color: #7f1d1d;
	border-color: #fca5a5;
	background-color: #fef2f2;
}

.vdc-planning-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-block-start: 0.75rem;
}

.vdc-planning-action {
	margin: 0;
}

.vdc-planning-button {
	max-width: 100%;
	padding: 0.5rem 0.75rem;
	border: 1px solid #64748b;
	border-radius: 0.375rem;
	color: #1e293b;
	background-color: #fff;
	font: inherit;
	line-height: 1.4;
	white-space: normal;
	cursor: pointer;
}

.vdc-planning-button--primary {
	color: #fff;
	border-color: #1d4ed8;
	background-color: #1d4ed8;
}

.vdc-planning-button--destructive {
	color: #991b1b;
	border-color: #dc2626;
	background-color: #fff;
}

.vdc-planning-button:hover {
	filter: brightness(0.96);
}

.vdc-planning-button:focus-visible {
	outline: 3px solid #2563eb;
	outline-offset: 2px;
}

.vdc-board-planning form.vdc-board-form input[type="number"][name="minimum_volunteers"],
.vdc-board-planning form.vdc-board-form input[type="number"][name="maximum_volunteers"] {
	box-sizing: border-box;
	width: 120px !important;
	min-width: 120px !important;
	max-width: 120px !important;
	flex: 0 0 120px !important;
}

.vdc-board-planning .vdc-board-planning__lists {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"pending"
		"upcoming";
	align-items: start;
	gap: 1rem;
	max-width: 100%;
}

.vdc-board-planning .vdc-board-planning__panel {
	min-width: 0;
	padding: 1rem;
	border: 1px solid #d7dde5;
	border-radius: 0.5rem;
	background-color: #fff;
}

.vdc-board-planning .vdc-board-planning__panel > .vdc-board-section > h3 {
	margin-block: 0 0.75rem;
}

.vdc-board-planning .vdc-board-planning__panel > .vdc-board-section {
	display: grid;
	gap: 0.75rem;
}

.vdc-board-planning .vdc-board-planning__panel .vdc-board-slot {
	margin: 0;
	padding: 0.85rem;
	border: 1px solid #d7dde5;
	border-radius: 10px;
	background: #fff;
}

.vdc-board-planning .vdc-board-planning__panel .vdc-board-slot p {
	margin-block: 0.35rem;
}

.vdc-board-slot__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.75rem;
}

.vdc-board-slot__detail-actions {
	margin-block: 0.75rem 1rem;
}

.vdc-dashboard__main .vdc-board-slot__detail-actions > a,
.vdc-dashboard__main .vdc-board-slot__detail-actions .vdc-board-slot__duplicate button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: 42px;
	padding: 0.55rem 1rem;
	border: 1px solid #bfdbfe;
	border-radius: 10px;
	background: #eff6ff;
	color: #1d4ed8;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.vdc-dashboard__main .vdc-board-slot__detail-actions > a:hover,
.vdc-dashboard__main .vdc-board-slot__detail-actions > a:focus-visible,
.vdc-dashboard__main .vdc-board-slot__detail-actions .vdc-board-slot__duplicate button:hover,
.vdc-dashboard__main .vdc-board-slot__detail-actions .vdc-board-slot__duplicate button:focus-visible {
	border-color: #93c5fd;
	background: #dbeafe;
	color: #1e3a8a;
}

.vdc-dashboard__main .vdc-board-slot__detail-actions > .vdc-board-slot__action--danger {
	border-color: #fecaca;
	background: #fff7f7;
	color: #7f1d1d;
}

.vdc-dashboard__main .vdc-board-slot__detail-actions > .vdc-board-slot__action--danger:hover,
.vdc-dashboard__main .vdc-board-slot__detail-actions > .vdc-board-slot__action--danger:focus-visible {
	border-color: #fca5a5;
	background: #fee2e2;
	color: #7f1d1d;
}

.vdc-board-slot__duplicate {
	display: inline;
	margin: 0;
}

.vdc-dashboard__main .vdc-board-slot__duplicate button {
	width: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #1d4ed8;
	font: inherit;
	line-height: inherit;
	text-decoration: underline;
	cursor: pointer;
}

.vdc-dashboard__main .vdc-board-slot__duplicate button:hover,
.vdc-dashboard__main .vdc-board-slot__duplicate button:focus-visible {
	background: transparent;
	color: #1e3a8a;
}

.vdc-board-planning .vdc-board-planning__panel--upcoming {
	grid-area: upcoming;
	box-sizing: border-box;
	width: 100%;
}

.vdc-board-planning .vdc-board-planning__panel--pending {
	grid-area: pending;
	border-inline-start: 0.25rem solid #d97706;
	background-color: #fffbeb;
}

.vdc-planning-message,
.vdc-planning-my-schedule__message,
.vdc-planning-my-schedule__empty {
	max-width: 100%;
	padding: 0.75rem;
	border-inline-start: 0.25rem solid #64748b;
	background-color: #f8fafc;
}

.vdc-planning-message--success {
	color: #14532d;
	border-inline-start-color: #16a34a;
	background-color: #f0fdf4;
}

.vdc-planning-message--error {
	color: #7f1d1d;
	border-inline-start-color: #dc2626;
	background-color: #fef2f2;
}

/* Shared, low-specificity controls for VDC modules that do not own a button system. */
.vdc-dashboard__main .vdc-button,
:is(
	.vdc-beneficiaries,
	.vdc-parcel-passages,
	.vdc-admin-permanences,
	.vdc-board-events,
	.vdc-board-news
) :where(button, input[type="submit"], input[type="button"], .button) {
	box-sizing: border-box;
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 0.9rem;
	border: 1px solid #64748b;
	border-radius: 10px;
	color: #1e293b;
	background: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	cursor: pointer;
}

:is(
	.vdc-beneficiaries,
	.vdc-parcel-passages,
	.vdc-admin-permanences,
	.vdc-board-events,
	.vdc-board-news
) :where(button, input[type="submit"], input[type="button"], .button):hover {
	background: #f1f5f9;
}

:is(
	.vdc-beneficiaries,
	.vdc-parcel-passages,
	.vdc-admin-permanences,
	.vdc-board-events,
	.vdc-board-news
) :where(button, input[type="submit"], input[type="button"], .button):focus-visible {
	outline: 3px solid #2563eb;
	outline-offset: 2px;
}

.vdc-dashboard__main .vdc-button--primary,
.vdc-dashboard__main .button-primary {
	color: #fff;
	border-color: #1d4ed8;
	background: #1d4ed8;
}

.vdc-dashboard__main .vdc-button--primary-orange {
	color: #fff;
	border-color: #c2410c;
	background: #c2410c;
}

.vdc-dashboard__main .vdc-button--secondary {
	color: #1e293b;
	border-color: #94a3b8;
	background: #f8fafc;
}

.vdc-dashboard__main .vdc-button--danger,
.vdc-dashboard__main .button-link-delete {
	color: #991b1b;
	border-color: #fca5a5;
	background: #fff;
}

.vdc-dashboard__main :where(.vdc-button, .button-primary, .vdc-button--primary-orange, .vdc-button--secondary, .vdc-button--danger):hover {
	filter: brightness(0.96);
}

.vdc-dashboard__main :where(.vdc-button, .button-primary, .vdc-button--primary-orange, .vdc-button--secondary, .vdc-button--danger):focus-visible {
	outline: 3px solid #2563eb;
	outline-offset: 2px;
}

:is(
	.vdc-beneficiaries,
	.vdc-parcel-passages,
	.vdc-admin-permanences,
	.vdc-board-events,
	.vdc-board-news
) :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select, textarea) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: 2.75rem;
	padding: 0.55rem 0.7rem;
	border: 1px solid #aeb8c2;
	border-radius: 0.4rem;
	color: #1e293b;
	background: #fff;
	font: inherit;
}

:is(
	.vdc-beneficiaries,
	.vdc-parcel-passages,
	.vdc-admin-permanences,
	.vdc-board-events,
	.vdc-board-news
) textarea {
	min-height: 7rem;
	resize: vertical;
}

:where(
	.vdc-beneficiaries,
	.vdc-parcel-passages,
	.vdc-admin-permanences,
	.vdc-board-events,
	.vdc-board-news
) :where(input, select, textarea):focus-visible {
	border-color: #2563eb;
	outline: 3px solid rgb(37 99 235 / 22%);
	outline-offset: 1px;
}

.vdc-planning-message--warning {
	color: #713f12;
	border-inline-start-color: #d97706;
	background-color: #fffbeb;
}

.vdc-planning-message--info {
	color: #1e3a5f;
	border-inline-start-color: #2563eb;
	background-color: #eff6ff;
}

.vdc-planning-calendar {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin-block: 1rem 1.5rem;
}

.vdc-planning-calendar__navigation {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-block-end: 0.75rem;
}

.vdc-planning-calendar__navigation h2 {
	margin: 0;
	text-align: center;
}

.vdc-planning-calendar__nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	border: 1px solid #64748b;
	border-radius: 0.375rem;
	font-size: 1.5rem;
	text-decoration: none;
}

.vdc-planning-calendar__nav:focus-visible,
.vdc-planning-calendar__event:focus-visible {
	outline: 3px solid #2563eb;
	outline-offset: 2px;
}

.vdc-planning-calendar__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.vdc-planning-calendar__legend-item,
.vdc-planning-calendar__badge,
.vdc-planning-calendar__personal {
	display: inline-block;
	padding: 0.2rem 0.4rem;
	border: 1px solid;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
}

.vdc-planning-calendar .vdc-planning-calendar__legend-item,
.vdc-planning-calendar .vdc-planning-calendar__badge,
.vdc-planning-calendar .vdc-planning-calendar__personal {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	padding: 0.5rem 0.9rem;
	font-size: 1.5rem;
	line-height: 1.25;
}

.vdc-planning-calendar__legend-item--understaffed,
.vdc-planning-calendar__event--understaffed .vdc-planning-calendar__badge {
	color: #713f12;
	border-color: #d97706;
	background: #fffbeb;
}

.vdc-planning-calendar__legend-item--reached,
.vdc-planning-calendar__event--reached .vdc-planning-calendar__badge {
	color: #14532d;
	border-color: #4d7c5b;
	background: #f0fdf4;
}

.vdc-planning-calendar__legend-item--full,
.vdc-planning-calendar__event--full .vdc-planning-calendar__badge {
	color: #7f1d1d;
	border-color: #dc2626;
	background: #fef2f2;
}

.vdc-planning-calendar__scroll {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.vdc-planning-calendar__grid {
	width: 100%;
	min-width: 52rem;
	border-collapse: collapse;
	table-layout: fixed;
}

.vdc-planning-calendar__grid th,
.vdc-planning-calendar__day {
	border: 1px solid #cbd5e1;
}

.vdc-planning-calendar__grid th {
	padding: 0.5rem;
	background: #f1f5f9;
	text-align: center;
}

.vdc-planning-calendar__day {
	height: 8rem;
	padding: 0.4rem;
	vertical-align: top;
	background: #fff;
}

.vdc-planning-calendar__day--outside {
	background: #f8fafc;
}

.vdc-planning-calendar__date {
	display: block;
	margin-block-end: 0.35rem;
	font-weight: 700;
}

.vdc-planning-calendar__event {
	display: block;
	margin-block-end: 0.4rem;
	padding: 0.4rem;
	border-inline-start: 0.25rem solid;
	border-radius: 0.25rem;
	color: #0f172a;
	background: #f8fafc;
	text-decoration: none;
	overflow-wrap: break-word;
	word-break: normal;
}

.vdc-planning-calendar__event--understaffed {
	border-inline-start-color: #d97706;
}

.vdc-planning-calendar__event--reached {
	border-inline-start-color: #4d7c5b;
}

.vdc-planning-calendar__event--full {
	border-inline-start-color: #dc2626;
}

.vdc-planning-calendar__event-title {
	display: block;
	margin-block-end: 0.3rem;
	font-size: 1.5rem;
	font-weight: 600;
}

.vdc-planning-calendar__personal {
	margin-inline-start: 0.25rem;
	color: #1e3a5f;
	border-color: #93c5fd;
	background: #eff6ff;
}

.vdc-planning-calendar__empty {
	margin-block-start: 0.75rem;
}

.vdc-dashboard {
	--vdc-shell-background: #315c43;
	--vdc-shell-accent: #bbf7d0;
	--vdc-shell-divider: rgb(255 255 255 / 25%);
	display: grid;
	grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
	gap: 1.5rem;
	width: 100%;
	max-width: 100%;
	color: #1e293b;
}

.vdc-dashboard *,
.vdc-dashboard *::before,
.vdc-dashboard *::after {
	box-sizing: border-box;
}

.vdc-dashboard__sidebar {
	display: flex;
	min-width: 0;
	min-height: 36rem;
	flex-direction: column;
	padding: 1.25rem;
	border-radius: 0.75rem;
	color: #fff;
	background: var(--vdc-shell-background);
}

.vdc-dashboard__identity {
	display: grid;
	gap: 0.25rem;
	padding-block-end: 1rem;
	border-block-end: 1px solid var(--vdc-shell-divider);
}

.vdc-dashboard__identity strong {
	font-size: 1.1rem;
}

.vdc-dashboard__navigation {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding-block-end: 0.75rem;
}

.vdc-dashboard__navigation ul {
	display: grid;
	gap: 0.35rem;
	margin: 1rem 0;
	padding: 0;
	list-style: none;
}

.vdc-dashboard__navigation a {
	display: block;
	padding: 0.65rem 0.75rem;
	border-radius: 0.4rem;
	color: inherit;
	text-decoration: none;
}

.vdc-dashboard__navigation-disabled {
	display: grid;
	gap: 0.15rem;
	padding: 0.65rem 0.75rem;
	border-radius: 0.4rem;
	color: rgb(255 255 255 / 78%);
	background: rgb(255 255 255 / 8%);
}

.vdc-dashboard__navigation-disabled small,
.vdc-dashboard__coming-soon {
	font-size: 0.78rem;
	font-weight: 600;
}

.vdc-dashboard__navigation a:hover,
.vdc-dashboard__navigation a:focus-visible {
	background: rgb(255 255 255 / 15%);
}

.vdc-dashboard__navigation a.vdc-dashboard__navigation-active {
	font-weight: 700;
	background: rgb(255 255 255 / 20%);
	box-shadow: inset 0.2rem 0 var(--vdc-shell-accent);
}

.vdc-dashboard__navigation a:focus-visible {
	outline: 3px solid var(--vdc-shell-accent);
	outline-offset: 2px;
}

.vdc-dashboard__quick-link:focus-visible {
	outline: 3px solid #fbbf24;
	outline-offset: 2px;
}

.vdc-dashboard__navigation a.vdc-dashboard__navigation-switch {
	margin-block-start: 0.4rem;
	border: 1px solid rgb(255 255 255 / 45%);
	font-weight: 600;
}

.vdc-dashboard__logout {
	margin-block-start: auto;
	margin-block-end: 1.5rem;
	border: 1px solid rgb(255 255 255 / 60%);
	text-align: center;
}

.vdc-dashboard__main {
	min-width: 0;
}

.vdc-workspace__back {
	margin: 0 0 1rem;
}

.vdc-workspace__back a {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1rem;
	border: 1px solid var(--vdc-shell-background);
	border-radius: 0.5rem;
	color: var(--vdc-shell-background);
	background: #fff;
	box-shadow: 0 0.15rem 0.35rem rgb(15 23 42 / 10%);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.vdc-workspace__back a:hover,
.vdc-workspace__back a:focus-visible {
	color: #fff;
	background: var(--vdc-shell-background);
	text-decoration: none;
}

.vdc-dashboard__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-block-end: 1.25rem;
}

.vdc-dashboard__header h2,
.vdc-dashboard__header p {
	margin-block: 0 0.4rem;
}

.vdc-dashboard__header time {
	display: grid;
	flex: 0 0 auto;
	gap: 0.2rem;
	font-weight: 600;
	text-align: end;
}

.vdc-dashboard__quick-links,
.vdc-dashboard__kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}

.vdc-dashboard__quick-link {
	display: grid;
	min-width: 0;
	min-height: 8rem;
	align-content: center;
	gap: 0.25rem;
	padding: 1rem;
	border: 1px solid transparent;
	border-radius: 0.75rem;
	color: #172033;
	text-decoration: none;
}

.vdc-dashboard__quick-link strong {
	font-size: 1.05rem;
}

.vdc-dashboard__quick-link--disabled {
	cursor: default;
	opacity: 0.72;
}

.vdc-dashboard__quick-icon {
	font-size: 1.5rem;
}

.vdc-dashboard__quick-link--green { background: #dcfce7; border-color: #86efac; }
.vdc-dashboard__quick-link--blue { background: #dbeafe; border-color: #93c5fd; }
.vdc-dashboard__quick-link--orange { background: #ffedd5; border-color: #fdba74; }
.vdc-dashboard__quick-link--purple { background: #f3e8ff; border-color: #d8b4fe; }
.vdc-dashboard__quick-link--teal { background: #ccfbf1; border-color: #5eead4; }
.vdc-dashboard__quick-link--rose { background: #ffe4e6; border-color: #fda4af; }

.vdc-dashboard__section {
	min-width: 0;
	margin-block-start: 1.25rem;
	padding: 1rem;
	border: 1px solid #d7dde5;
	border-radius: 0.75rem;
	background: #fff;
}

.vdc-dashboard__section > h3 {
	margin-block: 0 0.75rem;
}

.vdc-dashboard__kpi {
	display: grid;
	min-width: 0;
	gap: 0.2rem;
	padding: 1rem;
	border-inline-start: 0.25rem solid #4d7c5b;
	background: #f8fafc;
}

.vdc-dashboard__kpi strong {
	font-size: 1.6rem;
}

.vdc-dashboard__kpi--urgent {
	border-inline-start-color: #d97706;
	background: #fffbeb;
}

.vdc-dashboard__urgent {
	padding: 0.75rem 1rem;
	border-inline-start: 0.3rem solid #d97706;
	background: #fffbeb;
}

.vdc-dashboard__watch ul {
	margin-block-end: 0;
}

.vdc-volunteer-dashboard__news-image {
	display: block;
	width: 100%;
	max-height: 15rem;
	object-fit: cover;
	border-radius: 0.5rem;
}

.vdc-volunteer-dashboard__indicator {
	margin-block-start: 1rem;
	color: #475569;
	font-weight: 600;
}

.vdc-dashboard__mobile-menu {
	display: none;
}

.vdc-workspace {
	align-items: stretch;
}

.vdc-workspace__sidebar {
	min-height: 30rem;
}

.vdc-workspace__main {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.vdc-workspace--admin-permanences .vdc-workspace__main,
.vdc-workspace--admin-permanences .vdc-admin-permanences {
	width: 100%;
	min-width: 0;
	max-width: none;
}

.vdc-dashboard--board {
	--vdc-shell-background: #24547a;
	--vdc-shell-accent: #bfdbfe;
	grid-template-columns: minmax(17rem, 20rem) minmax(0, 1fr);
	gap: 2rem;
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.vdc-dashboard--board .vdc-dashboard__sidebar {
	padding-inline: 1.5rem;
}

.vdc-dashboard--board .vdc-dashboard__identity,
.vdc-dashboard--board .vdc-dashboard__navigation a,
.vdc-dashboard--board .vdc-dashboard__navigation-disabled {
	min-width: 0;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: normal;
}

.vdc-dashboard--board .vdc-dashboard__main {
	width: 100%;
	min-width: 0;
}

.vdc-dashboard--board .vdc-dashboard__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.45rem 1.5rem;
	margin-block-end: 1.75rem;
}

.vdc-dashboard--board .vdc-dashboard__header > div {
	display: contents;
}

.vdc-dashboard--board .vdc-dashboard__header h2 {
	grid-column: 1;
	margin: 0;
	color: #173a56;
	font-size: clamp(1.55rem, 2.6vw, 2rem);
	line-height: 1.2;
}

.vdc-dashboard--board .vdc-dashboard__header p {
	grid-column: 1 / -1;
	margin: 0.35rem 0 0;
	color: #475569;
	font-size: 1.15rem;
	line-height: 1.4;
}

.vdc-dashboard--board .vdc-dashboard__header time {
	grid-column: 2;
	grid-row: 1;
	padding: 0.6rem 0.85rem;
	border: 1px solid #bfdbfe;
	border-radius: 0.65rem;
	color: #173a56;
	background: #eff6ff;
}

.vdc-dashboard--board .vdc-dashboard__quick-links {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.vdc-dashboard--board .vdc-dashboard__quick-link {
	position: relative;
	min-height: 10.5rem;
	align-content: start;
	gap: 0.55rem;
	padding: 1.3rem;
	border-width: 2px;
	border-radius: 1rem;
	box-shadow: 0 0.45rem 1.2rem rgb(30 41 59 / 9%);
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.vdc-dashboard--board a.vdc-dashboard__quick-link::after {
	position: absolute;
	right: 1rem;
	bottom: 0.75rem;
	content: "→";
	font-size: 1.2rem;
	font-weight: 700;
	opacity: 0.6;
}

.vdc-dashboard--board a.vdc-dashboard__quick-link:hover,
.vdc-dashboard--board a.vdc-dashboard__quick-link:focus-visible {
	transform: translateY(-0.2rem);
	box-shadow: 0 0.8rem 1.6rem rgb(30 41 59 / 16%);
}

.vdc-dashboard--board .vdc-dashboard__quick-link strong {
	font-size: 1.15rem;
	line-height: 1.25;
}

.vdc-dashboard--board .vdc-dashboard__quick-link strong + span {
	color: #475569;
}

.vdc-dashboard--board .vdc-dashboard__quick-icon {
	display: inline-grid;
	width: 3.25rem;
	height: 3.25rem;
	place-items: center;
	border-radius: 0.85rem;
	background: rgb(255 255 255 / 72%);
	font-size: 1.9rem;
	line-height: 1;
}

.vdc-dashboard--board .vdc-dashboard__quick-link--green { background: #d9f2e2; border-color: #68a77b; }
.vdc-dashboard--board .vdc-dashboard__quick-link--blue { background: #dbeafe; border-color: #60a5fa; }
.vdc-dashboard--board .vdc-dashboard__quick-link--orange { background: #ffedd5; border-color: #fb923c; }
.vdc-dashboard--board .vdc-dashboard__quick-link--purple { background: #f3e8ff; border-color: #c084fc; }
.vdc-dashboard--board .vdc-dashboard__quick-link--teal { background: #ccfbf1; border-color: #2dd4bf; }
.vdc-dashboard--board .vdc-dashboard__quick-link--rose { background: #ffe4e6; border-color: #fb7185; }

.vdc-dashboard--board .vdc-dashboard__urgent {
	margin-block: 1.25rem 0;
	padding: 0.9rem 1rem;
	border: 1px solid #f4c97a;
	border-inline-start-width: 0.35rem;
	border-radius: 0.65rem;
	background: #fffbeb;
}

.vdc-dashboard--board .vdc-dashboard__kpi-section {
	margin-block-start: 1.5rem;
	padding: 1.35rem;
	border-radius: 1rem;
	background: #f8fafc;
	box-shadow: 0 0.45rem 1.25rem rgb(30 41 59 / 6%);
}

.vdc-dashboard--board .vdc-dashboard__kpi-section > h3,
.vdc-dashboard--board .vdc-dashboard__watch > h3 {
	color: #173a56;
	font-size: 1.3rem;
}

.vdc-dashboard--board .vdc-dashboard__kpis {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.vdc-dashboard--board .vdc-dashboard__kpi {
	grid-template-columns: 3rem minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: center;
	gap: 0.15rem 0.8rem;
	min-height: 7.5rem;
	padding: 1rem;
	border: 1px solid #dbe4ee;
	border-inline-start: 0.3rem solid #4f7da1;
	border-radius: 0.8rem;
	background: #fff;
	box-shadow: 0 0.3rem 0.8rem rgb(30 41 59 / 6%);
}

.vdc-dashboard--board .vdc-dashboard__kpi-icon {
	display: inline-grid;
	grid-row: 1 / 3;
	width: 3rem;
	height: 3rem;
	place-items: center;
	border-radius: 0.75rem;
	color: #24547a;
	background: #e8f1f8;
	font-size: 1.45rem;
	font-weight: 700;
}

.vdc-dashboard--board .vdc-dashboard__kpi strong {
	font-size: 1.75rem;
	line-height: 1.1;
}

.vdc-dashboard--board .vdc-dashboard__kpi--compact strong {
	font-size: 1.1rem;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.vdc-dashboard--board .vdc-dashboard__kpi--urgent {
	border-color: #f4c97a;
	border-inline-start-color: #d97706;
	background: #fffbeb;
}

.vdc-dashboard--board .vdc-dashboard__kpi--urgent .vdc-dashboard__kpi-icon {
	color: #92400e;
	background: #fef3c7;
}

.vdc-dashboard--board .vdc-dashboard__watch {
	margin-block-start: 1.5rem;
	padding: 1.35rem;
	border-inline-start: 0.35rem solid #4f7da1;
	border-radius: 1rem;
	box-shadow: 0 0.45rem 1.25rem rgb(30 41 59 / 6%);
}

.vdc-dashboard--board .vdc-dashboard__watch ul {
	display: grid;
	gap: 0.45rem;
	padding-inline-start: 1.2rem;
}

.vdc-dashboard--volunteer {
	--vdc-shell-background: #315c43;
	--vdc-shell-accent: #bbf7d0;
	grid-template-columns: minmax(17rem, 20rem) minmax(0, 1fr);
	gap: 2rem;
}

.vdc-dashboard--volunteer .vdc-dashboard__sidebar {
	padding: 1.5rem;
	border-radius: 1rem;
	box-shadow: 0 0.75rem 2rem rgb(30 41 59 / 12%);
}

.vdc-dashboard--volunteer .vdc-dashboard__identity {
	gap: 0.4rem;
	padding-block-end: 1.25rem;
}

.vdc-dashboard--volunteer .vdc-dashboard__identity strong {
	font-size: 1.25rem;
}

.vdc-dashboard--volunteer .vdc-dashboard__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.5rem 1.5rem;
	margin-block-end: 1.5rem;
}

.vdc-dashboard--volunteer .vdc-dashboard__header > div {
	display: contents;
}

.vdc-dashboard--volunteer .vdc-dashboard__header h2 {
	grid-column: 1;
	margin: 0;
	font-size: clamp(1.6rem, 3vw, 2.15rem);
	line-height: 1.2;
}

.vdc-dashboard--volunteer .vdc-dashboard__header p {
	grid-column: 1 / -1;
	margin: 0.35rem 0 0;
	color: #475569;
	font-size: 1.15rem;
	line-height: 1.4;
}

.vdc-dashboard--volunteer .vdc-dashboard__header time {
	grid-column: 2;
	grid-row: 1;
	padding: 0.55rem 0.75rem;
	border-radius: 0.6rem;
	color: #315c43;
	background: #f0f7f2;
}

.vdc-dashboard.vdc-dashboard--volunteer .vdc-dashboard__main > nav.vdc-dashboard__quick-links {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 1rem;
}

.vdc-dashboard--volunteer .vdc-dashboard__quick-link {
	min-height: 10rem;
	align-content: start;
	gap: 0.55rem;
	padding: 1.25rem;
	border-width: 2px;
	border-radius: 1rem;
	box-shadow: 0 0.5rem 1.25rem rgb(30 41 59 / 8%);
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.vdc-dashboard--volunteer a.vdc-dashboard__quick-link:hover,
.vdc-dashboard--volunteer a.vdc-dashboard__quick-link:focus-visible {
	transform: translateY(-0.2rem);
	box-shadow: 0 0.75rem 1.5rem rgb(30 41 59 / 14%);
}

.vdc-dashboard--volunteer .vdc-dashboard__quick-link strong {
	font-size: 1.15rem;
	line-height: 1.25;
}

.vdc-dashboard--volunteer .vdc-dashboard__quick-icon {
	display: inline-grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	border-radius: 0.8rem;
	background: rgb(255 255 255 / 65%);
	font-size: 1.75rem;
	line-height: 1;
}

.vdc-dashboard--volunteer .vdc-dashboard__section {
	margin-block-start: 1.5rem;
	padding: 1.4rem;
	border-radius: 1rem;
	box-shadow: 0 0.5rem 1.5rem rgb(30 41 59 / 7%);
}

.vdc-dashboard--volunteer .vdc-dashboard__section > h3 {
	margin-block-end: 1rem;
	color: #234632;
	font-size: 1.35rem;
}

.vdc-volunteer-dashboard__primary-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 1rem;
}

.vdc-volunteer-dashboard__secondary-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	gap: 1rem;
}

.vdc-volunteer-dashboard__primary-row > .vdc-dashboard__section,
.vdc-volunteer-dashboard__secondary-grid > .vdc-dashboard__section {
	min-width: 0;
}

.vdc-dashboard--volunteer .vdc-volunteer-dashboard__next {
	border-inline-start: 0.35rem solid #2563eb;
}

.vdc-dashboard--volunteer .vdc-volunteer-dashboard__understaffed {
	border-inline-start: 0.35rem solid #d97706;
}

.vdc-volunteer-dashboard__understaffed-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.vdc-volunteer-dashboard__understaffed-item {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 1.25rem;
	border-radius: 0.75rem;
	background: #fffbeb;
}

.vdc-volunteer-dashboard__understaffed-item .vdc-volunteer-slot {
	display: grid;
	gap: 0.55rem;
}

.vdc-dashboard--volunteer .vdc-volunteer-dashboard__understaffed-item .vdc-volunteer-slot h4 {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

.vdc-volunteer-dashboard__understaffed-item .vdc-volunteer-slot p {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
}

.vdc-volunteer-dashboard__understaffed-item > p:last-child {
	margin-block: auto 0;
	padding-block-start: 0.85rem;
}

.vdc-volunteer-dashboard__understaffed-item > p:last-child a {
	font-size: 14px;
	font-weight: 600;
}

.vdc-dashboard--volunteer .vdc-volunteer-slot {
	min-width: 0;
}

.vdc-dashboard--volunteer .vdc-volunteer-slot h4,
.vdc-volunteer-dashboard__news-content h4 {
	margin-block: 0 0.5rem;
	font-size: 1.1rem;
}

.vdc-dashboard--volunteer .vdc-volunteer-slot p {
	margin-block: 0.4rem;
}

.vdc-volunteer-dashboard__news-card {
	display: grid;
	grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr);
	align-items: stretch;
	gap: 1.25rem;
	padding: 1.25rem;
	border: 1px solid #bfdbfe;
	border-radius: 10px;
	background: #f0f7ff;
}

.vdc-volunteer-dashboard__news-content {
	min-width: 0;
}

.vdc-volunteer-dashboard__news-content h4 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

.vdc-volunteer-dashboard__news-content > p {
	margin-block: 0.5rem;
	font-size: 16px;
	line-height: 1.5;
}

.vdc-volunteer-dashboard__news-content time {
	color: #475569;
	font-size: 15px;
}

.vdc-volunteer-dashboard__news-content a {
	font-size: 14px;
	font-weight: 600;
}

.vdc-volunteer-dashboard__news-image {
	height: 100%;
	min-height: 10rem;
	max-height: 13rem;
}

@media (max-width: 72rem) {
	.vdc-volunteer-dashboard__understaffed-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 64rem) {
	.vdc-planning-my-schedule__section--upcoming,
	.vdc-planning-my-schedule__section--available {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vdc-dashboard--board .vdc-dashboard__quick-links,
	.vdc-dashboard--board .vdc-dashboard__kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vdc-dashboard.vdc-dashboard--volunteer .vdc-dashboard__main > nav.vdc-dashboard__quick-links {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.vdc-volunteer-dashboard__understaffed-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 40rem) {
	.vdc-planning-my-schedule__section--upcoming,
	.vdc-planning-my-schedule__section--available {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 48rem) {
	.vdc-planning-my-schedule__primary-grid,
	.vdc-volunteer-dashboard__primary-row,
	.vdc-volunteer-dashboard__secondary-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.vdc-dashboard {
		display: block;
	}

	.vdc-dashboard__sidebar {
		display: none;
	}

	.vdc-dashboard__mobile-menu {
		display: block;
		margin-block-end: 1rem;
		padding: 0.75rem;
		border-radius: 0.5rem;
		color: #fff;
		background: var(--vdc-shell-background);
	}

	.vdc-dashboard__mobile-menu summary {
		font-weight: 700;
		cursor: pointer;
	}

	.vdc-dashboard__mobile-menu .vdc-dashboard__navigation {
		padding-block-start: 0.5rem;
	}

	.vdc-workspace__back a {
		width: 100%;
	}

	.vdc-dashboard__quick-links,
	.vdc-dashboard__kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vdc-dashboard--board .vdc-dashboard__header {
		grid-template-columns: minmax(0, 1fr);
	}

	.vdc-dashboard--board .vdc-dashboard__header time {
		grid-column: 1;
		grid-row: auto;
		justify-self: start;
		text-align: start;
	}

	.vdc-dashboard.vdc-dashboard--volunteer .vdc-dashboard__main > nav.vdc-dashboard__quick-links {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.vdc-volunteer-dashboard__news-card {
		grid-template-columns: minmax(0, 1fr);
	}

	.vdc-volunteer-dashboard__news-image {
		height: auto;
		max-height: 16rem;
	}

	.vdc-board-planning .vdc-board-planning__lists {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"pending"
			"upcoming";
	}

	.vdc-planning-calendar .vdc-planning-calendar__scroll {
		width: 100%;
		min-width: 0;
		max-width: 100%;
		overflow-x: auto;
	}

	.vdc-planning-calendar .vdc-planning-calendar__scroll > .vdc-planning-calendar__grid {
		width: 735px;
		min-width: 735px;
		max-width: none;
		inline-size: 735px;
		min-inline-size: 735px;
		max-inline-size: none;
		table-layout: fixed;
	}
}

@media (max-width: 40rem) {
	.vdc-dashboard--board .vdc-dashboard__quick-links {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
	}

	.vdc-dashboard--board .vdc-dashboard__kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vdc-volunteer-dashboard__understaffed-list {
		grid-template-columns: minmax(0, 1fr);
	}

	.vdc-dashboard--volunteer .vdc-volunteer-dashboard__understaffed-item .vdc-volunteer-slot h4 {
		font-size: 18px;
	}

	:is(.vdc-board-planning, .vdc-planning-my-schedule, .vdc-volunteer-planning) .vdc-planning-calendar__navigation {
		flex-wrap: wrap;
	}

	:is(.vdc-board-planning, .vdc-planning-my-schedule, .vdc-volunteer-planning) .vdc-planning-calendar__scroll {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: visible;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
	}

	:is(.vdc-board-planning, .vdc-planning-my-schedule, .vdc-volunteer-planning) .vdc-planning-calendar__scroll > .vdc-planning-calendar__grid {
		width: 770px;
		min-width: 770px;
		max-width: none;
		inline-size: 770px;
		min-inline-size: 770px;
		max-inline-size: none;
		table-layout: fixed;
	}

	:is(.vdc-board-planning, .vdc-planning-my-schedule, .vdc-volunteer-planning) .vdc-planning-calendar__event,
	:is(.vdc-board-planning, .vdc-planning-my-schedule, .vdc-volunteer-planning) .vdc-planning-calendar__event-title {
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}

	.vdc-board-planning .vdc-board-planning__panel--upcoming,
	.vdc-board-planning .vdc-board-planning__panel--pending,
	.vdc-board-planning .vdc-board-planning__panel .vdc-board-slot {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
	}

	.vdc-board-planning .vdc-board-planning__panel .vdc-board-slot {
		padding: 1rem;
	}

	.vdc-board-planning .vdc-board-planning__panel .vdc-board-slot h4 {
		font-size: 18px;
		font-weight: 700;
		line-height: 1.3;
	}

	.vdc-board-planning .vdc-board-slot__actions {
		flex-wrap: wrap;
		gap: 0.5rem 0.75rem;
	}
}

@media (max-width: 30rem) {
	.vdc-dashboard__header {
		display: grid;
	}

	.vdc-dashboard__header time {
		text-align: start;
	}

	.vdc-dashboard__quick-links {
		grid-template-columns: minmax(0, 1fr);
	}

	.vdc-dashboard.vdc-dashboard--volunteer .vdc-dashboard__main > nav.vdc-dashboard__quick-links {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.vdc-dashboard--volunteer .vdc-dashboard__header {
		grid-template-columns: minmax(0, 1fr);
	}

	.vdc-dashboard--volunteer .vdc-dashboard__header time {
		grid-column: 1;
		grid-row: auto;
		justify-self: start;
		text-align: start;
	}

	.vdc-board-planning form.vdc-board-form input[type="number"][name="minimum_volunteers"],
	.vdc-board-planning form.vdc-board-form input[type="number"][name="maximum_volunteers"] {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		flex-basis: auto !important;
	}

	.vdc-planning-coverage {
		display: block;
		width: fit-content;
	}

	.vdc-planning-actions,
	.vdc-planning-action,
	.vdc-planning-button {
		width: 100%;
	}
}

.vdc-documents,
.vdc-documents__native {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.vdc-documents--management .vdc-documents__native .wpdm-logout-link {
	display: none;
}

@media (min-width: 64.0625rem) {
	.vdc-documents--management .vdc-documents__native [class*="col-md-"]:has(.wpdm-logout-link) {
		width: 11.5rem;
		min-width: 11.5rem;
		max-width: 11.5rem;
		flex: 0 0 11.5rem;
		padding-inline: 0.5rem;
	}

	.vdc-documents--management .vdc-documents__native [class*="col-md-"]:has(.wpdm-logout-link) + [class*="col-md-"] {
		width: auto;
		min-width: 0;
		max-width: none;
		flex: 1 1 0;
	}
}

@media (max-width: 64rem) {
	.vdc-documents--management .vdc-documents__native .wpdm-dashboard-frame {
		display: flex;
		flex-direction: column;
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.vdc-documents--management .vdc-documents__native .wpdm-sidebar {
		position: static;
		inset: auto;
		width: 100%;
		min-width: 0;
		max-width: none;
		height: auto;
		min-height: 0;
		max-height: none;
		flex: 0 0 auto;
		transform: none;
		overflow: visible;
		border-radius: 0;
		box-shadow: none;
	}

	.vdc-documents--management .vdc-documents__native .wpdm-sidebar-header,
	.vdc-documents--management .vdc-documents__native .wpdm-sidebar-footer,
	.vdc-documents--management .vdc-documents__native .wpdm-mobile-toggle,
	.vdc-documents--management .vdc-documents__native .wpdm-overlay {
		display: none;
	}

	.vdc-documents--management .vdc-documents__native .wpdm-sidebar-nav,
	.vdc-documents--management .vdc-documents__native .wpdm-sidebar-nav .wpdm-nav-group,
	.vdc-documents--management .vdc-documents__native .wpdm-main {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.vdc-documents--management .vdc-documents__native .wpdm-sidebar-nav .wpdm-nav-group {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
		padding: 0.75rem;
	}

	.vdc-documents--management .vdc-documents__native .wpdm-nav-link {
		display: flex;
		min-width: 0;
		min-height: 2.75rem;
		align-items: center;
		padding: 0.625rem 0.75rem;
		white-space: normal;
		overflow-wrap: break-word;
	}
}

@media (max-width: 22rem) {
	.vdc-documents--management .vdc-documents__native .wpdm-sidebar-nav .wpdm-nav-group {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Global visual foundation, scoped to authenticated VDC interfaces. */
.vdc-dashboard .vdc-dashboard__main h2 {
	font-size: clamp(26px, 2.2vw, 30px);
	line-height: 1.2;
}

.vdc-dashboard .vdc-dashboard__main h3 {
	font-size: 22px;
	line-height: 1.3;
}

.vdc-dashboard__main .vdc-badge {
	display: inline-flex;
	max-width: 100%;
	align-items: center;
	padding: 0.25rem 0.55rem;
	border: 1px solid transparent;
	border-radius: 10px;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
}

.vdc-dashboard__main .vdc-filters {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: end;
	gap: 0.75rem;
	max-width: 100%;
	padding: 1rem;
	border: 1px solid #d7dde5;
	border-radius: 10px;
	background: #f8fafc;
}

.vdc-dashboard__main .vdc-filters > * {
	min-width: 0;
}

.vdc-dashboard__main .vdc-table-wrap {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
}

.vdc-dashboard__main .vdc-table {
	width: 100%;
	border-collapse: collapse;
}

.vdc-dashboard__main .vdc-table :where(th, td) {
	padding: 0.75rem 0.7rem;
	border-bottom: 1px solid #d7dde5;
	font-size: 1rem;
	vertical-align: top;
	text-align: left;
}

.vdc-dashboard__main .vdc-table thead th {
	color: #334155;
	background: #f8fafc;
	font-size: 1rem;
	font-weight: 700;
}

.vdc-dashboard__main .vdc-table tbody tr:hover {
	background: #f8fafc;
}

.vdc-dashboard__main .vdc-table td :where(form, a, button) + :where(form, a, button) {
	margin-inline-start: 0.4rem;
}

body.vdc-modal-open {
	overflow: hidden;
}

.vdc-volunteer-planning-modal[hidden] {
	display: none;
}

.vdc-volunteer-planning-modal {
	position: fixed;
	z-index: 100000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 16px;
}

.vdc-volunteer-planning-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgb(15 23 42 / 55%);
}

.vdc-volunteer-planning-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(calc(100vw - 32px), 700px);
	max-height: calc(100dvh - 32px);
	overflow: auto;
	box-sizing: border-box;
	padding: 24px;
	border: 1px solid #d7dde5;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 1.25rem 3rem rgb(15 23 42 / 24%);
}

.vdc-volunteer-planning-modal__dialog:focus-visible {
	outline: 3px solid #2563eb;
	outline-offset: 2px;
}

.vdc-volunteer-planning-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.vdc-volunteer-planning-modal__header h3 {
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
}

.vdc-volunteer-planning-modal__close {
	display: inline-grid;
	width: 44px;
	min-width: 44px;
	height: 44px;
	min-height: 44px;
	place-items: center;
	padding: 0;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	background: #fff;
	color: #334155;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.vdc-volunteer-planning-modal__content,
.vdc-volunteer-planning-modal__content .vdc-volunteer-slot {
	width: 100%;
	min-width: 0;
	max-width: none;
	box-sizing: border-box;
}

.vdc-volunteer-planning-modal__content .vdc-volunteer-slot h4 {
	margin: 0 0 0.9rem;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
}

.vdc-volunteer-planning-modal__content .vdc-volunteer-slot p,
.vdc-volunteer-planning-modal__notice,
.vdc-volunteer-planning-modal__error {
	font-size: 16px;
	line-height: 1.45;
}

.vdc-volunteer-planning-modal__content .vdc-volunteer-slot p {
	margin-block: 8px;
}

.vdc-volunteer-planning-modal__notice:not(:empty),
.vdc-volunteer-planning-modal__error {
	margin: 0 0 1rem;
	padding: 0.75rem;
	border-radius: 10px;
	background: #f1f5f9;
}

.vdc-volunteer-planning-modal__notice--success {
	color: #166534;
	background: #f0fdf4;
}

.vdc-volunteer-planning-modal__notice--error,
.vdc-volunteer-planning-modal__error {
	color: #7f1d1d;
	background: #fff7f7;
}

.vdc-volunteer-planning-modal .vdc-volunteer-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-block-start: 16px;
}

.vdc-volunteer-planning-modal .vdc-volunteer-action button,
.vdc-volunteer-planning-modal__retry {
	width: auto;
	min-height: 44px;
	padding: 8px 14px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 600;
}

.vdc-volunteer-planning-modal .vdc-volunteer-action button[aria-busy="true"] {
	cursor: wait;
	opacity: 0.7;
}

/* Keep internal VDC actions compact, without changing Planning status badges. */
.vdc-dashboard__main :is(
	button,
	input[type="submit"],
	input[type="button"],
	.vdc-button,
	.vdc-planning-button,
	.button,
	.button-primary
) {
	border-radius: 10px;
}

@media (max-width: 64rem) {
	.vdc-dashboard__main .vdc-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 48rem) {
	.vdc-dashboard .vdc-dashboard__main h2 {
		font-size: 26px;
	}

	.vdc-dashboard .vdc-dashboard__main h3 {
		font-size: 20px;
	}
}

@media (max-width: 40rem) {
	.vdc-dashboard__main .vdc-filters {
		grid-template-columns: minmax(0, 1fr);
		padding: 0.75rem;
	}

	.vdc-volunteer-planning-modal {
		align-items: end;
		padding: 16px;
	}

	.vdc-volunteer-planning-modal__dialog {
		width: 100%;
		max-height: calc(100dvh - 32px);
		padding: 18px;
	}

	.vdc-volunteer-planning-modal .vdc-volunteer-action,
	.vdc-volunteer-planning-modal .vdc-volunteer-action button,
	.vdc-volunteer-planning-modal__retry {
		width: 100%;
	}
}
