.semicolon-session-request {
	margin-top: 24px;
}

.semicolon-session-request__trigger,
.semicolon-session-request__login {
	align-items: center;
	background: #0072ce;
	border: 0;
	border-radius: 12px;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-weight: 750;
	gap: 12px;
	justify-content: space-between;
	line-height: 1.2;
	min-height: 52px;
	padding: 14px 18px;
	text-decoration: none;
	transition: background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
	width: 100%;
}

.semicolon-session-request a.semicolon-session-request__login,
.semicolon-session-request a.semicolon-session-request__login:visited,
.semicolon-session-request a.semicolon-session-request__login:hover,
.semicolon-session-request a.semicolon-session-request__login:focus,
.semicolon-session-request a.semicolon-session-request__login:active {
	color: #fff !important;
}

.semicolon-session-request__trigger:hover:not(:disabled),
.semicolon-session-request__login:hover {
	background: #0981e3;
	box-shadow: 0 12px 28px rgba(0, 114, 206, 0.28);
	color: #fff;
	transform: translateY(-2px);
}

.semicolon-session-request__trigger:disabled {
	background: #596887;
	cursor: not-allowed;
}

.semicolon-session-request__trigger svg,
.semicolon-session-request__submit svg {
	fill: none;
	height: 20px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 20px;
}

.semicolon-session-request__availability-note {
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: 0.76rem !important;
	line-height: 1.5;
	margin: 10px 2px 0 !important;
}

.semicolon-session-request__signed-out,
.semicolon-session-request__owner {
	margin-top: 24px;
}

.semicolon-session-request__signed-out p {
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.75rem;
	margin: 9px 2px 0;
}

.semicolon-session-request__signed-out--unavailable {
	background: rgba(255, 255, 255, 0.08);
	border-left: 3px solid rgba(255, 255, 255, 0.5);
	border-radius: 3px 12px 12px 3px;
	padding: 16px;
}

.semicolon-session-request__signed-out--unavailable strong {
	color: #fff;
	display: block;
	font-size: 0.88rem;
}

.semicolon-session-request__signed-out--unavailable p {
	margin-top: 5px;
}

.semicolon-session-request__unavailable {
	background: rgba(255, 255, 255, 0.08);
	border-left: 3px solid rgba(255, 255, 255, 0.5);
	border-radius: 3px 12px 12px 3px;
	margin-top: 24px;
	padding: 16px;
}

.semicolon-session-request__unavailable strong,
.semicolon-session-request__unavailable p {
	display: block;
}

.semicolon-session-request__unavailable strong {
	color: #fff;
	font-size: 0.88rem;
}

.semicolon-session-request__unavailable p {
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.75rem;
	margin: 5px 0 0;
}

.semicolon-session-request__owner {
	background: rgba(255, 255, 255, 0.08);
	border-left: 3px solid #8fc9ff;
	border-radius: 3px 12px 12px 3px;
	padding: 16px;
}

.semicolon-session-request__owner strong,
.semicolon-session-request__owner span {
	display: block;
}

.semicolon-session-request__owner strong {
	color: #fff;
	font-size: 0.9rem;
}

.semicolon-session-request__owner span {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.76rem;
	margin: 4px 0 0;
}

body.semicolon-request-dialog-open {
	overflow: hidden;
}

.semicolon-session-request__dialog[hidden] {
	display: none !important;
}

.semicolon-session-request__dialog {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 20px;
	position: fixed;
	z-index: 1000000;
}

.semicolon-session-request__backdrop {
	background: rgba(5, 15, 49, 0.78);
	border: 0;
	cursor: default;
	inset: 0;
	padding: 0;
	position: absolute;
	width: 100%;
}

.semicolon-session-request__panel {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 28px 90px rgba(5, 15, 49, 0.35);
	color: #102044;
	max-height: calc(100vh - 40px);
	max-width: 610px;
	overflow-y: auto;
	padding: clamp(24px, 4vw, 38px);
	position: relative;
	width: 100%;
	z-index: 1;
}

.semicolon-session-request__header {
	align-items: flex-start;
	display: flex;
	gap: 24px;
	justify-content: space-between;
}

.semicolon-session-request__header p {
	color: #0072ce;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin: 0 0 9px;
	text-transform: uppercase;
}

.semicolon-session-request__header h2 {
	color: #0a1e63;
	font-size: clamp(1.65rem, 4vw, 2.25rem);
	letter-spacing: -0.04em;
	line-height: 1.12;
	margin: 0;
}

.semicolon-session-request__close {
	align-items: center;
	background: #f0f4f8;
	border: 0;
	border-radius: 10px;
	color: #0a1e63;
	cursor: pointer;
	display: flex;
	flex: 0 0 auto;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.semicolon-session-request__close svg {
	fill: none;
	height: 20px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2;
	width: 20px;
}

.semicolon-session-request__description {
	color: #536078 !important;
	font-size: 0.92rem !important;
	line-height: 1.6;
	margin: 18px 0 28px !important;
}

.semicolon-session-request__form fieldset {
	border: 0;
	margin: 0 0 25px;
	padding: 0;
}

.semicolon-session-request__form legend,
.semicolon-session-request__field > span {
	color: #102044;
	display: block;
	font-size: 0.85rem;
	font-weight: 750;
	margin-bottom: 10px;
}

.semicolon-session-request__types {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.semicolon-session-request__types label {
	cursor: pointer;
}

.semicolon-session-request__types input {
	opacity: 0;
	pointer-events: none;
	position: absolute;
}

.semicolon-session-request__types span {
	align-items: center;
	background: #f5f8fb;
	border: 2px solid #dce5ef;
	border-radius: 12px;
	color: #36445f;
	display: flex;
	font-size: 0.84rem;
	font-weight: 700;
	justify-content: center;
	min-height: 50px;
	padding: 10px;
}

.semicolon-session-request__types input:checked + span {
	background: #edf7ff;
	border-color: #0072ce;
	color: #0a1e63;
}

.semicolon-session-request__types input:focus-visible + span {
	outline: 3px solid rgba(0, 114, 206, 0.35);
	outline-offset: 2px;
}

.semicolon-session-request__field {
	display: block;
}

.semicolon-session-request__field small {
	color: #67738a;
	display: block;
	font-size: 0.75rem;
	margin: -7px 0 9px;
}

.semicolon-session-request__field textarea {
	background: #fbfcfe;
	border: 1px solid #cbd6e2;
	border-radius: 12px;
	color: #102044;
	display: block;
	min-height: 110px;
	padding: 13px;
	resize: vertical;
	width: 100%;
}

.semicolon-session-request__field textarea:focus {
	border-color: #0072ce;
	box-shadow: 0 0 0 3px rgba(0, 114, 206, 0.12);
	outline: none;
}

.semicolon-session-request__status {
	color: #536078;
	font-size: 0.8rem;
	margin: 14px 0 0;
	min-height: 1.4em;
}

.semicolon-session-request__status[data-state="error"] {
	color: #a22b35;
}

.semicolon-session-request__status[data-state="success"] {
	color: #147d64;
}

.semicolon-session-request__actions {
	border-top: 1px solid #e0e7ef;
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	margin-top: 22px;
	padding-top: 20px;
}

.semicolon-session-request__cancel,
.semicolon-session-request__submit {
	border-radius: 10px;
	cursor: pointer;
	font-size: 0.86rem;
	font-weight: 750;
	min-height: 46px;
	padding: 11px 18px;
}

.semicolon-session-request__cancel {
	background: #fff;
	border: 1px solid #cbd6e2;
	color: #34415c;
}

.semicolon-session-request__submit {
	align-items: center;
	background: #0072ce;
	border: 1px solid #0072ce;
	color: #fff;
	display: flex;
	gap: 9px;
}

.semicolon-session-request__submit:disabled {
	cursor: wait;
	opacity: 0.7;
}

@media (max-width: 520px) {
	.semicolon-session-request__dialog {
		align-items: flex-end;
		padding: 0;
	}

	.semicolon-session-request__panel {
		border-radius: 20px 20px 0 0;
		max-height: 92vh;
		padding: 25px 20px calc(25px + env(safe-area-inset-bottom));
	}

	.semicolon-session-request__types {
		grid-template-columns: 1fr;
	}

	.semicolon-session-request__actions {
		flex-direction: column-reverse;
	}

	.semicolon-session-request__cancel,
	.semicolon-session-request__submit {
		justify-content: center;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.semicolon-session-request__trigger,
	.semicolon-session-request__login {
		transition: none;
	}
}
.semicolon-schedule-booking{margin-top:18px;padding-top:18px;border-top:1px solid rgba(20,34,56,.1)}.semicolon-schedule-booking__heading{display:grid;gap:4px;margin-bottom:14px}.semicolon-schedule-booking__heading>span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#0b7ae1}.semicolon-schedule-booking__heading>strong{font-size:18px;color:#142238}.semicolon-schedule-booking__heading small{color:#6b7280}.semicolon-schedule-booking__days{display:grid;gap:12px;max-height:320px;overflow:auto;padding-right:4px}.semicolon-schedule-booking__days section{display:grid;gap:8px}.semicolon-schedule-booking__days h3{font-size:13px;margin:0;color:#4b5563}.semicolon-schedule-booking__times,.semicolon-schedule-booking__types{display:flex;flex-wrap:wrap;gap:7px}.semicolon-schedule-booking__times input,.semicolon-schedule-booking__types input{position:absolute;opacity:0;pointer-events:none}.semicolon-schedule-booking__times span,.semicolon-schedule-booking__types span{display:block;padding:8px 10px;border:1px solid #dce6f0;border-radius:10px;background:#fff;font-size:13px;font-weight:700;cursor:pointer}.semicolon-schedule-booking__times input:checked+span,.semicolon-schedule-booking__types input:checked+span{border-color:#0b7ae1;background:#edf6ff;color:#0b7ae1}.semicolon-schedule-booking fieldset{border:0;padding:0;margin:16px 0}.semicolon-schedule-booking legend{font-size:13px;font-weight:700;margin-bottom:8px}.semicolon-schedule-booking__submit,.semicolon-schedule-booking--signed-out>a{width:100%;display:flex;justify-content:center;border:0;border-radius:12px;padding:12px 14px;background:#0b7ae1;color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.semicolon-schedule-booking__submit:disabled{opacity:.55;cursor:wait}.semicolon-schedule-booking__status{min-height:20px;font-size:13px;color:#334155}.semicolon-schedule-booking__empty{font-size:14px;color:#667085}.semicolon-schedule-booking--signed-out{display:grid;gap:12px}.semicolon-schedule-booking--signed-out>div{display:grid;gap:4px}.semicolon-schedule-booking--signed-out span{font-size:12px;text-transform:uppercase;font-weight:800;color:#0b7ae1}

/* Public Agent profile scheduling contrast: the booking surface sits inside the dark profile CTA. */
.semicolon-agent-profile__connect .semicolon-schedule-booking__heading>strong,.semicolon-agent-profile__connect .semicolon-schedule-booking__heading small,.semicolon-agent-profile__connect .semicolon-schedule-booking__days h3,.semicolon-agent-profile__connect .semicolon-schedule-booking legend,.semicolon-agent-profile__connect .semicolon-schedule-booking__status,.semicolon-agent-profile__connect .semicolon-schedule-booking__empty{color:#fff!important}.semicolon-agent-profile__connect .semicolon-schedule-booking__heading>span{color:#b9e1ff!important}.semicolon-agent-profile__connect .semicolon-schedule-booking__times span,.semicolon-agent-profile__connect .semicolon-schedule-booking__types span{background:#fff!important;color:#142238!important;border-color:rgba(255,255,255,.55)!important}.semicolon-agent-profile__connect .semicolon-schedule-booking__times input:checked+span,.semicolon-agent-profile__connect .semicolon-schedule-booking__types input:checked+span{background:#eaf5ff!important;color:#075fb0!important;border-color:#7fc4f3!important;box-shadow:0 0 0 2px rgba(255,255,255,.22)}

.semicolon-session-request__dialog{z-index:2147483000!important}.semicolon-session-request__panel{z-index:2!important}.semicolon-schedule-booking,.semicolon-schedule-booking__slots,.semicolon-schedule-booking__time{position:relative;z-index:1}

/* Request dialogs are portaled to <body> so profile scheduling controls can never paint above them. */
body > .semicolon-session-request__dialog{position:fixed!important;inset:0!important;z-index:2147483646!important;isolation:isolate;transform:none!important;filter:none!important;contain:none!important}
body > .semicolon-session-request__dialog .semicolon-session-request__backdrop{z-index:0!important}
body > .semicolon-session-request__dialog .semicolon-session-request__panel{position:relative!important;z-index:1!important}
body.semicolon-request-dialog-open .semicolon-helps-app-nav{z-index:1!important}
.semicolon-schedule-booking__note{display:grid;gap:6px;margin:14px 0}.semicolon-schedule-booking__note>span{font-size:13px;font-weight:800}.semicolon-schedule-booking__note>small{font-size:12px;opacity:.8}.semicolon-schedule-booking__note textarea{background:#fff;border:1px solid #d7e2ec;border-radius:11px;color:#142238;min-height:84px;padding:11px;resize:vertical;width:100%}.semicolon-schedule-booking__note textarea:focus{border-color:#0b7ae1;box-shadow:0 0 0 3px rgba(11,122,225,.16);outline:none}.semicolon-agent-profile__connect .semicolon-schedule-booking__note>span,.semicolon-agent-profile__connect .semicolon-schedule-booking__note>small{color:#fff!important}
