/**
 * Abientot admin styles.
 *
 * @package Abientot
 * @license GPL-3.0-or-later
 */
.abientot-admin {
	max-width: none;
	color: #131f29;
	--abientot-admin-topbar-height: 82px;
	--abientot-admin-sticky-gap: 20px;
	--abientot-admin-sticky-top: calc(var(--abientot-admin-topbar-height) + var(--abientot-admin-sticky-gap));
	--abientot-admin-accent: #117563;
	--abientot-admin-ink: #131f29;
	--abientot-admin-muted: #5e7274;
	--abientot-admin-line: #e6f8f2;
	--abientot-admin-soft: #f7f8fa;
	--abientot-admin-hover: #f2f4f7;
	--abientot-admin-primary: #117563;
	--abientot-admin-primary-hover: #117563;
	--abientot-admin-edit: #8a4b12;
	--abientot-admin-edit-soft: #fff7ed;
	--abientot-admin-delete: #b4233a;
	--abientot-admin-delete-soft: #fff1f3;
}

.abientot-fullscreen-admin.wp-toolbar {
	padding-top: 0;
}

.abientot-fullscreen-admin #wpadminbar,
.abientot-fullscreen-admin #adminmenumain,
.abientot-fullscreen-admin #wpfooter,
.abientot-fullscreen-admin #screen-meta-links,
.abientot-fullscreen-admin #wpbody-content > .notice,
.abientot-fullscreen-admin #wpbody-content > .updated,
.abientot-fullscreen-admin #wpbody-content > .error {
	display: none !important;
}

.abientot-fullscreen-admin #wpcontent,
.abientot-fullscreen-admin.auto-fold #wpcontent {
	margin-inline: 0;
	padding-inline: 0;
}

.abientot-fullscreen-admin #wpbody-content {
	min-height: 100vh;
	padding-bottom: 0;
	background: #eef2f7;
}

.abientot-fullscreen-admin .abientot-admin::before {
	position: fixed;
	top: var(--abientot-admin-topbar-height);
	left: 0;
	right: 0;
	z-index: 9990;
	height: var(--abientot-admin-sticky-gap);
	background: #eef2f7;
	content: '';
	pointer-events: none;
}

.abientot-fullscreen-admin .abientot-admin {
	box-sizing: border-box;
	min-height: 100vh;
	margin: 0;
	padding: var(--abientot-admin-sticky-top) 20px 20px;
}

.abientot-notification-stack {
	position: fixed;
	top: 20px;
	inset-inline-end: 20px;
	z-index: 100100;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: min(380px, calc(100vw - 40px));
	pointer-events: none;
}

.abientot-notification-stack .abientot-notification {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding-block: 12px 12px;
	padding-inline: 16px 42px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(23, 32, 51, 0.2);
	opacity: 1;
	transform: translateX(0);
	transition:
		opacity 180ms ease,
		transform 180ms ease;
	pointer-events: auto;
}

.abientot-notification-stack .abientot-notification p {
	margin: 0;
}

.abientot-notification-stack .abientot-notification form p {
	margin-top: 10px;
}

.abientot-notification-stack .abientot-notification.is-leaving {
	opacity: 0;
	transform: translateX(24px);
}

@media (max-width: 600px) {
	.abientot-notification-stack {
		top: 12px;
		inset-inline-end: 12px;
		width: calc(100vw - 24px);
	}
}

.abientot-admin-topbar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10000;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	justify-content: space-between;
	min-height: var(--abientot-admin-topbar-height);
	margin: 0;
	padding: 16px 20px;
	border-bottom: 1px solid var(--abientot-admin-line);
	background: #fff;
	box-shadow: 0 6px 20px rgba(23, 32, 51, 0.06);
}

.abientot-admin-page-title {
	min-width: 170px;
}

.abientot-admin-topbar h1 {
	margin: 0;
	padding: 0;
	color: var(--abientot-admin-ink);
	font-size: 24px;
	line-height: 1.2;
}

.abientot-admin-kicker {
	margin: 0 0 3px;
	color: var(--abientot-admin-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.abientot-admin-brand-signature {
	position: absolute;
	left: 50%;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	width: min(48vw, 640px);
	min-width: 0;
	color: var(--abientot-admin-ink);
	pointer-events: none;
	text-rendering: geometricPrecision;
	transform: translate(-50%, -50%);
	-webkit-font-smoothing: antialiased;
}

.abientot-admin-brand-business,
.abientot-admin-brand-endorsement {
	margin: 0;
	white-space: nowrap;
}

.abientot-admin-brand-business {
	min-width: 0;
	max-width: min(30vw, 390px);
	overflow: hidden;
	color: #111827;
	font-size: clamp(18px, 1.7vw, 25px);
	font-weight: 620;
	letter-spacing: -0.022em;
	line-height: 1.08;
	text-overflow: ellipsis;
}

.abientot-admin-brand-divider {
	width: 1px;
	height: 30px;
	flex: 0 0 1px;
	background: rgba(23, 32, 51, 0.13);
}

.abientot-admin-brand-endorsement {
	position: relative;
	color: #55616d;
	font-size: 11px;
	font-weight: 680;
	letter-spacing: 0.105em;
	line-height: 1;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.78);
	text-transform: uppercase;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.abientot-admin-brand-endorsement::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		108deg,
		transparent 0%,
		transparent 43%,
		rgba(225, 232, 238, 0.1) 46%,
		rgba(255, 255, 255, 0.94) 49%,
		rgba(236, 241, 245, 0.42) 51%,
		transparent 55%,
		transparent 100%
	);
	background-position: 135% 50%;
	background-size: 250% 100%;
	content: attr(data-reflection-text);
	pointer-events: none;
	animation: abientotBrandQuietReflection 8.5s cubic-bezier(0.3, 0.08, 0.18, 1) infinite;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

@keyframes abientotBrandQuietReflection {
	0%,
	18% {
		background-position: 135% 50%;
	}
	58%,
	100% {
		background-position: -35% 50%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.abientot-admin-brand-endorsement::after {
		animation: none;
		content: none;
	}
}

.abientot-admin-wp-back {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	min-height: 36px;
	margin: 0 !important;
}

.abientot-admin-wp-back .dashicons {
	width: 18px;
	height: 18px;
	font-size: 18px;
	line-height: 18px;
}

.abientot-admin a:not(.abientot-booking *) {
	color: var(--abientot-admin-ink);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.abientot-admin a:hover:not(.abientot-booking *),
.abientot-admin a:focus:not(.abientot-booking *) {
	color: var(--abientot-admin-primary);
}

.abientot-pro-badge {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 0 8px;
	border: 1px solid #46c8b2;
	border-radius: 999px;
	background: #fff;
	color: #117563 !important;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	vertical-align: middle;
}

.abientot-pro-badge:hover,
.abientot-pro-badge:focus {
	border-color: #117563;
	background: #fff;
	color: #117563 !important;
}

.abientot-pro-feature {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	max-width: 780px;
	margin: 10px 0;
	padding: 14px 16px;
	border: 1px solid #e2e6e9;
	border-inline-start: 4px solid #46c8b2;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(17, 117, 99, 0.08);
}

.abientot-pro-feature h3 {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0 0 5px;
	color: var(--abientot-admin-ink);
	font-size: 14px;
	line-height: 1.35;
}

.abientot-pro-feature p {
	margin: 0;
	color: var(--abientot-admin-muted);
}

.abientot-pro-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.abientot-pro-grid .abientot-pro-feature {
	height: 100%;
	margin: 0;
	box-sizing: border-box;
}

.abientot-pro-note {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 4px 0 16px;
	padding: 8px 10px;
	border: 1px solid #e2e6e9;
	border-radius: 8px;
	background: #fff;
	color: var(--abientot-admin-muted);
}

.abientot-pro-note--field {
	margin: 0;
}

.abientot-admin-nav .abientot-pro-badge {
	min-height: 18px;
	padding: 0 6px;
	font-size: 9px;
}

.abientot-payment-methods-heading h2 {
	margin-bottom: 6px;
}

.abientot-payment-methods-heading p {
	margin: 0;
	color: var(--abientot-admin-muted);
}

.abientot-payment-methods-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 20px;
}

.abientot-payment-method-card {
	min-width: 0;
	padding: 20px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.abientot-payment-method-card--pro {
	background: #fff;
}

.abientot-payment-method-card.is-selected {
	border-color: var(--abientot-admin-primary);
	box-shadow:
		0 0 0 2px rgba(15, 118, 110, 0.12),
		0 8px 24px rgba(15, 23, 42, 0.06);
}

.abientot-payment-method-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
}

.abientot-payment-method-card__header > .dashicons {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: #e4f7f1;
	color: var(--abientot-admin-primary);
	font-size: 22px;
}

.abientot-payment-method-card--pro .abientot-payment-method-card__header > .dashicons {
	background: #fff;
	color: #117563;
}

.abientot-payment-method-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
}

.abientot-payment-method-toggle input {
	margin: 0;
}

.abientot-payment-method-card h3 {
	margin: 0 0 8px;
	font-size: 18px;
}

.abientot-payment-method-card > p {
	margin: 0;
	color: var(--abientot-admin-muted);
}

.abientot-payment-method-details {
	margin: 18px 0 0;
	border-top: 1px solid #cde9e0;
}

.abientot-payment-method-details > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding-top: 10px;
}

.abientot-payment-method-details dt {
	color: var(--abientot-admin-muted);
}

.abientot-payment-method-details dd {
	margin: 0;
	font-weight: 700;
}

.abientot-payment-method-card .abientot-payment-method-card__availability {
	margin-top: 18px;
	padding-top: 12px;
	border-top: 1px solid #e2e6e9;
	color: #117563;
	font-weight: 700;
}

.abientot-tabs [data-abientot-settings-tab='pro'] {
	border-color: #46c8b2;
	background: #fff;
	color: #117563;
	font-weight: 800;
}

.abientot-tabs [data-abientot-settings-tab='pro'].nav-tab-active {
	border-bottom-color: #fff;
	background: #fff;
}

.abientot-settings-panel--pro > h2 {
	color: #117563;
}

.abientot-pro-intro {
	color: var(--abientot-admin-muted);
	font-size: 15px;
}

.abientot-plan-comparison {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 22px;
}

.abientot-plan-card {
	padding: 24px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 14px;
	background: #fff;
}

.abientot-plan-card--pro {
	border: 2px solid #46c8b2;
	background: #fff;
}

.abientot-plan-card h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-size: 22px;
}

.abientot-plan-card ul {
	margin: 20px 0 0;
}

.abientot-plan-card li {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: 0 0 12px;
}

.abientot-plan-card li .dashicons {
	color: var(--abientot-admin-primary);
}

.abientot-plan-card--pro li .dashicons {
	color: #46c8b2;
}

.abientot-pro-cta {
	margin: 24px 0 0;
	text-align: center;
}

.abientot-pro-cta .button-primary {
	border-color: #117563;
	background: #e6f8f2;
}

@media (max-width: 960px) {
	.abientot-payment-methods-grid {
		grid-template-columns: 1fr;
	}

	.abientot-plan-comparison {
		grid-template-columns: 1fr;
	}
}

.abientot-admin .button:not(.abientot-booking *),
.abientot-admin .button-secondary:not(.abientot-booking *) {
	border-color: var(--abientot-admin-line);
	border-radius: 7px;
	background: #fff;
	color: var(--abientot-admin-ink);
	font-weight: 650;
	box-shadow: none;
	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease;
}

.abientot-admin a.button:not(.abientot-booking *),
.abientot-admin button.button:not(.abientot-booking *) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.abientot-admin
	:is(button, input[type='submit'], input[type='button'], input[type='reset'], a.button, a.abientot-action-button) {
	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease,
		filter 160ms ease;
}

.abientot-admin
	:is(button, input[type='submit'], input[type='button'], input[type='reset'], a.button, a.abientot-action-button):not(
		:disabled
	):not([aria-disabled='true']):hover {
	filter: brightness(1.025);
}

.abientot-admin .button:hover:not(.abientot-booking *),
.abientot-admin .button:focus:not(.abientot-booking *),
.abientot-admin .button-secondary:hover:not(.abientot-booking *),
.abientot-admin .button-secondary:focus:not(.abientot-booking *) {
	border-color: #c5cfdd;
	background: var(--abientot-admin-hover);
	color: var(--abientot-admin-ink);
	box-shadow: none;
}

.abientot-admin .button-primary:not(.abientot-booking *),
.abientot-admin .button-primary:hover:not(.abientot-booking *),
.abientot-admin .button-primary:focus:not(.abientot-booking *),
.abientot-admin input[type='submit'].button-primary:not(.abientot-booking *),
.abientot-admin input[type='submit'].button-primary:hover:not(.abientot-booking *),
.abientot-admin input[type='submit'].button-primary:focus:not(.abientot-booking *) {
	border-color: var(--abientot-admin-primary);
	background: var(--abientot-admin-primary);
	color: #fff;
	box-shadow: none;
	text-shadow: none;
}

.abientot-admin .button-primary:hover:not(.abientot-booking *),
.abientot-admin .button-primary:focus:not(.abientot-booking *),
.abientot-admin input[type='submit'].button-primary:hover:not(.abientot-booking *),
.abientot-admin input[type='submit'].button-primary:focus:not(.abientot-booking *) {
	border-color: var(--abientot-admin-primary-hover);
	background: var(--abientot-admin-primary-hover);
}

.abientot-admin .button-primary:disabled:not(.abientot-booking *),
.abientot-admin .button-primary.disabled:not(.abientot-booking *),
.abientot-admin .button-primary[disabled]:not(.abientot-booking *) {
	border-color: #cbd5e1 !important;
	background: #e2e8f0 !important;
	color: #5e7274 !important;
}

.abientot-admin input[type='text']:focus:not(.abientot-booking *),
.abientot-admin input[type='email']:focus:not(.abientot-booking *),
.abientot-admin input[type='number']:focus:not(.abientot-booking *),
.abientot-admin input[type='search']:focus:not(.abientot-booking *),
.abientot-admin input[type='tel']:focus:not(.abientot-booking *),
.abientot-admin input[type='url']:focus:not(.abientot-booking *),
.abientot-admin input[type='date']:focus:not(.abientot-booking *),
.abientot-admin input[type='time']:focus:not(.abientot-booking *),
.abientot-admin textarea:focus:not(.abientot-booking *),
.abientot-admin select:focus:not(.abientot-booking *) {
	border-color: var(--abientot-admin-ink);
	box-shadow: 0 0 0 1px var(--abientot-admin-ink);
	outline: 2px solid transparent;
}

.abientot-admin
	:is(
		input[type='text'],
		input[type='email'],
		input[type='number'],
		input[type='search'],
		input[type='tel'],
		input[type='url'],
		input[type='date'],
		input[type='time'],
		textarea,
		select
	):not(.abientot-booking *) {
	border-radius: 7px;
}

.abientot-admin-layout {
	display: grid;
	grid-template-columns: 232px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

.abientot-admin-sidebar {
	position: sticky;
	top: var(--abientot-admin-sticky-top);
	z-index: 5;
	padding: 10px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 16px 38px rgba(23, 32, 51, 0.08);
}

.abientot-admin-nav {
	display: grid;
	gap: 6px;
	margin: 8px 0 0;
}

.abientot-admin-nav a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	padding: 0 11px;
	border: 1px solid transparent;
	border-radius: 7px;
	background: transparent;
	color: var(--abientot-admin-ink);
	text-decoration: none;
	font-weight: 650;
}

.abientot-admin-nav .dashicons,
.abientot-admin-nav-toggle .dashicons {
	width: 20px;
	height: 20px;
	font-size: 20px;
	line-height: 20px;
	color: currentColor;
}

.abientot-admin-nav a:focus,
.abientot-admin-nav a:focus-visible,
.abientot-admin-nav a:hover,
.abientot-admin-nav a.is-active {
	border-color: var(--abientot-admin-line);
	background: var(--abientot-admin-hover);
	color: var(--abientot-admin-ink);
	box-shadow: none;
}

.abientot-admin-nav a.is-active {
	border-color: var(--abientot-admin-ink);
	background: var(--abientot-admin-ink);
	color: #fff;
}

.abientot-admin-nav a.is-active .dashicons {
	color: #fff;
}

.abientot-admin-nav-toggle {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 36px;
	border-color: var(--abientot-admin-line) !important;
	border-radius: 7px !important;
	color: var(--abientot-admin-ink) !important;
	font-weight: 650;
}

.abientot-admin-nav-toggle:hover,
.abientot-admin-nav-toggle:focus {
	border-color: var(--abientot-admin-ink) !important;
	background: var(--abientot-admin-hover) !important;
	color: var(--abientot-admin-ink) !important;
	box-shadow: none !important;
}

.abientot-admin-nav-toggle .dashicons {
	color: currentColor !important;
}

.abientot-admin-sidebar.is-collapsed {
	width: 58px;
}

.abientot-admin-sidebar.is-collapsed .abientot-nav-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.abientot-admin-sidebar.is-collapsed .abientot-admin-nav a {
	justify-content: center;
	padding-inline-end: 0;
	padding-inline-start: 0;
}

.abientot-panel {
	box-sizing: border-box;
	margin-bottom: 16px;
	padding: 18px 20px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(23, 32, 51, 0.06);
}

.abientot-panel *,
.abientot-panel *::before,
.abientot-panel *::after {
	box-sizing: border-box;
}

.abientot-wide-panel {
	max-width: none;
}

.abientot-panel h2 {
	margin-top: 0;
	color: var(--abientot-admin-ink);
}

.abientot-panel .form-table,
.abientot-panel .form-table tbody,
.abientot-panel .form-table tr,
.abientot-panel .form-table th,
.abientot-panel .form-table td {
	max-width: 100%;
}

.abientot-panel .regular-text,
.abientot-panel .large-text,
.abientot-panel input[type='url'],
.abientot-panel input[type='email'],
.abientot-panel input[type='text'],
.abientot-panel textarea,
.abientot-panel select {
	max-width: 100%;
}

.abientot-panel
	.form-table
	td
	> :is(input[type='text'], input[type='email'], input[type='tel'], input[type='url'], select) {
	box-sizing: border-box;
	width: min(100%, 470px);
	max-width: 470px;
}

.abientot-panel .form-table td > input[type='number'] {
	box-sizing: border-box;
	width: min(100%, 120px);
	max-width: 120px;
}

.abientot-panel .form-table td > textarea {
	box-sizing: border-box;
	width: min(100%, 680px);
	max-width: 680px;
}

.abientot-business-profile-layout {
	display: grid;
	grid-template-columns: minmax(360px, 0.85fr) minmax(650px, 1.15fr);
	gap: 28px;
	align-items: start;
}

.abientot-business-profile-fields,
.abientot-business-schedule {
	min-width: 0;
}

.abientot-business-profile-fields .form-table {
	margin-top: 0;
}

.abientot-business-profile-fields .form-table td > textarea,
.abientot-business-profile-fields .abientot-media-field {
	box-sizing: border-box;
	width: min(100%, 470px);
	max-width: 470px;
}

.abientot-business-schedule h2 {
	margin-bottom: 12px;
}

.abientot-schedule-table {
	min-width: 620px;
}

.abientot-business-schedule {
	overflow-x: auto;
}

@media (max-width: 1320px) {
	.abientot-business-profile-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

.abientot-date-picker {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 38px;
	gap: 8px;
	align-items: center;
	max-width: 320px;
}

.abientot-date-picker input[type='text'] {
	width: 100%;
	min-width: 0;
}

.abientot-native-date-picker {
	position: absolute;
	inset-inline-end: 0;
	bottom: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.abientot-date-picker-button {
	width: 38px;
	min-width: 38px;
	height: 38px;
	padding: 0 !important;
}

.abientot-date-picker-button .dashicons {
	width: 18px;
	height: 18px;
	font-size: 18px;
	line-height: 18px;
}

.abientot-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0 0 12px;
	padding: 6px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(23, 32, 51, 0.05);
}

.abientot-tabs .nav-tab {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid transparent;
	border-radius: 7px;
	background: transparent;
	color: var(--abientot-admin-ink);
	font-size: 13px;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: none;
}

.abientot-tabs .nav-tab:hover,
.abientot-tabs .nav-tab:focus {
	border-color: #c5cfdd;
	background: var(--abientot-admin-soft);
	color: var(--abientot-admin-ink);
	box-shadow: none;
}

.abientot-tabs .nav-tab.nav-tab-active,
.abientot-tabs .nav-tab[aria-current='page'] {
	border-color: var(--abientot-admin-ink);
	background: var(--abientot-admin-ink);
	color: #fff;
}

.abientot-grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
	gap: 16px;
	align-items: start;
}

.abientot-services-layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
	gap: 16px;
	align-items: stretch;
}

.abientot-services-layout > .abientot-grid {
	display: contents;
}

.abientot-services-layout > .abientot-panel:not(.abientot-services-list-panel) {
	grid-column: 1 / -1;
}

.abientot-services-list-panel {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	height: 100%;
	margin-bottom: 0;
	overflow-x: auto;
}

.abientot-service-categories-panel {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	height: 100%;
	margin-bottom: 0;
}

.abientot-service-editor-panel {
	grid-column: 1 / -1;
	min-width: 0;
}

.abientot-service-form-sections {
	display: grid;
	grid-template-columns: minmax(300px, 1.15fr) repeat(2, minmax(260px, 1fr));
	gap: 0;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 10px;
	background: var(--abientot-admin-soft);
	overflow: hidden;
}

.abientot-service-form-section {
	min-width: 0;
	padding: 18px 20px;
	border-inline-start: 1px solid var(--abientot-admin-line);
}

.abientot-service-form-section:first-child {
	border-inline-start: 0;
}

.abientot-service-form-section h3 {
	margin: 0 0 8px;
	font-size: 14px;
}

.abientot-service-form-section .form-table {
	margin: 0;
}

.abientot-price-field {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.abientot-price-field strong {
	color: var(--abientot-admin-muted);
	font-size: 12px;
	letter-spacing: 0.04em;
}

.abientot-service-identity {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding-block: 6px 6px;
	padding-inline: 10px 12px;
	border: 1px solid var(--abientot-admin-line, #dce9e5);
	border-radius: 8px;
	background: #fff;
}

.abientot-service-identity__swatch {
	align-self: stretch;
	width: 4px;
	margin-inline-end: 10px;
	border-radius: 999px;
	background: var(--abientot-service-accent);
}

@media (max-width: 1180px) {
	.abientot-service-form-sections {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.abientot-service-form-section:first-child {
		grid-column: 1 / -1;
		border-bottom: 1px solid var(--abientot-admin-line);
	}

	.abientot-service-form-section:nth-child(2) {
		border-inline-start: 0;
	}
}

@media (max-width: 860px) {
	.abientot-services-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.abientot-services-list-panel,
	.abientot-service-categories-panel,
	.abientot-service-editor-panel,
	.abientot-services-layout > .abientot-panel:not(.abientot-services-list-panel) {
		grid-column: 1;
		grid-row: auto;
	}

	.abientot-service-categories-panel {
		grid-row: 2;
	}
}

@media (max-width: 620px) {
	.abientot-service-form-sections {
		grid-template-columns: minmax(0, 1fr);
	}

	.abientot-service-form-section:first-child {
		grid-column: auto;
	}

	.abientot-service-form-section,
	.abientot-service-form-section:nth-child(2) {
		border-inline-start: 0;
		border-bottom: 1px solid var(--abientot-admin-line);
	}

	.abientot-service-form-section:last-child {
		border-bottom: 0;
	}
}

.abientot-form-editor {
	display: grid;
	grid-template-columns: minmax(380px, 0.82fr) minmax(520px, 1.18fr);
	gap: 24px;
	align-items: start;
}

.abientot-form-editor__settings {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.abientot-form-editor__preview {
	position: sticky;
	top: 18px;
	display: grid;
	gap: 16px;
}

.abientot-form-publish {
	order: 2;
	align-self: start;
}

.abientot-form-settings__intro {
	margin: -4px -4px 18px;
	padding: 4px 4px 18px;
	border-bottom: 1px solid var(--abientot-admin-line);
}

.abientot-form-settings__intro h2,
.abientot-form-preview-header h2 {
	margin: 3px 0 4px;
	font-size: 20px;
}

.abientot-form-settings__intro p {
	margin: 0;
	color: var(--abientot-admin-muted);
}

.abientot-eyebrow {
	color: var(--abientot-admin-muted);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.abientot-form-sections,
.abientot-form-subsections {
	display: grid;
	gap: 14px;
}

.abientot-form-section {
	overflow: hidden;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 12px;
	background: #fff;
}

.abientot-form-section:first-child {
	padding-top: 0;
}

.abientot-form-section h3,
.abientot-form-subsection h4 {
	margin: 0;
	color: var(--abientot-admin-ink);
}

.abientot-form-accordion-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 58px;
	padding: 13px 14px;
	cursor: pointer;
	font-weight: 700;
	list-style: none;
}

.abientot-form-accordion-summary > span:nth-child(2) {
	display: grid;
	flex: 1;
	gap: 2px;
}

.abientot-form-accordion-summary small {
	color: var(--abientot-admin-muted);
	font-size: 12px;
	font-weight: 500;
}

.abientot-form-section__number {
	display: grid;
	flex: 0 0 28px;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--abientot-admin-soft);
	color: var(--abientot-admin-ink);
	font-size: 12px;
}

.abientot-form-section[open] > .abientot-form-accordion-summary .abientot-form-section__number {
	background: var(--abientot-admin-ink);
	color: #fff;
}

.abientot-form-accordion-summary::-webkit-details-marker {
	display: none;
}

.abientot-form-accordion-summary::after {
	content: '+';
	color: var(--abientot-admin-accent);
	font-size: 18px;
	font-weight: 700;
}

.abientot-form-section[open] > .abientot-form-accordion-summary::after,
.abientot-form-subsection[open] > .abientot-form-accordion-summary::after {
	content: '-';
}

.abientot-form-accordion-summary:hover,
.abientot-form-accordion-summary:focus {
	background: var(--abientot-admin-hover);
	outline: none;
}

.abientot-form-section > .abientot-form-accordion-body {
	padding: 0 12px 12px;
	border-top: 1px solid var(--abientot-admin-line);
}

.abientot-form-subsection {
	padding: 0;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: var(--abientot-admin-soft);
}

.abientot-form-subsection > .abientot-form-accordion-body {
	padding: 0 12px 12px;
	border-top: 1px solid var(--abientot-admin-line);
}

.abientot-form-subsection .form-table th,
.abientot-form-subsection .form-table td {
	padding-top: 8px;
	padding-bottom: 8px;
}

.abientot-form-fields-builder {
	display: grid;
	gap: 8px;
	margin-top: 12px;
}

.abientot-form-field-row {
	display: grid;
	grid-template-columns: minmax(120px, 1.2fr) minmax(110px, 0.9fr) minmax(96px, 0.7fr) auto;
	gap: 8px;
	align-items: center;
	padding: 8px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: #fff;
}

.abientot-form-field-row--head {
	padding: 0 8px;
	border: 0;
	background: transparent;
	color: var(--abientot-admin-muted);
	font-size: 12px;
	font-weight: 700;
}

.abientot-form-field-row input[type='text'],
.abientot-form-field-row select {
	width: 100%;
}

.abientot-form-field-required {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	margin: 0;
	white-space: nowrap;
}

.abientot-compact-form-table th {
	width: 170px;
}

.abientot-control-stack {
	display: grid;
	gap: 8px;
}

.abientot-form-preview-stage {
	position: relative;
	display: flex;
	justify-content: center;
	min-height: 520px;
	padding: 32px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	/* Transparency checkerboard: visible through the form at lower "Background visibility". */
	background: repeating-conic-gradient(#d5dbe3 0 25%, #fff 0 50%) 0 0 / 20px 20px;
}

.abientot-form-preview-stage.is-mobile .abientot-booking {
	width: 390px;
	max-width: 100%;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__surface {
	padding: 20px 16px !important;
	border-inline-end-width: 0 !important;
	border-inline-start-width: 0 !important;
	border-radius: 0 !important;
	box-shadow: none;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__steps {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 22px 0;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__steps li {
	padding-inline-end: 2px;
	padding-inline-start: 2px;
	font-size: 11px;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__fields {
	grid-template-columns: 1fr;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__actions {
	flex-direction: column-reverse;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__actions button {
	width: 100%;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__service-layout {
	display: block;
}

.abientot-form-preview-stage.is-mobile .abientot-booking.has-service-selection .abientot-booking__service-layout {
	display: block;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__selection {
	display: grid;
	grid-template-columns: minmax(138px, 1fr) auto;
	grid-template-rows: auto auto;
	column-gap: 10px;
	align-items: center;
	padding: 12px 16px;
}

.abientot-form-preview-stage.is-mobile .abientot-booking.is-selection-docked .abientot-booking__surface {
	padding-bottom: 112px !important;
}

.abientot-form-preview-stage.is-mobile .abientot-booking.is-selection-docked .abientot-booking__selection {
	position: absolute;
	z-index: 20;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	border-width: 1px 0 0;
	border-radius: 0;
	box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.18);
}

.abientot-form-preview-stage.is-mobile .abientot-booking__selection-name {
	grid-column: 1;
	grid-row: 1;
	overflow: hidden;
	margin: 0;
	font-size: 14px;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__selection dl {
	grid-column: 1;
	grid-row: 2;
	display: flex;
	gap: 8px;
	margin: 3px 0 0;
	font-size: 13px;
	white-space: nowrap;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__selection dl > div {
	display: flex;
	padding: 0;
	border: 0;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__selection dl > div:nth-child(2)::before {
	content: '\00b7';
	margin-inline-end: 8px;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__selection dl > div:nth-child(3),
.abientot-form-preview-stage.is-mobile .abientot-booking__selection dt {
	display: none;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__actions--service {
	grid-column: 2;
	grid-row: 1 / 3;
	margin: 0;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__actions--service button {
	width: auto;
	padding-inline-end: 12px;
	padding-inline-start: 12px;
	font-size: 14px;
	white-space: nowrap;
}

.abientot-form-preview-stage.is-mobile .abientot-booking__panel[data-step='2'] > .abientot-booking__actions {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
	padding: 12px;
	border: 1px solid var(--abientot-border);
	background: rgb(var(--abientot-surface-rgb));
}

.abientot-form-preview-stage.is-mobile
	.abientot-booking.is-step-actions-docked
	.abientot-booking__panel[data-step='2']
	> .abientot-booking__actions {
	position: absolute;
	z-index: 20;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	border-width: 1px 0 0;
	border-radius: 0;
	box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.18);
}

.abientot-form-preview-stage.is-mobile .abientot-booking__slots {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.abientot-form-preview-stage .abientot-booking {
	max-width: 100%;
}

.abientot-form-preview-stage .abientot-booking__surface {
	margin: 0 auto;
}

.abientot-form-preview-stage .abientot-booking {
	color: var(--abientot-text);
	font-size: 16px;
	line-height: 1.5;
}

.abientot-form-preview-stage .abientot-booking,
.abientot-form-preview-stage .abientot-booking * {
	letter-spacing: 0;
	text-transform: none;
}

.abientot-form-preview-stage .abientot-booking__header h2,
.abientot-form-preview-stage .abientot-booking__confirmation h2 {
	margin-block: 0 8px;
	margin-inline: 0 44px;
	color: var(--abientot-text);
	font-size: clamp(25px, 4vw, 34px);
	line-height: 1.25;
	font-weight: 700;
}

.abientot-form-preview-stage .abientot-booking__confirmation h2 {
	margin: 0 0 8px;
}

.abientot-form-preview-stage .abientot-booking__confirmation p {
	margin: 0 0 14px;
	color: var(--abientot-muted);
	font-size: inherit;
	line-height: inherit;
}

.abientot-form-preview-stage .abientot-booking__header p,
.abientot-form-preview-stage .abientot-booking small,
.abientot-form-preview-stage .abientot-booking em {
	color: var(--abientot-muted);
	font-size: inherit;
	line-height: inherit;
}

.abientot-form-preview-stage .abientot-booking label {
	display: grid;
	gap: 6px;
	margin: 0;
	font-size: inherit;
	font-weight: 700;
	line-height: inherit;
}

.abientot-form-preview-stage .abientot-booking input,
.abientot-form-preview-stage .abientot-booking textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 42px;
	margin: 0;
	padding: 9px 10px;
	border: var(--abientot-field-border-width) solid var(--abientot-field-border-color);
	border-radius: var(--abientot-field-radius);
	background: var(--abientot-field-background-color);
	color: var(--abientot-field-text-color);
	font: inherit;
	font-weight: 400;
	box-shadow: none;
}

.abientot-form-preview-stage [hidden] {
	display: none !important;
}

.abientot-form-preview-stage .abientot-service-category:not([open]) > [data-abientot-preview-category-services] {
	display: none !important;
}

.abientot-form-preview-stage .abientot-booking input[type='radio'],
.abientot-form-preview-stage .abientot-booking input[type='checkbox'] {
	appearance: auto !important;
	-webkit-appearance: auto !important;
	flex: 0 0 auto !important;
	display: inline-block !important;
	width: 13px !important;
	min-width: 13px !important;
	max-width: 13px !important;
	height: 13px !important;
	min-height: 13px !important;
	max-height: 13px !important;
	margin: 4px 0 0 !important;
	padding: 0 !important;
	border: initial !important;
	border-radius: initial !important;
	background: initial !important;
	box-shadow: none !important;
	accent-color: var(--abientot-primary);
}

.abientot-form-preview-stage .abientot-booking .abientot-service-card > input[type='radio'] {
	justify-self: center !important;
	margin: 0 0 2px !important;
}

.abientot-form-preview-stage [data-abientot-preview-step-label] {
	cursor: pointer;
}

.abientot-form-preview-stage .abientot-booking--popup .abientot-booking__surface {
	position: relative;
	inset: auto;
	width: min(720px, 100%);
	max-height: none;
	box-shadow: 0 18px 44px rgba(15, 23, 42, 0.18);
}

.abientot-form-preview-stage .abientot-booking__close {
	position: absolute;
}

.abientot-preview-switcher {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 10px 0 14px;
}

.abientot-form-preview-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.abientot-preview-device-switcher {
	display: inline-flex;
	gap: 3px;
	padding: 3px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 9px;
	background: var(--abientot-admin-soft);
}

.abientot-admin .abientot-preview-device-switcher .button {
	min-height: 30px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--abientot-admin-muted);
	font-size: 12px;
	box-shadow: none;
}

.abientot-admin .abientot-preview-device-switcher .button.is-active {
	background: #fff;
	color: var(--abientot-admin-ink);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
}

.abientot-admin .abientot-preview-switcher .button {
	min-height: 34px;
	border-color: var(--abientot-admin-line);
	border-radius: 7px;
	background: #fff;
	color: var(--abientot-admin-ink);
	font-weight: 650;
	box-shadow: none;
}

.abientot-admin .abientot-preview-switcher .button:hover,
.abientot-admin .abientot-preview-switcher .button:focus {
	border-color: #c5cfdd;
	background: var(--abientot-admin-soft);
	color: var(--abientot-admin-ink);
	box-shadow: none;
}

.abientot-admin .abientot-preview-switcher .button.is-active {
	border-color: var(--abientot-admin-ink);
	background: var(--abientot-admin-ink);
	color: #fff;
}

.abientot-preview-ungrouped-services {
	display: grid;
	gap: 12px;
}

.abientot-form-preview-stage .abientot-booking__map.is-disabled {
	opacity: 0.46;
}

.abientot-form-preview-stage .abientot-booking__map.is-disabled::after {
	content: 'Map display is disabled';
	display: block;
	color: var(--abientot-muted);
	font-size: 12px;
}

.abientot-form-settings input[type='range'] {
	width: min(320px, 100%);
	vertical-align: middle;
}

.abientot-form-settings .form-table td {
	padding-inline-end: 0;
}

.abientot-closed-days-calendar {
	display: grid;
	grid-template-columns: repeat(7, minmax(42px, 1fr));
	gap: 6px;
	margin: 16px 0;
}

.abientot-calendar-month-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
	margin: 12px 0;
	padding: 10px 12px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: var(--abientot-admin-soft);
}

.abientot-calendar-month-nav strong {
	color: var(--abientot-admin-ink);
	font-size: 15px;
}

.abientot-calendar-weekday {
	padding: 4px 2px;
	color: var(--abientot-admin-muted);
	font-size: 11px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
}

.abientot-closed-days-calendar button {
	display: grid;
	gap: 2px;
	min-height: 68px;
	padding: 7px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: #fff;
	color: var(--abientot-admin-ink);
	cursor: pointer;
	text-align: center;
	touch-action: none;
	user-select: none;
}

.abientot-closed-days-calendar button.is-outside-month {
	background: #f8fafc;
	color: #8a98aa;
}

.abientot-closed-days-calendar strong {
	font-size: 18px;
	line-height: 1;
}

.abientot-closed-days-calendar small {
	color: var(--abientot-admin-muted);
}

.abientot-day-bookings {
	display: inline-flex;
	justify-content: center;
	width: 100%;
	color: #7c2d12;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
}

.abientot-closed-days-calendar button:hover,
.abientot-closed-days-calendar button:focus {
	border-color: #bfebdf;
	background: #fff1f6;
	color: #9d174d;
	box-shadow: inset 0 0 0 1px #e6f8f2;
}

.abientot-closed-days-calendar .is-saved {
	border-color: #cbd5e1;
	background: #f1f5f9;
	color: #475569;
	box-shadow: inset 0 0 0 1px #e2e8f0;
}

.abientot-closed-days-calendar .is-eligible {
	border-color: #86efac;
	background: #ecfdf3;
	color: #166534;
	box-shadow: inset 0 0 0 1px #bbf7d0;
}

.abientot-closed-days-calendar .is-pending,
.abientot-closed-days-calendar .is-conflicting {
	border-color: #bfebdf;
	background: #fff1f6;
	color: #9d174d;
	box-shadow: inset 0 0 0 1px #e6f8f2;
}

.abientot-closed-days-calendar .is-saved .abientot-day-bookings {
	color: #475569;
}

.abientot-closed-days-calendar .is-eligible .abientot-day-bookings {
	color: #166534;
}

.abientot-closed-days-calendar .is-conflicting .abientot-day-bookings {
	color: #9d174d;
}

.abientot-calendar-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 10px;
}

.abientot-calendar-actions .submit {
	margin: 0;
	padding: 0;
}

.abientot-closure-conflicts {
	margin: 0 0 14px;
	padding: 10px 12px;
}

.abientot-schedule-override-table {
	margin-top: 8px;
}

.abientot-schedule-toggle-row {
	margin: 12px 0 0;
}

.abientot-time-off-periods {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--abientot-admin-line);
}

.abientot-time-off-periods h3 {
	margin-top: 0;
}

.abientot-period-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 8px;
	margin: 0;
}

.abientot-period-list li {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: space-between;
	min-width: 0;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid #e2e6e9;
	border-radius: 8px;
	background: #fff1f6;
	color: #9d174d;
}

.abientot-period-list li > div {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.abientot-period-list strong {
	overflow-wrap: anywhere;
}

.abientot-period-list span {
	color: #5e7274;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.abientot-week-picker {
	display: grid;
	gap: 10px;
	margin: 12px 0 16px;
}

.abientot-week-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 8px;
}

.abientot-week-list a {
	display: grid;
	gap: 3px;
	padding: 10px 12px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: #fff;
	color: var(--abientot-admin-ink);
	text-decoration: none;
}

.abientot-week-list a:hover,
.abientot-week-list a:focus,
.abientot-week-list a.is-active {
	border-color: var(--abientot-admin-ink);
	background: var(--abientot-admin-hover);
	color: var(--abientot-admin-ink);
	box-shadow: none;
}

.abientot-week-list span {
	color: var(--abientot-admin-muted);
	font-size: 12px;
}

.abientot-inline-form {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr) auto;
	gap: 8px;
	align-items: center;
	margin-bottom: 14px;
}

.abientot-inline-form .button {
	margin: 0;
}

.abientot-inline-form input[name='category_name'] {
	width: 100%;
}

.abientot-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.abientot-filters .button {
	margin: 0;
}

.abientot-filter-field {
	display: grid;
	gap: 5px;
	min-width: 0;
	margin: 0;
	color: var(--abientot-admin-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.abientot-filter-field :is(input, select) {
	font-size: 13px;
	font-weight: 400;
	text-transform: none;
}

.abientot-bookings-filters,
.abientot-calendar-tools .abientot-filters,
.abientot-customers-toolbar .abientot-filters {
	align-items: end;
}

.abientot-panel-heading {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.abientot-panel-heading h2 {
	margin: 0;
}

.abientot-panel-actions,
.abientot-calendar-jump {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.abientot-bookings-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	align-items: stretch;
}

.abientot-bookings-layout > [data-abientot-bookings-panel] {
	position: sticky;
	top: 32px;
	z-index: 1;
}

[data-abientot-bookings-list] {
	max-width: 100%;
	overflow-x: auto;
	padding-bottom: 2px;
}

.abientot-bookings-toolbar {
	position: sticky;
	top: var(--abientot-admin-sticky-top);
	z-index: 7;
	margin-bottom: 14px;
	padding: 12px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 12px 32px rgba(23, 32, 51, 0.11);
}

.abientot-bookings-filters {
	display: grid;
	grid-template-columns: minmax(160px, 0.8fr) repeat(5, minmax(108px, 1fr)) max-content;
	gap: 10px;
	align-items: end;
	margin: 0;
}

.abientot-bookings-filters input[type='search'],
.abientot-bookings-filters input[type='date'],
.abientot-bookings-filters select {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	height: 38px;
	min-height: 38px;
	min-width: 0;
	margin: 0;
	border-color: #cbd5e1;
	border-radius: 7px;
	background-color: #fff;
	color: var(--abientot-admin-ink);
	line-height: 1.25;
	box-shadow: none;
}

.abientot-bookings-filters .abientot-configured-date {
	width: 100%;
	min-width: 0;
}

.abientot-bookings-filters .abientot-configured-date > input[type='text'] {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-inline-size: 0;
	height: 38px;
	margin: 0;
}

.abientot-bookings-filters .button {
	min-height: 38px;
	margin: 0;
	white-space: nowrap;
}

.abientot-bookings-toolbar-actions {
	display: inline-flex;
	flex-wrap: nowrap;
	gap: 8px;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
}

@media (max-width: 1260px) {
	.abientot-bookings-filters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.abientot-bookings-toolbar-actions {
		grid-column: 1 / -1;
	}
}

.abientot-booking-sidebar {
	position: sticky;
	top: var(--abientot-admin-sticky-top);
	box-sizing: border-box;
	min-width: 0;
	max-height: calc(100vh - var(--abientot-admin-sticky-top) - 20px);
	overflow: auto;
	overflow-x: hidden;
	opacity: 0;
	transform: translateX(18px);
	transition:
		opacity 180ms ease,
		transform 180ms ease;
}

.abientot-booking-sidebar .abientot-panel-heading {
	position: sticky;
	top: -18px;
	z-index: 3;
	margin: -18px -20px 12px;
	padding: 18px 20px 12px;
	border-bottom: 1px solid var(--abientot-admin-line);
	border-radius: 8px 8px 0 0;
	background: #fff;
	box-shadow: 0 6px 10px rgba(23, 32, 51, 0.05);
}

.abientot-booking-sidebar.is-drawer .abientot-panel-heading {
	top: -18px;
}

.abientot-bookings-layout > .abientot-booking-sidebar:not(.is-editing-booking) [data-abientot-booking-form-close] {
	display: none;
}

.abientot-booking-sidebar.is-open {
	opacity: 1;
	transform: translateX(0);
}

.abientot-booking-sidebar.is-drawer {
	position: fixed;
	top: 0;
	inset-inline-end: 0;
	bottom: 0;
	z-index: 10020;
	width: min(440px, calc(100vw - 24px));
	max-height: none;
	margin: 0;
	border-radius: 0;
	overflow: auto;
	box-shadow: -16px 0 36px rgba(23, 32, 51, 0.22);
	opacity: 1;
	transform: translateX(100%);
	transition: transform 180ms ease;
}

.abientot-booking-sidebar.is-drawer.is-open {
	transform: translateX(0);
}

.abientot-booking-sidebar .form-table th,
.abientot-booking-sidebar .form-table td {
	display: block;
	width: 100%;
	box-sizing: border-box;
	min-width: 0;
	padding-inline-end: 0;
	padding-inline-start: 0;
}

.abientot-booking-sidebar .form-table td {
	padding-top: 4px;
}

.abientot-booking-sidebar [data-abientot-admin-booking-form] .form-table tbody {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px 12px;
}

.abientot-booking-sidebar [data-abientot-admin-booking-form] .form-table tr {
	display: block;
	grid-column: 1 / -1;
	margin: 0;
}

.abientot-booking-sidebar
	[data-abientot-admin-booking-form]
	.form-table
	tr:is(
		.abientot-booking-staff-field,
		.abientot-booking-location-field,
		:has([name='first_name']),
		:has([name='last_name']),
		:has([name='email']),
		:has([name='phone']),
		:has([name='status_id']),
		:has([name='payment_status']),
		:has([name='price']),
		:has([name='currency']),
		:has([name='customer_note']),
		:has([name='internal_note'])
	) {
	grid-column: auto;
}

.abientot-booking-sidebar [data-abientot-admin-booking-form] .form-table th,
.abientot-booking-sidebar [data-abientot-admin-booking-form] .form-table td {
	padding-top: 0;
	padding-bottom: 0;
}

.abientot-booking-sidebar [data-abientot-admin-booking-form] .form-table th {
	margin-bottom: 3px;
	font-size: 11px;
	line-height: 1.25;
	letter-spacing: 0.02em;
	color: #586174;
}

.abientot-booking-sidebar
	[data-abientot-admin-booking-form]
	:is(input:not([type='hidden']):not([type='radio']):not([type='checkbox']), select, textarea) {
	min-height: 34px;
}

.abientot-booking-sidebar [data-abientot-admin-booking-form] textarea {
	min-height: 56px;
	resize: vertical;
}

.abientot-booking-sidebar [data-abientot-admin-booking-form] .submit {
	position: sticky;
	bottom: -18px;
	z-index: 3;
	margin: 10px -20px -18px;
	padding: 10px 20px 18px;
	border-top: 1px solid var(--abientot-admin-line);
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(8px);
}

.abientot-customer-match-row th,
.abientot-customer-match-row td {
	padding-top: 0 !important;
}
.abientot-customer-match {
	position: relative;
	z-index: 4;
	width: min(100%, 470px);
	margin-top: 6px;
	border: 1px solid #d7dde7;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(30, 41, 59, 0.13);
	overflow: hidden;
}
.abientot-customer-match-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px 8px;
	background: #f7f8fb;
	color: #273449;
}
.abientot-customer-match-heading span {
	font-size: 11px;
	color: #667085;
}
.abientot-customer-match-option {
	display: flex;
	width: 100%;
	min-height: 48px;
	padding: 8px 12px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	border: 0;
	border-top: 1px solid #edf0f4;
	background: #fff;
	color: #131f29;
	text-align: start;
	cursor: pointer;
}
.abientot-customer-match-option span {
	margin-top: 2px;
	font-size: 12px;
	color: #667085;
}
.abientot-customer-match-option:hover,
.abientot-customer-match-option.is-active,
.abientot-customer-match-option:focus-visible {
	background: #fff5ed;
	box-shadow: inset 3px 0 #f97316;
	outline: none;
}
.abientot-customer-match-empty {
	margin: 0;
	padding: 10px 12px;
	color: #667085;
	font-size: 12px;
}
.abientot-customer-selected {
	display: flex;
	min-height: 42px;
	padding: 8px 12px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-inline-start: 4px solid #22a06b;
	background: #effaf5;
	color: #174d38;
}
.abientot-customer-selected .button-link {
	flex: none;
	color: #9a3412;
	font-weight: 600;
}

.abientot-booking-detail-panel {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid #dcdcde;
}

@media (min-width: 1100px) {
	.abientot-bookings-layout.is-sidebar-open {
		grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
		height: max(360px, calc(100vh - var(--abientot-admin-sticky-top) - 128px));
		height: max(360px, calc(100dvh - var(--abientot-admin-sticky-top) - 128px));
		overflow: hidden;
	}

	.abientot-bookings-layout > [data-abientot-bookings-panel],
	.abientot-bookings-layout > .abientot-booking-sidebar {
		position: static;
		height: 100%;
		max-height: none;
		margin-bottom: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
	}
}

@media (min-width: 1100px) and (max-width: 1260px) {
	.abientot-bookings-layout.is-sidebar-open {
		height: max(360px, calc(100vh - var(--abientot-admin-sticky-top) - 234px));
		height: max(360px, calc(100dvh - var(--abientot-admin-sticky-top) - 234px));
	}
}

@media (max-width: 1700px) {
	.abientot-customers-layout {
		grid-template-columns: minmax(0, 1fr);
		height: auto;
		overflow: visible;
	}

	.abientot-customers-layout > [data-abientot-customers-panel] {
		height: auto;
		max-height: none;
		overflow: visible;
	}

	.abientot-customers-toolbar {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		align-items: end;
	}

	.abientot-customers-toolbar > .abientot-filters {
		flex: 1 1 420px;
	}

	.abientot-customers-toolbar > .abientot-responsive-create,
	.abientot-customer-sidebar .abientot-responsive-close {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}

	.abientot-customers-toolbar > .abientot-responsive-create {
		flex: 0 0 auto;
		min-height: 38px;
	}

	.abientot-customer-sidebar {
		display: none !important;
		position: fixed;
		top: 0;
		inset-inline-end: 0;
		bottom: 0;
		z-index: 10030;
		box-sizing: border-box;
		width: min(480px, calc(100vw - 24px));
		height: 100dvh;
		max-height: none;
		margin: 0;
		border-radius: 0;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		box-shadow: -18px 0 42px rgba(23, 32, 51, 0.26);
	}

	.abientot-customer-drawer-open .abientot-customers-layout > .abientot-customer-sidebar,
	.abientot-customers-toolbar:has(> [data-abientot-customer-sidebar-open][hidden])
		+ .abientot-customers-layout
		> .abientot-customer-sidebar {
		display: block !important;
	}

	.abientot-customer-drawer-open [data-abientot-customer-sidebar-open] {
		display: none !important;
	}

	.abientot-customer-sidebar [data-abientot-customer-create-panel] > .abientot-panel-heading {
		position: sticky;
		top: -18px;
		z-index: 4;
		margin: -18px -20px 12px;
		padding: 18px 20px 12px;
		border-bottom: 1px solid var(--abientot-admin-line);
		background: #fff;
		box-shadow: 0 6px 10px rgba(23, 32, 51, 0.08);
	}
}

@media (max-width: 1260px) {
	.abientot-bookings-toolbar-actions > .abientot-responsive-create {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}

	.abientot-booking-sidebar:not([data-abientot-booking-drawer]) {
		display: none !important;
	}

	.abientot-bookings-toolbar:has([data-abientot-booking-form-open][hidden])
		+ .abientot-bookings-layout
		> .abientot-booking-sidebar,
	.abientot-booking-drawer-open .abientot-bookings-layout > .abientot-booking-sidebar {
		display: block !important;
		position: fixed;
		top: 0;
		inset-inline-end: 0;
		bottom: 0;
		z-index: 10030;
		box-sizing: border-box;
		width: min(440px, calc(100vw - 24px));
		height: 100dvh;
		max-height: none;
		margin: 0;
		border-radius: 0;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		box-shadow: -16px 0 36px rgba(23, 32, 51, 0.24);
	}

	.abientot-booking-drawer-open [data-abientot-booking-form-open] {
		display: none !important;
	}

	.abientot-bookings-layout > .abientot-booking-sidebar:not(.is-editing-booking) [data-abientot-booking-form-close] {
		display: inline-flex !important;
	}
}

@media (max-width: 1099px) {
	.abientot-bookings-layout.is-sidebar-open {
		grid-template-columns: minmax(0, 1fr);
	}

	.abientot-booking-sidebar:not([hidden]) {
		position: fixed;
		top: 0;
		inset-inline-end: 0;
		bottom: 0;
		z-index: 10020;
		width: min(440px, calc(100vw - 24px));
		max-height: none;
		margin: 0;
		border-radius: 0;
		overflow: auto;
		box-shadow: -16px 0 36px rgba(23, 32, 51, 0.22);
	}
}

.abientot-time-off-conflict {
	margin: 12px 0;
	padding: 10px 12px;
}

.abientot-time-off-conflict .button {
	margin-top: 6px;
	margin-inline-end: 4px;
}

.abientot-dashboard-stack {
	display: grid;
	gap: 14px;
}

.abientot-dashboard-period {
	position: sticky;
	top: var(--abientot-admin-sticky-top);
	z-index: 6;
	margin-bottom: 14px;
	padding: 12px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 12px 32px rgba(23, 32, 51, 0.11);
}

.abientot-dashboard-section {
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(23, 32, 51, 0.07);
	overflow: hidden;
}

.abientot-dashboard-section[open] {
	border-color: #c5cfdd;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.1);
}

.abientot-dashboard-section-summary {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	min-height: 72px;
	padding: 16px 18px;
	cursor: pointer;
	list-style: none;
	background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.abientot-dashboard-section-summary::-webkit-details-marker {
	display: none;
}

.abientot-dashboard-section-copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.abientot-dashboard-section-kicker {
	color: var(--abientot-admin-muted);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0;
	text-transform: uppercase;
}

.abientot-dashboard-section-title {
	color: var(--abientot-admin-ink);
	font-size: 18px;
	font-weight: 750;
	line-height: 1.25;
}

.abientot-dashboard-section-description {
	color: var(--abientot-admin-muted);
	font-size: 13px;
	line-height: 1.35;
}

.abientot-dashboard-section-toggle {
	position: relative;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 7px;
	background: #fff;
}

.abientot-dashboard-section-toggle::before,
.abientot-dashboard-section-toggle::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	border-radius: 2px;
	background: var(--abientot-admin-ink);
	content: '';
	transform: translate(-50%, -50%);
}

.abientot-dashboard-section-toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition:
		transform 0.15s ease,
		opacity 0.15s ease;
}

.abientot-dashboard-section[open] .abientot-dashboard-section-toggle::after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(0deg);
}

.abientot-dashboard-section-body {
	display: grid;
	gap: 16px;
	padding: 18px;
	border-top: 1px solid var(--abientot-admin-line);
	background: #fff;
}

.abientot-dashboard-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	align-items: start;
}

.abientot-dashboard-block {
	display: grid;
	gap: 12px;
	align-self: start;
	min-width: 0;
	padding: 16px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.abientot-dashboard-block.is-wide {
	grid-column: 1 / -1;
}

.abientot-dashboard-block h3 {
	margin: 0;
	color: var(--abientot-admin-ink);
	font-size: 15px;
	line-height: 1.25;
}

.abientot-dashboard-filters {
	margin: 0;
	align-items: end;
}

.abientot-dashboard-period .abientot-dashboard-filters {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(150px, 180px)) auto auto;
	gap: 10px;
	align-items: end;
}

.abientot-dashboard-period-summary {
	display: grid;
	gap: 3px;
	margin: 0;
	color: var(--abientot-admin-muted);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.abientot-dashboard-period-summary strong {
	color: var(--abientot-admin-ink);
	font-size: 15px;
	line-height: 1.25;
	text-transform: none;
}

.abientot-dashboard-filters .abientot-configured-date {
	width: 100%;
	min-width: 0;
}

.abientot-dashboard-filters .abientot-configured-date > input[type='text'] {
	width: 100%;
	min-width: 0;
	min-inline-size: 0;
}

.abientot-dashboard-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
}

.abientot-dashboard-kpis--money {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.abientot-metric {
	display: grid;
	gap: 5px;
	min-width: 0;
	padding: 16px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: #fff;
}

.abientot-metric-label {
	color: var(--abientot-admin-muted);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
}

.abientot-metric strong {
	font-size: 26px;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.abientot-chart {
	display: grid;
	gap: 10px;
}

.abientot-chart-bars {
	display: grid;
	gap: 9px;
	margin: 0;
}

.abientot-chart-bars li {
	display: grid;
	grid-template-columns: minmax(90px, 0.9fr) minmax(120px, 2fr) minmax(78px, auto);
	gap: 10px;
	align-items: center;
	margin: 0;
}

.abientot-chart-bars li.has-split-date {
	grid-template-columns: max-content minmax(80px, 1fr) minmax(64px, auto);
	gap: 8px;
}

.abientot-chart-bars li.has-split-date .abientot-chart-label {
	display: grid;
	grid-template-columns: 3.25em max-content;
	gap: 8px;
	align-items: baseline;
}

.abientot-chart-weekday {
	color: var(--abientot-admin-muted);
	font-weight: 700;
}

.abientot-chart-label {
	min-width: 0;
	overflow-wrap: anywhere;
}

.abientot-chart-track {
	display: block;
	height: 14px;
	overflow: hidden;
	border-radius: 4px;
	background: #f0f0f1;
}

.abientot-chart-bar {
	display: block;
	width: var(--abientot-chart-width, 0);
	height: 100%;
	border-radius: 4px;
	background: var(--abientot-chart-color, var(--abientot-admin-ink));
}

.abientot-chart-summary summary {
	cursor: pointer;
	color: var(--abientot-admin-ink);
}

.abientot-admin :focus-visible {
	outline: 2px solid var(--abientot-admin-ink);
	outline-offset: 2px;
}

.abientot-checklist {
	display: grid;
	gap: 8px;
	margin: 0;
}

.abientot-checklist li {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 8px;
	align-items: center;
	margin: 0;
}

.abientot-checklist span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fef3c7;
	color: #7c2d12;
	font-weight: 700;
}

.abientot-checklist .is-complete span {
	background: #dcfce7;
	color: #166534;
}

.abientot-checklist a {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 28px;
	padding: 2px 9px;
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--abientot-admin-ink);
	text-decoration: none;
	font-weight: 650;
}

.abientot-checklist a:hover,
.abientot-checklist a:focus {
	border-color: var(--abientot-admin-line);
	background: var(--abientot-admin-soft);
	color: var(--abientot-admin-primary);
	box-shadow: none;
}

.abientot-list {
	margin: 0;
}

.abientot-list li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px solid #dcdcde;
}

.abientot-table th,
.abientot-table td {
	vertical-align: middle;
}

.abientot-bookings-table {
	min-width: 980px;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border-color: var(--abientot-admin-line);
	border-radius: 8px;
	background: #fff;
}

.abientot-bookings-table thead th {
	padding: 11px 12px;
	border-bottom: 1px solid var(--abientot-admin-line);
	background: #f8fafc;
	color: var(--abientot-admin-muted);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: uppercase;
}

.abientot-bookings-table tbody td {
	padding: 6px 10px;
	border-bottom: 1px solid #e8edf4;
	color: var(--abientot-admin-ink);
	line-height: 1.25;
	vertical-align: middle;
}

.abientot-bookings-table tbody tr:last-child td {
	border-bottom: 0;
}

.abientot-bookings-table.striped > tbody > :nth-child(odd) {
	background-color: #fff;
}

.abientot-bookings-table.striped > tbody > :nth-child(even) {
	background-color: #fbfcfe;
}

.abientot-bookings-table tbody tr:hover {
	background-color: #f6f8fb;
}

.abientot-booking-col-time {
	width: 15%;
}

.abientot-booking-col-select {
	width: 150px;
}

.abientot-booking-col-money {
	width: 118px;
	text-align: end;
}

.abientot-booking-col-actions {
	width: 104px;
	text-align: center;
}

.abientot-booking-time strong,
.abientot-booking-customer strong {
	display: block;
	color: var(--abientot-admin-ink);
	font-weight: 750;
	overflow-wrap: anywhere;
}

.abientot-booking-customer {
	min-width: 0;
}

.abientot-booking-customer .description {
	display: block;
	margin-top: 2px;
	color: var(--abientot-admin-muted);
	font-size: 12px;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.abientot-booking-service {
	min-width: 0;
	vertical-align: middle;
}

.abientot-booking-service-identity {
	display: grid;
	grid-template-columns: 4px minmax(0, 1fr);
	align-items: center;
	min-width: 0;
	min-height: 36px;
	padding-block: 3px 3px;
	padding-inline: 5px 6px;
	border: 1px solid var(--abientot-admin-line, #dce9e5);
	border-radius: 8px;
	background: #fff;
}

.abientot-booking-service-identity__swatch {
	align-self: stretch;
	width: 4px;
	margin-inline-end: 6px;
	border-radius: 999px;
	background: var(--abientot-service-accent);
}

.abientot-booking-service .abientot-service-inline-value,
.abientot-booking-service .abientot-quick-service {
	min-width: 0;
}

.abientot-booking-service .abientot-color {
	margin-inline-end: 0;
	vertical-align: middle;
}

.abientot-booking-service .abientot-service-inline-value {
	width: auto;
	max-width: 220px;
	min-height: 26px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--abientot-admin-ink);
	box-shadow: none;
	cursor: pointer;
	font: inherit;
	font-weight: 650;
	line-height: 1.2;
	text-align: start;
	text-decoration: none;
	vertical-align: middle;
}

.abientot-booking-service .abientot-service-inline-value:hover,
.abientot-booking-service .abientot-service-inline-value:focus {
	color: var(--abientot-admin-primary);
	text-decoration: none;
	outline: 2px solid transparent;
}

.abientot-booking-service .abientot-quick-service {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-height: 30px;
	height: 30px;
	border-color: transparent;
	background-color: #fff;
	box-shadow: none;
	font-weight: 650;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.abientot-booking-service .abientot-quick-edit-status {
	grid-column: 2;
	min-width: 0;
}

.abientot-booking-select {
	vertical-align: middle;
}

.abientot-booking-money {
	color: var(--abientot-admin-ink);
	font-weight: 750;
	text-align: end;
	vertical-align: middle;
	white-space: nowrap;
}

.abientot-table input[type='time'] {
	width: 110px;
}

.abientot-color {
	display: inline-block;
	flex: 0 0 auto;
	width: 12px;
	height: 12px;
	margin-inline-end: 8px;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 50%;
	vertical-align: -1px;
}

.abientot-detail-list {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 8px 12px;
	margin: 0 0 16px;
}

.abientot-detail-list dt {
	font-weight: 600;
}

.abientot-detail-list dd {
	margin: 0;
}

.abientot-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
	justify-content: center;
	min-width: 120px;
}

.abientot-bookings-table .abientot-actions {
	display: table-cell;
	min-width: 0;
	text-align: center;
	vertical-align: middle;
}

.abientot-action-button,
.abientot-admin a.abientot-action-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 0 10px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 999px;
	background: #fff;
	color: var(--abientot-admin-ink);
	text-decoration: none;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.2;
	box-shadow: 0 1px 0 rgba(23, 32, 51, 0.04);
	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease,
		filter 160ms ease;
}

.abientot-action-button--edit,
.abientot-action-button--delete,
.abientot-admin a.abientot-action-button--edit,
.abientot-admin a.abientot-action-button--delete {
	width: 32px;
	min-width: 32px;
	padding: 0;
	border-radius: 8px;
}

.abientot-action-button .dashicons {
	width: 16px;
	height: 16px;
	font-size: 16px;
	line-height: 16px;
}

.abientot-action-button:hover,
.abientot-action-button:focus,
.abientot-admin a.abientot-action-button:hover,
.abientot-admin a.abientot-action-button:focus {
	border-color: #c5cfdd;
	background: var(--abientot-admin-hover);
	color: var(--abientot-admin-ink);
	box-shadow: 0 0 0 1px rgba(23, 32, 51, 0.03);
}

.abientot-action-button--edit,
.abientot-admin a.abientot-action-button--edit {
	border-color: #fed7aa;
	background: var(--abientot-admin-edit-soft);
	color: var(--abientot-admin-edit);
}

.abientot-action-button--edit:hover,
.abientot-action-button--edit:focus,
.abientot-admin a.abientot-action-button--edit:hover,
.abientot-admin a.abientot-action-button--edit:focus {
	border-color: #fdba74;
	background: #ffedd5;
	color: #7c2d12;
}

.abientot-action-button--create,
.abientot-admin a.abientot-action-button--create {
	border-color: var(--abientot-admin-primary);
	background: var(--abientot-admin-primary);
	color: #fff;
}

.abientot-action-button--create:hover,
.abientot-action-button--create:focus,
.abientot-admin a.abientot-action-button--create:hover,
.abientot-admin a.abientot-action-button--create:focus {
	border-color: var(--abientot-admin-primary-hover);
	background: var(--abientot-admin-primary-hover);
	color: #fff;
}

.abientot-action-button--delete,
.abientot-admin a.abientot-action-button--delete,
.abientot-admin a.submitdelete.abientot-action-button--delete {
	border-color: #fecdd3;
	background: var(--abientot-admin-delete-soft);
	color: var(--abientot-admin-delete);
}

.abientot-action-button--delete:hover,
.abientot-action-button--delete:focus,
.abientot-admin a.abientot-action-button--delete:hover,
.abientot-admin a.abientot-action-button--delete:focus,
.abientot-admin a.submitdelete.abientot-action-button--delete:hover,
.abientot-admin a.submitdelete.abientot-action-button--delete:focus {
	border-color: #fda4af;
	background: #ffe4e8;
	color: #9f1239;
}

.abientot-admin a.submitdelete:not(.abientot-action-button) {
	color: var(--abientot-admin-delete);
}

.abientot-quick-edit {
	width: 100%;
	max-width: 150px;
	height: 30px;
	min-height: 30px;
	margin: 0;
	border-color: #cbd5e1;
	border-radius: 6px;
	background-color: #fff;
	color: var(--abientot-admin-ink);
	line-height: 1.25;
}

.abientot-bookings-table .abientot-quick-edit {
	height: 32px !important;
	min-height: 32px !important;
	line-height: 30px !important;
}

.abientot-quick-edit-status {
	display: block;
	min-height: 0;
	margin-top: 2px;
	color: var(--abientot-admin-ink);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.1;
}

.abientot-quick-edit-status:empty {
	display: none;
}

.abientot-admin-slots {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(96px, 100%), 1fr));
	gap: 8px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-top: 10px;
	overflow-wrap: anywhere;
}

.abientot-admin-slot {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 0;
	min-height: 38px;
	padding: 8px 10px;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
	font-weight: 600;
	text-align: center;
	white-space: normal;
}

.abientot-admin-slot span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.abientot-admin-slot:focus-within,
.abientot-admin-slot:has(input:checked) {
	border-color: var(--abientot-admin-ink);
	box-shadow: 0 0 0 1px var(--abientot-admin-ink);
}

.abientot-warning {
	display: inline-block;
	margin-top: 4px;
	color: #8a2424;
	font-weight: 600;
}

.abientot-email-preview pre {
	max-width: 820px;
	overflow: auto;
	padding: 12px;
	border: 1px solid #dcdcde;
	background: #f6f7f7;
	white-space: pre-wrap;
}

.abientot-email-template-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
	gap: 18px;
	align-items: start;
	margin-top: 12px;
}

.abientot-email-template-grid > div:first-child {
	min-width: 0;
}

.abientot-settings-panel--communication .wp-editor-wrap {
	display: block;
}

.abientot-settings-panel--communication .wp-editor-container,
.abientot-settings-panel--communication textarea.wp-editor-area {
	min-height: 440px;
}

.abientot-settings-panel--communication textarea.wp-editor-area {
	min-height: 440px;
}

.abientot-template-variables {
	display: block;
	box-sizing: border-box;
	min-height: 440px;
	padding: 16px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: var(--abientot-admin-soft);
}

.abientot-template-variables > .description {
	margin: 4px 0 14px;
}

.abientot-template-variable-group + .abientot-template-variable-group {
	margin-top: 14px;
}

.abientot-template-variable-group > span {
	display: block;
	margin-bottom: 6px;
	color: var(--abientot-admin-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.abientot-template-variable-group > div {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.abientot-template-variables .button {
	min-height: 30px;
	margin: 0;
	padding: 2px 8px;
}

.abientot-template-variables code {
	font-size: 11px;
}

.abientot-communication-intro td {
	padding: 0 0 14px !important;
}

.abientot-email-template-row > td {
	padding: 8px 0 !important;
}

.abientot-email-template-card {
	border: 1px solid var(--abientot-admin-line);
	border-radius: 10px;
	background: #fff;
	overflow: clip;
}

.abientot-email-template-card > summary {
	display: flex;
	gap: 18px;
	align-items: center;
	justify-content: space-between;
	padding: 16px 18px;
	cursor: pointer;
	list-style: none;
}

.abientot-email-template-card > summary::-webkit-details-marker {
	display: none;
}

.abientot-email-template-card > summary::before {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-inline-end: 2px solid var(--abientot-admin-muted);
	border-bottom: 2px solid var(--abientot-admin-muted);
	content: '';
	transform: rotate(-45deg);
	transition: transform 140ms ease;
}

.abientot-email-template-card[open] > summary::before {
	transform: rotate(45deg);
}

.abientot-email-template-card > summary > span:first-of-type {
	display: grid;
	flex: 1 1 auto;
	gap: 3px;
}

.abientot-email-template-summary-subject {
	color: var(--abientot-admin-muted);
	font-size: 12px;
	font-weight: 400;
}

.abientot-email-template-summary-state {
	padding: 4px 8px;
	border-radius: 999px;
	background: #e8f5ef;
	color: var(--abientot-admin-primary);
	font-size: 11px;
	font-weight: 700;
}

.abientot-email-template-summary-state.is-disabled {
	background: #eef1f5;
	color: var(--abientot-admin-muted);
}

.abientot-email-template-card__content {
	padding: 18px;
	border-top: 1px solid var(--abientot-admin-line);
}

.abientot-email-template-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.abientot-email-preview-frame {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: min(68vh, 720px);
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: #fff;
}

body.mce-fullscreen .abientot-admin-topbar,
body.mce-fullscreen .abientot-admin::before {
	display: none !important;
}

body.mce-fullscreen .mce-tinymce.mce-fullscreen {
	z-index: 10050 !important;
}

.abientot-status-labels {
	display: grid;
	gap: 10px;
	max-width: 640px;
}

.abientot-status-labels label {
	display: grid;
	grid-template-columns: minmax(110px, 160px) minmax(0, 1fr);
	gap: 10px;
	align-items: center;
}

.abientot-status-labels span {
	font-weight: 600;
}

.abientot-modal {
	position: fixed;
	z-index: 100000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(0, 0, 0, 0.35);
}

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

.abientot-modal__box {
	position: relative;
	width: min(720px, 100%);
	max-height: calc(100vh - 48px);
	overflow: auto;
	padding: 20px;
	border: 1px solid #c3c4c7;
	background: #fff;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.abientot-modal__close {
	position: absolute;
	top: 10px;
	inset-inline-end: 12px;
	font-size: 28px;
	line-height: 1;
	text-decoration: none;
}

.abientot-email-preview-body {
	padding: 14px;
	border: 1px solid #dcdcde;
	background: #fff;
}

.abientot-booking-change-modal .abientot-modal__box {
	width: min(760px, 100%);
	border-radius: 8px;
}

.abientot-booking-change-contact,
.abientot-booking-change-email {
	margin: 14px 0;
	padding: 14px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: var(--abientot-admin-soft);
}

.abientot-booking-change-contact p {
	margin-top: 0;
	color: var(--abientot-admin-muted);
}

.abientot-booking-change-email pre {
	white-space: pre-wrap;
	margin: 6px 0 12px;
	padding: 10px;
	border: 1px solid var(--abientot-admin-line);
	background: #fff;
}

.abientot-booking-change-email label {
	display: grid;
	gap: 8px;
	font-weight: 700;
}

.abientot-booking-change-email textarea {
	width: 100%;
	min-height: 220px;
	font-family: inherit;
	font-weight: 400;
}

.abientot-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 0;
}

.abientot-pagination .button {
	margin: 0;
}

.abientot-media-field {
	position: relative;
	display: inline-flex;
	align-items: flex-start;
}

.abientot-inline-form .abientot-inline-media {
	min-width: 0;
}

.abientot-inline-form .abientot-media-preview {
	width: 80px;
	min-height: 80px;
}

.abientot-inline-form .abientot-media-preview-image {
	max-width: 80px;
	max-height: 80px;
}

.abientot-media-preview {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	min-height: 80px;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	background: #f6f7f7;
	color: #646970;
	cursor: pointer;
	padding: 0;
	overflow: hidden;
	transition:
		border-color 120ms ease,
		box-shadow 120ms ease;
}

.abientot-media-preview:hover,
.abientot-media-preview:focus-visible {
	border-color: var(--abientot-admin-ink);
	box-shadow: 0 0 0 1px var(--abientot-admin-ink);
}

.abientot-media-preview:empty::before {
	content: '';
	display: block;
	width: 28px;
	height: 28px;
	border: 1px dashed #8c8f94;
}

.abientot-media-preview-image {
	display: block;
	max-width: 80px;
	max-height: 80px;
	width: auto;
	height: auto;
}

.abientot-media-clear {
	position: absolute;
	top: -7px;
	inset-inline-end: -7px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	min-width: 22px;
	height: 22px;
	min-height: 22px;
	padding: 0;
	border: 1px solid #d63638;
	border-radius: 50%;
	background: #fff;
	color: #b32d2e;
	cursor: pointer;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
}

.abientot-media-clear:hover,
.abientot-media-clear:focus-visible {
	background: #d63638;
	color: #fff;
}

.abientot-media-field.is-empty .abientot-media-clear {
	display: none;
}

.abientot-category-order-form {
	display: grid;
	gap: 10px;
	margin: 0;
}

.abientot-category-order-form .submit {
	justify-self: end;
	margin: 0;
	padding: 0;
}

.abientot-category-list {
	display: grid;
	gap: 10px;
	margin: 0;
}

.abientot-category-card {
	display: grid;
	grid-template-columns: 28px 80px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	margin: 0;
	padding: 12px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(23, 32, 51, 0.05);
}

.abientot-category-card.is-dragging {
	opacity: 0.55;
}

.abientot-category-drag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 40px;
	border: 1px solid #e2e6e9;
	border-radius: 6px;
	background: #f7f8fa;
	color: #5e7274;
	cursor: grab;
	padding: 0;
}

.abientot-category-card input[type='text'] {
	width: 100%;
}

@media (max-width: 600px) {
	.abientot-inline-form {
		grid-template-columns: 80px minmax(0, 1fr);
	}

	.abientot-inline-form .button {
		grid-column: 1 / -1;
		justify-self: stretch;
	}

	.abientot-category-card {
		grid-template-columns: 28px 80px minmax(0, 1fr);
	}

	.abientot-category-card .abientot-action-button--delete {
		grid-column: 2 / -1;
		justify-self: end;
	}
}

.abientot-calendar-tools {
	position: sticky;
	top: var(--abientot-admin-sticky-top);
	z-index: 6;
}

.abientot-customers-toolbar {
	position: sticky;
	top: var(--abientot-admin-sticky-top);
	z-index: 6;
}

.abientot-customers-layout {
	grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
	height: max(360px, calc(100vh - var(--abientot-admin-sticky-top) - 128px));
	height: max(360px, calc(100dvh - var(--abientot-admin-sticky-top) - 128px));
	overflow: hidden;
}

.abientot-customers-layout > [data-abientot-customers-panel],
.abientot-customer-sidebar {
	position: static;
	min-width: 0;
	height: 100%;
	margin-bottom: 0;
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
}

.abientot-customer-sidebar .form-table th,
.abientot-customer-sidebar .form-table td {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding-inline-end: 0;
	padding-inline-start: 0;
}

.abientot-customer-sidebar .form-table td {
	padding-top: 4px;
}

.abientot-customer-sidebar :is(input[type='text'], input[type='email'], input[type='tel'], textarea) {
	box-sizing: border-box;
	width: 100%;
}

.abientot-customer-entry-form h3 {
	margin: 4px 0 9px;
}
.abientot-entry-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px 12px;
}
.abientot-entry-field {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 3px;
	color: #586174;
	font-size: 11px;
	font-weight: 600;
}
.abientot-entry-field--wide {
	grid-column: 1 / -1;
}
.abientot-customer-sidebar .abientot-entry-field :is(input, textarea) {
	box-sizing: border-box;
	width: 100%;
	min-height: 34px;
	margin: 0;
	color: #131f29;
	font-size: 13px;
	font-weight: 400;
}
.abientot-customer-sidebar .abientot-entry-field textarea {
	min-height: 64px;
	resize: vertical;
}
.abientot-entry-check {
	display: flex;
	align-items: center;
	gap: 5px;
	color: #3d4657;
	font-size: 12px;
}
.abientot-entry-check input {
	margin: 0;
}
.abientot-entry-actions {
	display: flex;
	min-height: 32px;
	margin-top: 10px;
	align-items: center;
	gap: 10px;
}
.abientot-entry-actions [aria-live] {
	color: #337357;
	font-size: 12px;
}
.abientot-customer-metrics {
	margin: 14px 0;
	padding: 9px 11px;
	border: 1px solid #e5e8ee;
	border-radius: 9px;
	background: #f8f9fb;
}
.abientot-customer-metrics :is(dt, dd) {
	padding-top: 3px;
	padding-bottom: 3px;
}

@media (max-width: 460px) {
	.abientot-entry-grid,
	.abientot-booking-sidebar [data-abientot-admin-booking-form] .form-table tbody {
		grid-template-columns: minmax(0, 1fr);
	}
	.abientot-booking-sidebar [data-abientot-admin-booking-form] .form-table tr {
		grid-column: 1;
	}
}

.abientot-customer-sidebar [data-abientot-customer-profile-panel] > .abientot-panel-heading {
	position: sticky;
	top: -18px;
	z-index: 4;
	margin: -18px -20px 12px;
	padding: 18px 20px 12px;
	border-bottom: 1px solid var(--abientot-admin-line);
	border-radius: 8px 8px 0 0;
	background: #fff;
	box-shadow: 0 6px 10px rgba(23, 32, 51, 0.08);
}

@media (max-width: 1099px) {
	.abientot-customers-layout {
		grid-template-columns: minmax(0, 1fr);
		height: auto;
		overflow: visible;
	}

	.abientot-customers-layout > [data-abientot-customers-panel],
	.abientot-customer-sidebar {
		height: auto;
		max-height: none;
		overflow: visible;
	}
}

.abientot-segmented {
	display: inline-flex;
	overflow: hidden;
	min-height: 40px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 7px;
	background: #fff;
}

.abientot-segmented label {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	margin: 0;
	padding: 0 12px;
	border-inline-end: 1px solid var(--abientot-admin-line);
	cursor: pointer;
	font-weight: 650;
	line-height: 1;
}

.abientot-segmented label:last-child {
	border-inline-end: 0;
}

.abientot-segmented label.is-active {
	background: var(--abientot-admin-ink);
	color: #fff;
}

.abientot-segmented input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.abientot-settings-panel .form-table th {
	width: 220px;
}

.abientot-settings-panel
	.form-table
	td
	> :is(input[type='text'], input[type='email'], input[type='tel'], input[type='url'], select, .abientot-date-picker) {
	box-sizing: border-box;
	width: min(100%, 470px);
	max-width: 470px;
}

.abientot-calendar-heading {
	display: flex;
	position: sticky;
	top: var(--abientot-calendar-heading-top, var(--abientot-admin-sticky-top));
	z-index: 5;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	margin: -2px -20px 12px;
	padding: 10px 20px;
	border-bottom: 1px solid #dcdcde;
	background: #fff;
}

.abientot-calendar-heading::before {
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	height: 16px;
	background: var(--abientot-admin-bg, #f0f2f5);
	content: '';
}

.abientot-calendar-heading h2 {
	margin: 0;
}

.abientot-calendar-heading-main {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.abientot-calendar-status {
	min-height: 20px;
	margin-bottom: 10px;
	color: #646970;
}

.abientot-calendar-grid {
	display: grid;
	gap: 10px;
}

.abientot-calendar {
	position: relative;
}

.abientot-calendar-grid.is-time-grid {
	display: block;
	overflow-x: auto;
	padding-bottom: 2px;
}

.abientot-calendar-grid.is-day {
	grid-template-columns: 1fr;
}

.abientot-calendar-grid.is-week {
	grid-template-columns: repeat(7, minmax(136px, 1fr));
	overflow-x: auto;
	padding-bottom: 2px;
}

.abientot-calendar-grid.is-month {
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 1px;
	border: 1px solid #c3c4c7;
	background: #c3c4c7;
}

.abientot-calendar-grid.is-time-grid.is-responsive-week {
	overflow: visible;
}

.abientot-calendar-week-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	gap: 14px;
	align-items: start;
}

.abientot-calendar-week-card {
	min-width: 0;
	border-radius: 9px;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(23, 32, 51, 0.07);
}

.abientot-calendar-week-card .abientot-calendar-time-days {
	min-width: 0;
}

.abientot-calendar-week-card .abientot-calendar-day-head {
	min-height: 42px;
}

.abientot-calendar-grid.is-month.is-responsive-month {
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	gap: 12px;
	border: 0;
	background: transparent;
}

.abientot-calendar-grid.is-month.is-responsive-month .abientot-calendar-month-day {
	min-height: 150px;
	border: 1px solid var(--abientot-admin-line);
	border-radius: 9px;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(23, 32, 51, 0.06);
}

.abientot-calendar-grid.is-month.is-responsive-month .abientot-calendar-month-day[style] {
	grid-column-start: auto !important;
}

.abientot-calendar-grid.is-month.is-responsive-month .abientot-calendar-month-head .abientot-calendar-day-create {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.abientot-calendar-day,
.abientot-calendar-month-day {
	min-width: 0;
	border: 1px solid #c3c4c7;
	background: #fff;
}

.abientot-calendar-day.is-current,
.abientot-calendar-month-day.is-current {
	outline: 2px solid var(--abientot-admin-ink);
	outline-offset: -2px;
}

.abientot-calendar-day-head,
.abientot-calendar-month-head,
.abientot-calendar-month-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px;
	border-bottom: 1px solid #dcdcde;
	background: #f6f7f7;
	font-weight: 600;
}

.abientot-calendar-day-create,
.abientot-admin a.abientot-calendar-day-create {
	min-height: 30px;
	padding: 0 10px;
	font-size: 12px;
	font-weight: 650;
	text-decoration: none;
}

.abientot-calendar-day-create .dashicons {
	width: 16px;
	height: 16px;
	color: #fff !important;
	font-size: 16px;
	line-height: 16px;
}

.abientot-calendar-day-create .dashicons::before {
	color: #fff !important;
}

.abientot-calendar-month-label {
	justify-content: center;
	border: 0;
	background: #f0f0f1;
}

.abientot-calendar-day-events,
.abientot-calendar-month-events {
	display: grid;
	gap: 6px;
	padding: 8px;
}

.abientot-calendar-day-events {
	min-height: 260px;
	align-content: start;
}

.abientot-calendar-month-day {
	position: relative;
	min-height: 128px;
	border: 0;
}

.abientot-calendar-month-unavailable {
	top: 48px;
	bottom: 0;
	height: auto;
}

.abientot-calendar-month-day.is-unavailable .abientot-calendar-month-events {
	position: relative;
	z-index: 1;
}

.abientot-calendar-month-day.is-expanded {
	z-index: 3;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

.abientot-calendar-month-head {
	position: relative;
	min-height: 48px;
}

.abientot-calendar-grid.is-month .abientot-calendar-month-head .abientot-calendar-day-create {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.abientot-calendar-grid.is-month .abientot-calendar-month-head:hover .abientot-calendar-day-create,
.abientot-calendar-grid.is-month .abientot-calendar-month-head:focus-within .abientot-calendar-day-create {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.abientot-calendar-month-date {
	min-width: 0;
	color: #131f29;
	font-weight: 700;
}

.abientot-calendar-date-link {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
}

.abientot-calendar-date-link:hover,
.abientot-calendar-date-link:focus {
	color: var(--abientot-admin-primary);
	text-decoration: underline;
}

.abientot-calendar-event {
	display: grid;
	gap: 2px;
	min-width: 0;
	padding: 7px 8px;
	border: 1px solid #dcdcde;
	border-inline-start: 4px solid var(--abientot-event-color, var(--abientot-admin-ink));
	border-radius: 4px;
	background: #fff;
	color: #1d2327;
	text-decoration: none;
	box-shadow: inset 0 0 0 999px
		color-mix(in srgb, var(--abientot-event-color, var(--abientot-admin-ink)) 8%, transparent);
}

.abientot-calendar-event:hover,
.abientot-calendar-event:focus {
	border-color: var(--abientot-admin-ink);
	color: var(--abientot-admin-ink);
	box-shadow:
		0 0 0 1px var(--abientot-admin-ink),
		inset 0 0 0 999px color-mix(in srgb, var(--abientot-event-color, var(--abientot-admin-ink)) 10%, transparent);
}

.abientot-calendar-event.is-current-booking {
	border-color: var(--abientot-admin-ink);
	box-shadow:
		0 0 0 2px var(--abientot-admin-ink),
		inset 0 0 0 999px color-mix(in srgb, var(--abientot-event-color, var(--abientot-admin-ink)) 10%, transparent);
}

.abientot-calendar-event.is-cancelled {
	border-style: dashed;
}

.abientot-calendar-timegrid {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	grid-template-rows: auto auto;
	min-width: 0;
	border: 1px solid #c3c4c7;
	background: #fff;
}

.abientot-calendar-time-axis {
	display: grid;
	grid-row: 1 / span 2;
	grid-template-rows: subgrid;
	position: sticky;
	inset-inline-start: 0;
	z-index: 2;
	border-inline-end: 1px solid #c3c4c7;
	background: #fff;
}

.abientot-calendar-time-axis-head {
	min-height: 42px;
	border-bottom: 1px solid #dcdcde;
	background: #f6f7f7;
}

.abientot-calendar-time-labels {
	position: relative;
	height: calc(var(--abientot-slot-count) * var(--abientot-slot-height));
	background: #fff;
}

.abientot-calendar-time-labels span {
	position: absolute;
	inset-inline-end: 8px;
	color: #646970;
	font-size: 11px;
	line-height: 1;
	transform: translateY(-50%);
	white-space: nowrap;
}

.abientot-calendar-time-labels span:first-child {
	transform: none;
}

.abientot-calendar-time-days {
	display: grid;
	grid-row: 1 / span 2;
	grid-template-rows: subgrid;
	min-width: max-content;
}

.abientot-calendar-time-day {
	/* Share the tallest header with the axis; lanes keep their own time origin. */
	display: grid;
	grid-row: 1 / span 2;
	grid-template-rows: subgrid;
	position: relative;
	min-width: 0;
	border-inline-end: 1px solid #c3c4c7;
	background: #fff;
	transition:
		opacity 0.16s ease,
		filter 0.16s ease,
		box-shadow 0.16s ease;
}

.abientot-calendar-time-day:last-child {
	border-inline-end: 0;
}

.abientot-calendar-time-day.is-current {
	outline: 2px solid var(--abientot-admin-ink);
	outline-offset: -2px;
}

.abientot-calendar-focus-scrim {
	position: fixed;
	inset: 0;
	z-index: 30;
	display: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: rgba(15, 23, 42, 0.58);
	cursor: default;
}

.abientot-calendar.is-focusing-day .abientot-calendar-focus-scrim {
	display: block;
}

.abientot-calendar.is-focusing-day .abientot-calendar-timegrid {
	position: relative;
	z-index: 31;
	border-color: rgba(255, 255, 255, 0.36);
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.34);
}

.abientot-calendar.is-focusing-day .abientot-calendar-time-axis,
.abientot-calendar.is-focusing-day .abientot-calendar-time-day:not(.is-focused) {
	opacity: 0.38;
	filter: saturate(0.45) brightness(0.82);
}

.abientot-calendar.is-focusing-day .abientot-calendar-time-day.is-focused {
	z-index: 32;
	border-inline-end-color: transparent;
	background: #f8fbff;
	box-shadow:
		0 0 0 3px #fff,
		0 0 0 6px rgba(17, 117, 99, 0.62),
		0 22px 44px rgba(15, 23, 42, 0.28);
}

.abientot-calendar.is-focusing-day .abientot-calendar-time-day.is-focused .abientot-calendar-day-head {
	border-bottom-color: #d4d5da;
	background: #f7f8fa;
	color: #131f29;
}

.abientot-calendar.is-focusing-day .abientot-calendar-time-day.is-focused .abientot-calendar-time-lane {
	background: repeating-linear-gradient(
		to bottom,
		#c4c5cc 0,
		#c4c5cc 1px,
		#f8fbff 1px,
		#f8fbff var(--abientot-slot-height)
	);
}

.abientot-calendar-time-lane {
	position: relative;
	height: calc(var(--abientot-slot-count) * var(--abientot-slot-height));
	background: repeating-linear-gradient(
		to bottom,
		#cbd5e1 0,
		#cbd5e1 1px,
		transparent 1px,
		transparent var(--abientot-slot-height)
	);
}

.abientot-calendar-time-lane:hover {
	background: repeating-linear-gradient(
		to bottom,
		#94a3b8 0,
		#94a3b8 1px,
		transparent 1px,
		transparent var(--abientot-slot-height)
	);
}

.abientot-calendar-time-lane.is-drag-over {
	background: repeating-linear-gradient(
		to bottom,
		#117563 0,
		#117563 1px,
		#f7f8fa 1px,
		#f7f8fa var(--abientot-slot-height)
	);
}

.abientot-calendar-time-lane.is-drag-invalid {
	background: repeating-linear-gradient(
		to bottom,
		#be123c 0,
		#be123c 1px,
		#fff1f2 1px,
		#fff1f2 var(--abientot-slot-height)
	);
}

.abientot-calendar-time-lane.is-empty-range {
	min-height: 72px;
	background: transparent;
}

.abientot-calendar-time-lane .abientot-calendar-empty {
	position: absolute;
	top: 10px;
	right: 8px;
	left: 8px;
}

.abientot-calendar-unavailable {
	position: absolute;
	right: 0;
	left: 0;
	z-index: 0;
	border-top: 1px solid rgba(100, 116, 139, 0.18);
	border-bottom: 1px solid rgba(100, 116, 139, 0.18);
	background: repeating-linear-gradient(
		-45deg,
		rgba(100, 116, 139, 0.16) 0,
		rgba(100, 116, 139, 0.16) 6px,
		rgba(100, 116, 139, 0.08) 6px,
		rgba(100, 116, 139, 0.08) 12px
	);
	pointer-events: none;
}

.abientot-calendar-event.is-time-grid-event {
	position: absolute;
	right: 4px;
	left: 4px;
	z-index: 1;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 6px;
	row-gap: 1px;
	align-content: start;
	overflow: hidden;
	padding: 5px 7px;
	cursor: grab;
}

.abientot-calendar-event.is-time-grid-event.is-dragging {
	opacity: 0.2;
	cursor: grabbing;
}

.abientot-calendar-drag-preview {
	position: absolute;
	right: 4px;
	left: 4px;
	z-index: 4;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 6px;
	row-gap: 1px;
	align-content: start;
	overflow: hidden;
	padding: 5px 7px;
	border: 2px solid #117563;
	border-inline-start-width: 5px;
	border-radius: 8px;
	background: rgba(245, 249, 248, 0.96);
	color: #131f29;
	box-shadow: 0 14px 30px rgba(36, 38, 43, 0.2);
	pointer-events: none;
}

.abientot-calendar-drag-preview.is-invalid {
	border-color: #be123c;
	background: rgba(255, 241, 242, 0.97);
	color: #7f1d1d;
	box-shadow: 0 14px 30px rgba(190, 18, 60, 0.18);
}

.abientot-calendar-drag-preview-time {
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	white-space: nowrap;
}

.abientot-calendar-drag-preview strong {
	overflow: hidden;
	font-size: 12px;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.abientot-calendar-drag-preview-detail {
	grid-column: 1 / -1;
	overflow: hidden;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	opacity: 0.82;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.abientot-calendar-create-preview {
	position: absolute;
	inset-inline: 4px;
	z-index: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	box-sizing: border-box;
	height: 28px;
	min-height: 18px;
	padding: 0 8px;
	overflow: hidden;
	border: 1.5px dashed #46c8b2;
	border-radius: 7px;
	background: rgba(230, 248, 242, 0.85);
	color: #0d5c4e;
	font-size: 12px;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
}

.abientot-calendar-create-preview i {
	display: inline-flex;
	flex: 0 0 18px;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #117563;
	color: #fff;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
}

.abientot-calendar-create-preview strong {
	flex: 0 0 auto;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.abientot-calendar-create-preview span {
	min-width: 0;
	overflow: hidden;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.abientot-calendar-create-preview.is-compact {
	gap: 4px;
	padding: 0 4px;
	border-radius: 5px;
	font-size: 11px;
}
.abientot-calendar-create-preview.is-compact i {
	flex-basis: 14px;
	width: 14px;
	height: 14px;
	font-size: 12px;
}
.abientot-calendar-create-preview.is-compact span {
	display: none;
}

.abientot-calendar-create-preview:hover,
.abientot-calendar-create-preview:focus {
	border-style: solid;
	border-color: #117563;
	background: #e6f8f2;
	color: #0d5c4e;
	outline: none;
}

.abientot-calendar-create-preview[hidden] {
	display: none;
}

.abientot-calendar-event.is-time-grid-event:hover,
.abientot-calendar-event.is-time-grid-event:focus {
	z-index: 3;
}

.abientot-calendar-event.is-time-grid-event .abientot-calendar-event-time {
	white-space: nowrap;
}

.abientot-calendar-event.is-time-grid-event strong {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.abientot-calendar-event.is-time-grid-event .abientot-calendar-event-detail {
	grid-column: 1 / -1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.abientot-calendar-event-time,
.abientot-calendar-event-detail,
.abientot-calendar-empty,
.abientot-calendar-more {
	color: #646970;
	font-size: 12px;
	line-height: 1.35;
}

.abientot-calendar-event strong,
.abientot-calendar-event-detail {
	overflow-wrap: anywhere;
}

.abientot-calendar-empty {
	margin: 0;
}

.abientot-calendar-more {
	display: block;
	width: 100%;
	margin: 0;
	padding: 4px 0;
	border: 0;
	background: transparent;
	color: var(--abientot-admin-ink);
	text-align: start;
	cursor: pointer;
}

.abientot-calendar-more:hover,
.abientot-calendar-more:focus {
	color: var(--abientot-admin-ink);
	text-decoration: underline;
}

.abientot-calendar-month-extra {
	display: none;
	gap: 6px;
}

.abientot-calendar-month-overlay-head {
	display: none;
}

.abientot-calendar-month-events.is-expanded-overlay .abientot-calendar-month-overlay-head {
	display: flex;
	position: sticky;
	top: -8px;
	z-index: 1;
	order: -1;
	margin: -8px -8px 2px;
	padding: 10px 12px;
	border-bottom: 1px solid #dcdcde;
	background: #f6f7f7;
	color: #131f29;
	font-size: 14px;
	font-weight: 750;
}

.abientot-calendar-month-events.is-expanded-overlay .abientot-calendar-month-extra {
	display: grid;
	order: 1;
}

.abientot-calendar-month-events.is-expanded-overlay .abientot-calendar-more {
	position: sticky;
	bottom: -8px;
	order: 2;
	margin: 2px -8px -8px;
	width: calc(100% + 16px);
	padding: 9px 8px;
	border-top: 1px solid #dcdcde;
	background: #f6f7f7;
	font-weight: 700;
	text-align: center;
}

.abientot-calendar-month-events.is-expanded-overlay {
	position: fixed;
	z-index: 10020;
	box-sizing: border-box;
	overflow: auto;
	border: 1px solid #c3c4c7;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

.abientot-booking-day-panel {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid #dcdcde;
}

.abientot-booking-day-events {
	display: grid;
	gap: 6px;
	padding: 0;
	min-height: 0;
}

/* Responsive workflows for the three data-dense operational screens. */
.abientot-responsive-create,
.abientot-responsive-close {
	display: none !important;
}

@media (max-width: 1700px) {
	.abientot-customers-layout {
		grid-template-columns: minmax(0, 1fr);
		height: auto;
		overflow: visible;
	}

	.abientot-customers-layout > [data-abientot-customers-panel] {
		height: auto;
		max-height: none;
		overflow: visible;
	}

	.abientot-customers-toolbar {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		align-items: end;
	}

	.abientot-customers-toolbar > .abientot-filters {
		flex: 1 1 420px;
	}

	.abientot-customers-toolbar > .abientot-responsive-create,
	.abientot-customer-sidebar .abientot-responsive-close {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}

	.abientot-customer-sidebar {
		display: none !important;
		position: fixed;
		top: 0;
		inset-inline-end: 0;
		bottom: 0;
		z-index: 10030;
		box-sizing: border-box;
		width: min(480px, calc(100vw - 24px));
		height: 100dvh;
		max-height: none;
		margin: 0;
		border-radius: 0;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		box-shadow: -18px 0 42px rgba(23, 32, 51, 0.26);
	}

	.abientot-customer-drawer-open .abientot-customers-layout > .abientot-customer-sidebar,
	.abientot-customers-toolbar:has(> [data-abientot-customer-sidebar-open][hidden])
		+ .abientot-customers-layout
		> .abientot-customer-sidebar {
		display: block !important;
	}

	.abientot-bookings-table,
	.abientot-customers-table {
		display: block;
		min-width: 0;
		border: 0;
		background: transparent;
		overflow: visible;
	}

	.abientot-bookings-table thead,
	.abientot-customers-table thead {
		display: none;
	}

	.abientot-bookings-table tbody,
	.abientot-customers-table tbody {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.abientot-bookings-table tbody tr,
	.abientot-customers-table tbody tr {
		display: grid;
		align-content: start;
		min-width: 0;
		border: 1px solid var(--abientot-admin-line);
		border-radius: 9px;
		background: #fff !important;
		box-shadow: 0 2px 8px rgba(23, 32, 51, 0.05);
		overflow: hidden;
	}

	.abientot-bookings-table tbody td,
	.abientot-customers-table tbody td {
		display: grid;
		grid-template-columns: minmax(86px, 0.38fr) minmax(0, 1fr);
		gap: 10px;
		align-items: center;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		padding: 9px 11px;
		border: 0;
		border-bottom: 1px solid #e8edf4;
		text-align: start;
	}

	.abientot-bookings-table tbody td:last-child,
	.abientot-customers-table tbody td:last-child {
		border-bottom: 0;
	}

	.abientot-bookings-table tbody td::before,
	.abientot-customers-table tbody td::before {
		color: var(--abientot-admin-muted);
		content: attr(data-label);
		font-size: 10px;
		font-weight: 750;
		line-height: 1.2;
		text-transform: uppercase;
	}

	.abientot-bookings-table .abientot-actions,
	.abientot-customers-table .abientot-actions {
		display: grid;
		grid-template-columns: minmax(86px, 0.38fr) minmax(0, 1fr);
		justify-content: stretch;
		text-align: start;
	}

	.abientot-bookings-table .abientot-actions > *,
	.abientot-customers-table .abientot-actions > * {
		grid-column: 2;
		justify-self: start;
	}

	.abientot-bookings-table .abientot-actions::before,
	.abientot-customers-table .abientot-actions::before {
		grid-column: 1;
		grid-row: 1 / span 2;
		align-self: center;
	}

	.abientot-bookings-table .abientot-booking-service {
		display: grid;
		grid-template-columns: minmax(86px, 0.38fr) minmax(0, 1fr);
	}

	.abientot-bookings-table .abientot-booking-service::before {
		grid-column: 1;
	}

	.abientot-bookings-table .abientot-booking-service .abientot-booking-service-identity {
		grid-column: 2;
	}

	.abientot-bookings-table .abientot-booking-service .abientot-quick-service,
	.abientot-bookings-table .abientot-booking-service .abientot-service-inline-value,
	.abientot-bookings-table .abientot-booking-service .abientot-quick-edit-status {
		grid-column: 2;
	}

	.abientot-bookings-table .abientot-quick-edit {
		width: 100%;
		max-width: none;
	}

	.abientot-calendar-tools .abientot-filters {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
	}

	.abientot-calendar-tools .abientot-segmented {
		align-self: end;
	}

	.abientot-calendar-tools .abientot-filter-field :is(input, select),
	.abientot-calendar-tools .button {
		box-sizing: border-box;
		width: 100%;
		min-height: 40px;
	}

	.abientot-calendar-grid.is-month {
		grid-template-columns: repeat(7, minmax(112px, 1fr));
		overflow-x: auto;
	}

	.abientot-calendar-grid.is-month .abientot-calendar-month-head .abientot-calendar-day-create {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}

@media (max-width: 1099px) {
	.abientot-booking-sidebar:not([data-abientot-booking-drawer]),
	.abientot-customer-sidebar {
		display: none !important;
	}

	.abientot-bookings-toolbar:has(> [data-abientot-booking-form-open][hidden])
		+ .abientot-bookings-layout
		> .abientot-booking-sidebar,
	.abientot-customers-toolbar:has(> [data-abientot-customer-sidebar-open][hidden])
		+ .abientot-customers-layout
		> .abientot-customer-sidebar,
	.abientot-booking-drawer-open .abientot-bookings-layout > .abientot-booking-sidebar,
	.abientot-customer-drawer-open .abientot-customers-layout > .abientot-customer-sidebar {
		display: block !important;
	}

	.abientot-booking-drawer-open [data-abientot-booking-form-open],
	.abientot-customer-drawer-open [data-abientot-customer-sidebar-open] {
		display: none !important;
	}

	.abientot-responsive-create,
	.abientot-responsive-close {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}

	.abientot-bookings-toolbar,
	.abientot-customers-toolbar {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		align-items: end;
	}

	.abientot-bookings-toolbar > .abientot-bookings-filters,
	.abientot-customers-toolbar > .abientot-filters {
		flex: 1 1 520px;
	}

	.abientot-bookings-toolbar > .abientot-responsive-create,
	.abientot-customers-toolbar > .abientot-responsive-create {
		flex: 0 0 auto;
		min-height: 38px;
	}

	.abientot-bookings-layout > .abientot-booking-sidebar:not(.is-editing-booking) [data-abientot-booking-form-close] {
		display: inline-flex !important;
	}

	.abientot-calendar-time-day .abientot-calendar-day-head {
		align-items: flex-start;
		padding: 6px;
		font-size: 11px;
		line-height: 1.25;
	}

	.abientot-calendar-time-day .abientot-calendar-day-create {
		flex: 0 0 30px;
		width: 30px;
		padding: 0;
	}

	.abientot-calendar-time-day .abientot-calendar-day-create-label {
		display: none;
	}

	.abientot-booking-sidebar:not([hidden]),
	.abientot-customer-sidebar:not([hidden]) {
		position: fixed;
		top: 0;
		inset-inline-end: 0;
		bottom: 0;
		z-index: 10020;
		box-sizing: border-box;
		width: min(440px, calc(100vw - 24px));
		height: 100dvh;
		max-height: none;
		margin: 0;
		border-radius: 0;
		overflow-x: hidden;
		overflow-y: auto;
		box-shadow: -16px 0 36px rgba(23, 32, 51, 0.24);
	}

	.abientot-customer-sidebar [data-abientot-customer-create-panel] > .abientot-panel-heading {
		position: sticky;
		top: -18px;
		z-index: 4;
		margin: -18px -20px 12px;
		padding: 18px 20px 12px;
		border-bottom: 1px solid var(--abientot-admin-line);
		background: #fff;
		box-shadow: 0 6px 10px rgba(23, 32, 51, 0.08);
	}
}

@media (max-width: 782px) {
	.abientot-bookings-table tbody,
	.abientot-customers-table tbody {
		grid-template-columns: minmax(0, 1fr);
	}

	.abientot-calendar-tools .abientot-filters {
		grid-template-columns: minmax(0, 1fr);
	}

	.abientot-calendar-grid.is-month {
		grid-template-columns: minmax(0, 1fr);
		overflow-x: visible;
	}
}

@supports not (color: color-mix(in srgb, #000 10%, transparent)) {
	.abientot-calendar-event {
		background: #f6f7f7;
		box-shadow: none;
	}
}

@media (max-width: 782px) {
	.abientot-admin {
		--abientot-admin-topbar-height: 132px;
		--abientot-admin-sticky-gap: 12px;
	}

	.abientot-fullscreen-admin .abientot-admin {
		padding: var(--abientot-admin-sticky-top) 12px 12px;
	}

	.abientot-admin-topbar {
		padding: 12px;
	}

	.abientot-admin-topbar h1 {
		font-size: 21px;
	}

	.abientot-admin-brand-signature {
		position: static;
		order: 3;
		flex-basis: 100%;
		width: 100%;
		height: 42px;
		gap: 12px;
		transform: none;
	}

	.abientot-admin-brand-business {
		max-width: min(58vw, 360px);
		font-size: clamp(17px, 5.4vw, 23px);
	}

	.abientot-admin-brand-endorsement {
		font-size: 9px;
		letter-spacing: 0.08em;
	}

	.abientot-admin-brand-divider {
		height: 24px;
	}

	.abientot-admin-layout {
		grid-template-columns: 1fr;
	}

	.abientot-admin-sidebar {
		position: static;
	}

	.abientot-admin-nav a {
		justify-content: flex-start;
	}

	.abientot-panel {
		padding: 14px;
	}

	.abientot-panel .form-table th,
	.abientot-panel .form-table td {
		display: block;
		width: 100%;
		padding-inline-end: 0;
		padding-inline-start: 0;
	}

	.abientot-panel .form-table td {
		padding-top: 4px;
	}

	.abientot-grid {
		grid-template-columns: 1fr;
	}

	.abientot-form-editor {
		grid-template-columns: minmax(0, 1fr);
	}

	.abientot-form-editor__preview {
		position: static;
		min-width: 0;
	}

	.abientot-form-preview-stage {
		padding: 12px;
		overflow-x: hidden;
	}

	.abientot-bookings-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.abientot-bookings-layout > [data-abientot-bookings-panel] {
		position: static;
		max-height: none;
	}

	.abientot-bookings-filters {
		grid-template-columns: minmax(0, 1fr);
	}

	.abientot-bookings-toolbar-actions {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: 1fr 1fr;
		min-width: 0;
	}

	.abientot-bookings-toolbar-actions .button {
		width: 100%;
	}

	.abientot-dashboard-kpis {
		grid-template-columns: 1fr;
	}

	.abientot-dashboard-period .abientot-dashboard-filters,
	.abientot-dashboard-tiles,
	.abientot-dashboard-kpis--money {
		grid-template-columns: 1fr;
	}

	.abientot-dashboard-period {
		position: static;
		padding: 10px;
	}

	.abientot-bookings-toolbar {
		position: static;
		padding: 10px;
	}

	.abientot-dashboard-section-summary {
		align-items: flex-start;
		padding: 14px;
	}

	.abientot-dashboard-section-body {
		padding: 14px;
	}

	.abientot-chart-bars li {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.abientot-inline-form {
		display: grid;
		grid-template-columns: 1fr;
	}

	.abientot-filters {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.abientot-detail-list {
		grid-template-columns: 1fr;
	}

	.abientot-email-template-grid,
	.abientot-status-labels label {
		grid-template-columns: 1fr;
	}

	.abientot-calendar-tools {
		position: static;
	}

	.abientot-customers-toolbar {
		position: static;
	}

	.abientot-segmented {
		width: 100%;
	}

	.abientot-calendar-heading {
		width: calc(100% + 40px);
	}

	.abientot-segmented label {
		flex: 1;
		justify-content: center;
	}

	.abientot-calendar-grid.is-week,
	.abientot-calendar-grid.is-month {
		grid-template-columns: 1fr;
		overflow-x: visible;
		border: 0;
		background: transparent;
	}

	.abientot-calendar-grid.is-time-grid {
		overflow-x: auto;
	}

	.abientot-calendar-timegrid {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.abientot-calendar-month-label {
		display: none;
	}

	.abientot-calendar-month-day {
		min-height: 0;
		border: 1px solid #c3c4c7;
	}

	.abientot-calendar-month-day[style] {
		grid-column-start: auto !important;
	}
}

@media print {
	#adminmenumain,
	#wpadminbar,
	#wpfooter,
	.notice,
	.abientot-admin-sidebar,
	.abientot-calendar-tools,
	.abientot-calendar-heading .button,
	.abientot-calendar-month-label,
	.abientot-calendar-month-day:empty {
		display: none !important;
	}

	#wpcontent,
	#wpbody-content {
		margin: 0 !important;
		padding: 0 !important;
	}

	.abientot-admin,
	.abientot-panel {
		max-width: none;
		margin: 0;
		border: 0;
		box-shadow: none;
	}

	.abientot-calendar-grid.is-week,
	.abientot-calendar-grid.is-month {
		grid-template-columns: 1fr;
	}

	.abientot-calendar-event {
		break-inside: avoid;
		box-shadow: none;
	}
}
.abientot-configured-date {
	display: inline-flex;
	position: relative;
	align-items: stretch;
}

.abientot-configured-date-native {
	position: absolute !important;
	inline-size: 1px !important;
	block-size: 1px !important;
	opacity: 0;
	pointer-events: none;
}

.abientot-configured-date > input[type='text'] {
	min-inline-size: 10.5rem;
	border-start-end-radius: 0;
	border-end-end-radius: 0;
}

.abientot-configured-date-button {
	min-inline-size: 40px;
	margin-inline-start: -1px !important;
	border-start-start-radius: 0 !important;
	border-end-start-radius: 0 !important;
}

/* Direction follows the plugin root, independently of the WordPress locale. */
.abientot-admin :is(th, td):dir(rtl) {
	text-align: start;
}
.abientot-admin :is(input, textarea)[dir='ltr'] {
	text-align: start;
	unicode-bidi: isolate;
}
.abientot-notification-stack .notice-dismiss {
	right: auto;
	inset-inline-end: 0;
}
.abientot-notification-stack:dir(rtl) .abientot-notification.is-leaving {
	transform: translateX(-24px);
}
.abientot-booking-sidebar:dir(rtl):not(.is-open) {
	transform: translateX(-18px);
}
.abientot-booking-sidebar.is-drawer:dir(rtl) {
	box-shadow: 16px 0 36px rgba(23, 32, 51, 0.22);
}
.abientot-booking-sidebar.is-drawer:dir(rtl):not(.is-open) {
	transform: translateX(-100%);
}
.abientot-email-template-card:dir(rtl) > summary::before {
	transform: rotate(45deg);
}
.abientot-email-template-card[open]:dir(rtl) > summary::before {
	transform: rotate(-45deg);
}
.abientot-admin
	:is(
		.dashicons-arrow-left-alt2,
		.dashicons-arrow-right-alt2,
		.dashicons-arrow-left-alt,
		.dashicons-arrow-right-alt
	):dir(rtl) {
	transform: scaleX(-1);
}
/* Numeric table totals keep their semantic end alignment. */
.abientot-admin :is(.abientot-booking-col-money, .abientot-booking-money):dir(rtl) {
	text-align: end;
}

.abientot-admin
	input:is(
		[type='email'],
		[type='url'],
		[type='tel'],
		[type='number'],
		[type='date'],
		[type='time'],
		[type='datetime-local']
	) {
	direction: ltr;
	unicode-bidi: isolate;
	text-align: start;
}

/* Translated form controls fit the stacked editor on phones. */
@media (max-width: 600px) {
	.abientot-admin .abientot-form-editor__preview {
		grid-template-columns: minmax(0, 1fr);
	}
	.abientot-admin .abientot-form-preview-panel {
		min-width: 0;
	}
	.abientot-admin .abientot-form-preview-header {
		flex-wrap: wrap;
	}
	.abientot-admin .abientot-form-field-row {
		grid-template-columns: minmax(0, 1fr) auto;
		min-width: 0;
	}
	.abientot-admin .abientot-form-field-row--head {
		display: none;
	}
	.abientot-admin .abientot-form-field-row > label:not(.abientot-form-field-required) {
		grid-column: 1 / -1;
		min-width: 0;
	}
	.abientot-admin .abientot-form-field-required {
		min-width: 0;
		white-space: normal;
		overflow-wrap: anywhere;
	}
	.abientot-admin .abientot-form-field-required input {
		flex-shrink: 0;
	}
}

/* Keep WordPress submit rows aligned with the plugin's reading direction. */
.abientot-admin .submit {
	text-align: start;
}

/* Status stays readable when service colours identify compact appointments. */
.abientot-calendar-event-status {
	margin-inline-start: 6px;
	padding: 1px 4px;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.85);
	color: #5e7274;
	font-size: 10px;
	font-weight: 600;
}

/* Compact month tiles keep a whole month scannable; expanded days retain details. */
.abientot-calendar-grid.is-month .abientot-calendar-month-events:not(.is-expanded-overlay) .abientot-calendar-event {
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	column-gap: 5px;
	padding: 5px 6px;
}
.abientot-calendar-grid.is-month
	.abientot-calendar-month-events:not(.is-expanded-overlay)
	.abientot-calendar-event
	strong {
	font-size: 12px;
	line-height: 1.3;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.abientot-calendar-grid.is-month
	.abientot-calendar-month-events:not(.is-expanded-overlay)
	.abientot-calendar-event-time {
	font-size: 10px;
	white-space: nowrap;
}
.abientot-calendar-grid.is-month
	.abientot-calendar-month-events:not(.is-expanded-overlay)
	.abientot-calendar-event-detail {
	display: none;
}
.abientot-calendar-event-status {
	display: inline-block;
	max-inline-size: 65px;
	vertical-align: middle;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.abientot-calendar-event:hover .abientot-calendar-event-status,
.abientot-calendar-event:focus .abientot-calendar-event-status {
	max-inline-size: 110px;
}
.abientot-calendar-month-day:empty {
	background: #fff;
}
.abientot-calendar-grid.is-month:not(.is-responsive-month) {
	background: #fff;
}

/* Approved calendar layouts: business-time staff lanes and compact month chips. */
.abientot-calendar-tools .abientot-filters {
	align-items: center;
	gap: 14px;
}
.abientot-calendar-tools .abientot-segmented {
	align-self: center;
}
.abientot-calendar-tools .abientot-filter-field {
	flex: 1 1 145px;
}
.abientot-calendar-period-control {
	display: flex;
	align-items: center;
	border: 1px solid #e2e6e9;
	border-radius: 10px;
	overflow: hidden;
	min-height: 44px;
}
.abientot-calendar-period-control .button {
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #117563;
	min-width: 36px;
	font-size: 24px;
}
.abientot-calendar-period-date {
	position: relative;
	display: grid;
	align-content: center;
	min-width: 200px;
	max-width: 340px;
	min-height: 44px;
	padding: 0 12px;
	text-align: center;
	color: #131f29;
	font-weight: 650;
	border-inline: 1px solid #e2e6e9;
}
.abientot-calendar-period-date input {
	position: absolute;
	inset: 0;
	width: 100%;
	opacity: 0;
	cursor: pointer;
}
.abientot-calendar-period-date:focus-within {
	outline: 2px solid #46c8b2;
	outline-offset: -2px;
}
.abientot-calendar-period-date input[type='text'] {
	z-index: 1;
}
.abientot-calendar-period-date:focus-within input[type='text'] {
	opacity: 1;
	background: #fff;
}
.abientot-calendar-tools .abientot-calendar-today {
	min-height: 44px;
	color: #117563;
}
.abientot-calendar-tools .abientot-print-day {
	margin-inline-start: auto;
}
.abientot-calendar .abientot-calendar-heading {
	display: none;
}
.abientot-calendar-status:empty {
	display: none;
}
.abientot-calendar .abientot-calendar-grid.is-staff-grid {
	display: block;
	padding: 0;
	overflow: visible;
	border: 0;
	background: transparent;
}
.abientot-calendar-week-navigator {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 0;
	margin-bottom: 14px;
	border: 1px solid #e2e6e9;
	border-radius: 8px;
	overflow: hidden;
}
.abientot-calendar-week-navigator button {
	min-height: 62px;
	padding: 8px;
	border: 0;
	border-inline-end: 1px solid #e2e6e9;
	background: #fff;
	color: #117563;
	cursor: pointer;
	font: inherit;
}
.abientot-calendar-week-navigator button:last-child {
	border-inline-end: 0;
}
.abientot-calendar-week-navigator button:is(.is-current, [aria-pressed='true']) {
	color: #117563;
	background: #fff;
	box-shadow: inset 0 0 0 1px #46c8b2;
	font-weight: 700;
}
.abientot-calendar-week-navigator button:focus-visible {
	outline: 2px solid #46c8b2;
	outline-offset: -3px;
}
.abientot-calendar-staff-scroll {
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: auto;
	scrollbar-color: #bfebdf #e6f8f2;
	padding-bottom: 12px;
}
.abientot-calendar-staff-scroll:focus-visible {
	outline: 2px solid #46c8b2;
}
.abientot-calendar-staff-days {
	display: flex;
	gap: 0;
	width: max-content;
	min-width: 100%;
	align-items: stretch;
}
.abientot-calendar .abientot-calendar-staff-day.abientot-calendar-time-day {
	display: block;
	grid-row: auto;
	flex: 0 0 auto;
	min-width: calc(68px + var(--abientot-staff-count) * 195px);
	width: calc(68px + var(--abientot-staff-count) * 195px);
	border: 1px solid #e2e6e9;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	outline: 0;
}
.abientot-calendar-grid.is-day .abientot-calendar-staff-day {
	width: 100%;
	flex: 1 0 auto;
	min-width: calc(68px + var(--abientot-staff-count) * 240px);
}
.abientot-calendar-grid.is-week .abientot-calendar-staff-day.is-empty-staff-day {
	width: 360px;
	min-width: 360px;
}
.abientot-calendar-staff-day-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 68px;
	padding: 12px 20px;
	border-bottom: 1px solid #e2e6e9;
	font-size: 19px;
	font-weight: 750;
	color: #131f29;
	box-sizing: border-box;
}
.abientot-calendar .abientot-calendar-staff-add {
	color: #117563;
	background: #fff;
	border: 0;
	border-radius: 9px;
	padding: 6px 14px;
	font-weight: 650;
	white-space: nowrap;
}
.abientot-calendar-staff-body {
	display: grid;
	grid-template-columns: 68px repeat(var(--abientot-staff-count), minmax(0, 1fr));
}
.abientot-calendar-staff-column {
	min-width: 0;
	border-inline-start: 1px solid #e2e6e9;
}
.abientot-calendar-staff-head {
	height: 76px;
	padding: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border-bottom: 1px solid #e2e6e9;
	box-sizing: border-box;
	color: #131f29;
}
.abientot-calendar-staff-head strong {
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 14px;
}
.abientot-calendar-portrait {
	display: inline-flex;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #e6f8f2;
	object-fit: cover;
	color: #117563;
	font-weight: 700;
}
.abientot-calendar-grid.is-day .abientot-calendar-portrait {
	width: 54px;
	height: 54px;
	flex-basis: 54px;
}
.abientot-calendar-grid.is-day .abientot-calendar-staff-head strong {
	font-size: 17px;
}
.abientot-calendar-staff-axis .abientot-calendar-time-labels span {
	inset-inline-end: 10px;
	font-size: 12px;
	color: #117563;
}
.abientot-calendar-staff-column .abientot-calendar-time-lane {
	background: repeating-linear-gradient(
		to bottom,
		#e6f8f2 0,
		#e6f8f2 1px,
		transparent 1px,
		transparent var(--abientot-slot-height)
	);
}
.abientot-calendar-staff-column .abientot-calendar-unavailable {
	background: repeating-linear-gradient(
		-45deg,
		rgba(145, 166, 162, 0.07) 0,
		rgba(145, 166, 162, 0.07) 5px,
		rgba(145, 166, 162, 0.13) 5px,
		rgba(145, 166, 162, 0.13) 10px
	);
}
.abientot-calendar-staff-column .abientot-calendar-event.is-time-grid-event {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 7px 10px;
	border-radius: 7px;
	border-color: color-mix(in srgb, var(--abientot-event-color) 22%, #fff);
	border-inline-start: 5px solid var(--abientot-event-color);
	box-sizing: border-box;
	margin: 0;
	color: #131f29;
	grid-template-columns: none;
}
.abientot-calendar-staff-column .abientot-calendar-event-time {
	display: block;
	font-size: 11px;
	line-height: 1.3;
	padding-inline-end: 10px;
}
.abientot-calendar-staff-column .abientot-calendar-event-time::after,
.abientot-calendar-month-panel .is-month-chip::after,
.is-month-layout .is-month-chip::after {
	content: '';
	position: absolute;
	inset-inline-end: 8px;
	top: 10px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--abientot-event-color);
}
.abientot-calendar-staff-column .abientot-calendar-event strong {
	display: block;
	font-size: 13px;
	line-height: 1.35;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex-shrink: 0;
}
.abientot-calendar-staff-column .abientot-calendar-event-detail {
	display: block;
	font-size: 12px;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.abientot-calendar-staff-column .abientot-calendar-event-status {
	display: none;
}
.abientot-calendar-grid.is-day .abientot-calendar-event-status {
	position: absolute;
	inset-inline-end: 9px;
	bottom: 9px;
	display: inline-block;
	max-inline-size: 45%;
	border-radius: 20px;
	padding: 3px 9px;
	font-size: 11px;
	background: color-mix(in srgb, var(--abientot-event-color) 17%, #fff);
	color: #131f29;
}
.abientot-calendar-grid.is-day .abientot-calendar-event strong {
	font-size: 15px;
}
.abientot-calendar-grid.is-day .abientot-calendar-event-detail {
	font-size: 14px;
	padding-inline-end: 38%;
}
.abientot-calendar-staff-column .abientot-calendar-event.is-short-event {
	flex-direction: row;
	align-items: center;
	gap: 6px;
	min-height: 16px;
	padding-block: 0;
	padding-inline: 8px 6px;
	overflow: hidden;
}
.abientot-calendar-staff-column .abientot-calendar-event.is-short-event:is(:hover, :focus, :focus-visible) {
	z-index: 4;
}
.abientot-calendar-staff-column .abientot-calendar-event.is-short-event .abientot-calendar-event-time {
	flex: 0 0 auto;
	padding: 0;
	font-size: 10.5px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.abientot-calendar-staff-column .abientot-calendar-event.is-short-event .abientot-calendar-event-time::after,
.abientot-calendar-staff-column .abientot-calendar-event.is-short-event .abientot-calendar-event-status {
	display: none;
}
.abientot-calendar-staff-column .abientot-calendar-event.is-short-event strong {
	flex: 0 1 auto;
	min-width: 2.5em;
	font-size: 11.5px;
}
.abientot-calendar-staff-column .abientot-calendar-event.is-short-event .abientot-calendar-event-detail {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 40%;
	font-size: 11px;
	color: #5b6670;
}
.abientot-calendar-staff-column .abientot-calendar-event:focus-visible {
	outline: 2px solid #117563;
	outline-offset: -2px;
	z-index: 2;
}
.abientot-calendar .abientot-calendar-grid.is-month-layout {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 1px;
	overflow: visible;
	background: #e6f8f2;
	border: 1px solid #e2e6e9;
	border-radius: 10px;
}
.abientot-calendar .is-month-layout .abientot-calendar-month-label {
	min-height: 34px;
	padding: 4px 8px;
	background: #fff;
	color: #131f29;
	font-size: 12px;
}
.abientot-calendar .is-month-layout .abientot-calendar-month-day {
	min-height: 160px;
	background: #fff;
	border: 0;
}
.abientot-calendar .is-month-layout .abientot-calendar-month-day.is-current {
	outline: 1px solid #46c8b2;
	outline-offset: -1px;
	border-radius: 8px;
	background: #fff;
}
.abientot-calendar .is-month-layout .abientot-calendar-month-head {
	min-height: 32px;
	padding: 4px 10px;
	background: transparent;
	border: 0;
	font-size: 12px;
}
.abientot-calendar .is-month-layout .abientot-calendar-month-day.is-outside-month .abientot-calendar-date-link {
	color: #91a6a2;
}
.abientot-calendar .is-month-layout .abientot-calendar-month-events {
	padding: 0 8px 8px;
	gap: 4px;
}
.abientot-calendar .is-month-layout .abientot-calendar-month-events .is-month-chip,
.abientot-calendar-month-panel .is-month-chip {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 5px;
	row-gap: 1px;
	padding: 4px 10px 4px 7px;
	border-radius: 5px;
	border: 1px solid color-mix(in srgb, var(--abientot-event-color) 15%, #fff);
	border-inline-start: 3px solid var(--abientot-event-color);
	overflow: hidden;
}
.abientot-calendar .is-month-layout .is-month-chip .abientot-calendar-event-time,
.abientot-calendar-month-panel .is-month-chip .abientot-calendar-event-time {
	font-size: 10px;
	white-space: nowrap;
}
.abientot-calendar .is-month-layout .is-month-chip strong,
.abientot-calendar-month-panel .is-month-chip strong {
	font-size: 11px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-inline-end: 7px;
}
.abientot-calendar .is-month-layout .is-month-chip .abientot-calendar-event-detail,
.abientot-calendar-month-panel .is-month-chip .abientot-calendar-event-detail {
	display: block;
	grid-column: 1 / -1;
	font-size: 11px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #117563;
}
.abientot-calendar .is-month-layout .abientot-calendar-more {
	background: #e6f8f2;
	color: #117563;
	border: 0;
	border-radius: 6px;
	font-size: 12px;
	padding: 3px 8px;
	text-align: center;
}
.abientot-calendar-closed {
	margin: 22px 0;
	text-align: center;
	color: #91a6a2;
	font-size: 12px;
}
.abientot-calendar-month-panel {
	position: fixed;
	z-index: 100010;
	display: flex;
	flex-direction: column;
	padding: 14px;
	border: 1px solid #e2e6e9;
	border-radius: 12px;
	background: #fff;
	color: #131f29;
	box-shadow: 0 5px 22px rgba(19, 31, 41, 0.15);
	box-sizing: border-box;
	font-family: inherit;
}
.abientot-calendar-month-panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}
.abientot-calendar-month-panel-head strong {
	font-size: 14px;
}
.abientot-calendar-month-panel-head button {
	border: 0;
	background: transparent;
	color: #117563;
	font-size: 24px;
	cursor: pointer;
	padding: 0 4px;
}
.abientot-calendar-month-panel-list {
	overflow-y: auto;
	min-height: 0;
}
.abientot-calendar-month-panel-row {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 8px;
	align-items: center;
	margin-bottom: 8px;
}
.abientot-calendar-month-panel .is-month-chip {
	border: 0;
	background: #fff;
	box-shadow: none;
	padding: 7px 14px 7px 0;
	text-decoration: none;
	color: #131f29;
}
.abientot-calendar-view-day {
	display: block;
	flex-shrink: 0;
	background: #e6f8f2;
	border-radius: 8px;
	color: #117563;
	padding: 10px;
	margin-top: 10px;
	text-align: center;
	text-decoration: none;
	font-weight: 600;
}
.abientot-calendar-month-panel :is(a, button):focus-visible {
	outline: 2px solid #46c8b2;
	outline-offset: 2px;
}
@media (max-width: 782px) {
	.abientot-calendar-week-navigator {
		overflow-x: auto;
		grid-template-columns: repeat(7, minmax(72px, 1fr));
	}
	.abientot-calendar-staff-day-head {
		font-size: 15px;
		padding: 12px;
	}
	.abientot-calendar .abientot-calendar-grid.is-month-layout {
		grid-template-columns: repeat(7, minmax(120px, 1fr));
		min-width: 840px;
	}
	.abientot-calendar[data-view='month'] {
		overflow-x: auto;
	}
	.abientot-calendar-period-date {
		min-width: 170px;
	}
}
@media print {
	.abientot-calendar-week-navigator,
	.abientot-calendar-month-panel,
	.abientot-calendar-staff-add {
		display: none !important;
	}
	.abientot-calendar-staff-scroll {
		overflow: visible;
	}
	.abientot-calendar-staff-days {
		width: 100%;
	}
	.abientot-calendar .abientot-calendar-staff-day.abientot-calendar-time-day {
		break-inside: avoid;
	}
}
.abientot-calendar-staff-days {
	position: relative;
}
.abientot-admin .abientot-calendar-tools .abientot-filters {
	align-items: center;
}
.abientot-calendar-period-date input.abientot-native-date-picker {
	opacity: 0;
	z-index: 1;
}
.abientot-admin .abientot-calendar-tools .abientot-filter-field {
	flex: 1 1 140px;
	min-width: 120px;
}
.abientot-calendar-tools .abientot-print-day {
	width: 40px;
	min-width: 40px;
	min-height: 40px;
	overflow: hidden;
	font-size: 0;
}
.abientot-calendar-tools .abientot-print-day::before {
	content: '\f193';
	font-family: dashicons;
	font-size: 18px;
}
.abientot-calendar-tools button[hidden] {
	display: none !important;
}
.abientot-calendar-period-date {
	min-width: 190px;
	max-width: 260px;
	font-size: 12px;
}

/* Offset-changing bookings retain exact labels outside the linear wall-time grid. */
.abientot-calendar-time-change-strip {
	padding: 12px 16px;
	border-bottom: 1px solid #e2e6e9;
	background: #fff;
}
.abientot-calendar-time-change-strip h3 {
	margin: 0 0 8px;
	color: #117563;
	font-size: 13px;
	line-height: 1.4;
}
.abientot-calendar-time-change-events {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 8px;
}
.abientot-calendar-time-change-event {
	cursor: pointer;
}
.abientot-calendar-time-change-event .abientot-calendar-event-time {
	font-size: 11px;
	white-space: normal;
}
.abientot-calendar-time-change-event .abientot-calendar-event-detail {
	font-size: 12px;
}

/* Resource bookings (tables, rooms): numbered circles in time buckets that sit at their real time. */
.abientot-calendar-guest-row {
	position: absolute;
	inset-inline: 4px;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	gap: 4px;
	box-sizing: border-box;
	pointer-events: none;
}
.abientot-calendar-guest-chips {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 4px;
	min-width: 0;
	height: 100%;
}
.abientot-calendar-guest,
.abientot-calendar-guest-more {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	pointer-events: auto;
	cursor: pointer;
}
.abientot-calendar-guest {
	border: 2px solid color-mix(in srgb, var(--abientot-event-color) 35%, #d7dde1);
	background: #eef1f3;
	color: #131f29;
	text-decoration: none;
	transition:
		transform 0.12s ease,
		background-color 0.12s ease;
}
.abientot-calendar-guest:hover,
.abientot-calendar-guest:focus-visible {
	z-index: 3;
	transform: scale(1.12);
	background: #fff;
	border-color: var(--abientot-event-color);
	color: #131f29;
	outline: none;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--abientot-event-color) 25%, transparent);
}
.abientot-calendar-guest.is-pending {
	border-style: dashed;
	border-color: #d99a1c;
}
.abientot-calendar-guest.is-confirmed {
	background: #fff;
}
.abientot-calendar-guest.is-no_show {
	border-color: #c2412d;
	color: #c2412d;
}
.abientot-calendar-guest.is-cancelled {
	opacity: 0.45;
	text-decoration: line-through;
}
.abientot-calendar-guest.is-dragging {
	opacity: 0.2;
}
.abientot-calendar-guest.is-overflow {
	display: none;
}
.is-guest-compact .abientot-calendar-guest,
.is-guest-compact .abientot-calendar-guest-more {
	height: 22px;
	font-size: 11px;
}
.is-guest-compact .abientot-calendar-guest {
	flex-basis: 22px;
	width: 22px;
}
.abientot-admin .abientot-calendar .abientot-calendar-guest-row button.abientot-calendar-guest-more {
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 2px dashed #46c8b2;
	border-radius: 50% !important;
	background: #fff;
	color: #0d5c4e;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
	box-shadow: none;
}
.abientot-admin .abientot-calendar .is-guest-compact .abientot-calendar-guest-row button.abientot-calendar-guest-more {
	flex-basis: 22px;
	width: 22px;
	height: 22px;
	font-size: 9px;
}
.abientot-admin
	.abientot-calendar
	.abientot-calendar-guest-row
	button.abientot-calendar-guest-more:is(:hover, :focus-visible, [aria-expanded='true']) {
	border-style: solid;
	border-color: #117563;
	background: #117563;
	color: #fff;
	outline: none;
}
.abientot-calendar-guest-row.is-expanded {
	z-index: 6;
	height: auto !important;
	padding: 4px;
	margin: -4px;
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 32, 0.18);
}
.abientot-calendar-guest-row.is-expanded .abientot-calendar-guest-chips {
	height: auto;
	overflow: visible;
}
.abientot-calendar-guest-row.is-expanded .abientot-calendar-guest.is-overflow {
	display: inline-flex;
}
.abientot-calendar-guest-tip {
	position: absolute;
	bottom: calc(100% + 8px);
	inset-inline-start: 50%;
	z-index: 5;
	display: none;
	min-width: 140px;
	max-width: 220px;
	padding: 7px 10px;
	border-radius: 7px;
	background: #1d2a33;
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	text-align: start;
	text-decoration: none;
	white-space: normal;
	transform: translateX(-50%);
	box-shadow: 0 6px 18px rgba(15, 23, 32, 0.25);
	pointer-events: none;
}
[dir='rtl'] .abientot-calendar-guest-tip {
	transform: translateX(50%);
}
.abientot-calendar-guest-tip strong,
.abientot-calendar-guest-tip span {
	display: block;
}
.abientot-calendar-guest-tip strong {
	font-weight: 600;
}
.abientot-calendar-guest-tip::after {
	content: '';
	position: absolute;
	top: 100%;
	inset-inline-start: 50%;
	margin-inline-start: -5px;
	border: 5px solid transparent;
	border-top-color: #1d2a33;
}
.abientot-calendar-guest-row.is-tip-below .abientot-calendar-guest-tip {
	top: calc(100% + 8px);
	bottom: auto;
}
.abientot-calendar-guest-row.is-tip-below .abientot-calendar-guest-tip::after {
	top: auto;
	bottom: 100%;
	border-top-color: transparent;
	border-bottom-color: #1d2a33;
}
.abientot-calendar-guest:hover .abientot-calendar-guest-tip,
.abientot-calendar-guest:focus-visible .abientot-calendar-guest-tip {
	display: block;
}
/* Unassigned column with resource bookings: one strip per category, named in the column header. */
.abientot-calendar-guest-group {
	position: absolute;
	top: 0;
	bottom: 0;
	pointer-events: none;
}
.abientot-calendar-guest-group.is-following {
	border-inline-start: 1px dashed #cfe9e1;
}
.abientot-calendar-guest-group > .abientot-calendar-event {
	pointer-events: auto;
}
.abientot-calendar-staff-head.has-guest-groups {
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	gap: 4px;
	padding-inline: 0;
}
.abientot-calendar-staff-head.has-guest-groups > .abientot-calendar-portrait {
	display: none;
}
.abientot-calendar-staff-head.has-guest-groups > strong {
	padding-inline: 10px;
	color: #5b6670;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-align: center;
	white-space: nowrap;
}
.abientot-calendar-guest-groups {
	display: grid;
	min-width: 0;
}
.abientot-calendar-guest-group-label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-width: 0;
	margin: 0 2px;
	padding: 3px 7px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--abientot-group-color) 12%, #fff);
	color: #131f29;
	font-size: 11.5px;
	font-weight: 650;
	line-height: 1.3;
}
.abientot-calendar-guest-group-label span {
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.abientot-calendar-guest-group-label i {
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--abientot-group-color);
}
@media print {
	.abientot-calendar-guest-tip,
	.abientot-calendar-guest-more {
		display: none !important;
	}
	.abientot-calendar-guest.is-overflow {
		display: inline-flex;
	}
}

/* Details card for short bookings (outside the event, so never clipped). */
.abientot-calendar-hovercard {
	position: fixed;
	z-index: 100000;
	max-width: 240px;
	padding: 8px 11px 8px 13px;
	border-radius: 8px;
	border-inline-start: 4px solid var(--abientot-event-color, #117563);
	background: #1d2a33;
	color: #fff;
	font-size: 12px;
	line-height: 1.45;
	box-shadow: 0 8px 22px rgba(15, 23, 32, 0.28);
	pointer-events: none;
}
.abientot-calendar-hovercard[hidden] {
	display: none;
}
.abientot-calendar-hovercard > * {
	display: block;
}
.abientot-calendar-hovercard strong {
	font-weight: 600;
	opacity: 0.85;
}
.abientot-calendar-hovercard b {
	font-size: 13px;
	font-weight: 650;
}

.abientot-whatsapp-link {
	margin-inline-start: 8px;
}

.abientot-detail-list dd .abientot-whatsapp-link {
	margin-block-start: 4px;
}

/* Share kit (dashboard card) */
.abientot-share-kit + .abientot-share-kit { border-top: 1px solid #dcdcde; margin-top: 12px; padding-top: 4px; }
.abientot-share-kit a[data-abientot-share-url] { word-break: break-all; }
.abientot-share-kit__actions .button { margin: 0 4px 4px 0; }
.abientot-share-kit__qr { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 8px 0; }
.abientot-share-kit__code { width: 180px; max-width: 100%; background: #fff; }
.abientot-share-kit__code svg { display: block; width: 100%; height: auto; }
.abientot-share-kit__tips ul { list-style: disc; margin-left: 1.5em; }
