:root {
	--pcta-primary: #0d9394;
	--pcta-primary-rgb: 13, 147, 148;
	--pcta-soft-bg: #f8fcfb;
	--pcta-soft-border: #e7f2ef;
	--pcta-heading: #213730;
	--pcta-body: #5f6f67;
}

			.public-surface {
				background: #fff;
				color: var(--pcta-body);
			}

			.public-surface .layout-wrapper,
			.public-surface .layout-container,
			.public-surface .layout-page,
			.public-surface .content-wrapper {
				background: #fff;
				min-height: calc(100vh - 72px);
			}

			.public-surface .content-wrapper {
				justify-content: flex-start;
			}

			.public-surface .public-footer-container {
				margin-top: auto;
			}

			.public-page {
				padding: 2.75rem 0 4rem;
			}

			.public-page-hero {
				background: linear-gradient(180deg, #eefaf8 0%, #f8fcfb 68%, #ffffff 100%);
				border-bottom: 1px solid #eef6f3;
				padding: 3.4rem 0 2.6rem;
				margin-bottom: 2rem;
			}

			.public-page-hero--compact {
				padding: 2.5rem 0 2.25rem;
				margin-bottom: 0;
			}

			.public-agenda-page .public-card {
				border-radius: .95rem;
			}

			.public-agenda-step-two-shell {
				background: #fff;
				border: 1px solid var(--pcta-soft-border);
				border-radius: .95rem;
				margin-bottom: 1.5rem;
				overflow: hidden;
			}

			.public-booking-steps-header {
				align-items: center;
				display: flex;
				gap: 1rem;
				justify-content: space-between;
			}

			.public-agenda-page .card-body {
				padding: 1.5rem;
			}

			.public-agenda-page .public-agenda-flow-card .card-body {
				padding-bottom: 1.1rem;
				padding-top: 1.1rem;
			}

			.public-agenda-page .public-agenda-flow-card {
				border: 1px solid var(--pcta-soft-border) !important;
				border-radius: .95rem;
				margin-bottom: 0 !important;
			}

			.public-agenda-page .public-agenda-step-two-shell .public-agenda-flow-card,
			.public-agenda-page .public-agenda-step-two-shell .public-agenda-date-card {
				border: 0 !important;
				border-radius: 0;
			}

			.public-agenda-booking .public-card {
				border: 1px solid var(--pcta-soft-border);
			}

			.public-agenda-page .public-agenda-date-card .card-body {
				padding-bottom: 1rem;
				padding-top: 1rem;
			}

			.public-agenda-page .public-agenda-date-card {
				border: 0 !important;
				border-radius: 0;
				margin-top: 0;
			}

			.public-agenda-directory .public-directory-grid {
				row-gap: 1.5rem !important;
			}

			.public-agenda-directory .public-directory-card {
				transition: transform .2s ease, box-shadow .2s ease;
			}

			.public-agenda-directory .public-directory-card:hover {
				transform: translateY(-2px);
				box-shadow: 0 16px 30px rgba(10, 65, 57, 0.09);
			}

			.public-agenda-provider-card {
				overflow: hidden;
			}

			.public-agenda-provider-content {
				display: grid;
				grid-template-columns: minmax(8rem, 1fr) minmax(8.75rem, 1fr);
				min-height: 12.5rem;
			}

			.public-agenda-provider-profile {
				padding: .75rem .7rem .65rem;
			}

			.public-agenda-provider-avatar {
				border-radius: .45rem;
				display: block;
				height: 6rem;
				margin: 0 auto .45rem;
				max-width: 100%;
				width: 6.75rem;
			}

			.public-agenda-provider-profile h2 {
				line-height: 1.05;
			}

			.public-agenda-provider-hours {
				align-content: start;
				background: rgba(var(--pcta-primary-rgb), .7);
				display: flex;
				flex-direction: column;
				gap: .4rem;
				padding: .7rem .55rem .65rem;
			}

			.public-agenda-time {
				background: #fff;
				border-radius: 999px;
				box-shadow: 0 2px 5px rgba(var(--pcta-primary-rgb), .18);
				color: var(--pcta-primary);
				display: block;
				font-size: 1rem;
				font-weight: 700;
				line-height: 1;
				padding: .55rem .4rem;
				text-align: center;
				text-decoration: none;
			}

			.public-agenda-time:hover,
			.public-agenda-time:focus-visible {
				background: #f1fff8;
				color: var(--pcta-primary);
			}


			.public-agenda-time-action {
				display: none;
			}

			.public-agenda-time:hover .public-agenda-time-value,
			.public-agenda-time:focus-visible .public-agenda-time-value {
				display: none;
			}

			.public-agenda-time:hover .public-agenda-time-action,
			.public-agenda-time:focus-visible .public-agenda-time-action {
				display: inline;
			}

			.public-agenda-time.is-reserved {
				background: transparent;
				border: 1px dotted rgba(255, 255, 255, .85);
				box-shadow: none;
				color: #fff;
				cursor: default;
				font-size: .85rem;
			}

			.public-agenda-hours-total {
				align-items: center;
				background: var(--pcta-soft-bg);
				border-radius: .55rem;
				color: var(--pcta-primary);
				display: flex;
				gap: .55rem;
				justify-content: center;
				padding: .35rem;
				text-align: center;
				text-transform: uppercase;
			}

			.public-agenda-hours-total strong {
				font-size: 1.65rem;
				line-height: 1;
			}

			.public-agenda-hours-total span {
				font-size: .62rem;
				font-weight: 700;
				line-height: 1.15;
			}

			.public-agenda-provider-actions {
				align-items: center;
				border-top: 1px solid var(--pcta-soft-border);
				display: flex;
				gap: .75rem;
				justify-content: flex-end;
				padding: .65rem .75rem;
			}

			.public-agenda-schedule-modal .modal-content {
				border: 0;
				border-radius: 1rem;
				overflow: hidden;
			}

			.public-agenda-modal-provider {
				align-items: center;
				background: var(--pcta-soft-bg);
				display: flex;
				flex-direction: column;
				padding: 1.5rem;
				text-align: center;
			}

			.public-agenda-modal-layout {
				display: grid;
				grid-template-columns: minmax(15rem, 22rem) minmax(0, 1fr);
				min-height: 34rem;
			}

			.public-agenda-modal-main {
				padding: 3.25rem 3rem 2.5rem;
			}

			.public-agenda-modal-close {
				align-items: center;
				background: var(--pcta-soft-bg);
				border: 1px solid var(--pcta-soft-border);
				border-radius: 50%;
				color: var(--pcta-primary);
				display: inline-flex;
				font-size: 1.75rem;
				height: 2.5rem;
				justify-content: center;
				line-height: 1;
				position: absolute;
				right: .75rem;
				top: .75rem;
				transition: background-color .15s ease, color .15s ease;
				width: 2.5rem;
				z-index: 2;
			}

			.public-agenda-modal-close:hover,
			.public-agenda-modal-close:focus-visible {
				background: var(--pcta-primary);
				color: #fff;
				outline: 0;
			}

			.public-agenda-modal-kicker {
				color: var(--pcta-primary);
				font-size: 1.05rem;
				margin: 0 0 .5rem;
			}

			.public-agenda-modal-organization {
				color: var(--pcta-primary);
				font-size: 1.05rem;
				margin: 1.25rem 0 0;
			}

			.public-agenda-modal-avatar {
				border-radius: .5rem;
				height: 14rem;
				margin-bottom: .5rem;
				width: 14rem;
			}

			.public-agenda-modal-date-nav {
				align-items: center;
				display: grid;
				grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
				margin-bottom: 2rem;
			}

			.public-agenda-modal-slots {
				display: grid;
				gap: .7rem 1rem;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				margin: 0 auto;
				max-width: 42rem;
			}

			.public-agenda-modal-slot {
				align-items: center;
				border: 1px solid var(--pcta-primary);
				border-radius: .35rem;
				color: var(--pcta-primary);
				display: flex;
				gap: .45rem;
				justify-content: center;
				padding: .65rem .75rem;
				text-decoration: none;
			}

			.public-agenda-modal-slot:hover,
			.public-agenda-modal-slot:focus-visible {
				background: var(--pcta-soft-bg);
				color: var(--pcta-primary);
			}

			.public-agenda-modal-slot.is-reserved {
				border-style: dotted;
				color: var(--bs-secondary-color);
				cursor: default;
			}

			@media (max-width: 575.98px) {
				.public-agenda-modal-layout {
					grid-template-columns: 1fr;
				}

				.public-agenda-modal-provider {
					padding: 1.5rem 1rem;
				}

				.public-agenda-modal-avatar {
					height: 9rem;
					width: 9rem;
				}

				.public-agenda-modal-main {
					padding: 2rem 1rem 1.5rem;
				}

				.public-agenda-modal-slots {
					grid-template-columns: 1fr;
				}

				.public-agenda-provider-content {
					grid-template-columns: minmax(7rem, 1fr) minmax(8rem, 1fr);
				}

				.public-agenda-provider-avatar {
					height: 5.5rem;
					width: 6.25rem;
				}
			}

			.public-agenda-day-strip {
				overflow-x: auto;
				padding: .35rem .15rem .8rem;
				scrollbar-width: thin;
			}

			.public-agenda-results {
				position: relative;
			}

			.public-agenda-results-loading {
				align-items: center;
				background: rgba(255, 255, 255, .72);
				display: flex;
				inset: 0;
				justify-content: center;
				position: absolute;
				z-index: 2;
			}

			.public-agenda-results-loading[hidden] {
				display: none !important;
			}

			.public-agenda-results.is-loading .public-agenda-results-loading {
				display: flex;
			}

			.public-agenda-loading-spinner {
				animation: public-agenda-spin .8s linear infinite;
				border: .25rem solid rgba(64, 151, 153, .22);
				border-radius: 50%;
				border-top-color: var(--pcta-primary);
				display: block;
				height: 2rem;
				width: 2rem;
			}

			@keyframes public-agenda-spin {
				to { transform: rotate(360deg); }
			}

			.public-agenda-day-list {
				display: flex;
				gap: .55rem;
				min-width: max-content;
			}

			.public-agenda-day {
				align-items: center;
				background: #fff;
				border: 1px solid var(--pcta-soft-border);
				border-radius: 1.25rem;
				color: var(--pcta-body);
				display: inline-flex;
				flex-direction: column;
				min-height: 4.8rem;
				padding: .55rem .8rem .45rem;
				position: relative;
				text-decoration: none;
				transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
				width: 4.65rem;
			}

			.public-agenda-day:hover,
			.public-agenda-day:focus-visible {
				border-color: var(--pcta-primary);
				box-shadow: 0 5px 12px rgba(10, 65, 57, 0.12);
				color: var(--pcta-primary);
				transform: translateY(-1px);
			}

			.public-agenda-day.is-selected {
				background: var(--pcta-primary);
				border-color: var(--pcta-primary);
				color: #fff;
			}

			.public-agenda-day.is-empty {
				background: #f6faf9;
				color: #98a6a1;
			}

			.public-agenda-day.is-selected.is-empty {
				background: var(--pcta-primary);
				color: #fff;
			}

			.public-agenda-day-count {
				background: #7b8581;
				border-radius: 999px;
				color: #fff;
				font-size: .7rem;
				font-weight: 700;
				line-height: 1.25rem;
				min-width: 1.25rem;
				padding: 0 .3rem;
				position: absolute;
				right: -.25rem;
				top: -.35rem;
			}

			.public-agenda-day.is-selected .public-agenda-day-count {
				background: #fff;
				color: var(--pcta-primary);
			}

			.public-agenda-day-name {
				font-size: .72rem;
				font-weight: 600;
				line-height: 1.1;
				text-transform: uppercase;
			}

			.public-agenda-day-number {
				font-size: 1.15rem;
				line-height: 1.3;
				margin-top: .15rem;
			}

			.public-agenda-management .public-summary-card {
				background: #f8fcfb;
			}

			.public-agenda-management .public-action-card {
				margin-bottom: 1.25rem !important;
			}

			.public-page-title {
				color: var(--pcta-heading);
				line-height: 1.1;
			}

			.public-card {
				border: 1px solid var(--pcta-soft-border);
				box-shadow: 0 10px 22px rgba(10, 65, 57, 0.05);
			}

			.public-surface .bg-label-primary {
				background-color: #dff4f4 !important;
				color: var(--pcta-primary) !important;
			}

			.public-surface .btn-primary {
				background-color: var(--pcta-primary);
				border-color: var(--pcta-primary);
			}

			.public-surface .btn-primary:hover,
			.public-surface .btn-primary:focus {
				background-color: #0a7b7c;
				border-color: #0a7b7c;
			}

			.public-agenda-confirm-submit {
				flex: 0 0 auto;
				min-width: 10rem;
			}

			.public-surface .btn-outline-primary,
			.public-surface .btn-label-primary {
				color: var(--pcta-primary);
				border-color: var(--pcta-primary);
			}

			.public-surface .btn-outline-primary:hover,
			.public-surface .btn-outline-primary:focus {
				color: #fff;
				background-color: var(--pcta-primary);
				border-color: var(--pcta-primary);
			}

			.public-summary-panel {
				background: var(--pcta-soft-bg);
				border: 1px solid var(--pcta-soft-border);
			}

			.public-booking-steps {
				border-bottom: 1px solid var(--pcta-soft-border);
				padding-bottom: 1rem;
			}

			@media (max-width: 575.98px) {
				.public-booking-steps-header {
					align-items: flex-start;
					flex-direction: column;
				}
			}


			.public-booking-step {
				align-items: center;
				color: #7b8781;
				display: inline-flex;
				font-size: .9rem;
				font-weight: 600;
				gap: .45rem;
			}

			.public-booking-step span {
				align-items: center;
				background: #e7f2ef;
				border-radius: 50%;
				color: var(--pcta-primary);
				display: inline-flex;
				height: 1.75rem;
				justify-content: center;
				width: 1.75rem;
			}

			.public-booking-step.is-active {
				color: var(--pcta-heading);
			}

			.public-booking-step.is-active span {
				background: var(--pcta-primary);
				color: #fff;
			}

			@media (max-width: 767.98px) {
				.public-page {
					padding: 2rem 0 3rem;
				}

				.public-page-hero {
					padding: 2.6rem 0 2rem;
				}

				.public-page-hero--compact {
					padding: 2rem 0 1.75rem;
				}
			}
