/*
 * MBBS Appointment Calendar V2.4.2
 * Uses the site's Wira Business palette:
 * Primary #f77f00, Secondary #d62828, Tertiary #003049,
 * Accent #eae2b7, Fourth #fcbf49, Body #7f7f7f, Border #dadada.
 */

:root{
	--mb241-primary:#f77f00;
	--mb241-secondary:#d62828;
	--mb241-tertiary:#003049;
	--mb241-accent:#eae2b7;
	--mb241-fourth:#fcbf49;
	--mb241-body:#7f7f7f;
	--mb241-border:#dadada;
	--mb241-white:#ffffff;
	--mb241-soft:#f9f9f9;
	--mb241-green:#198754;
}

.mbbs-v242-page{
	width:min(1040px,calc(100% - 24px));
	margin:28px auto 56px;
	color:var(--mb241-tertiary);
	font-family:inherit;
}

.mbbs-v242-hero{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:22px;
	padding:22px 24px;
	border-radius:18px;
	background:linear-gradient(135deg,var(--mb241-tertiary),#063b50);
	color:#fff;
	box-shadow:0 14px 34px rgba(0,48,73,.12);
}

.mbbs-v242-kicker{
	margin:0 0 4px!important;
	color:var(--mb241-fourth)!important;
	font-size:10px!important;
	font-weight:900;
	letter-spacing:.1em;
	text-transform:uppercase;
}

.mbbs-v242-title{
	margin:0;
	color:#fff;
	font-size:clamp(29px,4vw,42px);
	line-height:1.03;
	letter-spacing:-.03em;
}

.mbbs-v242-hero-text{
	max-width:650px;
	margin:7px 0 0;
	color:rgba(255,255,255,.88);
	font-size:13px;
	line-height:1.55;
}

.mbbs-v242-facts{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:6px;
	max-width:370px;
}

.mbbs-v242-facts span{
	display:inline-flex;
	gap:4px;
	padding:7px 9px;
	border:1px solid rgba(255,255,255,.14);
	border-radius:999px;
	background:rgba(255,255,255,.07);
	color:rgba(255,255,255,.8);
	font-size:9.5px;
	white-space:nowrap;
}

.mbbs-v242-facts b{color:var(--mb241-fourth)}

.mbbs-v242-demo,
.mbbs-v242-alert{
	margin-top:10px;
	padding:10px 12px;
	border-radius:10px;
	font-size:10.5px;
	line-height:1.45;
}

.mbbs-v242-demo{
	border:1px solid #f4cc72;
	background:#fff8eb;
	color:#724b00;
}

.mbbs-v242-alert{
	border:1px solid #efc4bb;
	background:#fff4f1;
	color:#8c3527;
	font-weight:700;
}

.mbbs-v242-form{margin-top:13px}

.mbbs-v242-card{
	margin-top:12px;
	padding:16px;
	border:1px solid var(--mb241-border);
	border-radius:14px;
	background:#fff;
	box-shadow:0 8px 22px rgba(0,48,73,.045);
}

.mbbs-v242-calendar-card{margin-top:0}

.mbbs-v242-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:14px;
	margin-bottom:11px;
}

.mbbs-v242-head-copy{
	display:flex;
	align-items:flex-start;
	gap:9px;
}

.mbbs-v242-step{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 27px;
	width:27px;
	height:27px;
	border-radius:8px;
	background:var(--mb241-primary);
	color:#fff;
	font-size:10px;
	font-weight:900;
}

.mbbs-v242-head h3{
	margin:0 0 2px;
	color:var(--mb241-tertiary);
	font-size:17px;
}

.mbbs-v242-head p{
	margin:0;
	color:var(--mb241-body);
	font-size:10.5px;
	line-height:1.4;
}

.mbbs-v242-legend{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:5px 8px;
}

.mbbs-v242-legend span{
	display:inline-flex;
	align-items:center;
	gap:4px;
	color:#6b7a81;
	font-size:8.5px;
	font-weight:750;
	white-space:nowrap;
}

.mbbs-v242-legend i{
	width:7px;
	height:7px;
	border-radius:50%;
}

.mbbs-v242-legend .open{background:var(--mb241-green)}
.mbbs-v242-legend .partial{background:var(--mb241-fourth)}
.mbbs-v242-legend .full{background:var(--mb241-secondary)}
.mbbs-v242-legend .closed{background:#c3c3c3}

.mbbs-v242-calendar{
	overflow:hidden;
	border:1px solid var(--mb241-border);
	border-radius:12px;
	background:#fff;
}

.mbbs-v242-toolbar{
	display:grid;
	grid-template-columns:38px 1fr 38px;
	align-items:center;
	gap:8px;
	padding:9px 11px;
	border-bottom:1px solid var(--mb241-border);
	background:#f8fafb;
	text-align:center;
}

.mbbs-v242-toolbar button{
	display:flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border:1px solid #c7dbe3;
	border-radius:9px;
	background:#fff;
	color:var(--mb241-tertiary);
	font-size:22px;
	cursor:pointer;
}

.mbbs-v242-toolbar button:hover:not(:disabled){
	border-color:var(--mb241-primary);
	color:var(--mb241-primary);
}

.mbbs-v242-toolbar button:disabled{
	opacity:.35;
	cursor:not-allowed;
}

.mbbs-v242-toolbar strong{
	display:block;
	color:var(--mb241-tertiary);
	font-size:15px;
}

.mbbs-v242-toolbar small{
	display:block;
	margin-top:1px;
	color:var(--mb241-body);
	font-size:8px;
}

.mbbs-v242-weekdays,
.mbbs-v242-grid{
	display:grid;
	grid-template-columns:repeat(7,minmax(0,1fr));
}

.mbbs-v242-weekdays{
	border-bottom:1px solid var(--mb241-border);
	background:#fff8eb;
}

.mbbs-v242-weekdays span{
	padding:7px 3px;
	color:var(--mb241-tertiary);
	font-size:8px;
	font-weight:850;
	text-align:center;
	text-transform:uppercase;
}

.mbbs-v242-day{
	position:relative;
	min-height:62px;
	padding:5px;
	border:0;
	border-right:1px solid #e8edef;
	border-bottom:1px solid #e8edef;
	background:#fff;
	color:var(--mb241-tertiary);
	text-align:left;
	font:inherit;
	cursor:pointer;
	transition:background .15s ease,box-shadow .15s ease;
}

.mbbs-v242-day:nth-child(7n){border-right:0}

.mbbs-v242-day:hover:not(:disabled){
	z-index:2;
	background:#fff8eb;
	box-shadow:inset 0 0 0 2px rgba(247,127,0,.14);
}

.mbbs-v242-day:disabled{cursor:not-allowed}

.mbbs-v242-day.empty{
	background:#f9f9f9;
	cursor:default;
}

.mbbs-v242-day .num{
	display:flex;
	align-items:center;
	justify-content:center;
	width:24px;
	height:24px;
	border-radius:50%;
	background:#eef5fb;
	color:var(--mb241-tertiary);
	font-size:10px;
	font-weight:900;
}

.mbbs-v242-day .state{
	display:block;
	margin-top:5px;
	font-size:7.4px;
	font-weight:850;
	line-height:1.2;
}

.mbbs-v242-day .meta{
	display:block;
	margin-top:1px;
	color:#7f7f7f;
	font-size:6.8px;
	line-height:1.2;
}

.mbbs-v242-day.available .state{color:var(--mb241-green)}
.mbbs-v242-day.partial .state{color:#9b6a00}
.mbbs-v242-day.full .state{color:var(--mb241-secondary)}
.mbbs-v242-day.closed .state{color:#92999b}

.mbbs-v242-day.partial{background:#fff8eb}
.mbbs-v242-day.full{background:#fff4f1}
.mbbs-v242-day.closed{background:#f4f4f4}

.mbbs-v242-day.selected{
	z-index:3;
	background:#fff1df;
	box-shadow:inset 0 0 0 3px var(--mb241-primary);
}

.mbbs-v242-day.selected .num{
	background:var(--mb241-primary);
	color:#fff;
}

.mbbs-v242-mode-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:9px;
}

.mbbs-v242-mode{
	display:flex;
	align-items:center;
	gap:10px;
	min-height:66px;
	padding:10px 11px;
	border:1px solid var(--mb241-border);
	border-radius:11px;
	background:#fff;
	color:var(--mb241-tertiary);
	font:inherit;
	text-align:left;
	cursor:pointer;
}

.mbbs-v242-mode:hover{
	border-color:#ffb15e;
	background:#fff8eb;
}

.mbbs-v242-mode.selected{
	border-color:var(--mb241-primary);
	background:#fff1df;
	box-shadow:0 0 0 2px rgba(247,127,0,.08);
}

.mbbs-v242-mode-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 34px;
	width:34px;
	height:34px;
	border-radius:9px;
	background:var(--mb241-tertiary);
	color:var(--mb241-fourth);
	font-size:15px;
	font-weight:900;
}

.mbbs-v242-mode strong,
.mbbs-v242-mode small{display:block}

.mbbs-v242-mode strong{
	font-size:11.5px;
	color:var(--mb241-tertiary);
}

.mbbs-v242-mode small{
	margin-top:2px;
	color:var(--mb241-body);
	font-size:8.8px;
	line-height:1.35;
}

.mbbs-v242-slot-message{
	margin-bottom:8px;
	color:#6b7a81;
	font-size:10.5px;
}

.mbbs-v242-slots{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:9px;
}

.mbbs-v242-slot-group{
	overflow:hidden;
	border:1px solid var(--mb241-border);
	border-radius:11px;
	background:#fff;
}

.mbbs-v242-slot-group header{
	padding:7px 9px;
	border-bottom:1px solid var(--mb241-border);
	background:#f8fafb;
}

.mbbs-v242-slot-group header strong{
	display:block;
	color:var(--mb241-tertiary);
	font-size:9.5px;
}

.mbbs-v242-slot-group header small{
	display:block;
	margin-top:1px;
	color:var(--mb241-body);
	font-size:7.5px;
}

.mbbs-v242-slot-body{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:6px;
	padding:7px;
}

.mbbs-v242-slot-group.online .mbbs-v242-slot-body{
	grid-template-columns:repeat(4,minmax(0,1fr));
}

.mbbs-v242-slot{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	justify-content:center;
	min-height:48px;
	padding:7px 8px;
	border:1px solid #d5dfe2;
	border-radius:8px;
	background:#fff;
	color:var(--mb241-tertiary);
	font:inherit;
	text-align:left;
	cursor:pointer;
}

.mbbs-v242-slot strong{
	font-size:9.5px;
	line-height:1.25;
}

.mbbs-v242-slot small{
	margin-top:2px;
	color:var(--mb241-body);
	font-size:7.4px;
	font-weight:700;
}

.mbbs-v242-slot.selected{
	border-color:var(--mb241-primary);
	background:#fff1df;
	color:#8a4200;
	box-shadow:0 0 0 2px rgba(247,127,0,.08);
}

.mbbs-v242-slot:disabled{
	cursor:not-allowed;
	border-color:#e3e6e7;
	background:#f3f4f4;
	color:#939b9e;
}

.mbbs-v242-summary{
	margin-top:9px;
	padding:9px 11px;
	border-radius:9px;
	background:var(--mb241-tertiary);
	color:#fff;
}

.mbbs-v242-summary span,
.mbbs-v242-summary strong{display:block}

.mbbs-v242-summary span{
	color:var(--mb241-fourth);
	font-size:7.8px;
	font-weight:850;
	text-transform:uppercase;
	letter-spacing:.07em;
}

.mbbs-v242-summary strong{
	margin-top:2px;
	font-size:10.5px;
}

.mbbs-v242-ai-badge{
	display:inline-flex;
	padding:6px 9px;
	border-radius:999px;
	background:#eef7f1;
	color:var(--mb241-green);
	font-size:8.5px;
	font-weight:850;
	white-space:nowrap;
}

.mbbs-v242-voice-layout{
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
	gap:12px;
}

.mbbs-v242-recorder,
.mbbs-v242-message{
	padding:12px;
	border:1px solid var(--mb241-border);
	border-radius:11px;
	background:#f9f9f9;
}

.mbbs-v242-recorder-top{
	display:grid;
	grid-template-columns:36px 1fr auto;
	align-items:center;
	gap:9px;
}

.mbbs-v242-mic{
	display:flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	border-radius:50%;
	background:var(--mb241-primary);
	color:#fff;
	font-size:11px;
}

.mbbs-v242-recorder-top strong,
.mbbs-v242-recorder-top span{display:block}

.mbbs-v242-recorder-top strong{
	color:var(--mb241-tertiary);
	font-size:11px;
}

.mbbs-v242-recorder-top span{
	margin-top:1px;
	color:var(--mb241-body);
	font-size:8.5px;
}

.mbbs-v242-timer{
	color:var(--mb241-tertiary);
	font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
	font-size:11px;
	font-weight:850;
}

.mbbs-v242-language{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	margin-top:10px;
}

.mbbs-v242-language label{
	color:var(--mb241-tertiary);
	font-size:9px;
	font-weight:800;
}

.mbbs-v242-language select{
	max-width:190px;
	min-height:34px;
	padding:6px 8px;
	border:1px solid var(--mb241-border);
	border-radius:8px;
	background:#fff;
	color:var(--mb241-tertiary);
	font:inherit;
	font-size:9px;
}

.mbbs-v242-recorder-actions,
.mbbs-v242-transcribe-row{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:6px;
	margin-top:10px;
}

.mbbs-v242-record,
.mbbs-v242-stop,
.mbbs-v242-delete,
.mbbs-v242-transcribe,
.mbbs-v242-continue{
	min-height:36px;
	padding:7px 10px;
	border-radius:8px;
	font:inherit;
	font-size:9px;
	font-weight:850;
	cursor:pointer;
}

.mbbs-v242-record{
	border:0;
	background:var(--mb241-primary);
	color:#fff;
}

.mbbs-v242-stop{
	border:0;
	background:var(--mb241-secondary);
	color:#fff;
}

.mbbs-v242-delete{
	border:1px solid var(--mb241-border);
	background:#fff;
	color:var(--mb241-secondary);
}

.mbbs-v242-transcribe{
	border:1px solid #c7dbe3;
	background:#fff;
	color:var(--mb241-tertiary);
}

.mbbs-v242-transcribe:not(:disabled):hover{
	border-color:var(--mb241-primary);
	color:var(--mb241-primary);
}

.mbbs-v242-record:disabled,
.mbbs-v242-stop:disabled,
.mbbs-v242-transcribe:disabled{
	opacity:.5;
	cursor:not-allowed;
}

.mbbs-v242-record-status,
.mbbs-v242-transcribe-row span{
	margin-top:7px;
	color:var(--mb241-body);
	font-size:8.5px;
	line-height:1.4;
}

.mbbs-v242-audio{
	width:100%;
	height:34px;
	margin-top:9px;
}

.mbbs-v242-message label span,
.mbbs-v242-message label small{display:block}

.mbbs-v242-message label span{
	color:var(--mb241-tertiary);
	font-size:10px;
	font-weight:850;
}

.mbbs-v242-message label small{
	margin-top:1px;
	color:var(--mb241-body);
	font-size:8.5px;
}

.mbbs-v242-message textarea{
	width:100%;
	min-height:145px;
	box-sizing:border-box;
	margin-top:7px;
	padding:9px 10px;
	border:1px solid var(--mb241-border);
	border-radius:9px;
	background:#fff;
	color:var(--mb241-tertiary);
	font:inherit;
	font-size:11.5px;
	line-height:1.55;
	resize:vertical;
	outline:none;
}

.mbbs-v242-message textarea:focus{
	border-color:var(--mb241-primary);
	box-shadow:0 0 0 3px rgba(247,127,0,.09);
}

.mbbs-v242-continue{
	margin-top:7px;
	border:1px solid var(--mb241-tertiary);
	background:#fff;
	color:var(--mb241-tertiary);
}

.mbbs-v242-fields{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:11px;
}

.mbbs-v242-field{
	display:flex;
	flex-direction:column;
	gap:5px;
}

.mbbs-v242-field.wide{grid-column:1/-1}

.mbbs-v242-field>span{
	color:var(--mb241-tertiary);
	font-size:10.5px;
	font-weight:850;
}

.mbbs-v242-field b{color:var(--mb241-secondary)}

.mbbs-v242-field input,
.mbbs-v242-field select{
	width:100%;
	box-sizing:border-box;
	min-height:43px;
	padding:9px 10px;
	border:1px solid var(--mb241-border);
	border-radius:9px;
	background:#fff;
	color:var(--mb241-tertiary);
	font:inherit;
	font-size:12px;
	outline:none;
}

.mbbs-v242-field input:focus,
.mbbs-v242-field select:focus{
	border-color:var(--mb241-primary);
	box-shadow:0 0 0 3px rgba(247,127,0,.09);
}

.mbbs-v242-consent{
	display:flex;
	align-items:flex-start;
	gap:8px;
	margin-top:12px;
	padding:10px;
	border-radius:9px;
	background:#f8fafb;
	color:#5f7076;
	font-size:9.5px;
	line-height:1.4;
}

.mbbs-v242-actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:13px;
}

.mbbs-v242-primary,
.mbbs-v242-secondary{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	box-sizing:border-box;
	padding:10px 16px;
	border-radius:9px;
	font:inherit;
	font-size:11px;
	font-weight:850;
	text-decoration:none!important;
	cursor:pointer;
}

.mbbs-v242-primary{
	border:0;
	background:var(--mb241-primary);
	color:#fff!important;
}

.mbbs-v242-primary:hover{background:#df7100}

.mbbs-v242-secondary{
	border:1px solid #c7dbe3;
	background:#fff;
	color:var(--mb241-tertiary)!important;
}

.mbbs-v242-hp{
	position:absolute!important;
	left:-9999px!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important;
}

.mbbs-v242-success{
	max-width:650px;
	margin:40px auto;
	padding:32px;
	border:1px solid var(--mb241-border);
	border-radius:18px;
	background:#fff;
	text-align:center;
	box-shadow:0 14px 38px rgba(0,48,73,.08);
}

.mbbs-v242-success-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:52px;
	height:52px;
	margin:0 auto 10px;
	border-radius:50%;
	background:#fff1df;
	color:var(--mb241-primary);
	font-size:24px;
	font-weight:900;
}

.mbbs-v242-success h2{
	margin:5px 0 10px;
	color:var(--mb241-tertiary);
}

.mbbs-v242-ref{
	display:inline-block;
	margin:6px 0 11px;
	padding:7px 10px;
	border-radius:8px;
	background:var(--mb241-tertiary);
	color:#fff;
	font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
	font-weight:800;
}

@media(max-width:760px){
	.mbbs-v242-hero{
		flex-direction:column;
		align-items:flex-start;
		padding:19px 17px;
	}

	.mbbs-v242-facts{
		justify-content:flex-start;
		max-width:none;
	}

	.mbbs-v242-head{
		flex-direction:column;
	}

	.mbbs-v242-legend{
		justify-content:flex-start;
	}

	.mbbs-v242-mode-grid,
	.mbbs-v242-slots,
	.mbbs-v242-fields,
	.mbbs-v242-voice-layout{
		grid-template-columns:1fr;
	}

	.mbbs-v242-slot-group.online .mbbs-v242-slot-body{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:560px){
	.mbbs-v242-page{
		width:calc(100% - 12px);
		margin:17px auto 40px;
	}

	.mbbs-v242-card{
		padding:12px 9px;
		border-radius:13px;
	}

	.mbbs-v242-day{
		min-height:52px;
		padding:3px;
	}

	.mbbs-v242-day .num{
		width:21px;
		height:21px;
		font-size:8.5px;
	}

	.mbbs-v242-day .state{
		margin-top:3px;
		font-size:6.2px;
	}

	.mbbs-v242-day .meta{
		font-size:5.9px;
	}

	.mbbs-v242-weekdays span{
		padding:6px 1px;
		font-size:6.7px;
	}

	.mbbs-v242-toolbar{
		grid-template-columns:34px 1fr 34px;
		padding:7px 8px;
	}

	.mbbs-v242-toolbar button{
		width:31px;
		height:31px;
	}

	.mbbs-v242-slot-body,
	.mbbs-v242-slot-group.online .mbbs-v242-slot-body{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.mbbs-v242-actions{
		flex-direction:column;
	}

	.mbbs-v242-primary,
	.mbbs-v242-secondary{
		width:100%;
	}
}

@media(max-width:380px){
	.mbbs-v242-day .meta{display:none}

	.mbbs-v242-facts{gap:4px}

	.mbbs-v242-facts span{
		padding:6px 7px;
		font-size:8.5px;
	}

	.mbbs-v242-recorder-top{
		grid-template-columns:32px 1fr auto;
	}

	.mbbs-v242-language{
		align-items:flex-start;
		flex-direction:column;
	}

	.mbbs-v242-language select{max-width:100%}
}


/* V2.4.2: visible booking-type labels and live microphone animation. */
.mbbs-v242-day.partial .meta{
	color:var(--mb241-tertiary);
	font-weight:800;
}

.mbbs-v242-day.partial .state{
	color:var(--mb241-primary);
}

.mbbs-v242-waveform{
	position:relative;
	overflow:hidden;
	margin-top:11px;
	padding:10px 11px 9px;
	border:1px solid var(--mb241-border);
	border-radius:11px;
	background:
		radial-gradient(circle at 10% 0%,rgba(247,127,0,.08),transparent 34%),
		linear-gradient(180deg,#ffffff,#f8fafb);
}

.mbbs-v242-wave-status{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:7px;
}

.mbbs-v242-wave-status span{
	color:var(--mb241-tertiary);
	font-size:8.8px;
	font-weight:850;
}

.mbbs-v242-wave-status small{
	color:var(--mb241-body);
	font-size:7.5px;
}

.mbbs-v242-wave-bars{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:3px;
	height:54px;
}

.mbbs-v242-wave-bars span{
	display:block;
	flex:1 1 0;
	max-width:5px;
	min-width:2px;
	height:10px;
	border-radius:999px;
	background:linear-gradient(180deg,var(--mb241-fourth),var(--mb241-primary));
	opacity:.45;
	transform-origin:center;
	transition:height 70ms linear,opacity 70ms linear;
}

.mbbs-v242-waveform.is-recording{
	border-color:rgba(247,127,0,.5);
	box-shadow:0 0 0 3px rgba(247,127,0,.07),0 10px 26px rgba(0,48,73,.06);
}

.mbbs-v242-waveform.is-recording::after{
	content:"";
	position:absolute;
	inset:-40%;
	background:radial-gradient(circle,rgba(252,191,73,.12),transparent 58%);
	animation:mbbs-v242-wave-glow 2.1s ease-in-out infinite;
	pointer-events:none;
}

.mbbs-v242-mic{
	position:relative;
	overflow:visible;
}

.mbbs-v242-mic-dot{
	display:block;
	width:10px;
	height:10px;
	border-radius:50%;
	background:#fff;
}

.mbbs-v242-mic.is-recording{
	animation:mbbs-v242-mic-breathe 1.15s ease-in-out infinite;
}

.mbbs-v242-mic.is-recording::before,
.mbbs-v242-mic.is-recording::after{
	content:"";
	position:absolute;
	inset:-6px;
	border:1px solid rgba(247,127,0,.45);
	border-radius:50%;
	animation:mbbs-v242-ring 1.55s ease-out infinite;
}

.mbbs-v242-mic.is-recording::after{
	animation-delay:.75s;
}

@keyframes mbbs-v242-mic-breathe{
	0%,100%{box-shadow:0 0 0 0 rgba(247,127,0,.22)}
	50%{box-shadow:0 0 0 9px rgba(247,127,0,.08)}
}

@keyframes mbbs-v242-ring{
	0%{transform:scale(.75);opacity:.75}
	100%{transform:scale(1.55);opacity:0}
}

@keyframes mbbs-v242-wave-glow{
	0%,100%{transform:translateX(-4%);opacity:.6}
	50%{transform:translateX(4%);opacity:1}
}

@media (prefers-reduced-motion: reduce){
	.mbbs-v242-waveform.is-recording::after,
	.mbbs-v242-mic.is-recording,
	.mbbs-v242-mic.is-recording::before,
	.mbbs-v242-mic.is-recording::after{
		animation:none!important;
	}
}

@media(max-width:560px){
	.mbbs-v242-wave-bars{
		gap:2px;
		height:48px;
	}

	.mbbs-v242-wave-bars span{
		max-width:4px;
	}
}


/* ==========================================================
   V2.4.2 TYPOGRAPHY SYSTEM
   Readable, consistent scale aligned to the site's hierarchy.
   ========================================================== */

.mbbs-v242-page{
	font-size:15px;
	line-height:1.55;
}

.mbbs-v242-title{
	font-size:clamp(30px,3.6vw,38px);
	line-height:1.08;
}

.mbbs-v242-kicker{
	font-size:11px!important;
	line-height:1.25;
}

.mbbs-v242-hero-text{
	font-size:14px;
	line-height:1.55;
}

.mbbs-v242-facts span{
	font-size:11px;
	line-height:1.25;
}

.mbbs-v242-head h3{
	font-size:20px;
	line-height:1.2;
}

.mbbs-v242-head p{
	font-size:13px;
	line-height:1.45;
}

.mbbs-v242-step{
	font-size:12px;
}

.mbbs-v242-legend span{
	font-size:11px;
	line-height:1.25;
}

.mbbs-v242-toolbar strong{
	font-size:18px;
	line-height:1.2;
}

.mbbs-v242-toolbar small{
	font-size:11px;
	line-height:1.3;
}

.mbbs-v242-weekdays span{
	font-size:11px;
	line-height:1.2;
	letter-spacing:.015em;
}

.mbbs-v242-day{
	min-height:78px;
}

.mbbs-v242-day .num{
	width:30px;
	height:30px;
	font-size:14px;
}

.mbbs-v242-day .state{
	margin-top:7px;
	font-size:11px;
	line-height:1.2;
}

.mbbs-v242-day .meta{
	margin-top:3px;
	font-size:9.5px;
	line-height:1.25;
}

.mbbs-v242-mode{
	min-height:76px;
	padding:12px 13px;
}

.mbbs-v242-mode strong{
	font-size:14px;
	line-height:1.3;
}

.mbbs-v242-mode small{
	margin-top:4px;
	font-size:11.5px;
	line-height:1.4;
}

.mbbs-v242-slot-message{
	font-size:13px;
	line-height:1.45;
}

.mbbs-v242-slot-group header strong{
	font-size:13px;
	line-height:1.25;
}

.mbbs-v242-slot-group header small{
	font-size:10.5px;
	line-height:1.3;
}

.mbbs-v242-slot{
	min-height:56px;
}

.mbbs-v242-slot strong{
	font-size:12.5px;
	line-height:1.3;
}

.mbbs-v242-slot small{
	font-size:10px;
	line-height:1.25;
}

.mbbs-v242-summary span{
	font-size:10px;
}

.mbbs-v242-summary strong{
	font-size:13px;
	line-height:1.4;
}

.mbbs-v242-ai-badge{
	font-size:11px;
	line-height:1.2;
}

.mbbs-v242-recorder-top strong{
	font-size:14px;
	line-height:1.25;
}

.mbbs-v242-recorder-top span{
	font-size:11px;
	line-height:1.3;
}

.mbbs-v242-timer{
	font-size:13px;
}

.mbbs-v242-language label{
	font-size:12px;
}

.mbbs-v242-language select{
	font-size:12px;
}

.mbbs-v242-record,
.mbbs-v242-stop,
.mbbs-v242-delete,
.mbbs-v242-transcribe,
.mbbs-v242-continue{
	min-height:42px;
	font-size:12px;
}

.mbbs-v242-record-status,
.mbbs-v242-transcribe-row span{
	font-size:11px;
	line-height:1.45;
}

.mbbs-v242-wave-status span{
	font-size:11.5px;
}

.mbbs-v242-wave-status small{
	font-size:10px;
}

.mbbs-v242-message label span{
	font-size:13px;
}

.mbbs-v242-message label small{
	font-size:11px;
}

.mbbs-v242-message textarea{
	font-size:14px;
	line-height:1.55;
}

.mbbs-v242-field>span{
	font-size:13px;
	line-height:1.3;
}

.mbbs-v242-field input,
.mbbs-v242-field select{
	font-size:14px;
}

.mbbs-v242-consent{
	font-size:11.5px;
	line-height:1.5;
}

.mbbs-v242-primary,
.mbbs-v242-secondary{
	min-height:46px;
	font-size:13px;
}

.mbbs-v242-demo,
.mbbs-v242-alert{
	font-size:12px;
	line-height:1.5;
}

@media(max-width:560px){
	.mbbs-v242-page{
		font-size:14px;
	}

	.mbbs-v242-title{
		font-size:30px;
	}

	.mbbs-v242-head h3{
		font-size:18px;
	}

	.mbbs-v242-head p{
		font-size:12px;
	}

	.mbbs-v242-day{
		min-height:65px;
	}

	.mbbs-v242-day .num{
		width:26px;
		height:26px;
		font-size:12px;
	}

	.mbbs-v242-day .state{
		font-size:9px;
	}

	.mbbs-v242-day .meta{
		font-size:8px;
	}

	.mbbs-v242-weekdays span{
		font-size:9px;
	}

	.mbbs-v242-slot strong{
		font-size:11.5px;
	}

	.mbbs-v242-slot small{
		font-size:9.5px;
	}
}


/* ==========================================================
   V2.4.3 CLARITY + TYPOGRAPHY PATCH
   Match the clean homepage feel: inherited font, moderate weights,
   antialiased rendering, readable calendar labels.
   ========================================================== */

.mbbs-v242-page,
.mbbs-v242-page button,
.mbbs-v242-page input,
.mbbs-v242-page select,
.mbbs-v242-page textarea{
	font-family:inherit!important;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	text-rendering:optimizeLegibility;
	font-synthesis:none;
}

.mbbs-v242-page{
	font-weight:400;
	letter-spacing:0;
}

.mbbs-v242-title{
	font-weight:700!important;
	letter-spacing:-.025em!important;
}

.mbbs-v242-kicker{
	font-weight:600!important;
	letter-spacing:.07em!important;
}

.mbbs-v242-hero-text,
.mbbs-v242-head p,
.mbbs-v242-slot-message,
.mbbs-v242-record-status,
.mbbs-v242-transcribe-row span,
.mbbs-v242-message label small,
.mbbs-v242-consent{
	font-weight:400!important;
}

.mbbs-v242-facts span,
.mbbs-v242-facts b{
	font-weight:500!important;
}

.mbbs-v242-head h3{
	font-weight:700!important;
	letter-spacing:-.012em;
}

.mbbs-v242-step{
	font-weight:700!important;
}

.mbbs-v242-legend span{
	font-weight:500!important;
}

.mbbs-v242-toolbar strong{
	font-weight:600!important;
	letter-spacing:-.01em;
}

.mbbs-v242-toolbar small{
	font-weight:400!important;
}

.mbbs-v242-weekdays span{
	font-size:11px!important;
	font-weight:600!important;
	letter-spacing:.025em!important;
}

.mbbs-v242-day .num{
	font-size:14px!important;
	font-weight:600!important;
}

.mbbs-v242-day .state{
	font-size:11px!important;
	font-weight:600!important;
	letter-spacing:0!important;
}

.mbbs-v242-day .meta{
	font-size:10.5px!important;
	font-weight:400!important;
	letter-spacing:0!important;
}

.mbbs-v242-day.partial .meta{
	font-weight:500!important;
}

.mbbs-v242-mode strong{
	font-weight:600!important;
}

.mbbs-v242-mode small{
	font-weight:400!important;
}

.mbbs-v242-slot-group header strong{
	font-weight:600!important;
}

.mbbs-v242-slot-group header small{
	font-weight:400!important;
}

.mbbs-v242-slot strong{
	font-weight:500!important;
}

.mbbs-v242-slot small{
	font-weight:400!important;
}

.mbbs-v242-summary span{
	font-weight:500!important;
}

.mbbs-v242-summary strong{
	font-weight:600!important;
}

.mbbs-v242-ai-badge{
	font-weight:500!important;
}

.mbbs-v242-recorder-top strong,
.mbbs-v242-language label,
.mbbs-v242-message label span,
.mbbs-v242-field>span{
	font-weight:600!important;
}

.mbbs-v242-recorder-top span,
.mbbs-v242-wave-status small{
	font-weight:400!important;
}

.mbbs-v242-timer{
	font-weight:600!important;
}

.mbbs-v242-record,
.mbbs-v242-stop,
.mbbs-v242-delete,
.mbbs-v242-continue,
.mbbs-v242-primary,
.mbbs-v242-secondary{
	font-weight:600!important;
}

.mbbs-v242-message textarea,
.mbbs-v242-field input,
.mbbs-v242-field select{
	font-weight:400!important;
}

.mbbs-v242-transcript-progress{
	display:flex;
	align-items:center;
	gap:7px;
	min-height:32px;
	padding:7px 9px;
	border:1px solid #dfe6e8;
	border-radius:8px;
	background:#fff;
}

.mbbs-v242-transcript-dot{
	width:8px;
	height:8px;
	flex:0 0 8px;
	border-radius:50%;
	background:var(--mb241-primary);
	opacity:.75;
}

.mbbs-v242-waveform.is-recording + .mbbs-v242-language{
	margin-top:11px;
}

/* Audio is intentionally not presented in the transcript-first UX. */
.mbbs-v242-audio{
	display:none!important;
}

@media(max-width:560px){
	.mbbs-v242-weekdays span{
		font-size:9.5px!important;
	}

	.mbbs-v242-day .num{
		font-size:12px!important;
	}

	.mbbs-v242-day .state{
		font-size:9.5px!important;
	}

	.mbbs-v242-day .meta{
		font-size:8.5px!important;
	}
}


/* ==========================================================
   MBBS_V253_AI_LOADER
   Clear indeterminate progress while local AI transcription runs.
   ========================================================== */

.mbbs-v242-transcript-progress{
	position:relative;
	overflow:hidden;
	transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,padding .2s ease;
}

.mbbs-v242-transcript-progress.is-transcribing{
	min-height:66px;
	padding:11px 13px;
	border-color:rgba(247,127,0,.36);
	background:linear-gradient(135deg,#fffaf2 0%,#fff6e6 58%,#fff 100%);
	box-shadow:0 0 0 3px rgba(247,127,0,.055),0 10px 26px rgba(0,48,73,.055);
}

.mbbs-v242-transcript-progress.is-transcribing::after{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:-42%;
	width:34%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
	transform:skewX(-12deg);
	animation:mbbs-v253-ai-shimmer 1.7s linear infinite;
	pointer-events:none;
}

.mbbs-v242-transcript-progress.is-transcribing .mbbs-v242-transcript-dot{
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	flex:0 0 38px;
	border:2px solid rgba(247,127,0,.22);
	background:#f77f00;
	color:#fff;
	opacity:1;
	box-shadow:0 5px 16px rgba(247,127,0,.22);
	animation:mbbs-v253-ai-breathe 1.25s ease-in-out infinite;
}

.mbbs-v242-transcript-progress.is-transcribing .mbbs-v242-transcript-dot::before{
	content:"AI";
	font-size:10px;
	font-weight:800;
	letter-spacing:.02em;
}

.mbbs-v242-transcript-progress.is-transcribing .mbbs-v242-transcript-dot::after{
	content:"";
	position:absolute;
	inset:-6px;
	border:2px solid rgba(247,127,0,.24);
	border-top-color:rgba(247,127,0,.88);
	border-radius:50%;
	animation:mbbs-v253-ai-spin .9s linear infinite;
}

.mbbs-v242-transcript-progress.is-transcribing #mbbs-v242-transcribe-status{
	position:relative;
	z-index:1;
	margin:0;
	color:var(--mb241-tertiary);
	font-size:12px;
	font-weight:700;
	line-height:1.45;
}

.mbbs-v242-waveform.is-transcribing{
	border-color:rgba(247,127,0,.38);
	background:radial-gradient(circle at 50% 50%,rgba(252,191,73,.12),transparent 54%),linear-gradient(180deg,#fffaf4,#fff);
	box-shadow:0 0 0 3px rgba(247,127,0,.05);
}

.mbbs-v242-waveform.is-transcribing .mbbs-v242-wave-bars span{
	animation:mbbs-v253-ai-wave 1.15s ease-in-out infinite;
	opacity:.68;
}

.mbbs-v242-waveform.is-transcribing .mbbs-v242-wave-bars span:nth-child(3n+1){animation-delay:.08s}
.mbbs-v242-waveform.is-transcribing .mbbs-v242-wave-bars span:nth-child(3n+2){animation-delay:.18s}
.mbbs-v242-waveform.is-transcribing .mbbs-v242-wave-bars span:nth-child(3n){animation-delay:.28s}

.mbbs-v242-transcript-progress.is-ready{
	border-color:rgba(31,139,76,.28);
	background:#f3faf6;
}

.mbbs-v242-transcript-progress.is-ready .mbbs-v242-transcript-dot{
	background:#1f8b4c;
	opacity:1;
}

.mbbs-v242-transcript-progress.is-error{
	border-color:rgba(190,35,35,.24);
	background:#fff6f6;
}

.mbbs-v242-transcript-progress.is-error .mbbs-v242-transcript-dot{
	background:#be2323;
	opacity:1;
}

.mbbs-v242-recorder-actions button:disabled,
.mbbs-v242-continue:disabled,
.mbbs-v242-language select:disabled{
	opacity:.55;
	cursor:not-allowed;
}

@keyframes mbbs-v253-ai-spin{to{transform:rotate(360deg)}}
@keyframes mbbs-v253-ai-breathe{0%,100%{transform:scale(.96)}50%{transform:scale(1.04)}}
@keyframes mbbs-v253-ai-shimmer{0%{left:-42%}100%{left:118%}}
@keyframes mbbs-v253-ai-wave{0%,100%{transform:scaleY(.62);opacity:.42}50%{transform:scaleY(1.55);opacity:.86}}

@media (prefers-reduced-motion: reduce){
	.mbbs-v242-transcript-progress.is-transcribing::after,
	.mbbs-v242-transcript-progress.is-transcribing .mbbs-v242-transcript-dot,
	.mbbs-v242-transcript-progress.is-transcribing .mbbs-v242-transcript-dot::after,
	.mbbs-v242-waveform.is-transcribing .mbbs-v242-wave-bars span{
		animation:none!important;
	}
}

/* ==========================================================
   MBBS V2.6.0 — UNIFIED MESSAGE COMPOSER
   One clear input surface: type or speak.
   ========================================================== */
.mbbs-v242-voice-card .mbbs-v242-head{
	margin-bottom:20px;
}

.mbbs-v260-composer,
.mbbs-v260-composer *{
	box-sizing:border-box;
}

.mbbs-v260-composer{
	max-width:920px;
	margin:0 auto;
}

.mbbs-v260-label{
	display:flex;
	flex-direction:column;
	gap:3px;
	margin:0 0 10px;
	color:#07384d;
}

.mbbs-v260-label > span{
	font-size:15px;
	font-weight:800;
	line-height:1.3;
}

.mbbs-v260-label > span small{
	font-size:12px;
	font-weight:500;
	color:#78838a;
}

.mbbs-v260-label > small{
	font-size:12px;
	font-weight:500;
	line-height:1.45;
	color:#7b858b;
}

.mbbs-v260-input-shell{
	position:relative;
	overflow:hidden;
	border:1px solid #d7dde1;
	border-radius:18px;
	background:#fff;
	box-shadow:0 8px 26px rgba(7,56,77,.06);
	transition:border-color .2s ease,box-shadow .2s ease;
}

.mbbs-v260-input-shell:focus-within{
	border-color:rgba(7,56,77,.48);
	box-shadow:0 0 0 3px rgba(7,56,77,.07),0 10px 28px rgba(7,56,77,.08);
}

.mbbs-v260-input-shell #mbbs-v242-message{
	display:block;
	width:100%!important;
	min-height:190px;
	margin:0!important;
	padding:20px 20px 14px!important;
	resize:vertical;
	border:0!important;
	border-radius:0!important;
	outline:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:#123b4d;
	font-family:inherit;
	font-size:15px!important;
	line-height:1.6;
}

.mbbs-v260-input-shell #mbbs-v242-message::placeholder{
	color:#8ca0ad;
	opacity:1;
}

.mbbs-v260-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	padding:10px 12px;
	border-top:1px solid #edf0f2;
	background:#fbfcfc;
}

.mbbs-v260-voice-actions,
.mbbs-v260-toolbar-right{
	display:flex;
	align-items:center;
	gap:8px;
	min-width:0;
}

.mbbs-v260-mic-button{
	display:inline-flex!important;
	align-items:center;
	gap:9px;
	min-height:42px;
	margin:0!important;
	padding:5px 13px 5px 6px!important;
	border:0!important;
	border-radius:999px!important;
	background:#f57a00!important;
	color:#fff!important;
	box-shadow:0 6px 16px rgba(245,122,0,.18)!important;
	font-size:13px!important;
	font-weight:750!important;
	line-height:1!important;
	cursor:pointer;
	transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.mbbs-v260-mic-button:hover{
	background:#e97100!important;
	transform:translateY(-1px);
	box-shadow:0 8px 20px rgba(245,122,0,.24)!important;
}

.mbbs-v260-mic-button:focus-visible{
	outline:3px solid rgba(245,122,0,.22)!important;
	outline-offset:2px;
}

.mbbs-v260-mic-visual{
	display:grid!important;
	place-items:center;
	flex:0 0 32px;
	width:32px!important;
	height:32px!important;
	border-radius:50%;
	background:rgba(255,255,255,.15)!important;
	color:#fff;
}

.mbbs-v260-mic-visual svg{
	width:18px;
	height:18px;
	fill:currentColor;
}

.mbbs-v260-mic-visual .mbbs-v242-mic-dot{
	display:none!important;
}

.mbbs-v260-mic-visual.is-recording{
	background:#fff!important;
	color:#e85c55!important;
	animation:mbbs-v260-record-pulse 1.15s ease-in-out infinite!important;
}

.mbbs-v260-mic-visual.is-recording::before,
.mbbs-v260-mic-visual.is-recording::after{
	border-color:rgba(232,92,85,.38)!important;
}

@keyframes mbbs-v260-record-pulse{
	0%,100%{box-shadow:0 0 0 0 rgba(232,92,85,.14)}
	50%{box-shadow:0 0 0 10px rgba(232,92,85,.06)}
}

.mbbs-v260-stop{
	display:inline-flex!important;
	align-items:center;
	gap:7px;
	min-height:40px;
	margin:0!important;
	padding:0 12px!important;
	border:1px solid #efb2ae!important;
	border-radius:999px!important;
	background:#fff4f3!important;
	color:#c74842!important;
	font-size:12px!important;
	font-weight:800!important;
}

.mbbs-v260-stop:disabled{
	display:none!important;
}

.mbbs-v260-stop-square{
	width:9px;
	height:9px;
	border-radius:2px;
	background:currentColor;
}

.mbbs-v260-record-again{
	min-height:40px;
	margin:0!important;
	padding:0 12px!important;
	border:1px solid #d9e0e4!important;
	border-radius:999px!important;
	background:#fff!important;
	color:#3c5967!important;
	font-size:12px!important;
	font-weight:700!important;
}

.mbbs-v260-timer{
	min-width:48px;
	padding:6px 8px;
	border-radius:8px;
	background:#f3f6f7;
	color:#234958!important;
	font-variant-numeric:tabular-nums;
	font-size:12px!important;
	font-weight:800!important;
	text-align:center;
}

.mbbs-v260-language select{
	width:auto!important;
	max-width:180px;
	min-height:38px!important;
	margin:0!important;
	padding:0 30px 0 10px!important;
	border:1px solid #dce2e5!important;
	border-radius:10px!important;
	background-color:#fff!important;
	color:#294e5e!important;
	font-size:11px!important;
	font-weight:650!important;
	box-shadow:none!important;
}

.mbbs-v260-waveform{
	margin:0!important;
	padding:12px 14px!important;
	border:0!important;
	border-top:1px solid #edf0f2!important;
	border-radius:0!important;
	background:#fffaf5!important;
	box-shadow:none!important;
}

.mbbs-v260-wave-status{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:6px;
}

.mbbs-v260-wave-status > span{
	color:#a75408!important;
	font-size:11px!important;
	font-weight:800!important;
}

.mbbs-v260-wave-status > small{
	color:#9a8a7a!important;
	font-size:10px!important;
}

.mbbs-v260-wave-bars{
	height:38px!important;
}

.mbbs-v260-record-status{
	margin:0!important;
	padding:9px 14px!important;
	border:0!important;
	border-top:1px solid #edf0f2!important;
	border-radius:0!important;
	background:#fff!important;
	color:#7b858b!important;
	font-size:11px!important;
	line-height:1.45!important;
}

.mbbs-v260-transcribe-state{
	min-height:42px;
	margin:0!important;
	padding:10px 14px!important;
	border:0!important;
	border-top:1px solid #edf0f2!important;
	border-radius:0!important;
	background:#f8fbf9!important;
	color:#4b6758!important;
	font-size:11px!important;
}

.mbbs-v260-footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-top:14px;
}

.mbbs-v260-privacy-note{
	max-width:520px;
	color:#7d878c;
	font-size:11px;
	line-height:1.45;
}

.mbbs-v260-continue{
	flex:0 0 auto;
	min-height:44px!important;
	margin:0!important;
	padding:0 17px!important;
	border-radius:11px!important;
	font-size:13px!important;
	font-weight:800!important;
}

@media(max-width:680px){
	.mbbs-v242-voice-card .mbbs-v242-ai-badge{
		display:none;
	}

	.mbbs-v260-input-shell #mbbs-v242-message{
		min-height:170px;
		padding:16px 15px 12px!important;
		font-size:14px!important;
	}

	.mbbs-v260-toolbar{
		align-items:flex-start;
		flex-direction:column;
	}

	.mbbs-v260-voice-actions,
	.mbbs-v260-toolbar-right{
		width:100%;
	}

	.mbbs-v260-toolbar-right{
		justify-content:space-between;
	}

	.mbbs-v260-mic-text{
		display:none;
	}

	.mbbs-v260-mic-button{
		width:42px!important;
		height:42px!important;
		padding:5px!important;
		justify-content:center;
	}

	.mbbs-v260-footer{
		align-items:stretch;
		flex-direction:column;
	}

	.mbbs-v260-continue{
		width:100%!important;
	}

	.mbbs-v260-language select{
		max-width:160px;
	}
}

@media(prefers-reduced-motion:reduce){
	.mbbs-v260-mic-button,
	.mbbs-v260-mic-visual.is-recording{
		transition:none!important;
		animation:none!important;
	}
}
/* MBBS_V260_UNIFIED_COMPOSER_END */

/* ==========================================================
   MBBS V2.6.1 — COMPACT CHAT-STYLE MESSAGE COMPOSER
   Small by default; expands only when the user needs space.
   ========================================================== */

.mbbs-v242-voice-card .mbbs-v242-head{
	margin-bottom:12px!important;
}

.mbbs-v260-composer{
	max-width:920px!important;
}

.mbbs-v260-label{
	display:none!important;
}

.mbbs-v260-input-shell{
	overflow:visible!important;
	border:1px solid #d8dde1!important;
	border-radius:26px!important;
	background:#fff!important;
	box-shadow:0 5px 18px rgba(7,56,77,.055)!important;
}

.mbbs-v260-input-shell:focus-within{
	border-color:#b9c5cc!important;
	box-shadow:0 0 0 3px rgba(7,56,77,.045),0 7px 22px rgba(7,56,77,.07)!important;
}

.mbbs-v260-input-shell #mbbs-v242-message{
	min-height:56px!important;
	max-height:150px!important;
	height:56px;
	padding:17px 18px 7px!important;
	resize:none!important;
	overflow-y:hidden;
	font-size:15px!important;
	line-height:1.45!important;
}

.mbbs-v260-input-shell #mbbs-v242-message::placeholder{
	color:#90979c!important;
}

.mbbs-v260-toolbar{
	min-height:52px!important;
	padding:5px 8px 8px 10px!important;
	border-top:0!important;
	border-radius:0 0 26px 26px!important;
	background:#fff!important;
}

.mbbs-v260-voice-actions{
	gap:6px!important;
}

.mbbs-v260-mic-button{
	display:grid!important;
	place-items:center!important;
	width:42px!important;
	min-width:42px!important;
	height:42px!important;
	min-height:42px!important;
	padding:0!important;
	border-radius:50%!important;
	background:#f57a00!important;
	box-shadow:none!important;
}

.mbbs-v260-mic-button:hover{
	transform:none!important;
	background:#e97100!important;
	box-shadow:0 4px 12px rgba(245,122,0,.18)!important;
}

.mbbs-v260-mic-visual{
	width:42px!important;
	height:42px!important;
	flex-basis:42px!important;
	background:transparent!important;
}

.mbbs-v260-mic-visual svg{
	width:20px!important;
	height:20px!important;
}

.mbbs-v260-mic-text{
	display:none!important;
}

.mbbs-v260-stop{
	height:38px!important;
	min-height:38px!important;
	padding:0 12px!important;
}

.mbbs-v260-record-again{
	height:38px!important;
	min-height:38px!important;
	padding:0 11px!important;
	background:#f7f8f9!important;
}

.mbbs-v260-toolbar-right{
	gap:6px!important;
}

.mbbs-v260-timer{
	display:none!important;
	min-width:44px!important;
	padding:5px 7px!important;
	border-radius:999px!important;
	background:#f5f6f7!important;
}

.mbbs-v260-composer:has(.mbbs-v242-waveform.is-recording) .mbbs-v260-timer{
	display:block!important;
}

.mbbs-v260-language select{
	max-width:150px!important;
	min-height:38px!important;
	height:38px!important;
	padding:0 28px 0 10px!important;
	border-color:#e1e5e8!important;
	border-radius:999px!important;
	background:#f8f9fa!important;
	font-size:11px!important;
}

.mbbs-v260-waveform{
	display:none!important;
	margin:0 10px 8px!important;
	padding:8px 11px!important;
	border:1px solid #f3dfc9!important;
	border-radius:14px!important;
	background:#fffaf5!important;
}

.mbbs-v260-waveform.is-recording,
.mbbs-v260-waveform.is-transcribing{
	display:block!important;
}

.mbbs-v260-wave-status{
	margin-bottom:3px!important;
}

.mbbs-v260-wave-bars{
	height:24px!important;
}

.mbbs-v260-record-status{
	display:none!important;
}

.mbbs-v260-transcribe-state{
	display:none!important;
	min-height:0!important;
	margin:0 10px 9px!important;
	padding:8px 10px!important;
	border:0!important;
	border-radius:12px!important;
	background:#f7faf8!important;
}

.mbbs-v260-transcribe-state.is-transcribing,
.mbbs-v260-transcribe-state.is-ready,
.mbbs-v260-transcribe-state.is-error{
	display:flex!important;
}

.mbbs-v260-transcribe-state.is-transcribing{
	min-height:52px!important;
}

.mbbs-v260-transcribe-state.is-ready{
	background:#f3faf6!important;
}

.mbbs-v260-transcribe-state.is-error{
	background:#fff6f6!important;
}

.mbbs-v260-footer{
	justify-content:flex-end!important;
	margin-top:9px!important;
}

.mbbs-v260-privacy-note{
	display:none!important;
}

.mbbs-v260-continue{
	min-height:40px!important;
	padding:0 14px!important;
	border-radius:999px!important;
	font-size:12px!important;
}

@media(max-width:680px){
	.mbbs-v260-input-shell{
		border-radius:22px!important;
	}

	.mbbs-v260-input-shell #mbbs-v242-message{
		min-height:52px!important;
		height:52px;
		max-height:132px!important;
		padding:15px 14px 5px!important;
		font-size:14px!important;
	}

	.mbbs-v260-toolbar{
		min-height:50px!important;
		padding:4px 7px 7px 8px!important;
		flex-direction:row!important;
		align-items:center!important;
	}

	.mbbs-v260-voice-actions,
	.mbbs-v260-toolbar-right{
		width:auto!important;
	}

	.mbbs-v260-toolbar-right{
		margin-left:auto;
	}

	.mbbs-v260-language select{
		max-width:135px!important;
		font-size:10.5px!important;
	}

	.mbbs-v260-mic-button,
	.mbbs-v260-mic-visual{
		width:40px!important;
		min-width:40px!important;
		height:40px!important;
	}

	.mbbs-v260-footer{
		align-items:flex-end!important;
		flex-direction:row!important;
	}

	.mbbs-v260-continue{
		width:auto!important;
	}
}

@media(prefers-reduced-motion:reduce){
	.mbbs-v260-input-shell,
	.mbbs-v260-mic-button{
		transition:none!important;
	}
}

/* MBBS_V261_COMPACT_COMPOSER_END */

/* ==========================================================
   MBBS APPOINTMENT RESULT STATES V2.7.0
   Clear, global-style status feedback while preserving the
   site's navy / orange visual language.
   ========================================================== */

/* ---------- Successful booking ---------- */

.mbbs-v242-success{
	position:relative;
	overflow:hidden;
	border:1px solid #bfe4cf!important;
	background:
		radial-gradient(circle at 50% 0, rgba(26,148,93,.10), transparent 34%),
		linear-gradient(180deg,#fbfffc 0%,#f4fbf7 100%)!important;
	box-shadow:
		0 18px 46px rgba(6,59,80,.08),
		0 0 0 1px rgba(26,148,93,.035)!important;
}

.mbbs-v242-success::before{
	content:"";
	position:absolute;
	inset:0 0 auto;
	height:5px;
	background:linear-gradient(90deg,#0b7859,#1a945d,#f57a00);
	opacity:.95;
}

.mbbs-v242-success-icon{
	position:relative;
	display:grid!important;
	place-items:center!important;
	width:82px!important;
	height:82px!important;
	margin-left:auto!important;
	margin-right:auto!important;
	border-radius:50%!important;
	border:1px solid #a7d9bd!important;
	background:#eaf8f0!important;
	color:#12804f!important;
	box-shadow:
		0 0 0 9px rgba(26,148,93,.075),
		0 12px 26px rgba(18,128,79,.14)!important;
	font-size:0!important;
	animation:mbbs-v270-success-pop .55s cubic-bezier(.2,.9,.28,1.18) both;
}

.mbbs-v242-success-icon::before{
	content:"";
	width:31px;
	height:17px;
	border-left:5px solid currentColor;
	border-bottom:5px solid currentColor;
	transform:translateY(-3px) rotate(-45deg) scale(0);
	transform-origin:center;
	animation:mbbs-v270-check-draw .42s .22s cubic-bezier(.2,.8,.25,1) forwards;
}

.mbbs-v242-success-icon::after{
	content:"";
	position:absolute;
	inset:-11px;
	border:2px solid rgba(18,128,79,.18);
	border-radius:50%;
	animation:mbbs-v270-success-ring 1.15s .1s ease-out both;
	pointer-events:none;
}

.mbbs-v242-success > p:first-of-type,
.mbbs-v242-success .mbbs-v242-success-kicker{
	color:#12804f!important;
}

.mbbs-v242-success h2{
	color:#063b50!important;
}

.mbbs-v242-success .mbbs-v242-primary{
	box-shadow:0 8px 20px rgba(245,122,0,.18)!important;
}

/* ---------- Booking/error notices ---------- */

.mbbs-v242-alert{
	position:relative;
	display:flex!important;
	align-items:flex-start!important;
	gap:12px!important;
	padding:14px 16px 14px 52px!important;
	border:1px solid #efb7b2!important;
	border-radius:14px!important;
	background:#fff5f4!important;
	color:#8f2f2a!important;
	box-shadow:0 8px 20px rgba(143,47,42,.065)!important;
	font-weight:650!important;
	line-height:1.5!important;
	animation:mbbs-v270-error-in .32s ease-out both;
}

.mbbs-v242-alert::before{
	content:"!";
	position:absolute;
	left:15px;
	top:50%;
	display:grid;
	place-items:center;
	width:25px;
	height:25px;
	border-radius:50%;
	background:#c94f47;
	color:#fff;
	font-size:15px;
	font-weight:900;
	line-height:1;
	transform:translateY(-50%);
	box-shadow:0 0 0 5px rgba(201,79,71,.10);
}

.mbbs-v242-alert a{
	color:#8f2f2a!important;
	font-weight:800!important;
	text-decoration:underline!important;
	text-underline-offset:3px;
}

/* ---------- Motion ---------- */

@keyframes mbbs-v270-success-pop{
	0%{
		opacity:0;
		transform:scale(.72);
	}
	70%{
		opacity:1;
		transform:scale(1.06);
	}
	100%{
		opacity:1;
		transform:scale(1);
	}
}

@keyframes mbbs-v270-check-draw{
	from{
		opacity:0;
		transform:translateY(-3px) rotate(-45deg) scale(.25);
	}
	to{
		opacity:1;
		transform:translateY(-3px) rotate(-45deg) scale(1);
	}
}

@keyframes mbbs-v270-success-ring{
	0%{
		opacity:0;
		transform:scale(.78);
	}
	45%{
		opacity:1;
	}
	100%{
		opacity:0;
		transform:scale(1.22);
	}
}

@keyframes mbbs-v270-error-in{
	from{
		opacity:0;
		transform:translateY(-5px);
	}
	to{
		opacity:1;
		transform:translateY(0);
	}
}

@media(max-width:680px){
	.mbbs-v242-success-icon{
		width:70px!important;
		height:70px!important;
	}

	.mbbs-v242-success-icon::before{
		width:27px;
		height:15px;
		border-left-width:4px;
		border-bottom-width:4px;
	}

	.mbbs-v242-alert{
		padding:12px 13px 12px 45px!important;
		border-radius:12px!important;
	}

	.mbbs-v242-alert::before{
		left:12px;
		width:23px;
		height:23px;
	}
}

@media(prefers-reduced-motion:reduce){
	.mbbs-v242-success-icon,
	.mbbs-v242-success-icon::before,
	.mbbs-v242-success-icon::after,
	.mbbs-v242-alert{
		animation:none!important;
	}
}

/* MBBS_APPOINTMENT_RESULT_STATES_V270_END */
