/**
 * mySencargo portal components — Phase 2
 * Reusable cards, grids, forms, and status patterns for all portal roles.
 */

.sc-portal-card,
.sc-portal-profile-card {
	background: #fff;
	border: 1px solid var(--sc-portal-line, rgba(17, 24, 39, 0.08));
	border-radius: 12px;
	padding: 20px 22px;
	box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}

.sc-portal-stack {
	display: grid;
	gap: 20px;
}

.sc-portal-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
}

.sc-portal-cards-grid--wide {
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 15px;
}

.sc-portal-card__title {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
	color: var(--sc-portal-text, #1f2937);
}

.sc-portal-card__title--plain {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
	color: #2c3e50;
}

.sc-portal-card__lead {
	margin: 0 0 12px;
}

.sc-portal-subheading {
	margin: 22px 0 8px;
	font-size: 15px;
	font-weight: 700;
	color: var(--sc-portal-text, #1f2937);
}

.sc-portal-subheading--spaced {
	margin: 28px 0 10px;
}

.sc-portal-text-muted,
.sc-portal-empty {
	margin: 0;
	color: var(--sc-portal-muted, #6b7280);
	font-size: 14px;
	line-height: 1.5;
}

.sc-portal-text-muted--sm {
	font-size: 13px;
}

.sc-portal-lead {
	margin: 0 0 14px;
	max-width: 720px;
	font-size: 14px;
	line-height: 1.5;
	color: #555;
}

.sc-portal-form-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.sc-portal-form-row--actions {
	gap: 8px;
	margin-bottom: 12px;
}

.sc-portal-form-row--sig {
	gap: 10px;
	margin: 8px 0 12px;
}

.sc-portal-form-row--sig-actions {
	gap: 10px;
	margin: 10px 0 14px;
}

.sc-portal-form--narrow {
	max-width: 560px;
}

.sc-portal-field-label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	font-size: 13px;
	color: #374151;
}

.sc-portal-input-full {
	width: 100%;
	box-sizing: border-box;
}

.sc-portal-input-grow {
	flex: 1;
	min-width: 200px;
	padding: 10px;
}

.sc-portal-input-qty {
	width: 64px;
}

.sc-portal-file-input {
	width: 100%;
	font-size: 13px;
	margin-bottom: 8px;
}

.sc-portal-file-input--spaced {
	margin-bottom: 14px;
}

.sc-portal-file-hidden {
	display: none;
}

.sc-portal-btn-sm {
	padding: 6px 12px;
	font-size: 12px;
}

.sc-portal-btn-block {
	width: 100%;
}

.sc-portal-btn-pay {
	padding: 6px 12px;
	font-size: 12px;
	background: #635bff;
}

.sc-portal-btn-success {
	width: 100%;
	background: #27ae60;
	color: #fff;
	padding: 12px;
	border: none;
	border-radius: 5px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.sc-portal-btn-success--inline {
	width: 100%;
	background: #27ae60;
}

.sc-portal-btn-danger {
	background: #c0392b;
}

.sc-portal-label-file-btn {
	cursor: pointer;
	margin: 0;
}

.sc-portal-callout {
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 18px;
}

.sc-portal-callout--info {
	background: #f0f7ff;
	border: 1px solid #cce5ff;
}

.sc-portal-callout__title {
	font-weight: 700;
	margin-bottom: 8px;
	color: #0d47a1;
}

.sc-portal-callout__list {
	margin: 0;
	padding-left: 18px;
	font-size: 13px;
}

.sc-portal-hit-result {
	margin-top: 14px;
	padding: 12px;
	background: #f8f9fa;
	border-radius: 8px;
	font-size: 14px;
}

.sc-portal-error-text {
	margin: 12px 0 0;
	color: #c0392b;
	font-size: 13px;
}

.sc-portal-schedule-group {
	border: 2px solid var(--sc-schedule-accent, #942428);
	border-radius: 10px;
	margin-bottom: 14px;
	overflow: hidden;
}

.sc-portal-schedule-group__summary {
	cursor: pointer;
	padding: 14px 16px;
	background: #fff;
	font-weight: 700;
	list-style: none;
}

.sc-portal-schedule-group__summary::-webkit-details-marker {
	display: none;
}

.sc-portal-schedule-group__dot {
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--sc-schedule-accent, #942428);
	margin-right: 10px;
	vertical-align: middle;
}

.sc-portal-schedule-group__meta {
	font-weight: 400;
	color: #666;
}

.sc-portal-schedule-group__counts {
	font-size: 12px;
	color: #888;
	font-weight: 600;
}

.sc-portal-schedule-group__body {
	padding: 16px;
	background: #fafbfc;
	border-top: 1px solid #eee;
}

.sc-portal-stop-card {
	padding: 18px;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	position: relative;
	border-top: 4px solid #e74c3c;
	background: #fff;
}

.sc-portal-stop-card--done {
	border-top-color: #27ae60;
	background: #f9fbf9;
}

.sc-portal-stop-card__num {
	position: absolute;
	top: -12px;
	left: -12px;
	background: #333;
	color: #fff;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	text-align: center;
	line-height: 28px;
	font-weight: 700;
	font-size: 13px;
}

.sc-portal-stop-card__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
	border-bottom: 1px solid #eee;
	padding-bottom: 10px;
	margin-bottom: 12px;
	flex-wrap: wrap;
}

.sc-portal-stop-card__tracking {
	margin: 0;
	font-size: 16px;
	color: #333;
}

.sc-portal-status-badge {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
}

.sc-portal-status-badge--pending {
	background: #e74c3c;
}

.sc-portal-status-badge--done {
	background: #27ae60;
}

.sc-portal-status-badge--info {
	background: #e3f2fd;
	color: #0d47a1;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 12px;
}

.sc-portal-alert-banner {
	background: #fffcf5;
	color: #e74c3c;
	padding: 8px;
	font-weight: 700;
	font-size: 12px;
	margin: 10px 0;
	border-radius: 4px;
	border: 1px solid #f39c12;
}

.sc-portal-stop-card__line {
	margin: 10px 0 4px;
}

.sc-portal-stop-card__line--tight {
	margin: 0 0 12px;
}

.sc-portal-stop-card__pickup-note {
	font-size: 12px;
	color: #555;
}

.sc-portal-note-panel {
	margin-bottom: 12px;
	padding: 10px;
	background: #f4f6f8;
	border-radius: 8px;
	border: 1px solid #e1e4e8;
}

.sc-portal-note-panel__label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 6px;
	color: #555;
}

.sc-portal-note-panel__input {
	width: 100%;
	box-sizing: border-box;
	font-size: 13px;
}

.sc-portal-note-panel .sc-portal-btn-sm {
	margin-top: 8px;
}

.sc-portal-paid-label {
	font-size: 12px;
	color: #27ae60;
	font-weight: 700;
}

.sc-portal-pickup-done {
	color: #27ae60;
	font-weight: 700;
	text-align: center;
	margin: 8px 0 0;
}

.sc-portal-sig-canvas {
	border: 1px solid #bdc3c7;
	border-radius: 6px;
	width: 100%;
	max-width: 340px;
	height: 120px;
	touch-action: none;
	background: #fff;
}

.sc-portal-sig-canvas--wide {
	max-width: 100%;
}

.sc-portal-proof-count {
	font-size: 12px;
	color: #666;
}

.sc-portal-sig-saved {
	display: none;
	color: #27ae60;
	font-size: 12px;
	font-weight: 700;
}

.sc-portal-sig-retake {
	display: none;
}

.sc-portal-log-list {
	font-size: 13px;
	padding-left: 18px;
	color: #444;
}

.sc-portal-log-entry {
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 12px;
	margin-bottom: 10px;
	font-size: 13px;
}

.sc-portal-log-entry p {
	margin: 8px 0;
}

.sc-portal-doc-link {
	margin: 0 0 8px;
	font-size: 12px;
}

.sc-portal-check-row {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 6px;
}

.sc-portal-check-row:last-child {
	margin-bottom: 0;
}

.sc-portal-checklist-box {
	background: #f8f9fa;
	border: 1px solid #eef1f4;
	padding: 10px;
	border-radius: 8px;
	margin-bottom: 10px;
}

.sc-portal-checklist-box__title {
	font-weight: 700;
	margin-bottom: 8px;
	color: #333;
}

.sc-portal-card__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}

.sc-portal-card__head-title {
	font-size: 16px;
	color: #2c3e50;
}

.sc-portal-stat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 14px;
	margin: 20px 0;
}

.sc-portal-stat-card {
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	border-radius: 10px;
	padding: 16px;
}

.sc-portal-stat-card__label {
	font-size: 12px;
	color: #666;
}

.sc-portal-stat-card__value {
	font-size: 28px;
	color: #942428;
}

.sc-portal-stat-grid + .sc-portal-form-row {
	margin-top: 0;
}

.sc-portal-table-wrap {
	overflow-x: auto;
	margin-top: 16px;
}

.sc-portal-table-wrap--bordered {
	border: 1px solid #eee;
	border-radius: 8px;
}

.sc-portal-table {
	min-width: 640px;
}

.sc-portal-table--narrow {
	min-width: 480px;
}

.sc-portal-empty-state {
	background: #f8f9fa;
	border: 1px dashed #ccc;
	border-radius: 10px;
	padding: 24px;
	text-align: center;
	color: #666;
}

.sc-portal-bundling-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
	gap: 22px;
	align-items: start;
}

@media (max-width: 767px) {
	.sc-portal-bundling-layout {
		grid-template-columns: 1fr;
	}
}

.sc-portal-bundle-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sc-portal-bundle-option {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 12px;
	border: 1px solid #eee;
	border-radius: 8px;
	cursor: pointer;
	background: #fafbfc;
}

.sc-portal-bundle-option__cb {
	margin-top: 3px;
}

.sc-portal-bundle-option__meta {
	font-size: 13px;
	color: #555;
}

.sc-portal-quote-card {
	background: linear-gradient(145deg, #fdf8f9 0%, #fff 55%);
	border: 1px solid #e8cdd0;
	border-radius: 14px;
	padding: 22px;
	border-left: 5px solid #942428;
	position: sticky;
	top: 20px;
}

.sc-portal-quote-card__title {
	margin: 0 0 12px;
	color: #942428;
}

.sc-portal-quote-card__body {
	font-size: 15px;
	color: #333;
	line-height: 1.7;
}

.sc-portal-agree-row {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 14px;
	margin-bottom: 14px;
}

.sc-portal-success-text {
	color: #27ae60;
	font-weight: 600;
}

.sc-portal-section-heading {
	margin: 32px 0 12px;
	color: #2c3e50;
}

.sc-portal-form-row--proof {
	margin-bottom: 8px;
}

.sc-portal-msg {
	font-size: 14px;
	margin-top: 10px;
}

/* ═══ Phase 3 — customer shipments, Zelle, guest shell, toasts ═══ */

.sc-portal-guest-shell {
	background: #fff;
	padding: 30px;
	border-radius: 8px;
	border: 1px solid #ccc;
	text-align: center;
	max-width: 400px;
	margin: 0 auto;
}

.sc-portal-guest-shell__brand {
	color: #942428;
	margin-top: 0;
}

.sc-portal-guest-shell__signin {
	display: inline-block;
	padding: 12px 24px;
	background: #942428;
	color: #fff;
	text-decoration: none;
	border-radius: 8px;
	font-weight: 600;
}

.sc-mysencargo-dashboard-logo {
	text-align: center;
	margin: 0 0 22px;
}

.sc-mysencargo-dashboard-logo img {
	max-width: 280px;
	width: 100%;
	height: auto;
	display: inline-block;
}

.sc-portal-admin-notice {
	background: #e3f2fd;
	border-left: 4px solid #2196f3;
	padding: 15px;
	margin-bottom: 20px;
	font-family: sans-serif;
}

.sc-portal-toast {
	background: #e8f8f5;
	border-left: 4px solid #27ae60;
	padding: 15px;
	margin: 20px;
	font-weight: 700;
	color: #27ae60;
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 999999;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.sc-portal-inline-notice {
	background: #e8f8f5;
	border-left: 4px solid #27ae60;
	padding: 15px;
	margin-bottom: 20px;
	color: #27ae60;
	font-weight: 700;
}

.sc-portal-inline-notice--compact {
	padding: 12px 16px;
	margin: 0 0 16px;
	border-radius: 8px;
	color: #1e8449;
}

.sc-shipment-pay-status {
	font-weight: 700;
	padding-right: 10px;
}

.sc-shipment-pay-status--paid,
.sc-native-status.sc-native-status--paid.sc-shipment-pay-status {
	color: #27ae60;
}

.sc-shipment-pay-status--unpaid,
.sc-native-status.sc-native-status--unpaid.sc-shipment-pay-status {
	color: #e74c3c;
}

.sc-portal-btn-receipt {
	background: #2c3e50;
}

.sc-portal-btn-label {
	background: #3498db;
}

.sc-portal-btn-zelle {
	background: #6d1ed4;
	border: none;
}

.sc-portal-btn-cancel {
	background: #e74c3c;
}

.sc-portal-credit-label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: #2c3e50;
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	padding: 6px 10px;
}

.sc-portal-invoice-table {
	margin: 0;
}

.sc-portal-table-empty {
	text-align: center;
	padding: 24px;
	color: #777;
}

.sc-portal-pagination {
	margin: 16px 0 0;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.sc-portal-pagination--hidden {
	display: none;
}

.sc-portal-pagination__link {
	padding: 6px 12px;
	font-size: 13px;
	text-decoration: none;
}

.sc-portal-notify-grid {
	margin-bottom: 20px;
}

.sc-portal-radio-inline {
	margin-right: 16px;
}

.sc-portal-bundle-actions {
	margin-top: 18px;
}

.sc-portal-field-label--spaced {
	margin: 16px 0 8px;
}

/* Zelle modal */
.sc-modal-content--zelle {
	max-width: 440px;
}

.sc-zelle-modal__title {
	margin-top: 0;
	color: #6d1ed4;
}

.sc-zelle-qr-wrap {
	text-align: center;
	margin: 0 0 16px;
	padding: 14px;
	background: #faf8ff;
	border-radius: 10px;
	border: 1px solid #e8e0f5;
}

.sc-zelle-qr-wrap__lead {
	margin: 0 0 12px;
	font-size: 13px;
	color: #555;
	line-height: 1.45;
}

.sc-zelle-qr-wrap__link {
	display: inline-block;
	line-height: 0;
	border-radius: 10px;
}

.sc-zelle-qr-wrap__img {
	width: 220px;
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(109, 30, 212, 0.12);
}

.sc-zelle-qr-wrap__footnote {
	margin: 12px 0 0;
	font-size: 12px;
	color: #777;
}

.sc-zelle-panel {
	color: #555;
	font-size: 14px;
	margin: 16px 0;
}

.sc-zelle-panel--error {
	background: #fdeaea;
	border: 1px solid #f5c6cb;
	color: #721c24;
	padding: 12px;
	border-radius: 8px;
	font-size: 13px;
	margin-bottom: 12px;
}

.sc-zelle-field {
	margin: 0 0 10px;
	font-size: 14px;
	color: #333;
	line-height: 1.5;
}

.sc-zelle-field__mono {
	word-break: break-all;
	font-family: monospace;
	font-size: 15px;
}

.sc-zelle-field__amount {
	font-size: 18px;
	font-weight: 700;
	color: #2c3e50;
}

.sc-zelle-field__copy {
	margin-top: 8px;
}

.sc-zelle-note {
	font-size: 13px;
	color: #555;
	line-height: 1.5;
	margin-top: 12px;
}

.sc-zelle-disclaimer {
	margin: 16px 0 0;
	font-size: 12px;
	color: #888;
}

.sc-portal-doc-thumb {
	margin: 0 0 10px;
}

.sc-portal-doc-thumb__img {
	max-width: 180px;
	max-height: 140px;
	object-fit: contain;
	border-radius: 8px;
	border: 1px solid #dfe6e9;
	display: block;
}

.sc-portal-doc-thumb__link {
	margin: 0 0 10px;
	font-size: 12px;
}

.sc-portal-log-thumbs {
	display: inline;
}

.sc-portal-log-thumb {
	display: inline-block;
	margin: 6px 10px 0 0;
}

.sc-portal-log-thumb__img {
	width: 88px;
	height: 88px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid #ddd;
}

.sc-portal-log-thumb__fallback {
	display: inline-block;
	margin-top: 6px;
	font-size: 12px;
	color: #888;
}

.sc-portal-input-full--spaced {
	margin-bottom: 12px;
}

.sc-portal-checklist-box + .sc-portal-btn-block,
.sc-portal-checklist-save {
	margin-bottom: 8px;
}

#sc-zelle-modal-loading,
#sc-zelle-modal-error,
#sc-zelle-modal-body {
	display: none;
}

.sc-portal-checkbox-label {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* ═══ Phase 4 — booking modals, track widget, misc portal ═══ */

.sc-portal-logout-link {
	text-decoration: none;
}

.sc-portal-action-lead {
	margin-top: 0;
}

.sc-fb-modal-title,
.sc-portal-modal-title {
	color: #942428;
	margin-top: 0;
}

.sc-modal-content--thanks {
	max-width: 460px;
	text-align: center;
}

.sc-fb-section {
	margin-bottom: 15px;
}

.sc-fb-label-bold {
	font-weight: bold;
}

.sc-fb-label-bold-sm {
	font-weight: bold;
	font-size: 12px;
}

.sc-fb-label-block {
	display: block;
	font-weight: bold;
	margin-bottom: 4px;
}

.sc-fb-help {
	margin: 4px 0 6px;
	font-size: 12px;
	color: #666;
}

.sc-fb-select-full {
	width: 100%;
	margin-top: 4px;
}

.sc-fb-select-reset {
	margin-bottom: 0;
}

.sc-fb-select-zone {
	margin-bottom: 0;
	margin-top: 4px;
}

.sc-fb-grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
	margin-bottom: 15px;
}

.sc-fb-grid-4 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 8px;
}

.sc-fb-panel {
	margin-bottom: 16px;
	padding: 14px;
	background: #f8fafc;
	border: 1px solid #dce4ec;
	border-radius: 8px;
}

.sc-fb-panel--ship {
	background: #f0fdf4;
	border-color: #bbf7d0;
}

.sc-fb-panel__title {
	margin: 0 0 6px;
	font-weight: bold;
}

.sc-fb-panel__title--spaced {
	margin: 12px 0 4px;
}

.sc-fb-panel__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
}

.sc-fb-panel__meta {
	margin: 0 0 12px;
	font-size: 13px;
	color: #444;
}

.sc-fb-panel__hint {
	margin: 0 0 8px;
	font-size: 12px;
	color: #666;
}

.sc-fb-panel__lead {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.55;
	color: #14532d;
}

.sc-fb-ship-address {
	background: #fff;
	border: 1px solid #d1fae5;
	border-radius: 6px;
	padding: 12px;
	font-size: 13px;
	line-height: 1.6;
	color: #1e293b;
}

.sc-fb-pickup-fields {
	margin-top: 12px;
}

.sc-fb-pickup-lead {
	margin: 0 0 8px;
	font-size: 12px;
	color: #666;
}

.sc-fb-pickup-addr {
	width: 100%;
	margin-bottom: 8px;
}

.sc-fb-toggle-label {
	font-weight: bold;
	display: flex;
	gap: 8px;
	align-items: flex-start;
	cursor: pointer;
}

.sc-fb-toggle-label--warn {
	font-weight: bold;
	color: #d35400;
	display: flex;
	align-items: center;
	gap: 8px;
}

.sc-fb-toggle-label--senegal,
.sc-fb-toggle-label--fabrics,
.sc-fb-toggle-label--credit {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	cursor: pointer;
	font-size: 14px;
}

.sc-fb-toggle-label--senegal {
	color: #334155;
}

.sc-fb-toggle-label--fabrics {
	color: #713f12;
}

.sc-fb-toggle-label--credit {
	color: #2c3e50;
}

.sc-fb-checkbox-offset {
	margin-top: 3px;
}

.sc-fb-warn-box {
	margin-bottom: 15px;
	background: #fffcf5;
	border: 1px solid #f39c12;
	padding: 10px;
	border-radius: 5px;
}

.sc-fb-warn-box__hint {
	font-size: 12px;
	color: #666;
	margin: 5px 0 0;
}

.sc-fb-info-box {
	margin-bottom: 15px;
	padding: 12px;
	background: #f4f6fb;
	border: 1px solid #c5d0e6;
	border-radius: 8px;
}

.sc-fb-info-box--fabrics {
	background: #fffbeb;
	border-color: #fde68a;
}

.sc-fb-etd-msg {
	background: #fffcf5;
	border-left: 4px solid #f39c12;
	padding: 12px;
	margin-bottom: 15px;
	font-size: 13px;
	color: #d35400;
	border-radius: 4px;
	font-weight: bold;
}

.sc-fb-receivers-panel {
	background: #f9f9f9;
	border: 1px solid #ddd;
	padding: 15px;
	border-radius: 8px;
	margin-bottom: 20px;
}

.sc-fb-receivers-panel__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

.sc-fb-receivers-panel__title {
	font-weight: bold;
	margin: 0;
}

.fb-recv-row {
	display: grid;
	grid-template-columns: 1fr 1fr 2fr 1fr;
	gap: 10px;
	margin-bottom: 10px;
	background: #fff;
	padding: 10px;
	border: 1px solid #eee;
	border-radius: 4px;
}

.fb-recv-row--actions {
	grid-template-columns: 1fr 1fr 2fr 1fr 30px;
}

.fb-item-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
	align-items: flex-end;
}

.sc-fb-input-reset {
	margin: 0;
}

.fb-item-sel {
	flex: 2;
	min-width: 160px;
}

.fb-item-recv-sel {
	flex: 1.5;
	min-width: 140px;
}

.fb-carrier-tracking {
	flex: 1.5;
	min-width: 160px;
}

.fb-qty-sel {
	flex: 0.7;
	min-width: 76px;
}

.sc-fb-row-remove {
	background: none;
	border: none;
	color: red;
	font-weight: bold;
	cursor: pointer;
}

.sc-fb-add-item-btn {
	padding: 5px 10px;
	font-size: 12px;
	margin-top: 10px;
}

.sc-fb-totals {
	background: #fdfdfd;
	padding: 15px;
	border-radius: 5px;
	margin-bottom: 12px;
	border: 2px solid #eee;
}

.sc-fb-totals__row {
	display: flex;
	justify-content: space-between;
	margin-bottom: 5px;
}

.sc-fb-totals__row--divider {
	border-bottom: 1px solid #ccc;
	padding-bottom: 5px;
}

.sc-fb-totals__grand {
	display: flex;
	justify-content: space-between;
	font-size: 20px;
	color: #27ae60;
	margin-top: 5px;
}

.sc-fb-agent-note {
	margin-bottom: 14px;
	font-size: 13px;
	color: #64748b;
	line-height: 1.5;
}

.sc-fb-tbd-msg {
	background: #f4f6fb;
	border: 1px solid #c5d0e6;
	color: #334155;
	padding: 12px;
	border-radius: 6px;
	font-size: 13px;
	margin-bottom: 14px;
}

.sc-fb-credit-wrap {
	margin-bottom: 16px;
}

.sc-fb-submit-btn {
	width: 100%;
	font-size: 18px;
	padding: 15px;
}

.sc-fb-submit-btn--car {
	width: 100%;
	margin-top: 10px;
}

.sc-fb-car-lead {
	margin: 0 0 10px;
	font-size: 13px;
	color: #555;
	line-height: 1.5;
}

.sc-fb-datetime-input {
	max-width: min(100%, 320px);
	box-sizing: border-box;
}

.sc-fb-reserve-lead {
	font-size: 13px;
	color: #555;
	line-height: 1.5;
}

.sc-fb-reserve-heading {
	font-weight: bold;
	margin: 0 0 8px;
}

.sc-fb-radio-label {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 8px;
}

.sc-fb-radio-label--last {
	margin-bottom: 16px;
}

.sc-fb-submit-btn--full {
	width: 100%;
}

.sc-booking-thanks__icon {
	font-size: 42px;
	line-height: 1;
	margin: 0 0 12px;
}

.sc-booking-thanks__body {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.55;
	color: #2c3e50;
}

.sc-booking-thanks__tracking {
	margin: 0 0 22px;
	font-size: 14px;
	color: #555;
}

.sc-portal-calculator-notice {
	padding: 15px;
	border-left: 4px solid #3498db;
	background: #e8f4f8;
}

.sc-portal-calculator-notice p {
	margin: 0;
}

.sc-portal-quote-empty {
	margin: 0;
	color: #777;
}

.sc-portal-quote-line {
	margin: 0 0 8px;
}

.sc-portal-quote-line__label {
	color: #666;
}

.sc-portal-quote-divider {
	border: 0;
	border-top: 1px solid #eee;
	margin: 12px 0;
}

.sc-portal-quote-total {
	margin: 0;
	font-size: 18px;
	color: #942428;
}

.sc-portal-quote-footnote {
	margin: 10px 0 0;
	font-size: 12px;
	color: #777;
}

/* Public track shortcode */
.sc-v24-public-track {
	max-width: 560px;
	margin: 0 auto;
	padding: 20px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
}

.sc-v24-public-track__title {
	margin-top: 0;
	color: #942428;
}

.sc-v24-public-track__lead {
	color: #555;
	font-size: 14px;
}

.sc-v24-public-track__form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 14px;
}

.sc-v24-public-track__input {
	flex: 1;
	min-width: 200px;
	padding: 10px;
}

.sc-v24-public-track__btn {
	background: #942428;
	border: none;
}

.sc-v24-public-track__qr {
	margin-bottom: 14px;
}

#sc_v24_qr_reader {
	width: 100%;
	max-width: 320px;
	margin-top: 10px;
	display: none;
}

#sc_v24_scan_stop {
	display: none;
}

#sc_v24_track_out {
	display: none;
	padding: 14px;
	background: #f8fafc;
	border-radius: 8px;
	border: 1px solid #e2e8f0;
}

.sc-v24-public-track__login-hint {
	margin-top: 16px;
	font-size: 13px;
	color: #b45309;
}

.sc-v24-track-error {
	margin: 0;
	color: #b91c1c;
}

.sc-v24-track-result__barcode {
	margin: 0 0 8px;
	font-weight: 700;
}

.sc-v24-track-result__phase {
	margin: 0 0 6px;
}

.sc-v24-track-result__detail {
	margin: 4px 0 0;
	font-size: 14px;
}
