/**
 * OpsMind Transfers — public + admin styles.
 * Brand: navy #0B1F3A, gold #C9A24D, cyan #00B4D8
 */

.opsmind-tf {
	--tf-navy: #0B1F3A;
	--tf-gold: #C9A24D;
	--tf-cyan: #00B4D8;
	--tf-teal: #2EC4B6;
	--tf-ink: #152033;
	--tf-muted: #5c6b7a;
	--tf-bg: #ffffff;
	--tf-card: #fff;
	--tf-shadow: 0 4px 18px rgba(15, 23, 42, 0.07);
	--tf-font: "Tajawal", "Cairo", Tahoma, sans-serif;
	font-family: var(--tf-font);
	color: var(--tf-ink);
	background: #ffffff;
	direction: rtl;
}

.opsmind-tf__wrap {
	width: min(1100px, calc(100% - 32px));
	margin: 0 auto;
}

.opsmind-tf__intro {
	margin: 0 0 18px;
	color: var(--tf-muted);
	font-size: 15px;
	font-weight: 500;
}

.opsmind-tf__hero {
	display: none; /* legacy; pages use shared .banner */
}

.opsmind-tf__hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11, 31, 58, 0.2), rgba(11, 31, 58, 0.75));
}

.opsmind-tf__hero-inner {
	position: relative;
	z-index: 1;
}

.opsmind-tf__brand {
	margin: 0 0 6px;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--tf-gold);
	font-size: 0.95rem;
}

.opsmind-tf__h1 {
	margin: 0 0 10px;
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	font-weight: 800;
}

.opsmind-tf__lead {
	margin: 0;
	opacity: 0.92;
	font-size: 1.05rem;
}

.opsmind-tf__body {
	padding: 28px 0 64px;
}

.opsmind-tf__tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 18px;
}

.opsmind-tf__tab {
	border: 1px solid #e8edf3;
	background: #fff;
	color: var(--tf-ink);
	border-radius: 999px;
	padding: 10px 22px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
	box-shadow: var(--tf-shadow);
}

.opsmind-tf__tab.is-active {
	background: var(--tf-navy);
	border-color: var(--tf-navy);
	color: #fff;
	box-shadow: none;
}

.opsmind-tf__searchbar {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
	background: #fff;
	border: 1px solid #eef1f5;
	border-radius: 16px;
	padding: 16px;
	margin-bottom: 22px;
	box-shadow: var(--tf-shadow);
}

.opsmind-tf__searchbar label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 700;
	font-size: 13px;
	flex: 1 1 160px;
}

.opsmind-tf__searchbar input,
.opsmind-tf__searchbar select,
.opsmind-tf__aside input,
.opsmind-tf__aside select,
.opsmind-tf__pay-form input {
	height: 44px;
	border: 1px solid #d0d7e2;
	border-radius: 10px;
	padding: 0 12px;
	font-family: inherit;
	font-size: 14px;
}

.opsmind-tf__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 20px;
	border-radius: 10px;
	border: 0;
	font-weight: 800;
	font-family: inherit;
	cursor: pointer;
	text-decoration: none !important;
}

.opsmind-tf__btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.opsmind-tf__btn--primary {
	background: var(--tf-navy);
	color: #fff !important;
}

.opsmind-tf__btn--cyan {
	background: var(--tf-cyan);
	color: #fff !important;
}

.opsmind-tf__btn--ghost {
	background: #eef6f8;
	color: var(--tf-navy);
}

.opsmind-tf__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 18px;
}

@media (max-width: 900px) {
	.opsmind-tf__cards {
		grid-template-columns: 1fr;
	}
}

.opsmind-tf__card {
	background: #fff;
	border: 1px solid #eef1f5;
	border-radius: 16px;
	padding: 18px;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
	text-align: right;
	box-shadow: var(--tf-shadow);
}

.opsmind-tf__card:hover,
.opsmind-tf__card.is-selected {
	border-color: var(--tf-cyan);
	box-shadow: 0 8px 24px rgba(0, 180, 216, 0.16);
	transform: translateY(-2px);
}

.opsmind-tf__card-title {
	margin: 0 0 8px;
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--tf-navy);
}

.opsmind-tf__card-price {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--tf-gold);
}

/* Trip-type price boxes (ذهاب / عودة / ذهاب وعودة) */
.opsmind-tf__card-types {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.opsmind-tf__card-type {
	flex: 1 1 0;
	min-width: 72px;
	background: #f8fafc;
	border: 1px solid #eef2f7;
	border-radius: 12px;
	padding: 8px 6px;
	text-align: center;
}

.opsmind-tf__card-type-lbl {
	display: block;
	font-size: 13px;
	font-weight: 800;
	color: #f97316;
	margin-bottom: 4px;
}

.opsmind-tf__card-type-prc {
	display: block;
	font-size: 1.02rem;
	font-weight: 800;
	color: var(--tf-navy);
	white-space: nowrap;
}

.opsmind-tf__card-meta {
	margin: 8px 0 0;
	font-size: 12px;
	color: var(--tf-muted);
}

.opsmind-tf__external-note {
	background: #eefbfa;
	border: 1px solid #b7ebe4;
	border-radius: 12px;
	padding: 12px 14px;
	margin-bottom: 18px;
	font-size: 14px;
}

.opsmind-tf__booking {
	display: grid;
	grid-template-columns: 1.4fr 0.8fr;
	gap: 16px;
	align-items: start;
}

@media (max-width: 900px) {
	.opsmind-tf__booking {
		grid-template-columns: 1fr;
	}
}

.opsmind-tf__trips,
.opsmind-tf__aside,
.opsmind-tf__summary-card,
.opsmind-tf__pay-form {
	background: #fff;
	border: 1px solid #eef1f5;
	border-radius: 16px;
	padding: 18px;
	box-shadow: var(--tf-shadow);
}

.opsmind-tf__trip {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid #eef2f7;
}

.opsmind-tf__trip:last-child {
	border-bottom: 0;
}

.opsmind-tf__trip.is-selected {
	background: #f0fbfd;
	margin: 0 -10px;
	padding: 14px 10px;
	border-radius: 10px;
}

.opsmind-tf__trip-when {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}

.opsmind-tf__trip-time {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--tf-navy);
}

.opsmind-tf__trip-date {
	font-size: 12px;
	font-weight: 700;
	color: #0e7490;
	background: #ecfeff;
	border: 1px solid #cffafe;
	border-radius: 20px;
	padding: 2px 10px;
}

.opsmind-tf__trip-route {
	font-size: 13px;
	color: var(--tf-muted);
	margin-top: 4px;
}

.opsmind-tf__aside label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 700;
	font-size: 13px;
	margin: 10px 0;
}

.opsmind-tf__aside-total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.1rem;
	margin: 14px 0;
}

.opsmind-tf__aside-total strong {
	color: var(--tf-gold);
	font-size: 1.35rem;
}

.opsmind-tf__aside .opsmind-tf__btn {
	width: 100%;
}

.opsmind-tf__checkout {
	padding: 40px 0 70px;
}

.opsmind-tf__back {
	display: inline-block;
	margin-bottom: 12px;
	color: var(--tf-cyan);
	font-weight: 700;
	text-decoration: none;
}

.opsmind-tf__checkout-grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 16px;
}

@media (max-width: 900px) {
	.opsmind-tf__checkout-grid {
		grid-template-columns: 1fr;
	}
}

.opsmind-tf__summary-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.opsmind-tf__summary-list li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid #eef2f7;
	font-size: 14px;
}

.opsmind-tf__summary-list li.is-total strong {
	color: var(--tf-gold);
	font-size: 1.2rem;
}

.opsmind-tf__pay-form label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 700;
	margin-bottom: 12px;
}

.opsmind-tf__pay-methods {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 14px;
}

.opsmind-tf__pay-opt {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 10px 14px;
	font-weight: 700;
	cursor: pointer;
}

.opsmind-tf__hint {
	font-size: 12px;
	color: var(--tf-muted);
	margin-top: 10px;
}

.opsmind-tf-status--pending { color: #d97706; font-weight: 700; }
.opsmind-tf-status--complete { color: #059669; font-weight: 700; }
.opsmind-tf-status--cancelled { color: #6b7280; font-weight: 700; }

.opsmind-tf-admin__intro {
	color: #5c6b7a;
}

.opsmind-tf-admin .tab-pane {
	padding-top: 16px;
}

/* ===== Admin manage UI (mockup) ===== */
.opsmind-tf-admin {
	--tf-navy: #0B1F3A;
	--tf-cyan: #00B4D8;
	--tf-gold: #C9A24D;
	direction: rtl;
}

.opsmind-tf-admin__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 18px;
	flex-wrap: wrap;
}

.opsmind-tf-admin__title {
	margin: 0 0 6px;
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--tf-navy);
}

.opsmind-tf-admin__open {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border-radius: 10px;
	background: #e8f7fb;
	color: var(--tf-navy) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.opsmind-tf-admin__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	border-bottom: 1px solid #e5eaf0;
	margin-bottom: 18px;
}

.opsmind-tf-admin__tab {
	border: 0;
	background: transparent;
	padding: 12px 18px;
	font-weight: 700;
	color: #64748b;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	font-family: inherit;
	text-decoration: none !important;
}

.opsmind-tf-admin__tab.is-active,
.opsmind-tf-admin__tab:hover {
	color: var(--tf-navy);
	border-bottom-color: var(--tf-cyan);
}

.opsmind-tf-admin__layout {
	display: grid;
	/* minmax(0, 1fr) lets the wide tables scroll inside their wrap instead of
	   squeezing the side form; the form column keeps a usable fixed range. */
	grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
	gap: 18px;
	align-items: start;
}

.opsmind-tf-admin__main {
	min-width: 0;
}

@media (max-width: 1100px) {
	.opsmind-tf-admin__layout {
		grid-template-columns: 1fr;
	}
}

.opsmind-tf-admin__toolbar {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 12px;
	align-items: center;
}

.opsmind-tf-admin__search {
	flex: 1 1 220px;
	height: 42px;
	border: 1px solid #d7e0ea;
	border-radius: 10px;
	padding: 0 14px;
	font-family: inherit;
}

.opsmind-tf-admin__table-wrap {
	background: #fff;
	border: 1px solid #e5eaf0;
	border-radius: 14px;
	overflow: auto;
}

.opsmind-tf-admin__table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}

.opsmind-tf-admin__table th,
.opsmind-tf-admin__table td {
	padding: 12px 14px;
	border-bottom: 1px solid #eef2f7;
	text-align: right;
	font-size: 13px;
	vertical-align: middle;
}

.opsmind-tf-admin__table th {
	background: #f8fafc;
	color: #475569;
	font-weight: 800;
}

/* Destinations table: give columns room + readable cells + inline row actions */
#opsmind-tf-dests-table {
	min-width: 1200px;
}

#opsmind-tf-dests-table th,
#opsmind-tf-dests-table td {
	vertical-align: top;
	padding: 12px 12px;
}

#opsmind-tf-dests-table .opsmind-tf-admin__input {
	font-size: 13px;
}

#opsmind-tf-dests-table textarea.opsmind-tf-admin__input {
	min-height: 62px;
	line-height: 1.7;
	resize: vertical;
}

#opsmind-tf-dests-table .js-d-note-text {
	min-height: 52px;
}

/* Keep save + delete side by side, vertically centered */
#opsmind-tf-dests-table td:last-child {
	white-space: nowrap;
	vertical-align: middle;
}

#opsmind-tf-dests-table td:last-child .opsmind-tf-admin__btn {
	min-height: 34px;
	padding: 0 16px;
	font-size: 13px;
	margin: 0 2px;
}

#opsmind-tf-dests-table .opsmind-tf-admin__check {
	white-space: nowrap;
}

.opsmind-tf-admin__dests-footer {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 14px;
	padding: 14px;
	background: #f8fafc;
	border: 1px solid #e5eaf0;
	border-radius: 12px;
	position: sticky;
	bottom: 0;
}

.opsmind-tf-admin__dests-footer .opsmind-tf-admin__btn {
	min-width: 180px;
}

.opsmind-tf-admin__save-status {
	font-size: 13px;
	font-weight: 700;
}

#opsmind-tf-dests-table tr.opsmind-tf-admin__row-ok td {
	background: #ecfdf5;
	transition: background 0.4s ease;
}

.opsmind-tf-admin__chip {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: #e8f1ff;
	color: #1e40af;
	font-weight: 700;
	font-size: 12px;
}

.opsmind-tf-admin__status {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 12px;
}

.opsmind-tf-admin__status.is-on {
	background: #d1fae5;
	color: #047857;
}

.opsmind-tf-admin__status.is-off {
	background: #ffedd5;
	color: #c2410c;
}

.opsmind-tf-admin__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.opsmind-tf-admin__actions .opsmind-tf-admin__btn {
	margin: 0;
}

.opsmind-tf-admin__icon-btn {
	border: 1px solid #e2e8f0;
	background: #fff;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	cursor: pointer;
	margin-left: 4px;
}

.opsmind-tf-admin__icon-btn.is-danger {
	color: #b91c1c;
}

.opsmind-tf-admin__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 16px;
	border-radius: 10px;
	border: 0;
	font-weight: 800;
	font-family: inherit;
	cursor: pointer;
	background: var(--tf-navy);
	color: #fff;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.opsmind-tf-admin__btn:hover,
.opsmind-tf-admin__btn:focus {
	color: #fff;
	text-decoration: none;
	opacity: 0.92;
}

.opsmind-tf-admin__btn:disabled,
.opsmind-tf-admin__btn[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}

.opsmind-tf-admin__btn--navy {
	background: var(--tf-navy);
	color: #fff;
}

.opsmind-tf-admin__btn--cyan {
	background: var(--tf-cyan);
	color: #fff;
}

.opsmind-tf-admin__btn--facebook {
	background: #1877f2;
	color: #fff;
}

.opsmind-tf-admin__btn--facebook:hover,
.opsmind-tf-admin__btn--facebook:focus {
	background: #166fe5;
	color: #fff;
}

.opsmind-tf-admin__btn--instagram {
	background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af);
	color: #fff;
}

.opsmind-tf-admin__btn--instagram:hover,
.opsmind-tf-admin__btn--instagram:focus {
	color: #fff;
	opacity: 0.95;
}

.opsmind-tf-admin__btn--danger {
	background: #fee2e2;
	color: #b91c1c;
}

.opsmind-tf-admin__btn--danger:hover,
.opsmind-tf-admin__btn--danger:focus {
	color: #b91c1c;
	opacity: 0.92;
}

.opsmind-tf-admin__btn--ghost {
	background: #eef2f7;
	color: var(--tf-navy);
	border: 1px solid #d7dee8;
}

.opsmind-tf-admin__btn--ghost:hover,
.opsmind-tf-admin__btn--ghost:focus {
	background: #e2e8f0;
	color: var(--tf-navy);
	opacity: 1;
}

.opsmind-tf-admin__btn--sm {
	min-height: 34px;
	padding: 0 12px;
	font-size: 13px;
}

.opsmind-tf-admin__btn--block {
	width: 100%;
	margin-top: 8px;
}

.opsmind-tf-admin__side-card {
	background: #fff;
	border: 1px solid #e5eaf0;
	border-radius: 16px;
	padding: 18px;
	margin-bottom: 14px;
	box-shadow: 0 4px 16px rgba(11, 31, 58, 0.04);
}

.opsmind-tf-admin__side-card h3 {
	margin: 0 0 14px;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--tf-navy);
}

.opsmind-tf-admin__side-card label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 700;
	font-size: 13px;
	margin-bottom: 10px;
}

.opsmind-tf-admin__input {
	height: 42px;
	border: 1px solid #d7e0ea;
	border-radius: 10px;
	padding: 8px 12px;
	font-family: inherit;
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
}

textarea.opsmind-tf-admin__input {
	height: auto;
	min-height: 70px;
}

.opsmind-tf-admin__check {
	flex-direction: row !important;
	align-items: center;
	gap: 8px !important;
	font-weight: 600 !important;
}

.opsmind-tf-admin__empty td {
	text-align: center !important;
	color: #94a3b8;
	padding: 28px !important;
}

/* Route form: destination-derived helpers */
.opsmind-tf-admin__route-view {
	margin: -4px 0 12px;
	padding: 8px 12px;
	background: #eef2ff;
	color: #3730a3;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
}

.opsmind-tf-admin__pick-group {
	margin-bottom: 12px;
}

.opsmind-tf-admin__pick-label {
	display: block;
	font-weight: 700;
	font-size: 13px;
	margin-bottom: 6px;
}

.opsmind-tf-admin__checks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 10px;
	border: 1px dashed #d7e0ea;
	border-radius: 10px;
	background: #f8fafc;
}

.opsmind-tf-admin__chk {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 6px 10px;
	background: #fff;
	border: 1px solid #d7e0ea;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.opsmind-tf-admin__chk input {
	width: 16px;
	height: 16px;
	cursor: pointer;
	accent-color: #1B7FEA;
}

.opsmind-tf-admin__checks-empty {
	color: #94a3b8;
	font-size: 12px;
}

.opsmind-tf-admin__count {
	margin: 10px 0 0;
	font-size: 12px;
	color: #64748b;
}

/* Hotel-like payment on transfer checkout */
.opsmind-tf__checkout .ops-checkout-page,
.opsmind-tf__pay-form.ops-checkout-page {
	background: transparent;
	border: 0;
	padding: 0;
}

.opsmind-tf__pay-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
	margin-bottom: 10px;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.opsmind-tf__pay-item.is-active,
.opsmind-tf__pay-item:has(input:checked) {
	border-color: #0B1F3A;
	box-shadow: 0 0 0 2px rgba(11, 31, 58, 0.08);
}

.opsmind-tf__pay-item input {
	width: 18px;
	height: 18px;
}

.opsmind-tf__pay-item-name {
	font-weight: 800;
	color: #152033;
}

.opsmind-tf__pay-item-desc {
	font-size: 12px;
	color: #64748b;
	margin-top: 2px;
}

/* Round-trip: trip-type toggle (public) */
.opsmind-tf__triptype-wrap {
	margin: 10px 0;
}
.opsmind-tf__triptype-label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
	margin-bottom: 6px;
}
.opsmind-tf__triptype {
	display: flex;
	gap: 8px;
}
.opsmind-tf__triptype-opt {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	padding: 8px 10px;
	font-size: 13px;
	cursor: pointer;
	transition: all .15s ease;
	margin: 0;
}
.opsmind-tf__triptype-opt.is-active {
	border-color: #0891b2;
	background: #ecfeff;
	color: #155e75;
	font-weight: 700;
}
.opsmind-tf__triptype-opt input {
	accent-color: #0891b2;
}

/* Admin: schedules dual-direction */
.opsmind-tf-admin__sched-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}
.opsmind-tf-admin__sched-head h3 {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
}
.opsmind-tf-admin__sched-group {
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 14px;
	background: #fff;
}

/* ===== Public: full-width booking detail (split one-way / round) ===== */
.opsmind-tf__booking {
	display: block;
}

.opsmind-tf__detail {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 20px;
}

.opsmind-tf__detail .opsmind-tf__back {
	background: none;
	border: 0;
	cursor: pointer;
	padding: 0;
	font-family: inherit;
	font-size: 14px;
}

.opsmind-tf__detail-head {
	border-bottom: 1px solid #eef2f7;
	padding-bottom: 12px;
	margin-bottom: 16px;
}

.opsmind-tf__detail-head h2 {
	margin: 0 0 4px;
	font-size: 1.3rem;
	font-weight: 800;
	color: var(--tf-navy);
}

.opsmind-tf__detail-head p {
	margin: 0;
	color: var(--tf-muted);
	font-size: 14px;
}

.opsmind-tf__seats-select {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 18px;
}

.opsmind-tf__seat-box {
	flex: 1 1 200px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 12px 14px;
	font-weight: 700;
	font-size: 13px;
}

.opsmind-tf__seat-box input {
	height: 44px;
	border: 1px solid #d0d7e2;
	border-radius: 10px;
	padding: 0 12px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 800;
}

.opsmind-tf__sections {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.opsmind-tf__section {
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 16px;
}

.opsmind-tf__section--out {
	background: #f7fbfd;
}

.opsmind-tf__section--round {
	background: #fbf9f2;
}

.opsmind-tf__section-title {
	margin: 0 0 12px;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--tf-navy);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.opsmind-tf__subsection {
	margin-bottom: 12px;
}

.opsmind-tf__subsection-title {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 800;
	color: var(--tf-gold);
	border-right: 3px solid var(--tf-gold);
	padding-right: 8px;
}

.opsmind-tf__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

@media (max-width: 520px) {
	.opsmind-tf__fields {
		grid-template-columns: 1fr;
	}
}

.opsmind-tf__fields label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 700;
	font-size: 12px;
	margin: 0;
}

.opsmind-tf__fields input,
.opsmind-tf__fields select {
	height: 42px;
	border: 1px solid #d0d7e2;
	border-radius: 10px;
	padding: 0 10px;
	font-family: inherit;
	font-size: 13px;
}

.opsmind-tf__pax {
	margin-top: 12px;
}

.opsmind-tf__pax-title {
	font-size: 12px;
	font-weight: 800;
	color: var(--tf-muted);
	margin-bottom: 8px;
}

.opsmind-tf__pax-row {
	display: grid;
	grid-template-columns: 1.4fr 1fr auto;
	gap: 8px;
	margin-bottom: 8px;
	align-items: center;
}

.opsmind-tf__pax-row input {
	height: 40px;
	border: 1px solid #d0d7e2;
	border-radius: 10px;
	padding: 0 10px;
	font-family: inherit;
	font-size: 13px;
}

.opsmind-tf__pax-del {
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border: 1px solid #f0c9c9;
	background: #fdecec;
	color: #c0392b;
	border-radius: 9px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background .15s;
}

.opsmind-tf__pax-del:hover {
	background: #f9d7d7;
}

.opsmind-tf__pax-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 4px 0 2px;
}

.opsmind-tf__pax-add {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px dashed #9cc2f0;
	background: #eef5ff;
	color: #1B7FEA;
	border-radius: 9px;
	padding: 8px 16px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s, opacity .15s;
}

.opsmind-tf__pax-add:hover {
	background: #dcebff;
}

.opsmind-tf__pax-add:disabled {
	opacity: .5;
	cursor: default;
}

.opsmind-tf__pax-hint {
	font-size: 12px;
	color: var(--tf-muted);
}

.opsmind-tf__leg-total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 12px 0 0;
	padding-top: 10px;
	border-top: 1px dashed #d7e0ea;
	font-weight: 700;
	font-size: 14px;
}

.opsmind-tf__leg-total strong {
	color: var(--tf-gold);
	font-size: 1.1rem;
}

.opsmind-tf__detail-footer {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	justify-content: space-between;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid #eef2f7;
}

.opsmind-tf__detail-footer .opsmind-tf__aside-total {
	margin: 0;
	flex: 1 1 160px;
}

.opsmind-tf__detail-footer .opsmind-tf__btn {
	flex: 1 1 200px;
}

/* ===== Checkout / success: leg summary ===== */
.opsmind-tf-legs .opsmind-tf-leg {
	border: 1px solid #e5eaf0;
	border-radius: 12px;
	padding: 12px 14px;
	margin-bottom: 12px;
}

.opsmind-tf-leg--out {
	background: #f7fbfd;
}

.opsmind-tf-leg--round {
	background: #fbf9f2;
}

.opsmind-tf-leg__title {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 800;
	color: #0B1F3A;
	display: flex;
	align-items: center;
	gap: 8px;
	justify-content: space-between;
}

.opsmind-tf-leg__seats {
	background: #0B1F3A;
	color: #fff;
	border-radius: 999px;
	padding: 2px 10px;
	font-size: 11px;
}

.opsmind-tf-leg__sub {
	font-size: 12px;
	font-weight: 800;
	color: #C9A24D;
	margin: 8px 0 4px;
}

.opsmind-tf-leg__rows {
	list-style: none;
	margin: 0;
	padding: 0;
}

.opsmind-tf-leg__rows li {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 4px 0;
	font-size: 13px;
}

.opsmind-tf-leg__rows .label {
	color: #5c6b7a;
}

.opsmind-tf-leg__price {
	display: flex;
	justify-content: space-between;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed #d7e0ea;
	font-weight: 800;
	font-size: 13px;
}

.opsmind-tf-pax {
	margin-top: 8px;
}

.opsmind-tf-pax__title {
	font-size: 12px;
	font-weight: 800;
	color: #5c6b7a;
}

.opsmind-tf-pax__list {
	margin: 4px 0 0;
	padding-right: 18px;
	font-size: 13px;
}

/* ===== Booking list: status actions + details modal ===== */
.opsmind-tf-status-actions {
	margin-top: 6px;
	display: flex;
	gap: 10px;
}

.opsmind-tf-status-actions .suser-approve {
	color: #059669;
	font-weight: 700;
}

.opsmind-tf-status-actions .suser-reject {
	color: #b91c1c;
	font-weight: 700;
}

.opsmind-tf-details-modal {
	font-family: "Tajawal", "Cairo", Tahoma, sans-serif;
}

.opsmind-tf-details__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid #eef2f7;
	padding-bottom: 12px;
	margin-bottom: 14px;
}

.opsmind-tf-details__title {
	margin: 0 0 4px;
	font-size: 1.15rem;
	font-weight: 800;
	color: #0B1F3A;
}

.opsmind-tf-details__sub {
	margin: 0;
	color: #5c6b7a;
	font-size: 12px;
}

.opsmind-tf-details__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 14px;
}

@media (max-width: 600px) {
	.opsmind-tf-details__grid {
		grid-template-columns: 1fr;
	}
}

.opsmind-tf-details__box {
	border: 1px solid #e5eaf0;
	border-radius: 12px;
	padding: 12px 14px;
	background: #f8fafc;
}

.opsmind-tf-details__box h4 {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 800;
	color: #0B1F3A;
}
