/**
 * OSS Membership Global Stylesheet
 * Covers: Membership Plans, Custom Checkout, & Member Dashboard
 * Theme: Hello Elementor Child
 */

/* ==========================================================================
   1. GLOBAL RESET & IMAGE CONSTRAINTS
   ========================================================================== */
.oss-header-logo img,
.oss-footer-brand img,
.oss-logo-wrapper img {
	max-height: 52px !important;
	width: auto !important;
	max-width: 260px !important;
	display: block !important;
}

.oss-top-bar {
	height: 4px !important;
	background: #006837 !important;
	width: 100% !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	z-index: 10 !important;
}

.oss-page-header {
	background: #ffffff !important;
	border-bottom: 1px solid #e2e8f0 !important;
	padding: 16px 36px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
	box-sizing: border-box !important;
	width: 100% !important;
	position: relative !important;
	z-index: 5 !important;
}

.oss-header-nav {
	display: flex !important;
	align-items: center !important;
	gap: 28px !important;
}

.oss-header-nav a {
	color: #334155 !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	text-decoration: none !important;
	transition: color 0.2s !important;
}

.oss-header-nav a:hover {
	color: #062a6b !important;
}

.oss-header-actions {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
}

.oss-header-help {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	color: #334155 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	font-size: 0.95rem !important;
	transition: color 0.2s !important;
}

.oss-header-help:hover {
	color: #003a95 !important;
}

.oss-header-notif {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #334155 !important;
	text-decoration: none !important;
	cursor: pointer !important;
}

.oss-notif-badge {
	position: absolute !important;
	top: -6px !important;
	right: -8px !important;
	background: #ef4444 !important;
	color: #ffffff !important;
	font-size: 0.72rem !important;
	font-weight: 800 !important;
	border-radius: 50% !important;
	width: 17px !important;
	height: 17px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.oss-header-user-pill {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	background: #f1f5f9 !important;
	padding: 6px 16px 6px 8px !important;
	border-radius: 30px !important;
	font-weight: 700 !important;
	color: #062a6b !important;
	font-size: 0.95rem !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: background 0.2s !important;
}

.oss-header-user-pill:hover {
	background: #e2e8f0 !important;
}

.oss-user-avatar {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: #003a95 !important;
	color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.oss-btn-outline {
	padding: 8px 20px !important;
	border: 1.5px solid #062a6b !important;
	color: #062a6b !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	text-decoration: none !important;
	transition: all 0.2s !important;
	display: inline-block !important;
}

.oss-btn-outline:hover {
	background: #062a6b !important;
	color: #ffffff !important;
}

.oss-btn-green-sm {
	padding: 9px 22px !important;
	background: #006837 !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	text-decoration: none !important;
	transition: background 0.2s !important;
	display: inline-block !important;
}

.oss-btn-green-sm:hover {
	background: #004d28 !important;
	color: #ffffff !important;
}

.oss-badge-required {
	background: #006837 !important;
	color: #ffffff !important;
	padding: 4px 12px !important;
	border-radius: 20px !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	display: inline-block !important;
}

.oss-badge-optional {
	background: #86efac !important;
	color: #064e3b !important;
	padding: 4px 12px !important;
	border-radius: 20px !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	display: inline-block !important;
}

.oss-badge-active {
	background: #d5ebd9 !important;
	color: #006837 !important;
	padding: 4px 14px !important;
	border-radius: 20px !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	display: inline-block !important;
}

.oss-plans-callout {
	background: #f0fdf4 !important;
	border: 1.5px solid #bbf7d0 !important;
	border-radius: 14px !important;
	padding: 16px 24px !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin-bottom: 28px !important;
}

.oss-callout-icon {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: #006837 !important;
	color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: 800 !important;
	flex-shrink: 0 !important;
}

.oss-callout-text {
	font-size: 0.95rem !important;
	color: #166534 !important;
	font-weight: 600 !important;
}

/* ==========================================================================
   2. PAGE 1: MEMBERSHIP PLANS PAGE
   ========================================================================== */
.oss-plans-wrapper {
	background: #f8fafc !important;
	min-height: 100vh !important;
	padding: 48px 24px !important;
	box-sizing: border-box !important;
	font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif !important;
}

.oss-plans-container {
	max-width: 1140px !important;
	margin: 0 auto !important;
	width: 100% !important;
}

.oss-plans-hero {
	text-align: center !important;
	position: relative !important;
	margin-bottom: 40px !important;
}

.oss-plans-title {
	font-size: 2.75rem !important;
	font-weight: 800 !important;
	color: #062a6b !important;
	margin-bottom: 10px !important;
	line-height: 1.2 !important;
}

.oss-plans-subtitle {
	font-size: 1.25rem !important;
	color: #64748b !important;
	font-weight: 500 !important;
}

.oss-hero-safer-badge {
	position: absolute !important;
	top: -10px !important;
	right: 40px !important;
}

.oss-plans-cards-flex {
	display: flex !important;
	align-items: stretch !important;
	gap: 20px !important;
	margin-bottom: 32px !important;
}

.oss-plan-card {
	flex: 1 !important;
	background: #ffffff !important;
	border-radius: 20px !important;
	border: 1.5px solid #e2e8f0 !important;
	padding: 36px 32px !important;
	box-shadow: 0 10px 30px rgba(0,0,0,0.04) !important;
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	box-sizing: border-box !important;
}

.oss-plan-card.required-card {
	border-color: #93c5fd !important;
	background: #f0f7ff !important;
}

.oss-plan-card.optional-card {
	border-color: #a7f3d0 !important;
	background: #f0fdf4 !important;
}

.oss-plan-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 12px !important;
}

.oss-plan-title-wrapper {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
}

.oss-plan-icon-circle {
	width: 52px !important;
	height: 52px !important;
	border-radius: 50% !important;
	background: #dbeafe !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.oss-plan-card.optional-card .oss-plan-icon-circle {
	background: #d1fae5 !important;
}

.oss-plan-name {
	font-size: 1.6rem !important;
	font-weight: 800 !important;
	color: #062a6b !important;
}

.oss-plan-desc {
	font-size: 1rem !important;
	color: #475569 !important;
	margin-bottom: 20px !important;
}

.oss-plan-price {
	font-size: 2.75rem !important;
	font-weight: 800 !important;
	color: #062a6b !important;
	margin-bottom: 24px !important;
}

.oss-plan-price span {
	font-size: 1.1rem !important;
	color: #64748b !important;
	font-weight: 600 !important;
}

.oss-plan-divider {
	height: 1px !important;
	background: #cbd5e1 !important;
	margin-bottom: 24px !important;
}

.oss-plan-features {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
}

.oss-plan-features li {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	font-size: 0.98rem !important;
	font-weight: 600 !important;
	color: #1e293b !important;
}

.oss-plans-plus-divider {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 2.5rem !important;
	font-weight: 800 !important;
	color: #062a6b !important;
	padding: 0 10px !important;
}

.oss-cta-wrapper {
	text-align: center !important;
	margin-bottom: 56px !important;
}

.oss-btn-get-started {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	padding: 18px 48px !important;
	background: #006837 !important;
	color: #ffffff !important;
	font-size: 1.3rem !important;
	font-weight: 800 !important;
	border-radius: 12px !important;
	text-decoration: none !important;
	box-shadow: 0 8px 24px rgba(0, 104, 55, 0.25) !important;
	transition: transform 0.2s, background 0.2s !important;
	border: none !important;
	cursor: pointer !important;
}

.oss-btn-get-started:hover {
	background: #004d28 !important;
	transform: translateY(-2px) !important;
	color: #ffffff !important;
}

.oss-cta-subtext {
	font-size: 0.95rem !important;
	color: #64748b !important;
	margin-top: 10px !important;
	font-weight: 500 !important;
}

.oss-value-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 24px !important;
	margin-bottom: 56px !important;
}

.oss-value-card {
	background: #ffffff !important;
	border-radius: 16px !important;
	padding: 28px 20px !important;
	text-align: center !important;
	box-shadow: 0 6px 20px rgba(0,0,0,0.03) !important;
	border: 1px solid #e2e8f0 !important;
}

.oss-value-icon {
	width: 60px !important;
	height: 60px !important;
	border-radius: 50% !important;
	background: #e0f2fe !important;
	margin: 0 auto 16px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.oss-value-title {
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: #062a6b !important;
	margin-bottom: 8px !important;
}

.oss-value-desc {
	font-size: 0.9rem !important;
	color: #64748b !important;
	line-height: 1.45 !important;
}

/* ==========================================================================
   3. PAGE 2: CHECKOUT PAGE
   ========================================================================== */
.oss-checkout-wrapper {
	background: #f8fafc !important;
	min-height: 100vh !important;
	padding: 32px 24px 60px !important;
	box-sizing: border-box !important;
	font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif !important;
}

.oss-checkout-container {
	max-width: 1180px !important;
	margin: 0 auto !important;
	width: 100% !important;
}

.oss-checkout-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 28px !important;
	width: 100% !important;
}

.oss-secure-badge {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 0.9rem !important;
	color: #334155 !important;
	font-weight: 600 !important;
}

.oss-step-progress {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 16px !important;
	margin-bottom: 36px !important;
	width: 100% !important;
}

.oss-step-item {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: #94a3b8 !important;
}

.oss-step-item.active {
	color: #006837 !important;
}

.oss-step-num {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: #cbd5e1 !important;
	color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.85rem !important;
}

.oss-step-item.active .oss-step-num {
	background: #006837 !important;
}

.oss-step-line {
	width: 60px !important;
	height: 2px !important;
	background: #cbd5e1 !important;
}

.oss-checkout-grid {
	display: grid !important;
	grid-template-columns: 1.6fr 1fr !important;
	gap: 36px !important;
	width: 100% !important;
}

.oss-checkout-section-title {
	font-size: 1.3rem !important;
	font-weight: 800 !important;
	color: #062a6b !important;
	margin: 0 0 16px 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.oss-card {
	background: #ffffff !important;
	border-radius: 20px !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 10px 30px rgba(0,0,0,0.04) !important;
	padding: 32px 28px !important;
	margin-bottom: 28px !important;
	box-sizing: border-box !important;
}

.oss-checkout-plans-grid {
	display: flex !important;
	align-items: stretch !important;
	gap: 16px !important;
	margin-bottom: 20px !important;
}

.oss-checkout-plan-card {
	flex: 1 !important;
	background: #ffffff !important;
	border: 2px solid #cbd5e1 !important;
	border-radius: 14px !important;
	padding: 20px !important;
	position: relative !important;
	box-sizing: border-box !important;
}

.oss-checkout-plan-card.selected {
	border-color: #003a95 !important;
	background: #f0f7ff !important;
}

.oss-checkout-plan-price-lg {
	font-size: 2.2rem !important;
	font-weight: 800 !important;
	color: #062a6b !important;
}

.oss-seat-counter {
	display: flex !important;
	align-items: center !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	overflow: hidden !important;
}

.oss-seat-btn {
	width: 34px !important;
	height: 34px !important;
	background: #f1f5f9 !important;
	border: none !important;
	font-size: 1.1rem !important;
	font-weight: 800 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.oss-seat-input {
	width: 44px !important;
	border: none !important;
	text-align: center !important;
	font-weight: 800 !important;
	font-size: 1rem !important;
	outline: none !important;
	background: transparent !important;
	margin: 0 !important;
}

.oss-payment-tabs {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 12px !important;
	margin-bottom: 20px !important;
}

.oss-payment-tab {
	background: #ffffff !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 10px !important;
	padding: 12px 10px !important;
	text-align: center !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	cursor: pointer !important;
	color: #334155 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
}

.oss-payment-tab.active {
	border-color: #006837 !important;
	background: #f0fdf4 !important;
	color: #006837 !important;
}

.oss-summary-card {
	background: #ffffff !important;
	border-radius: 20px !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 10px 30px rgba(0,0,0,0.04) !important;
	padding: 32px 28px !important;
	position: sticky !important;
	top: 20px !important;
}

.oss-summary-title {
	font-size: 1.4rem !important;
	font-weight: 800 !important;
	color: #062a6b !important;
	margin-bottom: 24px !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid #e2e8f0 !important;
}

.oss-summary-item {
	display: flex !important;
	justify-content: space-between !important;
	margin-bottom: 16px !important;
	font-size: 0.95rem !important;
}

.oss-summary-total-box {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding-top: 20px !important;
	border-top: 2px solid #e2e8f0 !important;
	margin-top: 20px !important;
}

.oss-total-price-lg {
	font-size: 2.2rem !important;
	font-weight: 800 !important;
	color: #006837 !important;
}

/* ==========================================================================
   4. PAGE 3: MEMBER DASHBOARD PAGE (PIXEL-PERFECT STYLING)
   ========================================================================== */
.oss-dashboard-wrapper {
    background: #f8fafc !important;
    min-height: 100vh !important;
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif !important;
    color: #1e293b !important;
    max-width: 1250px;
    margin: auto;
}

.oss-dashboard-layout {
	display: grid !important;
	grid-template-columns: 260px 1fr !important;
	min-height: calc(100vh - 80px) !important;
}

/* Left Sidebar */
.oss-sidebar {
	background: #ffffff !important;
	border-right: 1px solid #e2e8f0 !important;
	padding: 28px 18px !important;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
}

.oss-sidebar-menu {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.oss-sidebar-item a {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	padding: 12px 16px !important;
	border-radius: 10px !important;
	font-size: 0.98rem !important;
	font-weight: 600 !important;
	color: #475569 !important;
	text-decoration: none !important;
	transition: all 0.2s !important;
}

.oss-sidebar-item a:hover {
	background: #f1f5f9 !important;
	color: #062a6b !important;
}

.oss-sidebar-item.active a {
	background: #d5ebd9 !important;
	color: #006837 !important;
	font-weight: 800 !important;
}

/* Sidebar Contact Us Box */
.oss-sidebar-contact-card {
	background: #f0f7ff !important;
	border: 1px solid #cce4fc !important;
	border-radius: 14px !important;
	padding: 20px !important;
	text-align: left !important;
	box-sizing: border-box !important;
	margin-top: 30px !important;
}

.oss-contact-card-title {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	color: #003a95 !important;
	margin-bottom: 8px !important;
}

.oss-contact-card-desc {
	margin: 0 0 16px 0 !important;
	font-size: 1rem !important;
	color: #475569 !important;
	line-height: 1.4 !important;
}

.oss-btn-contact {
	display: block !important;
	width: 100% !important;
	padding: 10px 0 !important;
	background: #ffffff !important;
	border: 1.5px solid #003a95 !important;
	border-radius: 8px !important;
	color: #003a95 !important;
	font-weight: 700 !important;
	font-size: 0.88rem !important;
	text-align: center !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	transition: all 0.2s !important;
}

.oss-btn-contact:hover {
	background: #003a95 !important;
	color: #ffffff !important;
}

/* Main Dashboard Content Area */
.oss-dashboard-main {
	padding: 15px !important;
	box-sizing: border-box !important;
	background: #f8fafc !important;
}

/* Top Hero Banner with wooden desk background image */
.oss-dashboard-top-banner {
    background-color: #ffffff !important;
    background-image: url('../images/my-account-top-bg.png') !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: cover !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    padding: 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 15px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    position: relative !important;
    min-height: 120px !important;
}

.oss-banner-left {
	max-width: 60% !important;
	z-index: 2 !important;
}

.oss-dashboard-title {
	font-size: 2.2rem !important;
	font-weight: 700 !important;
	color: #003a95 !important;
	margin: 0 0 6px 0 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.5px !important;
}

.oss-dashboard-desc {
	margin: 0 !important;
	color: #334155 !important;
	font-size: 0.96rem !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

.oss-banner-hero-card {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 2 !important;
}

.oss-safer-together-img {
	width: 140px !important;
	max-width: 100% !important;
	height: auto !important;
	display: block !important;
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.06)) !important;
}

/* 6-Card Dashboard Hub Grid (3x2) */
.oss-hub-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 15px !important;
	margin-bottom: 15px !important;
}

.oss-hub-card {
	background: #ffffff !important;
	border-radius: 12px !important;
	border: 1px solid #e5e7eb !important;
	padding: 28px 22px 22px !important;
	text-align: center !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: space-between !important;
	box-sizing: border-box !important;
	transition: transform 0.2s, box-shadow 0.2s !important;
}

.oss-hub-card:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05) !important;
}

.oss-hub-card-body {
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

.oss-hub-icon-circle {
	width: 60px !important;
	height: 60px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 auto 16px !important;
}

.oss-hub-icon-circle.blue {
	background: #e0f0fe !important;
	color: #003a95 !important;
}

.oss-hub-icon-circle.green {
	background: #d5ebd9 !important;
	color: #006837 !important;
}

.oss-hub-card-title {
	font-size: 1.22rem !important;
	font-weight: 800 !important;
	color: #003a95 !important;
	margin: 0 0 8px 0 !important;
}

.oss-hub-card-desc {
	font-size: 0.88rem !important;
	color: #475569 !important;
	line-height: 1.45 !important;
	margin: 0 0 20px 0 !important;
	min-height: 38px !important;
}

.oss-btn-hub-blue {
	width: 100% !important;
	padding: 11px !important;
	background-color: #003a95 !important;
	color: #ffffff !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	border-radius: 6px !important;
	border: none !important;
	text-decoration: none !important;
	text-align: center !important;
	display: block !important;
	box-sizing: border-box !important;
	transition: background-color 0.2s !important;
}

.oss-btn-hub-blue:hover {
	background-color: #062a6b !important;
	color: #ffffff !important;
}

.oss-btn-hub-green {
	width: 100% !important;
	padding: 11px !important;
	background-color: #006837 !important;
	color: #ffffff !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	border-radius: 6px !important;
	border: none !important;
	text-decoration: none !important;
	text-align: center !important;
	display: block !important;
	box-sizing: border-box !important;
	transition: background-color 0.2s !important;
}

.oss-btn-hub-green:hover {
	background-color: #004d28 !important;
	color: #ffffff !important;
}

/* Bottom Banner */
.oss-bottom-banner {
	background: #f4fbf6 !important;
	border: 1px solid #d5ebd9 !important;
	border-radius: 12px !important;
	padding: 16px 28px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	box-sizing: border-box !important;
	margin-top: 10px !important;
}

.oss-bottom-banner-left {
	display: flex !important;
	align-items: center !important;
	gap: 18px !important;
}

.oss-bottom-leaf-img {
    width: 75px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
    display: block !important;
}

.oss-bottom-banner-title {
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: #006837 !important;
	margin: 0 0 3px 0 !important;
}

.oss-bottom-banner-desc {
	font-size: 0.9rem !important;
	color: #334155 !important;
	margin: 0 !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
}

.oss-bottom-banner-right {
	display: flex !important;
	align-items: center !important;
	flex-shrink: 0 !important;
	margin-left: 20px !important;
}

/* Sidebar Help Widget at bottom */
.oss-sidebar-help-card {
	background: #f4fbf6 !important;
	border: 1px solid #d5ebd9 !important;
	border-radius: 12px !important;
	padding: 16px 14px !important;
	text-align: left !important;
	box-sizing: border-box !important;
	margin-top: 30px !important;
}

.oss-help-card-header {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-bottom: 6px !important;
}

.oss-help-phone-circle {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: #006837 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.oss-help-title {
	font-size: 1rem !important;
	font-weight: 800 !important;
	color: #006837 !important;
}

.oss-help-desc {
	margin: 0 0 4px 0 !important;
	font-size: 0.88rem !important;
	color: #475569 !important;
	font-weight: 500 !important;
}

.oss-help-phone {
	color: #006837 !important;
	font-weight: 800 !important;
	font-size: 1.15rem !important;
	margin-bottom: 2px !important;
	letter-spacing: -0.3px !important;
}

.oss-help-hours {
	color: #64748b !important;
	font-size: 0.78rem !important;
	font-weight: 500 !important;
}

/* ==========================================================================
   SUB-VIEWS LAYOUT: UNIFIED 2-COLUMN GRID SYSTEM
   ========================================================================== */
.oss-subview-grid,
.oss-overview-grid,
.oss-family-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 340px !important;
	gap: 15px !important;
	margin-bottom: 15px !important;
	align-items: start !important;
}

.oss-subview-main,
.oss-overview-col-left,
.oss-family-col-left {
	display: flex !important;
	flex-direction: column !important;
	gap: 15px !important;
	min-width: 0 !important;
}

.oss-subview-sidebar,
.oss-overview-col-right,
.oss-family-col-right {
	display: flex !important;
	flex-direction: column !important;
	gap: 15px !important;
	width: 340px !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

.oss-mb-24 {
	margin-bottom: 24px !important;
}

/* Card Container & Headers */
.oss-dash-card {
	background: #ffffff !important;
	border-radius: 14px !important;
	border: 1px solid #e2e8f0 !important;
	padding: 24px 28px !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
	box-sizing: border-box !important;
}

.oss-dash-card-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 18px !important;
}

.oss-dash-card-title-group {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
}

.oss-icon-sm {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	background-color: #dbeafe !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
}

.oss-icon-sm svg,
.oss-hub-icon-circle.blue svg {
	color: #062a6b !important;
	fill: #062a6b !important;
}

.oss-dash-card-heading {
	font-size: 1.25rem !important;
	font-weight: 800 !important;
	color: #062a6b !important;
	margin: 0 !important;
	line-height: 1.2 !important;
}

.oss-dash-card-heading.green-heading {
	color: #006837 !important;
}

.oss-card-subdesc {
	margin: 3px 0 0 0 !important;
	font-size: 0.88rem !important;
	color: #475569 !important;
	font-weight: 500 !important;
}

.oss-btn-outline-sm {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 6px 16px !important;
	background: #ffffff !important;
	border: 1.5px solid #2563eb !important;
	border-radius: 6px !important;
	color: #2563eb !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.oss-btn-outline-sm:hover {
	background: #eff6ff !important;
	color: #1d4ed8 !important;
}

.oss-btn-outline-block {
	display: block !important;
	width: 100% !important;
	padding: 10px 0 !important;
	background: #ffffff !important;
	border: 1.5px solid #2563eb !important;
	border-radius: 8px !important;
	color: #2563eb !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.oss-btn-outline-block:hover {
	background: #eff6ff !important;
	color: #1d4ed8 !important;
}

.oss-link-arrow {
	color: #2563eb !important;
	font-weight: 700 !important;
	font-size: 0.88rem !important;
	text-decoration: none !important;
}

.oss-link-arrow:hover {
	text-decoration: underline !important;
}

.oss-bold-navy {
	font-weight: 700 !important;
	color: #062a6b !important;
}

/* Your Plan & Pricing Table */
.oss-dash-table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin-top: 10px !important;
}

.oss-dash-table tr td {
	padding: 8px 0 !important;
	font-size: 0.95rem !important;
	vertical-align: top !important;
	border: none !important;
}

.oss-dash-table .label-col {
	font-weight: 700 !important;
	color: #1e293b !important;
	width: 175px !important;
	white-space: nowrap !important;
	padding-right: 12px !important;
}

.oss-dash-table td:not(.label-col) {
	color: #334155 !important;
	font-weight: 500 !important;
}

.oss-dash-table tr.total-row td {
	border-top: 1px solid #e2e8f0 !important;
	padding-top: 14px !important;
	margin-top: 6px !important;
}

/* Stat Boxes */
.oss-stats-row {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 14px !important;
	margin-top: 18px !important;
}

.oss-stat-box {
	background: #f0f7ff !important;
	border-radius: 12px !important;
	padding: 16px 12px !important;
	text-align: center !important;
	border: 1px solid #d0e7ff !important;
	box-sizing: border-box !important;
}

.oss-stat-box.green {
	background: #f4fbf6 !important;
	border-color: #d5ebd9 !important;
}

.oss-stat-box.navy {
	background: #f0f7ff !important;
	border-color: #d0e7ff !important;
}

.oss-stat-icon-top {
	margin-bottom: 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.oss-stat-num {
	font-size: 1.85rem !important;
	font-weight: 800 !important;
	color: #062a6b !important;
	line-height: 1 !important;
	margin-bottom: 6px !important;
}

.oss-stat-num.green-text {
	color: #006837 !important;
}

.oss-stat-label {
	font-size: 0.84rem !important;
	font-weight: 700 !important;
	color: #1e293b !important;
	line-height: 1.3 !important;
}

.oss-stat-sublabel {
	color: #64748b !important;
	font-weight: 500 !important;
	font-size: 0.78rem !important;
}

/* Member Information List */
.oss-member-info-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	margin-top: 10px !important;
}

.oss-member-info-row {
	display: flex !important;
	align-items: baseline !important;
	padding: 4px 0 !important;
	border: none !important;
	font-size: 0.95rem !important;
}

.oss-info-label {
	font-weight: 700 !important;
	color: #1e293b !important;
	width: 135px !important;
	flex-shrink: 0 !important;
	font-size: 0.95rem !important;
}

.oss-info-val {
    color: #334155 !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    word-break: break-all;
}

/* Quick Links Card */
.oss-quick-links-list {
	display: flex !important;
	flex-direction: column !important;
	margin-top: 8px !important;
}

.oss-quick-link-item {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid #f1f5f9 !important;
	color: #1e293b !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: all 0.2s !important;
}

.oss-quick-link-item:last-child {
	border-bottom: none !important;
}

.oss-quick-link-item:hover {
	color: #003a95 !important;
	padding-left: 4px !important;
}

.oss-quick-link-arrow {
	color: #003a95 !important;
	font-size: 1.2rem !important;
	font-weight: 700 !important;
}

/* Family & Friends Sub-View Components */
.oss-form-row-2col {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 16px !important;
	margin-bottom: 16px !important;
}

.oss-form-field {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.oss-label-sm {
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	color: #1e293b !important;
}

.oss-btn-block {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	padding: 12px 0 !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
}

.oss-info-footnote {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 0.84rem !important;
	color: #475569 !important;
	margin-top: 10px !important;
}

.oss-info-icon {
	color: #003a95 !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
}

/* Members Table */
.oss-table-responsive {
	width: 100% !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
}

.oss-members-table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 0.9rem !important;
	text-align: left !important;
}

.oss-members-table thead tr {
	background: #f8fafc !important;
	border-bottom: 1px solid #e2e8f0 !important;
}

.oss-members-table th {
	padding: 10px 12px !important;
	font-weight: 700 !important;
	color: #475569 !important;
	font-size: 0.82rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3px !important;
	white-space: nowrap !important;
}

.oss-members-table td {
	padding: 14px 12px !important;
	border-bottom: 1px solid #f1f5f9 !important;
	color: #334155 !important;
	vertical-align: middle !important;
}

.oss-member-name-cell {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.oss-avatar-circle {
	width: 34px !important;
	height: 34px !important;
	border-radius: 50% !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 0.85rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.oss-avatar-circle.blue {
	background: #003a95 !important;
}

.oss-avatar-circle.green {
	background: #006837 !important;
}

.oss-avatar-circle.darkgreen {
	background: #004d28 !important;
}

.oss-member-name {
	font-weight: 700 !important;
	color: #1e293b !important;
	white-space: nowrap !important;
}

.oss-pill-primary-badge {
	display: inline-block !important;
	background: #d5ebd9 !important;
	color: #006837 !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	padding: 2px 8px !important;
	border-radius: 20px !important;
	margin-top: 2px !important;
	white-space: nowrap !important;
}

.oss-pill-active {
	display: inline-block !important;
	background: #d5ebd9 !important;
	color: #006837 !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	padding: 3px 10px !important;
	border-radius: 20px !important;
	white-space: nowrap !important;
}

.oss-pill-pending {
	display: inline-block !important;
	background: #fef08a !important;
	color: #854d0e !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	padding: 3px 10px !important;
	border-radius: 20px !important;
	white-space: nowrap !important;
}

.oss-btn-table-action {
	padding: 4px 10px !important;
	border-radius: 6px !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	margin-left: 4px !important;
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	transition: all 0.2s !important;
	white-space: nowrap !important;
}

.oss-btn-table-action.edit {
	color: #003a95 !important;
	border-color: #003a95 !important;
}

.oss-btn-table-action.edit:hover {
	background: #003a95 !important;
	color: #ffffff !important;
}

.oss-btn-table-action.delete {
	color: #dc2626 !important;
	border-color: #dc2626 !important;
}

.oss-btn-table-action.delete:hover {
	background: #dc2626 !important;
	color: #ffffff !important;
}

.oss-table-footer-notice {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: #f8fafc !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	font-size: 0.84rem !important;
	color: #475569 !important;
	margin-top: 16px !important;
}

/* Right Column Widgets in Family Subview */
.oss-plan-badge-title {
	font-weight: 800 !important;
	color: #006837 !important;
	font-size: 1rem !important;
}

.oss-plan-badge-subtitle {
	font-size: 0.84rem !important;
	color: #64748b !important;
}

.oss-plan-stats-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin-bottom: 18px !important;
	padding-top: 10px !important;
	border-top: 1px solid #f1f5f9 !important;
}

.oss-plan-stat-row {
	display: flex !important;
	justify-content: space-between !important;
	font-size: 0.9rem !important;
}

/* Steps Vertical List */
.oss-steps-vertical-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
}

.oss-step-vertical-item {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
}

.oss-step-num-circle {
	width: 24px !important;
	height: 24px !important;
	border-radius: 50% !important;
	background: #006837 !important;
	color: #ffffff !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	margin-top: 2px !important;
}

.oss-step-content-text {
	font-size: 0.88rem !important;
	color: #334155 !important;
	line-height: 1.4 !important;
}

/* Upgrade Card when No Group Plan */
.oss-upgrade-card {
	padding: 40px 32px !important;
}

.oss-upgrade-header {
	text-align: center !important;
	max-width: 680px !important;
	margin: 0 auto 32px !important;
}

.oss-upgrade-title {
	font-size: 1.85rem !important;
	font-weight: 800 !important;
	color: #003a95 !important;
	margin: 0 0 10px 0 !important;
}

.oss-upgrade-desc {
	font-size: 1rem !important;
	color: #475569 !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}

.oss-upgrade-benefits-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 20px !important;
	max-width: 780px !important;
	margin: 0 auto !important;
}

.oss-upgrade-benefit-item {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	background: #f4fbf6 !important;
	border: 1px solid #d5ebd9 !important;
	border-radius: 12px !important;
	padding: 16px 18px !important;
}

.oss-check-circle {
	width: 26px !important;
	height: 26px !important;
	border-radius: 50% !important;
	background: #006837 !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	font-size: 0.85rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.oss-upgrade-benefit-item strong {
	display: block !important;
	font-size: 0.95rem !important;
	color: #006837 !important;
	margin-bottom: 3px !important;
}

.oss-upgrade-benefit-item p {
	margin: 0 !important;
	font-size: 0.85rem !important;
	color: #475569 !important;
	line-height: 1.35 !important;
}

/* General Dash Card Structure */
.oss-dash-card {
	background: #ffffff !important;
	border-radius: 12px !important;
	border: 1px solid #e5e7eb !important;
	padding: 15px !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
	box-sizing: border-box !important;
}

.oss-dash-table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 0.92rem !important;
	color: #334155 !important;
}

.oss-dash-table tr {
	height: 36px !important;
}

.oss-dash-table td.label-col {
	font-weight: 700 !important;
	width: 160px !important;
	color: #1e293b !important;
}

.oss-dash-table tr.total-row {
	border-top: 1px solid #e2e8f0 !important;
	font-weight: 800 !important;
	color: #003a95 !important;
}

.oss-back-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	color: #003a95 !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	text-decoration: none !important;
	margin-bottom: 12px !important;
}

.oss-back-link:hover {
	text-decoration: underline !important;
}

/* Alert Boxes */
.oss-alert-box {
	padding: 14px 20px !important;
	border-radius: 12px !important;
	margin-bottom: 24px !important;
	font-weight: 600 !important;
	font-size: 0.92rem !important;
}

.oss-alert-box.success {
	background: #e6f4ea !important;
	color: #137333 !important;
	border: 1px solid #ceead6 !important;
}

/* ==========================================================================
   5. REUSABLE UTILITIES & COMPONENT HELPERS (ZERO INLINE CSS)
   ========================================================================== */
.oss-text-right { text-align: right !important; }
.oss-text-center { text-align: center !important; }
.oss-text-left { text-align: left !important; }
.oss-text-muted { color: #64748b !important; }
.oss-muted-cell { text-align: right !important; color: #94a3b8 !important; }
.oss-bold-navy-title { color: #062a6b !important; font-weight: 700 !important; }

/* Spacing Utilities */
.oss-mb-0 { margin-bottom: 0 !important; }
.oss-mb-4 { margin-bottom: 4px !important; }
.oss-mb-6 { margin-bottom: 6px !important; }
.oss-mb-8 { margin-bottom: 8px !important; }
.oss-mb-10 { margin-bottom: 10px !important; }
.oss-mb-12 { margin-bottom: 12px !important; }
.oss-mb-14 { margin-bottom: 14px !important; }
.oss-mb-16 { margin-bottom: 16px !important; }
.oss-mb-18 { margin-bottom: 18px !important; }
.oss-mb-20 { margin-bottom: 20px !important; }
.oss-mb-24 { margin-bottom: 24px !important; }
.oss-mb-28 { margin-bottom: 28px !important; }
.oss-mt-10 { margin-top: 10px !important; }
.oss-mt-16 { margin-top: 16px !important; }
.oss-mt-24 { margin-top: 24px !important; }
.oss-mt-32 { margin-top: 32px !important; }

/* Sizing & Display Helpers */
.oss-w-auto { width: auto !important; }
.oss-d-inline-block { display: inline-block !important; }
.oss-d-none { display: none !important; }
.oss-cursor-pointer { cursor: pointer !important; }

/* Specific Component Helpers */
.oss-icon-plus { font-size: 1.1rem !important; margin-right: 4px !important; }
.oss-icon-lg { width: 72px !important; height: 72px !important; margin: 0 auto 18px !important; }
.oss-hub-icon-circle.navy-bg { background: #003a95 !important; }
.oss-check-circle-sm { width: 20px !important; height: 20px !important; font-size: 0.75rem !important; }
.oss-help-phone-lg { font-size: 1.3rem !important; }
.oss-email-link { color: #003a95 !important; font-weight: 800 !important; font-size: 1.05rem !important; text-decoration: underline !important; }
.oss-faq-q-title { display: block !important; color: #062a6b !important; margin-bottom: 4px !important; font-size: 0.95rem !important; }
.oss-stat-box.card-support { text-align: left !important; padding: 20px !important; }

/* Button Component Extensions */
.oss-btn-inline { display: inline-block !important; width: auto !important; padding: 12px 32px !important; cursor: pointer !important; }
.oss-btn-upgrade { display: inline-block !important; width: auto !important; padding: 15px 42px !important; font-size: 1.1rem !important; border-radius: 10px !important; }

/* Auth Required Box */
.oss-auth-required-box { max-width: 600px !important; margin: 60px auto !important; padding: 40px 20px !important; text-align: center !important; background: #ffffff !important; border-radius: 12px !important; box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important; }
.oss-auth-required-title { color: #003a95 !important; margin-bottom: 12px !important; }
.oss-auth-required-desc { color: #64748b !important; margin-bottom: 24px !important; }
.oss-auth-required-btn { display: inline-block !important; padding: 12px 30px !important; background: #003a95 !important; color: #ffffff !important; border-radius: 8px !important; text-decoration: none !important; font-weight: 600 !important; }

/* Plans Tagline */
.oss-plans-subtitle-strong { color: #062a6b !important; font-weight: 700 !important; }
.oss-plans-subtitle-muted { color: #475569 !important; }
.oss-script-tagline { font-family: 'Segoe Print', cursive !important; font-size: 1.4rem !important; font-weight: 700 !important; color: #003a95 !important; transform: rotate(-3deg) !important; display: inline-block !important; }

/* Logged In Card Utilities */
.oss-card-logged-in { text-align: center !important; padding: 48px 36px !important; }
.oss-logged-in-avatar { width: 64px !important; height: 64px !important; border-radius: 50% !important; background: #d5ebd9 !important; color: #006837 !important; margin: 0 auto 20px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.oss-actions-stack { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.oss-login-error, .oss-alert-box.error { padding: 14px 18px !important; margin-bottom: 20px !important; background-color: #fce8e6 !important; color: #c5221f !important; border: 1px solid #fad2cf !important; border-radius: 10px !important; font-weight: 600 !important; font-size: 0.9rem !important; }
.oss-btn-login-submit { background-color: #062a6b !important; padding: 14px !important; border-radius: 10px !important; font-size: 1rem !important; font-weight: 700 !important; width: 100% !important; }

/* Checkout Page Helpers */
.oss-checkout-step-intro { font-size: 0.92rem !important; color: #64748b !important; margin-bottom: 20px !important; }
.oss-plan-top-row { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; margin-bottom: 8px !important; }
.oss-radio-input, .oss-check-input { accent-color: #003a95 !important; width: 20px !important; height: 20px !important; }
.oss-checkout-plan-title { font-size: 1.1rem !important; font-weight: 800 !important; color: #062a6b !important; margin-bottom: 4px !important; }
.oss-checkout-plan-desc { font-size: 0.85rem !important; color: #64748b !important; margin-bottom: 12px !important; }
.oss-price-suffix { font-size: 0.9rem !important; font-weight: 600 !important; color: #64748b !important; }
.oss-billed-subtext { color: #64748b !important; font-size: 0.78rem !important; }
.oss-checkout-plus-sign { font-size: 1.8rem !important; font-weight: 800 !important; color: #062a6b !important; }
.oss-seats-row { margin-top: 12px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; }
.oss-seats-label { font-size: 0.8rem !important; font-weight: 700 !important; color: #334155 !important; }
.oss-form-row-address { display: grid !important; grid-template-columns: 2fr 1.5fr 1.5fr 2fr !important; gap: 14px !important; }
.oss-billing-header-row { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; }
.oss-same-as-account-label { font-size: 0.9rem !important; color: #334155 !important; font-weight: 600 !important; cursor: pointer !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.oss-btn-checkout-submit { width: 100% !important; justify-content: center !important; border: none !important; cursor: pointer !important; }
.oss-enc-guarantee-text { text-align: center !important; font-size: 0.85rem !important; color: #64748b !important; margin-top: 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; }
.oss-summary-price { font-weight: 800 !important; color: #062a6b !important; }
.oss-summary-suffix { font-weight: 500 !important; font-size: 0.85rem !important; color: #64748b !important; }
.oss-total-label-strong { font-size: 1.1rem !important; color: var(--oss-navy) !important; }
.oss-per-person-header { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 8px !important; }
.oss-per-person-title { color: #166534 !important; font-size: 0.95rem !important; }
.oss-per-person-list { padding-left: 24px !important; margin: 0 !important; font-size: 0.85rem !important; color: #166534 !important; }
.oss-trust-box { border-radius: 12px !important; padding: 16px !important; margin-top: 16px !important; display: flex !important; align-items: center !important; gap: 12px !important; }
.oss-trust-box.secure-box { background: #f0f7ff !important; border: 1px solid #bae6fd !important; }
.oss-trust-box.secure-box strong { color: #062a6b !important; font-size: 0.9rem !important; }
.oss-trust-box.secure-box p { margin: 0 !important; font-size: 0.8rem !important; color: #475569 !important; }
.oss-trust-box.guarantee-box { background: #fefce8 !important; border: 1px solid #fef08a !important; }
.oss-trust-box.guarantee-box strong { color: #854d0e !important; font-size: 0.9rem !important; }
.oss-trust-box.guarantee-box p { margin: 0 !important; font-size: 0.8rem !important; color: #713f12 !important; }
.oss-checkout-support-box { margin-top: 24px !important; text-align: center !important; border-top: 1px solid #e2e8f0 !important; padding-top: 20px !important; }
.oss-checkout-contact-row { display: flex !important; align-items: center !important; justify-content: center !important; gap: 16px !important; margin-top: 10px !important; font-size: 0.88rem !important; font-weight: 700 !important; color: #062a6b !important; }

/* ==========================================================================
   FAMILY & FRIENDS MEMBERS TABLE (MOCKUP ACCURATE)
   ========================================================================== */
.oss-table-responsive {
	width: 100% !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
}

.oss-table-responsive::-webkit-scrollbar {
  height: 5px;
}

.oss-table-responsive::-webkit-scrollbar-track {
  background: #062a6b1a; 
}
 
.oss-table-responsive::-webkit-scrollbar-thumb {
  background: #003a95; 
  border-radius: 4px;
}

.oss-table-responsive::-webkit-scrollbar-thumb:hover {
  background: #555; 
}

.oss-members-table {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	margin: 0 !important;
	font-family: inherit !important;
}

.oss-members-table thead th {
	background-color: #f1f5fa !important;
	color: #062a6b !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	padding: 10px !important;
	text-align: left !important;
	border: none !important;
	white-space: nowrap !important;
	text-transform: capitalize !important;
}

.oss-members-table thead th:first-child {
	border-top-left-radius: 8px !important;
	border-bottom-left-radius: 0 !important;
}

.oss-members-table thead th:last-child {
	border-top-right-radius: 8px !important;
	border-bottom-right-radius: 0 !important;
}

.oss-members-table tbody tr {
	transition: background-color 0.15s ease !important;
}

.oss-members-table tbody tr:hover {
	background-color: #f8fafc !important;
}

.oss-members-table tbody td {
	padding: 10px !important;
	vertical-align: middle !important;
	border: none !important;
	border-bottom: 1px solid #edf2f7 !important;
	color: #334155 !important;
	font-size: 0.92rem !important;
	background: transparent !important;
	text-wrap: nowrap;
}

.oss-members-table tbody tr:last-child td {
	border-bottom: none !important;
}

/* Member Name Cell & Avatar */
.oss-member-name-cell {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
}

.oss-avatar-circle {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	flex-shrink: 0 !important;
	letter-spacing: 0.5px !important;
}

.oss-avatar-circle.blue {
	background-color: #0070f3 !important;
}

.oss-avatar-circle.green {
	background-color: #006837 !important;
}

.oss-avatar-circle.darkgreen {
	background-color: #006837 !important;
}

.oss-member-name {
	font-size: 0.95rem !important;
	font-weight: 800 !important;
	color: #062a6b !important;
	line-height: 1.25 !important;
}

.oss-pill-primary-badge {
	display: inline-block !important;
	background-color: #dcfce7 !important;
	color: #15803d !important;
	font-size: 0.76rem !important;
	font-weight: 700 !important;
	padding: 2px 8px !important;
	border-radius: 4px !important;
	margin-top: 4px !important;
	line-height: 1.3 !important;
}

/* Status Badges */
.oss-pill-active {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 88px !important;
	padding: 6px 16px !important;
	border-radius: 6px !important;
	background-color: #e6f4ea !important;
	color: #137333 !important;
	font-weight: 700 !important;
	font-size: 0.88rem !important;
	line-height: 1.2 !important;
}

.oss-pill-pending {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 104px !important;
	padding: 6px 14px !important;
	border-radius: 6px !important;
	background-color: #fef3c7 !important;
	color: #92400e !important;
	font-weight: 700 !important;
	font-size: 0.85rem !important;
	line-height: 1.2 !important;
}

/* Action Buttons */
.oss-table-actions-group {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 10px !important;
}

.oss-btn-table-action {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 6px 18px !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	border-radius: 6px !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	line-height: 1.25 !important;
	background-color: #ffffff !important;
}

.oss-btn-table-action.edit {
	color: #2563eb !important;
	border: 1.5px solid #2563eb !important;
}

.oss-btn-table-action.edit:hover {
	background-color: #eff6ff !important;
}

.oss-btn-table-action.edit-resend {
	padding: 6px 12px !important;
	font-size: 0.85rem !important;
	color: #2563eb !important;
	border: 1.5px solid #2563eb !important;
}

.oss-btn-table-action.edit-resend:hover {
	background-color: #eff6ff !important;
}

.oss-btn-table-action.delete {
	color: #ef4444 !important;
	border: 1.5px solid #ef4444 !important;
}

.oss-btn-table-action.delete:hover {
	background-color: #fef2f2 !important;
}

.oss-muted-dash {
	color: #64748b !important;
	font-size: 1.2rem !important;
	font-weight: 600 !important;
	display: inline-block !important;
	text-align: center !important;
}

/* Bottom Callout Notice */
.oss-table-footer-notice {
	margin-top: 24px !important;
	padding: 14px 18px !important;
	background-color: #f0f7ff !important;
	border-radius: 10px !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	color: #1e293b !important;
	font-size: 0.92rem !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
}

.oss-notice-info-icon {
	width: 22px !important;
	height: 22px !important;
	background-color: #062a6b !important;
	color: #ffffff !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
	font-family: serif !important;
	font-style: italic !important;
	flex-shrink: 0 !important;
}

/* ==========================================================================
   RESPONSIVE DESIGN (DESKTOP, TABLET, MOBILE)
   ========================================================================== */
@media (max-width: 1024px) {
	.oss-subview-grid,
	.oss-overview-grid,
	.oss-family-grid {
		grid-template-columns: 1fr !important;
	}
	.oss-subview-sidebar,
	.oss-overview-col-right,
	.oss-family-col-right {
		width: 100% !important;
	}
	.oss-dashboard-layout {
		grid-template-columns: 240px 1fr !important;
	}
	.oss-hub-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 768px) {
	.oss-dashboard-layout {
		grid-template-columns: 1fr !important;
	}
	.oss-dashboard-main {
		padding: 20px 16px 36px !important;
	}
	.oss-sidebar {
		border-right: none !important;
		border-bottom: 1px solid #e2e8f0 !important;
		padding: 16px !important;
	}
	.oss-sidebar-menu {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
	}
	.oss-sidebar-item {
		flex: 1 1 calc(50% - 8px) !important;
	}
	.oss-sidebar-item a {
		padding: 10px 12px !important;
		font-size: 0.9rem !important;
	}
	.oss-sidebar-help-card {
		display: none !important;
	}
	.oss-dashboard-top-banner {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 16px !important;
		padding: 16px !important;
	}
	.oss-banner-left {
		max-width: 100% !important;
	}
	.oss-dashboard-title {
		font-size: 1.65rem !important;
	}
	.oss-hub-grid {
		grid-template-columns: 1fr !important;
	}
	.oss-stats-row {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}
	.oss-form-row-2col {
		grid-template-columns: 1fr !important;
	}
	.oss-upgrade-benefits-grid {
		grid-template-columns: 1fr !important;
	}
	.oss-bottom-banner {
		flex-direction: column !important;
		gap: 16px !important;
		text-align: center !important;
		padding: 20px 16px !important;
	}
	.oss-bottom-banner-left {
		flex-direction: column !important;
		text-align: center !important;
	}
	.oss-bottom-banner-right {
		margin-left: 0 !important;
	}
}

@media (max-width: 480px) {
	.oss-sidebar-item {
		flex: 1 1 100% !important;
	}
	.oss-stats-row {
		grid-template-columns: 1fr !important;
	}
	.oss-dash-card {
		padding: 18px 14px !important;
	}
}

/* Modal Overlay & Card Styling */
.oss-inline-action-form {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
}

.oss-modal-overlay {
	display: none !important;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: rgba(10, 37, 64, 0.6) !important;
	backdrop-filter: blur(4px) !important;
	z-index: 999999 !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px !important;
}

.oss-modal-overlay.active {
	display: flex !important;
}

.oss-modal-card {
	background: #ffffff !important;
	width: 100% !important;
	max-width: 500px !important;
	border-radius: 16px !important;
	padding: 28px !important;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2) !important;
	position: relative !important;
	animation: ossModalFadeIn 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@keyframes ossModalFadeIn {
	from {
		opacity: 0;
		transform: translateY(-16px) scale(0.97);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.oss-modal-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 20px !important;
	border-bottom: 1px solid #e2e8f0 !important;
	padding-bottom: 14px !important;
}

.oss-modal-title {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #003a95 !important;
	margin: 0 !important;
	font-family: inherit !important;
}

.oss-modal-close {
	background: none !important;
	border: none !important;
	font-size: 1.75rem !important;
	color: #64748b !important;
	cursor: pointer !important;
	line-height: 1 !important;
	padding: 0 4px !important;
	transition: color 0.2s ease !important;
}

.oss-modal-close:hover {
	color: #003a95 !important;
}

.oss-modal-footer {
	display: flex !important;
	justify-content: flex-end !important;
	gap: 12px !important;
	margin-top: 24px !important;
	border-top: 1px solid #e2e8f0 !important;
	padding-top: 18px !important;
}

/* Billing Sub-view Mockup Layout Styling */
.oss-payment-method-body {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	padding: 12px 0 4px 0 !important;
}

.oss-card-brand-logo {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.oss-card-masked-number {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: #0a2540 !important;
	letter-spacing: 1px !important;
	line-height: 1.3 !important;
}

.oss-card-exp-date {
	font-size: 0.875rem !important;
	color: #64748b !important;
	margin-top: 2px !important;
}

.oss-card-auto-renewal {
	background: #f0fdf4 !important;
	border: 1px solid #dcfce7 !important;
}

.oss-link-blue {
	color: #003a95 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.oss-link-blue:hover {
	text-decoration: underline !important;
}

.oss-table-th-bg th {
	background-color: #f8fafc !important;
	font-weight: 700 !important;
	color: #334155 !important;
}

/* Change Password Sub-view Mockup Layout Styling */
.oss-input-password-wrapper {
	position: relative !important;
	width: 100% !important;
}

.oss-input-password-wrapper .oss-input {
	padding-right: 46px !important;
	padding-left: 15px !important;
}

.oss-password-toggle-btn {
	position: absolute !important;
	right: 12px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	background: none !important;
	border: none !important;
	cursor: pointer !important;
	padding: 4px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #003a95 !important;
	outline: none !important;
}

.oss-password-rules-box {
	background: #eff6ff !important;
	border: 1px solid #dbeafe !important;
	border-radius: 12px !important;
	padding: 16px 20px !important;
	margin: 20px 0 !important;
}

.oss-password-rules-title {
	font-weight: 700 !important;
	color: #003a95 !important;
	font-size: 0.95rem !important;
	margin-bottom: 10px !important;
}

.oss-password-rules-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.oss-password-rules-item {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 0.9rem !important;
	color: #64748b !important;
	transition: color 0.2s ease !important;
}

.oss-check-circle {
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	background: #f1f5f9 !important;
	border: 1.5px solid #cbd5e1 !important;
	color: transparent !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	flex-shrink: 0 !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
}

.oss-password-rules-item.valid .oss-check-circle {
	background: #16a34a !important;
	border-color: #16a34a !important;
	color: #ffffff !important;
}

.oss-password-rules-item.valid {
	color: #0f172a !important;
	font-weight: 600 !important;
}

.oss-password-rules-item.invalid-warn .oss-check-circle {
	background: #fef2f2 !important;
	border-color: #ef4444 !important;
	color: #ef4444 !important;
}

.oss-password-rules-item.invalid-warn {
	color: #dc2626 !important;
}

.oss-check-green-circle {
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	background: #16a34a !important;
	color: #ffffff !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	flex-shrink: 0 !important;
}

.oss-form-btn-group {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin-top: 24px !important;
}

.oss-btn-navy-submit {
	background: #003a95 !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	padding: 12px 32px !important;
	border-radius: 8px !important;
	border: none !important;
	font-size: 0.95rem !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease !important;
}

.oss-btn-navy-submit:hover {
	background: #002b70 !important;
}

.oss-btn-outline-cancel {
	background: #ffffff !important;
	color: #003a95 !important;
	font-weight: 700 !important;
	padding: 11px 28px !important;
	border-radius: 8px !important;
	border: 1.5px solid #003a95 !important;
	font-size: 0.95rem !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.2s ease !important;
}

.oss-btn-outline-cancel:hover {
	background: #f0f7ff !important;
	text-decoration: none !important;
}

.oss-card-keep-safe {
	background: #f0fdf4 !important;
	border: 1px solid #dcfce7 !important;
}

.oss-card-need-help-blue {
	background: #eff6ff !important;
	border: 1px solid #dbeafe !important;
}

/* Help Sub-view Mockup Layout Styling */
.oss-faq-header-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 20px !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
}

.oss-faq-heading {
	font-size: 1.45rem !important;
	font-weight: 800 !important;
	color: #003a95 !important;
	margin: 0 !important;
	font-family: inherit !important;
}

.oss-search-input-wrapper {
	position: relative !important;
	width: 280px !important;
	max-width: 100% !important;
}

.oss-search-input-wrapper .oss-search-icon {
	position: absolute !important;
	left: 12px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: #003a95 !important;
	pointer-events: none !important;
}

.oss-search-input-wrapper .oss-search-input {
	padding-left: 36px !important;
	padding-right: 14px !important;
	height: 38px !important;
	border-radius: 8px !important;
	border: 1px solid #cbd5e1 !important;
	font-size: 0.88rem !important;
	width: 100% !important;
	box-sizing: border-box !important;
	background: #ffffff !important;
}

.oss-search-input-wrapper .oss-search-input:focus {
	border-color: #003a95 !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(0, 58, 149, 0.1) !important;
}

.oss-faq-accordion-card {
	background: #ffffff !important;
	border-radius: 12px !important;
	border: 1px solid #e2e8f0 !important;
	overflow: hidden !important;
	margin-bottom: 24px !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.02) !important;
}

.oss-faq-accordion-item {
	border-bottom: 1px solid #f1f5f9 !important;
}

.oss-faq-accordion-item:last-child {
	border-bottom: none !important;
}

.oss-faq-question-btn {
	width: 100% !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 16px 20px !important;
	background: none !important;
	border: none !important;
	text-align: left !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #1e293b !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease, color 0.2s ease !important;
}

.oss-faq-question-btn:hover {
	background-color: #f8fafc !important;
	color: #003a95 !important;
}

.oss-faq-chevron {
	color: #003a95 !important;
	transition: transform 0.25s ease !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.oss-faq-accordion-item.active .oss-faq-chevron {
	transform: rotate(180deg) !important;
}

.oss-faq-answer-content {
	display: none;
	padding: 0 20px 18px 20px !important;
	font-size: 0.9rem !important;
	color: #475569 !important;
	line-height: 1.6 !important;
}

.oss-faq-accordion-item.active .oss-faq-answer-content {
	display: block !important;
}

/* Bottom 2 Cards Grid */
.oss-help-bottom-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 20px !important;
}

@media (max-width: 768px) {
	.oss-help-bottom-grid {
		grid-template-columns: 1fr !important;
	}
}

.oss-help-card-box {
	border-radius: 14px !important;
	padding: 24px 20px !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 16px !important;
	box-sizing: border-box !important;
}

.oss-help-card-box.green {
	background: #f0fdf4 !important;
	border: 1px solid #dcfce7 !important;
}

.oss-help-card-box.blue {
	background: #eff6ff !important;
	border: 1px solid #dbeafe !important;
}

.oss-help-card-icon-wrap {
	flex-shrink: 0 !important;
	margin-top: 2px !important;
}

.oss-help-card-body-content {
	flex: 1 !important;
}

.oss-help-card-title {
	font-size: 1.2rem !important;
	font-weight: 800 !important;
	margin: 0 0 6px 0 !important;
}

.oss-help-card-title.green {
	color: #006837 !important;
}

.oss-help-card-title.blue {
	color: #003a95 !important;
}

.oss-help-card-desc {
	font-size: 0.86rem !important;
	color: #334155 !important;
	margin: 0 0 16px 0 !important;
	line-height: 1.45 !important;
}

.oss-btn-green-solid {
	background: #006837 !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	padding: 10px 24px !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	display: inline-block !important;
	text-align: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
	transition: background 0.2s ease !important;
}

.oss-btn-green-solid:hover {
	background: #004d28 !important;
	color: #ffffff !important;
}

.oss-btn-blue-outline {
	background: #ffffff !important;
	color: #003a95 !important;
	border: 1.5px solid #003a95 !important;
	font-weight: 700 !important;
	padding: 9px 24px !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	display: inline-block !important;
	text-align: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
	transition: all 0.2s ease !important;
}

.oss-btn-blue-outline:hover {
	background: #f0f7ff !important;
	color: #003a95 !important;
}

/* Member Checkout Page Layout Styling */
.oss-checkout-wrapper {
	max-width: 1200px !important;
	margin: 0 auto 60px auto !important;
	padding: 0 20px !important;
	font-family: inherit !important;
	box-sizing: border-box !important;
}

.oss-checkout-header-bar {
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: 24px 0 32px 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    margin-bottom: 32px !important;
    flex-wrap: wrap !important;
    align-content: center;
}

.oss-brand-logo-text {
	font-size: 1.5rem !important;
	font-weight: 800 !important;
	color: #003a95 !important;
}

.oss-checkout-steps-bar {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
}

.oss-checkout-step {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: #64748b !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
}

.oss-checkout-step.active {
	color: #003a95 !important;
	font-weight: 700 !important;
}

.oss-checkout-step .oss-step-circle {
	width: 26px !important;
	height: 26px !important;
	border-radius: 50% !important;
	background: #cbd5e1 !important;
	color: #ffffff !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
}

.oss-checkout-step.active .oss-step-circle {
	background: #006837 !important;
}

.oss-step-divider {
	width: 80px !important;
	height: 2px !important;
	background: #e2e8f0 !important;
}

.oss-checkout-main-grid {
	display: grid !important;
	grid-template-columns: 1.6fr 1fr !important;
	gap: 32px !important;
	align-items: start !important;
}

@media (max-width: 992px) {
	.oss-checkout-main-grid {
		grid-template-columns: 1fr !important;
	}
}

.oss-checkout-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 15px !important;
    margin-bottom: 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
}

.oss-checkout-section-title {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #003a95 !important;
	margin: 0 0 4px 0 !important;
}

.oss-checkout-section-subtitle {
	font-size: 0.9rem !important;
	color: #475569 !important;
	margin: 0 0 20px 0 !important;
}

.oss-plan-choice-grid {
	display: grid !important;
	grid-template-columns: 1fr auto 1fr !important;
	align-items: stretch !important;
	gap: 12px !important;
	margin-bottom: 16px !important;
}

.oss-plan-plus-divider {
	font-size: 26px !important;
	font-weight: 700 !important;
	color: #003a95 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 4px !important;
	line-height: 1 !important;
	user-select: none !important;
}

@media (max-width: 640px) {
	.oss-plan-choice-grid {
		grid-template-columns: 1fr !important;
	}
	.oss-plan-plus-divider {
		padding: 4px 0 !important;
		text-align: center !important;
	}
}

.oss-plan-choice-card {
	background: #ffffff !important;
	border: 2px solid #e2e8f0 !important;
	border-radius: 12px !important;
	padding: 20px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	display: flex !important;
	flex-direction: row !important;
	gap: 14px !important;
	position: relative !important;
	box-sizing: border-box !important;
	height: 100% !important;
	align-items: stretch !important;
}

.oss-plan-choice-card.selected {
	border-color: #003a95 !important;
	background: #f0f7ff !important;
}

.oss-plan-choice-radio-wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 12px !important;
}

.oss-plan-radio {
	width: 20px !important;
	height: 20px !important;
	accent-color: #003a95 !important;
	cursor: pointer !important;
}

.oss-plan-icon-circle {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.oss-plan-icon-circle.green {
	background: #d5ebd9 !important;
}

.oss-plan-icon-circle.blue {
	background: #dbeafe !important;
}

.oss-plan-choice-content {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	height: 100% !important;
}

.oss-review-order-card,
.oss-confirmation-card {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px !important;
	padding: 32px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
	box-sizing: border-box !important;
}

.oss-review-summary-box {
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	padding: 20px !important;
	margin: 20px 0 !important;
}

.oss-review-detail-row {
	display: flex !important;
	justify-content: space-between !important;
	padding: 10px 0 !important;
	border-bottom: 1px dashed #cbd5e1 !important;
	font-size: 0.95rem !important;
}

.oss-review-detail-row:last-child {
	border-bottom: none !important;
}

.oss-review-actions-row {
	display: flex !important;
	gap: 16px !important;
	align-items: center !important;
	margin-top: 24px !important;
}

.oss-btn-edit-order {
	background: transparent !important;
	border: 1px solid #94a3b8 !important;
	color: #475569 !important;
	padding: 14px 24px !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
}

.oss-btn-edit-order:hover {
	background: #f1f5f9 !important;
	color: #0f172a !important;
}

.oss-plan-title-row {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
	margin-bottom: 6px !important;
}

.oss-plan-name {
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	color: #0f172a !important;
}

.oss-badge-recommended {
	background: #006837 !important;
	color: #ffffff !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	padding: 3px 8px !important;
	border-radius: 4px !important;
}

.oss-plan-desc {
	font-size: 0.85rem !important;
	color: #475569 !important;
	margin: 0 0 12px 0 !important;
	line-height: 1.4 !important;
}

.oss-plan-price-wrap {
	display: flex !important;
	align-items: baseline !important;
	gap: 4px !important;
}

.oss-price-big {
	font-size: 1.8rem !important;
	font-weight: 800 !important;
	color: #003a95 !important;
}

.oss-price-period {
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	color: #64748b !important;
}

.oss-price-subtext {
	display: block !important;
	font-size: 0.78rem !important;
	color: #64748b !important;
	margin-top: 2px !important;
}

.oss-seat-counter-wrap {
	margin-top: 14px !important;
	padding-top: 12px !important;
	border-top: 1px dashed #cbd5e1 !important;
}

.oss-counter-label {
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	color: #003a95 !important;
	display: block !important;
	margin-bottom: 6px !important;
}

.oss-counter-controls {
	display: inline-flex !important;
	align-items: center !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	overflow: hidden !important;
}

.oss-counter-btn {
	background: #f1f5f9 !important;
	border: none !important;
	width: 32px !important;
	height: 32px !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	color: #003a95 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: background 0.2s ease !important;
}

.oss-counter-btn:hover {
	background: #e2e8f0 !important;
}

.oss-counter-input {
    width: 48px !important;
    height: 36px !important;
    border: none !important;
    text-align: center !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    background: transparent !important;
    padding: 0 !important;
}

.oss-plan-info-callout {
	background: #eff6ff !important;
	border: 1px solid #dbeafe !important;
	border-radius: 10px !important;
	padding: 12px 16px !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 0.85rem !important;
	color: #1e3a8a !important;
}

.oss-info-icon-blue {
	color: #003a95 !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
}

.oss-payment-tabs {
	display: flex !important;
	gap: 10px !important;
	margin-bottom: 20px !important;
	flex-wrap: wrap !important;
}

.oss-pay-tab {
	flex: 1 !important;
	min-width: 110px !important;
	padding: 12px 10px !important;
	border-radius: 8px !important;
	border: 1.5px solid #cbd5e1 !important;
	background: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	color: #334155 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.oss-pay-tab.active {
	border-color: #006837 !important;
	background: #f0fdf4 !important;
	color: #006837 !important;
}

.oss-pay-brand-text.blue {
	color: #003a95 !important;
	font-style: italic !important;
	font-size: 1.05rem !important;
}

/* Logged in checkout account notice */
.oss-logged-in-notice {
	background: #f0f7ff !important;
	border: 1px solid #bfdbfe !important;
	border-radius: 10px !important;
	padding: 14px 18px !important;
	font-size: 0.92rem !important;
	color: #1e3a8a !important;
	line-height: 1.5 !important;
}

.oss-logged-in-notice p {
	margin: 0 !important;
}

.oss-logout-link {
	color: #dc2626 !important;
	font-weight: 700 !important;
	margin-left: 8px !important;
	text-decoration: underline !important;
}

/* Manual Payment Info Box */
.oss-manual-info-box {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	background: #f0fdf4 !important;
	border: 1px solid #bbf7d0 !important;
	border-radius: 12px !important;
	padding: 16px 20px !important;
	margin-top: 16px !important;
	margin-bottom: 8px !important;
}

.oss-manual-icon {
	flex-shrink: 0 !important;
	margin-top: 2px !important;
}

.oss-manual-icon svg {
	stroke: #006837 !important;
}

.oss-manual-text strong {
	display: block !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: #006837 !important;
	margin-bottom: 4px !important;
}

.oss-manual-text p {
	margin: 0 !important;
	font-size: 0.88rem !important;
	color: #1e293b !important;
	line-height: 1.5 !important;
}

/* PMS Payment Gateway Styling - Responsive Horizontal Tabs Matching Mockup */
.pms-paygates-holder {
	display: block !important;
	margin-top: 10px !important;
}

#pms-paygates-wrapper {
	display: block !important;
	margin-bottom: 18px !important;
}

#pms-paygates-wrapper > h3 {
	display: none !important; /* Section 3 title already covers this */
}

#pms-paygates-inner {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin-bottom: 20px !important;
}

#pms-paygates-inner > label {
	flex: 1 1 0 !important;
	min-width: 140px !important;
	height: 48px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: #ffffff !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 8px !important;
	padding: 0 16px !important;
	cursor: pointer !important;
	font-size: 0.90rem !important;
	font-weight: 600 !important;
	color: #334155 !important;
	white-space: nowrap !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
}

#pms-paygates-inner > label:hover {
	border-color: #cbd5e1 !important;
	background: #f8fafc !important;
}

#pms-paygates-inner > label:has(input:checked),
#pms-paygates-inner > label.active {
	border: 2px solid #006837 !important;
	background: #f0fdf4 !important;
	color: #006837 !important;
	box-shadow: 0 1px 3px rgba(0, 104, 55, 0.08) !important;
}

#pms-paygates-inner input.pms_pay_gate {
	position: absolute !important;
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	pointer-events: none !important;
	margin: 0 !important;
}

#pms-paygates-inner .pms-paygate-name {
    font-size: 0.90rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: none !important;
    border: none;
    width: auto;
}

.oss-gw-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	width: 20px !important;
	height: 20px !important;
}

.oss-gw-icon svg {
	width: 18px !important;
	height: 18px !important;
	display: block !important;
}

#pms-submit-button-loading-placeholder-text {
	display: none !important;
}

/* ==========================================================================
   PMS Billing Details Grid & Inputs Styling
   ========================================================================== */
.oss-pms-billing-extra-fields {
	margin-top: 8px !important;
	margin-bottom: 8px !important;
}

.oss-pms-billing-extra-fields ul.pms-billing-details,
.oss-pms-billing-extra-fields .pms-section-billing-details {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(12, 1fr) !important;
	gap: 16px !important;
}

.oss-pms-billing-extra-fields li.pms-field.pms-field-type-heading {
    display: none;
}

.chosen-container-single .chosen-single {
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    line-height: unset !important;
}

#pms_billing_country_chosen, #pms_billing_state_chosen {
    width: 100% !important;
    height: 44px !important;
    padding: 10px 14px !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    color: #1e293b !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.oss-pms-billing-extra-fields ul.pms-billing-details li.pms-field,
.oss-pms-billing-extra-fields .pms-section-billing-details li.pms-field {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* Grid Spans for Clean Billing Layout */
.oss-pms-billing-extra-fields li.pms-billing-first-name,
.oss-pms-billing-extra-fields li.pms-billing-last-name {
	grid-column: span 6 !important;
}

.oss-pms-billing-extra-fields li.pms-billing-email,
.oss-pms-billing-extra-fields li.pms-billing-company {
	grid-column: span 6 !important;
}

.oss-pms-billing-extra-fields li.pms-billing-address {
	grid-column: span 12 !important;
}

.oss-pms-billing-extra-fields li.pms-billing-city {
	grid-column: span 3 !important;
}

.oss-pms-billing-extra-fields li.pms-billing-state {
	grid-column: span 3 !important;
}

.oss-pms-billing-extra-fields li.pms-billing-zip {
	grid-column: span 3 !important;
}

.oss-pms-billing-extra-fields li.pms-billing-country {
	grid-column: span 3 !important;
}

/* Labels */
.oss-pms-billing-extra-fields label.cozmoslabs-form-field-label,
.oss-pms-billing-extra-fields label {
	display: block !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	color: #003a95 !important;
	margin-bottom: 6px !important;
}

.oss-pms-billing-extra-fields .pms-field-required-asterix {
	color: #dc2626 !important;
	margin-left: 2px !important;
}

/* Inputs & Selects */
.oss-pms-billing-extra-fields input[type="text"],
.oss-pms-billing-extra-fields input[type="email"],
.oss-pms-billing-extra-fields select {
	width: 100% !important;
	height: 44px !important;
	padding: 10px 14px !important;
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	font-size: 0.95rem !important;
	color: #1e293b !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
	outline: none !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
}

.oss-pms-billing-extra-fields input[type="text"]:focus,
.oss-pms-billing-extra-fields input[type="email"]:focus,
.oss-pms-billing-extra-fields select:focus {
	border-color: #006837 !important;
	box-shadow: 0 0 0 3px rgba(0, 104, 55, 0.12) !important;
}

.oss-pms-billing-extra-fields .pms-field-description {
	font-size: 0.78rem !important;
	color: #64748b !important;
	margin-top: 4px !important;
	font-style: italic !important;
	margin-bottom: 0 !important;
}

/* When "Same as account information" is active, hide duplicate contact fields */
body.oss-billing-same-active .oss-pms-billing-extra-fields li.pms-billing-first-name,
body.oss-billing-same-active .oss-pms-billing-extra-fields li.pms-billing-last-name,
body.oss-billing-same-active .oss-pms-billing-extra-fields li.pms-billing-email,
body.oss-billing-same-active .oss-pms-billing-extra-fields li.pms-billing-company {
	display: none !important;
}

/* Responsive Overrides */
@media (max-width: 768px) {
	.oss-pms-billing-extra-fields li.pms-billing-first-name,
	.oss-pms-billing-extra-fields li.pms-billing-last-name,
	.oss-pms-billing-extra-fields li.pms-billing-email,
	.oss-pms-billing-extra-fields li.pms-billing-company,
	.oss-pms-billing-extra-fields li.pms-billing-city,
	.oss-pms-billing-extra-fields li.pms-billing-state,
	.oss-pms-billing-extra-fields li.pms-billing-zip,
	.oss-pms-billing-extra-fields li.pms-billing-country {
		grid-column: span 12 !important;
	}
	#pms-paygates-inner {
		flex-direction: column !important;
	}
	#pms-paygates-inner > label {
		width: 100% !important;
	}
}

ul#pms-stripe-connect,
ul#pms-paypal-connect,
ul#pms-manual {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 16px 0 !important;
}

ul#pms-stripe-connect li.pms-field-type-heading {
	display: none !important;
}

#pms-stripe-payment-elements {
	margin-top: 8px !important;
	min-height: 40px !important;
}


#pms-paygate-extra-fields-paypal_connect__placeholder,
#pms-stripe-connect div[id*="__placeholder"] {
	background: #f8fafc !important;
	border: 1px dashed #cbd5e1 !important;
	border-radius: 8px !important;
	padding: 16px !important;
	color: #475569 !important;
	font-size: 0.9rem !important;
}

.pms-field-errors,
.pms-error {
	background: #fef2f2 !important;
	border: 1px solid #fecaca !important;
	color: #991b1b !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	margin-bottom: 16px !important;
	list-style: none !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
}

.oss-billing-header-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 16px !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
}

.oss-same-info-checkbox {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	color: #334155 !important;
	cursor: pointer !important;
}

.oss-same-info-checkbox input {
	width: 18px !important;
	height: 18px !important;
	accent-color: #006837 !important;
}

.oss-btn-review-order {
	width: 100% !important;
	background: #006837 !important;
	color: #ffffff !important;
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	padding: 16px 28px !important;
	border-radius: 10px !important;
	border: none !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	transition: background 0.2s ease !important;
	box-shadow: 0 4px 14px rgba(0, 104, 55, 0.25) !important;
}

.oss-btn-review-order:hover {
	background: #004d28 !important;
}

.oss-encryption-text {
	text-align: center !important;
	font-size: 0.8rem !important;
	color: #64748b !important;
	margin-top: 10px !important;
}

/* Right Column Summary & Badges */
.oss-summary-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 15px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.oss-summary-title {
	font-size: 1.25rem !important;
	font-weight: 800 !important;
	color: #003a95 !important;
	margin: 0 0 18px 0 !important;
}

.oss-summary-item-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

.oss-summary-item-left {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

.oss-summary-user-icon {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	background: #d5ebd9 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.oss-summary-user-icon.blue {
	background: #dbeafe !important;
}

.oss-summary-item-title {
	font-size: 0.95rem !important;
	color: #0f172a !important;
}

.oss-summary-item-sub {
	font-size: 0.8rem !important;
	color: #64748b !important;
}

.oss-summary-item-price {
	text-align: right !important;
	font-size: 1.05rem !important;
	color: #003a95 !important;
}

.oss-summary-period {
	display: block !important;
	font-size: 0.75rem !important;
	color: #64748b !important;
}

.oss-summary-item-breakdown {
	padding-bottom: 16px !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

.oss-summary-group-title-row {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin-bottom: 12px !important;
}

.oss-summary-subrow {
	display: flex !important;
	justify-content: space-between !important;
	font-size: 0.88rem !important;
	color: #475569 !important;
	margin-bottom: 6px !important;
	padding-left: 52px !important;
}

.oss-summary-total-block {
	padding-top: 18px !important;
}

.oss-summary-total-label-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}

.oss-total-heading {
	font-size: 1.1rem !important;
	color: #003a95 !important;
}

.oss-summary-period-sub {
	font-size: 0.78rem !important;
	color: #64748b !important;
}

.oss-total-amount {
	font-size: 2.1rem !important;
	font-weight: 800 !important;
	color: #006837 !important;
}

.oss-trust-card {
	border-radius: 14px !important;
	padding: 20px !important;
	margin-bottom: 16px !important;
	display: flex !important;
	gap: 14px !important;
	align-items: flex-start !important;
}

.oss-trust-card.blue-bg { background: #eff6ff !important; border: 1px solid #dbeafe !important; }
.oss-trust-card.green-bg { background: #f0fdf4 !important; border: 1px solid #dcfce7 !important; }
.oss-trust-card.gold-bg { background: #fffbe6 !important; border: 1px solid #fef08a !important; }

.oss-trust-card-icon {
	flex-shrink: 0 !important;
}

.oss-trust-card-title {
	font-size: 1rem !important;
	font-weight: 800 !important;
	color: #003a95 !important;
	margin: 0 0 6px 0 !important;
}

.oss-trust-card-title.green { color: #006837 !important; }
.oss-trust-card-title.gold { color: #b45309 !important; }

.oss-trust-card-desc {
	font-size: 0.84rem !important;
	color: #334155 !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

.oss-trust-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.oss-trust-list li {
	font-size: 0.84rem !important;
	color: #334155 !important;
}

.oss-check-sm {
	color: #16a34a !important;
	font-weight: 800 !important;
	margin-right: 4px !important;
}

.oss-checkout-help-widget {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 14px !important;
	padding: 20px !important;
}

.oss-help-widget-header {
	font-size: 1rem !important;
	color: #003a95 !important;
	margin-bottom: 12px !important;
}

.oss-help-widget-contacts {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	margin-bottom: 10px !important;
}

.oss-help-contact-item {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	color: #003a95 !important;
}

.oss-help-contact-item a {
	color: #003a95 !important;
	text-decoration: none !important;
}

.oss-help-contact-item a:hover {
	text-decoration: underline !important;
}

.oss-help-hours-text {
	font-size: 0.78rem !important;
	color: #64748b !important;
	margin-bottom: 16px !important;
}

.oss-motto-banner {
	text-align: right !important;
}

.mo-openid-app-icons>p {
    margin: 0px !important;
    display: none;
}

a.mo_btn.mo_btn-mo.mo_btn-block.mo_btn-social.mo_btn-google.mo_btn-custom-dec.login-button.mo_btn_transform {
    border: none;
    background: none !important;
    color: #000 !important;
    padding-left: 15px !important;
}

.oss-pms-billing-extra-fields div#pms-paygates-wrapper {
    display: none !important;
}

.oss-pms-billing-extra-fields .pms-billing-details>li>h3 {
    display: none;
}

/* ==========================================================================
   ONE STEP SAFER MEMBER CHECKOUT - FINAL MOCKUP OVERRIDES
   These rules style the real PMS form output without replacing PMS markup.
   ========================================================================== */

.oss-checkout-wrapper {
	max-width: 1500px !important;
	margin: 0 auto !important;
	background: #fff !important;
	padding: 10px 32px 55px !important;
}

.oss-checkout-main-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 2fr) minmax(380px, .98fr) !important;
	gap: 18px !important;
	align-items: start !important;
}

.oss-checkout-left-col {
	min-width: 0 !important;
}

.oss-checkout-right-col {
	min-width: 0 !important;
}

.oss-checkout-card,
.oss-summary-card {
	border-radius: 8px !important;
	box-shadow: none !important;
	border-color: #dbe5f0 !important;
}

.oss-checkout-card {
	padding: 18px 14px !important;
	margin-bottom: 10px !important;
}

.oss-summary-card {
	padding: 18px 20px !important;
	position: sticky !important;
	top: 20px !important;
}

.oss-checkout-section-title {
	font-size: 23px !important;
	line-height: 1.2 !important;
	color: #003a95 !important;
	margin-bottom: 4px !important;
}

.oss-checkout-section-subtitle {
	font-size: 15px !important;
	color: #173b75 !important;
	margin: 0 0 12px !important;
}

.oss-plan-choice-grid {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 14px !important;
}

.oss-plan-plus-divider {
	display: none !important;
}

.oss-plan-choice-card {
	min-height: 175px !important;
	padding: 14px !important;
	border: 1.5px solid #dbe3ee !important;
	border-radius: 7px !important;
	background: #fff !important;
}

.oss-plan-choice-card.selected {
	border-color: #5ba7ff !important;
	background: #f5faff !important;
	box-shadow: inset 0 0 0 1px #5ba7ff !important;
}

.oss-plan-choice-content {
	justify-content: flex-start !important;
}

.oss-plan-title-row {
	align-items: center !important;
	margin-bottom: 5px !important;
}

.oss-plan-name {
	font-size: 17px !important;
	color: #003a95 !important;
}

.oss-plan-desc {
	font-size: 14px !important;
	line-height: 1.35 !important;
	margin: 0 0 9px !important;
	color: #243b67 !important;
}

.oss-price-big {
	font-size: 38px !important;
	line-height: 1 !important;
	color: #003a95 !important;
}

.oss-price-period {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #003a95 !important;
}

.oss-price-subtext {
	font-size: 13px !important;
	color: #003a95 !important;
}

.oss-family-pricing-lines {
	display: grid !important;
	gap: 5px !important;
	margin: 3px 0 8px !important;
}

.oss-family-pricing-lines > div {
	display: flex !important;
	justify-content: space-between !important;
	gap: 12px !important;
	align-items: baseline !important;
	font-size: 12px !important;
}

.oss-family-primary-price strong,
.oss-family-primary-price span {
	color: #006837 !important;
}

.oss-family-additional-price strong,
.oss-family-additional-price span {
	color: #003a95 !important;
}

.oss-family-pricing-lines strong {
	font-weight: 700 !important;
}

.oss-family-pricing-lines span {
	white-space: nowrap !important;
	font-weight: 600 !important;
}

.oss-seat-counter-wrap {
	margin-top: auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
}

.oss-counter-label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #173b75 !important;
}

.oss-counter-controls {
	display: inline-flex !important;
	align-items: center !important;
	border: 1px solid #d7dee8 !important;
	border-radius: 7px !important;
	overflow: hidden !important;
	background: #fff !important;
}

.oss-counter-btn,
.oss-counter-input {
	width: 40px !important;
	height: 40px !important;
	border: 0 !important;
	background: #f8fafc !important;
	text-align: center !important;
	font-size: 19px !important;
	color: #334155 !important;
}

.oss-counter-input {
	background: #fff !important;
	font-weight: 700 !important;
}

.oss-counter-btn:hover {
	background: #eef5ff !important;
	color: #003a95 !important;
}

.oss-plan-info-callout {
	margin-top: 8px !important;
	padding: 9px 12px !important;
	border-radius: 6px !important;
	background: #edf6ff !important;
	border: 1px solid #c8e0ff !important;
	font-size: 13px !important;
	color: #1f2937 !important;
}

.oss-auto-renew-field {
	margin-top: 10px !important;
	padding: 10px 12px !important;
	border: 1px solid #dbe5f0 !important;
	border-radius: 7px !important;
	background: #fbfdff !important;
}

.oss-auto-renew-field label {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #173b75 !important;
	margin: 0 !important;
}

.oss-auto-renew-field input {
	width: 18px !important;
	height: 18px !important;
	accent-color: #006837 !important;
	margin: 0 !important;
}

.oss-pms-gateway-fields-wrapper {
	margin-top: 4px !important;
}

#pms-paygates-inner {
	gap: 8px !important;
	margin-bottom: 12px !important;
}

#pms-paygates-inner > label {
	height: 43px !important;
	min-width: 0 !important;
	padding: 0 12px !important;
	border-radius: 6px !important;
	font-size: 13px !important;
}

#pms-paygates-inner > label.active,
#pms-paygates-inner > label:has(input:checked) {
	border-color: #299447 !important;
	background: #f2fbf5 !important;
	color: #006837 !important;
}

.oss-pms-billing-extra-fields {
	margin-top: 2px !important;
}

.oss-pms-billing-extra-fields ul.pms-billing-details,
.oss-pms-billing-extra-fields .pms-section-billing-details {
	gap: 10px 14px !important;
}

.oss-summary-title {
	font-size: 23px !important;
	color: #003a95 !important;
	margin-bottom: 16px !important;
	padding-bottom: 12px !important;
}

.oss-summary-item-title {
	font-size: 14px !important;
	color: #003a95 !important;
}

.oss-summary-item-sub {
	font-size: 13px !important;
	color: #173b75 !important;
}

.oss-summary-item-price strong {
	color: #003a95 !important;
	font-size: 15px !important;
}

.oss-summary-total-block {
	margin-top: 10px !important;
	padding-top: 14px !important;
}

.oss-total-heading {
	font-size: 16px !important;
	color: #003a95 !important;
}

.oss-total-amount {
	font-size: 25px !important;
	color: #006837 !important;
}

.oss-trust-card {
	border-radius: 8px !important;
	box-shadow: none !important;
	padding: 14px !important;
	margin-top: 10px !important;
}

.oss-trust-card-title {
	font-size: 15px !important;
	margin-bottom: 5px !important;
}

.oss-trust-card-desc,
.oss-trust-list {
	font-size: 13px !important;
	line-height: 1.45 !important;
}

.oss-checkout-help-widget {
	padding: 16px 0 0 !important;
	border-top: 1px solid #e2e8f0 !important;
	margin-top: 14px !important;
}

.oss-btn-review-order {
	min-height: 44px !important;
	border-radius: 5px !important;
	font-size: 15px !important;
	background: #006837 !important;
}

.oss-encryption-text {
	font-size: 12px !important;
}

@media (max-width: 900px) {
	.oss-checkout-main-grid {
		grid-template-columns: 1fr !important;
	}

	.oss-summary-card {
		position: static !important;
	}

	.oss-plan-choice-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 600px) {
	.oss-checkout-wrapper {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.oss-checkout-card {
		padding: 15px 12px !important;
	}

	.oss-family-pricing-lines > div {
		flex-direction: column !important;
		gap: 1px !important;
	}

	.oss-seat-counter-wrap {
		align-items: flex-start !important;
		flex-direction: column !important;
	}
}

/* One Step Safer - Family & Friends group name */
.oss-group-name-field {
	margin-top: 12px;
	padding: 14px 16px;
	border: 1px solid #dbe3ee;
	border-radius: 8px;
	background: #fff;
}

.oss-group-name-field .oss-label-sm {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 700;
	color: #003a95;
}

.oss-group-name-field .oss-input {
	width: 100%;
}

form#pms_register-form .oss-input {
    padding: 0 15px !important;
}

.chosen-container-single .chosen-search input[type="text"] {
    background-image: none !important;
}

.oss-group-name-help {
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.45;
	color: #64748b;
}

.oss-group-name-error {
	margin-top: 5px;
	font-size: 12px;
	color: #b42318;
}


.oss-group-name-status { margin-top: 6px; font-size: 12px; line-height: 1.45; min-height: 18px; font-weight: 600; }
.oss-group-name-status.error { color: #b42318; }
.oss-group-name-status.success { color: #067647; }
.oss-group-name-field .oss-input:focus { outline: 2px solid rgba(0, 105, 62, .18); border-color: #006837; }

/* -------------------------------------------------------------------------
 * Initial checkout payment failure notice
 * ------------------------------------------------------------------------- */
.oss-checkout-payment-failure {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0 0 20px;
	padding: 16px 18px;
	border: 1px solid #f0b8b8;
	border-radius: 10px;
	background: #fff5f5;
	color: #7f1d1d;
	box-sizing: border-box;
}

.oss-checkout-payment-failure-icon {
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #c62828;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
}

.oss-checkout-payment-failure strong {
	display: block;
	margin: 0 0 4px;
	font-size: 16px;
}

.oss-checkout-payment-failure p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
}

/* PMS/Stripe errors should remain visually prominent inside the payment card. */
.oss-visible-checkout-error,
.oss-pms-gateway-fields-wrapper .pms-stripe-error-message,
.oss-pms-gateway-fields-wrapper .pms-payment-error {
	margin-top: 10px;
	padding: 10px 12px;
	border: 1px solid #f0b8b8;
	border-radius: 8px;
	background: #fff5f5;
	color: #8a1c1c;
	font-size: 14px;
	line-height: 1.5;
}

/* ==========================================================================
   PAGE: PMS MEMBER HOME (course-video Post Type Grid)
   Matches Figma/Mockup UI Exactly
   ========================================================================== */

.oss-member-home-wrapper {
	background: #ffffff !important;
	min-height: 100vh !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif !important;
}

.oss-member-home-layout {
	display: grid !important;
	grid-template-columns: 230px 1fr !important;
	min-height: 100vh !important;
	box-sizing: border-box !important;
}

/* Main Member Home Content Area */
.oss-member-home-main {
	padding: 24px 32px 60px 32px !important;
	box-sizing: border-box !important;
	max-width: 1400px !important;
	width: 100% !important;
}

/* Top Welcome Banner Card */
.oss-welcome-banner-card {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px !important;
	background: #f4f8f6 !important;
	border: 1px solid #e2ebe6 !important;
	border-radius: 10px !important;
	padding: 18px 24px !important;
	margin-bottom: 24px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

.oss-welcome-heading {
	font-size: 1.7rem !important;
	font-weight: 800 !important;
	color: #002f87 !important;
	margin: 0 0 4px 0 !important;
	line-height: 1.25 !important;
}

.oss-welcome-subheading {
	font-size: 0.98rem !important;
	color: #1e293b !important;
	font-weight: 500 !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

/* Member Badge in Welcome Banner */
.oss-member-badge-card {
	display: inline-flex !important;
	align-items: center !important;
	gap: 14px !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
	box-sizing: border-box !important;
}

.oss-badge-shield-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.oss-shield-badge-img {
	width: 52px !important;
	height: 52px !important;
	object-fit: contain !important;
	display: block !important;
}

.oss-badge-info {
	display: flex !important;
	flex-direction: column !important;
	text-align: left !important;
}

.oss-badge-role {
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	color: #00783e !important;
	line-height: 1.3 !important;
}

.oss-badge-date {
	font-size: 0.88rem !important;
	color: #2d3748 !important;
	font-weight: 500 !important;
	margin-top: 1px !important;
}

/* All Videos Header & Filter Row */
.oss-videos-header-row {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 20px !important;
	margin-bottom: 18px !important;
	flex-wrap: wrap !important;
	box-sizing: border-box !important;
}

.oss-videos-title {
	font-size: 1.6rem !important;
	font-weight: 800 !important;
	color: #002f87 !important;
	margin: 0 0 3px 0 !important;
}

.oss-videos-subtitle {
	font-size: 0.95rem !important;
	color: #2d3748 !important;
	margin: 0 !important;
}

/* Category Filter Dropdown */
.oss-category-select {
	background-color: #ffffff !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 8px !important;
	padding: 8px 38px 8px 16px !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	color: #1e293b !important;
	cursor: pointer !important;
	outline: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23002f87' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 16px !important;
	transition: border-color 0.15s, box-shadow 0.15s !important;
	box-sizing: border-box !important;
}

.oss-category-select:focus {
	border-color: #002f87 !important;
	box-shadow: 0 0 0 3px rgba(0, 47, 135, 0.12) !important;
}

/* Video Cards Grid - 4 Columns */
.oss-video-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 16px !important;
	margin-bottom: 28px !important;
	box-sizing: border-box !important;
}

.oss-video-grid.oss-loading {
	opacity: 0.55 !important;
	pointer-events: none !important;
	transition: opacity 0.2s ease !important;
}

.oss-no-videos-found {
	grid-column: 1 / -1 !important;
	background: #ffffff !important;
	border: 1px dashed #cbd5e1 !important;
	border-radius: 12px !important;
	padding: 56px 24px !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

.oss-no-videos-found p {
	margin: 0 !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	color: #64748b !important;
}

.oss-video-card {
	background: #ffffff !important;
	border: 1px solid #e5e9f0 !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	display: flex;
	flex-direction: column !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
	box-sizing: border-box !important;
}

.oss-video-card:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 16px rgba(0, 47, 135, 0.08) !important;
	border-color: #cbd5e1 !important;
}

/* Thumbnail Wrap */
.oss-video-thumb-wrap {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 16 / 9.5 !important;
	overflow: hidden !important;
	background: #0f172a !important;
}

.oss-video-thumb-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.25s ease !important;
}

.oss-video-card:hover .oss-video-thumb-img {
	transform: scale(1.02) !important;
}

.oss-video-thumb-placeholder {
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: linear-gradient(135deg, #002266 0%, #002f87 100%) !important;
}

.oss-video-duration-badge {
	position: absolute !important;
	bottom: 6px !important;
	right: 6px !important;
	background: rgba(0, 0, 0, 0.88) !important;
	color: #ffffff !important;
	font-size: 0.76rem !important;
	font-weight: 700 !important;
	padding: 2px 6px !important;
	border-radius: 4px !important;
	letter-spacing: 0.2px !important;
}

/* Video Card Body */
.oss-video-card-body {
	padding: 14px 14px 16px 14px !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 !important;
	box-sizing: border-box !important;
}

/* Lesson Label - GREEN matching mockup */
.oss-lesson-label {
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	color: #00783e !important;
	text-transform: none !important;
	letter-spacing: 0.2px !important;
	margin-bottom: 4px !important;
}

/* Title - Navy matching mockup */
.oss-video-card-title {
	font-size: 1.02rem !important;
	font-weight: 700 !important;
	color: #002f87 !important;
	line-height: 1.3 !important;
	margin: 0 0 6px 0 !important;
	min-height: 42px !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

.oss-video-card-title a {
	color: inherit !important;
	text-decoration: none !important;
	transition: color 0.15s ease !important;
}

.oss-video-card-title a:hover {
	color: #001f5c !important;
}

.oss-video-card-desc {
	font-size: 0.86rem !important;
	color: #334155 !important;
	line-height: 1.4 !important;
	margin: 0 0 14px 0 !important;
	flex: 1 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	min-height: 36px !important;
}

/* Progress Row */
.oss-video-progress-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-bottom: 14px !important;
}

.oss-progress-bar-track {
	flex: 1 !important;
	height: 8px !important;
	background: #e2e8f0 !important;
	border-radius: 99px !important;
	overflow: hidden !important;
}

.oss-progress-bar-fill {
	height: 100% !important;
	background: #00783e !important;
	border-radius: 99px !important;
	transition: width 0.3s ease !important;
}

/* Percentage - Bold Slate/Black matching mockup */
.oss-progress-percentage {
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	color: #1e293b !important;
	min-width: 38px !important;
	text-align: right !important;
}

/* Action Buttons */
.oss-video-card-actions {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	margin-top: auto !important;
}

/* Primary "Watch Video" Button - Solid Royal Navy */
.oss-btn-watch-video {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: #002f87 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 9px 12px !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: background 0.15s ease !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.oss-btn-watch-video:hover {
	background: #002266 !important;
	color: #ffffff !important;
}

.oss-btn-watch-video svg {
	flex-shrink: 0 !important;
}

/* Secondary "Print Guide" Button - White with GREEN Border, GREEN Text & GREEN Icon */
.oss-btn-print-guide {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: #ffffff !important;
	color: #00783e !important;
	border: 1.5px solid #00783e !important;
	border-radius: 6px !important;
	padding: 8px 12px !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all 0.15s ease !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.oss-btn-print-guide:hover {
	background: #f0fdf4 !important;
	border-color: #005a2e !important;
	color: #005a2e !important;
}

.oss-btn-print-guide svg {
	flex-shrink: 0 !important;
	stroke: #00783e !important;
}

/* View More Videos Wrap & Button - White with BLUE Border & BLUE Text */
.oss-view-more-wrap {
	text-align: center !important;
	margin: 28px 0 16px 0 !important;
}

.oss-btn-view-more {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 9px 28px !important;
	background: #ffffff !important;
	border: 1.5px solid #002f87 !important;
	border-radius: 8px !important;
	font-size: 0.94rem !important;
	font-weight: 700 !important;
	color: #002f87 !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
	box-shadow: none !important;
}

.oss-btn-view-more svg {
	stroke: #002f87 !important;
}

.oss-btn-view-more:hover {
	background: #f0f4fa !important;
	border-color: #002266 !important;
	color: #002266 !important;
}

.oss-btn-view-more.oss-loading {
	opacity: 0.65 !important;
	pointer-events: none !important;
	cursor: wait !important;
}

/* Video Lightbox Modal */
.oss-video-modal-overlay {
	position: fixed !important;
	inset: 0 !important;
	background: rgba(15, 23, 42, 0.8) !important;
	backdrop-filter: blur(4px) !important;
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 999999 !important;
	padding: 24px !important;
	box-sizing: border-box !important;
}

.oss-video-modal-overlay.active {
	display: flex !important;
}

.oss-video-modal-box {
	background: #1e293b !important;
	border-radius: 16px !important;
	width: 100% !important;
	max-width: 880px !important;
	overflow: hidden !important;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
}

.oss-modal-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 18px 24px !important;
	background: #0f172a !important;
	border-bottom: 1px solid #334155 !important;
}

.oss-modal-title {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

.oss-modal-close-btn {
	background: transparent !important;
	border: none !important;
	color: #94a3b8 !important;
	font-size: 1.4rem !important;
	cursor: pointer !important;
	padding: 4px 8px !important;
	line-height: 1 !important;
	border-radius: 6px !important;
	transition: color 0.15s, background 0.15s !important;
}

.oss-modal-close-btn:hover {
	color: #ffffff !important;
	background: #334155 !important;
}

.oss-modal-player-wrap {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	background: #000000 !important;
	overflow: hidden !important;
}

.oss-modal-player-container {
	width: 100% !important;
	height: 100% !important;
}

.oss-modal-footer {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px !important;
	padding: 18px 24px !important;
	background: #0f172a !important;
	border-top: 1px solid #334155 !important;
	flex-wrap: wrap !important;
}

.oss-modal-progress-controls {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	color: #cbd5e1 !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
}

.oss-modal-prog-value {
	font-weight: 700 !important;
	color: #4ade80 !important;
	min-width: 44px !important;
}

.oss-btn-mark-complete {
	background: #006837 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 10px 18px !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	cursor: pointer !important;
	transition: background 0.2s ease !important;
}

.oss-btn-mark-complete:hover {
	background: #004d28 !important;
}

/* Responsive Media Queries */
@media (max-width: 1280px) {
	.oss-video-grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 1024px) {
	.oss-member-home-layout {
		grid-template-columns: 1fr !important;
	}
	.oss-member-home-layout .oss-sidebar {
		border-right: none !important;
		border-bottom: 1px solid #e2e8f0 !important;
	}
	.oss-member-home-main {
		padding: 24px 20px !important;
	}
	.oss-video-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 640px) {
	.oss-welcome-banner-card {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
	.oss-videos-header-row {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	.oss-category-select {
		width: 100% !important;
	}
	.oss-video-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ==========================================================================
   PAID MEMBER SUBSCRIPTIONS (PMS) ACCOUNT & CHANGE SUBSCRIPTION DESIGN
   Covers: [pms-account] Navigation Tabs, Subscription Details Table,
   Action Buttons, and Change Subscription / Upgrade Flow Form
   ========================================================================== */

/* Standalone /my-account/ Page Max Width Container */
.page-id-1216 .elementor-element-25b867e,
.page-template-elementor_header_footer .elementor-widget-shortcode:has(.pms-account-navigation),
.pms-account-wrapper {
	max-width: 1080px !important;
	margin: 36px auto !important;
	padding: 0 20px !important;
	box-sizing: border-box !important;
}

/* 1. PMS Account Navigation Tabs (.pms-account-navigation) */
.pms-account-navigation {
	margin-bottom: 24px !important;
	border-bottom: 2px solid #e2e8f0 !important;
	padding-bottom: 12px !important;
}

.pms-account-navigation ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	align-items: center !important;
}

.pms-account-navigation li.pms-account-navigation-link {
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
}

.pms-account-navigation li.pms-account-navigation-link a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 10px 22px !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	font-size: 0.94rem !important;
	line-height: 1.3 !important;
	text-decoration: none !important;
	background: #f8fafc !important;
	color: #334155 !important;
	border: 1.5px solid #e2e8f0 !important;
	transition: all 0.2s ease !important;
}

.pms-account-navigation li.pms-account-navigation-link a:hover:not(.pms-account-navigation-link--active) {
	background: #eef2f6 !important;
	color: #003a95 !important;
	border-color: #cbd5e1 !important;
}

.pms-account-navigation li.pms-account-navigation-link a.pms-account-navigation-link--active,
.pms-account-navigation li.pms-account-navigation-link .pms-account-navigation-link--active {
	background: #006837 !important;
	color: #ffffff !important;
	border-color: #006837 !important;
	box-shadow: 0 3px 10px rgba(0, 104, 55, 0.22) !important;
}

/* Logout Tab */
.pms-account-navigation li.pms-account-navigation-link--logout a {
	color: #64748b !important;
}

.pms-account-navigation li.pms-account-navigation-link--logout a:hover {
	color: #dc2626 !important;
	background: #fee2e2 !important;
	border-color: #fca5a5 !important;
}

/* 2. PMS Account Subscription Details Table */
.pms-account-subscription-details-table {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: #ffffff !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	box-shadow: 0 3px 14px rgba(0, 0, 0, 0.04) !important;
	margin-bottom: 28px !important;
}

.pms-account-subscription-details-table tbody tr td {
	padding: 16px 24px !important;
	border: none !important;
	border-bottom: 1px solid #f1f5f9 !important;
	vertical-align: middle !important;
	font-size: 0.95rem !important;
	color: #334155 !important;
}

.pms-account-subscription-details-table tbody tr:last-child td {
	border-bottom: none !important;
}

/* Left Column: Row Labels */
.pms-account-subscription-details-table tbody tr td:first-child {
	width: 32% !important;
	font-weight: 700 !important;
	color: #1e293b !important;
	background: #f8fafc !important;
	border-right: 1.5px solid #e2e8f0 !important;
}

/* Right Column: Values */
.pms-account-subscription-details-table tbody tr.pms-account-subscription-details-table__plan td:last-child {
	font-weight: 700 !important;
	color: #003a95 !important;
	font-size: 1.05rem !important;
}

/* Status Pill Badge */
.pms-account-subscription-details-table td.status-active,
.pms-account-subscription-details-table .status-active {
	font-weight: 700 !important;
	color: #15803d !important;
}

.pms-account-subscription-details-table td.status-active::before {
	content: "✓ ";
	display: inline-block;
	background: #dcfce7;
	color: #15803d;
	border: 1px solid #bbf7d0;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	line-height: 19px;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 800;
	margin-right: 8px;
	vertical-align: middle;
}

/* Actions Row Buttons */
.pms-account-subscription-details-table tbody tr.pms-account-subscription-details-table__actions td:last-child {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}

/* "Change" Action Link -> Green Pill Button */
.pms-account-subscription-action-link.pms-account-subscription-action-link__change, 
a.pms-account-subscription-action-link__change {
    background: #006837;
    color: #ffffff;
    padding: 8px 22px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.92rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    box-shadow: 0 2px 8px rgba(0, 104, 55, 0.22);
    transition: all 0.2s ease;
}

.pms-account-subscription-action-link.pms-account-subscription-action-link__change:hover, 
a.pms-account-subscription-action-link__change:hover {
    background: #004d28;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 104, 55, 0.3);
}

/* "Renew" Action Link -> Navy Pill Button */
.pms-account-subscription-action-link.pms-account-subscription-action-link__renew,
a.pms-account-subscription-action-link__renew {
	background: #003a95 !important;
	color: #ffffff !important;
	padding: 8px 22px !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	box-shadow: 0 2px 8px rgba(0, 58, 149, 0.22) !important;
	transition: all 0.2s ease !important;
}

.pms-account-subscription-action-link.pms-account-subscription-action-link__renew:hover,
a.pms-account-subscription-action-link__renew:hover {
	background: #002b6e !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

/* "Abandon" & "Cancel" Action Links -> Subtle Danger Outlined Buttons */
.pms-account-subscription-action-link.pms-account-subscription-action-link__abandon,
.pms-account-subscription-action-link.pms-account-subscription-action-link__cancel,
a.pms-account-subscription-action-link__abandon,
a.pms-account-subscription-action-link__cancel,
span.pms-account-subscription-action-link__abandon,
span.pms-account-subscription-action-link__cancel {
	background: #ffffff !important;
	color: #dc2626 !important;
	border: 1.5px solid #fca5a5 !important;
	padding: 7px 18px !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	transition: all 0.2s ease !important;
	cursor: pointer !important;
}

.pms-account-subscription-action-link.pms-account-subscription-action-link__abandon:hover,
.pms-account-subscription-action-link.pms-account-subscription-action-link__cancel:hover,
a.pms-account-subscription-action-link__abandon:hover,
a.pms-account-subscription-action-link__cancel:hover {
	background: #fee2e2 !important;
	color: #b91c1c !important;
	border-color: #f87171 !important;
}

/* 3. PMS Change Subscription / Upgrade Form (#pms-change-subscription-form) */
#pms-change-subscription-form {
	background: #ffffff !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 14px !important;
	padding: 32px 36px !important;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04) !important;
	margin-bottom: 30px !important;
	box-sizing: border-box !important;
}

/* In-dashboard PMS native action card wrapper */
.oss-pms-native-action-card {
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.oss-pms-native-action-card #pms-change-subscription-form {
	margin-bottom: 0 !important;
}

/* Upgrade Message Callout */
#pms-change-subscription-form .pms-upgrade__message {
	background: #f0fdf4 !important;
	border: 1.5px solid #bbf7d0 !important;
	border-left: 5px solid #006837 !important;
	border-radius: 10px !important;
	padding: 16px 22px !important;
	margin-bottom: 24px !important;
}

#pms-change-subscription-form .pms-upgrade__message p {
	margin: 0 !important;
	color: #166534 !important;
	font-size: 1.05rem !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
}

#pms-change-subscription-form .pms-upgrade__message strong {
	color: #006837 !important;
	font-weight: 800 !important;
}

/* Subscription Plan Radio Card in Change Form */
#pms-change-subscription-form .pms-subscription-plan {
	background: #f8fafc !important;
	border: 2px solid #006837 !important;
	border-radius: 10px !important;
	padding: 18px 22px !important;
	margin-bottom: 20px !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
}

#pms-change-subscription-form .pms-subscription-plan label {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	cursor: pointer !important;
	font-size: 1rem !important;
}

#pms-change-subscription-form .pms-subscription-plan input[type="radio"] {
	accent-color: #006837 !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 6px 0 0 !important;
}

#pms-change-subscription-form .pms-subscription-plan-name {
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: #003a95 !important;
}

#pms-change-subscription-form .pms-subscription-plan-price {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #006837 !important;
}

#pms-change-subscription-form .pms-subscription-plan-description {
	color: #64748b !important;
	font-size: 0.92rem !important;
	margin-top: 8px !important;
	padding-left: 28px !important;
}

#pms-change-subscription-form .pms-subscription-plan-auto-renew {
	margin: 16px 0 !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #334155 !important;
}

#pms-change-subscription-form .pms-subscription-plan-auto-renew input[type="checkbox"] {
	accent-color: #006837 !important;
	margin-right: 8px !important;
}

/* Group Membership Message */
#pms-change-subscription-form .pms-gm-message {
	background: #eff6ff !important;
	border: 1px solid #bfdbfe !important;
	border-left: 4px solid #003a95 !important;
	border-radius: 8px !important;
	padding: 14px 18px !important;
	color: #1e40af !important;
	font-size: 0.94rem !important;
	line-height: 1.5 !important;
	margin: 18px 0 24px 0 !important;
}

/* Group Details Section */
#pms-change-subscription-form .pms-group-details-title {
	font-size: 1.2rem !important;
	font-weight: 800 !important;
	color: #1e293b !important;
	margin: 26px 0 16px 0 !important;
	padding-bottom: 8px !important;
	border-bottom: 1.5px solid #e2e8f0 !important;
}

#pms-change-subscription-form .pms-group-fields-row {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 20px !important;
	margin-bottom: 16px !important;
}

#pms-change-subscription-form .pms-field {
	margin-bottom: 16px !important;
}

#pms-change-subscription-form .pms-field label,
#pms-change-subscription-form label.cozmoslabs-form-field-label {
	display: block !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	color: #1e293b !important;
	margin-bottom: 6px !important;
}

#pms-change-subscription-form .pms-field-required-asterix {
	color: #dc2626 !important;
	margin-left: 3px !important;
}

/* Form Inputs & Selects */
#pms-change-subscription-form input[type="text"],
#pms-change-subscription-form input[type="email"],
#pms-change-subscription-form input[type="number"],
#pms-change-subscription-form textarea,
#pms-change-subscription-form select {
	width: 100% !important;
	padding: 11px 16px !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 8px !important;
	font-size: 0.95rem !important;
	background: #ffffff !important;
	color: #1e293b !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
}

#pms-change-subscription-form input[type="text"]:focus,
#pms-change-subscription-form input[type="email"]:focus,
#pms-change-subscription-form input[type="number"]:focus,
#pms-change-subscription-form textarea:focus,
#pms-change-subscription-form select:focus {
	border-color: #003a95 !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(0, 58, 149, 0.12) !important;
}

#pms-change-subscription-form textarea {
	min-height: 80px !important;
	resize: vertical !important;
}

/* Payment Methods & Gateways */
#pms-change-subscription-form #pms-paygates-wrapper h3,
#pms-change-subscription-form .pms-field-type-heading h3 {
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: #1e293b !important;
	margin: 28px 0 16px 0 !important;
	padding-bottom: 8px !important;
	border-bottom: 1.5px solid #e2e8f0 !important;
}

#pms-change-subscription-form #pms-paygates-inner {
	display: flex !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
	margin-bottom: 20px !important;
}

#pms-change-subscription-form #pms-paygates-inner label {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: #f8fafc !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 8px !important;
	padding: 12px 20px !important;
	cursor: pointer !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	color: #1e293b !important;
	transition: all 0.2s !important;
}

#pms-change-subscription-form #pms-paygates-inner label:hover {
	border-color: #cbd5e1 !important;
	background: #f1f5f9 !important;
}

#pms-change-subscription-form #pms-paygates-inner input[type="radio"] {
	accent-color: #003a95 !important;
}

/* Billing Details Section */
#pms-change-subscription-form .pms-billing-details {
	list-style: none !important;
	padding: 0 !important;
	margin: 20px 0 !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 18px 24px !important;
}

#pms-change-subscription-form .pms-billing-details .pms-field-type-heading {
	grid-column: 1 / -1 !important;
}

#pms-change-subscription-form .pms-billing-details .pms-billing-address,
#pms-change-subscription-form .pms-billing-details .pms-billing-company {
	grid-column: 1 / -1 !important;
}

#pms-change-subscription-form .pms-field-description {
	font-size: 0.82rem !important;
	color: #64748b !important;
	margin-top: 4px !important;
}

/* Form Action Buttons */
#pms-change-subscription-form input[type="submit"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-top: 24px !important;
}

/* Primary Change/Upgrade Button */
#pms-change-subscription-form input[name="pms_change_subscription"] {
	background: #006837 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 13px 34px !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	box-shadow: 0 3px 12px rgba(0, 104, 55, 0.25) !important;
	transition: all 0.2s ease !important;
}

#pms-change-subscription-form input[name="pms_change_subscription"]:hover {
	background: #004d28 !important;
	box-shadow: 0 5px 16px rgba(0, 104, 55, 0.35) !important;
	transform: translateY(-1px) !important;
}

/* Secondary "Go Back" Button */
#pms-change-subscription-form input[name="pms_redirect_back"] {
	background: #ffffff !important;
	color: #475569 !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 8px !important;
	padding: 12px 28px !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	margin-left: 14px !important;
	transition: all 0.2s ease !important;
}

#pms-change-subscription-form input[name="pms_redirect_back"]:hover {
	background: #f8fafc !important;
	color: #1e293b !important;
	border-color: #94a3b8 !important;
}

/* Responsive Styles for PMS Account and Form */
@media (max-width: 768px) {
	.pms-account-navigation ul {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	.pms-account-navigation li.pms-account-navigation-link a {
		width: 100% !important;
		text-align: center !important;
	}
	.pms-account-subscription-details-table tbody tr {
		display: flex !important;
		flex-direction: column !important;
		border-bottom: 1.5px solid #e2e8f0 !important;
	}
	.pms-account-subscription-details-table tbody tr td:first-child {
		width: 100% !important;
		border-right: none !important;
		border-bottom: 1px solid #f1f5f9 !important;
		padding: 12px 18px !important;
	}
	.pms-account-subscription-details-table tbody tr td:last-child {
		padding: 14px 18px !important;
	}
	#pms-change-subscription-form {
		padding: 24px 18px !important;
	}
	#pms-change-subscription-form .pms-group-fields-row,
	#pms-change-subscription-form .pms-billing-details {
		grid-template-columns: 1fr !important;
	}
	#pms-change-subscription-form input[name="pms_redirect_back"] {
		margin-left: 0 !important;
		margin-top: 10px !important;
		width: 100% !important;
	}
	#pms-change-subscription-form input[name="pms_change_subscription"] {
		width: 100% !important;
	}
	#pms-cancel-subscription-form input[type="submit"],
	#pms-abandon-subscription-form input[type="submit"] {
		width: 100% !important;
		margin-left: 0 !important;
		margin-top: 10px !important;
	}
}

/* ==========================================================================
   Subscription Lifecycle Actions & Forms (Overview & Billing)
   ========================================================================== */

.oss-dash-table tr.oss-dash-table-actions-row td {
	padding-top: 14px !important;
	padding-bottom: 14px !important;
	vertical-align: middle !important;
}

.oss-sub-actions-cell {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
}

.oss-action-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 7px 16px !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	border-radius: 6px !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	cursor: pointer !important;
}

/* Upgrade Action Button (Green Theme) */
.oss-action-btn--upgrade {
	background: #006837 !important;
	color: #ffffff !important;
	border: 1.5px solid #006837 !important;
	box-shadow: 0 2px 6px rgba(0, 104, 55, 0.2) !important;
}

.oss-action-btn--upgrade:hover {
	background: #004d28 !important;
	border-color: #004d28 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 10px rgba(0, 104, 55, 0.3) !important;
}

/* Downgrade Action Button (Navy Blue Theme) */
.oss-action-btn--downgrade {
	background: #003a95 !important;
	color: #ffffff !important;
	border: 1.5px solid #003a95 !important;
	box-shadow: 0 2px 6px rgba(0, 58, 149, 0.2) !important;
}

.oss-action-btn--downgrade:hover {
	background: #00296b !important;
	border-color: #00296b !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 10px rgba(0, 58, 149, 0.3) !important;
}

/* Cancel Action Button (Subtle Red Outline) */
.oss-action-btn--cancel {
	background: #ffffff !important;
	color: #dc2626 !important;
	border: 1.5px solid #fca5a5 !important;
}

.oss-action-btn--cancel:hover {
	background: #fef2f2 !important;
	color: #b91c1c !important;
	border-color: #ef4444 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 2px 6px rgba(220, 38, 38, 0.15) !important;
}

/* Cancel & Abandon Subscription Confirmation Forms */
#pms-cancel-subscription-form,
#pms-abandon-subscription-form {
	background: #ffffff !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 12px !important;
	padding: 28px 32px !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
	max-width: 640px !important;
	margin: 0 auto !important;
}

#pms-cancel-subscription-form p,
#pms-abandon-subscription-form p {
	font-size: 1.05rem !important;
	line-height: 1.6 !important;
	color: #1e293b !important;
	margin-bottom: 24px !important;
	padding: 16px 20px !important;
	background: #fff5f5 !important;
	border-left: 4px solid #ef4444 !important;
	border-radius: 6px !important;
}

#pms-cancel-subscription-form p strong,
#pms-abandon-subscription-form p strong {
	color: #991b1b !important;
	font-weight: 700 !important;
}

/* Action Form Submit Buttons */
#pms-cancel-subscription-form input[type="submit"],
#pms-abandon-subscription-form input[type="submit"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	padding: 12px 28px !important;
	transition: all 0.2s ease !important;
}

/* Confirm Cancellation / Abandon (Danger Red) */
#pms-cancel-subscription-form input[name="pms_confirm_cancel_subscription"],
#pms-abandon-subscription-form input[name="pms_confirm_abandon_subscription"] {
	background: #dc2626 !important;
	color: #ffffff !important;
	border: none !important;
	box-shadow: 0 3px 10px rgba(220, 38, 38, 0.25) !important;
}

#pms-cancel-subscription-form input[name="pms_confirm_cancel_subscription"]:hover,
#pms-abandon-subscription-form input[name="pms_confirm_abandon_subscription"]:hover {
	background: #b91c1c !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 5px 14px rgba(220, 38, 38, 0.35) !important;
}

/* Go Back Button */
#pms-cancel-subscription-form input[name="pms_redirect_back"],
#pms-abandon-subscription-form input[name="pms_redirect_back"] {
	background: #ffffff !important;
	color: #475569 !important;
	border: 1.5px solid #cbd5e1 !important;
	margin-left: 12px !important;
}

#pms-cancel-subscription-form input[name="pms_redirect_back"]:hover,
#pms-abandon-subscription-form input[name="pms_redirect_back"]:hover {
	background: #f8fafc !important;
	color: #1e293b !important;
	border-color: #94a3b8 !important;
}

/* ==========================================================================
   EDIT PROFILE (PERSONAL INFORMATION) MOCKUP STYLING
   ========================================================================== */

.oss-profile-card-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	margin-bottom: 24px !important;
	padding-bottom: 20px !important;
	border-bottom: 1px solid #e2e8f0 !important;
}

.oss-profile-title-group {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
}

.oss-profile-card-title {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #003a95 !important;
	margin: 0 !important;
	line-height: 1.2 !important;
	font-family: inherit !important;
}

.oss-profile-info-pill {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	background-color: #eff6ff !important;
	border: 1px solid #bfdbfe !important;
	color: #003a95 !important;
	padding: 6px 14px !important;
	border-radius: 9999px !important;
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
}

.oss-profile-label {
	display: block !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	color: #1e293b !important;
	margin-bottom: 8px !important;
	font-family: inherit !important;
}

.oss-profile-label .oss-required {
	color: #dc2626 !important;
	font-weight: 700 !important;
	margin-left: 2px !important;
}

.oss-profile-label .oss-optional {
	font-weight: 400 !important;
	color: #64748b !important;
	font-size: 0.88rem !important;
	margin-left: 2px !important;
}

.oss-profile-input {
	width: 100% !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	font-size: 0.95rem !important;
	color: #0f172a !important;
	background-color: #ffffff !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.oss-profile-input:focus {
	border-color: #003a95 !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(0, 58, 149, 0.12) !important;
}

.oss-form-row-3col {
	display: grid !important;
	grid-template-columns: 1.2fr 1fr 1fr !important;
	gap: 16px !important;
	margin-bottom: 24px !important;
}

.oss-select-wrapper {
	position: relative !important;
	width: 100% !important;
}

.oss-select-wrapper::after {
	content: '' !important;
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 0 !important;
	height: 0 !important;
	border-left: 5px solid transparent !important;
	border-right: 5px solid transparent !important;
	border-top: 6px solid #64748b !important;
	pointer-events: none !important;
}

.oss-profile-select {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	padding-right: 36px !important;
	cursor: pointer !important;
	background-color: #ffffff !important;
}

.oss-profile-btn-group {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin-top: 8px !important;
}

.oss-btn-save-changes {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background-color: #003a95 !important;
	color: #ffffff !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	padding: 12px 28px !important;
	border-radius: 8px !important;
	border: none !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	box-shadow: 0 2px 6px rgba(0, 58, 149, 0.15) !important;
}

.oss-btn-save-changes:hover {
	background-color: #002b70 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(0, 58, 149, 0.25) !important;
}

.oss-btn-cancel-profile {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background-color: #ffffff !important;
	color: #003a95 !important;
	border: 1.5px solid #003a95 !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	padding: 10.5px 28px !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.oss-btn-cancel-profile:hover {
	background-color: #eff6ff !important;
	color: #002b70 !important;
	border-color: #002b70 !important;
}

/* Sidebar Privacy & Support Cards */
.oss-privacy-policy-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	color: #003a95 !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.oss-privacy-policy-link:hover {
	color: #002b70 !important;
	text-decoration: underline !important;
}

.oss-btn-contact-support {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	padding: 10px 16px !important;
	border: 1.5px solid #003a95 !important;
	color: #003a95 !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
}

.oss-btn-contact-support:hover {
	background-color: #eff6ff !important;
	color: #002b70 !important;
	border-color: #002b70 !important;
}

@media (max-width: 768px) {
	.oss-profile-card-header {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
	.oss-form-row-3col {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}
	.oss-profile-btn-group {
		flex-direction: column !important;
		width: 100% !important;
	}
	.oss-btn-save-changes,
	.oss-btn-cancel-profile {
		width: 100% !important;
	}
}
