/* Patient views retain native IDs and actions; shell spacing follows the catalog dashboard. */
.bv3-patient-body {
	min-width: 0;
	background: var(--bv3-bg);
	color: var(--bv3-ink);
	font-family: IRANSansX, Roboto, sans-serif
}

.bv3-patient-page .bv3-header {
	margin-bottom: 26px
}

.bv3-native-content {
	min-height: 60vh
}

.bv3-native-content .app-content-card, .bv3-native-content .bv__card {
	border: 1px solid var(--bv3-line);
	background: var(--bv3-surface);
	border-radius: 14px;
	box-shadow: none
}

.bv3-native-content input, .bv3-native-content select, .bv3-native-content textarea, .bv3-native-content button {
	font-family: inherit
}

.bv3-native-content .secondary-table-section {
	max-width: 100%;
	overflow: auto
}

.bv3-native-content .patient-information-container {
	min-width: 0
}

.bv3-native-content .container-card-information {
	min-width: 0;
	flex: 1
}

.bv3-patient-page .bv3-account-link {
	font-size: 11px;
	padding-inline: 12px
}

.bv3-native-content .app-second-input-box {
	border-radius: 10px
}

.bv3-page[data-theme=dark] .bv3-native-content .app-content-card, .bv3-page[data-theme=dark] .bv3-native-content .bv__card, .bv3-page[data-theme=dark] .bv3-native-content .patient-information {
	background: var(--bv3-surface);
	color: var(--bv3-ink)
}

.bv3-page[data-theme=dark] .bv3-native-content .app-second-input, .bv3-page[data-theme=dark] .bv3-native-content .app-second-textarea {
	color: var(--bv3-ink);
	background: transparent
}

.bv3-page[data-theme=dark] .bv3-native-content .app-second-input-box {
	background: #163447;
	border-color: #35596c
}

@media (max-width: 768px) {
	.bv3-patient-page .bv3-header-actions {
		gap: 6px
	}

	.bv3-native-content .patient-information-container {
		width: 100%;
		margin-bottom: 16px
	}

	.bv3-native-content .container-card-information {
		width: 100%;
		padding-inline: 0
	}

	.bv3-native-content .patient-information {
		width: 100%;
		max-width: none
	}

	.bv3-native-content .bv__login-main {
		width: 100%;
		max-width: 100%;
		min-width: 0
	}

	.bv3-native-content .bv__login-card {
		padding: 22px 17px
	}

	.bv3-account-link {
		max-width: 82px
	}

	.bv3-native-content .app-content {
		padding-inline: 0
	}
}

/* Authentication pairs the existing catalog form with the generated landing illustration. */
.bv3-auth-layout {
	display: grid;
	grid-template-columns:minmax(0, 1fr) minmax(320px, 480px);
	gap: 7vw;
	align-items: center;
	max-width: 1120px;
	margin: 50px auto 70px
}

.bv3-auth-guide img {
	width: 100%;
	height: auto;
	max-width: 520px;
	border-radius: 24px
}

.bv3-auth-guide h1 {
	font-size: 32px;
	line-height: 1.9;
	max-width: 500px;
	margin: 24px 0 8px;
	color: var(--bv3-ink)
}

.bv3-auth-guide p {
	color: var(--bv3-muted);
	font-size: 12px
}

.bv3-auth-card {
	width: 100%;
	max-width: 480px;
	min-width: 0 !important;
	margin: 0 !important
}

.bv3-auth-card .bv__login-card {
	padding: 30px;
	background: var(--bv3-surface);
	border: 1px solid var(--bv3-line);
	border-radius: 22px
}

.bv3-auth-card .bv__login-header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: start;
	gap: 15px
}

.bv3-auth-card .bv__login-icon img {
	width: auto;
	height: 45px;
	max-width: 170px;
	object-fit: contain
}

.bv3-auth-card .bv__login-header .title {
	font-size: 23px;
	line-height: 1.8;
	color: var(--bv3-ink)
}

.bv3-auth-card .bv__login-header .text {
	color: var(--bv3-muted)
}

.bv3-auth-card .bv__login-form .items {
	gap: 20px
}

.bv3-auth-card .app-second-input {
	font-size: 16px
}

.bv3-auth-card .bv__login-footer {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	font-size: 11px
}

.bv3-auth-card .bv__login-link {
	color: var(--bv3-blue-dark)
}

.bv3-page[data-theme=dark] .bv3-auth-card .app-second-input-label, .bv3-page[data-theme=dark] .bv3-auth-card .material-radio-text {
	color: var(--bv3-ink)
}

@media (max-width: 900px) {
	.bv3-auth-layout {
		grid-template-columns:1fr;
		max-width: 530px;
		margin: 25px auto 45px;
		gap: 20px
	}

	.bv3-auth-guide {
		display: none
	}

	.bv3-auth-card {
		max-width: none
	}
}

@media (max-width: 390px) {
	.bv3-auth-card .bv__login-card {
		padding: 22px 15px
	}

	.bv3-auth-card .bv__login-header .title {
		font-size: 20px
	}
}

/* Catalog patient sidebar, profile cards and policy sections use the landing spacing rhythm. */
.bv3-profile-grid {
	display: grid;
	grid-template-columns:250px minmax(0, 1fr);
	gap: 28px;
	padding-bottom: 30px
}

.bv3-page-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 12px 0 25px
}

.bv3-page-heading h1 {
	font-size: 28px;
	line-height: 1.8;
	margin: 0;
	color: var(--bv3-ink)
}

.bv3-patient-summary {
	width: 100%;
	padding: 24px 18px;
	border: 1px solid var(--bv3-line);
	border-radius: 20px;
	background: var(--bv3-surface);
	text-align: center
}

.bv3-patient-summary > :is(img,.bv3-patient-avatar) {
	object-fit: cover;
	border-radius: 50%
}

.bv3-patient-summary h2 {
	font-size: 15px;
	margin: 12px 0 3px;
	line-height: 1.8;
	color: var(--bv3-ink)
}

.bv3-patient-summary > p {
	color: var(--bv3-muted);
	font-size: 11px
}

.bv3-balance {
	display: grid;
	gap: 2px;
	background: var(--bv3-bg);
	border-radius: 12px;
	padding: 14px;
	margin: 18px 0;
	font-size: 11px;
	color: var(--bv3-muted)
}

.bv3-balance strong {
	color: var(--bv3-ink);
	font-size: 18px
}

.bv3-patient-summary ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 5px
}

.bv3-patient-summary li a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 42px;
	border-radius: 10px;
	padding: 8px 10px;
	font-size: 11px;
	color: var(--bv3-muted);
	text-align: start
}

.bv3-patient-summary li.active a {
	background: #e4f3fa;
	color: #16496b;
	font-weight: 700
}

.bv3-patient-summary li a:hover {
	background: var(--bv3-bg);
	color: var(--bv3-ink)
}

.bv3-profile-card {
	padding: 28px !important
}

.bv3-profile-fields {
	display: grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap: 26px;
	margin: 0
}

.bv3-profile-fields dt {
	color: var(--bv3-muted);
	font-size: 11px
}

.bv3-profile-fields dd {
	font-size: 15px;
	color: var(--bv3-ink);
	margin: 6px 0 0;
	overflow-wrap: anywhere
}

.bv3-records-note {
	display: flex;
	align-items: center;
	gap: 22px;
	background: #e9f6fa;
	border-radius: 20px;
	margin-top: 25px;
	padding: 20px
}

.bv3-records-note img {
	width: 135px;
	height: 135px;
	object-fit: contain;
	border-radius: 15px
}

.bv3-records-note h2 {
	font-size: 18px;
	color: var(--bv3-ink)
}

.bv3-records-note p {
	font-size: 12px;
	color: var(--bv3-muted);
	line-height: 2
}

.bv3-records-note .app-btn2 {
	font-size: 11px
}

.bv3-policy {
	max-width: 900px;
	margin: 0 auto 60px
}

/* Keep the policy title close to the shared header using the existing catalog heading. */
html.bv3-page .bv3-shell > .bv3-header.bv3-header-policy {
	margin-bottom: 0
}

html.bv3-page .bv3-native-content > .bv3-policy {
	padding-top: 16px
}

.bv3-policy .bv3-page-heading {
	margin: 0 0 16px
}

.bv3-policy .app-content-card {
	padding: 25px;
	margin-bottom: 18px
}

.bv3-policy h2 {
	font-size: 19px;
	color: var(--bv3-ink)
}

.bv3-policy p {
	font-size: 14px;
	line-height: 2.2;
	color: var(--bv3-muted)
}

.bv3-page[data-theme=dark] .bv3-records-note {
	background: #163647
}

.bv3-page[data-theme=dark] .bv3-patient-summary li.active a {
	background: #244a60;
	color: #d7f4ff
}

@media (max-width: 900px) {
	.bv3-profile-grid {
		grid-template-columns:1fr
	}

	.bv3-patient-summary {
		display: grid;
		grid-template-columns:64px 1fr;
		gap: 8px 15px;
		text-align: start
	}

	.bv3-patient-summary > :is(img,.bv3-patient-avatar) {
		grid-row: 1/3
	}

	.bv3-patient-summary h2, .bv3-patient-summary > p {
		margin: 0
	}

	.bv3-patient-summary .bv3-balance, .bv3-patient-summary nav {
		grid-column: 1/-1
	}

	.bv3-patient-summary ul {
		display: flex;
		flex-wrap: wrap;
		gap: 6px
	}

	.bv3-patient-summary .bv3-balance {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 8px 0
	}

	.bv3-patient-summary li a {
		padding: 6px 10px
	}

	.bv3-profile-fields {
		gap: 20px
	}
}

@media (max-width: 480px) {
	.bv3-profile-fields {
		grid-template-columns:1fr
	}

	.bv3-records-note {
		align-items: start;
		gap: 12px;
		padding: 16px
	}

	.bv3-records-note img {
		width: 75px;
		height: 75px
	}

	.bv3-records-note h2 {
		font-size: 15px
	}

	.bv3-profile-card {
		padding: 20px !important
	}

	.bv3-page-heading h1 {
		font-size: 24px
	}
}

/* Native details/summary disclosure follows bioarc3 landing/_faq. */
.bv3-faq-page, .bv3-tutorials {
	max-width: 1050px;
	margin: 35px auto 60px
}

.bv3-faq-list {
	display: grid;
	gap: 12px
}

.bv3-faq-list details {
	padding: 18px 24px !important
}

.bv3-faq-list summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	cursor: pointer;
	font-size: 15px;
	font-weight: 700;
	color: var(--bv3-ink);
	list-style: none
}

.bv3-faq-list summary::-webkit-details-marker {
	display: none
}

.bv3-faq-list summary span {
	font-size: 23px;
	color: var(--bv3-blue);
	font-weight: 400
}

.bv3-faq-list details[open] summary span {
	transform: rotate(45deg)
}

.bv3-faq-list p {
	font-size: 14px;
	line-height: 2.2;
	color: var(--bv3-muted);
	margin: 16px 0 0
}

.bv3-tutorial-grid {
	display: grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap: 20px
}

.bv3-tutorial-grid article {
	padding: 12px !important
}

.bv3-tutorial-grid iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16/9;
	border: 0;
	border-radius: 12px
}

@media (max-width: 650px) {
	.bv3-tutorial-grid {
		grid-template-columns:1fr
	}

	.bv3-faq-list details {
		padding: 16px !important
	}

	.bv3-faq-list summary {
		font-size: 13px
	}
}

/* Booking follows catalog input/button cards while preserving native validation hooks. */
.bv3-booking-card {
	width: 100%;
	max-width: 700px !important;
	min-width: 0 !important;
	margin: 35px auto 55px !important
}

.bv3-booking-card > .app-content-card {
	padding: 30px !important;
	border: 1px solid var(--bv3-line);
	border-radius: 22px;
	background: var(--bv3-surface)
}

.bv3-booking-card .bv__login-details {
	gap: 18px;
	align-items: start
}

.bv3-booking-card .bv__login-avatar {
	width: 72px;
	height: 72px;
	flex: none
}

.bv3-booking-card .bv__login-avatar img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 18px
}

.bv3-booking-card .bv__login-title .title, .bv3-booking-card .bv__confirmation-turn-header .title {
	color: var(--bv3-ink);
	font-size: 21px;
	line-height: 1.9
}

.bv3-booking-card .text, .bv3-booking-card .description, .bv3-booking-card .date {
	color: var(--bv3-muted);
	line-height: 2
}

.bv3-booking-card .bv__login-form .items {
	gap: 22px
}

.bv3-booking-card .app-second-input {
	font-size: 16px
}

.bv3-booking-card .app-btn2 {
	min-height: 48px;
	max-height: none;
	width: 100%;
	font-size: 13px;
	white-space: normal;
	line-height: 1.8
}

.bv3-booking-card .details {
	padding: 0;
	list-style: none
}

.bv3-booking-card .details .item {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid var(--bv3-line);
	padding-block: 14px
}

.bv3-booking-card .details p {
	margin: 0
}

.bv3-booking-card .details .title {
	color: var(--bv3-muted);
	font-size: 12px
}

.bv3-booking-card .details .text {
	text-align: end;
	color: var(--bv3-ink);
	font-size: 14px
}

.bv3-booking-card .bv__divider {
	margin-block: 24px;
	background: var(--bv3-line)
}

.bv3-booking-card .app-second-textarea {
	font-size: 16px;
	line-height: 2
}

.bv3-state-card {
	max-width: 620px;
	margin: 60px auto;
	padding: 40px !important;
	text-align: center
}

.bv3-state-card > i {
	font-size: 42px;
	color: var(--bv3-blue)
}

.bv3-state-card h1 {
	font-size: 25px;
	color: var(--bv3-ink)
}

.bv3-state-card p {
	color: var(--bv3-muted);
	font-size: 15px;
	line-height: 2
}

.bv3-page[data-theme=dark] .bv3-booking-card .app-second-input-label, .bv3-page[data-theme=dark] .bv3-booking-card .material-radio-text {
	color: var(--bv3-ink)
}

@media (max-width: 600px) {
	.bv3-booking-card {
		margin-block: 20px 35px !important
	}

	.bv3-booking-card > .app-content-card {
		padding: 22px 17px !important
	}

	.bv3-booking-card .bv__login-title {
		flex-wrap: wrap
	}

	.bv3-booking-card .bv__login-avatar, .bv3-booking-card .bv__login-avatar img {
		width: 55px;
		height: 55px
	}

	.bv3-booking-card .details .item {
		gap: 12px
	}

	.bv3-booking-card .details .text {
		font-size: 13px
	}
}

/* Native patient tables and forms share the BioVisit3 surface without changing their hooks. */
.bv3-native-page {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 20px 0 55px
}

.bv3-native-page .container-card-information {
	min-width: 0
}

.bv3-native-page .app-content-card, .bv3-native-page .card-primary, .bv3-native-page .card-white, .bv3-native-page .compliant-form, .bv3-native-page .left-patient {
	border-color: var(--bv3-line);
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	border-radius: 18px
}

.bv3-native-page .app-content-card {
	padding: 20px
}

.bv3-native-page .app-content-card-title, .bv3-native-page h1, .bv3-native-page h2, .bv3-native-page h3 {
	color: var(--bv3-ink)
}

.bv3-native-page .secondary-table-section {
	border: 1px solid var(--bv3-line);
	border-radius: 14px;
	background: var(--bv3-surface)
}

.bv3-native-page .secondary-table-section table {
	min-width: 680px
}

.bv3-native-page .secondary-table-section thead th {
	background: var(--bv3-blue-dark) !important;
	color: #fff
}

.bv3-native-page .app-second-input-box, .bv3-native-page .app-select2-box {
	border-color: var(--bv3-line);
	background: var(--bv3-surface)
}

.bv3-native-page .dataTables_wrapper {
	color: var(--bv3-ink)
}

.bv3-native-page .dataTables_info, .bv3-native-page .dataTables_paginate {
	color: var(--bv3-muted)
}

.bv3-native-page .app-btn2, .bv3-native-page button {
	max-width: 100%;
	min-height: 42px
}

.bv3-page[data-theme=dark] .bv3-native-page .secondary-table-section thead th {
	background: #2a6078 !important
}

.bv3-page[data-theme=dark] .bv3-native-page .app-second-input, .bv3-page[data-theme=dark] .bv3-native-page select, .bv3-page[data-theme=dark] .bv3-native-page textarea {
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	border-color: var(--bv3-line)
}

@media (max-width: 768px) {
	.bv3-native-page {
		padding: 8px 0 35px
	}

	.bv3-native-page .secondary-table-section {
		overflow-x: auto
	}

	.bv3-native-page .patient-information-container {
		width: 100%
	}

	.bv3-native-page .container-card-information {
		width: 100%
	}

	.bv3-native-page .app-content-card {
		padding: 14px
	}

	.bv3-native-page .row, .bv3-native-page .d-flex {
		max-width: 100%
	}
}

/* Theme rules follow the catalog stylesheet cascade, including late view assets. */
html.bv3-page[data-theme=dark] body.bv3-patient-body .bv3-native-content .app-btn2 {
	background: #73c5df !important;
	color: #082235 !important;
	border-color: #73c5df !important
}

html.bv3-page[data-theme=dark] body.bv3-patient-body .app-btn2.outline {
	background: transparent !important;
	color: #bceaf4 !important;
	border-color: #54859b !important
}

html.bv3-page[data-theme=dark] body.bv3-patient-body .bv3-booking-card .details .text {
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] body.bv3-patient-body .bv3-booking-card .details .title {
	color: var(--bv3-muted) !important
}

/* Native wallet.css hides its old sidebar on phones; keep the new catalog navigation reachable. */
html.bv3-page .bv3-native-content .patient-information-container {
	display: block !important
}

.bv3-profile-grid > .patient-information-container {
	width: auto;
	min-width: 0
}

.bv3-profile-grid .bv3-patient-summary {
	display: block !important
}

.bv3-profile-grid .bv3-patient-summary ul {
	display: grid
}

@media (max-width: 900px) {
	html.bv3-page .bv3-profile-grid .bv3-patient-summary {
		display: grid !important
	}

	.bv3-profile-grid .bv3-patient-summary ul {
		display: flex
	}

	.bv3-patient-summary > :is(img,.bv3-patient-avatar) {
		width: 64px !important;
		height: 64px !important
	}

	.bv3-patient-summary {
		position: static !important
	}
}

html.bv3-page .bv3-patient-summary .sidebar-menu-ul-patient.appointment {
	padding: 0;
	gap: 5px;
	flex-direction: column
}

html.bv3-page .bv3-patient-summary .sidebar-menu-ul-patient.appointment > li a {
	width: auto;
	min-height: 42px;
	padding: 8px 10px
}

html.bv3-page .bv3-patient-summary .sidebar-menu-ul-patient.appointment > li a span {
	padding: 0;
	color: inherit;
	font-size: 11px;
	font-weight: 500;
	font-family: inherit !important
}

@media (max-width: 900px) {
	html.bv3-page .bv3-patient-summary .sidebar-menu-ul-patient.appointment {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 6px;
		overflow-x: auto;
		padding-bottom: 7px
	}

	html.bv3-page .bv3-patient-summary nav {
		max-width: 100%;
		min-width: 0
	}

	html.bv3-page .bv3-patient-summary li {
		flex: none
	}

	html.bv3-page .bv3-patient-summary li a {
		white-space: nowrap
	}

	html.bv3-page .bv3-patient-summary {
		min-width: 0
	}
}

/* Catalog modal layout, with explicit labels and reachable actions on small screens. */
.bv3-edit-dialog .modal-dialog {
	width: min(680px, calc(100% - 28px));
	max-width: 680px;
	margin-inline: auto
}

.bv3-edit-dialog .modal-content {
	min-height: 0;
	padding: 12px;
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	border-color: var(--bv3-line)
}

.bv3-edit-dialog .modal-header {
	padding: 18px 20px
}

.bv3-edit-dialog .modal-title {
	font-size: 22px;
	color: var(--bv3-ink)
}

.bv3-edit-dialog .modal-close-action {
	border: 0;
	background: transparent;
	color: var(--bv3-muted);
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	cursor: pointer
}

.bv3-edit-fields {
	display: grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap: 18px;
	padding: 20px
}

.bv3-edit-fields .app-second-input-section {
	width: 100%;
	padding: 0;
	margin: 0
}

.bv3-edit-dialog .modal-footer {
	padding: 15px 20px;
	display: flex;
	gap: 10px;
	justify-content: flex-end
}

.bv3-edit-dialog .modal-footer .app-btn2 {
	max-height: none;
	min-height: 44px
}

.bv3-edit-dialog .app-second-input[readonly] {
	opacity: .75
}

@media (max-width: 560px) {
	.bv3-edit-fields {
		grid-template-columns:1fr;
		gap: 12px;
		padding: 12px
	}

	.bv3-edit-dialog .modal-header {
		padding: 15px 12px
	}

	.bv3-edit-dialog .modal-footer {
		padding: 12px
	}

	.bv3-edit-dialog .modal-content {
		max-height: calc(100dvh - 30px);
		overflow-y: auto
	}
}

/* Use catalog finance dialogs with explicit labels and readable balance/amount controls. */
.bv3-finance-dialog .modal-dialog {
	width: min(700px, 100%);
	max-width: 700px;
	margin-inline: auto
}

.bv3-finance-dialog .modal-content {
	min-height: 0;
	padding: 12px;
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink);
	border: 1px solid var(--bv3-line)
}

.bv3-finance-dialog .modal-header {
	padding: 18px 20px
}

.bv3-finance-dialog .modal-title {
	font-size: 22px;
	color: var(--bv3-ink)
}

.bv3-finance-dialog .modal-close-action {
	border: 0;
	background: transparent;
	color: var(--bv3-muted);
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	cursor: pointer
}

.bv3-finance-fields {
	display: grid;
	gap: 20px;
	padding: 20px
}

.bv3-finance-fields .app-second-input-section {
	width: 100%;
	padding: 0;
	margin: 0
}

.bv3-finance-dialog .modal-footer {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	padding: 15px 20px
}

.bv3-finance-dialog .modal-footer .app-btn2 {
	min-height: 44px;
	max-height: none
}

.bv3-amount-options, .bv3-gateway {
	border: 0;
	padding: 0;
	margin: 0;
	min-width: 0
}

.bv3-amount-options legend, .bv3-gateway legend {
	font-size: 13px;
	color: var(--bv3-ink);
	margin-bottom: 12px
}

/* Separate catalog choices avoid broken shared borders when the last grid row is incomplete. */
html.bv3-page .bv3-finance-dialog .bv3-amount-options .material-radio-items {
	outline: none;
	overflow: visible;
	display: grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap: 9px
}

html.bv3-page .bv3-finance-dialog .bv3-amount-options .material-radio-items .material-radio-item {
	min-width: 0;
	border: 1px solid var(--bv3-line);
	border-radius: 8px;
	margin: 0;
	min-height: 48px;
	padding: 10px;
	font-size: 12px
}

.bv3-withdraw-balance {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
	padding: 18px;
	background: var(--bv3-bg);
	border: 1px solid var(--bv3-line);
	border-radius: 10px;
	font-size: 13px
}

.bv3-card-consent .material-checkbox-text {
	font-size: 12px;
	line-height: 2
}

.bv3-card-consent input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0
}

.bv3-card-consent input:focus-visible + label {
	outline: 3px solid var(--bv3-blue);
	outline-offset: 4px
}

@media (max-width: 560px) {
	.bv3-finance-dialog .modal-content {
		max-height: 100dvh;
		overflow: auto
	}

	.bv3-finance-fields {
		padding: 14px
	}

	.bv3-finance-dialog .modal-footer {
		padding: 14px;
		flex-wrap: wrap
	}

	.bv3-finance-dialog .modal-footer .app-btn2 {
		flex: 1;
		white-space: normal
	}

	.bv3-amount-options .material-radio-text {
		font-size: 11px
	}
}

/* Appointment dialogs retain the native calendar/rules/verification hooks and catalog controls. */
.bv3-rules-dialog .modal-content, .bv3-time-dialog .modal-content, .bv3-verify-dialog .modal-content, .bv3-error-dialog .modal-content {
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	border: 1px solid var(--bv3-line);
	border-radius: 18px
}

.bv3-rules-dialog .modal-body {
	max-height: 75dvh;
	overflow-y: auto;
	padding: 25px !important
}

.bv3-rules-dialog h2 {
	font-size: 22px;
	line-height: 1.8;
	color: var(--bv3-ink)
}

.bv3-rules-dialog p {
	font-size: 14px;
	line-height: 2.2;
	color: var(--bv3-ink)
}

.bv3-rules-dialog .ph-profile-st2-r3 {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	flex-wrap: wrap
}

.bv3-rules-dialog .ph-profile-st2-r3 button {
	min-height: 44px;
	max-height: none;
	padding: 10px 20px;
	width: auto
}

.bv3-time-dialog .modal-header {
	padding: 12px;
	border: 0
}

.bv3-time-dialog .modal-close-action, .bv3-error-dialog .modal-close-action {
	position: static;
	border: 0;
	background: transparent;
	color: var(--bv3-muted);
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	cursor: pointer;
	margin-inline-start: auto
}

.bv3-time-dialog h2 {
	font-size: 21px;
	line-height: 1.8
}

.bv3-time-dialog .change-free-hours-btn {
	border: 1px solid var(--bv3-line);
	background: var(--bv3-surface);
	width: 44px;
	height: 44px;
	border-radius: 10px;
	display: grid;
	place-items: center;
	cursor: pointer
}

.bv3-time-dialog .head-sel-on-first-emp {
	gap: 12px
}

.bv3-time-dialog .ph-modal-freeHours-time-body {
	max-height: 50dvh;
	overflow-y: auto
}

.bv3-error-dialog .modal-header {
	display: flex;
	align-items: center;
	padding: 18px 22px
}

.bv3-error-dialog h2 {
	font-size: 22px;
	margin: 0
}

.bv3-error-dialog .modal-body {
	text-align: center;
	padding: 20px
}

.bv3-error-dialog .modal-text {
	font-size: 14px;
	line-height: 2
}

.bv3-error-dialog .modal-footer {
	padding: 15px 22px
}

.bv3-verify-dialog #verifycode {
	font-size: 22px;
	letter-spacing: .15em;
	direction: ltr;
	text-align: center;
	max-width: 240px;
	min-height: 50px
}

.bv3-verify-dialog .send-verify-code {
	min-width: 150px;
	min-height: 44px;
	max-height: none
}

.bv3-verify-dialog h5 {
	font-size: 16px;
	line-height: 2;
	color: var(--bv3-ink)
}

@media (max-width: 560px) {
	.bv3-rules-dialog .modal-body {
		padding: 18px !important
	}

	.bv3-rules-dialog h2 {
		font-size: 19px
	}

	.bv3-rules-dialog p {
		font-size: 13px
	}

	.bv3-rules-dialog .ph-profile-st2-r3 button {
		flex: 1;
		white-space: normal
	}

	.bv3-time-dialog .modal-body {
		padding: 15px !important
	}

	.bv3-time-dialog h2 {
		font-size: 18px
	}
}

/* Prescription history uses native data in compact cards with an explicit tracking-code disclosure. */
.bv3-prescription-list {
	display: grid;
	gap: 16px
}

.bv3-prescription-card {
	padding: 22px !important
}

.bv3-prescription-card dl {
	display: grid;
	grid-template-columns:1fr 1.5fr 1fr;
	gap: 20px;
	margin: 0 0 20px
}

.bv3-prescription-card dt {
	font-size: 11px;
	color: var(--bv3-muted);
	margin-bottom: 8px
}

.bv3-prescription-card dd {
	font-size: 14px;
	line-height: 2;
	color: var(--bv3-ink);
	margin: 0;
	overflow-wrap: anywhere
}

.bv3-prescription-actions {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 15px;
	flex-wrap: wrap;
	border-top: 1px solid var(--bv3-line);
	padding-top: 18px
}

.bv3-prescription-actions details {
	font-size: 13px;
	min-width: 150px;
	color: var(--bv3-ink)
}

.bv3-prescription-actions summary {
	cursor: pointer;
	padding: 8px 0;
	color: var(--bv3-blue-dark);
	min-height: 44px
}

.bv3-prescription-actions details bdi {
	display: block;
	padding-block: 8px;
	overflow-wrap: anywhere
}

.bv3-prescription-more {
	margin: 25px auto
}

.bv3-prescriptions .bv3-empty img {
	width: 150px;
	height: 150px;
	border-radius: 18px
}

@media (max-width: 560px) {
	.bv3-prescription-card {
		padding: 18px !important
	}

	.bv3-prescription-card dl {
		grid-template-columns:1fr;
		gap: 13px
	}

	.bv3-prescription-card dl > div {
		display: grid;
		grid-template-columns:80px 1fr;
		gap: 10px
	}

	.bv3-prescription-card dt {
		margin: 3px 0
	}

	.bv3-prescription-actions > .app-btn2 {
		flex: 1;
		min-height: 44px;
		max-height: none
	}
}

/* Health-network selection follows catalog cards, input hierarchy and outline navigation. */
.bv3-network-page {
	max-width: 900px;
	margin: 40px auto 70px
}

.bv3-network-page h1 {
	font-size: clamp(25px, 3.5vw, 38px);
	line-height: 1.8;
	margin: 0
}

.bv3-network-page .bv3-page-heading p {
	color: var(--bv3-muted);
	font-size: 14px
}

.bv3-network-card {
	padding: 26px !important
}

.bv3-network-card h2 {
	font-size: 21px;
	line-height: 1.9;
	color: var(--bv3-ink)
}

.bv3-network-hint {
	padding: 15px 18px;
	border: 1px solid var(--bv3-line);
	border-radius: 12px;
	background: var(--bv3-bg);
	font-size: 13px;
	line-height: 2;
	color: var(--bv3-muted)
}

.bv3-network-list, .bv3-region-list {
	display: grid;
	gap: 12px;
	margin-top: 22px
}

.bv3-network-choice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px;
	border: 1px solid var(--bv3-line);
	border-radius: 12px;
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	font: inherit;
	font-size: 15px;
	text-align: start;
	cursor: pointer
}

.bv3-network-choice:hover {
	background: var(--bv3-bg)
}

.bv3-region-card {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 16px;
	border: 1px solid var(--bv3-line);
	border-radius: 12px
}

.bv3-region-map {
	background: transparent;
	border: 0;
	padding: 0;
	border-radius: 10px;
	overflow: hidden;
	flex: none;
	cursor: pointer
}

.bv3-region-map img {
	width: 100px;
	height: 85px;
	object-fit: cover
}

.bv3-region-card h3 {
	font-size: 15px;
	line-height: 1.9;
	margin: 0 0 8px
}

.bv3-region-card p {
	font-size: 12px;
	line-height: 2;
	color: var(--bv3-muted);
	margin: 0
}

.bv3-network-page [role=status] {
	font-size: 13px;
	color: var(--bv3-muted)
}

.bv3-image-dialog img {
	max-width: 100%;
	height: auto
}

.bv3-image-dialog h2 {
	font-size: 20px;
	color: var(--bv3-ink)
}

@media (max-width: 560px) {
	.bv3-network-card {
		padding: 18px !important
	}

	.bv3-region-card {
		gap: 13px;
		padding: 12px
	}

	.bv3-region-map img {
		width: 75px;
		height: 75px
	}

	.bv3-network-page {
		margin-top: 25px
	}

	.bv3-network-choice {
		padding: 17px;
		font-size: 14px
	}
}

/* Public complaint forms retain validation while exposing proper field labels and touch controls. */
.bv3-support-page {
	max-width: 900px;
	margin: 35px auto 65px
}

.bv3-support-card.compliant-form {
	width: 100%;
	margin: 0;
	padding: 28px !important;
	max-width: none
}

.bv3-support-fields {
	display: grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap: 22px
}

.bv3-support-fields .app-second-input-section {
	width: 100%;
	padding: 0;
	margin: 0
}

.bv3-support-description {
	grid-column: 1/-1
}

.bv3-support-description textarea {
	width: 100%;
	min-height: 180px;
	padding: 14px;
	font: inherit;
	font-size: 15px;
	line-height: 2;
	color: var(--bv3-ink);
	background: var(--bv3-surface);
	border: 1px solid var(--bv3-line);
	border-radius: 10px
}

.bv3-support-type {
	border: 0;
	padding: 0;
	margin: 0;
	min-width: 0
}

.bv3-support-type legend {
	font-size: 13px;
	margin-bottom: 12px;
	color: var(--bv3-muted)
}

.bv3-support-type .material-radio-list {
	display: flex;
	gap: 10px;
	flex-wrap: wrap
}

/* Keep contact subjects as compact radio choices without the segmented-control borders. */
.bv3-support-type .material-radio-list.bv .material-radio-box,
.bv3-support-type .material-radio-list.bv .material-radio-box:first-child,
.bv3-support-type .material-radio-list.bv .material-radio-box:last-child {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 4px 0;
	min-height: 36px
}

.bv3-support-type .material-radio-list.bv .material-radio-box:hover,
.bv3-support-type .material-radio-list.bv .material-radio-box:has(input:checked) {
	border: 0 !important;
	background: transparent !important
}

.bv3-support-type .material-radio-box:has(input:focus-visible) {
	outline: 2px solid var(--bv3-blue);
	outline-offset: 3px
}

.bv3-captcha {
	display: flex;
	align-items: center;
	gap: 12px;
	align-self: end
}

.bv3-captcha img {
	max-width: 160px;
	max-height: 60px;
	border-radius: 8px
}

.bv3-contact-refresh-icon {
	display: block;
	width: 20px;
	height: 20px
}

.bv3-support-card #sendcompliant {
	margin-top: 25px;
	min-width: 150px;
	min-height: 46px;
	max-height: none
}

.bv3-support-fields input.app-second-input {
	margin: 0;
	width: 100%;
	height: 44px;
	border: 0;
	background: transparent;
	color: var(--bv3-ink);
	font-size: 16px
}

.bv3-support-fields .app-second-input-box {
	border: 1px solid var(--bv3-line);
	background: var(--bv3-surface)
}

@media (max-width: 600px) {
	.bv3-support-fields {
		grid-template-columns:1fr;
		gap: 17px
	}

	.bv3-support-card.compliant-form {
		padding: 19px !important
	}

	.bv3-support-card #sendcompliant {
		width: 100%
	}

	.bv3-support-fields .app-second-input-section {
		max-width: 100%
	}

	.bv3-captcha {
		justify-content: space-between
	}
}

.bv3-tutorial-download {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
	padding: 28px !important
}

.bv3-tutorial-download > i {
	font-size: 38px;
	color: var(--bv3-blue)
}

.bv3-tutorial-download h2 {
	font-size: 20px;
	line-height: 1.9;
	color: var(--bv3-ink)
}

.bv3-notice-content {
	font-size: 15px;
	line-height: 2.2;
	overflow-wrap: anywhere
}

.bv3-notice-content img, .bv3-notice-content iframe {
	max-width: 100%
}

.bv3-page .reserve-timeline-main .app-history-timeline-item {
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	border-color: var(--bv3-line)
}

/* Wallet content must stack below patient navigation before the desktop breakpoint. */
@media (max-width: 1199px) {
	.bv3-wallet-layout {
		flex-direction: column !important
	}

	.bv3-wallet-layout > .container-card-information {
		width: 100%;
		flex: 1 1 auto
	}

	.bv3-wallet-layout > .patient-information-container {
		display: block !important;
		width: 100%;
		margin-bottom: 20px
	}

	.bv3-wallet-layout .bv3-patient-summary {
		width: 100%
	}
}

/* Legacy type selectors target all i elements; preserve catalog icon glyphs in new controls. */
.bv3-page .bio-icon-outline, .bv3-page .bio-icon-outline::before {
	font-family: "bio-icon-outline" !important
}

.bv3-page .bio-icon-fill, .bv3-page .bio-icon-fill::before {
	font-family: "bio-icon-fill" !important
}

/* OTP retains the shared six-digit implementation and avoids positive tab indices. */
.bv3-otp-dialog .modal-content, .bv3-message-dialog .modal-content {
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	border: 1px solid var(--bv3-line);
	border-radius: 18px
}

/* Keep the close action in its own row; decorative art never overlays OTP content. */
.bv3-otp-dialog .modal-dialog {
	max-width: 540px
}

.bv3-otp-dialog .modal-content {
	overflow: hidden
}

.bv3-otp-dialog .bv__otp {
	position: relative;
	isolation: isolate;
	padding: 18px 32px 30px
}

.bv3-otp-dialog .bv3-otp-toolbar {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: flex-end;
	margin-bottom: 10px
}

.bv3-otp-dialog .bv3-otp-close {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--bv3-line);
	border-radius: 12px;
	background: var(--bv3-surface);
	color: var(--bv3-muted);
	font-size: 18px;
	cursor: pointer
}

.bv3-otp-dialog .bv3-otp-close:hover {
	background: var(--bv3-bg);
	color: var(--bv3-ink)
}

.bv3-otp-dialog .bv3-otp-close:focus-visible {
	outline: 2px solid var(--bv3-blue);
	outline-offset: 3px
}

/* Two quiet strokes soften the surface without an illustration behind the code. */
.bv3-otp-dialog .bv3-otp-lines {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	color: var(--bv3-blue);
	opacity: .18;
	pointer-events: none;
	z-index: -1
}

.bv3-otp-dialog .bv__otp-body {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
	width: 100%
}

.bv3-otp-dialog .bv__otp-header {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 14px;
	width: 100%
}

.bv3-otp-dialog .title {
	align-self: center;
	margin: 0;
	font-size: 26px;
	line-height: 1.65;
	text-align: center;
	color: var(--bv3-ink)
}

.bv3-otp-dialog .header-content {
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: center;
	width: 100%
}

.bv3-otp-dialog .text {
	margin: 0;
	color: var(--bv3-muted);
	font-size: 16px;
	line-height: 1.9;
	text-align: center;
	overflow-wrap: anywhere
}

.bv3-otp-dialog .change-mobile-action, .bv3-otp-dialog .re_request {
	background: transparent;
	border: 0;
	padding: 8px 12px;
	color: var(--bv3-blue-dark);
	font: inherit;
	font-size: 15px;
	line-height: 1.6;
	font-weight: 700;
	cursor: pointer;
	min-height: 44px;
	border-radius: 10px
}

.bv3-otp-dialog .change-mobile-action:hover, .bv3-otp-dialog .re_request:hover {
	background: var(--bv3-bg)
}

.bv3-otp-dialog .form {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	width: 100%;
	margin: 0
}

.bv3-otp-dialog .activation-code-box {
	display: flex;
	direction: ltr;
	gap: 10px;
	justify-content: center;
	margin: 4px 0 8px;
	width: 100%
}

.bv3-otp-dialog .activation-code-input, .bv3-otp-dialog .activation-code-input:focus {
	width: 52px;
	min-width: 0;
	height: 58px;
	padding: 0;
	font-size: 26px;
	text-align: center;
	color: var(--bv3-ink);
	background: var(--bv3-bg);
	border: 1px solid var(--bv3-line);
	border-radius: 12px
}

/* Legacy focus CSS changes height; keep stable geometry with catalog focus colors. */
.bv3-otp-dialog .activation-code-input:focus {
	border-color: var(--bv3-blue);
	outline: 2px solid var(--bv3-blue);
	outline-offset: 2px;
	caret-color: var(--bv3-blue-dark)
}

.bv3-otp-dialog .form .remain-time, .bv3-otp-dialog .form .re_request {
	margin: 0;
	font-size: 15px;
	line-height: 1.7
}

.bv3-otp-dialog .form .remain-time {
	color: var(--bv3-muted);
	font-variant-numeric: tabular-nums
}

.bv3-otp-dialog .form .re_request {
	color: var(--bv3-blue-dark)
}

@media (max-width: 575px) {
	.bv3-otp-dialog .modal-dialog {
		margin: 12px
	}

	.bv3-otp-dialog .bv__otp {
		padding: 14px 20px 26px
	}

	.bv3-otp-dialog .title {
		font-size: 23px
	}

	.bv3-otp-dialog .activation-code-box {
		gap: 8px
	}

	.bv3-otp-dialog .activation-code-input, .bv3-otp-dialog .activation-code-input:focus {
		width: calc((100% - 40px) / 6);
		max-width: 52px;
		height: 54px
	}
}

.bv3-message-dialog .modal-header {
	display: flex;
	align-items: center;
	padding: 20px
}

.bv3-message-dialog .modal-header h2 {
	font-size: 22px;
	margin: 0;
	color: var(--bv3-ink)
}

.bv3-message-dialog .modal-close-action {
	position: static;
	border: 0;
	background: transparent;
	color: var(--bv3-muted);
	width: 40px;
	height: 40px;
	margin-inline-start: auto;
	cursor: pointer
}

.bv3-message-dialog .modal-body {
	padding: 20px
}

.bv3-message-dialog #message_content {
	font-size: 14px;
	line-height: 2;
	color: var(--bv3-ink)
}

.bv3-message-dialog .modal-footer {
	padding: 15px 20px
}


.bv3-wallet-overview {
	padding: 22px 0;
	background: var(--bv3-bg)
}

.bv3-wallet-overview .charge-btn, .bv3-wallet-overview .widthdraw-btn {
	min-height: 44px;
	max-height: none;
	white-space: normal;
	text-align: center;
	line-height: 1.8;
	flex: 1
}

.bv3-wallet-overview .card-white {
	padding: 22px 18px !important;
	box-shadow: none !important;
	border: 1px solid var(--bv3-line);
	border-radius: 17px
}

.bv3-wallet-overview .bank-card.add_card {
	background: var(--bv3-surface);
	border: 1px solid var(--bv3-line);
	border-radius: 17px;
	min-height: 120px;
	padding: 20px;
	color: var(--bv3-ink);
	font: inherit;
	text-align: center;
	cursor: pointer
}

.bv3-wallet-overview .cards-container {
	width: 100%
}

.bv3-wallet-overview .text-add-card {
	color: var(--bv3-ink);
	font-size: 14px;
	line-height: 1.9
}

.bv3-wallet-layout .container-card-information > .app-content-card {
	margin-top: 20px
}

.bv3-wallet-layout .bv3-page-heading {
	padding-inline: 10px
}

@media (max-width: 600px) {
	.bv3-wallet-overview {
		padding: 10px 0
	}

	.bv3-wallet-overview .card-white {
		padding: 18px 14px !important
	}

	.bv3-wallet-overview .card-white > .d-flex:last-child {
		flex-wrap: wrap;
		gap: 10px
	}

	.bv3-wallet-overview .text-add-card {
		font-size: 13px
	}
}

/* Ticket forms and history use catalog controls; the native popup class remains the state hook. */
.bv3-ticket-history {
	padding: 24px;
	margin-top: 22px
}

.bv3-ticket-history h2 {
	font-size: 19px;
	color: var(--bv3-ink);
	margin-bottom: 18px
}

.bv3-ticket-history td {
	overflow-wrap: anywhere;
	white-space: normal;
	max-width: 280px
}

.bv3-ticket-actions {
	white-space: nowrap !important;
	min-width: 130px
}

.bv3-ticket-actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: transparent;
	border: 0;
	color: var(--bv3-blue-dark);
	cursor: pointer
}

.bv3-ticket-actions .btn-delete {
	color: #c34058
}

.bv3-ticket-page #modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1050;
	background: rgba(12, 35, 50, .6);
	padding: 22px;
	overflow: auto;
	align-items: center;
	justify-content: center
}

.bv3-ticket-page #modal.show {
	display: flex
}

.bv3-ticket-page #modal > .popup {
	width: 100%;
	max-width: 800px;
	padding: 26px;
	max-height: calc(100dvh - 44px);
	overflow: auto
}

.bv3-ticket-page #modal .bv3-page-heading {
	margin-top: 0
}

.bv3-ticket-page #modal h2 {
	font-size: 20px;
	color: var(--bv3-ink)
}

.bv3-ticket-page #answer_section {
	grid-column: 1/-1
}

.bv3-ticket-page .bv3-dialog-actions {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 24px
}

.bv3-ticket-page .bv3-dialog-actions .app-btn2 {
	min-height: 44px;
	max-height: none
}

.bv3-ticket-page #modal [disabled] {
	opacity: .8
}

.bv3-ticket-page .bv3-support-card {
	padding: 24px
}

@media (max-width: 600px) {
	.bv3-ticket-page #modal {
		padding: 12px
	}

	.bv3-ticket-page #modal > .popup {
		padding: 18px;
		max-height: calc(100dvh - 24px)
	}

	.bv3-ticket-history {
		padding: 15px
	}
}

/* Patient tables follow UiController::actionTable and the appointment dashboard filters. */
.bv3-patient-table-page {
	padding-block: 10px 45px
}

.bv3-table-card {
	padding: 24px !important;
	min-width: 0
}

.bv3-table-filters {
	display: grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 24px
}

.bv3-table-filters .app-second-input-label {
	display: block;
	font-size: 12px;
	line-height: 1.8;
	margin-bottom: 8px;
	color: var(--bv3-muted)
}

.bv3-table-filters .app-second-input-section {
	min-width: 0
}

.bv3-table-filters .select2-container {
	width: 100% !important;
	max-width: 100%
}

.bv3-patient-table-page .secondary-table-section {
	max-width: 100%;
	border: 1px solid var(--bv3-line);
	border-radius: 14px;
	overflow: auto;
	background: var(--bv3-surface)
}

.bv3-patient-table-page table {
	width: 100% !important;
	min-width: 720px;
	margin: 0 !important
}

.bv3-patient-table-page th {
	background: var(--bv3-blue-dark) !important;
	color: white;
	line-height: 1.9
}

.bv3-patient-table-page td {
	font-size: 13px;
	line-height: 2;
	color: var(--bv3-ink);
	vertical-align: middle
}

.bv3-patient-table-page td .secondary-table-action {
	display: inline-flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: var(--bv3-blue-dark);
	border: 0
}

.bv3-patient-table-page .dataTables_wrapper {
	color: var(--bv3-muted)
}

/* Override the legacy wallet font list that was quoted as one unavailable family. */
.bv3-patient-table-page .dataTables_info, .bv3-native-content .dataTables_info {
	white-space: normal;
	font-family: IRANSansX, Roboto, Arial, sans-serif !important;
	font-size: 13px;
	line-height: 1.8
}

html.bv3-page[lang=en] .bv3-native-content .dataTables_info {
	font-family: Roboto, Arial, sans-serif !important
}

.bv3-patient-table-page .dataTables_paginate {
	display: flex;
	gap: 6px;
	flex-wrap: wrap
}

.bv3-page[data-theme=dark] .bv3-patient-table-page table tr {
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink) !important
}

.bv3-page[data-theme=dark] .bv3-table-filters .select2-selection {
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	border-color: var(--bv3-line)
}

.bv3-page[data-theme=dark] .bv3-table-filters .select2-selection__rendered {
	color: var(--bv3-ink) !important
}

.bv3-document-dialog {
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	border: 1px solid var(--bv3-line);
	border-radius: 18px
}

.bv3-document-dialog .docs-image-show {
	max-width: 100%;
	max-height: 70dvh;
	object-fit: contain
}

.bv3-page button.modal-close-action {
	border: 0;
	background: transparent;
	cursor: pointer;
	min-width: 40px;
	min-height: 40px;
	color: var(--bv3-muted)
}

@media (max-width: 900px) {
	.bv3-table-card {
		padding: 18px !important
	}

	.bv3-table-filters {
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap: 15px
	}
}

@media (max-width: 480px) {
	.bv3-table-filters {
		grid-template-columns:1fr
	}

	.bv3-table-card {
		padding: 14px !important
	}
}

/* Verified payment receipts follow catalog status cards and keep gateway controls keyboard accessible. */
.bv3-payment-result {
	max-width: 680px;
	margin: 40px auto 65px;
	padding: 32px !important;
	text-align: center
}

.bv3-payment-result h1 {
	font-size: 25px;
	line-height: 1.9;
	color: var(--bv3-ink)
}

.bv3-payment-status {
	display: flex;
	width: 78px;
	height: 78px;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	border-radius: 50%;
	font-size: 46px
}

.bv3-payment-status.is-success {
	background: #e6f5ef;
	color: #287f67
}

.bv3-payment-status.is-error {
	background: #fcecef;
	color: #b42c48
}

.bv3-payment-fields {
	margin: 25px 0;
	display: grid;
	gap: 0;
	text-align: start
}

.bv3-payment-fields > div {
	display: flex;
	justify-content: space-between;
	gap: 22px;
	padding: 15px 0;
	border-bottom: 1px solid var(--bv3-line)
}

.bv3-payment-fields dt {
	font-weight: 400;
	font-size: 13px;
	color: var(--bv3-muted)
}

.bv3-payment-fields dd {
	margin: 0;
	font-size: 14px;
	color: var(--bv3-ink);
	overflow-wrap: anywhere;
	text-align: end
}

.bv3-payment-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap
}

.bv3-payment-actions .app-btn2 {
	min-height: 46px;
	max-height: none;
	white-space: normal;
	line-height: 1.8
}

.bv3-payment-message {
	font-size: 14px;
	line-height: 2.2;
	color: var(--bv3-muted);
	margin-block: 22px
}

.bv3-gateways {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin-block: 24px
}

.bv3-gateways .addmoney-bank-img {
	width: 76px;
	height: 76px;
	padding: 10px;
	background: var(--bv3-surface);
	border: 1px solid var(--bv3-line);
	border-radius: 12px;
	cursor: pointer
}

.bv3-gateways .active_port {
	border: 2px solid var(--bv3-blue);
	background: var(--bv3-bg)
}

.bv3-gateways img {
	max-width: 100%;
	object-fit: contain
}

.bv3-payment-checkout .bv3-page-heading {
	justify-content: center
}

.bv3-page[data-theme=dark] .bv3-payment-status.is-success {
	background: #214b42;
	color: #c4f4e8
}

.bv3-page[data-theme=dark] .bv3-payment-status.is-error {
	background: #5c2935;
	color: #ffd6df
}

@media (max-width: 480px) {
	.bv3-payment-result {
		margin-block: 25px 45px;
		padding: 22px !important
	}

	.bv3-payment-result h1 {
		font-size: 22px
	}

	.bv3-payment-fields > div {
		flex-wrap: wrap;
		gap: 8px
	}

	.bv3-payment-actions > * {
		flex: 1
	}
}

/* Contact pairs the demonstrated form controls with the generated support illustration. */
.bv3-contact-page {
	max-width: 1160px;
	margin: 35px auto 65px
}

.bv3-contact-grid {
	display: grid;
	grid-template-columns:minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 24px;
	align-items: start
}

.bv3-contact-info {
	padding: 25px !important
}

.bv3-contact-info > img {
	width: 100%;
	height: auto;
	max-width: 240px;
	display: block;
	margin: 0 auto 24px;
	border-radius: 18px
}

.bv3-contact-info h2 {
	font-size: 22px;
	line-height: 1.9;
	color: var(--bv3-ink)
}

.bv3-contact-info h3 {
	font-size: 15px;
	margin: 24px 0 10px;
	color: var(--bv3-ink)
}

.bv3-contact-info p {
	font-size: 13px;
	line-height: 2.2;
	color: var(--bv3-muted)
}

.bv3-contact-phones {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: flex-start
}

.bv3-contact-phones a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--bv3-line);
	border-radius: 9px;
	font-size: 14px;
	color: var(--bv3-blue-dark)
}

.bv3-contact-page #btn-contact-submit {
	min-height: 46px;
	max-height: none;
	margin-top: 22px;
	min-width: 160px
}

.bv3-contact-page #btn-contact-submit:disabled {
	opacity: .6;
	cursor: wait
}

.bv3-contact-page .app-second-input-error {
	white-space: normal;
	line-height: 1.8;
	transform: none;
	margin-top: 6px
}

.bv3-contact-page #contact-us-result {
	color: var(--bv3-muted);
	font-size: 13px;
	line-height: 2
}

@media (max-width: 900px) {
	.bv3-contact-grid {
		grid-template-columns:1fr
	}

	.bv3-contact-info > img {
		max-width: 200px
	}
}

/* Feedback retains the native .show state and backdrop while using the catalog dialog surface. */
.bv3-page .bv3-feedback-dialog {
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink);
	border: 1px solid var(--bv3-line);
	border-radius: 18px;
	box-shadow: 0 18px 60px rgba(0, 0, 0, .2);
	width: calc(100% - 32px);
	max-width: 520px;
	padding: 25px;
	max-height: calc(100dvh - 40px);
	overflow: auto
}

.bv3-feedback-dialog h2, .bv3-feedback-dialog h3 {
	font-size: 20px;
	line-height: 1.9;
	color: var(--bv3-ink)
}

.bv3-feedback-dialog .my_popup_f_bio_content {
	max-width: 100%;
	min-width: 0
}

.bv3-feedback-dialog .my_popup_f_bio_img img {
	max-width: 80px;
	max-height: 80px;
	object-fit: contain
}

.bv3-feedback-dialog #message_popup_err {
	font-size: 14px;
	line-height: 2;
	color: var(--bv3-ink);
	text-align: start
}

.bv3-feedback-dialog .my_popup_err_btn_par, .bv3-feedback-dialog .my_popup_info_btn_par, .bv3-feedback-dialog .my-popup-success-btn-par {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 20px
}

.bv3-feedback-dialog .app-btn2 {
	min-height: 44px;
	max-height: none;
	width: auto !important;
	min-width: 110px;
	white-space: normal
}

.bv3-feedback-dialog .app-second-input {
	background: transparent;
	color: var(--bv3-ink);
	text-align: center;
	font-size: 20px;
	width: 100%
}

.bv3-feedback-dialog .app-second-input-box {
	margin-top: 10px
}

.bv3-page .my-popup-ques-bio-back {
	z-index: 1060
}

.bv3-page .bv3-feedback-dialog {
	z-index: 1061
}

/* Closed native dialogs must leave the hit-testing and accessibility surface. */
.bv3-page .bv3-feedback-dialog:not(.show), .bv3-page .my-popup-ques-bio-back:not(.show) {
	display: none !important
}

.bv3-page .bv3-feedback-dialog.show {
	display: block !important;
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	right: auto !important;
	bottom: auto !important;
	transform: translate(-50%, -50%) !important
}

.bv3-page .my-popup-ques-bio-back.show {
	display: block;
	position: fixed;
	inset: 0;
	background: rgba(12, 35, 50, .6)
}

.bv3-wallet-overview .card-item button.secondary-table-action {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 38px;
	height: 38px;
	min-height: 38px;
	border: 0;
	background: transparent;
	color: var(--bv3-blue-dark);
	cursor: pointer
}

.bv3-wallet-overview .card-item .delete-btn {
	color: #c34058
}

/* Ministry callback options reuse the same clinician-card anatomy and inherited booking identity. */
.bv3-ministry-page {
	max-width: 1200px;
	margin: 35px auto 60px
}

.bv3-ministry-grid {
	display: grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap: 18px
}

.bv3-ministry-card {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 24px !important;
	min-width: 0
}

.bv3-ministry-identity {
	display: flex;
	align-items: center;
	gap: 14px
}

.bv3-ministry-identity img {
	width: 64px;
	height: 64px;
	border-radius: 16px;
	object-fit: cover
}

.bv3-ministry-identity h2 {
	font-size: 17px;
	line-height: 1.9;
	margin: 0;
	color: var(--bv3-ink)
}

.bv3-ministry-card p {
	font-size: 12px;
	line-height: 2;
	color: var(--bv3-muted);
	margin: 0;
	overflow-wrap: anywhere
}

.bv3-ministry-hour {
	font-size: 14px;
	color: var(--bv3-ink)
}

.bv3-ministry-card .app-btn2 {
	width: 100%;
	min-height: 44px;
	max-height: none;
	margin-top: auto
}

.bv3-ministry-page > .load-more-doctor {
	margin: 25px auto
}

.bv3-ministry-page > [role=status] {
	text-align: center;
	font-size: 13px;
	color: var(--bv3-muted)
}

@media (max-width: 1000px) {
	.bv3-ministry-grid {
		grid-template-columns:repeat(2, minmax(0, 1fr))
	}
}

@media (max-width: 600px) {
	.bv3-ministry-grid {
		grid-template-columns:1fr
	}

	.bv3-ministry-card {
		padding: 20px !important
	}
}

.bv3-page .bv3-feedback-dialog.show .my_popup_f_bio_content {
	display: block !important;
	padding: 0 !important;
	transform: none !important
}

.bv3-page .bv3-feedback-dialog .my-popup-ques-btn-par {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-top: 20px
}

.bv3-clinician-unavailable {
	max-width: 1120px;
	margin: 40px auto 65px
}

.bv3-unavailable-summary {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 28px !important;
	margin-bottom: 35px
}

.bv3-unavailable-summary > img {
	width: 90px;
	height: 90px;
	object-fit: cover;
	border-radius: 20px
}

.bv3-unavailable-summary h1 {
	font-size: 26px;
	line-height: 1.9;
	color: var(--bv3-ink)
}

.bv3-unavailable-summary p {
	font-size: 14px;
	line-height: 2;
	color: var(--bv3-muted)
}

.bv3-unavailable-summary .bv3-unavailable-notice {
	border-top: 1px solid var(--bv3-line);
	padding-top: 18px;
	margin-top: 18px;
	color: var(--bv3-ink)
}

@media (max-width: 600px) {
	.bv3-unavailable-summary {
		align-items: flex-start;
		padding: 20px !important;
		gap: 15px
	}

	.bv3-unavailable-summary > img {
		width: 65px;
		height: 65px
	}

	.bv3-unavailable-summary h1 {
		font-size: 21px
	}
}

/* Legacy wallet balances retain their native allocation and use the catalog card and table layout. */
.bv3-wallet-total {
	display: grid;
	gap: 6px;
	color: var(--bv3-muted)
}

.bv3-wallet-total strong {
	color: var(--bv3-blue-dark);
	font-size: 20px
}

.bv3-bank-cards, .bv3-wallet-centers {
	display: grid;
	grid-template-columns:repeat(auto-fit, minmax(min(100%, 250px), 1fr));
	gap: 16px;
	margin-block: 20px
}

.bv3-legacy-wallet .bank-card, .bv3-wallet-center {
	width: auto !important;
	min-width: 0;
	min-height: 180px;
	border: 1px solid var(--bv3-line);
	border-radius: 14px;
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	text-align: start
}

.bv3-legacy-wallet #add_card {
	align-items: center;
	justify-content: center;
	border-style: dashed
}

.bv3-legacy-wallet #add_card > i {
	font-size: 30px;
	color: var(--bv3-blue-dark)
}

.bv3-bank-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-width: 0
}

.bv3-bank-heading h2 {
	font-size: 16px;
	margin: 0;
	color: var(--bv3-ink)
}

.bv3-bank-heading img {
	object-fit: contain
}

.bv3-legacy-wallet .card-number-display {
	font-size: 21px;
	letter-spacing: .05em;
	text-align: center;
	white-space: normal
}

.bv3-legacy-wallet .shaba_number_code {
	font-size: 12px;
	overflow-wrap: anywhere;
	color: var(--bv3-muted);
	text-align: center
}

.bv3-wallet-center > strong {
	font-size: 21px;
	color: var(--bv3-blue-dark)
}

.bv3-wallet-center .bv3-actions {
	margin-block-start: auto
}

.bv3-legacy-wallet .app-content-card {
	margin-block: 20px
}

.bv3-legacy-wallet .hidden {
	display: none !important
}

/* Keep compact row controls and mobile transaction cells on the active theme surface. */
.bv3-legacy-wallet button.secondary-table-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	min-height: 38px;
	border: 0;
	background: transparent;
	color: var(--bv3-blue-dark);
	cursor: pointer
}

.bv3-legacy-wallet button.delete-btn {
	color: #c34058
}

.bv3-page[data-theme=dark] .bv3-native-page .secondary-table tbody tr, .bv3-page[data-theme=dark] .bv3-native-page .secondary-table tbody td {
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink) !important;
	border-color: var(--bv3-line) !important
}

/* Native custom forms stay intact; their presentation follows catalog field spacing and theme tokens. */
.bv3-medical-documents {
	min-width: 0;
	color: var(--bv3-ink);
	background: var(--bv3-surface);
	border-radius: 16px
}

.bv3-medical-documents .medical-docs-body, .bv3-medical-documents > .panel-body {
	padding: 20px
}

.bv3-medical-documents .fill-medical-doc {
	margin: 0 0 20px !important;
	min-width: 0
}

.bv3-medical-documents .medical-docs-form-body {
	min-width: 0
}

.bv3-medical-documents .medical-docs-action-bar {
	position: sticky;
	bottom: 0;
	background: var(--bv3-surface);
	border-top: 1px solid var(--bv3-line);
	padding: 16px;
	z-index: 2
}

.bv3-medical-documents .app-second-input-box, .bv3-medical-documents .app-second-textarea-box, .bv3-medical-documents .app-select2-box {
	background: var(--bv3-surface);
	border-color: var(--bv3-line)
}

.bv3-medical-documents label, .bv3-medical-documents legend, .bv3-medical-documents .app-second-input-label {
	color: var(--bv3-ink)
}

.bv3-medical-documents input, .bv3-medical-documents textarea, .bv3-medical-documents select {
	max-width: 100%;
	color: var(--bv3-ink)
}

.bv3-medical-documents .medical_doc_custom_form {
	max-width: 100%;
	min-width: 0
}

.bv3-medical-documents .app-btn2 {
	min-height: 44px;
	max-height: none
}

.bv3-medical-documents input:focus-visible, .bv3-medical-documents textarea:focus-visible, .bv3-medical-documents select:focus-visible {
	outline: 2px solid var(--bv3-blue);
	outline-offset: 3px
}

@media (max-width: 600px) {
	.bv3-medical-documents .medical-docs-body, .bv3-medical-documents > .panel-body {
		padding: 14px
	}

	.bv3-medical-documents .app-second-input, .bv3-medical-documents .app-second-textarea {
		font-size: 16px
	}

	.bv3-medical-documents .material-radio-list {
		display: flex;
		flex-wrap: wrap;
		gap: 8px
	}
}

/* Legacy bank-account dialogs and return requests retain their existing validation and request hooks. */
.bv3-wallet-overview-grid {
	display: grid;
	grid-template-columns:minmax(0, 1fr) minmax(0, 1.5fr);
	gap: 20px
}

.bv3-old-wallet .patient-wal-left-data, .bv3-old-wallet .patient-wal-right {
	width: auto;
	margin: 0;
	min-width: 0
}

.bv3-old-wallet .patient-wal-data {
	display: grid;
	gap: 14px
}

.bv3-old-wallet .patient-wal-data-row {
	display: grid;
	grid-template-columns:repeat(auto-fit, minmax(110px, 1fr));
	gap: 12px;
	background: var(--bv3-bg);
	border: 1px solid var(--bv3-line);
	border-radius: 10px;
	padding: 16px;
	margin: 0;
	width: auto
}

.bv3-old-wallet .patient-wal-data-row-cl {
	width: auto;
	padding: 0
}

.bv3-old-wallet .patient-wal-data-row h3 {
	font-size: 11px;
	line-height: 1.8;
	color: var(--bv3-muted)
}

.bv3-old-wallet .patient-wal-data-row p {
	font-size: 13px;
	color: var(--bv3-ink);
	overflow-wrap: anywhere
}

.bv3-old-wallet .bv3-detail-fields {
	display: grid;
	grid-template-columns:1fr;
	gap: 16px;
	margin: 20px 0
}

.bv3-old-wallet dt {
	color: var(--bv3-muted);
	font-size: 12px
}

.bv3-old-wallet dd {
	margin: 5px 0;
	font-size: 14px;
	overflow-wrap: anywhere
}

.bv3-wallet-edit-dialog .app-second-input-section {
	margin-block: 20px
}

.bv3-wallet-edit-dialog .my-popup_ewallet_info-btn-par {
	display: flex;
	gap: 12px;
	justify-content: flex-end
}

.bv3-wallet-edit-dialog .error {
	display: block;
	color: #c34058;
	font-size: 12px
}

.bv3-wallet-edit-dialog .hidden {
	display: none !important
}

.bv3-wallet-edit-dialog small {
	color: var(--bv3-muted);
	line-height: 2;
	font-size: 11px
}

@media (max-width: 900px) {
	.bv3-wallet-overview-grid {
		grid-template-columns:1fr
	}
}

.bv3-topup-page {
	max-width: 680px
}

.bv3-topup-page .app-content-card {
	padding: 30px
}

.bv3-topup-page .app-second-input-section {
	margin-block: 24px
}

.bv3-topup-gateways {
	padding: 0;
	border: 0;
	margin-block: 24px;
	min-width: 0
}

.bv3-topup-gateways legend {
	font-size: 13px;
	color: var(--bv3-ink)
}

.bv3-topup-gateways > div {
	display: flex;
	gap: 12px;
	flex-wrap: wrap
}

.bv3-topup-gateways button {
	border: 1px solid var(--bv3-line);
	border-radius: 10px;
	background: var(--bv3-surface);
	min-width: 100px;
	padding: 10px;
	cursor: pointer
}

.bv3-topup-gateways button.active {
	border: 2px solid var(--bv3-blue)
}

.bv3-topup-gateways img {
	object-fit: contain
}

.bv3-topup-gateways button:focus-visible {
	outline: 3px solid var(--bv3-blue);
	outline-offset: 3px
}

/* Keep native form choices and text fields legible in both patient themes. */
.bv3-medical-documents .material-radio-box {
	background: var(--bv3-bg) !important;
	border: 1px solid var(--bv3-line);
	border-radius: 10px;
	padding: 12px !important
}

.bv3-medical-documents .material-radio-text {
	color: var(--bv3-ink) !important
}

.bv3-medical-documents .medical_doc_custom_form .app-second-input {
	background: var(--bv3-bg);
	border: 1px solid var(--bv3-line);
	border-radius: 8px;
	padding: 10px;
	min-height: 44px
}

.bv3-medical-documents .medical_doc_custom_form .error_class {
	outline: 2px solid #c95878;
	outline-offset: 3px
}

.bv3-medical-documents .bv3-page-heading {
	padding: 20px
}

.bv3-medical-documents #appointment_medical_doc > .m-5 {
	margin: 0 !important
}

/* Preserve native UI/demo data while sharing the catalog patient grid, controls and tables. */
.bv3-ui-page {
	margin-block: 30px 55px;
	min-width: 0
}

.bv3-ui-page .app-content-card, .bv3-ui-page .card-primary, .bv3-ui-page .card-white, .bv3-ui-page .card-secondary, .bv3-ui-page .app-content-card-4, .bv3-ui-page .bg-white {
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink);
	border-color: var(--bv3-line);
	border-radius: 16px;
	box-shadow: none
}

.bv3-ui-page .app-content-card-title, .bv3-ui-page h2, .bv3-ui-page h3, .bv3-ui-page .text-color-black, .bv3-ui-page .text-color-5, .bv3-ui-page .app-second-input-label, .bv3-ui-page .app-second-textarea-label {
	color: var(--bv3-ink) !important
}

.bv3-ui-page .patient-information-container {
	min-width: 0
}

.bv3-ui-page .container-card-information {
	min-width: 0;
	flex: 1
}

.bv3-ui-page .secondary-table-section {
	max-width: 100%;
	overflow-x: auto
}

.bv3-ui-page .app-second-input-box, .bv3-ui-page .app-select2-box, .bv3-ui-page .app-second-textarea-box {
	background: var(--bv3-bg) !important;
	border-color: var(--bv3-line)
}

.bv3-ui-page input, .bv3-ui-page select, .bv3-ui-page textarea {
	color: var(--bv3-ink);
	max-width: 100%
}

.bv3-ui-page .app-btn2 {
	min-height: 44px;
	max-height: none
}

.bv3-ui-page .select2-selection, .bv3-ui-dialog .select2-selection {
	background: var(--bv3-bg);
	color: var(--bv3-ink);
	border-color: var(--bv3-line)
}

.bv3-ui-page .select2-selection__rendered {
	color: var(--bv3-ink) !important
}

.bv3-ui-dialog .modal-content {
	background: var(--bv3-surface);
	color: var(--bv3-ink);
	border: 1px solid var(--bv3-line)
}

.bv3-ui-dialog .modal-title, .bv3-ui-dialog label, .bv3-ui-dialog .text-color-5 {
	color: var(--bv3-ink) !important
}

.bv3-ui-dialog .modal-body {
	max-height: 75dvh;
	overflow: auto
}

.bv3-ui-dialog .app-second-input-box {
	background: var(--bv3-bg)
}

.bv3-ui-page .secondary-table-filter {
	border-color: var(--bv3-line)
}

.bv3-ui-page .table td {
	vertical-align: middle
}

.bv3-ui-page .table input[type=checkbox] {
	margin: auto;
	display: block
}

.bv3-ui-page input:focus-visible, .bv3-ui-page textarea:focus-visible, .bv3-ui-page button:focus-visible {
	outline: 3px solid var(--bv3-blue);
	outline-offset: 3px
}

@media (max-width: 768px) {
	.bv3-ui-page .patient-information-container {
		width: 100%;
		margin-bottom: 18px
	}

	.bv3-ui-page .app-second-input, .bv3-ui-page .app-second-textarea {
		font-size: 16px
	}

	.bv3-ui-page .app-content-card {
		padding: 16px !important
	}

	.bv3-ui-page .white-space-nowrap {
		white-space: normal !important
	}

	.bv3-ui-page .secondary-table-section table {
		min-width: 650px
	}

	.bv3-ui-page .secondary-table-filter .col-12 {
		width: 100%
	}
}

/* Late legacy wallet/table styles include white backgrounds; keep the actual controls readable. */
html.bv3-page .bv3-ui-page .secondary-table-filter, html.bv3-page .bv3-ui-page .table-selection-bar, html.bv3-page .bv3-ui-page .table-selection-bar .secondary-table-filter, html.bv3-page .bv3-ui-page .secondary-table-filter-item, html.bv3-page .bv3-ui-page .secondary-table-search {
	background: var(--bv3-bg) !important;
	color: var(--bv3-ink) !important;
	box-shadow: none !important;
	border-color: var(--bv3-line) !important
}

html.bv3-page .bv3-ui-page input:not([type=radio],[type=checkbox]), html.bv3-page .bv3-ui-page textarea, html.bv3-page .bv3-ui-page .app-second-input-content {
	background: var(--bv3-bg) !important;
	color: var(--bv3-ink) !important;
	border-color: var(--bv3-line) !important
}

html.bv3-page .bv3-ui-page table td, html.bv3-page .bv3-ui-page table th {
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink) !important;
	border-color: var(--bv3-line) !important
}

html.bv3-page .bv3-ui-page .secondary-table-search-input {
	background: transparent !important;
	color: var(--bv3-ink) !important
}

html.bv3-page .bv3-ui-page .select2-container--default .select2-selection--single {
	background: var(--bv3-bg) !important;
	border-color: var(--bv3-line) !important
}

html.bv3-page .bv3-ui-page .table-selection-bar .material-checkbox, html.bv3-page .bv3-ui-page .table-filter-info-title {
	color: var(--bv3-muted) !important
}

html.bv3-page .bv3-ui-page .app-btn2.outline {
	color: var(--bv3-blue-dark) !important;
	border-color: var(--bv3-blue) !important;
	background: transparent !important
}

html.bv3-page[data-theme=dark] .bv3-ui-page .app-btn2:not(.outline,.disabled,:disabled) {
	background: #73c5df !important;
	color: #082235 !important
}

html.bv3-page[data-theme=dark] .bv3-ui-page .app-btn2.outline {
	color: #bceaf4 !important;
	border-color: #54859b !important
}

html.bv3-page .bv3-ui-page .dt-buttons a {
	color: var(--bv3-muted) !important
}

html.bv3-page .bv3-ui-page .material-radio-box, html.bv3-page .bv3-ui-page .material-radio-item {
	background: var(--bv3-bg) !important;
	color: var(--bv3-ink) !important
}

html.bv3-page .bv3-ui-page .material-radio-text {
	color: var(--bv3-ink) !important
}

/* Use the catalog detail grid for the native wallet information dialog. */
.bv3-finance-summary {
	display: grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0
}

.bv3-finance-summary > div {
	min-width: 0
}

.bv3-finance-summary dt {
	font-size: 13px;
	color: var(--bv3-muted);
	margin-bottom: 6px
}

.bv3-finance-summary dd {
	margin: 0;
	overflow-wrap: anywhere;
	color: var(--bv3-ink)
}

.bv3-finance-summary > div:last-child {
	grid-column: 1/-1
}

/* Native tables need dark fallback surfaces; record card grids own their transparent gutters. */
html.bv3-page[data-theme=dark] :is(.bv3-native-page,.bv3-patient-table-page:not(.bv3-records-page)) :is(.secondary-table-section,table.secondary-table,table.secondary-table tbody tr,table.secondary-table tbody td) {
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink) !important;
	border-color: var(--bv3-line) !important
}

html.bv3-page[data-theme=dark] :is(.bv3-native-page,.bv3-patient-table-page) table.secondary-table tbody td::before {
	color: var(--bv3-muted) !important
}

html.bv3-page[data-theme=dark] .bv3-wallet-overview .card-white {
	border-color: var(--bv3-line) !important
}

html.bv3-page[data-theme=dark] .bv3-wallet-overview .text-color-black {
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] .bv3-wallet-overview .text-color-secondary-gray {
	color: var(--bv3-muted) !important
}

html.bv3-page[data-theme=dark] .bv3-wallet-overview .card-item .secondary-table-action {
	color: var(--bv3-blue-dark) !important
}

html.bv3-page[data-theme=dark] .bv3-wallet-overview .card-item .delete-btn {
	color: #ff9bb0 !important
}

html.bv3-page[data-theme=dark] .bv3-wallet-overview .card-item .secondary-table-action i{color:inherit!important}
html.bv3-page[data-theme=dark] :is(.bv3-native-page,.bv3-patient-table-page) .select2-selection__placeholder{color:var(--bv3-muted)!important}

html.bv3-page[data-theme=dark] .bv3-native-page :is(.select2-selection,.secondary-table-search-input) {
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink) !important;
	border-color: var(--bv3-line) !important
}

html.bv3-page[data-theme=dark] .bv3-native-page .select2-selection__rendered {
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] .bv3-native-page .secondary-table-search-input::placeholder {
	color: var(--bv3-muted) !important;
	opacity: 1
}

@media (max-width: 575px) {
	.bv3-finance-summary {
		grid-template-columns:1fr
	}
}

/* Patient menu pages reuse UiController UserProfile cards and Table surfaces throughout the workspace. */
html.bv3-page .bv3-native-content.bv3-account-content {
	padding-block: 24px 40px
}

html.bv3-page .bv3-native-content .bv3-profile-grid {
	gap: 24px;
	align-items: start;
	padding-bottom: 0
}

html.bv3-page .bv3-native-content .bv3-profile-grid > .container-card-information {
	padding: 0;
	min-width: 0;
	width: 100%
}

html.bv3-page .bv3-patient-summary.user__profile-card {
	padding: 24px 18px 12px;
	border-radius: 7px;
	border: 0;
	background: var(--bv3-surface);
	box-shadow: none
}

html.bv3-page .bv3-patient-summary > :is(img,.bv3-patient-avatar) {
	width: 64px;
	height: 64px;
	border-radius: 50%
}

/* Use the catalog person identity for patients without implying a medical profession or gender. */
html.bv3-page .bv3-patient-avatar {
	display: inline-grid;
	place-items: center;
	background: var(--bv3-bg);
	color: var(--bv3-blue-dark);
	font-size: 36px;
	line-height: 1
}

html.bv3-page .bv3-patient-avatar i {
	font-size: 36px !important;
	line-height: 1;
	color: inherit
}

html.bv3-page .bv3-patient-summary h2 {
	font-size: 16px;
	margin: 12px 0 4px
}

html.bv3-page .bv3-patient-summary > .bv3-balance {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 6px;
	padding: 14px;
	margin-block: 18px;
	border-radius: 7px;
	background: var(--bv3-bg)
}

html.bv3-page .bv3-patient-summary > .bv3-balance > span {
	width: 100%
}

html.bv3-page .bv3-patient-summary .user__profile-side-section {
	border-top: 1px solid var(--bv3-line);
	padding: 14px 0 0;
	margin-top: 14px
}

html.bv3-page .bv3-patient-summary .sidebar-menu-ul-patient.appointment > li a {
	font-size: 12px;
	border-radius: 7px;
	gap: 10px;
	padding: 10px 12px;
	min-height: 44px
}

html.bv3-page .bv3-patient-summary .sidebar-menu-ul-patient.appointment > li a span {
	font-size: 12px
}

html.bv3-page .bv3-patient-summary .sidebar-menu-ul-patient.appointment > li a i {
	font-size: 20px;
	color: inherit;
	flex: none
}

html.bv3-page .bv3-patient-summary .sidebar-menu-ul-patient.appointment > li.active a {
	background: var(--bv3-blue-dark);
	color: var(--bv3-surface)
}

html.bv3-page .bv3-native-content.bv3-account-content .bv3-page-heading {
	margin: 0 0 22px;
	padding-block: 0 16px;
	border-bottom: 1px solid var(--bv3-line);
	min-height: 56px
}

html.bv3-page .bv3-native-content.bv3-account-content .bv3-page-heading h1 {
	font-size: 24px;
	line-height: 1.8
}

html.bv3-page .bv3-native-content.bv3-account-content .bv3-page-heading .bv3-kicker {
	margin-bottom: 4px;
	font-size: 10px
}

html.bv3-page .bv3-native-content.bv3-account-content .app-content-card {
	border: 0;
	border-radius: 7px;
	padding: 20px;
	background: var(--bv3-surface);
	box-shadow: none
}

html.bv3-page .bv3-native-content.bv3-account-content .secondary-table-section {
	border: 0;
	border-radius: 7px;
	background: var(--bv3-surface);
	padding: 0
}

html.bv3-page .bv3-native-content.bv3-account-content .secondary-table thead:first-child th {
	background: var(--bv3-bg) !important;
	color: var(--bv3-muted) !important;
	padding: 14px 10px;
	font-size: 12px;
	white-space: normal;
	border: 0 !important
}

html.bv3-page .bv3-native-content.bv3-account-content .secondary-table thead .sorting::after {
	color: var(--bv3-muted) !important
}

html.bv3-page .bv3-native-content.bv3-account-content .secondary-table tbody td {
	border-color: var(--bv3-line) !important;
	line-height: 1.9
}

html.bv3-page .bv3-native-content.bv3-account-content .dataTables_wrapper .dt-buttons {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 14px
}

html.bv3-page .bv3-native-content.bv3-account-content .dt-buttons a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	border: 1px solid var(--bv3-line);
	border-radius: 7px;
	padding: 4px 12px;
	color: var(--bv3-blue-dark);
	font-size: 11px
}

html.bv3-page .bv3-wallet-layout {
	grid-template-columns:250px minmax(0, 1fr)
}

html.bv3-page .bv3-wallet-overview {
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-bottom: 24px;
	background: transparent
}

html.bv3-page .bv3-wallet-overview-grid {
	display: grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap: 16px;
	width: 100%
}

html.bv3-page .bv3-wallet-overview-grid > div {
	width: 100%;
	max-width: none;
	min-width: 0;
	padding: 0 !important;
	margin: 0 !important
}

html.bv3-page .bv3-wallet-overview-grid > div[hidden], html.bv3-page .bv3-wallet-overview-grid > div.hidden {
	display: none !important
}

html.bv3-page .bv3-wallet-overview .card-white, html.bv3-page .bv3-wallet-overview .bank-card.add_card {
	border-radius: 7px;
	border: 1px solid var(--bv3-line);
	padding: 20px !important;
	min-height: 160px;
	background: var(--bv3-surface)
}

html.bv3-page .bv3-wallet-overview .bank-card.add_card {
	border-style: dashed
}

html.bv3-page .bv3-wallet-overview .circle {
	width: 48px;
	height: 48px;
	padding: 10px;
	border-radius: 12px;
	background: var(--bv3-bg);
	color: var(--bv3-blue-dark)
}

html.bv3-page .bv3-wallet-overview .circle > i {
	font-size: 28px;
	color: inherit
}

html.bv3-page .bv3-wallet-overview .charge-btn, html.bv3-page .bv3-wallet-overview .widthdraw-btn {
	font-size: 12px;
	border-radius: 7px;
	line-height: 1.8;
	padding: 8px 14px;
	min-height: 40px
}

html.bv3-page .bv3-wallet-layout .secondary-table-filter {
	border: 0;
	background: var(--bv3-bg);
	border-radius: 7px;
	padding: 12px;
	margin-bottom: 16px
}

html.bv3-page .bv3-wallet-layout .secondary-table-filter-item {
	border: 0 !important;
	background: transparent
}

@media (max-width: 1199px) {
	html.bv3-page .bv3-wallet-layout {
		display: grid;
		grid-template-columns:1fr
	}

	html.bv3-page .bv3-wallet-layout > .patient-information-container {
		margin-bottom: 0
	}
}

@media (max-width: 900px) {
	html.bv3-page .bv3-patient-summary.user__profile-card {
		display: grid !important;
		grid-template-columns:48px minmax(0, 1fr);
		padding: 16px;
		gap: 4px 12px
	}

	html.bv3-page .bv3-patient-summary > :is(img,.bv3-patient-avatar) {
		width: 48px !important;
		height: 48px !important;
		grid-row: 1/3
	}

	html.bv3-page .bv3-patient-summary h2, html.bv3-page .bv3-patient-summary > p {
		margin: 0
	}

	html.bv3-page .bv3-patient-summary > .bv3-balance {
		margin-block: 10px 0;
		justify-content: flex-start;
		padding: 10px 12px
	}

	html.bv3-page .bv3-patient-summary > .bv3-balance > span {
		width: auto;
		margin-inline-end: auto
	}

	html.bv3-page .bv3-patient-summary .user__profile-side-section {
		grid-column: 1/-1;
		margin-top: 10px;
		padding-top: 10px
	}

	html.bv3-page .bv3-native-content .bv3-profile-grid {
		gap: 18px
	}

	html.bv3-page .bv3-native-content.bv3-account-content .bv3-page-heading {
		margin-bottom: 16px;
		padding-bottom: 12px
	}
}

@media (max-width: 600px) {
	html.bv3-page .bv3-wallet-overview-grid {
		grid-template-columns:1fr
	}

	html.bv3-page .bv3-native-content.bv3-account-content {
		padding-top: 8px
	}

	html.bv3-page .bv3-native-content.bv3-account-content .app-content-card {
		padding: 14px
	}

	html.bv3-page .bv3-native-content.bv3-account-content .bv3-page-heading h1 {
		font-size: 21px
	}
}

/* Booking entry pairs catalog identity/detail cards with the existing patient form, without stacking header and card gaps. */
html.bv3-page .bv3-shell > .bv3-header.bv3-header-booking {
	margin-bottom: 0
}
html.bv3-page .bv3-booking-entry {
	max-width: none !important;
	width: 100%;
	margin: 16px auto 48px !important
}

.bv3-booking-entry-grid {
	display: grid;
	width: 100%;
	min-width: 0;
	grid-template-columns:minmax(280px, .9fr) minmax(0, 1.4fr);
	gap: 24px;
	align-items: start
}
.bv3-booking-entry-grid>.app-content-card{padding:28px!important;border:1px solid var(--bv3-line);border-radius:18px;background:var(--bv3-surface);min-width:0}
.bv3-booking-summary{position:sticky;top:24px;color:var(--bv3-ink)}
.bv3-booking-identity{display:flex;align-items:center;gap:16px;margin-block:18px 26px}
.bv3-booking-identity>img{width:88px;height:88px;object-fit:cover;border-radius:16px;flex:none}

.bv3-booking-identity :is(h1,h2) {
	font-size: 23px;
	line-height: 1.8;
	margin: 0 0 6px;
	color: var(--bv3-ink)
}
.bv3-booking-identity p{font-size:13px;line-height:1.9;margin:0;color:var(--bv3-muted)}
.bv3-booking-facts{display:grid;gap:18px;margin:0}
.bv3-booking-facts>div{border-top:1px solid var(--bv3-line);padding-top:16px}
.bv3-booking-facts dt{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:400;color:var(--bv3-muted)}
.bv3-booking-facts dt>i{font-size:19px;color:var(--bv3-blue)}
.bv3-booking-facts dd{font-size:17px;line-height:1.9;font-weight:600;margin:6px 0 0;color:var(--bv3-ink);overflow-wrap:anywhere}
.bv3-booking-facts .bv3-booking-date{font-size:21px}
.bv3-booking-facts .bv3-booking-time{font-size:28px;line-height:1.6;color:var(--bv3-blue-dark)}
.bv3-booking-patient>h2{font-size:21px;line-height:1.9;margin:0 0 12px;color:var(--bv3-ink)}
.bv3-booking-entry .bv__login-form{padding:0;margin:0}
.bv3-booking-entry .bv__login-form .description{margin:0 0 24px;font-size:13px;line-height:2}
@media(max-width:800px){.bv3-booking-entry-grid{grid-template-columns:1fr;gap:18px}.bv3-booking-summary{position:static}.bv3-booking-entry-grid>.app-content-card{padding:22px!important}.bv3-booking-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bv3-booking-identity{margin-bottom:20px}.bv3-booking-facts .bv3-booking-date{font-size:18px}.bv3-booking-facts .bv3-booking-time{font-size:23px}}

@media (max-width: 380px) {
	.bv3-booking-entry-grid > .app-content-card {
		padding: 18px !important
	}

	.bv3-booking-identity > img {
		width: 64px;
		height: 64px
	}

	.bv3-booking-identity :is(h1,h2) {
		font-size: 19px
	}
}
.bv3-booking-entry-grid>.bv3-booking-patient{margin:0;align-self:start;width:100%}

/* Keep native patient table data within padded catalog cells, including long specialties and status badges. */
html.bv3-page .bv3-patient-table-page .secondary-table.table {
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	min-width: 860px
}

html.bv3-page .bv3-patient-table-page .secondary-table.table tbody tr td {
	padding: 18px 16px !important;
	white-space: normal;
	overflow-wrap: anywhere;
	vertical-align: middle;
	border-bottom: 1px solid var(--bv3-line) !important
}

html.bv3-page .bv3-patient-table-page .secondary-table.table tbody td > div {
	max-width: 100%;
	min-width: 0
}

html.bv3-page #appointments-list {
	min-width: 1040px
}

html.bv3-page #appointments-list th:first-child {
	width: 25%
}

html.bv3-page #appointments-list th:nth-child(2) {
	width: 23%
}

html.bv3-page #appointments-list th:nth-child(3) {
	width: 13%
}

html.bv3-page #appointments-list th:nth-child(4) {
	width: 14%
}

html.bv3-page #appointments-list th:nth-child(5) {
	width: 17%
}

html.bv3-page #appointments-list th:last-child {
	width: 8%
}

html.bv3-page #appointments-list tbody td:first-child > div {
	display: grid;
	gap: 8px;
	text-align: start
}

html.bv3-page #appointments-list tbody td:first-child > div > div:first-child {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px
}

html.bv3-page #appointments-list .app-badge {
	position: static;
	flex: none;
	max-width: 100%;
	margin: 0;
	font-family: inherit;
	line-height: 1.8;
	min-height: 24px;
	padding: 2px 10px
}

html.bv3-page #post_visit_table {
	min-width: 980px
}

html.bv3-page #post_visit_table th:first-child {
	width: 18%
}

html.bv3-page #post_visit_table th:nth-child(2) {
	width: 20%
}

html.bv3-page #post_visit_table th:nth-child(3) {
	width: 18%
}

html.bv3-page #post_visit_table th:nth-child(4) {
	width: 36%
}

html.bv3-page #post_visit_table th:last-child {
	width: 8%
}

html.bv3-page #doc-sent-physician tbody tr td {
	padding-block: 20px !important
}

html.bv3-page #doc-sent-physician .app-btn2 {
	margin: 4px;
	min-height: 38px
}

html.bv3-page .bv3-ticket-page .app-select2-box .select2-container {
	width: 100% !important
}

/* The same native account identity accompanies guest entry and signed-in confirmation. */
.bv3-booking-identity {
	min-width: 0
}

.bv3-booking-identity > div {
	min-width: 0;
	overflow-wrap: anywhere
}

.bv3-booking-location {
	display: grid;
	gap: 10px;
	margin: 0 0 24px;
	color: var(--bv3-muted);
	font-size: 14px;
	line-height: 1.9
}

.bv3-booking-location p {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0
}

.bv3-booking-location i {
	font-size: 20px;
	flex: none;
	color: var(--bv3-blue-dark)
}

.bv3-booking-location span {
	overflow-wrap: anywhere
}

/* These native patient lists have a date/type column, never a numeric row-counter column. */
html.bv3-page .bv3-patient-table-page .secondary-table.not-counter-filed :is(th,td):first-child {
	max-width: none !important
}

@media (min-width: 769px) {
	html.bv3-page #appointments-list th:first-child {
		width: 25% !important
	}

	html.bv3-page #post_visit_table th:first-child {
		width: 18% !important
	}
}

/* Patient overview follows UiController UserProfile body sections and colored shortcut actions. */
html.bv3-page .bv3-profile-dashboard .bv3-profile-grid {
	grid-template-columns:240px minmax(0, 1fr)
}

html.bv3-page .bv3-profile-dashboard .bv3-profile-workspace {
	display: grid;
	grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 24px;
	width: 100%
}

html.bv3-page .bv3-profile-dashboard .bv3-profile-workspace > .app-content-card {
	margin: 0;
	padding: 26px !important;
	min-width: 0
}

.bv3-profile-card-heading {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 20px;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--bv3-line)
}

.bv3-profile-card-heading h2 {
	font-size: 18px;
	line-height: 1.8;
	margin: 0;
	color: var(--bv3-ink)
}

.bv3-profile-heading-icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	background: var(--bv3-bg);
	border-radius: 10px;
	color: var(--bv3-blue-dark);
	font-size: 24px;
	flex: none
}

.bv3-profile-dashboard .bv3-profile-fields {
	gap: 24px 18px
}

.bv3-profile-dashboard .bv3-profile-fields > div {
	padding-bottom: 16px;
	border-bottom: 1px solid var(--bv3-line);
	min-width: 0
}

.bv3-profile-dashboard .bv3-profile-fields dt {
	font-size: 12px;
	line-height: 1.8
}

.bv3-profile-dashboard .bv3-profile-fields dd {
	font-size: 17px;
	font-weight: 600;
	line-height: 1.9;
	margin-top: 8px
}

.bv3-profile-dashboard .bv3-profile-contact {
	grid-column: 1/-1
}

.bv3-profile-shortcuts {
	display: grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap: 14px
}

.bv3-profile-shortcuts .user__profile-tab-action {
	min-width: 0;
	min-height: 106px;
	height: auto;
	padding: 18px 12px;
	flex-direction: column;
	gap: 12px;
	font: 600 13px/1.9 IRANSansX, Roboto, sans-serif;
	text-align: center;
	color: #fff !important
}

.bv3-profile-shortcuts .user__profile-tab-action > i {
	font-size: 29px
}

.bv3-profile-shortcuts .user__profile-tab-action:focus-visible, .bv3-profile-wallet:focus-visible {
	outline: 2px solid var(--bv3-blue);
	outline-offset: 3px
}

.bv3-profile-wallet {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px;
	margin-top: 20px;
	border: 1px solid var(--bv3-line);
	border-radius: 7px;
	color: var(--bv3-blue-dark);
	font-size: 14px;
	font-weight: 600
}

.bv3-profile-wallet > i {
	font-size: 24px
}

.bv3-profile-wallet > i:last-child {
	margin-inline-start: auto
}

html[dir=ltr] .bv3-profile-wallet > i:last-child {
	transform: rotate(180deg)
}

html.bv3-page .bv3-profile-workspace > .bv3-profile-documents {
	grid-column: 1/-1;
	display: flex;
	gap: 28px;
	align-items: center;
	background: var(--bv3-surface)
}

.bv3-profile-documents > img {
	width: 160px;
	height: 160px;
	flex: none
}

.bv3-profile-documents > div {
	min-width: 0;
	flex: 1
}

.bv3-profile-documents h2 {
	margin: 0 0 10px;
	font-size: 21px
}

.bv3-profile-documents p {
	font-size: 14px;
	line-height: 2;
	margin: 0 0 18px
}

.bv3-profile-documents .app-btn2 {
	font-size: 13px
}


@media (max-width: 1200px) {
	html.bv3-page .bv3-profile-dashboard .bv3-profile-workspace {
		grid-template-columns:1fr
	}

	.bv3-profile-dashboard .bv3-profile-shortcuts {
		grid-template-columns:repeat(4, minmax(0, 1fr))
	}
}

@media (max-width: 900px) {
	html.bv3-page .bv3-profile-dashboard .bv3-profile-grid {
		grid-template-columns:1fr
	}

	.bv3-profile-dashboard .bv3-profile-shortcuts {
		grid-template-columns:repeat(2, minmax(0, 1fr))
	}
}

@media (max-width: 600px) {
	html.bv3-page .bv3-profile-dashboard .bv3-profile-workspace {
		gap: 18px
	}

	html.bv3-page .bv3-profile-dashboard .bv3-profile-workspace > .app-content-card {
		padding: 20px !important
	}

	.bv3-profile-dashboard .bv3-profile-fields {
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap: 20px 14px
	}

	.bv3-profile-dashboard .bv3-profile-fields > div:first-child {
		grid-column: 1/-1
	}

	.bv3-profile-dashboard .bv3-profile-fields dd {
		font-size: 15px
	}

	html.bv3-page .bv3-profile-workspace > .bv3-profile-documents {
		gap: 18px;
		align-items: flex-start
	}

	.bv3-profile-documents > img {
		width: 84px;
		height: 84px
	}

	.bv3-profile-documents h2 {
		font-size: 17px
	}

	.bv3-profile-documents p {
		font-size: 12px
	}

	.bv3-profile-documents .app-btn2 {
		padding: 9px 12px
	}
}

/* Catalog profile identity stays at the logical start; native appointment forms occupy the adjacent card. */
.bv3-booking-entry-grid > .bv3-booking-summary {
	grid-column: 1;
	grid-row: 1
}

.bv3-booking-entry-grid > .bv__card {
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	margin: 0;
	min-width: 0
}

.bv3-booking-patient > .bv3-booking-facts {
	grid-template-columns:repeat(2, minmax(0, 1fr));
	margin-bottom: 28px
}

.bv3-booking-patient > .bv3-booking-facts + h2 {
	padding-top: 22px;
	border-top: 1px solid var(--bv3-line)
}

@media (max-width: 800px) {
	.bv3-booking-entry-grid > .bv3-booking-summary, .bv3-booking-entry-grid > .bv__card {
		grid-column: auto;
		grid-row: auto
	}
}

/* Keep selected date and time as prominent as the original booking summary in every native booking branch. */
.bv3-booking-entry .bv3-booking-selected-time {
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 24px 0
}

.bv3-booking-entry .bv3-booking-facts .bv3-booking-date {
	font-size: clamp(22px, 2.2vw, 30px);
	line-height: 1.8
}

.bv3-booking-entry .bv3-booking-facts .bv3-booking-time {
	font-size: clamp(28px, 2.8vw, 38px);
	line-height: 1.6;
	font-weight: 700
}

.bv3-booking-entry .bv3-booking-facts dt {
	font-size: 14px
}

.bv3-booking-entry .bv3-booking-selected-time > div {
	padding-top: 18px
}

@media (max-width: 620px) {
	.bv3-booking-entry .bv3-booking-selected-time {
		grid-template-columns:1fr;
		gap: 16px
	}

	.bv3-booking-entry .bv3-booking-facts .bv3-booking-time {
		font-size: 30px
	}
}

/* Reuse catalog radio/input states within authentication, including narrow screens and dark mode. */
html.bv3-page .bv3-auth-card .bv__login-icon {
	display: flex;
	justify-content: center;
	width: 100%
}

html.bv3-page .bv3-auth-card .material-radio-list {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important
}

html.bv3-page .bv3-auth-card .material-radio-list > .material-radio-box {
	flex: 1 1 0 !important;
	width: 50% !important;
	max-width: 50% !important;
	min-width: 0;
	padding: 12px 8px !important;
	justify-content: center;
	gap: 6px
}

html.bv3-page .bv3-auth-card .material-radio-text {
	font-family: inherit;
	font-size: 14px;
	white-space: nowrap
}

html.bv3-page[data-theme=dark] .bv3-auth-card .bv__login-icon img {
	background: #fff;
	border-radius: 10px;
	padding: 5px
}

html.bv3-page[data-theme=dark] .bv3-auth-card .material-radio-box {
	border-color: var(--bv3-line) !important;
	background: var(--bv3-surface) !important
}

html.bv3-page[data-theme=dark] .bv3-auth-card .material-radio-box:is(:hover,:has(input:checked)) {
	background: #1e465a !important;
	border-color: var(--bv3-blue) !important
}

html.bv3-page[data-theme=dark] .bv3-auth-card .material-radio-text {
	color: var(--bv3-muted) !important
}

html.bv3-page[data-theme=dark] .bv3-auth-card .material-radio:checked ~ .material-radio-text {
	color: #a6e2f2 !important
}

html.bv3-page[data-theme=dark] .bv3-auth-card .material-radio-label {
	border-color: var(--bv3-muted) !important
}

html.bv3-page[data-theme=dark] .bv3-auth-card .material-radio:checked + .material-radio-label {
	border-color: #73c5df !important
}

html.bv3-page[data-theme=dark] .bv3-auth-card .material-radio-label:after {
	background: #73c5df !important
}

html.bv3-page[data-theme=dark] .bv3-auth-card .app-second-input-box {
	background: #183c4d !important;
	border-color: #527888 !important
}

html.bv3-page[data-theme=dark] .bv3-auth-card .app-second-input {
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] .bv3-auth-card .app-second-input::placeholder {
	color: #b6cfda !important;
	opacity: 1
}

html.bv3-page[data-theme=dark] .bv3-auth-card .biovisit-btn.orange {
	background: #3c3440 !important;
	color: #ffd7b3 !important;
	border: 1px solid #b9805a
}

html.bv3-page[data-theme=dark] .bv3-auth-card .bv__divider {
	background: var(--bv3-line);
	border-color: var(--bv3-line)
}

/* Hospital identity stays more prominent than the address in the shared booking summary. */
.bv3-booking-location strong{font-size:18px;font-weight:600;line-height:1.9;overflow-wrap:anywhere}
@media(max-width:600px){.bv3-booking-location strong{font-size:16px}}

/* First-appointment actions keep their text and icons undecorated in every interaction state. */
html.bv3-page body :is(.bv3-first-action,[data-bv3-clinic-first],a[href*="/reserve/firstavailable"]), html.bv3-page body :is(.bv3-first-action,[data-bv3-clinic-first],a[href*="/reserve/firstavailable"]) * {
	text-decoration: none !important
}

/* Keep native nationality radios in one connected capsule; IDs, values and change handlers remain unchanged. */
html.bv3-page .bv3-booking-entry .bv3-nationality-capsule {
	display: flex !important;
	flex-flow: row nowrap !important;
	width: 100%;
	gap: 0;
	border: 1px solid var(--bv3-line);
	border-radius: 999px;
	overflow: hidden;
	background: var(--bv3-surface)
}

html.bv3-page .bv3-booking-entry .bv3-nationality-capsule > .material-radio-box {
	display: flex;
	flex: 1 1 0;
	width: auto;
	min-width: 0;
	max-width: none;
	margin: 0 !important;
	padding: 10px 8px !important;
	border: 0 !important;
	border-radius: 0 !important;
	justify-content: center;
	align-items: center;
	gap: 8px;
	background: transparent
}

/* Override the late legacy RTL first-child border; the capsule owns its outer edge. */
html.bv3-page .bv3-booking-entry .bv3-nationality-capsule > .material-radio-box:first-child {
	border: 0 !important
}

html.bv3-page .bv3-booking-entry .bv3-nationality-capsule > .material-radio-box + label {
	border-inline-start: 1px solid var(--bv3-line) !important
}

html.bv3-page .bv3-booking-entry .bv3-nationality-capsule > .material-radio-box:has(input:checked) {
	background: var(--bv3-bg);
	color: var(--bv3-blue-dark)
}

html.bv3-page .bv3-booking-entry .bv3-nationality-capsule .material-radio-text {
	font-family: inherit !important;
	font-size: 14px;
	white-space: nowrap;
	color: var(--bv3-muted)
}

html.bv3-page .bv3-booking-entry .bv3-nationality-capsule input:checked ~ .material-radio-text {
	color: var(--bv3-blue-dark)
}

html.bv3-page .bv3-booking-entry .bv3-nationality-capsule .material-radio-label {
	margin: 0 !important;
	flex: none
}

html.bv3-page .bv3-booking-entry .bv3-nationality-capsule .material-radio-box:has(input:focus-visible) {
	outline: 2px solid var(--bv3-blue);
	outline-offset: -3px
}

/* Mobile appointment facts use one full-width label/value row each, retaining readable date/time and complete service names. */
@media (max-width: 620px) {
	.bv3-booking-patient > .bv3-booking-facts {
		grid-template-columns:minmax(0, 1fr)
	}

	.bv3-booking-patient > .bv3-booking-facts > div {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px
	}

	.bv3-booking-patient > .bv3-booking-facts > div > dt {
		flex: none;
		white-space: nowrap
	}

	.bv3-booking-patient > .bv3-booking-facts > div > dd {
		margin: 0;
		text-align: end;
		min-width: 0
	}

	.bv3-booking-patient > .bv3-booking-facts .bv3-booking-date {
		font-size: 20px
	}

	.bv3-booking-patient > .bv3-booking-facts .bv3-booking-time {
		font-size: 28px;
		white-space: nowrap
	}
}

/* Login shares the booking page heading, single card and compact illustration rather than a separate hero. */
html.bv3-page .bv3-native-content > .bv3-login-page {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	padding: 16px 0 40px
}

.bv3-login-page .bv3-page-heading {
	margin: 0 0 22px
}

.bv3-login-page .bv3-kicker {
	margin: 0 0 6px
}

.bv3-login-description {
	margin: 6px 0 0;
	color: var(--bv3-muted);
	font-size: 14px;
	line-height: 2
}

html.bv3-page .bv3-login-page > .bv3-login-layout {
	display: grid;
	grid-template-columns:minmax(0, 1fr) minmax(0, .9fr);
	align-items: center;
	gap: 48px;
	padding: 32px !important;
	border: 1px solid var(--bv3-line);
	border-radius: 18px;
	background: var(--bv3-surface);
	margin: 0
}

html.bv3-page .bv3-login-body {
	max-width: none;
	padding: 0;
	min-width: 0
}

.bv3-login-guide {
	display: grid;
	gap: 18px;
	justify-items: center;
	align-content: center;
	min-width: 0;
	padding-inline-start: 32px;
	border-inline-start: 1px solid var(--bv3-line)
}

.bv3-login-guide img {
	width: 100%;
	max-width: 400px;
	height: auto;
	border-radius: 16px;
	object-fit: contain
}

.bv3-login-guide p {
	margin: 0;
	max-width: 330px;
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	line-height: 2;
	color: var(--bv3-ink)
}

@media (max-width: 800px) {
	html.bv3-page .bv3-native-content > .bv3-login-page {
		max-width: 560px;
		padding-top: 8px
	}

	.bv3-login-page .bv3-page-heading h1 {
		font-size: 24px
	}

	html.bv3-page .bv3-login-page > .bv3-login-layout {
		grid-template-columns:minmax(0, 1fr);
		gap: 0;
		padding: 24px !important
	}

	.bv3-login-guide {
		display: none
	}
}

@media (max-width: 390px) {
	html.bv3-page .bv3-login-page > .bv3-login-layout {
		padding: 20px 16px !important
	}

	.bv3-login-page .bv3-page-heading h1 {
		font-size: 22px
	}
}

/* Login uses catalog controls with a single full-bleed field surface, including browser autofill. */
html.bv3-page .bv3-login-form {
	--bv3-login-field: #f5fafc;
	--bv3-login-border: #c7dce6;
	margin: 0
}

html.bv3-page[data-theme=dark] .bv3-login-form {
	--bv3-login-field: #183c4d;
	--bv3-login-border: #527888;
	--input-border-color-error: #ff9da7
}

html.bv3-page .bv3-login-form .items {
	gap: 18px
}

html.bv3-page .bv3-login-form .app-second-input-section {
	margin: 0;
	gap: 8px;
	min-width: 0
}

html.bv3-page .bv3-login-form .app-second-input-label {
	margin: 0;
	color: var(--bv3-ink);
	font: 500 13px/1.8 IRANSansX, Roboto, Arial, sans-serif
}

html.bv3-page .bv3-login-form .app-second-input-box {
	padding: 0;
	gap: 0;
	min-height: 52px;
	border: 1px solid var(--bv3-login-border) !important;
	border-radius: 10px;
	outline: none !important;
	background: var(--bv3-login-field) !important;
	transition: border-color .15s, box-shadow .15s
}

html.bv3-page .bv3-login-form .app-second-input-box:focus-within {
	border-color: var(--bv3-blue) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--bv3-blue) 16%, transparent)
}

html.bv3-page .bv3-login-form .app-second-input-icon {
	flex: none;
	width: 44px;
	margin: 0;
	text-align: center;
	font-size: 21px;
	color: var(--bv3-muted);
	cursor: default
}

html.bv3-page .bv3-login-form .app-second-input {
	flex: 1;
	min-width: 0;
	width: 100%;
	height: 50px;
	min-height: 50px;
	margin: 0;
	padding: 10px 14px;
	border: 0;
	border-radius: inherit;
	background: var(--bv3-login-field) !important;
	color: var(--bv3-ink) !important;
	-webkit-text-fill-color: var(--bv3-ink) !important;
	opacity: 1;
	caret-color: var(--bv3-blue);
	font: 500 16px/1.8 IRANSansX, Roboto, Arial, sans-serif !important;
	text-align: start;
	box-shadow: none
}

html.bv3-page .bv3-login-form .app-second-input::placeholder {
	font: 400 12px/1.8 IRANSansX, Roboto, Arial, sans-serif !important;
	color: var(--bv3-muted) !important;
	-webkit-text-fill-color: var(--bv3-muted) !important;
	opacity: 1;
	direction: rtl;
	text-align: right
}

html.bv3-page[dir=ltr] .bv3-login-form .app-second-input::placeholder {
	direction: ltr;
	text-align: left
}

/* Login and booking use the same autofill treatment with their own field surface. */
html.bv3-page :is(.bv3-login-form,.bv3-booking-patient) .app-second-input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px var(--bv3-login-field, var(--bv3-bg)) inset !important;
	-webkit-text-fill-color: var(--bv3-ink) !important;
	caret-color: var(--bv3-blue)
}

html.bv3-page :is(.bv3-login-form,.bv3-booking-patient) .app-second-input:autofill {
	box-shadow: 0 0 0 1000px var(--bv3-login-field, var(--bv3-bg)) inset !important;
	color: var(--bv3-ink) !important
}

html.bv3-page .bv3-login-form .app-second-input-section.error .app-second-input-box {
	border-color: var(--input-border-color-error, #b3261e) !important
}

html.bv3-page .bv3-login-form .app-second-input-section.error .app-second-input-box:focus-within {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--input-border-color-error, #b3261e) 14%, transparent)
}

html.bv3-page .bv3-login-form .app-second-input-error {
	margin: 0;
	font-size: 12px;
	line-height: 1.8
}

/* Keep native radios focusable and align the selected surface to the complete choice bounds. */
html.bv3-page .bv3-login-form .material-radio-list {
	border: 1px solid var(--bv3-login-border);
	border-radius: 10px;
	overflow: hidden;
	background: var(--bv3-login-field);
	gap: 0
}

html.bv3-page .bv3-login-form .material-radio-list > .material-radio-box {
	margin: 0 !important;
	padding: 12px 8px !important;
	min-height: 48px;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	gap: 8px
}

/* The native RTL stylesheet loads after this sheet; only the group owns the outer border. */
html.bv3-page body .bv3-login-form .material-radio-list > .material-radio-box:first-child {
	border: 0 !important
}

html.bv3-page body .bv3-login-form .material-radio-list > .material-radio-box:last-child {
	border: 0 !important;
	border-inline-start: 1px solid var(--bv3-login-border) !important
}

html.bv3-page .bv3-login-form .material-radio-box:is(:hover,:has(input:checked)) {
	background: color-mix(in srgb, var(--bv3-blue) 14%, var(--bv3-surface)) !important
}

html.bv3-page .bv3-login-form .material-radio {
	display: block;
	position: absolute;
	inset-inline-start: 12px;
	width: 1px;
	height: 1px;
	opacity: 0
}

html.bv3-page .bv3-login-form .material-radio-box:has(input:focus-visible) {
	outline: 2px solid var(--bv3-blue);
	outline-offset: -3px
}

html.bv3-page .bv3-login-form .material-radio-label {
	width: 18px;
	min-width: 18px;
	height: 18px;
	margin: 0 !important;
	border-color: var(--bv3-muted) !important
}

html.bv3-page .bv3-login-form .material-radio-label:after {
	width: 10px;
	height: 10px;
	background: var(--bv3-blue)
}

html.bv3-page .bv3-login-form .material-radio-box:hover .material-radio-label:after {
	transform: scale(0)
}

html.bv3-page .bv3-login-form .material-radio:checked + .material-radio-label {
	border-color: var(--bv3-blue) !important
}

html.bv3-page .bv3-login-form .material-radio:checked + .material-radio-label:after {
	transform: scale(1)
}

html.bv3-page .bv3-login-form .material-radio-text {
	font: 500 13px/1.8 IRANSansX, Roboto, Arial, sans-serif !important;
	color: var(--bv3-muted) !important
}

html.bv3-page .bv3-login-form .material-radio:checked ~ .material-radio-text {
	color: var(--bv3-blue-dark) !important
}

html.bv3-page .bv3-login-form .app-btn2 {
	width: 100%;
	min-height: 48px;
	max-height: none;
	margin: 0;
	padding: 10px 14px;
	border-radius: 8px;
	font: 600 14px/1.8 IRANSansX, Roboto, Arial, sans-serif;
	white-space: normal
}

html.bv3-page .bv3-login-form .app-btn2 i {
	font-size: 20px;
	flex: none
}

html.bv3-page .bv3-login-form .bv__login-footer {
	justify-content: center;
	gap: 8px 18px;
	padding-top: 16px;
	border-top: 1px solid var(--bv3-line)
}

html.bv3-page .bv3-login-form .bv__login-link {
	margin: 0;
	padding: 3px 0;
	border: 0;
	font: 500 12px/1.9 IRANSansX, Roboto, Arial, sans-serif !important;
	color: var(--bv3-muted);
	text-decoration: none !important
}

html.bv3-page .bv3-login-form .bv__login-link:first-child {
	color: var(--bv3-blue-dark);
	font-weight: 700 !important
}

html.bv3-page .bv3-login-form .bv__login-link:hover {
	color: var(--bv3-pink)
}

/* Account content uses the global shell and retains its internal sidebar grid. */
html.bv3-page .bv3-native-content.bv3-account-content > .app-content {
	width: 100%;
	max-width: none;
	margin-inline: auto;
	padding: 10px 0 45px
}

html.bv3-page .bv3-native-content.bv3-account-content .bv3-profile-grid {
	display: grid;
	grid-template-columns:250px minmax(0, 1fr);
	gap: 24px;
	width: 100%;
	min-width: 0
}

@media (max-width: 1199px) {
	html.bv3-page .bv3-native-content.bv3-account-content .bv3-profile-grid {
		grid-template-columns:minmax(0, 1fr)
	}
}

/* Avoid stacking the legacy header, workspace and page top gaps on account pages. */
html.bv3-page body.bv3-account-page .bv3-header {
	margin-bottom: 0
}

html.bv3-page .bv3-native-content.bv3-account-content {
	padding-top: 16px
}

html.bv3-page .bv3-native-content.bv3-account-content > .app-content {
	padding-top: 0
}

/* Profile panels use the same visible card edge as patient appointment and wallet cards. */
html.bv3-page .bv3-profile-dashboard .bv3-profile-workspace > .app-content-card {
	border: 1px solid var(--bv3-line);
	border-radius: 14px
}

/* Patient navigation reuses catalog profile colors and sidebar rows across every account page. */
html.bv3-page .bv3-patient-summary .bv3-account-nav {
	gap: 6px;
	padding: 0
}

html.bv3-page .bv3-patient-summary .bv3-account-nav > li {
	--bv3-nav-accent: #398ab0;
	--bv3-nav-tint: #e8f4fb;
	width: 100%;
	margin: 0;
	border: 0;
	background: transparent
}

html.bv3-page .bv3-patient-summary .bv3-account-nav > li[data-nav-key="4"] {
	--bv3-nav-accent: #613aea;
	--bv3-nav-tint: #f0ebfd
}

html.bv3-page .bv3-patient-summary .bv3-account-nav > li:is([data-nav-key="3"],[data-nav-key="7"]) {
	--bv3-nav-accent: #9460ca;
	--bv3-nav-tint: #f5eefb
}

html.bv3-page .bv3-patient-summary .bv3-account-nav > li[data-nav-key="8"] {
	--bv3-nav-accent: #278478;
	--bv3-nav-tint: #e8f6f2
}

html.bv3-page .bv3-patient-summary .bv3-account-nav > li[data-nav-key="logout"] {
	--bv3-nav-accent: #b54a62;
	--bv3-nav-tint: #fceef2;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--bv3-line)
}

html.bv3-page body .bv3-patient-summary .bv3-account-nav > li > a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	width: 100%;
	padding: 7px 9px;
	border: 1px solid transparent !important;
	border-radius: 10px;
	background: transparent;
	color: var(--bv3-muted);
	text-decoration: none !important;
	transition: border-color .18s, background .18s, color .18s
}

html.bv3-page body .bv3-patient-summary .bv3-account-nav > li > a > i {
	display: grid;
	place-items: center;
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 9px;
	background: var(--bv3-nav-tint);
	color: var(--bv3-nav-accent) !important;
	font-size: 20px;
	line-height: 1
}

html.bv3-page body .bv3-patient-summary .bv3-account-nav > li > a > span {
	font: 500 12px/1.8 IRANSansX, Roboto, Arial, sans-serif !important;
	color: inherit
}

html.bv3-page body .bv3-patient-summary .bv3-account-nav > li.active > a {
	background: var(--bv3-bg) !important;
	border-color: var(--bv3-line) !important;
	color: var(--bv3-ink) !important
}

html.bv3-page body .bv3-patient-summary .bv3-account-nav > li.active > a > span {
	font-weight: 700 !important
}

html.bv3-page body .bv3-patient-summary .bv3-account-nav > li > a:hover {
	background: var(--bv3-bg);
	border-color: var(--bv3-nav-accent) !important;
	color: var(--bv3-ink)
}

html.bv3-page[data-theme=dark] .bv3-patient-summary .bv3-account-nav > li {
	--bv3-nav-accent: #80c9ed;
	--bv3-nav-tint: #193f53
}

html.bv3-page[data-theme=dark] .bv3-patient-summary .bv3-account-nav > li[data-nav-key="4"] {
	--bv3-nav-accent: #bea7ff;
	--bv3-nav-tint: #302849
}

html.bv3-page[data-theme=dark] .bv3-patient-summary .bv3-account-nav > li:is([data-nav-key="3"],[data-nav-key="7"]) {
	--bv3-nav-accent: #d5b0f2;
	--bv3-nav-tint: #362941
}

html.bv3-page[data-theme=dark] .bv3-patient-summary .bv3-account-nav > li[data-nav-key="8"] {
	--bv3-nav-accent: #8bd8c7;
	--bv3-nav-tint: #193e3d
}

html.bv3-page[data-theme=dark] .bv3-patient-summary .bv3-account-nav > li[data-nav-key="logout"] {
	--bv3-nav-accent: #ffb3c2;
	--bv3-nav-tint: #432d3d
}

@media (max-width: 900px) {
	html.bv3-page .bv3-patient-summary .bv3-account-nav > li {
		width: auto;
		flex: none
	}

	html.bv3-page .bv3-patient-summary .bv3-account-nav > li[data-nav-key="logout"] {
		margin: 0;
		padding: 0;
		border: 0
	}

	html.bv3-page body .bv3-patient-summary .bv3-account-nav > li > a {
		width: auto;
		white-space: nowrap;
		min-height: 46px
	}
}

/* Finance dialogs use the same patient theme even when native modal/radio sheets load later. */
html.bv3-page .bv3-finance-dialog .modal-content {
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink) !important;
	border-color: var(--bv3-line) !important
}

html.bv3-page .bv3-finance-dialog :is(.modal-header,.modal-footer) {
	border-color: var(--bv3-line) !important
}

html.bv3-page .bv3-finance-dialog :is(.modal-title,legend,.app-second-input-label,.material-radio-text,.app-img-radio-text) {
	color: var(--bv3-ink) !important
}

html.bv3-page .bv3-finance-dialog :is(.app-second-input-box,.app-second-input-content,.app-second-input,.material-radio-item,.app-img-radio-inner-label-box) {
	background: var(--bv3-bg) !important;
	color: var(--bv3-ink) !important;
	border-color: var(--bv3-line) !important
}

html.bv3-page .bv3-finance-dialog .app-second-input {
	-webkit-text-fill-color: var(--bv3-ink) !important;
	opacity: 1
}

html.bv3-page .bv3-finance-dialog .app-second-input-side {
	background: var(--bv3-line) !important;
	color: var(--bv3-ink) !important
}

html.bv3-page .bv3-finance-dialog .bv3-amount-options .material-radio-items .material-radio-item:is(:hover,:has(input:checked)), html.bv3-page .bv3-finance-dialog .app-img-radio-inner-outer-box:has(input:checked) .app-img-radio-inner-label-box {
	background: var(--bv3-line) !important;
	border-color: var(--bv3-blue) !important
}

html.bv3-page .bv3-finance-dialog .modal-footer .app-btn2.outline {
	background: transparent !important;
	color: var(--bv3-blue-dark) !important;
	border-color: var(--bv3-blue) !important
}

html.bv3-page .bv3-finance-dialog .submit-recharge:disabled {
	opacity: .5;
	cursor: not-allowed;
	box-shadow: none !important
}

/* Booking identification fields share the login form's full-contrast entered values. */
html.bv3-page .bv3-booking-patient .app-second-input {
	background: transparent !important;
	color: var(--bv3-ink) !important;
	-webkit-text-fill-color: var(--bv3-ink) !important;
	opacity: 1;
	font-weight: 500
}

html.bv3-page .bv3-booking-patient .app-second-input::placeholder {
	-webkit-text-fill-color: var(--bv3-muted) !important
}

/* Patient finance controls retain catalog typography without legacy modal glows. */
html.bv3-page .bv3-finance-dialog .modal-content, html.bv3-page .bv3-finance-dialog .app-btn2 {
	box-shadow: none !important;
	text-shadow: none !important
}

/* Dark native account variants retain the same catalog palette as the primary patient views. */
html.bv3-page[data-theme=dark] .bv3-auth-card .title {
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] .bv3-profile-shortcuts .user__profile-tab-action.blue {
	background: #1d465a;
	color: #c3e9f7 !important
}

html.bv3-page[data-theme=dark] .bv3-profile-shortcuts .user__profile-tab-action.purple {
	background: #443161;
	color: #e9d8ff !important
}

html.bv3-page[data-theme=dark] .bv3-profile-shortcuts .user__profile-tab-action.pink {
	background: #542f46;
	color: #ffd6e8 !important
}

html.bv3-page[data-theme=dark] .bv3-edit-dialog .modal-title {
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] .bv3-native-content .dataTables_info {
	color: var(--bv3-muted) !important
}

html.bv3-page[data-theme=dark] .bv3-topup-page .app-second-input-side.second-color {
	background: var(--bv3-line) !important;
	color: var(--bv3-ink) !important
}

html.bv3-page .bv3-finance-dialog :is(input,.app-second-input-label,.material-checkbox-text) {
	font-family: IRANSansX, Roboto, Arial, sans-serif !important;
	font-weight: 500;
	line-height: 1.9
}

html.bv3-page .bv3-finance-dialog .app-second-input::placeholder {
	color: var(--bv3-muted) !important;
	-webkit-text-fill-color: var(--bv3-muted) !important;
	opacity: 1;
	font-weight: 400
}

html.bv3-page .bv3-finance-dialog .bv3-card-consent .material-checkbox-text {
	color: var(--bv3-ink) !important
}

html.bv3-page .bv3-finance-dialog .bv3-card-consent .material-checkbox-icon {
	border-color: var(--bv3-muted) !important
}

html.bv3-page .bv3-finance-dialog .bv3-card-consent input:checked + label .material-checkbox-icon {
	background: var(--bv3-blue-dark) !important;
	border-color: var(--bv3-blue-dark) !important
}

html.bv3-page .bv3-finance-dialog .bv3-card-consent input:checked + label svg {
	stroke: var(--bv3-bg) !important
}

/* Labels and the native Select2 selection share the readable patient surface on the support form. */
html.bv3-page .bv3-ticket-page :is(.app-second-input-label,.app-second-textarea-label) {
	color: var(--bv3-muted) !important;
	font-family: IRANSansX, Roboto, Arial, sans-serif !important;
	font-size: 13px
}

html.bv3-page .bv3-ticket-page :is(.select2-selection,.app-second-input,.app-second-textarea) {
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink) !important;
	border-color: var(--bv3-line) !important;
	font-family: IRANSansX, Roboto, Arial, sans-serif !important
}

html.bv3-page .bv3-ticket-page .select2-selection--single {
	min-height: 44px;
	border: 1px solid var(--bv3-line) !important;
	border-radius: 8px
}

html.bv3-page .bv3-ticket-page .select2-selection__rendered {
	color: var(--bv3-ink) !important;
	font: 500 14px/42px IRANSansX, Roboto, Arial, sans-serif !important
}

html.bv3-page .bv3-ticket-page .app-second-input {
	-webkit-text-fill-color: var(--bv3-ink) !important
}

html.bv3-page .bv3-wallet-actions {
	margin-top: 18px !important;
	gap: 12px;
	padding-top: 0 !important
}

html.bv3-page .bv3-wallet-overview .card-item .bv3-bank-logo {
	display: grid;
	place-items: center;
	flex: none;
	width: 48px;
	height: 48px;
	padding: 7px !important;
	border-color: var(--bv3-line) !important
}

html.bv3-page .bv3-wallet-overview .card-item .bv3-bank-logo img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	object-fit: contain;
	aspect-ratio: 1;
	flex: none
}

html.bv3-page .bv3-wallet-actions .app-btn2 i {
	color: inherit !important;
	font-size: 20px;
	flex: none
}

/* Retained patient UI routes reuse catalog tables, profile actions and bank-card placeholders. */
html.bv3-page[data-theme=dark] .bv3-ui-page .text-color-primary {
	color: var(--bv3-blue-dark) !important
}

html.bv3-page[data-theme=dark] .bv3-ui-page .bg-indian-yellow {
	background: #584322 !important;
	color: #ffe5b4 !important
}

html.bv3-page[data-theme=dark] .bv3-ui-page table.secondary-table, html.bv3-page[data-theme=dark] .bv3-ui-page table.secondary-table tbody :is(tr,td) {
	background: var(--bv3-surface) !important;
	border-color: var(--bv3-line) !important;
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] .bv3-ui-page #add_card {
	background: var(--bv3-bg) !important;
	border-color: var(--bv3-line)
}

html.bv3-page[data-theme=dark] .bv3-ui-page #add_card .text-color-cloudy-grey {
	color: var(--bv3-muted) !important
}

html.bv3-page[data-theme=dark] .bv3-ui-page #secondary-tab1 > .border-radius-4 {
	background: var(--bv3-bg) !important
}

html.bv3-page[data-theme=dark] .bv3-ui-page #add_card .text-add-card {
	color: var(--bv3-ink)
}

html.bv3-page[data-theme=dark] .bv3-ui-dialog .app-second-input-side.second-color {
	background: var(--bv3-line) !important;
	color: var(--bv3-ink) !important
}

html.bv3-page[data-theme=dark] .bv3-ui-dialog .app-badge.light-sea-green {
	background: #214b42;
	color: #c4f4e8
}

html.bv3-page[data-theme=dark] .bv3-ui-page .app__secondary-tab-item .icon.fill svg path {
	fill: var(--bv3-blue-dark)
}

html.bv3-page[data-theme=dark] .bv3-ui-dialog .text-color-smoky-topaz {
	color: #ffb3c6 !important
}

html.bv3-page[data-theme=dark] .bv3-ui-dialog .text-color-smoky-topaz svg [stroke] {
	stroke: currentColor
}

/* Legacy financial tables retain their native pager markup in both RTL and LTR. */
html.bv3-page[data-theme=dark] .bv3-native-page:not(.bv3-records-page) .dataTables_paginate .pagination {
	background: transparent !important
}

html.bv3-page[data-theme=dark] .bv3-native-page:not(.bv3-records-page) .dataTables_paginate .pagination a {
	background: var(--bv3-surface) !important;
	color: var(--bv3-ink) !important;
	border-color: var(--bv3-line) !important
}

html.bv3-page[data-theme=dark] .bv3-native-page:not(.bv3-records-page) .dataTables_paginate .pagination :is(.active a,a:hover) {
	background: var(--bv3-line) !important;
	color: var(--bv3-ink) !important
}

/* One clipped catalog input shell owns the radius; its currency suffix cannot protrude at the corners. */
html.bv3-page .bv3-finance-dialog .app-second-input-box.side {
	min-height: 44px;
	padding: 0;
	gap: 0;
	border: 1px solid var(--bv3-line) !important;
	border-radius: 8px !important;
	outline: none !important;
	overflow: hidden !important;
	align-items: stretch
}

html.bv3-page .bv3-finance-dialog .app-second-input-box.side:focus-within {
	border-color: var(--bv3-blue) !important;
	border-radius: 8px;
	box-shadow: none !important
}

html.bv3-page .bv3-finance-dialog .app-second-input-box.side :is(.app-second-input-content,.app-second-input) {
	min-width: 0;
	border: 0 !important;
	border-radius: 0;
	outline: none !important;
	background: transparent !important
}

html.bv3-page .bv3-finance-dialog .app-second-input-box.side .app-second-input-side {
	flex: none;
	margin: 0;
	border: 0;
	border-inline-start: 1px solid var(--bv3-line);
	border-radius: 0;
	border-start-end-radius: 7px;
	border-end-end-radius: 7px;
	font: 500 13px/1.8 IRANSansX, Roboto, Arial, sans-serif
}

html.bv3-page .bv3-finance-dialog .bv3-amount-options .material-radio-item:last-child:nth-child(odd) {
	grid-column: 1/-1
}

/* Finance selects use catalog framing with a theme-colored arrow and vertically centered content. */
html.bv3-page .bv3-finance-dialog .app-select2-box .select2-container {
	width: 100% !important
}

html.bv3-page .bv3-finance-dialog .app-select2-box .select2-selection--single {
	height: 48px;
	padding: 0 !important;
	border: 1px solid var(--bv3-line) !important;
	border-radius: 8px !important;
	outline: none !important;
	background: var(--bv3-bg) !important
}

html.bv3-page .bv3-finance-dialog .app-select2-box .select2-container:is(.select2-container--open,.select2-container--focus) .select2-selection--single {
	border-color: var(--bv3-blue) !important
}

html.bv3-page .bv3-finance-dialog .app-select2-box .select2-selection__rendered {
	width: 100%;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 0 40px !important;
	font: 400 14px/1.8 IRANSansX, Roboto, Arial, sans-serif !important;
	color: var(--bv3-ink) !important
}

html.bv3-page .bv3-finance-dialog .app-select2-box .select2-container .select2-selection--single .select2-selection__arrow {
	position: absolute !important;
	margin: 0 !important;
	top: 0 !important;
	left: auto !important;
	right: auto !important;
	inset-inline-end: 12px !important;
	width: 20px;
	height: 100%
}

html.bv3-page .bv3-finance-dialog .select2-selection__arrow b {
	display: none
}

html.bv3-page .bv3-finance-dialog .select2-selection__arrow::after {
	content: "";
	top: calc(50% - 8px) !important;
	left: 2px !important;
	right: auto !important;
	width: 16px;
	height: 16px;
	background: var(--bv3-blue-dark);
	-webkit-mask: url(/theme/ui/images/svg/arrow-down.svg) center/contain no-repeat;
	mask: url(/theme/ui/images/svg/arrow-down.svg) center/contain no-repeat
}

html.bv3-page .bv3-finance-dialog :is(.card-selected,.card-option) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 0;
	max-width: 100%;
	vertical-align: middle
}

html.bv3-page .bv3-finance-dialog :is(.card-selected,.card-option) .card-icon {
	width: 24px !important;
	padding: 0;
	border: 0;
	background: transparent;
	height: 24px !important;
	margin: 0 !important;
	object-fit: contain;
	flex: none
}

html.bv3-page .bv3-finance-dialog :is(.card-selected,.card-option) .card-number {
	direction: ltr;
	unicode-bidi: isolate;
	white-space: nowrap;
	font: 500 14px/1.8 IRANSansX, Roboto, Arial, sans-serif !important
}

/* Keep the native fallback usable while Select2 initializes or if its script is unavailable. */
html.bv3-page .bv3-ticket-page select.select2:not(.select2-hidden-accessible) {
	width: 100%;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--bv3-line);
	border-radius: 8px;
	color: var(--bv3-ink);
	background: var(--bv3-surface);
	font: 400 14px/1.8 IRANSansX, Roboto, Arial, sans-serif;
	color-scheme: inherit
}

/* Keep formatted card numbers legible without changing the numeric request contract. */
html.bv3-page .bv3-finance-dialog #card_number {
	font-size: 20px !important;
	line-height: 1.8;
	letter-spacing: .04em;
	font-variant-numeric: tabular-nums;
	direction: ltr
}
