.bwh-plan-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 18px;
	margin: 24px 0;
}

.bwh-public-booking {
	max-width: 1180px;
	margin: 0 auto;
	padding: 34px;
	border: 1px solid #e4dde0;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08);
}

.bwh-public-booking__head {
	display: grid;
	grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1fr);
	gap: 18px;
	align-items: end;
	margin-bottom: 24px;
}

.bwh-public-booking__head h2 {
	margin: 0;
	font-size: 34px;
	line-height: 1.05;
}

.bwh-public-booking__head .bwh-chile-clock {
	margin: 0;
	color: #24536a;
	font-size: 14px;
	font-weight: 700;
}

.bwh-public-booking__head .bwh-public-booking__pricing {
	grid-column: 1 / -1;
	margin: 0;
	padding: 12px 14px;
	border-left: 3px solid #ff5a00;
	border-radius: 6px;
	background: #fff4ec;
	color: #5d310e;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
}

.bwh-public-booking__head .bwh-public-booking__rates {
	margin: 0;
	color: #111111;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.45;
}

.bwh-public-booking__head p:last-child {
	margin: 0;
	color: #566275;
	font-size: 17px;
	line-height: 1.45;
}

.bwh-public-booking__controls {
	display: grid;
	grid-template-columns: minmax(340px, 1.35fr) minmax(230px, 1fr) minmax(160px, 0.65fr);
	gap: 14px;
	padding: 18px;
	border-radius: 12px;
	background: #f8fafc;
	border: 1px solid #e1e8f0;
}

.bwh-public-booking label {
	display: grid;
	gap: 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #20314d;
}

.bwh-public-booking select,
.bwh-public-booking input,
.bwh-public-booking textarea {
	width: 100%;
	border: 1px solid #d9e1ea;
	border-radius: 10px;
	background: #fff;
	color: #07111f;
	font-size: 16px;
	font-weight: 650;
	padding: 13px 14px;
}

.bwh-public-booking textarea {
	min-height: 80px;
	font-weight: 500;
	resize: vertical;
}

.bwh-public-booking__monthly {
	margin: 14px 0 0;
	padding: 11px 14px;
	border: 1px solid #cfe5d4;
	border-radius: 7px;
	background: #f2fbf4;
	color: #245336;
	font-weight: 700;
}

.bwh-public-booking__monthly a {
	margin-left: 8px;
	color: #157d3d;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bwh-public-booking__slots {
	display: grid;
	grid-template-columns: repeat(4, minmax(120px, 1fr));
	gap: 12px;
	margin: 18px 0;
}

.bwh-public-booking__booking-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
	gap: 18px;
	align-items: start;
	margin: 18px 0;
}

.bwh-public-booking__booking-layout .bwh-public-booking__slots {
	margin: 0;
}

.bwh-public-booking__cart {
	position: sticky;
	top: 20px;
	padding: 18px;
	border: 1px solid #dce5ed;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.bwh-public-booking__cart .eyebrow {
	margin: 0 0 6px;
}

.bwh-public-booking__cart h3 {
	margin: 0 0 16px;
	font-size: 20px;
}

.bwh-booking-cart__empty,
.bwh-booking-cart__content p {
	margin: 0 0 12px;
	color: #5f6670;
	font-size: 14px;
	line-height: 1.45;
}

.bwh-booking-cart__content p strong {
	color: #101828;
}

.bwh-booking-cart__content ul {
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
}

.bwh-booking-cart__content li {
	padding: 7px 8px;
	border-radius: 6px;
	background: #fff0e6;
	color: #994000;
	font-size: 13px;
	font-weight: 750;
}

.bwh-booking-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding-top: 14px;
	border-top: 1px solid #e6e9ee;
	font-weight: 800;
}

.bwh-booking-cart__total strong {
	font-size: 23px;
	color: #ff5a00;
}

.bwh-public-booking__slots.is-loading {
	opacity: 0.55;
	pointer-events: none;
}

.bwh-public-booking__details {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	padding: 18px;
	border-radius: 12px;
	background: #fff7f2;
	border: 1px solid #ffd7c2;
}

.bwh-public-booking__details[hidden] {
	display: none;
}

.bwh-public-booking__details > div,
.bwh-public-booking__details label:nth-of-type(3),
.bwh-public-booking__details label:nth-of-type(4),
.bwh-public-booking__details .bwh-booking-conditions,
.bwh-public-booking__details .bwh-button {
	grid-column: 1 / -1;
}

.bwh-public-booking__details > div {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	align-items: center;
	padding: 12px 14px;
	border-radius: 10px;
	background: #111;
	color: #fff;
}

.bwh-public-booking__details > div span {
	color: #ffb38d;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bwh-public-booking__details > div strong {
	text-align: right;
}

.bwh-public-booking__details .bwh-button {
	justify-self: end;
	min-width: 220px;
}

@media (max-width: 780px) {
	.bwh-public-booking {
		padding: 22px;
		border-radius: 12px;
	}

	.bwh-public-booking__head,
	.bwh-public-booking__controls,
	.bwh-public-booking__details,
	.bwh-public-booking__booking-layout {
		grid-template-columns: 1fr;
	}

	.bwh-public-booking__slots {
		grid-template-columns: repeat(2, minmax(120px, 1fr));
	}
}

.bwh-plan-groups {
	display: grid;
	gap: 14px;
	margin: 24px 0;
}

.bwh-plan-group {
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #fff;
}

.bwh-plan-group summary {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	padding: 22px 24px;
	cursor: pointer;
	list-style: none;
}

.bwh-plan-group summary::-webkit-details-marker {
	display: none;
}

.bwh-plan-group summary span:first-child {
	display: grid;
	gap: 4px;
}

.bwh-plan-group summary strong {
	color: #111111;
	font-size: 24px;
	line-height: 1.15;
}

.bwh-plan-group summary small {
	color: #626262;
	font-size: 14px;
}

.bwh-plan-group__indicator {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 12px;
	border-radius: 6px;
	background: #111111;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
}

.bwh-plan-options {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 14px;
	padding: 0 24px 24px;
}

.bwh-plan-card,
.bwh-contract-card,
.bwh-contract-form,
.bwh-panel-card {
	padding: 24px;
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #fff;
}

.bwh-panel-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 18px;
	margin: 20px 0;
}

.bwh-panel-card {
	color: #1a1a1a;
	text-decoration: none;
}

.bwh-panel-intro {
	max-width: 760px;
	color: #626262;
}

.bwh-panel-link {
	display: grid;
	align-content: space-between;
	min-height: 170px;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.bwh-panel-link:hover {
	border-color: #ff5a00;
	box-shadow: 0 10px 28px rgba(17, 17, 17, 0.08);
	transform: translateY(-2px);
}

.bwh-panel-link span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 38px;
	margin-top: 10px;
	padding: 8px 14px;
	border-radius: 6px;
	background: #111111;
	color: #fff;
	font-weight: 800;
}

.bwh-client-dashboard {
	display: grid;
	gap: 20px;
}

.bwh-dashboard-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: end;
	padding: 28px;
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #111111;
	color: #fff;
}

.bwh-dashboard-hero h2 {
	margin: 6px 0;
	color: #fff;
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.05;
}

.bwh-dashboard-hero p,
.bwh-dashboard-status small {
	margin: 0;
	color: rgba(255, 255, 255, 0.76);
}

.bwh-dashboard-kicker {
	color: #ffb48a;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bwh-dashboard-status {
	display: grid;
	gap: 8px;
	justify-items: end;
	text-align: right;
}

.bwh-dashboard-status strong {
	font-size: 18px;
}

.bwh-client-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.bwh-client-strip div {
	display: grid;
	gap: 4px;
	min-width: 0;
	padding: 18px;
	border-right: 1px solid #ded8ce;
}

.bwh-client-strip div:last-child {
	border-right: 0;
}

.bwh-client-strip span,
.bwh-metric-card span {
	color: #626262;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.bwh-client-strip strong {
	overflow: hidden;
	color: #111111;
	text-overflow: ellipsis;
	white-space: nowrap;
}

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

.bwh-dashboard-side {
	display: grid;
	gap: 10px;
	position: sticky;
	top: 96px;
}

.bwh-dashboard-action {
	display: grid;
	gap: 2px;
	padding: 16px;
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #fff;
	color: #111111;
	text-decoration: none;
}

.bwh-dashboard-action:hover,
.bwh-dashboard-action.is-active {
	border-color: #ff5a00;
	box-shadow: 0 12px 28px rgba(17, 17, 17, 0.08);
}

.bwh-dashboard-action span {
	color: #626262;
	font-size: 13px;
}

.bwh-dashboard-main {
	display: grid;
	gap: 18px;
	min-width: 0;
}

.bwh-availability-panel {
	display: grid;
	gap: 18px;
	padding: 24px;
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #fff;
}

.bwh-section-heading {
	display: flex;
	gap: 18px;
	align-items: center;
	justify-content: space-between;
}

.bwh-section-heading h3 {
	margin: 0 0 4px;
	color: #111111;
	font-size: 24px;
}

.bwh-section-heading p {
	margin: 0;
	color: #626262;
}

.bwh-reservation-controls {
	display: grid;
	grid-template-columns: 1.5fr 1fr 160px;
	gap: 12px;
}

.bwh-reservation-controls label {
	display: grid;
	gap: 6px;
	color: #111111;
	font-weight: 800;
}

.bwh-reservation-controls select,
.bwh-reservation-controls input {
	width: 100%;
	min-height: 44px;
	padding: 9px 12px;
	border: 1px solid #ded8ce;
	border-radius: 6px;
	background: #fff;
	color: #111111;
	font: inherit;
}

.bwh-calendar-preview {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.bwh-time-slot {
	display: grid;
	gap: 4px;
	min-height: 82px;
	padding: 14px;
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #f5f3ef;
}

.bwh-time-slot strong {
	color: #111111;
	font-size: 20px;
}

.bwh-time-slot span {
	width: fit-content;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 850;
}

.bwh-time-slot.is-free span {
	background: #e8f5ec;
	color: #174f24;
}

.bwh-time-slot.is-busy {
	background: #fff1e6;
}

.bwh-time-slot.is-busy span {
	background: #ff5a00;
	color: #fff;
}

.bwh-time-slot.is-block-covered {
	border-color: #ff8a4c;
	background: #ff8a4c;
}

.bwh-time-slot.is-block-covered strong {
	color: #ffffff;
}

.bwh-time-slot.is-block-covered span {
	background: #ffffff;
	color: #994000;
}

.bwh-day-slot {
	min-height: 92px;
}

.bwh-public-booking__empty {
	grid-column: 1 / -1;
	margin: 0;
	padding: 18px;
	border: 1px dashed #ded8ce;
	border-radius: 8px;
	color: #655f56;
	text-align: center;
}

.bwh-dashboard-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.bwh-metric-card {
	display: grid;
	gap: 8px;
	padding: 18px;
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #fff;
}

.bwh-metric-card strong {
	color: #111111;
	font-size: 24px;
	line-height: 1.1;
}

.bwh-platform-login {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.75fr);
	gap: 28px;
	align-items: stretch;
	margin: 16px 0 48px;
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 24px 70px rgba(17, 17, 17, 0.08);
	overflow: hidden;
}

.bwh-platform-login__brand {
	display: grid;
	align-content: center;
	gap: 14px;
	min-height: 420px;
	padding: 42px;
	background:
		linear-gradient(90deg, rgba(255, 90, 0, 0.12), rgba(255, 90, 0, 0)),
		linear-gradient(180deg, #ffffff, #f5f3ef);
}

.bwh-platform-login__brand img {
	width: 148px;
	height: auto;
}

.bwh-platform-login__brand span {
	color: #ff5a00;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bwh-platform-login__brand h2 {
	max-width: 520px;
	margin: 0;
	color: #111111;
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1;
}

.bwh-platform-login__brand p {
	max-width: 520px;
	margin: 0;
	color: #626262;
	font-size: 17px;
}

.bwh-platform-login__form {
	display: grid;
	align-content: center;
	gap: 16px;
	padding: 42px;
	background: #111111;
	color: #fff;
}

.bwh-platform-login__form label {
	display: grid;
	gap: 7px;
	font-weight: 800;
}

.bwh-platform-login__form input[type="text"],
.bwh-platform-login__form input[type="password"] {
	width: 100%;
	min-height: 48px;
	padding: 10px 12px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 6px;
	background: #fff;
	color: #111111;
	font: inherit;
}

.bwh-login-row {
	display: flex;
	gap: 14px;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
}

.bwh-login-row a {
	color: #ffb48a;
	font-weight: 800;
	text-decoration: none;
}

.bwh-platform-login__form .bwh-button {
	width: 100%;
	min-height: 50px;
	margin-top: 4px;
}

.bwh-login-error {
	padding: 12px;
	border-radius: 6px;
	background: #fff1e6;
	color: #994000;
	font-weight: 800;
}

.section:has(.bwh-client-panel),
.section:has(.bwh-admin-front),
.section:has(.bwh-platform-login) {
	padding-top: 24px;
}

/* El panel necesita más espacio que una página informativa normal. */
.section:has(.bwh-admin-front) {
	width: 100%;
	margin-left: 0;
	padding-right: 24px;
	padding-left: 24px;
}

.section:has(.bwh-admin-front) .section__inner {
	width: min(100%, 1440px);
	max-width: 1440px;
	margin-right: auto;
	margin-left: auto;
}

.page-content:has(.bwh-client-panel) > h1,
.page-content:has(.bwh-admin-front) > h1,
.page-content:has(.bwh-platform-login) > h1 {
	display: none;
}

.bwh-client-dashboard .bwh-dashboard-hero {
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	padding: 12px 16px;
	background: #fff;
	color: #111111;
	box-shadow: none;
}

.bwh-client-dashboard .bwh-dashboard-hero h2 {
	margin: 3px 0;
	color: #111111;
	font-size: clamp(22px, 2.6vw, 30px);
	line-height: 1.1;
}

.bwh-client-dashboard .bwh-dashboard-hero p,
.bwh-client-dashboard .bwh-dashboard-status small {
	color: #626262;
	font-size: 13px;
}

.bwh-client-dashboard .bwh-dashboard-kicker {
	color: #ff5a00;
	font-size: 11px;
}

.bwh-client-dashboard .bwh-dashboard-status {
	gap: 4px;
}

.bwh-client-dashboard .bwh-dashboard-status strong {
	color: #111111;
	font-size: 15px;
}

.bwh-client-dashboard .bwh-status {
	min-height: 24px;
	padding: 3px 9px;
	font-size: 11px;
}

.bwh-logout-link {
	display: inline-flex;
	justify-content: center;
	width: fit-content;
	margin-top: 4px;
	color: #626262;
	font-size: 13px;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bwh-logout-link:hover {
	color: #ff5a00;
}

.bwh-dashboard-action--logout {
	border-color: #f1cfc5;
	background: #fff8f5;
}

.bwh-dashboard-action--logout strong {
	color: #9a300d;
}

.bwh-client-dashboard {
	gap: 14px;
}

.bwh-client-dashboard .bwh-client-strip div {
	padding: 12px 16px;
}

.bwh-client-dashboard .bwh-dashboard-layout {
	gap: 14px;
}

.bwh-client-dashboard .bwh-dashboard-side {
	gap: 8px;
}

.bwh-client-dashboard .bwh-dashboard-action {
	padding: 12px 14px;
}

.bwh-client-dashboard .bwh-dashboard-action span {
	font-size: 12px;
}

.bwh-client-dashboard .bwh-availability-panel {
	gap: 14px;
	padding: 18px;
}

.bwh-client-dashboard .bwh-section-heading h3 {
	font-size: 22px;
}

.bwh-client-dashboard .bwh-section-heading p {
	font-size: 15px;
}

.bwh-client-dashboard .bwh-reservation-controls {
	grid-template-columns: 1.4fr 1fr 150px;
}

.bwh-client-dashboard .bwh-calendar-preview {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.bwh-client-dashboard .bwh-time-slot {
	min-height: 64px;
	padding: 10px 12px;
	text-align: left;
	cursor: pointer;
}

.bwh-client-dashboard .bwh-time-slot:disabled {
	cursor: not-allowed;
	opacity: 0.72;
}

.bwh-client-dashboard .bwh-time-slot strong {
	font-size: 18px;
}

.bwh-time-slot.needs-auth span {
	background: #fff1e6;
	color: #994000;
}

.bwh-time-slot.is-selected {
	border-color: #ff5a00;
	background: #ff5a00;
	box-shadow: 0 0 0 3px rgba(255, 90, 0, 0.14);
}

.bwh-time-slot.is-selected strong {
	color: #ffffff;
}

.bwh-time-slot.is-selected span {
	background: #ffffff;
	color: #994000;
}

.bwh-calendar-preview.is-loading {
	opacity: 0.55;
	pointer-events: none;
}

.bwh-inline-reservation {
	display: grid;
	gap: 12px;
	padding: 14px;
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #f5f3ef;
}

.bwh-inline-reservation[hidden] {
	display: none;
}

.bwh-inline-reservation__summary {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
	color: #111111;
}

.bwh-inline-reservation__summary span {
	color: #626262;
	font-size: 14px;
}

.bwh-inline-reservation__fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 100px minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 10px;
}

.bwh-inline-reservation label {
	display: grid;
	gap: 5px;
	font-weight: 800;
}

.bwh-inline-reservation input,
.bwh-inline-reservation textarea {
	width: 100%;
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid #ded8ce;
	border-radius: 6px;
	background: #fff;
	font: inherit;
}

.bwh-booking-conditions {
	display: grid;
	gap: 8px;
	padding: 14px 16px;
	border: 1px solid #e7dccf;
	border-radius: 8px;
	background: #fffdf9;
	color: #404957;
	font-size: 13px;
	line-height: 1.45;
}

.bwh-booking-conditions h3 {
	margin: 0 0 4px;
	color: #101820;
	font-size: 16px;
	line-height: 1.2;
}

.bwh-booking-conditions p {
	margin: 0;
}

.bwh-company-data-panel {
	margin-top: 18px;
	padding: 18px;
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #ffffff;
}

.bwh-company-data-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.bwh-company-data-form label {
	display: grid;
	gap: 6px;
	color: #111111;
	font-weight: 800;
}

.bwh-company-data-form input,
.bwh-company-data-form select {
	width: 100%;
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid #ded8ce;
	border-radius: 7px;
	background: #ffffff;
	font: inherit;
}

.bwh-company-data-form .bwh-button {
	align-self: end;
}

.woocommerce-checkout #payment ul.payment_methods li img,
.woocommerce-checkout #payment .payment_box img {
	max-width: 180px !important;
	max-height: 58px !important;
	width: auto !important;
	height: auto !important;
	display: block;
	margin: 8px 0 2px;
}

.woocommerce-checkout #payment ul.payment_methods li.payment_method_transbank_webpay_plus_rest img {
	max-width: 170px !important;
}

.bwh-admin-front {
	display: block;
	color: #06122a;
}

.bwh-admin-front .bwh-admin-front__header,
.bwh-admin-front .bwh-admin-metrics {
	display: none;
}

.bwh-admin-front__header {
	display: flex;
	gap: 18px;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #fff;
	color: #111111;
}

.bwh-admin-front__header span {
	color: #ff5a00;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bwh-admin-front__header h2 {
	margin: 4px 0;
	color: #111111;
	font-size: clamp(20px, 2.2vw, 28px);
}

.bwh-admin-front__header p {
	margin: 0;
	color: #626262;
	font-size: 14px;
}

.bwh-admin-front__header .bwh-logout-link {
	color: #626262;
}

.bwh-admin-metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.bwh-admin-metrics article,
.bwh-admin-section,
.bwh-product-editor {
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #fff;
}

.bwh-admin-metrics article {
	display: grid;
	gap: 6px;
	padding: 10px 12px;
}

.bwh-admin-metrics span {
	color: #626262;
	font-size: 12px;
	font-weight: 850;
	text-transform: uppercase;
}

.bwh-admin-metrics strong {
	color: #111111;
	font-size: 22px;
	line-height: 1;
}

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

.bwh-admin-front .bwh-admin-sidebar {
	position: sticky;
	top: 92px;
	align-self: start;
	gap: 8px;
	padding: 14px;
	border: 1px solid #dbe5ef;
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.bwh-admin-sidebar-head {
	display: grid;
	gap: 4px;
	padding: 8px 8px 12px;
	border-bottom: 1px solid #e7edf4;
	margin-bottom: 4px;
}

.bwh-admin-sidebar-head span {
	color: #64748b;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.bwh-admin-sidebar-head strong {
	color: #06122a;
	font-size: 20px;
	line-height: 1.1;
}

.bwh-admin-sidebar-head .bwh-logout-link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin-top: 12px;
	padding: 10px 12px;
	border: 1px solid #06122a;
	border-radius: 8px;
	background: #06122a;
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.bwh-admin-sidebar-head .bwh-logout-link:hover { background: #ff5a00; border-color: #ff5a00; color: #ffffff; }

.bwh-admin-front .bwh-dashboard-action {
	border-color: transparent;
	border-radius: 10px;
	background: transparent;
	box-shadow: none;
}

.bwh-admin-front .bwh-dashboard-action:hover,
.bwh-admin-front .bwh-dashboard-action.is-active {
	border-color: #dbeafe;
	background: #f4f8ff;
	box-shadow: none;
}

.bwh-admin-front .bwh-dashboard-action strong {
	color: #06122a;
}

.bwh-admin-front .bwh-dashboard-action span {
	color: #64748b;
}

.bwh-admin-main {
	display: grid;
	gap: 0;
	min-width: 0;
	align-content: start;
}

.bwh-admin-section {
	display: grid;
	scroll-margin-top: 110px;
	gap: 0;
	padding: 0;
	border-color: #dbe5ef;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.bwh-admin-front [hidden] {
	display: none !important;
}

.bwh-client-picker { position: relative; min-width: 0; }
.bwh-client-picker input { width: 100%; }
.bwh-client-picker-source[hidden], .bwh-client-picker__list[hidden] { display: none !important; }
.bwh-client-picker__list {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 20;
	max-height: 260px;
	overflow-y: auto;
	padding: 4px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}
.bwh-admin-front .bwh-client-picker__list button {
	display: block;
	width: 100%;
	padding: 10px 12px;
	border: 0;
	border-radius: 4px;
	background: #fff;
	color: #0f172a;
	text-align: left;
	font: inherit;
	font-weight: 400;
	overflow-wrap: anywhere;
	cursor: pointer;
}
.bwh-admin-front .bwh-client-picker__list button:hover,
.bwh-admin-front .bwh-client-picker__list button[aria-selected="true"] { background: #eef4ff; color: #06122a; }
.bwh-client-picker__list p { margin: 8px; font-size: 13px; font-weight: 400; }

.bwh-admin-filters {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) 180px 210px;
	gap: 14px;
	align-items: end;
	padding: 16px 20px;
	border-top: 1px solid #e7edf4;
	border-bottom: 1px solid #e7edf4;
	background: #f8fbff;
}

.bwh-admin-filters label {
	display: grid;
	gap: 6px;
	color: #334155;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bwh-admin-filters input,
.bwh-admin-filters select {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid #dbe5ef;
	border-radius: 14px;
	background: #fff;
	color: #06122a;
	font: inherit;
}

.bwh-admin-section .bwh-section-heading {
	align-items: start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 20px;
	background: #fff;
}

.bwh-admin-section .bwh-section-heading h3 {
	margin: 0;
	color: #06122a;
	font-size: 22px;
}

.bwh-admin-section .bwh-section-heading p {
	margin: 4px 0 0;
	color: #334155;
}

.bwh-create-client { position: relative; }
.bwh-create-client > summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 16px;
	border-radius: 8px;
	background: #ff5a00;
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
	list-style: none;
}
.bwh-create-client > summary::-webkit-details-marker { display: none; }
.bwh-create-client[open] > summary { background: #06122a; }
.bwh-create-client .bwh-admin-settings {
	position: absolute;
	z-index: 8;
	right: 0;
	top: calc(100% + 10px);
	width: min(620px, 75vw);
	padding: 18px;
	border: 1px solid #dbe5ef;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 20px 42px rgba(15, 23, 42, 0.18);
}
.bwh-admin-settings--client { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bwh-admin-settings--client .bwh-button { grid-column: 1 / -1; justify-self: start; }

.bwh-admin-front .bwh-table {
	margin: 0;
	border: 0;
	background: #fff;
}

.bwh-admin-front .bwh-table th {
	padding: 14px 20px;
	border: 0;
	border-bottom: 1px solid #e7edf4;
	background: #f3f7fc;
	color: #334155;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.bwh-admin-front .bwh-table td {
	padding: 16px 20px;
	border: 0;
	border-bottom: 1px solid #e7edf4;
	color: #06122a;
}

.bwh-admin-front .bwh-table tr:last-child td {
	border-bottom: 0;
}

.bwh-admin-front .bwh-table small {
	color: #475569;
}

.bwh-admin-front .bwh-clients-table {
	table-layout: fixed;
	font-size: 13px;
	min-width: 1000px;
}

.bwh-admin-front .bwh-clients-table th,
.bwh-admin-front .bwh-clients-table td {
	padding: 10px 12px;
	line-height: 1.25;
	vertical-align: middle;
}

.bwh-admin-front .bwh-clients-table th {
	font-size: 10px;
	letter-spacing: 0.13em;
	white-space: nowrap;
}

.bwh-admin-front .bwh-clients-table th:nth-child(1) {
	width: 17%;
}

.bwh-admin-front .bwh-clients-table th:nth-child(2) {
	width: 12%;
}

.bwh-admin-front .bwh-clients-table th:nth-child(3) {
	width: 16%;
}

.bwh-admin-front .bwh-clients-table th:nth-child(4) {
	width: 12%;
}

.bwh-admin-front .bwh-clients-table th:nth-child(5) {
	width: 12%;
}

.bwh-admin-front .bwh-clients-table th:nth-child(6) {
	width: 9%;
}

.bwh-admin-front .bwh-clients-table th:nth-child(7) { width: 22%; }

.bwh-admin-front .bwh-clients-table td {
	font-size: 13px;
	overflow-wrap: normal;
	word-break: normal;
}

.bwh-admin-front .bwh-clients-table td:nth-child(1),
.bwh-admin-front .bwh-clients-table td:nth-child(2),
.bwh-admin-front .bwh-clients-table td:nth-child(3),
.bwh-admin-front .bwh-clients-table td:nth-child(4),
.bwh-admin-front .bwh-clients-table td:nth-child(5),
.bwh-admin-front .bwh-clients-table td:nth-child(6) {
	white-space: nowrap;
}

.bwh-client-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.bwh-client-actions form { margin: 0; }
.bwh-client-actions .bwh-client-instructions { display: flex; flex-wrap: wrap; flex-basis: 100%; min-width: 0; gap: 5px; }
.bwh-client-instructions input {
	min-width: 0;
	width: 100%;
	padding: 6px 7px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	font: inherit;
	font-size: 10px;
}
.bwh-client-actions button {
	padding: 6px 8px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	background: #ffffff;
	color: #0f172a;
	font: inherit;
	font-size: 10px;
	font-weight: 800;
	cursor: pointer;
}
.bwh-client-actions button:hover { border-color: #06122a; background: #06122a; color: #ffffff; }
.bwh-client-actions button.is-warning { border-color: #f59e0b; color: #92400e; }
.bwh-client-actions button.is-danger { border-color: #fca5a5; color: #b91c1c; }

.bwh-admin-front .bwh-clients-table td:nth-child(1),
.bwh-admin-front .bwh-clients-table td:nth-child(3) {
	overflow: hidden;
	text-overflow: ellipsis;
}

.bwh-admin-front .bwh-clients-table small {
	display: block;
	margin-top: 3px;
	overflow: hidden;
	color: #52627a;
	font-size: 11px;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bwh-admin-front .bwh-clients-table .bwh-status {
	padding: 5px 10px;
	font-size: 10px;
	line-height: 1;
	white-space: nowrap;
}

.bwh-admin-section--reservations .bwh-section-heading {
	padding: 16px 20px;
	border-bottom: 1px solid #e7edf4;
}

.bwh-admin-section--reservations .bwh-section-heading h3 {
	font-size: 20px;
}

.bwh-admin-section--reservations .bwh-section-heading p {
	font-size: 14px;
}

.bwh-reservation-overview {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding: 16px 18px;
	background: #f8fbff;
	border-bottom: 1px solid #e7edf4;
}

.bwh-reservation-overview__card {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 4px 12px;
	padding: 15px 17px;
	border: 1px solid #dbe5ef;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

.bwh-reservation-overview__card span {
	color: #475569;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bwh-reservation-overview__card strong {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	color: #06122a;
	font-size: 30px;
	line-height: 1;
}

.bwh-reservation-overview__card small {
	color: #64748b;
	font-size: 12px;
	line-height: 1.35;
}

.bwh-reservation-overview__card.is-active { border-color: #b9e2c2; }
.bwh-reservation-overview__card.is-active strong { color: #167038; }

.bwh-admin-front .bwh-reservations-table {
	table-layout: fixed;
	font-size: 13px;
}

.bwh-admin-front .bwh-reservations-table th,
.bwh-admin-front .bwh-reservations-table td {
	padding: 11px 14px;
	line-height: 1.25;
	vertical-align: middle;
}

.bwh-admin-front .bwh-reservations-table th {
	font-size: 10px;
	letter-spacing: 0.13em;
	white-space: nowrap;
}

.bwh-admin-front .bwh-reservations-table th:nth-child(1) {
	width: 20%;
}

.bwh-admin-front .bwh-reservations-table th:nth-child(2) {
	width: 26%;
}

.bwh-admin-front .bwh-reservations-table th:nth-child(3) {
	width: 14%;
}

.bwh-admin-front .bwh-reservations-table th:nth-child(4) {
	width: 16%;
}

.bwh-admin-front .bwh-reservations-table th:nth-child(5) {
	width: 11%;
}

.bwh-admin-front .bwh-reservations-table th:nth-child(6) {
	width: 13%;
}

.bwh-admin-front .bwh-reservations-table td {
	font-size: 13px;
	white-space: nowrap;
}

.bwh-admin-front .bwh-reservations-table td:nth-child(1),
.bwh-admin-front .bwh-reservations-table td:nth-child(2) {
	overflow: hidden;
	text-overflow: ellipsis;
}

.bwh-admin-front .bwh-reservations-table .bwh-status {
	padding: 5px 10px;
	font-size: 10px;
	line-height: 1;
	white-space: nowrap;
}

.bwh-agenda-board {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 14px;
	padding: 18px;
	background: #f8fbff;
}

.bwh-agenda-day {
	overflow: hidden;
	border: 1px solid #dbe5ef;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 12px 26px rgba(15, 23, 42, 0.05);
}

.bwh-agenda-day__head {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2px 10px;
	align-items: center;
	padding: 14px 16px;
	border-bottom: 1px solid #e7edf4;
	background: #f3f7fc;
}

.bwh-agenda-day__head span {
	color: #5f6f87;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bwh-agenda-day__head strong {
	color: #06122a;
	font-size: 18px;
	line-height: 1.1;
}

.bwh-agenda-day__head small {
	grid-row: 1 / span 2;
	grid-column: 2;
	align-self: center;
	padding: 6px 10px;
	border-radius: 999px;
	background: #e8f5ec;
	color: #174f24;
	font-size: 11px;
	font-weight: 900;
	white-space: nowrap;
}

.bwh-agenda-events {
	display: grid;
	gap: 0;
}

.bwh-agenda-event {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 13px 16px;
	border-bottom: 1px solid #e7edf4;
}

.bwh-agenda-event:last-child {
	border-bottom: 0;
}

.bwh-agenda-event time {
	display: grid;
	gap: 2px;
	color: #06122a;
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
}

.bwh-agenda-event time span {
	color: #64748b;
	font-size: 12px;
	font-weight: 800;
}

.bwh-agenda-event__body {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.bwh-agenda-event__body strong,
.bwh-agenda-event__body span,
.bwh-agenda-event__body small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bwh-agenda-event__body strong {
	color: #06122a;
	font-size: 14px;
}

.bwh-agenda-event__body span {
	color: #334155;
	font-size: 13px;
}

.bwh-agenda-event__body small {
	color: #64748b;
	font-size: 11px;
	font-weight: 800;
}

.bwh-agenda-event .bwh-status {
	padding: 5px 9px;
	font-size: 10px;
	line-height: 1;
	white-space: nowrap;
}

.bwh-empty-state {
	padding: 18px;
	border: 1px dashed #cbd5e1;
	border-radius: 12px;
	background: #fff;
	color: #64748b;
}

.bwh-month-agenda {
	display: grid;
	grid-template-columns: minmax(320px, 0.9fr) minmax(420px, 1.25fr);
	gap: 18px;
	padding: 18px;
	background: #f8fbff;
}

.bwh-reservation-history {
	border-top: 1px solid #e7edf4;
	background: #ffffff;
}

.bwh-reservation-history__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px;
	border-bottom: 1px solid #e7edf4;
}

.bwh-reservation-history__head h4 { margin: 0; color: #06122a; font-size: 18px; }
.bwh-reservation-history__head p { margin: 4px 0 0; color: #64748b; font-size: 13px; }
.bwh-reservation-history__head > span { padding: 6px 10px; border-radius: 999px; background: #f3f7fc; color: #334155; font-size: 11px; font-weight: 900; white-space: nowrap; }
.bwh-reservation-history-table { table-layout: fixed; font-size: 13px; }
.bwh-reservation-history-table th:nth-child(1) { width: 12%; }
.bwh-reservation-history-table th:nth-child(2) { width: 11%; }
.bwh-reservation-history-table th:nth-child(3) { width: 25%; }
.bwh-reservation-history-table th:nth-child(4) { width: 14%; }
.bwh-reservation-history-table th:nth-child(5) { width: 25%; }
.bwh-reservation-history-table th:nth-child(6) { width: 13%; }
.bwh-reservation-history-table td { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.bwh-month-calendar,
.bwh-day-detail {
	overflow: hidden;
	border: 1px solid #dbe5ef;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 12px 26px rgba(15, 23, 42, 0.05);
}

.bwh-month-calendar__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
	border-bottom: 1px solid #e7edf4;
}

.bwh-month-calendar__head span {
	color: #64748b;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bwh-month-calendar__head strong {
	color: #06122a;
	font-size: 20px;
}

.bwh-month-calendar__weekdays,
.bwh-month-calendar__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.bwh-month-calendar__weekdays {
	padding: 10px 12px 0;
	color: #64748b;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-align: center;
	text-transform: uppercase;
}

.bwh-month-calendar__grid {
	gap: 8px;
	padding: 12px;
}

.bwh-month-day {
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	position: relative;
	border: 1px solid #e1e8f0;
	border-radius: 12px;
	background: #fff;
	color: #06122a;
	cursor: pointer;
	font: inherit;
}

.bwh-month-day strong {
	font-size: 14px;
	line-height: 1;
}

.bwh-month-day span {
	position: absolute;
	right: 6px;
	bottom: 6px;
	min-width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #ff5b14;
	color: #fff;
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
}

.bwh-month-day.is-empty {
	border-color: transparent;
	background: transparent;
	pointer-events: none;
}

.bwh-month-day.has-events {
	border-color: #ffc5ad;
	background: #fff6f1;
}

.bwh-month-day.is-selected {
	border-color: #06122a;
	background: #06122a;
	color: #fff;
	box-shadow: 0 10px 20px rgba(6, 18, 42, 0.18);
}

.bwh-day-panel[hidden] {
	display: none;
}

.bwh-day-panel__head {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2px 10px;
	align-items: center;
	padding: 16px 18px;
	border-bottom: 1px solid #e7edf4;
	background: #fff;
}

.bwh-day-panel__head span {
	color: #64748b;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bwh-day-panel__head strong {
	color: #06122a;
	font-size: 20px;
}

.bwh-day-panel__head small {
	grid-column: 2;
	grid-row: 1 / span 2;
	padding: 6px 10px;
	border-radius: 999px;
	background: #e8f5ec;
	color: #174f24;
	font-size: 11px;
	font-weight: 900;
}

.bwh-month-agenda .bwh-agenda-event {
	grid-template-columns: 64px minmax(0, 1fr) auto;
	align-items: start;
}

.bwh-month-agenda .bwh-agenda-event .bwh-status {
	margin-top: 2px;
}

.bwh-reservation-actions {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	margin-top: 8px;
}

.bwh-reservation-actions form {
	margin: 0;
}

.bwh-reservation-actions button,
.bwh-move-reservation select,
.bwh-move-reservation input {
	min-height: 34px;
	border: 1px solid #dbe5ef;
	border-radius: 10px;
	background: #fff;
	color: #06122a;
	font: inherit;
	font-size: 12px;
	font-weight: 800;
}

.bwh-reservation-actions button {
	padding: 7px 11px;
	cursor: pointer;
}

.bwh-reservation-actions form:first-child button {
	border-color: #ffd4c3;
	background: #fff6f1;
	color: #9a3412;
}

.bwh-move-reservation {
	display: grid;
	grid-template-columns: minmax(120px, 1fr) 132px 92px 92px auto;
	gap: 8px;
}

.bwh-move-reservation select,
.bwh-move-reservation input {
	min-width: 0;
	padding: 6px 8px;
}

.bwh-move-reservation button {
	border-color: #06122a;
	background: #06122a;
	color: #fff;
}

@media (max-width: 1100px) {
	.bwh-reservation-overview { grid-template-columns: 1fr; }

	.bwh-month-agenda {
		grid-template-columns: 1fr;
	}

	.bwh-move-reservation {
		grid-template-columns: 1fr 1fr;
	}
}

.bwh-product-admin-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 10px;
}

.bwh-product-editor {
	display: grid;
	gap: 8px;
	padding: 14px;
}

.bwh-product-editor label {
	display: grid;
	gap: 5px;
	color: #272727;
	font-size: 12px;
	font-weight: 800;
}

.bwh-product-editor input,
.bwh-product-editor select,
.bwh-product-editor textarea {
	width: 100%;
	min-height: 38px;
	padding: 8px 10px;
	border: 1px solid #ded8ce;
	border-radius: 6px;
	background: #ffffff;
	font: inherit;
}

.bwh-product-editor textarea {
	min-height: 76px;
	resize: vertical;
}

.bwh-product-editor small {
	color: #626262;
	font-weight: 800;
}

.bwh-product-editor .bwh-button {
	width: 100%;
	min-height: 38px;
	padding: 8px 12px;
}

.bwh-admin-settings {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.bwh-admin-settings label {
	display: grid;
	min-width: 0;
	gap: 6px;
	font-weight: 800;
}

.bwh-admin-settings input[type="number"],
.bwh-admin-settings input[type="search"],
.bwh-admin-settings input[type="email"],
.bwh-admin-settings input[type="text"],
.bwh-admin-settings input[type="date"],
.bwh-admin-settings select,
.bwh-admin-settings textarea {
	width: 100%;
	min-width: 0;
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid #ded8ce;
	border-radius: 6px;
	font: inherit;
}

.bwh-admin-settings textarea {
	min-height: 116px;
	resize: vertical;
}

.bwh-admin-field--full {
	grid-column: 1 / -1;
}

.bwh-admin-field--full small {
	color: #64748b;
	font-size: 12px;
	font-weight: 500;
}

.bwh-admin-settings fieldset {
	margin: 0;
	padding: 14px;
	border: 1px solid #e1e8f0;
	border-radius: 6px;
}

.bwh-admin-settings--content fieldset {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.bwh-admin-settings legend {
	padding: 0 4px;
	font-weight: 800;
}

.bwh-discount-products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 16px;
	margin-top: 8px;
}

.bwh-discount-products label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
}

.bwh-discount-list {
	margin-top: 18px;
}

.bwh-summary-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 10px;
	margin: 14px 0;
}

.bwh-summary-row span {
	padding: 12px;
	border: 1px solid #ded8ce;
	border-radius: 6px;
	background: #f5f3ef;
	color: #1a1a1a;
}

.bwh-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 4px 10px;
	border-radius: 999px;
	background: #f5f3ef;
	color: #1a1a1a;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.bwh-status--activo,
.bwh-status--aprobada,
.bwh-status--aprobada_automatica,
.bwh-status--contrato_revisado {
	background: #e8f5ec;
	color: #174f24;
}

.bwh-status--pendiente,
.bwh-status--en_revision,
.bwh-status--pago_aprobado_pendiente_datos,
.bwh-status--requiere_autorizacion,
.bwh-status--contrato_borrador {
	background: #fff1e6;
	color: #994000;
}

.bwh-status--rechazada,
.bwh-status--cancelada {
	background: #f5e9e6;
	color: #6f2418;
}

.bwh-status--finalizada {
	background: #ece8df;
	color: #2f3133;
}

.bwh-table-wrap {
	width: 100%;
	overflow-x: auto;
}

.bwh-table {
	width: 100%;
	border-collapse: collapse;
	margin: 18px 0;
	background: #fff;
}

.bwh-table th,
.bwh-table td {
	padding: 12px;
	border: 1px solid #ded8ce;
	text-align: left;
	vertical-align: top;
}

.bwh-table th {
	background: #f5f3ef;
	color: #111111;
}

.bwh-admin-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
}

.bwh-price {
	color: #111111;
	font-size: 24px;
	font-weight: 800;
}

.bwh-button,
.bwh-whatsapp {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 16px;
	border-radius: 6px;
	border: 0;
	background: #ff5a00;
	color: #fff;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.bwh-whatsapp {
	margin-left: 8px;
	background: #22c55e;
	color: #fff;
}

.bwh-whatsapp-plan {
	margin-left: 0;
	background: #22c55e;
	color: #fff;
}

.bwh-whatsapp-plan:hover {
	background: #16a34a;
}

.bwh-contract-form {
	display: grid;
	gap: 18px;
}

.bwh-type-switch {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.bwh-fields {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}

.bwh-fields h3 {
	grid-column: 1 / -1;
}

.bwh-fields label,
.bwh-check {
	display: grid;
	gap: 6px;
	font-weight: 700;
}

.bwh-fields input,
.bwh-fields textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ded8ce;
	border-radius: 6px;
	font: inherit;
}

.bwh-notice {
	padding: 16px;
	border-radius: 6px;
	background: #eef7ef;
	color: #174f24;
}

.bwh-notice--warning {
	background: #fff1e6;
	color: #994000;
}

.bwh-contract-draft {
	padding: 24px;
	border: 1px solid #ded8ce;
	border-radius: 8px;
	background: #fff;
}

.woocommerce-checkout .woocommerce {
	max-width: 1180px;
	margin: 0 auto;
}

.woocommerce-checkout .woocommerce-notices-wrapper {
	margin-bottom: 10px;
}

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
	display: inline-block;
	width: calc(50% - 6px);
	margin: 0 8px 18px 0;
	vertical-align: top;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle {
	margin-right: 0;
}

.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
	position: relative;
	min-height: 42px;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid #d9e2ec;
	border-left: 4px solid #ff5a00;
	border-radius: 8px;
	background: #fff;
	color: #1a1a1a;
	font-size: 13px;
	line-height: 1.35;
}

.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before {
	display: none;
}

.woocommerce-checkout .woocommerce-message .button,
.woocommerce-checkout .woocommerce-info .button {
	float: right;
	min-height: 34px;
	padding: 7px 12px;
	border-radius: 6px;
	background: #111111;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
}

.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
	gap: 30px;
	align-items: start;
}

.woocommerce-checkout #customer_details {
	display: block;
	min-width: 0;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	float: none;
	width: 100%;
}

.woocommerce-checkout #customer_details .col-2 {
	display: none;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 28px;
}

.woocommerce-checkout .form-row,
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last,
.woocommerce-checkout .form-row-wide {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0;
}

.woocommerce-checkout .form-row-wide {
	grid-column: 1 / -1;
}

.woocommerce-checkout #billing_country_field {
	display: none !important;
}

.woocommerce-checkout .form-row label {
	margin-bottom: 6px;
	color: #111111;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #d9e2ec;
	border-radius: 8px;
	background: #fff;
	color: #111111;
	font-size: 15px;
	line-height: 1.35;
}

.woocommerce-checkout .form-row input[readonly] {
	background: #f8fafc;
	color: #64748b;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
	margin: 0 0 18px;
	color: #111111;
	font-size: 22px;
	line-height: 1.2;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	grid-column: 2;
}

.woocommerce-checkout #order_review_heading {
	grid-row: 1;
	align-self: start;
	margin-top: 0;
}

.woocommerce-checkout #order_review {
	grid-row: 1;
	margin-top: 42px;
	padding: 20px;
	border: 1px solid #d9e2ec;
	border-radius: 8px;
	background: #fff;
}

.woocommerce-checkout table.shop_table {
	border-collapse: collapse;
	border: 0;
	margin: 0 0 18px;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	padding: 10px 0;
	border-color: #edf2f7;
}

.woocommerce-checkout #payment {
	background: transparent;
}

.woocommerce-checkout #payment ul.payment_methods {
	padding: 0;
	border-bottom: 1px solid #edf2f7;
}

.woocommerce-checkout #payment div.form-row {
	padding: 16px 0 0;
}

.woocommerce-checkout #place_order {
	width: 100%;
	min-height: 48px;
	border-radius: 8px;
	background: #111111;
	color: #fff;
	font-weight: 850;
}

.woocommerce-checkout main.site-main {
	background:
		linear-gradient(180deg, #fffaf5 0, #ffffff 220px),
		#ffffff;
}

.woocommerce-checkout main.site-main > article,
.woocommerce-checkout main.site-main > .page,
.woocommerce-checkout main.site-main > .entry-content {
	max-width: 1180px;
	margin: 0 auto;
}

.woocommerce-checkout .entry-title,
.woocommerce-checkout h1 {
	margin-bottom: 18px;
	font-size: clamp(38px, 4.8vw, 58px);
	letter-spacing: 0;
}

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
	width: auto;
	min-width: min(100%, 360px);
	margin-bottom: 12px;
}

.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid #f2d9c8;
	border-left: 0;
	border-radius: 12px;
	background: #fff8f2;
	box-shadow: 0 8px 22px rgba(17, 17, 17, 0.04);
}

.woocommerce-checkout .woocommerce-message {
	border-color: #dcefdc;
	background: #f7fff7;
}

.woocommerce-checkout .woocommerce-message .button,
.woocommerce-checkout .woocommerce-info .button {
	margin-left: auto;
	border-radius: 10px;
	background: #111111;
	box-shadow: none;
}

.woocommerce-checkout form.checkout {
	margin-top: 18px;
	gap: 34px;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
	border: 1px solid #eadfd6;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 18px 50px rgba(17, 17, 17, 0.07);
}

.woocommerce-checkout #customer_details {
	padding: 24px;
}

.woocommerce-checkout #order_review {
	padding: 18px;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
	font-size: 20px;
}

.woocommerce-checkout .form-row label {
	color: #2d2d2d;
	font-size: 13px;
	font-weight: 750;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
	min-height: 52px;
	padding: 12px 15px;
	border: 1px solid #e3d8cf;
	border-radius: 12px;
	background: #fffdfb;
	transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
	outline: none;
	border-color: #ff6a21;
	background: #ffffff;
	box-shadow: 0 0 0 4px rgba(255, 106, 33, 0.14);
}

.woocommerce-checkout table.shop_table {
	border: 1px solid #eee4dc;
	border-radius: 12px;
	overflow: hidden;
	background: #ffffff;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	padding: 12px;
}

.woocommerce-checkout table.shop_table thead th {
	background: #fff8f2;
}

.woocommerce-checkout #payment ul.payment_methods {
	padding: 12px;
	border: 1px solid #eee4dc;
	border-radius: 12px;
	background: #faf7f4;
}

.woocommerce-checkout #payment ul.payment_methods li {
	line-height: 1.45;
}

.woocommerce-checkout #payment div.payment_box {
	margin: 12px 0 0;
	border-radius: 12px;
	background: #ffffff;
	color: #4b5563;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #ffffff;
}

.woocommerce-checkout #place_order {
	min-height: 54px;
	border-radius: 12px;
	background: #ff5a00;
	box-shadow: 0 12px 26px rgba(255, 90, 0, 0.22);
	transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.woocommerce-checkout #place_order:hover {
	background: #e94f00;
	box-shadow: 0 14px 30px rgba(255, 90, 0, 0.28);
	transform: translateY(-1px);
}

@media (max-width: 720px) {
	.bwh-admin-front .bwh-clients-table { min-width: 0; }
	.bwh-admin-front .bwh-admin-sidebar { position: static; }
	.section:has(.bwh-admin-front) {
		padding-right: 16px;
		padding-left: 16px;
	}

	.bwh-dashboard-hero,
	.bwh-dashboard-layout,
	.bwh-admin-layout,
	.bwh-admin-filters,
	.bwh-reservation-controls,
	.bwh-company-data-form,
	.bwh-dashboard-cards,
	.bwh-admin-settings,
	.bwh-platform-login {
		grid-template-columns: 1fr;
	}

	.bwh-admin-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bwh-platform-login__brand {
		min-height: auto;
		padding: 28px;
	}

	.bwh-platform-login__form {
		padding: 28px;
	}

	.bwh-dashboard-status {
		justify-items: start;
		text-align: left;
	}

	.bwh-client-strip,
	.bwh-calendar-preview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bwh-client-strip div:nth-child(2n) {
		border-right: 0;
	}

	.bwh-dashboard-side {
		position: static;
	}

	.bwh-section-heading {
		display: grid;
	}

	.bwh-admin-front__header {
		display: grid;
	}

	.bwh-table thead {
		display: none;
	}

	.bwh-table,
	.bwh-table tbody,
	.bwh-table tr,
	.bwh-table td {
		display: block;
		width: 100%;
	}

	.bwh-table tr {
		margin-bottom: 14px;
		border: 1px solid #ded8ce;
		border-radius: 8px;
		background: #fff;
	}

	.bwh-table td {
		display: grid;
		grid-template-columns: 110px 1fr;
		gap: 10px;
		border: 0;
		border-bottom: 1px solid #f1eadf;
	}

	.bwh-table td:last-child {
		border-bottom: 0;
	}

	.bwh-table td::before {
		content: attr(data-label);
		color: #626262;
		font-weight: 800;
	}

	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
	}

	.woocommerce-checkout .woocommerce-form-login-toggle,
	.woocommerce-checkout .woocommerce-form-coupon-toggle {
		display: block;
		width: 100%;
		margin: 0 0 10px;
	}

	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review {
		grid-column: 1;
		grid-row: auto;
	}

	.woocommerce-checkout #order_review {
		margin-top: 0;
	}
}

@media (max-width: 460px) {
	.bwh-client-strip,
	.bwh-admin-metrics,
	.bwh-calendar-preview {
		grid-template-columns: 1fr;
	}

	.bwh-client-strip div {
		border-right: 0;
		border-bottom: 1px solid #ded8ce;
	}

	.bwh-client-strip div:last-child {
		border-bottom: 0;
	}
}

.bwh-reservation-tools {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 18px;
}

.bwh-admin-tool {
	border: 1px solid #d9e3ef;
	border-radius: 8px;
	background: #f8fbff;
}

.bwh-admin-tool summary {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 13px 15px;
	cursor: pointer;
	font-weight: 900;
	color: #06122a;
}

.bwh-admin-tool summary span {
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #ff5a00;
	color: #fff;
	font-size: 18px;
	line-height: 1;
}

.bwh-admin-tool .bwh-admin-settings {
	padding: 0 15px 15px;
}

.bwh-admin-reservation-form,
.bwh-admin-block-form {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bwh-admin-contact-fields {
	padding: 12px;
	border: 1px dashed #cbd5e1;
	border-radius: 6px;
	background: #fff;
}

.bwh-admin-contact-fields > strong,
.bwh-admin-weekdays legend {
	display: block;
	margin: 0 0 9px;
	color: #06122a;
	font-size: 12px;
	font-weight: 900;
}

.bwh-admin-contact-fields > div {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.bwh-admin-weekdays {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 10px 12px;
	border: 1px dashed #cbd5e1;
	border-radius: 6px;
}

.bwh-admin-weekdays label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
}

.bwh-block-preview {
	display: grid;
	grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
	gap: 18px;
	margin: 0 0 20px;
	padding: 18px;
	border: 1px solid #f5c6ac;
	border-radius: 8px;
	background: #fff8f4;
}

.bwh-block-preview h4 { margin: 2px 0 5px; color: #06122a; }
.bwh-block-preview p { margin: 0; color: #475569; }
.bwh-block-preview > div > strong { display: block; margin-top: 10px; color: #c2410c; font-size: 20px; }
.bwh-block-preview ul { max-height: 250px; margin: 0 0 12px; padding: 0; overflow: auto; list-style: none; }
.bwh-block-preview li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid #f1ded2; font-size: 13px; }
.bwh-block-preview li em { color: #167038; font-style: normal; font-weight: 800; }
.bwh-block-preview li.has-conflict { color: #9a3412; }
.bwh-block-preview li.has-conflict label { font-weight: 800; }

.bwh-reservation-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.bwh-reservation-actions details {
	border: 1px solid #d9e3ef;
	border-radius: 6px;
	background: #fff;
}

.bwh-reservation-actions summary {
	padding: 8px 10px;
	cursor: pointer;
	font-size: 12px;
	font-weight: 800;
	color: #06122a;
}

.bwh-edit-reservation[open] {
	flex-basis: 100%;
}

.bwh-edit-reservation-form {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 12px;
	border-top: 1px solid #d9e3ef;
}

.bwh-reservation-original {
	display: grid;
	gap: 4px;
	padding: 10px;
	border: 1px solid #d9e3ef;
	border-radius: 6px;
	background: #f8fbff;
	font-size: 12px;
}

.bwh-reservation-original strong { color: #06122a; }
.bwh-reservation-original em { color: #9a3412; font-style: normal; font-weight: 700; }
.bwh-inline-check { display: flex; align-items: center; gap: 7px; }

.bwh-cancel-reservation form,
.bwh-reservation-history-detail ul {
	margin: 0;
	padding: 10px;
	border-top: 1px solid #d9e3ef;
}

.bwh-cancel-reservation form { display: grid; gap: 8px; min-width: 230px; }
.bwh-cancel-reservation textarea { width: 100%; }
.bwh-reservation-history-detail { flex-basis: 100%; }
.bwh-reservation-history-detail ul { list-style: none; }
.bwh-reservation-history-detail li { display: grid; gap: 3px; padding: 7px 0; border-bottom: 1px solid #edf1f5; font-size: 12px; }
.bwh-reservation-history-detail li:last-child { border-bottom: 0; }
.bwh-reservation-history-detail li span { color: #64748b; }
.bwh-reservation-history-detail li em { color: #475569; font-style: normal; }

@media (max-width: 760px) {
	.bwh-reservation-tools,
	.bwh-block-preview,
	.bwh-admin-reservation-form,
	.bwh-admin-block-form,
	.bwh-admin-contact-fields > div,
	.bwh-edit-reservation-form { grid-template-columns: 1fr; }
	.bwh-block-preview li { display: block; }
	.bwh-block-preview li label { display: block; margin-top: 5px; }
}
