.gb-widget {
	--gb-ink: #111113;
	--gb-muted: #5c5c64;
	--gb-line: #e6e6ea;
	--gb-wash: #f4f4f6;
	--gb-surface: #ffffff;
	--gb-accent: #111113;
	--gb-accent-hover: #2a2a2e;
	--gb-on-accent: #ffffff;
	--gb-on-accent-soft: rgba(255, 255, 255, 0.16);
	--gb-on-accent-muted: rgba(255, 255, 255, 0.72);
	--gb-accent-wash: color-mix(in srgb, var(--gb-accent) 8%, #ffffff);
	--gb-ok: #0f7a4b;
	--gb-err: #b42318;
	--gb-err-bg: #fdecec;
	--gb-radius: 16px;
	--gb-ease: cubic-bezier(0.23, 1, 0.32, 1);
	--gb-focus: none;

	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	max-width: 42rem;
	max-height: min(44rem, 85dvh);
	margin-inline: auto;
	color: var(--gb-ink);
	background: var(--gb-surface);
	border: 1px solid var(--gb-line);
	border-radius: var(--gb-radius);
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif !important;
	font-size: 0.9375rem;
	line-height: 1.4;
	-webkit-font-smoothing: antialiased;
	isolation: isolate;
	overflow: hidden;
	container-type: inline-size;
	container-name: gb;
}

.gb-overlay,
.gb-overlay *,
.gb-overlay *::before,
.gb-overlay *::after,
.gb-widget *,
.gb-widget *::before,
.gb-widget *::after {
	box-sizing: border-box;
}

.gb-overlay,
.gb-drawer {
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif !important;
	-webkit-font-smoothing: antialiased;
}

.gb-overlay button,
.gb-widget button,
.gb-overlay input,
.gb-widget input,
.gb-overlay textarea,
.gb-widget textarea,
.gb-overlay select,
.gb-widget select {
	appearance: none;
	-webkit-appearance: none;
	font-family: inherit !important;
	letter-spacing: inherit;
	text-transform: none;
	text-decoration: none;
	text-shadow: none;
	background-image: none;
}

.gb-overlay svg,
.gb-widget svg {
	display: block;
	max-width: none;
}

.gb-widget ::selection {
	background: var(--gb-accent);
	color: var(--gb-on-accent);
}

.gb-widget:focus {
	outline: none;
}

.gb-widget__fallback {
	margin: 0;
	padding: 1.5rem;
	color: var(--gb-muted);
}

.gb-head,
.gb-alert,
.gb-foot {
	flex-shrink: 0;
}

.gb-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.gb-head {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: 0.7rem 1.1rem 0;
	background: var(--gb-surface);
}

.gb-head__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
}

.gb-title {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.25;
	color: var(--gb-ink);
}

.gb-count {
	margin: 0;
	flex: 0 0 auto;
	font-size: 0.75rem;
	font-weight: 550;
	font-variant-numeric: tabular-nums;
	color: var(--gb-muted);
}

.gb-rail {
	display: flex !important;
	gap: 0.3rem;
	margin: 0;
	padding: 0.1rem 0 0;
	list-style: none;
}

.gb-rail li {
	flex: 1 1 0;
	min-width: 0;
}

.gb-rail li[aria-current="step"] {
	flex: 1.45 1 0;
}

.gb-rail__btn {
	position: relative;
	display: block !important;
	width: 100%;
	height: 0.7rem !important;
	margin: 0;
	padding: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer;
	overflow: hidden;
}

.gb-rail__btn::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 3px;
	margin-top: -1.5px;
	border-radius: 999px;
	background: var(--gb-line);
	transition: background 160ms var(--gb-ease);
}

.gb-rail__btn:disabled {
	cursor: default;
}

.gb-rail__btn:focus-visible {
	outline: none;
	border-radius: 6px;
}

.gb-rail li.is-done .gb-rail__btn::after,
.gb-rail li[aria-current="step"] .gb-rail__btn::after {
	background: var(--gb-accent);
}

.gb-body {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 0;
	padding: 0 1.1rem 0.9rem;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scroll-padding-top: 3.25rem;
	scrollbar-width: thin;
	scrollbar-color: #c8c8ce transparent;
	background: var(--gb-surface);
}

.gb-body::-webkit-scrollbar {
	width: 8px;
}

.gb-body::-webkit-scrollbar-thumb {
	background: #c8c8ce;
	border-radius: 999px;
}

.gb-body > :first-child:not(.gb-cats):not(.gb-find) {
	margin-top: 0.5rem;
}

.gb-panel {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}

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

.gb-staffs {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.45rem;
}

.gb-staff-block {
	margin: 0 0 0.85rem;
}

.gb-staff-block:last-child {
	margin-bottom: 0;
}

.gb-staff-block__name {
	margin: 0 0 0.4rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.gb-staff-block .gb-empty {
	margin: 0.25rem 0 0;
	text-align: left;
	font-size: 0.8125rem;
}

@container gb (min-width: 32rem) {
	.gb-staffs:has(.gb-staff:nth-child(2)) {
		grid-template-columns: 1fr 1fr;
	}
}

.gb-alert {
	margin: 0 1.1rem 0.45rem;
	padding: 0.7rem 0.9rem;
	border-radius: 12px;
	background: var(--gb-err-bg);
	color: var(--gb-err);
	font-size: 0.9375rem;
}

.gb-alert[hidden] {
	display: none;
}

.gb-empty {
	margin: 2rem 0;
	color: var(--gb-muted);
	text-align: center;
}

.gb-empty--err {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.85rem;
	padding: 0.5rem 0.25rem;
}

.gb-empty--err p {
	margin: 0;
	max-width: 34ch;
}

.gb-empty--err .gb-btn {
	width: auto;
}

.gb-find {
	position: sticky;
	top: 0;
	z-index: 2;
	margin: 0 0 0.55rem;
	padding: 0.35rem 0 0.5rem;
	background: var(--gb-surface);
}

.gb-search {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	width: 100%;
	min-height: 2.35rem;
	padding: 0 0.7rem;
	border: 1px solid var(--gb-line);
	border-radius: 12px;
	background: var(--gb-surface);
	color: var(--gb-muted);
}

.gb-search svg {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
}

.gb-search input {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0.45rem 0;
	border: 0;
	background: transparent;
	color: var(--gb-ink);
	font: inherit;
	font-size: 0.875rem;
	caret-color: var(--gb-accent);
	appearance: none;
	-webkit-appearance: none;
}

.gb-search input:focus {
	outline: none;
}

.gb-search:focus-within {
	border-color: var(--gb-ink);
}

.gb-find .gb-cats {
	position: static;
	top: auto;
	margin: 0.4rem 0 0;
	padding: 0;
	background: transparent;
}

.gb-cats {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex !important;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.3rem;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 0 0.55rem;
	padding: 0.4rem 0 0.5rem;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x;
	background: var(--gb-surface);
	scrollbar-width: none;
}

.gb-cats::-webkit-scrollbar {
	display: none;
}

.gb-cat {
	flex: 0 0 auto;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0.28rem 0.65rem;
	border: 1px solid var(--gb-line);
	border-radius: 999px;
	background: var(--gb-surface);
	color: var(--gb-ink);
	font: inherit;
	font-size: 0.75rem;
	font-weight: 550;
	white-space: nowrap;
	cursor: pointer;
	transition: background 160ms var(--gb-ease), color 160ms var(--gb-ease), border-color 160ms var(--gb-ease), transform 120ms var(--gb-ease);
}

.gb-cat:active {
	transform: scale(0.97);
}

.gb-cat:focus-visible {
	outline: none;
}

.gb-cat.is-on {
	background: var(--gb-accent);
	border-style: solid;
	border-color: var(--gb-accent);
	color: var(--gb-on-accent);
}

.gb-group {
	margin: 0 0 0.4rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: -0.015em;
	color: var(--gb-ink);
	scroll-margin-top: 2.75rem;
}

.gb-cats + .gb-panel:not(.is-all) .gb-group {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.gb-menu {
	display: flex;
	flex-direction: column;
	margin-bottom: 0;
	scroll-margin-top: 3.25rem;
}

.gb-menu[hidden] {
	display: none !important;
}

.gb-empty[hidden] {
	display: none !important;
}

.gb-choice[hidden] {
	display: none !important;
}

.gb-panel.is-all .gb-menu + .gb-menu {
	margin-top: 1.1rem;
}

.gb-menu__list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.gb-choice {
	display: grid !important;
	grid-template-columns: 3.25rem minmax(0, 1fr) auto !important;
	align-items: center;
	column-gap: 0.7rem;
	width: 100%;
	margin: 0;
	padding: 0.65rem 0.7rem 0.65rem 0.65rem;
	text-align: left;
	color: inherit;
	background: var(--gb-surface);
	border: 1px solid var(--gb-line);
	border-radius: 14px;
	font: inherit;
	cursor: pointer;
	transition: border-color 160ms var(--gb-ease), transform 120ms var(--gb-ease);
}

.gb-choice__media {
	position: relative;
	flex: 0 0 auto;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 10px;
	overflow: hidden;
	background: var(--gb-wash);
	color: var(--gb-ink);
}

.gb-choice__media img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gb-choice__ph {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.gb-staff {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	column-gap: 0.65rem;
	width: 100%;
	margin: 0;
	padding: 0.65rem 0.75rem;
	text-align: left;
	color: inherit;
	background: var(--gb-surface);
	border: 1px solid var(--gb-line);
	border-radius: 12px;
	font: inherit;
	cursor: pointer;
	transition: background 160ms var(--gb-ease), border-color 160ms var(--gb-ease), transform 120ms var(--gb-ease);
}

.gb-choice:active,
.gb-staff:active {
	transform: scale(0.99);
}

.gb-choice:focus-visible,
.gb-staff:focus-visible {
	outline: none;
	border-color: var(--gb-ink);
}

.gb-choice.is-on {
	border-color: var(--gb-accent);
}

.gb-dot {
	position: relative;
	width: 1.05rem;
	height: 1.05rem;
	flex: 0 0 auto;
	border: 1px solid var(--gb-line);
	border-radius: 4px;
	background: var(--gb-surface);
	transition: border-color 160ms var(--gb-ease), background 160ms var(--gb-ease);
}

.gb-dot::after {
	content: "";
	position: absolute;
	left: 0.32rem;
	top: 0.12rem;
	width: 0.28rem;
	height: 0.52rem;
	border: 1.5px solid var(--gb-on-accent);
	border-top: 0;
	border-left: 0;
	border-radius: 0;
	background: none;
	transform: rotate(45deg) scale(0.6);
	opacity: 0;
	transition: transform 160ms var(--gb-ease), opacity 160ms var(--gb-ease);
}

.gb-choice.is-on .gb-dot {
	background: var(--gb-accent);
	border-color: var(--gb-accent);
}

.gb-choice.is-on .gb-dot::after {
	transform: rotate(45deg) scale(1);
	opacity: 1;
}

.gb-staff.is-on {
	background: var(--gb-accent-wash);
	border-color: var(--gb-accent);
}

.gb-choice__copy {
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.18rem;
}

.gb-choice__name,
.gb-staff__name {
	min-width: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: -0.015em;
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gb-choice__name {
	flex: 1 1 auto;
}

.gb-choice__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.28rem;
	color: var(--gb-muted);
	font-size: 0.75rem;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	line-height: 1.3;
}

.gb-choice__sep {
	width: 0.2rem;
	height: 0.2rem;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.55;
}

.gb-staff.is-on .gb-staff__role {
	color: var(--gb-muted);
}

.gb-check {
	width: 1rem;
	height: 1rem;
	margin-top: 0;
	opacity: 0;
	flex: 0 0 auto;
	color: var(--gb-accent);
	transition: opacity 160ms var(--gb-ease);
}

.gb-choice.is-on .gb-check,
.gb-staff.is-on .gb-check {
	opacity: 1;
}

.gb-avatar {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid var(--gb-line);
	border-radius: 50%;
	background: var(--gb-wash);
	color: var(--gb-ink);
	font-size: 0.6875rem;
	font-weight: 650;
	overflow: hidden;
}

.gb-staff.is-on .gb-avatar {
	border-style: solid;
	border-color: var(--gb-accent);
	background: var(--gb-accent);
	color: var(--gb-on-accent);
}

.gb-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gb-staff__copy {
	min-width: 0;
}

.gb-staff__role {
	display: block;
	font-size: 0.8125rem;
	color: var(--gb-muted);
}

.gb-schedule {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

@container gb (min-width: 26rem) {
	.gb-schedule {
		grid-template-columns: minmax(0, 1.15fr) minmax(10.5rem, 0.85fr);
		align-items: start;
		gap: 0.85rem;
	}

	.gb-schedule > .gb-summary {
		grid-column: 1 / -1;
	}
}

.gb-cal {
	padding: 0.7rem 0.7rem 0.8rem;
	background: var(--gb-surface);
	border: 1px solid var(--gb-line);
	border-radius: 12px;
}

.gb-cal__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.65rem;
}

.gb-cal__label {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.gb-icon-btn {
	display: grid;
	place-items: center;
	width: 1.85rem;
	height: 1.85rem;
	padding: 0;
	color: var(--gb-ink);
	background: var(--gb-surface);
	border: 1px solid var(--gb-line);
	border-radius: 8px;
	cursor: pointer;
	transition: background 160ms var(--gb-ease), transform 120ms var(--gb-ease);
}

.gb-icon-btn:active {
	transform: scale(0.97);
}

.gb-icon-btn:focus-visible {
	outline: none;
}

.gb-icon-btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.gb-icon-btn svg {
	width: 16px;
	height: 16px;
}

.gb-cal__week {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	margin-bottom: 0.25rem;
	font-size: 0.6875rem;
	font-weight: 650;
	letter-spacing: 0.02em;
	color: var(--gb-muted);
	text-align: center;
}

.gb-cal__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 0.15rem;
}

.gb-day {
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--gb-ink);
	font: inherit;
	font-size: 0.875rem;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
	transition: background 160ms var(--gb-ease), color 160ms var(--gb-ease), transform 120ms var(--gb-ease);
}

.gb-day:active {
	transform: scale(0.96);
}

.gb-day:focus-visible {
	outline: none;
}

.gb-day.is-out,
.gb-day:disabled {
	color: #b4b4ba;
	cursor: default;
}

.gb-day.is-on {
	background: var(--gb-accent);
	color: var(--gb-on-accent);
	font-weight: 650;
}

.gb-slots {
	padding: 0.7rem;
	border: 1px solid var(--gb-line);
	border-radius: 12px;
}

.gb-slots h3 {
	margin: 0 0 0.45rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: -0.015em;
	color: var(--gb-ink);
}

@container gb (min-width: 26rem) {
	.gb-slots {
		max-height: 22rem;
		overflow: auto;
		scrollbar-width: thin;
	}
}

.gb-slots__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(4.6rem, 1fr));
	gap: 0.4rem;
}

.gb-slots__grid--skel {
	gap: 0.5rem;
}

@container gb (min-width: 26rem) {
	.gb-slots__grid {
		grid-template-columns: 1fr;
	}
}

.gb-slot {
	min-height: 2.2rem;
	padding: 0.4rem 0.5rem;
	border: 1px solid var(--gb-line);
	border-radius: 8px;
	background: var(--gb-surface);
	color: inherit;
	font: inherit;
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
	font-weight: 550;
	cursor: pointer;
	transition: background 160ms var(--gb-ease), border-color 160ms var(--gb-ease), color 160ms var(--gb-ease), transform 120ms var(--gb-ease);
}

.gb-slot:active {
	transform: scale(0.97);
}

.gb-slot:focus-visible {
	outline: none;
}

.gb-slot.is-on,
.gb-slot[aria-pressed="true"] {
	background: var(--gb-accent);
	border-color: var(--gb-accent);
	color: var(--gb-on-accent);
}

.gb-summary {
	padding: 0.75rem 0.85rem;
	margin-bottom: 0.85rem;
	background: var(--gb-surface);
	border: 1px solid var(--gb-line);
	border-radius: 12px;
}

.gb-summary dl {
	display: grid;
	grid-template-columns: 7.25rem 1fr;
	gap: 0.4rem 0.75rem;
	margin: 0;
}

.gb-summary dt {
	color: var(--gb-muted);
	font-size: 0.8125rem;
}

.gb-summary dd {
	margin: 0;
	font-weight: 550;
	overflow-wrap: break-word;
}

.gb-legs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.gb-legs li {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.6rem 0;
	border-top: 1px solid var(--gb-line);
}

.gb-legs li:first-child {
	padding-top: 0.15rem;
	border-top: 0;
}

.gb-legs__svc {
	font-weight: 550;
	line-height: 1.35;
	overflow-wrap: break-word;
}

.gb-legs__who {
	color: var(--gb-muted);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.3;
}

.gb-summary--list dl {
	grid-template-columns: 1fr;
	gap: 0.18rem;
	margin: 0;
	padding-top: 0.7rem;
	border-top: 1px solid var(--gb-line);
}

.gb-summary--list dt:not(:first-of-type) {
	margin-top: 0.45rem;
}

.gb-visit {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.gb-visit li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	column-gap: 0.85rem;
	padding: 0.7rem 0;
	border-top: 1px dashed var(--gb-line);
}

.gb-visit li:first-child {
	padding-top: 0.15rem;
	border-top: 0;
}

.gb-visit__copy {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.gb-visit__day {
	margin: 0 0 0.4rem;
	font-size: 0.8125rem;
	font-weight: 550;
}

.gb-visit__when {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.12rem;
	padding-top: 0.05rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
	line-height: 1.3;
	white-space: nowrap;
	text-align: right;
}

.gb-visit__start {
	font-size: 0.8125rem;
	font-weight: 650;
	color: var(--gb-ink);
}

.gb-visit__end {
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--gb-muted);
}

.gb-visit__svc {
	font-weight: 550;
	line-height: 1.35;
	overflow-wrap: break-word;
}

.gb-visit__who {
	color: var(--gb-muted);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.3;
}

.gb-visit__done {
	margin: 0.35rem 0 0;
	padding-top: 0.65rem;
	border-top: 1px dashed var(--gb-line);
	color: var(--gb-muted);
	font-size: 0.8125rem;
	font-weight: 500;
}

.gb-form {
	display: grid;
	gap: 0.65rem;
}

@container gb (min-width: 26rem) {
	.gb-form {
		grid-template-columns: 1fr 1fr;
	}

	.gb-field:nth-child(n + 3) {
		grid-column: 1 / -1;
	}
}

.gb-field label {
	display: block;
	margin-bottom: 0.28rem;
	font-size: 0.75rem;
	font-weight: 600;
}

.gb-field input,
.gb-field textarea {
	width: 100%;
	padding: 0.55rem 0.7rem;
	border: 1px solid var(--gb-line);
	border-radius: 10px;
	background: var(--gb-surface);
	color: var(--gb-ink);
	font: inherit;
	font-size: 0.875rem;
	caret-color: var(--gb-accent);
	transition: border-color 160ms var(--gb-ease), background 160ms var(--gb-ease);
}

.gb-field input:focus,
.gb-field input:focus-visible,
.gb-field textarea:focus,
.gb-field textarea:focus-visible,
.gb-field:focus-within input,
.gb-field:focus-within textarea {
	outline: none;
	background: var(--gb-surface);
	border-style: solid;
	border-color: var(--gb-ink);
}

.gb-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	pointer-events: none;
}

.gb-hint {
	margin: 0.3rem 0 0;
	font-size: 0.8125rem;
	color: var(--gb-muted);
}

.gb-foot {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.55rem 0.75rem;
	padding: 0.65rem 1.1rem max(0.75rem, env(safe-area-inset-bottom));
	background: var(--gb-surface);
	border-top: 1px solid var(--gb-line);
	box-shadow: none;
}

.gb-peek {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
	margin: 0;
}

.gb-peek:not(.gb-peek--hint) {
	flex-direction: row;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
}

.gb-peek__v {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.8125rem;
	font-weight: 550;
	letter-spacing: -0.01em;
}

.gb-peek__price {
	font-size: 0.8125rem;
	font-weight: 650;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.015em;
}

.gb-peek--hint {
	color: var(--gb-muted);
	font-size: 0.8125rem;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gb-foot__actions {
	display: flex;
	gap: 0.5rem;
	justify-self: end;
}

.gb-foot--bare {
	grid-template-columns: 1fr;
}

.gb-foot--bare .gb-foot__actions {
	width: 100%;
	justify-self: stretch;
}

@media (max-width: 340px) {
	.gb-foot {
		grid-template-columns: 1fr;
	}

	.gb-foot__actions {
		width: 100%;
		justify-self: stretch;
	}
}

.gb-btn {
	flex: 1 1 auto;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 2.45rem;
	padding: 0.5rem 0.9rem;
	border-radius: 10px;
	border: 1px solid transparent;
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	cursor: pointer;
	transition: background 160ms var(--gb-ease), color 160ms var(--gb-ease), border-color 160ms var(--gb-ease), transform 120ms var(--gb-ease);
}

.gb-btn:active {
	transform: scale(0.97);
}

.gb-btn:focus-visible {
	outline: none;
}

.gb-btn:disabled {
	opacity: 0.38;
	cursor: not-allowed;
	transform: none;
}

.gb-btn--primary {
	background: var(--gb-accent);
	color: var(--gb-on-accent);
	border-style: solid;
	border-color: var(--gb-accent);
}

.gb-btn--ghost {
	flex: 0 0 auto;
	min-width: 4.75rem;
	background: transparent;
	border-color: var(--gb-line);
	color: var(--gb-ink);
}

.gb-btn__arrow {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
}

.gb-done {
	padding: 0.5rem 0 0.25rem;
	text-align: center;
}

.gb-done .gb-summary {
	text-align: left;
}

.gb-done svg {
	width: 2.75rem;
	height: 2.75rem;
	color: var(--gb-ok);
	margin: 0 auto 0.75rem;
}

.gb-done h3 {
	margin: 0 0 0.4rem;
	font-size: 1.125rem;
	letter-spacing: -0.02em;
}

.gb-done p {
	margin: 0 0 1.25rem;
	color: var(--gb-muted);
}

.gb-ref {
	display: inline-block;
	margin-bottom: 1.25rem;
	padding: 0.3rem 0.6rem;
	background: var(--gb-surface);
	border: 1px solid var(--gb-line);
	border-radius: 999px;
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
	font-weight: 550;
}

.gb-skel {
	height: 4.25rem;
	border-radius: 14px;
	background: linear-gradient(90deg, var(--gb-wash) 25%, #ececf0 37%, var(--gb-wash) 63%);
	background-size: 400% 100%;
	animation: gb-shimmer 1.1s linear infinite;
}

.gb-skel--slot {
	height: 2.2rem;
	border-radius: 8px;
}

@keyframes gb-shimmer {
	0% {
		background-position: 100% 0;
	}
	100% {
		background-position: 0 0;
	}
}

@media (max-width: 380px) {
	.gb-title {
		font-size: 1rem;
	}

	.gb-head,
	.gb-widget--panel .gb-head {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.gb-body,
	.gb-foot {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.gb-alert {
		margin-left: 1rem;
		margin-right: 1rem;
	}
}

@media (hover: hover) and (pointer: fine) {
	.gb-choice:hover:not(.is-on) {
		border-color: #c8c8ce;
	}

	.gb-staff:hover:not(.is-on) {
		background: var(--gb-wash);
	}

	.gb-rail li:not(.is-done):not([aria-current="step"]) .gb-rail__btn:hover:not(:disabled)::after {
		background: #c8c8ce;
	}

	.gb-cat:hover:not(.is-on) {
		background: var(--gb-wash);
	}

	.gb-btn--primary:hover:not(:disabled) {
		background: var(--gb-accent-hover);
	}

	.gb-btn--ghost:hover:not(:disabled) {
		background: var(--gb-wash);
	}

	.gb-icon-btn:hover:not(:disabled) {
		background: #ececf0;
	}

	.gb-day:hover:not(:disabled):not(.is-on) {
		background: var(--gb-wash);
	}

	.gb-slot:hover:not(.is-on) {
		border-color: var(--gb-accent);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gb-widget *,
	.gb-widget *::before,
	.gb-widget *::after,
	.gb-overlay,
	.gb-scrim,
	.gb-drawer {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}

	.gb-choice:active,
	.gb-staff:active,
	.gb-btn:active,
	.gb-day:active,
	.gb-slot:active,
	.gb-cat:active,
	.gb-icon-btn:active {
		transform: none;
	}
}

/* —— Booking panel —— */

.gb-lock {
	overflow: hidden;
}

.gb-overlay {
	--gb-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483647 !important;
	pointer-events: none;
}

.gb-overlay.is-open {
	pointer-events: auto;
}

.gb-overlay[hidden] {
	display: none !important;
}

.gb-scrim {
	position: absolute;
	inset: 0;
	background: rgba(12, 12, 14, 0.48);
	opacity: 0;
	transition: opacity 240ms var(--gb-ease-drawer);
}

.gb-overlay.is-open .gb-scrim {
	opacity: 1;
}

.gb-drawer {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	width: min(28rem, 100%);
	height: 100%;
	height: 100dvh;
	background: var(--gb-surface, #fff);
	color: var(--gb-ink, #111113);
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
	box-shadow: -18px 0 48px rgba(17, 17, 19, 0.16);
	transform: translateX(100%);
	transition: transform 320ms var(--gb-ease-drawer);
	padding-top: env(safe-area-inset-top);
}

@media (min-width: 560px) {
	.gb-drawer {
		width: min(40rem, 100%);
	}
}

.gb-overlay.is-open .gb-drawer {
	transform: none;
}

.gb-drawer__bar {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.6rem 1.1rem;
	background: var(--gb-surface, #fff);
	border-bottom: 1px solid var(--gb-line, #e6e6ea);
}

.gb-drawer__close {
	display: grid;
	place-items: center;
	width: 2.1rem;
	height: 2.1rem;
	padding: 0;
	border: 1px solid var(--gb-line, #e6e6ea);
	border-radius: 999px;
	background: transparent;
	color: var(--gb-ink, #111113);
	cursor: pointer;
	transition: background 160ms cubic-bezier(0.23, 1, 0.32, 1), transform 120ms cubic-bezier(0.23, 1, 0.32, 1);
}

.gb-drawer__close:active {
	transform: scale(0.97);
}

.gb-drawer__close:focus-visible {
	outline: none;
}

.gb-drawer__close svg {
	width: 16px;
	height: 16px;
}

.gb-drawer__label {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.gb-drawer__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: var(--gb-surface, #fff);
}

.gb-widget--panel {
	flex: 1 1 auto;
	min-height: 0;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	border: 0;
	border-radius: 0;
}

.gb-widget--panel .gb-head {
	padding: 0.55rem 1.1rem 0;
}

.gb-widget--panel .gb-title {
	font-size: 1rem;
}

.gb-widget--panel .gb-body {
	padding-top: 0;
}

.gb-widget--panel .gb-find {
	padding-top: 0.4rem;
}

.gb-widget--panel .gb-cats {
	margin-top: 0.4rem;
	padding-top: 0;
}

.gb-trigger {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.7rem 1.25rem;
	border: 0;
	border-radius: 999px;
	background: var(--gb-accent, #111113);
	color: var(--gb-on-accent, #fff);
	font: inherit;
	font-weight: 600;
	letter-spacing: -0.01em;
	cursor: pointer;
	transition: transform 120ms cubic-bezier(0.23, 1, 0.32, 1), background 160ms cubic-bezier(0.23, 1, 0.32, 1);
}

.gb-trigger:active {
	transform: scale(0.97);
}

.gb-trigger:focus-visible {
	outline: none;
}

@media (hover: hover) and (pointer: fine) {
	.gb-drawer__close:hover {
		background: var(--gb-wash, #f4f4f6);
	}

	.gb-trigger:hover {
		background: var(--gb-accent-hover, #2a2a2e);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gb-drawer {
		transform: none;
		opacity: 0;
	}

	.gb-overlay.is-open .gb-drawer {
		opacity: 1;
	}
}

/*
 * Last, and !important: beat theme `button:focus` / `button:hover` colors
 * (the live site was filling selected cards with the theme pink).
 * Brand color still comes only from plugin settings via --gb-accent.
 */
html body .gb-overlay,
html body .gb-widget {
	-webkit-tap-highlight-color: transparent;
}

html body .gb-overlay h1,
html body .gb-overlay h2,
html body .gb-overlay h3,
html body .gb-overlay p,
html body .gb-overlay li,
html body .gb-overlay span,
html body .gb-overlay button,
html body .gb-widget h1,
html body .gb-widget h2,
html body .gb-widget h3,
html body .gb-widget p,
html body .gb-widget li,
html body .gb-widget span,
html body .gb-widget button {
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif !important;
}

html body .gb-overlay button,
html body .gb-overlay button:hover,
html body .gb-overlay button:focus,
html body .gb-overlay button:focus-visible,
html body .gb-overlay button:active,
html body .gb-overlay button[aria-selected],
html body .gb-overlay button[aria-pressed],
html body .gb-widget button,
html body .gb-widget button:hover,
html body .gb-widget button:focus,
html body .gb-widget button:focus-visible,
html body .gb-widget button:active,
html body .gb-widget button[aria-selected],
html body .gb-widget button[aria-pressed] {
	background-image: none !important;
	box-shadow: none !important;
	outline: none !important;
	text-shadow: none !important;
	filter: none !important;
}

html body .gb-overlay button.gb-choice,
html body .gb-overlay button.gb-choice:hover,
html body .gb-overlay button.gb-choice:focus,
html body .gb-overlay button.gb-choice:focus-visible,
html body .gb-overlay button.gb-choice:active,
html body .gb-overlay button.gb-choice[aria-selected],
html body .gb-widget button.gb-choice,
html body .gb-widget button.gb-choice:hover,
html body .gb-widget button.gb-choice:focus,
html body .gb-widget button.gb-choice:focus-visible,
html body .gb-widget button.gb-choice:active,
html body .gb-widget button.gb-choice[aria-selected] {
	background: var(--gb-surface) !important;
	background-color: var(--gb-surface) !important;
	color: var(--gb-ink) !important;
	border-color: var(--gb-line) !important;
}

html body .gb-overlay button.gb-choice.is-on,
html body .gb-overlay button.gb-choice.is-on:hover,
html body .gb-overlay button.gb-choice.is-on:focus,
html body .gb-overlay button.gb-choice.is-on:focus-visible,
html body .gb-overlay button.gb-choice.is-on:active,
html body .gb-overlay button.gb-choice.is-on[aria-selected],
html body .gb-widget button.gb-choice.is-on,
html body .gb-widget button.gb-choice.is-on:hover,
html body .gb-widget button.gb-choice.is-on:focus,
html body .gb-widget button.gb-choice.is-on:focus-visible,
html body .gb-widget button.gb-choice.is-on:active,
html body .gb-widget button.gb-choice.is-on[aria-selected] {
	background: var(--gb-surface) !important;
	background-color: var(--gb-surface) !important;
	color: var(--gb-ink) !important;
	border-color: var(--gb-accent) !important;
}

html body .gb-overlay .gb-choice__name,
html body .gb-widget .gb-choice__name {
	color: var(--gb-ink) !important;
}

html body .gb-overlay .gb-choice__meta,
html body .gb-widget .gb-choice__meta {
	color: var(--gb-muted) !important;
}

html body .gb-overlay button.gb-cat,
html body .gb-overlay button.gb-cat:hover,
html body .gb-overlay button.gb-cat:focus,
html body .gb-overlay button.gb-cat:focus-visible,
html body .gb-overlay button.gb-cat:active,
html body .gb-widget button.gb-cat,
html body .gb-widget button.gb-cat:hover,
html body .gb-widget button.gb-cat:focus,
html body .gb-widget button.gb-cat:focus-visible,
html body .gb-widget button.gb-cat:active {
	background: var(--gb-surface) !important;
	background-color: var(--gb-surface) !important;
	color: var(--gb-ink) !important;
	border-color: var(--gb-line) !important;
}

html body .gb-overlay button.gb-cat.is-on,
html body .gb-overlay button.gb-cat.is-on:hover,
html body .gb-overlay button.gb-cat.is-on:focus,
html body .gb-overlay button.gb-cat.is-on:focus-visible,
html body .gb-overlay button.gb-cat.is-on:active,
html body .gb-widget button.gb-cat.is-on,
html body .gb-widget button.gb-cat.is-on:hover,
html body .gb-widget button.gb-cat.is-on:focus,
html body .gb-widget button.gb-cat.is-on:focus-visible,
html body .gb-widget button.gb-cat.is-on:active {
	background: var(--gb-accent) !important;
	background-color: var(--gb-accent) !important;
	color: var(--gb-on-accent) !important;
	border-color: var(--gb-accent) !important;
}

html body .gb-overlay button.gb-staff,
html body .gb-overlay button.gb-staff:hover,
html body .gb-overlay button.gb-staff:focus,
html body .gb-overlay button.gb-staff:focus-visible,
html body .gb-overlay button.gb-staff:active,
html body .gb-widget button.gb-staff,
html body .gb-widget button.gb-staff:hover,
html body .gb-widget button.gb-staff:focus,
html body .gb-widget button.gb-staff:focus-visible,
html body .gb-widget button.gb-staff:active {
	background: var(--gb-surface) !important;
	background-color: var(--gb-surface) !important;
	color: var(--gb-ink) !important;
	border-color: var(--gb-line) !important;
}

html body .gb-overlay button.gb-staff.is-on,
html body .gb-overlay button.gb-staff.is-on:hover,
html body .gb-overlay button.gb-staff.is-on:focus,
html body .gb-overlay button.gb-staff.is-on:focus-visible,
html body .gb-overlay button.gb-staff.is-on:active,
html body .gb-widget button.gb-staff.is-on,
html body .gb-widget button.gb-staff.is-on:hover,
html body .gb-widget button.gb-staff.is-on:focus,
html body .gb-widget button.gb-staff.is-on:focus-visible,
html body .gb-widget button.gb-staff.is-on:active {
	background: var(--gb-accent-wash) !important;
	background-color: var(--gb-accent-wash) !important;
	color: var(--gb-ink) !important;
	border-color: var(--gb-accent) !important;
}

html body .gb-overlay button.gb-staff .gb-check,
html body .gb-widget button.gb-staff .gb-check {
	opacity: 0 !important;
}

html body .gb-overlay button.gb-staff.is-on .gb-check,
html body .gb-widget button.gb-staff.is-on .gb-check {
	opacity: 1 !important;
}

html body .gb-overlay button.gb-day,
html body .gb-overlay button.gb-day:hover,
html body .gb-overlay button.gb-day:focus,
html body .gb-overlay button.gb-day:focus-visible,
html body .gb-overlay button.gb-day:active,
html body .gb-widget button.gb-day,
html body .gb-widget button.gb-day:hover,
html body .gb-widget button.gb-day:focus,
html body .gb-widget button.gb-day:focus-visible,
html body .gb-widget button.gb-day:active {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--gb-ink) !important;
}

html body .gb-overlay button.gb-day.is-on,
html body .gb-overlay button.gb-day.is-on:hover,
html body .gb-overlay button.gb-day.is-on:focus,
html body .gb-overlay button.gb-day.is-on:focus-visible,
html body .gb-overlay button.gb-day.is-on:active,
html body .gb-widget button.gb-day.is-on,
html body .gb-widget button.gb-day.is-on:hover,
html body .gb-widget button.gb-day.is-on:focus,
html body .gb-widget button.gb-day.is-on:focus-visible,
html body .gb-widget button.gb-day.is-on:active {
	background: var(--gb-accent) !important;
	background-color: var(--gb-accent) !important;
	color: var(--gb-on-accent) !important;
}

html body .gb-overlay button.gb-slot,
html body .gb-overlay button.gb-slot:hover,
html body .gb-overlay button.gb-slot:focus,
html body .gb-overlay button.gb-slot:focus-visible,
html body .gb-overlay button.gb-slot:active,
html body .gb-widget button.gb-slot,
html body .gb-widget button.gb-slot:hover,
html body .gb-widget button.gb-slot:focus,
html body .gb-widget button.gb-slot:focus-visible,
html body .gb-widget button.gb-slot:active {
	background: var(--gb-surface) !important;
	background-color: var(--gb-surface) !important;
	color: var(--gb-ink) !important;
	border-color: var(--gb-line) !important;
}

html body .gb-overlay button.gb-slot.is-on,
html body .gb-overlay button.gb-slot.is-on:hover,
html body .gb-overlay button.gb-slot.is-on:focus,
html body .gb-overlay button.gb-slot.is-on:focus-visible,
html body .gb-overlay button.gb-slot.is-on:active,
html body .gb-widget button.gb-slot.is-on,
html body .gb-widget button.gb-slot.is-on:hover,
html body .gb-widget button.gb-slot.is-on:focus,
html body .gb-widget button.gb-slot.is-on:focus-visible,
html body .gb-widget button.gb-slot.is-on:active {
	background: var(--gb-accent) !important;
	background-color: var(--gb-accent) !important;
	color: var(--gb-on-accent) !important;
	border-color: var(--gb-accent) !important;
}

html body .gb-overlay button.gb-btn--primary,
html body .gb-overlay button.gb-btn--primary:hover,
html body .gb-overlay button.gb-btn--primary:focus,
html body .gb-overlay button.gb-btn--primary:focus-visible,
html body .gb-overlay button.gb-btn--primary:active,
html body .gb-overlay button.gb-btn--primary:disabled,
html body .gb-widget button.gb-btn--primary,
html body .gb-widget button.gb-btn--primary:hover,
html body .gb-widget button.gb-btn--primary:focus,
html body .gb-widget button.gb-btn--primary:focus-visible,
html body .gb-widget button.gb-btn--primary:active,
html body .gb-widget button.gb-btn--primary:disabled {
	background: var(--gb-accent) !important;
	background-color: var(--gb-accent) !important;
	color: var(--gb-on-accent) !important;
	border-color: var(--gb-accent) !important;
}

html body .gb-overlay button.gb-btn--ghost,
html body .gb-overlay button.gb-btn--ghost:hover,
html body .gb-overlay button.gb-btn--ghost:focus,
html body .gb-overlay button.gb-btn--ghost:focus-visible,
html body .gb-overlay button.gb-btn--ghost:active,
html body .gb-widget button.gb-btn--ghost,
html body .gb-widget button.gb-btn--ghost:hover,
html body .gb-widget button.gb-btn--ghost:focus,
html body .gb-widget button.gb-btn--ghost:focus-visible,
html body .gb-widget button.gb-btn--ghost:active {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--gb-ink) !important;
	border-color: var(--gb-line) !important;
}

html body .gb-overlay button.gb-drawer__close,
html body .gb-overlay button.gb-drawer__close:hover,
html body .gb-overlay button.gb-drawer__close:focus,
html body .gb-overlay button.gb-drawer__close:focus-visible,
html body .gb-overlay button.gb-drawer__close:active {
	background: var(--gb-surface, #fff) !important;
	background-color: var(--gb-surface, #fff) !important;
	color: var(--gb-ink, #111113) !important;
	border-color: var(--gb-line, #e6e6ea) !important;
}

html body .gb-overlay button.gb-icon-btn,
html body .gb-overlay button.gb-icon-btn:hover,
html body .gb-overlay button.gb-icon-btn:focus,
html body .gb-overlay button.gb-icon-btn:focus-visible,
html body .gb-overlay button.gb-icon-btn:active,
html body .gb-widget button.gb-icon-btn,
html body .gb-widget button.gb-icon-btn:hover,
html body .gb-widget button.gb-icon-btn:focus,
html body .gb-widget button.gb-icon-btn:focus-visible,
html body .gb-widget button.gb-icon-btn:active {
	background: var(--gb-surface) !important;
	background-color: var(--gb-surface) !important;
	color: var(--gb-ink) !important;
	border-color: var(--gb-line) !important;
}

html body .gb-overlay button.gb-rail__btn,
html body .gb-overlay button.gb-rail__btn:hover,
html body .gb-overlay button.gb-rail__btn:focus,
html body .gb-overlay button.gb-rail__btn:focus-visible,
html body .gb-overlay button.gb-rail__btn:active,
html body .gb-widget button.gb-rail__btn,
html body .gb-widget button.gb-rail__btn:hover,
html body .gb-widget button.gb-rail__btn:focus,
html body .gb-widget button.gb-rail__btn:focus-visible,
html body .gb-widget button.gb-rail__btn:active {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

html body .gb-overlay .gb-dot,
html body .gb-widget .gb-dot {
	background: var(--gb-surface) !important;
	background-color: var(--gb-surface) !important;
	border-color: var(--gb-line) !important;
}

html body .gb-overlay .gb-choice.is-on .gb-dot,
html body .gb-widget .gb-choice.is-on .gb-dot {
	background: var(--gb-accent) !important;
	background-color: var(--gb-accent) !important;
	border-color: var(--gb-accent) !important;
}

html body .gb-overlay .gb-dot::after,
html body .gb-widget .gb-dot::after {
	background: none !important;
	background-color: transparent !important;
	border-color: var(--gb-on-accent) !important;
	border-top-color: transparent !important;
	border-left-color: transparent !important;
}

html body .gb-overlay .gb-search,
html body .gb-widget .gb-search {
	background: var(--gb-surface) !important;
	background-color: var(--gb-surface) !important;
	border-color: var(--gb-line) !important;
	box-shadow: none !important;
}

html body .gb-overlay .gb-search:focus-within,
html body .gb-widget .gb-search:focus-within {
	border-color: var(--gb-ink) !important;
	box-shadow: none !important;
}

html body .gb-overlay .gb-search input,
html body .gb-overlay .gb-search input:hover,
html body .gb-overlay .gb-search input:focus,
html body .gb-overlay .gb-search input:focus-visible,
html body .gb-widget .gb-search input,
html body .gb-widget .gb-search input:hover,
html body .gb-widget .gb-search input:focus,
html body .gb-widget .gb-search input:focus-visible {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--gb-ink) !important;
	border: 0 !important;
	box-shadow: none !important;
}

html body .gb-overlay .gb-field input,
html body .gb-overlay .gb-field textarea,
html body .gb-widget .gb-field input,
html body .gb-widget .gb-field textarea {
	background: var(--gb-surface) !important;
	background-color: var(--gb-surface) !important;
	border-color: var(--gb-line) !important;
	box-shadow: none !important;
	outline: none !important;
}

html body .gb-overlay .gb-legs,
html body .gb-widget .gb-legs {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body .gb-overlay .gb-legs li,
html body .gb-widget .gb-legs li {
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	list-style: none !important;
}

html body .gb-overlay .gb-legs__svc,
html body .gb-widget .gb-legs__svc {
	color: var(--gb-ink, #111113) !important;
}

html body .gb-overlay .gb-legs__who,
html body .gb-widget .gb-legs__who {
	color: var(--gb-muted, #6b6b73) !important;
}

html body .gb-overlay .gb-visit,
html body .gb-widget .gb-visit {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body .gb-overlay .gb-visit li,
html body .gb-widget .gb-visit li {
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	list-style: none !important;
}

html body .gb-overlay .gb-visit__who,
html body .gb-overlay .gb-visit__done,
html body .gb-overlay .gb-visit__end,
html body .gb-widget .gb-visit__who,
html body .gb-widget .gb-visit__done,
html body .gb-widget .gb-visit__end {
	color: var(--gb-muted, #6b6b73) !important;
}

html body .gb-overlay .gb-visit__svc,
html body .gb-overlay .gb-visit__day,
html body .gb-overlay .gb-visit__start,
html body .gb-widget .gb-visit__svc,
html body .gb-widget .gb-visit__day,
html body .gb-widget .gb-visit__start {
	color: var(--gb-ink, #111113) !important;
}

html body .gb-overlay .gb-done,
html body .gb-widget .gb-done {
	text-align: center !important;
}

html body .gb-overlay .gb-done > svg,
html body .gb-widget .gb-done > svg {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

html body .gb-overlay .gb-widget .gb-field:focus-within input,
html body .gb-overlay .gb-widget .gb-field:focus-within textarea,
html body .gb-overlay .gb-field:focus-within input,
html body .gb-overlay .gb-field:focus-within textarea,
html body .gb-widget .gb-field:focus-within input,
html body .gb-widget .gb-field:focus-within textarea {
	background: var(--gb-surface) !important;
	background-color: var(--gb-surface) !important;
	border-color: var(--gb-ink) !important;
	box-shadow: none !important;
	outline: none !important;
}
