/* ==========================================================
   CHIRALA RESORTS
   VENDOR DASHBOARD
========================================================== */

:root {
	--crms-dashboard-primary: #0f766e;
	--crms-dashboard-primary-dark: #0b5f59;
	--crms-dashboard-primary-light: #ecfdf5;

	--crms-dashboard-background: #f5f7fa;
	--crms-dashboard-surface: #ffffff;

	--crms-dashboard-text: #172033;
	--crms-dashboard-muted: #667085;
	--crms-dashboard-border: #e4e7ec;

	--crms-dashboard-danger: #c24141;
	--crms-dashboard-danger-light: #fff1f1;

	--crms-dashboard-radius-sm: 10px;
	--crms-dashboard-radius-md: 16px;
	--crms-dashboard-radius-lg: 22px;

	--crms-dashboard-shadow:
		0 14px 40px rgba(15, 23, 42, 0.07);
}

/* ==========================================================
   PAGE
========================================================== */

body.page-vendor-dashboard {
	background: var(--crms-dashboard-background);
}

.page-vendor-dashboard .site-content,
.page-vendor-dashboard .content-area,
.page-vendor-dashboard main.site-main {
	width: 100%;
	max-width: none;
	padding: 0;
}

.crms-vendor-dashboard,
.crms-vendor-dashboard * {
	box-sizing: border-box;
}

.crms-vendor-dashboard {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: 30px;

	width: min(1380px, calc(100% - 40px));
	margin: 42px auto 70px;
	align-items: start;

	font-family: inherit;
	color: var(--crms-dashboard-text);
}

/* ==========================================================
   SIDEBAR
========================================================== */

.crms-vendor-dashboard__sidebar {
	position: sticky;
	top: 24px;

	overflow: hidden;
	background: var(--crms-dashboard-surface);
	border: 1px solid var(--crms-dashboard-border);
	border-radius: var(--crms-dashboard-radius-lg);
	box-shadow: var(--crms-dashboard-shadow);
}

/* Profile */

.crms-vendor-dashboard__profile {
	display: flex;
	align-items: center;
	gap: 14px;

	padding: 24px 22px;
	border-bottom: 1px solid var(--crms-dashboard-border);
}

.crms-vendor-dashboard__avatar {
	width: 54px;
	height: 54px;
	flex: 0 0 54px;
	overflow: hidden;
	border-radius: 50%;
	background: #edf2f7;
}

.crms-vendor-dashboard__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
}

.crms-vendor-dashboard__profile > div:last-child {
	min-width: 0;
}

.crms-vendor-dashboard__profile span {
	display: block;
	margin-bottom: 3px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--crms-dashboard-muted);
}

.crms-vendor-dashboard__profile strong {
	display: block;
	overflow: hidden;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--crms-dashboard-text);
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Navigation */

.crms-vendor-dashboard__navigation {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px;
}

.crms-vendor-dashboard__navigation a {
	display: flex;
	align-items: center;
	gap: 13px;

	min-height: 48px;
	padding: 11px 14px;

	border: 1px solid transparent;
	border-radius: 12px;

	font-size: 15px;
	font-weight: 650;
	line-height: 1.3;
	text-decoration: none;
	color: #344054;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.crms-vendor-dashboard__navigation a span {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 28px;
	height: 28px;
	flex: 0 0 28px;

	border-radius: 8px;
	background: #f2f4f7;

	font-size: 17px;
	line-height: 1;
	color: #475467;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.crms-vendor-dashboard__navigation a:hover {
	background: var(--crms-dashboard-primary-light);
	border-color: #c9eee7;
	color: var(--crms-dashboard-primary-dark);
	transform: translateX(2px);
}

.crms-vendor-dashboard__navigation a:hover span {
	background: #d7f4ee;
	color: var(--crms-dashboard-primary-dark);
}

.crms-vendor-dashboard__navigation a.is-active {
	background: var(--crms-dashboard-primary);
	border-color: var(--crms-dashboard-primary);
	color: #ffffff;
	box-shadow: 0 9px 20px rgba(15, 118, 110, 0.2);
}

.crms-vendor-dashboard__navigation a.is-active span {
	background: rgba(255, 255, 255, 0.16);
	color: #ffffff;
}

/* Sign Out */

.crms-vendor-dashboard__navigation a:last-child {
	margin-top: 12px;
	border-top: 1px solid var(--crms-dashboard-border);
	border-radius: 0 0 12px 12px;
	padding-top: 18px;
	color: var(--crms-dashboard-danger);
}

.crms-vendor-dashboard__navigation a:last-child span {
	background: var(--crms-dashboard-danger-light);
	color: var(--crms-dashboard-danger);
}

.crms-vendor-dashboard__navigation a:last-child:hover {
	background: var(--crms-dashboard-danger-light);
	border-color: transparent;
	color: #9f2f2f;
}

/* ==========================================================
   MAIN CONTENT
========================================================== */

.crms-vendor-dashboard__content {
	min-width: 0;
}

.crms-vendor-dashboard__content h1,
.crms-vendor-dashboard__content h2,
.crms-vendor-dashboard__content h3,
.crms-vendor-dashboard__content p {
	margin-top: 0;
}

.crms-vendor-dashboard__content h1 {
	margin-bottom: 12px;
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 750;
	line-height: 1.15;
	letter-spacing: -0.025em;
	color: var(--crms-dashboard-text);
}

.crms-vendor-dashboard__content h2 {
	font-size: 25px;
	line-height: 1.25;
	color: var(--crms-dashboard-text);
}

.crms-vendor-dashboard__content p {
	font-size: 15px;
	line-height: 1.75;
	color: var(--crms-dashboard-muted);
}

/* ==========================================================
   OVERVIEW
========================================================== */

.crms-dashboard-overview {
	padding: 38px;
	background:
		linear-gradient(
			135deg,
			rgba(236, 253, 245, 0.9),
			rgba(255, 255, 255, 0.98) 45%
		);
	border: 1px solid var(--crms-dashboard-border);
	border-radius: var(--crms-dashboard-radius-lg);
	box-shadow: var(--crms-dashboard-shadow);
}

.crms-dashboard-overview__eyebrow {
	display: inline-flex;
	align-items: center;

	margin-bottom: 15px;
	padding: 7px 12px;

	border: 1px solid #bde8df;
	border-radius: 999px;
	background: var(--crms-dashboard-primary-light);

	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--crms-dashboard-primary-dark);
}

.crms-dashboard-overview > p {
	max-width: 700px;
	margin-bottom: 30px;
	font-size: 16px;
}

.crms-dashboard-overview__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.crms-dashboard-overview__cards a {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;

	min-height: 145px;
	padding: 24px;

	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--crms-dashboard-border);
	border-radius: var(--crms-dashboard-radius-md);

	text-decoration: none;
	color: var(--crms-dashboard-text);

	box-shadow: 0 8px 25px rgba(15, 23, 42, 0.04);

	transition:
		transform 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.crms-dashboard-overview__cards a::after {
	content: "→";
	position: absolute;
	right: 21px;
	bottom: 18px;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 32px;
	height: 32px;

	border-radius: 50%;
	background: var(--crms-dashboard-primary-light);

	font-size: 18px;
	font-weight: 700;
	color: var(--crms-dashboard-primary);
}

.crms-dashboard-overview__cards a:hover {
	transform: translateY(-4px);
	border-color: #a9ddd4;
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.09);
}

.crms-dashboard-overview__cards strong {
	font-size: 19px;
	font-weight: 750;
	line-height: 1.3;
	color: var(--crms-dashboard-text);
}

.crms-dashboard-overview__cards span {
	font-size: 14px;
	line-height: 1.6;
	color: var(--crms-dashboard-muted);
}

/* ==========================================================
   PLACEHOLDER SECTIONS
========================================================== */

.crms-dashboard-placeholder {
	min-height: 270px;
	padding: 38px;

	background: var(--crms-dashboard-surface);
	border: 1px solid var(--crms-dashboard-border);
	border-radius: var(--crms-dashboard-radius-lg);
	box-shadow: var(--crms-dashboard-shadow);
}

.crms-dashboard-placeholder h1 {
	margin-bottom: 10px;
}

/* ==========================================================
   COMMON CONTENT ELEMENTS
========================================================== */

.crms-vendor-dashboard__content section,
.crms-vendor-dashboard__content article {
	max-width: 100%;
}

.crms-vendor-dashboard__content input[type="text"],
.crms-vendor-dashboard__content input[type="email"],
.crms-vendor-dashboard__content input[type="number"],
.crms-vendor-dashboard__content input[type="date"],
.crms-vendor-dashboard__content input[type="password"],
.crms-vendor-dashboard__content input[type="url"],
.crms-vendor-dashboard__content select,
.crms-vendor-dashboard__content textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;

	background: #ffffff;
	border: 1px solid #d0d5dd;
	border-radius: 10px;
	outline: none;

	font-family: inherit;
	font-size: 15px;
	color: var(--crms-dashboard-text);

	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.crms-vendor-dashboard__content textarea {
	min-height: 130px;
	resize: vertical;
}

.crms-vendor-dashboard__content input:focus,
.crms-vendor-dashboard__content select:focus,
.crms-vendor-dashboard__content textarea:focus {
	border-color: var(--crms-dashboard-primary);
	box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.11);
}

.crms-vendor-dashboard__content label {
	display: block;
	margin-bottom: 7px;
	font-size: 14px;
	font-weight: 650;
	color: #344054;
}

/* Buttons */

.crms-vendor-dashboard__content button,
.crms-vendor-dashboard__content input[type="submit"],
.crms-vendor-dashboard__content .button,
.crms-vendor-dashboard__content .crms-button,
.crms-vendor-dashboard__content .crms-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	min-height: 46px;
	padding: 11px 20px;

	border: 1px solid var(--crms-dashboard-primary);
	border-radius: 10px;
	background: var(--crms-dashboard-primary);

	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	color: #ffffff;

	cursor: pointer;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.crms-vendor-dashboard__content button:hover,
.crms-vendor-dashboard__content input[type="submit"]:hover,
.crms-vendor-dashboard__content .button:hover,
.crms-vendor-dashboard__content .crms-button:hover,
.crms-vendor-dashboard__content .crms-btn:hover {
	background: var(--crms-dashboard-primary-dark);
	border-color: var(--crms-dashboard-primary-dark);
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(15, 118, 110, 0.2);
}

/* Tables */

.crms-vendor-dashboard__content table {
	width: 100%;
	overflow: hidden;
	border: 1px solid var(--crms-dashboard-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 14px;
	background: #ffffff;
}

.crms-vendor-dashboard__content th,
.crms-vendor-dashboard__content td {
	padding: 15px 17px;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid var(--crms-dashboard-border);
}

.crms-vendor-dashboard__content th {
	background: #f8fafc;
	font-size: 13px;
	font-weight: 700;
	color: #475467;
}

.crms-vendor-dashboard__content td {
	font-size: 14px;
	color: #344054;
}

.crms-vendor-dashboard__content tr:last-child td {
	border-bottom: 0;
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {

	.crms-vendor-dashboard {
		grid-template-columns: 230px minmax(0, 1fr);
		gap: 22px;
		width: min(100% - 30px, 1200px);
	}

	.crms-dashboard-overview {
		padding: 30px;
	}

	.crms-dashboard-overview__cards {
		grid-template-columns: 1fr;
	}

	.crms-dashboard-overview__cards a {
		min-height: 120px;
	}
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

	.crms-vendor-dashboard {
		display: block;
		width: calc(100% - 24px);
		margin: 20px auto 45px;
	}

	.crms-vendor-dashboard__sidebar {
		position: static;
		margin-bottom: 20px;
		border-radius: 16px;
	}

	.crms-vendor-dashboard__profile {
		padding: 18px;
	}

	.crms-vendor-dashboard__navigation {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		padding: 12px;
	}

	.crms-vendor-dashboard__navigation a {
		min-height: 44px;
		padding: 9px 10px;
		font-size: 13px;
	}

	.crms-vendor-dashboard__navigation a span {
		width: 25px;
		height: 25px;
		flex-basis: 25px;
		font-size: 15px;
	}

	.crms-vendor-dashboard__navigation a:last-child {
		margin-top: 0;
		padding-top: 9px;
		border-top: 1px solid transparent;
		border-radius: 10px;
	}

	.crms-dashboard-overview,
	.crms-dashboard-placeholder {
		padding: 24px 20px;
		border-radius: 16px;
	}

	.crms-dashboard-overview__cards {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.crms-dashboard-overview__cards a {
		min-height: 112px;
		padding: 19px;
	}

	.crms-vendor-dashboard__content h1 {
		font-size: 27px;
	}

	.crms-vendor-dashboard__content table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
}

/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 480px) {

	.crms-vendor-dashboard__navigation {
		grid-template-columns: 1fr;
	}

	.crms-vendor-dashboard__navigation a {
		width: 100%;
	}

	.crms-dashboard-overview,
	.crms-dashboard-placeholder {
		padding: 21px 17px;
	}
}
/* ==========================================================
   HIDE WORDPRESS PAGE TITLE
========================================================== */

body.page-id-0 .entry-header,
body.page-template-default .entry-header:has(+ .entry-content .crms-vendor-dashboard),
body:has(.crms-vendor-dashboard) .entry-header,
body:has(.crms-vendor-dashboard) .entry-title,
body:has(.crms-vendor-dashboard) .page-title {
	display: none !important;
}

/* Remove the empty title-area spacing left by the theme. */

body:has(.crms-vendor-dashboard) .site-content {
	padding-top: 0 !important;
}

body:has(.crms-vendor-dashboard) .crms-vendor-dashboard {
	margin-top: 32px;
}



/* ==========================================================
   VENDOR ROOM AVAILABILITY
========================================================== */

.crms-room-availability,
.crms-room-availability * {
	box-sizing: border-box;
}

.crms-room-availability__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 22px;
	padding: 30px;
	border: 1px solid var(--crms-dashboard-border);
	border-radius: 20px;
	background: linear-gradient(135deg, rgba(236,253,245,.92), #fff 55%);
	box-shadow: var(--crms-dashboard-shadow);
}

.crms-room-availability__back {
	display: inline-flex;
	margin-bottom: 16px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	color: var(--crms-dashboard-primary);
}

.crms-room-availability__eyebrow {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--crms-dashboard-primary);
}

.crms-room-availability__header h1 {
	margin-bottom: 8px;
}

.crms-room-availability__header p {
	margin-bottom: 0;
}

.crms-room-availability__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 8px;
}

.crms-room-availability__legend span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	font-weight: 700;
	color: var(--crms-dashboard-muted);
}

.crms-room-availability__legend i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

.crms-room-availability__legend .is-available {
	background: #12b76a;
}

.crms-room-availability__legend .is-blocked {
	background: #f04438;
}

.crms-room-availability__legend .is-maintenance {
	background: #f79009;
}

.crms-room-availability__notice {
	margin-bottom: 20px;
	padding: 14px 16px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
}

.crms-room-availability__notice.is-success {
	border: 1px solid #abefc6;
	background: #ecfdf3;
	color: #067647;
}

.crms-room-availability__notice.is-error {
	border: 1px solid #fecdca;
	background: #fef3f2;
	color: #b42318;
}

.crms-room-availability__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 22px;
	align-items: start;
}

.crms-availability-calendar,
.crms-availability-editor {
	border: 1px solid var(--crms-dashboard-border);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--crms-dashboard-shadow);
}

.crms-availability-calendar {
	padding: 24px;
}

.crms-availability-calendar__toolbar {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 44px;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
}

.crms-availability-calendar__toolbar h2 {
	margin: 0;
	text-align: center;
	font-size: 23px;
}

.crms-availability-calendar__toolbar a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--crms-dashboard-border);
	border-radius: 12px;
	text-decoration: none;
	color: var(--crms-dashboard-text);
}

.crms-availability-calendar__weekdays,
.crms-availability-calendar__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 8px;
}

.crms-availability-calendar__weekdays {
	margin-bottom: 8px;
}

.crms-availability-calendar__weekdays span {
	padding: 8px 4px;
	text-align: center;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--crms-dashboard-muted);
}

.crms-calendar-day {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	min-height: 84px;
	padding: 10px;
	border: 1px solid var(--crms-dashboard-border);
	border-radius: 12px;
	background: #fff;
	color: var(--crms-dashboard-text);
	cursor: pointer;
}

.crms-calendar-day span {
	font-size: 15px;
	font-weight: 800;
}

.crms-calendar-day small {
	font-size: 10px;
	font-weight: 700;
}

.crms-calendar-day.is-available small {
	color: #067647;
}

.crms-calendar-day.is-blocked {
	border-color: #fecdca;
	background: #fef3f2;
}

.crms-calendar-day.is-blocked small {
	color: #b42318;
}

.crms-calendar-day.is-maintenance {
	border-color: #fedf89;
	background: #fffaeb;
}

.crms-calendar-day.is-maintenance small {
	color: #b54708;
}

.crms-calendar-day.is-selected {
	outline: 3px solid rgba(15,118,110,.24);
	border-color: var(--crms-dashboard-primary);
	transform: translateY(-1px);
}

.crms-calendar-day.is-past {
	opacity: .42;
	cursor: not-allowed;
}

.crms-calendar-day.is-empty {
	border: 0;
	background: transparent;
}

.crms-availability-editor {
	position: sticky;
	top: 24px;
	padding: 24px;
}

.crms-availability-editor h2 {
	margin-bottom: 8px;
	font-size: 22px;
}

.crms-availability-editor > form > p {
	margin-bottom: 20px;
	font-size: 13px;
}

.crms-availability-status-options {
	display: grid;
	gap: 12px;
}

.crms-availability-status-options label {
	margin: 0;
	cursor: pointer;
}

.crms-availability-status-options input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.crms-availability-status-options label > span {
	display: block;
	padding: 14px;
	border: 1px solid var(--crms-dashboard-border);
	border-radius: 12px;
	background: #fff;
}

.crms-availability-status-options strong,
.crms-availability-status-options small {
	display: block;
}

.crms-availability-status-options strong {
	margin-bottom: 3px;
	font-size: 14px;
}

.crms-availability-status-options small {
	font-size: 11px;
	line-height: 1.45;
	color: var(--crms-dashboard-muted);
}

.crms-availability-status-options input:checked + span {
	border-color: var(--crms-dashboard-primary);
	box-shadow: 0 0 0 3px rgba(15,118,110,.11);
}

.crms-availability-editor__save {
	width: 100%;
	margin-top: 18px;
}

.crms-vendor-room-card__availability {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 40px;
	padding: 9px 14px;
	border: 1px solid #b8e5dc;
	border-radius: 9px;
	background: #ecfdf5;
	color: #0b5f59;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.crms-vendor-room-card__availability:hover {
	border-color: #0f766e;
	background: #0f766e;
	color: #fff;
}

@media (max-width: 1050px) {
	.crms-room-availability__layout {
		grid-template-columns: 1fr;
	}

	.crms-availability-editor {
		position: static;
	}
}

@media (max-width: 700px) {
	.crms-room-availability__header {
		flex-direction: column;
		padding: 22px 18px;
	}

	.crms-availability-calendar {
		padding: 14px;
	}

	.crms-availability-calendar__weekdays,
	.crms-availability-calendar__grid {
		gap: 4px;
	}

	.crms-calendar-day {
		min-height: 62px;
		padding: 7px 5px;
	}

	.crms-calendar-day small {
		display: none;
	}

	.crms-availability-editor {
		padding: 20px 17px;
	}
}

/* Availability editor visibility fix */

.crms-room-availability__layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 320px !important;
	gap: 22px !important;
	align-items: start !important;
	width: 100% !important;
}

.crms-availability-editor {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	min-width: 0 !important;
}

.crms-availability-status-options {
	display: grid !important;
	gap: 12px !important;
}

.crms-availability-editor__save {
	display: flex !important;
	width: 100% !important;
	margin-top: 18px !important;
}

@media (max-width: 1050px) {
	.crms-room-availability__layout {
		grid-template-columns: 1fr !important;
	}

	.crms-availability-editor {
		position: static !important;
	}
}

/* ==========================================================
   VENDOR DASHBOARD 2.0 — RESTORE OVERVIEW UI
========================================================== */

.crms-dashboard-overview,
.crms-dashboard-overview * {
	box-sizing: border-box;
}

.crms-dashboard-overview {
	width: 100%;
	min-width: 0;
	padding: 32px;

	background:
		linear-gradient(
			135deg,
			rgba(236, 253, 245, 0.7),
			#ffffff 42%
		);

	border: 1px solid #e4e7ec;
	border-radius: 22px;

	box-shadow:
		0 16px 42px rgba(15, 23, 42, 0.07);
}

/* Header */

.crms-dashboard-overview__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;

	margin-bottom: 28px;
}

.crms-dashboard-overview__header > div:first-child {
	flex: 1;
	min-width: 0;
}

.crms-dashboard-overview__eyebrow {
	display: inline-flex;

	margin-bottom: 11px;
	padding: 7px 12px;

	background: #ecfdf5;
	border: 1px solid #b7e5dc;
	border-radius: 999px;

	color: #0b5f59;
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.crms-dashboard-overview__header h1 {
	margin: 0 0 10px;

	color: #101828;
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.1;
}

.crms-dashboard-overview__header p {
	margin: 0;

	color: #667085;
	font-size: 15px;
	line-height: 1.65;
}

/* Add Resort */

.crms-dashboard-overview__add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;

	min-height: 46px;
	padding: 12px 20px;

	background: #0f766e;
	border: 1px solid #0f766e;
	border-radius: 12px;

	color: #ffffff !important;
	font-size: 14px;
	font-weight: 750;
	text-decoration: none !important;
	white-space: nowrap;

	box-shadow:
		0 10px 24px rgba(15, 118, 110, 0.2);

	transition:
		background-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.crms-dashboard-overview__add:hover {
	background: #0b5f59;
	border-color: #0b5f59;
	color: #ffffff !important;

	transform: translateY(-2px);

	box-shadow:
		0 14px 28px rgba(15, 118, 110, 0.27);
}

/* Statistics */

.crms-dashboard-overview__stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;

	width: 100%;
	margin-bottom: 28px;
}

.crms-dashboard-stat {
	display: flex;
	align-items: flex-start;
	gap: 14px;

	min-width: 0;
	padding: 20px 16px;

	background: #ffffff;
	border: 1px solid #e4e7ec;
	border-radius: 16px;

	color: #172033 !important;
	text-decoration: none !important;

	box-shadow:
		0 8px 22px rgba(15, 23, 42, 0.045);

	transition:
		transform 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.crms-dashboard-stat:hover {
	border-color: #b7ddd7;
	color: #172033 !important;

	transform: translateY(-3px);

	box-shadow:
		0 14px 28px rgba(15, 23, 42, 0.08);
}

.crms-dashboard-stat__icon {
	display: inline-flex;
	flex: 0 0 46px;
	align-items: center;
	justify-content: center;

	width: 46px;
	height: 46px;

	background: #ecfdf5;
	border-radius: 13px;

	color: #0f766e;
	font-size: 19px;
	font-weight: 800;
}

.crms-dashboard-stat__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
}

.crms-dashboard-stat__content small {
	display: block;

	color: #667085;
	font-size: 10px;
	font-weight: 750;
	letter-spacing: 0.07em;
	line-height: 1.4;
	text-transform: uppercase;
}

.crms-dashboard-stat__content strong {
	display: block;

	margin: 5px 0;

	color: #101828;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
}

.crms-dashboard-stat__content em {
	display: block;

	color: #667085;
	font-size: 12px;
	font-style: normal;
	line-height: 1.4;
}

/* Lower panels */

.crms-dashboard-overview__lower {
	display: grid;
	grid-template-columns:
		minmax(0, 1.15fr)
		minmax(280px, 0.85fr);
	gap: 22px;
	align-items: stretch;
}

.crms-dashboard-quick-actions,
.crms-dashboard-activity {
	min-width: 0;
	padding: 26px;

	background: #ffffff;
	border: 1px solid #e4e7ec;
	border-radius: 18px;

	box-shadow:
		0 8px 24px rgba(15, 23, 42, 0.045);
}

/* Section headings */

.crms-dashboard-section-heading {
	margin-bottom: 20px;
}

.crms-dashboard-section-heading > span,
.crms-dashboard-section-heading div > span {
	display: block;

	margin-bottom: 6px;

	color: #0f766e;
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.crms-dashboard-section-heading h2 {
	margin: 0;

	color: #101828;
	font-size: 25px;
	font-weight: 780;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

/* Quick actions */

.crms-dashboard-quick-actions__grid {
	display: grid;
	gap: 14px;
}

.crms-dashboard-quick-actions__grid a {
	display: grid;
	grid-template-columns:
		44px
		minmax(100px, 0.7fr)
		minmax(120px, 1fr);
	align-items: center;
	gap: 14px;

	padding: 16px;

	background: #ffffff;
	border: 1px solid #edf0f3;
	border-radius: 14px;

	color: #172033 !important;
	text-decoration: none !important;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.crms-dashboard-quick-actions__grid a:hover {
	background: #f8fffd;
	border-color: #bce8e1;

	color: #172033 !important;
	transform: translateX(2px);
}

.crms-dashboard-quick-actions__grid a > span {
	display: inline-flex;
	grid-column: 1;
	align-items: center;
	justify-content: center;

	width: 44px;
	height: 44px;

	background: #ecfdf5;
	border-radius: 12px;

	color: #0f766e;
	font-size: 19px;
	font-weight: 700;
}

.crms-dashboard-quick-actions__grid a > strong {
	grid-column: 2;

	margin: 0;

	color: #172033;
	font-size: 16px;
	font-weight: 750;
	line-height: 1.35;
}

.crms-dashboard-quick-actions__grid a > small {
	grid-column: 3;

	color: #667085;
	font-size: 12px;
	line-height: 1.45;
}

/* Recent activity */

.crms-dashboard-activity__list {
	display: grid;
	gap: 12px;
}

.crms-dashboard-activity__list a {
	display: flex;
	align-items: center;
	gap: 13px;

	padding: 15px;

	background: #ffffff;
	border: 1px solid #edf0f3;
	border-radius: 13px;

	color: #172033 !important;
	text-decoration: none !important;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease;
}

.crms-dashboard-activity__list a:hover {
	background: #f8fffd;
	border-color: #bce8e1;
}

.crms-dashboard-activity__icon {
	display: inline-flex;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	background: #ecfdf5;
	border-radius: 11px;

	color: #0f766e;
	font-size: 17px;
}

.crms-dashboard-activity__content {
	flex: 1;
	min-width: 0;
}

.crms-dashboard-activity__content strong {
	display: block;

	margin-bottom: 3px;

	overflow: hidden;

	color: #172033;
	font-size: 14px;
	font-weight: 720;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.crms-dashboard-activity__content small {
	display: block;

	color: #667085;
	font-size: 11px;
}

.crms-dashboard-activity__arrow {
	flex: 0 0 auto;

	color: #0f766e;
	font-size: 17px;
}

/* Empty activity */

.crms-dashboard-activity__empty {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	min-height: 240px;
	padding: 28px 18px;

	color: #667085;
	text-align: center;
}

.crms-dashboard-activity__empty > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 64px;
	height: 64px;
	margin-bottom: 15px;

	background: #ecfdf5;
	border-radius: 50%;

	color: #0f766e;
	font-size: 25px;
}

.crms-dashboard-activity__empty p {
	max-width: 230px;
	margin: 0;

	color: #667085;
	font-size: 13px;
	line-height: 1.6;
}

/* Prevent parent-theme link styles */

.crms-dashboard-overview a,
.crms-dashboard-overview a:hover,
.crms-dashboard-overview a:focus {
	text-decoration: none;
}

/* Responsive */

@media (max-width: 1150px) {

	.crms-dashboard-overview__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.crms-dashboard-overview__lower {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {

	.crms-dashboard-overview {
		padding: 22px 18px;
		border-radius: 18px;
	}

	.crms-dashboard-overview__header {
		flex-direction: column;
	}

	.crms-dashboard-overview__add {
		width: 100%;
	}

	.crms-dashboard-overview__stats {
		grid-template-columns: 1fr;
	}

	.crms-dashboard-quick-actions,
	.crms-dashboard-activity {
		padding: 21px 17px;
	}

	.crms-dashboard-quick-actions__grid a {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.crms-dashboard-quick-actions__grid a > span {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.crms-dashboard-quick-actions__grid a > strong,
	.crms-dashboard-quick-actions__grid a > small {
		grid-column: 2;
	}
}