
/**
 * PenTest Modern WPLMS Member Area
 * Progressive-enhancement CSS only.
 * Scope: body.pt-modern-member-area
 */

body.pt-modern-member-area {
	--pt-green: #16a34a;
	--pt-green-2: #22c55e;
	--pt-green-soft: #f0fdf4;
	--pt-ink: #171a2b;
	--pt-text: #394150;
	--pt-muted: #7b8190;
	--pt-bg: #f7f8fb;
	--pt-card: #ffffff;
	--pt-line: #e9eaf0;
	--pt-green: #16a34a;
	--pt-blue: #2563eb;
	--pt-amber: #d97706;
	--pt-red: #dc2626;
	--pt-shadow: 0 12px 34px rgba(24, 24, 36, .07);
	--pt-radius: 18px;
	--pt-radius-sm: 12px;
}

/* ---------------------------------------------------------
   GLOBAL MEMBER AREA
--------------------------------------------------------- */

body.pt-modern-member-area #content {
	background: var(--pt-bg) !important;
	padding: 42px 0 64px !important;
}

body.pt-modern-member-area #buddypress,
body.pt-modern-member-area #buddypress * {
	box-sizing: border-box;
}

body.pt-modern-member-area #buddypress {
	color: var(--pt-text);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.55;
}

body.pt-modern-member-area #buddypress > .container,
body.pt-modern-member-area #buddypress > .container-fluid {
	max-width: 1440px;
}

body.pt-modern-member-area #buddypress .row {
	display: flex;
	flex-wrap: wrap;
}

body.pt-modern-member-area #buddypress .padder {
	padding: 0 0 0 28px !important;
	background: transparent !important;
}

body.pt-modern-member-area #buddypress #item-body {
	padding: 0 !important;
	background: transparent !important;
}

body.pt-modern-member-area #buddypress a {
	transition: color .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

/* ---------------------------------------------------------
   LEFT PROFILE SIDEBAR / NAV
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress .col-md-3.col-sm-4 {
	position: sticky;
	top: 28px;
	align-self: flex-start;
}

body.pt-modern-member-area #buddypress .pagetitle {
	overflow: hidden;
	margin: 0 !important;
	border: 1px solid var(--pt-line);
	border-bottom: 0;
	border-radius: var(--pt-radius) var(--pt-radius) 0 0;
	background: var(--pt-card);
	box-shadow: var(--pt-shadow);
}

body.pt-modern-member-area #buddypress #item-header {
	position: relative;
	display: block;
	min-height: 0 !important;
	padding: 28px 24px 24px !important;
	background:
		radial-gradient(circle at 85% 15%, rgba(124,58,237,.13), transparent 35%),
		linear-gradient(180deg,#fff,#f7fff9) !important;
	border: 0 !important;
	text-align: left !important;
}

body.pt-modern-member-area #buddypress #item-header-avatar {
	float: none !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
}

body.pt-modern-member-area #buddypress #item-header-avatar a {
	display: inline-block;
	position: relative;
	border-radius: 50%;
}

body.pt-modern-member-area #buddypress #item-header-avatar a::after {
	content: "";
	position: absolute;
	right: 3px;
	bottom: 5px;
	width: 14px;
	height: 14px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 2px 8px rgba(34,197,94,.28);
}

body.pt-modern-member-area #buddypress #item-header-avatar img.avatar {
	float: none !important;
	display: block;
	width: 86px !important;
	height: 86px !important;
	max-width: 86px !important;
	object-fit: cover;
	margin: 0 !important;
	border: 4px solid #fff !important;
	border-radius: 50% !important;
	box-shadow: 0 8px 24px rgba(22,22,40,.14);
}

body.pt-modern-member-area #buddypress #item-header-content {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--pt-muted) !important;
	border: 0 !important;
	text-align: left !important;
}

body.pt-modern-member-area #buddypress #item-header-content h3 {
	margin: 0 0 4px !important;
	font-size: 20px !important;
	line-height: 1.2 !important;
	font-weight: 800 !important;
	letter-spacing: -.02em;
	text-transform: none !important;
}

body.pt-modern-member-area #buddypress #item-header-content h3 a {
	color: var(--pt-ink) !important;
}

body.pt-modern-member-area #buddypress #item-header-content .location,
body.pt-modern-member-area #buddypress #item-header-content .activity,
body.pt-modern-member-area #buddypress #item-header-content .user-nicename {
	color: var(--pt-muted) !important;
	font-size: 12px !important;
}

body.pt-modern-member-area #buddypress #item-nav {
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--pt-line) !important;
	border-top: 1px solid #f0edf5 !important;
	border-radius: 0 0 var(--pt-radius) var(--pt-radius);
	background: var(--pt-card);
	box-shadow: var(--pt-shadow);
	overflow: hidden;
}

body.pt-modern-member-area #buddypress #item-nav .item-list-tabs {
	margin: 0 !important;
	padding: 10px !important;
	border: 0 !important;
	background: transparent !important;
}

body.pt-modern-member-area #buddypress #item-nav ul {
	display: flex !important;
	flex-direction: column;
	gap: 3px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li {
	float: none !important;
	display: block;
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li a {
	position: relative;
	display: flex !important;
	align-items: center;
	gap: 12px;
	min-height: 46px;
	width: 100%;
	padding: 0 12px 0 42px !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: transparent !important;
	color: #4a4f5d !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	letter-spacing: .01em;
	text-align: left !important;
	text-transform: none !important;
	line-height: 1.2 !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li a::before {
	position: absolute;
	left: 13px;
	top: 50%;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	color: #8e93a2;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
}

body.pt-modern-member-area #buddypress #item-nav li#profile-personal-li a::before { content: "◉"; }
body.pt-modern-member-area #buddypress #item-nav li#course-personal-li a::before,
body.pt-modern-member-area #buddypress #item-nav li#courses-personal-li a::before { content: "▣"; }
body.pt-modern-member-area #buddypress #item-nav li#messages-personal-li a::before { content: "✉"; }
body.pt-modern-member-area #buddypress #item-nav li#notifications-personal-li a::before { content: "◔"; }
body.pt-modern-member-area #buddypress #item-nav li#dashboard-personal-li a::before { content: "⌂"; }
body.pt-modern-member-area #buddypress #item-nav li#settings-personal-li a::before { content: "⚙"; }
body.pt-modern-member-area #buddypress #item-nav li[id*="order"] a::before { content: "▤"; }
body.pt-modern-member-area #buddypress #item-nav li[id*="team"] a::before { content: "♟"; }

body.pt-modern-member-area #buddypress #item-nav ul li a:hover {
	background: #f0fdf4 !important;
	color: var(--pt-green) !important;
	transform: none !important;
	text-shadow: none !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li.current > a,
body.pt-modern-member-area #buddypress #item-nav ul li.selected > a {
	background: var(--pt-green-soft) !important;
	color: var(--pt-green) !important;
	box-shadow: inset 3px 0 0 var(--pt-green);
}

body.pt-modern-member-area #buddypress #item-nav ul li.current > a::before,
body.pt-modern-member-area #buddypress #item-nav ul li.selected > a::before {
	color: var(--pt-green);
}

body.pt-modern-member-area #buddypress #item-nav ul li a span {
	margin-left: auto !important;
	padding: 3px 7px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #f1eef8 !important;
	color: var(--pt-green) !important;
	font-size: 10px !important;
	font-weight: 800;
	line-height: 1.2 !important;
}

/* ---------------------------------------------------------
   MAIN CONTENT CARD
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress .col-md-9.col-sm-8 > .padder {
	min-height: 520px;
}


body.pt-modern-member-area #buddypress .col-md-9.col-sm-8 > .padder > #item-body,
body.pt-modern-member-area #buddypress .col-md-9.col-sm-8 > .padder > .wplms-dashboard {
	border: 1px solid var(--pt-line);
	border-radius: var(--pt-radius);
	background: var(--pt-card);
	box-shadow: var(--pt-shadow);
}

body.pt-modern-member-area #buddypress .col-md-9.col-sm-8 > .padder > #item-body {
	padding: 26px !important;
}

/* ---------------------------------------------------------
   SUB NAVIGATION
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress #item-body > .item-list-tabs#subnav,
body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav {
	margin: 0 0 26px !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--pt-line) !important;
	background: transparent !important;
	overflow-x: auto;
}

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: max-content;
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul li {
	float: none !important;
	margin: 0 !important;
}

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul li a {
	position: relative;
	display: block;
	padding: 13px 12px 14px !important;
	border: 0 !important;
	background: transparent !important;
	color: #606675 !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: .02em;
	text-transform: none !important;
}

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul li.current a,
body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul li.selected a,
body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul li a:hover {
	color: var(--pt-green) !important;
}

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul li.current a::after,
body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul li.selected a::after {
	content: "";
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: -1px;
	height: 3px;
	border-radius: 4px 4px 0 0;
	background: var(--pt-green);
}

/* ---------------------------------------------------------
   PROFILE
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress .profile .bp-widget {
	margin: 0 0 24px !important;
	padding: 0 !important;
	border: 1px solid var(--pt-line);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}

body.pt-modern-member-area #buddypress .profile .bp-widget > h4 {
	margin: 0 !important;
	padding: 16px 20px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--pt-line) !important;
	background: #fafafd;
	color: var(--pt-ink) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: -.01em;
}

body.pt-modern-member-area #buddypress table.profile-fields {
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	background: #fff !important;
}

body.pt-modern-member-area #buddypress table.profile-fields tr {
	border-bottom: 1px solid #f0f1f5 !important;
}

body.pt-modern-member-area #buddypress table.profile-fields tr:last-child {
	border-bottom: 0 !important;
}

body.pt-modern-member-area #buddypress table.profile-fields td {
	padding: 15px 20px !important;
	border: 0 !important;
	background: transparent !important;
	vertical-align: top;
}

body.pt-modern-member-area #buddypress table.profile-fields td.name {
	width: 34%;
	color: var(--pt-muted) !important;
	font-size: 12px;
	font-weight: 700;
}

body.pt-modern-member-area #buddypress table.profile-fields td.value {
	color: var(--pt-ink) !important;
	font-size: 14px;
	font-weight: 500;
}

/* Certificates */
body.pt-modern-member-area #buddypress .certifications,
body.pt-modern-member-area #buddypress [class*="certificate"] {
	border-radius: 12px;
}

/* ---------------------------------------------------------
   COURSES
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress .course.mycourse {
	padding: 0 !important;
}

body.pt-modern-member-area #buddypress #course-list {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.pt-modern-member-area #buddypress #course-list > li {
	position: relative;
	float: none !important;
	display: grid !important;
	grid-template-columns: 168px minmax(0,1fr);
	min-height: 176px;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--pt-line) !important;
	border-radius: 15px !important;
	background: #fff !important;
	overflow: hidden;
	box-shadow: 0 7px 22px rgba(24,24,36,.045);
}

body.pt-modern-member-area #buddypress #course-list > li:hover {
	border-color: #bbf7d0 !important;
	box-shadow: 0 12px 30px rgba(67,40,120,.10);
	transform: translateY(-1px);
}

body.pt-modern-member-area #buddypress #course-list > li .item-avatar {
	float: none !important;
	width: 168px !important;
	height: 100%;
	margin: 0 !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-avatar a {
	display: block;
	width: 100%;
	height: 100%;
}

body.pt-modern-member-area #buddypress #course-list > li .item-avatar img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 176px;
	max-width: none !important;
	object-fit: cover;
	margin: 0 !important;
	border-radius: 0 !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 18px 18px 16px !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-title {
	margin: 0 0 9px !important;
	font-size: 15px !important;
	line-height: 1.35 !important;
	font-weight: 800 !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-title a {
	color: var(--pt-ink) !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-title a:hover {
	color: var(--pt-green) !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-meta,
body.pt-modern-member-area #buddypress #course-list > li .item-desc,
body.pt-modern-member-area #buddypress #course-list > li .item-instructor {
	color: var(--pt-muted) !important;
	font-size: 11px !important;
}

body.pt-modern-member-area #buddypress #course-list .course_progressbar,
body.pt-modern-member-area #buddypress #course-list .progress {
	height: 7px !important;
	margin-top: 12px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #ececf2 !important;
	overflow: hidden;
}

body.pt-modern-member-area #buddypress #course-list .course_progressbar > div,
body.pt-modern-member-area #buddypress #course-list .progress .bar,
body.pt-modern-member-area #buddypress #course-list .progress-bar {
	border-radius: 999px !important;
	background: linear-gradient(90deg,var(--pt-green),var(--pt-green-2)) !important;
}

/* Course filters/search/pagination */
body.pt-modern-member-area #buddypress .course #subnav,
body.pt-modern-member-area #buddypress .course .item-list-tabs#subnav {
	border-radius: 12px;
}

body.pt-modern-member-area #buddypress input[type="text"],
body.pt-modern-member-area #buddypress input[type="email"],
body.pt-modern-member-area #buddypress input[type="password"],
body.pt-modern-member-area #buddypress input[type="search"],
body.pt-modern-member-area #buddypress textarea,
body.pt-modern-member-area #buddypress select {
	min-height: 42px !important;
	padding: 9px 12px !important;
	border: 1px solid #dfe2e8 !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--pt-ink) !important;
	box-shadow: none !important;
	outline: none !important;
}

body.pt-modern-member-area #buddypress input:focus,
body.pt-modern-member-area #buddypress textarea:focus,
body.pt-modern-member-area #buddypress select:focus {
	border-color: rgba(124,58,237,.65) !important;
	box-shadow: 0 0 0 3px rgba(124,58,237,.10) !important;
}

body.pt-modern-member-area #buddypress .pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--pt-muted);
}

body.pt-modern-member-area #buddypress .pagination-links a,
body.pt-modern-member-area #buddypress .pagination-links span {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	margin: 2px !important;
	padding: 0 9px !important;
	border: 1px solid var(--pt-line) !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: var(--pt-text) !important;
	font-size: 11px;
	font-weight: 750;
}

body.pt-modern-member-area #buddypress .pagination-links .current,
body.pt-modern-member-area #buddypress .pagination-links a:hover {
	border-color: var(--pt-green) !important;
	background: var(--pt-green) !important;
	color: #fff !important;
}

/* ---------------------------------------------------------
   DASHBOARD WIDGETS
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress .wplms-dashboard {
	padding: 18px !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.pt-modern-member-area #buddypress .wplms-dashboard > [class*="col-"] {
	padding: 9px !important;
}

body.pt-modern-member-area #buddypress .dash-widget,
body.pt-modern-member-area #buddypress .widget {
	border-radius: 15px !important;
	background: #fff !important;
	box-shadow: 0 8px 26px rgba(24,24,36,.05) !important;
	overflow: hidden;
}


body.pt-modern-member-area #buddypress .dash_widget_title,
body.pt-modern-member-area #buddypress .widget .widget_title {
	margin: 0 !important;
	padding: 15px 18px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--pt-line) !important;
	background: #fbfbfd !important;
	color: var(--pt-ink) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	text-transform: none !important;
}

/* WPLMS stat blocks */
body.pt-modern-member-area #buddypress .wplms-dashboard .stat_num,
body.pt-modern-member-area #buddypress .wplms-dashboard .stats,
body.pt-modern-member-area #buddypress .wplms-dashboard [class*="stat"] {
	border-radius: 14px;
}

body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats {
	border: 0 !important;
	border-radius: 15px !important;
	box-shadow: var(--pt-shadow);
}

/* ---------------------------------------------------------
   MESSAGES
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress table#message-threads,
body.pt-modern-member-area #buddypress table.notifications {
	width: 100% !important;
	margin: 0 !important;
	border: 1px solid var(--pt-line) !important;
	border-radius: 14px;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: #fff !important;
	overflow: hidden;
}

body.pt-modern-member-area #buddypress table#message-threads thead th,
body.pt-modern-member-area #buddypress table.notifications thead th {
	padding: 12px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--pt-line) !important;
	background: #fafafd !important;
	color: var(--pt-muted) !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	text-transform: uppercase;
	letter-spacing: .06em;
}

body.pt-modern-member-area #buddypress table#message-threads td,
body.pt-modern-member-area #buddypress table.notifications td {
	padding: 14px !important;
	border: 0 !important;
	border-bottom: 1px solid #f0f1f4 !important;
	background: #fff !important;
	vertical-align: middle !important;
	color: var(--pt-text) !important;
}

body.pt-modern-member-area #buddypress table#message-threads tr:last-child td,
body.pt-modern-member-area #buddypress table.notifications tr:last-child td {
	border-bottom: 0 !important;
}

body.pt-modern-member-area #buddypress table#message-threads tr.unread td {
	background: #f7fff9 !important;
}

body.pt-modern-member-area #buddypress table#message-threads .thread-avatar img {
	width: 42px !important;
	height: 42px !important;
	border-radius: 50% !important;
	object-fit: cover;
}

body.pt-modern-member-area #buddypress table#message-threads .thread-info p {
	margin: 0 0 4px !important;
}

body.pt-modern-member-area #buddypress table#message-threads .thread-info > p:first-child a {
	color: var(--pt-ink) !important;
	font-weight: 800;
}

body.pt-modern-member-area #buddypress table#message-threads .thread-excerpt,
body.pt-modern-member-area #buddypress table#message-threads .activity {
	color: var(--pt-muted) !important;
	font-size: 11px !important;
}

/* ---------------------------------------------------------
   FORMS / SETTINGS / PROFILE EDIT
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress .standard-form,
body.pt-modern-member-area #buddypress .profile.edit {
	max-width: 920px;
}

body.pt-modern-member-area #buddypress .standard-form label,
body.pt-modern-member-area #buddypress .editfield > label {
	margin-bottom: 6px !important;
	color: var(--pt-ink) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
}

body.pt-modern-member-area #buddypress .editfield,
body.pt-modern-member-area #buddypress .field-visibility-settings,
body.pt-modern-member-area #buddypress .standard-form .settings-input {
	margin-bottom: 20px !important;
}

body.pt-modern-member-area #buddypress button,
body.pt-modern-member-area #buddypress input[type="submit"],
body.pt-modern-member-area #buddypress input[type="button"],
body.pt-modern-member-area #buddypress a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 40px !important;
	padding: 0 16px !important;
	border: 1px solid var(--pt-green) !important;
	border-radius: 10px !important;
	background: var(--pt-green) !important;
	color: #fff !important;
	box-shadow: none !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-transform: none !important;
	text-shadow: none !important;
}

body.pt-modern-member-area #buddypress button:hover,
body.pt-modern-member-area #buddypress input[type="submit"]:hover,
body.pt-modern-member-area #buddypress input[type="button"]:hover,
body.pt-modern-member-area #buddypress a.button:hover {
	background: #15803d !important;
	border-color: #15803d !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(124,58,237,.18) !important;
}

/* ---------------------------------------------------------
   NOTICE / EMPTY STATES
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress #message,
body.pt-modern-member-area #buddypress .bp-template-notice {
	margin: 0 0 20px !important;
	padding: 14px 16px !important;
	border: 1px solid #dcfce7 !important;
	border-radius: 12px !important;
	background: #f0fdf4 !important;
	color: #166534 !important;
	box-shadow: none !important;
}

body.pt-modern-member-area #buddypress #message p,
body.pt-modern-member-area #buddypress .bp-template-notice p {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: inherit !important;
	font-size: 12px !important;
	font-weight: 650;
}

/* ---------------------------------------------------------
   WOOCOMMERCE / TEAM CONTENT INSIDE MEMBER BODY
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress .woocommerce table.shop_table,
body.pt-modern-member-area #buddypress table.shop_table {
	border: 1px solid var(--pt-line) !important;
	border-radius: 14px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: #fff !important;
	overflow: hidden;
}

body.pt-modern-member-area #buddypress .woocommerce table.shop_table th,
body.pt-modern-member-area #buddypress table.shop_table th {
	padding: 13px 15px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--pt-line) !important;
	background: #fafafd !important;
	color: var(--pt-muted) !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	text-transform: uppercase;
}

body.pt-modern-member-area #buddypress .woocommerce table.shop_table td,
body.pt-modern-member-area #buddypress table.shop_table td {
	padding: 14px 15px !important;
	border: 0 !important;
	border-bottom: 1px solid #f0f1f5 !important;
	color: var(--pt-text) !important;
}

/* ---------------------------------------------------------
   MOBILE / TABLET
--------------------------------------------------------- */

@media (max-width: 1100px) {
	body.pt-modern-member-area #buddypress #course-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 991px) {
	body.pt-modern-member-area #content {
		padding: 24px 0 44px !important;
	}

	body.pt-modern-member-area #buddypress .row {
		display: block;
	}

	body.pt-modern-member-area #buddypress .col-md-3.col-sm-4 {
		position: static;
		width: 100% !important;
		margin-bottom: 20px;
	}

	body.pt-modern-member-area #buddypress .col-md-9.col-sm-8 {
		width: 100% !important;
	}

	body.pt-modern-member-area #buddypress .padder {
		padding-left: 0 !important;
	}

	body.pt-modern-member-area #buddypress .pagetitle {
		border-radius: var(--pt-radius);
		border-bottom: 1px solid var(--pt-line);
	}

	body.pt-modern-member-area #buddypress #item-header {
		display: flex;
		align-items: center;
		gap: 18px;
		padding: 20px !important;
	}

	body.pt-modern-member-area #buddypress #item-header-avatar {
		margin: 0 !important;
		flex: 0 0 auto;
	}

	body.pt-modern-member-area #buddypress #item-header-avatar img.avatar {
		width: 66px !important;
		height: 66px !important;
		max-width: 66px !important;
	}

	body.pt-modern-member-area #buddypress #item-nav {
		margin-top: 10px !important;
		border-radius: var(--pt-radius);
	}

	body.pt-modern-member-area #buddypress #item-nav .item-list-tabs {
		overflow-x: auto;
	}

	body.pt-modern-member-area #buddypress #item-nav ul {
		flex-direction: row;
		min-width: max-content;
	}

	body.pt-modern-member-area #buddypress #item-nav ul li {
		width: auto;
	}

	body.pt-modern-member-area #buddypress #item-nav ul li a {
		width: auto;
		padding: 0 13px 0 38px !important;
		white-space: nowrap;
	}

	body.pt-modern-member-area #buddypress #item-nav ul li.current > a,
	body.pt-modern-member-area #buddypress #item-nav ul li.selected > a {
		box-shadow: inset 0 -3px 0 var(--pt-green);
	}
}

@media (max-width: 680px) {
	body.pt-modern-member-area #buddypress .col-md-9.col-sm-8 > .padder > #item-body {
		padding: 18px !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li {
		grid-template-columns: 116px minmax(0,1fr);
		min-height: 138px;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item-avatar {
		width: 116px !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item-avatar img {
		min-height: 138px;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item {
		padding: 14px !important;
	}

	body.pt-modern-member-area #buddypress table#message-threads,
	body.pt-modern-member-area #buddypress table.notifications,
	body.pt-modern-member-area #buddypress table.profile-fields,
	body.pt-modern-member-area #buddypress .woocommerce table.shop_table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.pt-modern-member-area #buddypress .pagination {
		align-items: flex-start;
		flex-direction: column;
	}
}


/* =========================================================
   v1.1.0 LIVE-MARKUP CORRECTIONS
   Based on the first production screenshots.
   These are intentionally CSS-only so all WPLMS actions,
   forms, AJAX, pagination and BuddyPress screens stay native.
========================================================= */

/* Stronger profile identity / readability */
body.pt-modern-member-area #buddypress #item-header-content h3,
body.pt-modern-member-area #buddypress #item-header-content h3 a,
body.pt-modern-member-area #buddypress .pagetitle h3,
body.pt-modern-member-area #buddypress .pagetitle h3 a {
	color: var(--pt-ink) !important;
	-webkit-text-fill-color: var(--pt-ink) !important;
	opacity: 1 !important;
}

/* Give the content area slightly stronger contrast than the first pass */
body.pt-modern-member-area #buddypress .col-md-9.col-sm-8 > .padder > #item-body {
	background: rgba(255,255,255,.72) !important;
}

/* ---------------------------------------------------------
   COURSES: use a safe single-column modern list.
   The legacy WPLMS course markup contains nested floats and
   instructor images that do not map safely to a two-column grid.
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress #course-list {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-modern-member-area #buddypress #course-list > li {
	display: grid !important;
	grid-template-columns: 230px minmax(0,1fr) !important;
	width: 100% !important;
	min-height: 205px !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	border: 1px solid var(--pt-line) !important;
	border-radius: 16px !important;
	background: #fff !important;
	overflow: hidden !important;
	box-shadow: 0 8px 24px rgba(24,24,36,.05) !important;
	transform: none !important;
}

body.pt-modern-member-area #buddypress #course-list > li:last-child {
	margin-bottom: 0 !important;
}

body.pt-modern-member-area #buddypress #course-list > li:hover {
	border-color: #bbf7d0 !important;
	box-shadow: 0 14px 30px rgba(71,45,120,.10) !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-avatar {
	float: none !important;
	width: 230px !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #111827;
}

body.pt-modern-member-area #buddypress #course-list > li .item-avatar > a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-avatar img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 205px !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	object-fit: cover !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item {
	float: none !important;
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 24px 26px !important;
	overflow: hidden !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-title {
	display: block !important;
	width: 100% !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	font-size: 17px !important;
	line-height: 1.35 !important;
	font-weight: 800 !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-title a {
	display: inline !important;
	color: var(--pt-ink) !important;
	-webkit-text-fill-color: var(--pt-ink) !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-meta,
body.pt-modern-member-area #buddypress #course-list > li .item-desc,
body.pt-modern-member-area #buddypress #course-list > li .item-instructor,
body.pt-modern-member-area #buddypress #course-list > li .item-author {
	position: static !important;
	float: none !important;
	width: auto !important;
	margin: 7px 0 !important;
	padding: 0 !important;
	color: var(--pt-muted) !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-instructor img,
body.pt-modern-member-area #buddypress #course-list > li .item-author img,
body.pt-modern-member-area #buddypress #course-list > li .instructor img {
	display: inline-block !important;
	width: 30px !important;
	height: 30px !important;
	min-height: 0 !important;
	margin: 0 8px 0 0 !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	vertical-align: middle !important;
}

body.pt-modern-member-area #buddypress #course-list > li .star-rating,
body.pt-modern-member-area #buddypress #course-list > li .course-star-rating {
	position: static !important;
	float: none !important;
	margin: 8px 0 !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-credits,
body.pt-modern-member-area #buddypress #course-list > li .item-action {
	position: static !important;
	float: none !important;
	width: auto !important;
	margin-top: 14px !important;
}

/* Course toolbar: keep native controls but make them align cleanly */
body.pt-modern-member-area #buddypress .dir-search,
body.pt-modern-member-area #buddypress .course_search,
body.pt-modern-member-area #buddypress #course-dir-search {
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 12px 18px 0 !important;
}

body.pt-modern-member-area #buddypress .dir-search input[type="text"],
body.pt-modern-member-area #buddypress .dir-search input[type="search"] {
	min-width: 260px;
}

/* ---------------------------------------------------------
   DASHBOARD STAT CARDS
   The original WPLMS widgets use their own bright backgrounds
   and inherited white text. First pass neutralized backgrounds,
   leaving some statistics visually blank. Restore legibility.
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats,
body.pt-modern-member-area #buddypress .wplms-dashboard .stat_num,
body.pt-modern-member-area #buddypress .wplms-dashboard [class*="stats"] {
	color: var(--pt-ink) !important;
	-webkit-text-fill-color: currentColor !important;
	opacity: 1 !important;
}

body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats *,
body.pt-modern-member-area #buddypress .wplms-dashboard .stat_num *,
body.pt-modern-member-area #buddypress .wplms-dashboard [class*="stats"] * {
	opacity: 1 !important;
	text-shadow: none !important;
}

/* Top four WPLMS statistic tiles */
body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats {
	position: relative !important;
	min-height: 108px !important;
	padding: 20px 20px 18px !important;
	border: 1px solid var(--pt-line) !important;
	background: #fff !important;
	color: var(--pt-ink) !important;
	-webkit-text-fill-color: var(--pt-ink) !important;
	box-shadow: 0 8px 24px rgba(24,24,36,.05) !important;
	overflow: hidden !important;
}

body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg,var(--pt-green),var(--pt-green-2));
}

body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats .stat_num,
body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats strong,
body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats h3,
body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats h4 {
	color: var(--pt-ink) !important;
	-webkit-text-fill-color: var(--pt-ink) !important;
	font-weight: 800 !important;
}

body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats span,
body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats small,
body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats p {
	color: var(--pt-muted) !important;
	-webkit-text-fill-color: var(--pt-muted) !important;
}

/* Some WPLMS dashboard tile variants are plain colored .widget blocks */
body.pt-modern-member-area #buddypress .wplms-dashboard .widget[class*="stats"],
body.pt-modern-member-area #buddypress .wplms-dashboard [class*="col-"] > .widget {
	color: var(--pt-text) !important;
}

/* Course Progress widget: remove legacy rainbow bars if they come from nth-child */
body.pt-modern-member-area #buddypress .wplms-dashboard .course_progressbar > div,
body.pt-modern-member-area #buddypress .wplms-dashboard .progress .bar,
body.pt-modern-member-area #buddypress .wplms-dashboard .progress-bar {
	background: linear-gradient(90deg,var(--pt-green),var(--pt-green-2)) !important;
}

/* ---------------------------------------------------------
   TOP TABS / HORIZONTAL SCROLL
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav {
	scrollbar-width: thin;
	scrollbar-color: #d6d7dc transparent;
}

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav::-webkit-scrollbar {
	height: 5px;
}

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: #d6d7dc;
}

/* ---------------------------------------------------------
   SETTINGS / DASHBOARD FORMS
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress .standard-form input[type="text"],
body.pt-modern-member-area #buddypress .standard-form input[type="email"],
body.pt-modern-member-area #buddypress .standard-form input[type="password"],
body.pt-modern-member-area #buddypress .standard-form textarea,
body.pt-modern-member-area #buddypress .standard-form select {
	max-width: 100% !important;
}

body.pt-modern-member-area #buddypress .wplms-dashboard textarea {
	min-height: 92px !important;
}

/* ---------------------------------------------------------
   RESPONSIVE COURSE LIST
--------------------------------------------------------- */

@media (max-width: 820px) {
	body.pt-modern-member-area #buddypress #course-list > li {
		grid-template-columns: 155px minmax(0,1fr) !important;
		min-height: 165px !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item-avatar {
		width: 155px !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item-avatar img {
		min-height: 165px !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item {
		padding: 18px !important;
	}
}

@media (max-width: 560px) {
	body.pt-modern-member-area #buddypress #course-list > li {
		display: block !important;
		min-height: 0 !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item-avatar {
		width: 100% !important;
		height: auto !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item-avatar img {
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 16 / 9;
	}

	body.pt-modern-member-area #buddypress .dir-search,
	body.pt-modern-member-area #buddypress .course_search,
	body.pt-modern-member-area #buddypress #course-dir-search {
		display: flex !important;
		width: 100%;
	}

	body.pt-modern-member-area #buddypress .dir-search input[type="text"],
	body.pt-modern-member-area #buddypress .dir-search input[type="search"] {
		min-width: 0;
		width: 100%;
	}
}


/* =========================================================
   v1.2.0 LIVE FIX PASS
   Fixes based on production screenshots:
   - course cards legacy-float collisions
   - visible subnav scrollbar
   - cropped avatar-header gradient
   - active-nav green edge artifact
   - notification table header alignment
========================================================= */

/* ---------------------------------------------------------
   PROFILE SIDEBAR CLEANUP
--------------------------------------------------------- */

/* Remove the cropped radial glow/gradient artifact beside the avatar. */
body.pt-modern-member-area #buddypress #item-header {
	background: #fff !important;
}

/* Keep a very subtle surface treatment on the whole profile card instead. */
body.pt-modern-member-area #buddypress .pagetitle {
	background: linear-gradient(180deg,#ffffff 0%,#fbfffc 100%) !important;
}

/* Remove the old left green "rail" from active nav items.
   The pill background alone is cleaner and avoids the clipped-line effect. */
body.pt-modern-member-area #buddypress #item-nav ul li.current > a,
body.pt-modern-member-area #buddypress #item-nav ul li.selected > a {
	box-shadow: none !important;
	border-left: 0 !important;
	outline: 0 !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li.current > a::after,
body.pt-modern-member-area #buddypress #item-nav ul li.selected > a::after {
	display: none !important;
	content: none !important;
}

/* ---------------------------------------------------------
   HIDE LEGACY SUBNAV SCROLLBAR WITHOUT DISABLING SCROLL
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav {
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none !important;            /* Firefox */
	-ms-overflow-style: none !important;         /* old Edge */
}

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav::-webkit-scrollbar {
	width: 0 !important;
	height: 0 !important;
	display: none !important;
	background: transparent !important;
}

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav::-webkit-scrollbar-thumb {
	background: transparent !important;
}

/* ---------------------------------------------------------
   COURSES: HARD RESET THE LEGACY WPLMS FLOAT/POSITION RULES
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress #course-list {
	display: block !important;
	width: 100% !important;
}

/* Use flex rather than grid: legacy WPLMS markup behaves more predictably. */
body.pt-modern-member-area #buddypress #course-list > li {
	display: flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100% !important;
	min-height: 220px !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Kill the old absolute/floating layout that was placing title/rating/author
   over the course image. */
body.pt-modern-member-area #buddypress #course-list > li .item,
body.pt-modern-member-area #buddypress #course-list > li .item *,
body.pt-modern-member-area #buddypress #course-list > li .item-avatar,
body.pt-modern-member-area #buddypress #course-list > li .item-avatar * {
	position: static !important;
	float: none !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	transform: none !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-avatar {
	flex: 0 0 235px !important;
	width: 235px !important;
	min-width: 235px !important;
	height: auto !important;
	align-self: stretch !important;
	overflow: hidden !important;
	background: #111827 !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-avatar > a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-avatar img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 220px !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center center !important;
}

/* Real course content column */
body.pt-modern-member-area #buddypress #course-list > li .item {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	padding: 24px 28px !important;
	overflow: visible !important;
	background: #fff !important;
}

/* Override old width rules on nested course text/meta blocks. */
body.pt-modern-member-area #buddypress #course-list > li .item > *,
body.pt-modern-member-area #buddypress #course-list > li .item .item-title,
body.pt-modern-member-area #buddypress #course-list > li .item .item-meta,
body.pt-modern-member-area #buddypress #course-list > li .item .item-desc,
body.pt-modern-member-area #buddypress #course-list > li .item .item-instructor,
body.pt-modern-member-area #buddypress #course-list > li .item .item-author,
body.pt-modern-member-area #buddypress #course-list > li .item .item-credits,
body.pt-modern-member-area #buddypress #course-list > li .item .item-action {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	clear: both !important;
}

/* Strong title, safely in content column */
body.pt-modern-member-area #buddypress #course-list > li .item-title {
	margin: 0 0 10px !important;
	padding: 0 !important;
	font-size: 17px !important;
	line-height: 1.35 !important;
	font-weight: 800 !important;
	color: var(--pt-ink) !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-title a {
	display: inline !important;
	color: var(--pt-ink) !important;
	-webkit-text-fill-color: var(--pt-ink) !important;
}

/* Rating row */
body.pt-modern-member-area #buddypress #course-list > li .star-rating,
body.pt-modern-member-area #buddypress #course-list > li .course-star-rating,
body.pt-modern-member-area #buddypress #course-list > li [class*="rating"] {
	display: inline-block !important;
	width: auto !important;
	clear: none !important;
	margin: 4px 0 9px !important;
	vertical-align: middle !important;
}

/* Instructor/avatar row: prevent huge legacy instructor photos */
body.pt-modern-member-area #buddypress #course-list > li .item-instructor,
body.pt-modern-member-area #buddypress #course-list > li .item-author,
body.pt-modern-member-area #buddypress #course-list > li .instructor {
	display: flex !important;
	align-items: center !important;
	gap: 9px !important;
	width: 100% !important;
	margin: 12px 0 0 !important;
	color: var(--pt-muted) !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-instructor img,
body.pt-modern-member-area #buddypress #course-list > li .item-author img,
body.pt-modern-member-area #buddypress #course-list > li .instructor img {
	flex: 0 0 34px !important;
	display: block !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	max-width: 34px !important;
	max-height: 34px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	object-fit: cover !important;
}

/* Prevent any author links from becoming oversized blocks. */
body.pt-modern-member-area #buddypress #course-list > li .item-instructor a,
body.pt-modern-member-area #buddypress #course-list > li .item-author a,
body.pt-modern-member-area #buddypress #course-list > li .instructor a {
	display: inline-flex !important;
	align-items: center !important;
	width: auto !important;
	max-width: 100% !important;
	color: var(--pt-green) !important;
	font-weight: 700 !important;
}

/* ---------------------------------------------------------
   NOTIFICATIONS TABLE ALIGNMENT
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress table.notifications {
	table-layout: fixed !important;
	width: 100% !important;
}

body.pt-modern-member-area #buddypress table.notifications th,
body.pt-modern-member-area #buddypress table.notifications td {
	text-align: left !important;
	vertical-align: middle !important;
}

/* Checkbox column */
body.pt-modern-member-area #buddypress table.notifications th:first-child,
body.pt-modern-member-area #buddypress table.notifications td:first-child {
	width: 54px !important;
	min-width: 54px !important;
	max-width: 54px !important;
	padding-left: 18px !important;
	padding-right: 10px !important;
	text-align: center !important;
}

/* Notification text */
body.pt-modern-member-area #buddypress table.notifications th:nth-child(2),
body.pt-modern-member-area #buddypress table.notifications td:nth-child(2) {
	width: auto !important;
	padding-left: 18px !important;
}

/* Date and actions */
body.pt-modern-member-area #buddypress table.notifications th:nth-last-child(2),
body.pt-modern-member-area #buddypress table.notifications td:nth-last-child(2) {
	width: 210px !important;
}

body.pt-modern-member-area #buddypress table.notifications th:last-child,
body.pt-modern-member-area #buddypress table.notifications td:last-child {
	width: 150px !important;
	padding-right: 18px !important;
}

/* Remove any old BuddyPress negative offsets on the table wrapper/header. */
body.pt-modern-member-area #buddypress .notifications,
body.pt-modern-member-area #buddypress .notifications > *,
body.pt-modern-member-area #buddypress table.notifications thead,
body.pt-modern-member-area #buddypress table.notifications tbody {
	margin-left: 0 !important;
	left: auto !important;
	transform: none !important;
}

/* ---------------------------------------------------------
   RESPONSIVE COURSE ROW
--------------------------------------------------------- */

@media (max-width: 820px) {
	body.pt-modern-member-area #buddypress #course-list > li {
		min-height: 175px !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item-avatar {
		flex-basis: 165px !important;
		width: 165px !important;
		min-width: 165px !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item-avatar img {
		min-height: 175px !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item {
		padding: 18px !important;
	}
}

@media (max-width: 560px) {
	body.pt-modern-member-area #buddypress #course-list > li {
		display: block !important;
		min-height: 0 !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item-avatar {
		width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
	}

	body.pt-modern-member-area #buddypress #course-list > li .item-avatar img {
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 16 / 9 !important;
	}

	body.pt-modern-member-area #buddypress table.notifications {
		table-layout: auto !important;
	}
}


/* =========================================================
   v1.3.0 POLISH / LIVE SCREENSHOT FIXES
========================================================= */

/* All real member-area action buttons use white text */
body.pt-modern-member-area #buddypress button,
body.pt-modern-member-area #buddypress button *,
body.pt-modern-member-area #buddypress input[type="submit"],
body.pt-modern-member-area #buddypress input[type="button"],
body.pt-modern-member-area #buddypress a.button,
body.pt-modern-member-area #buddypress a.button *,
body.pt-modern-member-area #buddypress .button,
body.pt-modern-member-area #buddypress .button *,
body.pt-modern-member-area #buddypress .btn,
body.pt-modern-member-area #buddypress .btn * {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

/* Remove every remaining decorative gradient from the left profile header */
body.pt-modern-member-area #buddypress .pagetitle,
body.pt-modern-member-area #buddypress #item-header,
body.pt-modern-member-area #buddypress #item-header::before,
body.pt-modern-member-area #buddypress #item-header::after,
body.pt-modern-member-area #buddypress .pagetitle::before,
body.pt-modern-member-area #buddypress .pagetitle::after {
	background: #fff !important;
	background-image: none !important;
}

body.pt-modern-member-area #buddypress .pagetitle {
	box-shadow: var(--pt-shadow) !important;
}

/* Orders + Team Members icons, including nav items whose IDs do not contain useful names */
body.pt-modern-member-area #buddypress #item-nav a[href*="order"]::before,
body.pt-modern-member-area #buddypress #item-nav a[href*="orders"]::before {
	content: "▤" !important;
	color: #8e93a2 !important;
}

body.pt-modern-member-area #buddypress #item-nav a[href*="team"]::before,
body.pt-modern-member-area #buddypress #item-nav a[href*="members"]::before {
	content: "♟" !important;
	color: #8e93a2 !important;
}

/* Course image/instructor cleanup */
body.pt-modern-member-area #buddypress #course-list > li,
body.pt-modern-member-area #buddypress #course-list > li .item-avatar,
body.pt-modern-member-area #buddypress #course-list > li .item-avatar > a {
	background: #fff !important;
	background-image: none !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-avatar {
	border-right: 1px solid var(--pt-line) !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-instructor,
body.pt-modern-member-area #buddypress #course-list > li .item-author,
body.pt-modern-member-area #buddypress #course-list > li .instructor,
body.pt-modern-member-area #buddypress #course-list > li .item-instructor a,
body.pt-modern-member-area #buddypress #course-list > li .item-author a,
body.pt-modern-member-area #buddypress #course-list > li .instructor a {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.pt-modern-member-area #buddypress #course-list > li .item-instructor a,
body.pt-modern-member-area #buddypress #course-list > li .item-author a,
body.pt-modern-member-area #buddypress #course-list > li .instructor a {
	padding: 0 !important;
}

/* Notifications: undo forced/fixed widths from earlier pass and use a normal clean table */
body.pt-modern-member-area #buddypress table.notifications {
	table-layout: auto !important;
	width: 100% !important;
}

body.pt-modern-member-area #buddypress table.notifications th,
body.pt-modern-member-area #buddypress table.notifications td {
	position: static !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	margin: 0 !important;
	text-align: left !important;
	vertical-align: middle !important;
}

body.pt-modern-member-area #buddypress table.notifications th:first-child,
body.pt-modern-member-area #buddypress table.notifications td:first-child {
	width: 54px !important;
	min-width: 54px !important;
	max-width: 54px !important;
	padding: 14px 12px !important;
	text-align: center !important;
}

body.pt-modern-member-area #buddypress table.notifications th:nth-child(2),
body.pt-modern-member-area #buddypress table.notifications td:nth-child(2) {
	width: auto !important;
	min-width: 0 !important;
	padding: 14px 18px !important;
}

body.pt-modern-member-area #buddypress table.notifications th:nth-last-child(2),
body.pt-modern-member-area #buddypress table.notifications td:nth-last-child(2) {
	width: 190px !important;
	white-space: nowrap;
}

body.pt-modern-member-area #buddypress table.notifications th:last-child,
body.pt-modern-member-area #buddypress table.notifications td:last-child {
	width: 135px !important;
	white-space: nowrap;
}

/* ---------------------------------------------------------
   DASHBOARD / TEAM / INSTRUCTOR WIDGETS
   Add real internal padding and remove legacy double borders.
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress .wplms-dashboard .widget,
body.pt-modern-member-area #buddypress .wplms-dashboard .dash-widget,
body.pt-modern-member-area #buddypress .wplms-dashboard [class*="widget"],
body.pt-modern-member-area #buddypress #item-body .widget {
	border: 1px solid var(--pt-line) !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 8px 24px rgba(24,24,36,.05) !important;
	overflow: hidden !important;
}

/* Titles own the top section; body/content gets padding instead of sitting against borders */
body.pt-modern-member-area #buddypress .wplms-dashboard .widget .widget_title,
body.pt-modern-member-area #buddypress .wplms-dashboard .widget > h3:first-child,
body.pt-modern-member-area #buddypress .wplms-dashboard .widget > h4:first-child,
body.pt-modern-member-area #buddypress .wplms-dashboard .dash_widget_title {
	margin: 0 !important;
	padding: 16px 20px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--pt-line) !important;
	background: #fafafd !important;
	color: var(--pt-ink) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
}

/* Known WPLMS instructor/team widget content wrappers */
body.pt-modern-member-area #buddypress .wplms-dashboard .widget > ul,
body.pt-modern-member-area #buddypress .wplms-dashboard .widget > ol,
body.pt-modern-member-area #buddypress .wplms-dashboard .widget > form,
body.pt-modern-member-area #buddypress .wplms-dashboard .widget > table,
body.pt-modern-member-area #buddypress .wplms-dashboard .widget > .widget_content,
body.pt-modern-member-area #buddypress .wplms-dashboard .widget > .content,
body.pt-modern-member-area #buddypress .wplms-dashboard .widget > .instructor_content,
body.pt-modern-member-area #buddypress .wplms-dashboard .widget > .instructor_stats,
body.pt-modern-member-area #buddypress .wplms-dashboard .widget > .course_stats,
body.pt-modern-member-area #buddypress .wplms-dashboard .dash-widget > .content {
	margin: 0 !important;
	padding: 18px 20px !important;
	border: 0 !important;
	background: transparent !important;
}

/* Legacy widget lists often add a border around every list and every item */
body.pt-modern-member-area #buddypress .wplms-dashboard .widget ul,
body.pt-modern-member-area #buddypress .wplms-dashboard .widget ol {
	margin: 0 !important;
	list-style: none !important;
}

body.pt-modern-member-area #buddypress .wplms-dashboard .widget li {
	margin: 0 !important;
	padding: 12px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid #f0f1f5 !important;
	background: transparent !important;
}

body.pt-modern-member-area #buddypress .wplms-dashboard .widget li:last-child {
	border-bottom: 0 !important;
}

/* Instructor dashboard stat tiles: restore color + padding rather than blank white boxes */
body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats,
body.pt-modern-member-area #buddypress .wplms-dashboard .instructor_stats,
body.pt-modern-member-area #buddypress .wplms-dashboard [class*="instructor_stat"],
body.pt-modern-member-area #buddypress .wplms-dashboard [class*="course_stat"] {
	padding: 20px !important;
	border: 1px solid #bbf7d0 !important;
	border-radius: 15px !important;
	background: linear-gradient(135deg,#16a34a 0%,#22c55e 100%) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	box-shadow: 0 8px 24px rgba(124,58,237,.16) !important;
}

body.pt-modern-member-area #buddypress .wplms-dashboard .dash_stats *,
body.pt-modern-member-area #buddypress .wplms-dashboard .instructor_stats *,
body.pt-modern-member-area #buddypress .wplms-dashboard [class*="instructor_stat"] *,
body.pt-modern-member-area #buddypress .wplms-dashboard [class*="course_stat"] * {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	text-shadow: none !important;
}

/* If WPLMS renders separate four dashboard stat boxes as columns, give each a colored accent. */
body.pt-modern-member-area #buddypress .wplms-dashboard > .row > [class*="col-"]:nth-child(4n+1) .dash_stats {
	background: linear-gradient(135deg,#16a34a,#22c55e) !important;
}
body.pt-modern-member-area #buddypress .wplms-dashboard > .row > [class*="col-"]:nth-child(4n+2) .dash_stats {
	background: linear-gradient(135deg,#2563eb,#38bdf8) !important;
}
body.pt-modern-member-area #buddypress .wplms-dashboard > .row > [class*="col-"]:nth-child(4n+3) .dash_stats {
	background: linear-gradient(135deg,#059669,#34d399) !important;
}
body.pt-modern-member-area #buddypress .wplms-dashboard > .row > [class*="col-"]:nth-child(4n+4) .dash_stats {
	background: linear-gradient(135deg,#d97706,#fbbf24) !important;
}

/* Inputs/buttons inside dashboard widgets need breathing room */
body.pt-modern-member-area #buddypress .wplms-dashboard input[type="text"],
body.pt-modern-member-area #buddypress .wplms-dashboard input[type="email"],
body.pt-modern-member-area #buddypress .wplms-dashboard select,
body.pt-modern-member-area #buddypress .wplms-dashboard textarea {
	width: 100% !important;
	margin: 0 0 12px !important;
}

body.pt-modern-member-area #buddypress .wplms-dashboard input[type="submit"],
body.pt-modern-member-area #buddypress .wplms-dashboard button {
	margin-top: 4px !important;
}

/* Search button text explicitly white */
body.pt-modern-member-area #buddypress input[type="submit"].search-submit,
body.pt-modern-member-area #buddypress .dir-search input[type="submit"],
body.pt-modern-member-area #buddypress #messages_search_submit {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}


/* =========================================================
   v1.4.0 NAV / FILTER / NOTIFICATION CLEANUP
========================================================= */

/* ---------------------------------------------------------
   SIDEBAR ICONS
   Stop generating pseudo-icons for every native WPLMS tab.
   Native WPLMS/BuddyPress icons stay untouched.
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress #item-nav ul li a::before {
	content: none !important;
	display: none !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li a {
	padding-left: 16px !important;
}

/* Icons added by our JS only where the native item truly has none. */
body.pt-modern-member-area #buddypress #item-nav .h9-nav-fallback-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-right: 10px;
	color: #8e93a2;
	font-size: 15px;
	line-height: 1;
	-webkit-text-fill-color: currentColor !important;
}

body.pt-modern-member-area #buddypress #item-nav li.current .h9-nav-fallback-icon,
body.pt-modern-member-area #buddypress #item-nav li.selected .h9-nav-fallback-icon {
	color: var(--pt-green);
}

/* ---------------------------------------------------------
   PROFILE AVATAR
   Remove the remaining square/glow shadow around the image.
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress #item-header-avatar,
body.pt-modern-member-area #buddypress #item-header-avatar > a {
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	filter: none !important;
	border: 0 !important;
}

body.pt-modern-member-area #buddypress #item-header-avatar img.avatar {
	box-shadow: none !important;
	filter: none !important;
}

/* Keep only the small online dot shadow */
body.pt-modern-member-area #buddypress #item-header-avatar a::after {
	box-shadow: 0 2px 8px rgba(34,197,94,.28) !important;
}

/* ---------------------------------------------------------
   SELECT / FILTER ARROWS
   All dropdowns now show a consistent arrow icon.
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress select {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	padding-right: 38px !important;
	background-color: #fff !important;
	background-image:
		linear-gradient(45deg, transparent 50%, #7b8190 50%),
		linear-gradient(135deg, #7b8190 50%, transparent 50%) !important;
	background-position:
		calc(100% - 17px) calc(50% - 2px),
		calc(100% - 12px) calc(50% - 2px) !important;
	background-size: 5px 5px, 5px 5px !important;
	background-repeat: no-repeat !important;
}

/* Move dropdown/filter controls to the far right of a subnav row. */
body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul > li:has(select),
body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul > li[id*="order"],
body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul > li[id*="filter"] {
	margin-left: auto !important;
}

/* Notifications "Newest First" should read like a dropdown, not a button. */
body.pt-modern-member-area #buddypress #notifications-sort-order-list,
body.pt-modern-member-area #buddypress #notifications-order-select,
body.pt-modern-member-area #buddypress li:has(> select[name*="notifications"]) {
	margin-left: auto !important;
}

body.pt-modern-member-area #buddypress #notifications-sort-order-list select,
body.pt-modern-member-area #buddypress #notifications-order-select select,
body.pt-modern-member-area #buddypress li:has(> select[name*="notifications"]) > select {
	min-width: 150px !important;
	height: 42px !important;
	border: 1px solid #dfe2e8 !important;
	border-radius: 10px !important;
	background-color: #fff !important;
	color: var(--pt-ink) !important;
	-webkit-text-fill-color: var(--pt-ink) !important;
	font-weight: 700 !important;
}

/* ---------------------------------------------------------
   NOTIFICATIONS TABLE
   The first TH/TD (.icon) is an empty legacy spacer column.
   Hide only that legacy spacer, not the bulk-select checkbox.
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress table.notifications th.icon,
body.pt-modern-member-area #buddypress table.notifications td.icon {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Bulk checkbox column */
body.pt-modern-member-area #buddypress table.notifications th.bulk-select-all,
body.pt-modern-member-area #buddypress table.notifications td.bulk-select-check,
body.pt-modern-member-area #buddypress table.notifications th:nth-child(2),
body.pt-modern-member-area #buddypress table.notifications td:nth-child(2) {
	width: 56px !important;
	min-width: 56px !important;
	max-width: 56px !important;
	padding: 14px 12px !important;
	text-align: center !important;
}

/* Reset the old first-child rules now that .icon is hidden by class. */
body.pt-modern-member-area #buddypress table.notifications th:first-child,
body.pt-modern-member-area #buddypress table.notifications td:first-child {
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	padding: 0 !important;
}

/* Notification title/date/action columns */
body.pt-modern-member-area #buddypress table.notifications th.title,
body.pt-modern-member-area #buddypress table.notifications td.notification-description,
body.pt-modern-member-area #buddypress table.notifications td:nth-child(3) {
	width: auto !important;
	min-width: 0 !important;
	padding-left: 18px !important;
}

body.pt-modern-member-area #buddypress table.notifications th.date,
body.pt-modern-member-area #buddypress table.notifications td.notification-since,
body.pt-modern-member-area #buddypress table.notifications td:nth-child(4) {
	width: 205px !important;
	white-space: nowrap !important;
}

body.pt-modern-member-area #buddypress table.notifications th.actions,
body.pt-modern-member-area #buddypress table.notifications td.notification-actions,
body.pt-modern-member-area #buddypress table.notifications td:nth-child(5) {
	width: 145px !important;
	white-space: nowrap !important;
}

/* Bulk action footer / dropdown */
body.pt-modern-member-area #buddypress .notifications-options-nav,
body.pt-modern-member-area #buddypress .messages-options-nav {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

body.pt-modern-member-area #buddypress .notifications-options-nav select,
body.pt-modern-member-area #buddypress .messages-options-nav select {
	min-width: 170px !important;
}

/* ---------------------------------------------------------
   BUTTON TEXT
   White only on actual green/action buttons.
   Do not recolor neutral dropdown-like controls.
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress input[type="submit"],
body.pt-modern-member-area #buddypress input[type="button"],
body.pt-modern-member-area #buddypress button[type="submit"],
body.pt-modern-member-area #buddypress a.button,
body.pt-modern-member-area #buddypress .button {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Neutral controls must remain dark text. */
body.pt-modern-member-area #buddypress select,
body.pt-modern-member-area #buddypress .item-list-tabs select,
body.pt-modern-member-area #buddypress .pagination a,
body.pt-modern-member-area #buddypress .pagination span {
	-webkit-text-fill-color: currentColor !important;
}

/* ---------------------------------------------------------
   SMALL ALIGNMENT FIXES
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul {
	width: 100% !important;
}

body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul li {
	align-self: center !important;
}


/* =========================================================
   v1.4.1 NOTIFICATIONS COLUMN ALIGNMENT HOTFIX
   The notification THEAD has an extra empty <th class="icon">,
   while the TBODY rows do not necessarily have a matching icon
   cell. Previous nth-child rules therefore shifted body columns.
   Use semantic BuddyPress classes only.
========================================================= */

/* Hide ONLY the empty legacy header spacer. */
body.pt-modern-member-area #buddypress table.notifications thead th.icon {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Do not generically hide first tbody cells. */
body.pt-modern-member-area #buddypress table.notifications tbody td:first-child {
	display: table-cell !important;
}

/* Remove all child-position sizing assumptions. */
body.pt-modern-member-area #buddypress table.notifications th:first-child,
body.pt-modern-member-area #buddypress table.notifications td:first-child,
body.pt-modern-member-area #buddypress table.notifications th:nth-child(2),
body.pt-modern-member-area #buddypress table.notifications td:nth-child(2),
body.pt-modern-member-area #buddypress table.notifications th:nth-child(3),
body.pt-modern-member-area #buddypress table.notifications td:nth-child(3),
body.pt-modern-member-area #buddypress table.notifications th:nth-child(4),
body.pt-modern-member-area #buddypress table.notifications td:nth-child(4),
body.pt-modern-member-area #buddypress table.notifications th:nth-child(5),
body.pt-modern-member-area #buddypress table.notifications td:nth-child(5) {
	min-width: 0 !important;
	max-width: none !important;
}

/* Exact semantic columns */
body.pt-modern-member-area #buddypress table.notifications {
	table-layout: fixed !important;
	width: 100% !important;
}

body.pt-modern-member-area #buddypress table.notifications thead th.bulk-select-all,
body.pt-modern-member-area #buddypress table.notifications tbody td.bulk-select-check {
	width: 58px !important;
	min-width: 58px !important;
	max-width: 58px !important;
	padding: 14px 12px !important;
	text-align: center !important;
	vertical-align: middle !important;
}

body.pt-modern-member-area #buddypress table.notifications thead th.title,
body.pt-modern-member-area #buddypress table.notifications tbody td.notification-description {
	width: auto !important;
	padding: 14px 18px !important;
	text-align: left !important;
	vertical-align: middle !important;
}

body.pt-modern-member-area #buddypress table.notifications thead th.date,
body.pt-modern-member-area #buddypress table.notifications tbody td.notification-since {
	width: 220px !important;
	padding: 14px 18px !important;
	text-align: left !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

body.pt-modern-member-area #buddypress table.notifications thead th.actions,
body.pt-modern-member-area #buddypress table.notifications tbody td.notification-actions {
	width: 165px !important;
	padding: 14px 18px !important;
	text-align: left !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

/* Some older BuddyPress versions omit body classes. Fall back by data shape
   only AFTER the semantic selectors above, without relying on the hidden TH. */
body.pt-modern-member-area #buddypress table.notifications tbody tr > td:has(input[type="checkbox"]):first-child {
	width: 58px !important;
	min-width: 58px !important;
	max-width: 58px !important;
	padding: 14px 12px !important;
	text-align: center !important;
}

/* Header background should span the full visible row cleanly. */
body.pt-modern-member-area #buddypress table.notifications thead tr {
	background: #fafafd !important;
}

body.pt-modern-member-area #buddypress table.notifications thead th {
	background: #fafafd !important;
}


/* =========================================================
   v1.4.2 SIDEBAR + MEMBER NAME HOTFIX
========================================================= */

/*
 * Earlier WPLMS CSS styles every nav <span> as a count badge with
 * margin-left:auto. Our fallback icon is also a span, so Orders and Team
 * Members were pushed to the right. Explicitly opt the fallback icon out.
 */
body.pt-modern-member-area #buddypress #item-nav ul li a .h9-nav-fallback-icon {
	margin-left: 0 !important;
	margin-right: 10px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #8e93a2 !important;
	-webkit-text-fill-color: #8e93a2 !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li.current > a .h9-nav-fallback-icon,
body.pt-modern-member-area #buddypress #item-nav ul li.selected > a .h9-nav-fallback-icon {
	color: var(--pt-green) !important;
	-webkit-text-fill-color: var(--pt-green) !important;
}

/* Keep Orders and Team Members aligned exactly like all native navigation items. */
body.pt-modern-member-area #buddypress #item-nav ul li a {
	justify-content: flex-start !important;
	text-align: left !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li a .count,
body.pt-modern-member-area #buddypress #item-nav ul li a > span:not(.h9-nav-fallback-icon) {
	margin-left: auto !important;
}

/*
 * WPLMS 3.x can output the member name as h2, h3, a user-nicename or another
 * title element depending on member/profile context. Force all identity-title
 * variants to a readable dark navy while leaving secondary metadata muted.
 */
body.pt-modern-member-area #buddypress .pagetitle h1,
body.pt-modern-member-area #buddypress .pagetitle h2,
body.pt-modern-member-area #buddypress .pagetitle h3,
body.pt-modern-member-area #buddypress .pagetitle h1 a,
body.pt-modern-member-area #buddypress .pagetitle h2 a,
body.pt-modern-member-area #buddypress .pagetitle h3 a,
body.pt-modern-member-area #buddypress #item-header-content h1,
body.pt-modern-member-area #buddypress #item-header-content h2,
body.pt-modern-member-area #buddypress #item-header-content h3,
body.pt-modern-member-area #buddypress #item-header-content h1 a,
body.pt-modern-member-area #buddypress #item-header-content h2 a,
body.pt-modern-member-area #buddypress #item-header-content h3 a,
body.pt-modern-member-area #buddypress #item-header-content .user-nicename,
body.pt-modern-member-area #buddypress #item-header-content .user-nicename a,
body.pt-modern-member-area #buddypress .pagetitle .user-nicename,
body.pt-modern-member-area #buddypress .pagetitle .user-nicename a,
body.pt-modern-member-area #buddypress .pagetitle .member-name,
body.pt-modern-member-area #buddypress .pagetitle .member-name a {
	color: var(--pt-ink) !important;
	-webkit-text-fill-color: var(--pt-ink) !important;
	opacity: 1 !important;
	text-shadow: none !important;
}

/* Fallback for the plain member-name link/text rendered by some WPLMS layouts. */
body.pt-modern-member-area #buddypress #item-header-content > a:not(.button),
body.pt-modern-member-area #buddypress .pagetitle #item-header-content > a:not(.button) {
	color: var(--pt-ink) !important;
	-webkit-text-fill-color: var(--pt-ink) !important;
	opacity: 1 !important;
	font-weight: 800 !important;
}


/* =========================================================
   v1.4.3 FINAL SIDEBAR + NOTIFICATIONS STRUCTURE FIX
========================================================= */

/* ---------------------------------------------------------
   EXACTLY ONE SIDEBAR ICON PER ITEM
--------------------------------------------------------- */

/* Hide native WPLMS/BuddyPress icon elements/pseudo icons in sidebar. */
body.pt-modern-member-area #buddypress #item-nav ul li a::before,
body.pt-modern-member-area #buddypress #item-nav ul li a > i,
body.pt-modern-member-area #buddypress #item-nav ul li a > svg,
body.pt-modern-member-area #buddypress #item-nav ul li a > img.icon,
body.pt-modern-member-area #buddypress #item-nav ul li a > .fa,
body.pt-modern-member-area #buddypress #item-nav ul li a > .vicon,
body.pt-modern-member-area #buddypress #item-nav ul li a > [class*="icon"]:not(.h9-nav-icon) {
	display: none !important;
	content: none !important;
}

/* Consistent custom icon. */
body.pt-modern-member-area #buddypress #item-nav ul li a .h9-nav-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 20px !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 10px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #8e93a2 !important;
	-webkit-text-fill-color: #8e93a2 !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li.current > a .h9-nav-icon,
body.pt-modern-member-area #buddypress #item-nav ul li.selected > a .h9-nav-icon {
	color: var(--pt-green) !important;
	-webkit-text-fill-color: var(--pt-green) !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li a {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	padding-left: 14px !important;
	text-align: left !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li a > span:not(.h9-nav-icon) {
	margin-left: auto !important;
}

/* ---------------------------------------------------------
   AVATAR: REMOVE THE REMAINING SQUARE SHADOW/GLOW
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress .pagetitle,
body.pt-modern-member-area #buddypress #item-header,
body.pt-modern-member-area #buddypress #item-header-avatar,
body.pt-modern-member-area #buddypress #item-header-avatar > a,
body.pt-modern-member-area #buddypress #item-header-avatar img.avatar {
	background-image: none !important;
	filter: none !important;
}

body.pt-modern-member-area #buddypress #item-header-avatar,
body.pt-modern-member-area #buddypress #item-header-avatar > a,
body.pt-modern-member-area #buddypress #item-header-avatar img.avatar {
	box-shadow: none !important;
}

/* ---------------------------------------------------------
   FILTER / SORT DROPDOWNS
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress select {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	padding-right: 38px !important;
	background-color: #fff !important;
	background-image:
		linear-gradient(45deg, transparent 50%, #73798a 50%),
		linear-gradient(135deg, #73798a 50%, transparent 50%) !important;
	background-position:
		calc(100% - 17px) calc(50% - 2px),
		calc(100% - 12px) calc(50% - 2px) !important;
	background-size: 5px 5px, 5px 5px !important;
	background-repeat: no-repeat !important;
}

/* BuddyPress notifications sort must sit at the far right. */
body.pt-modern-member-area #buddypress #item-body .item-list-tabs#subnav ul {
	display: flex !important;
	width: 100% !important;
	align-items: center !important;
}

body.pt-modern-member-area #buddypress #notifications-order-select,
body.pt-modern-member-area #buddypress li#notifications-order-select,
body.pt-modern-member-area #buddypress #notifications-sort-order-list {
	margin-left: auto !important;
}

/* ---------------------------------------------------------
   NOTIFICATIONS TABLE
   Real structure:
   THEAD = icon spacer + bulk checkbox + title + date + actions
   TBODY = bulk checkbox + description + date + actions
--------------------------------------------------------- */

body.pt-modern-member-area #buddypress table.notifications {
	width: 100% !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

/* Hide only the empty THEAD legacy icon spacer. */
body.pt-modern-member-area #buddypress table.notifications thead th.icon {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Undo ALL old positional first/nth-child sizing on body rows. */
body.pt-modern-member-area #buddypress table.notifications tbody td {
	display: table-cell !important;
	min-width: 0 !important;
	max-width: none !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
}

/* Checkbox header/body */
body.pt-modern-member-area #buddypress table.notifications thead th.bulk-select-all,
body.pt-modern-member-area #buddypress table.notifications tbody td.bulk-select-check,
body.pt-modern-member-area #buddypress table.notifications tbody tr > td:first-child {
	width: 58px !important;
	min-width: 58px !important;
	max-width: 58px !important;
	padding: 14px 12px !important;
	text-align: center !important;
	vertical-align: middle !important;
}

/* Main notification text */
body.pt-modern-member-area #buddypress table.notifications thead th.title,
body.pt-modern-member-area #buddypress table.notifications tbody td.notification-description,
body.pt-modern-member-area #buddypress table.notifications tbody tr > td:nth-child(2) {
	width: auto !important;
	padding: 14px 18px !important;
	text-align: left !important;
	vertical-align: middle !important;
}

/* Date */
body.pt-modern-member-area #buddypress table.notifications thead th.date,
body.pt-modern-member-area #buddypress table.notifications tbody td.notification-since,
body.pt-modern-member-area #buddypress table.notifications tbody tr > td:nth-child(3) {
	width: 220px !important;
	padding: 14px 18px !important;
	text-align: left !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

/* Actions */
body.pt-modern-member-area #buddypress table.notifications thead th.actions,
body.pt-modern-member-area #buddypress table.notifications tbody td.notification-actions,
body.pt-modern-member-area #buddypress table.notifications tbody tr > td:nth-child(4) {
	width: 165px !important;
	padding: 14px 18px !important;
	text-align: left !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

/* Absolutely override older first-child = width:0 rules. */
body.pt-modern-member-area #buddypress table.notifications tbody tr > td:first-child {
	display: table-cell !important;
	width: 58px !important;
	min-width: 58px !important;
	max-width: 58px !important;
	padding: 14px 12px !important;
}

/* Header and body align to same visible 4-column structure. */
body.pt-modern-member-area #buddypress table.notifications thead tr {
	display: table-row !important;
}

body.pt-modern-member-area #buddypress table.notifications thead th:not(.icon),
body.pt-modern-member-area #buddypress table.notifications tbody td {
	box-sizing: border-box !important;
}

/* Bulk action selects keep arrow icons. */
body.pt-modern-member-area #buddypress .notifications-options-nav select,
body.pt-modern-member-area #buddypress .messages-options-nav select {
	min-width: 180px !important;
}

/* ---------------------------------------------------------
   MEMBER NAME CONTRAST
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress .pagetitle h1,
body.pt-modern-member-area #buddypress .pagetitle h2,
body.pt-modern-member-area #buddypress .pagetitle h3,
body.pt-modern-member-area #buddypress .pagetitle h1 a,
body.pt-modern-member-area #buddypress .pagetitle h2 a,
body.pt-modern-member-area #buddypress .pagetitle h3 a,
body.pt-modern-member-area #buddypress #item-header-content h1,
body.pt-modern-member-area #buddypress #item-header-content h2,
body.pt-modern-member-area #buddypress #item-header-content h3,
body.pt-modern-member-area #buddypress #item-header-content h1 a,
body.pt-modern-member-area #buddypress #item-header-content h2 a,
body.pt-modern-member-area #buddypress #item-header-content h3 a {
	color: #171a2b !important;
	-webkit-text-fill-color: #171a2b !important;
	opacity: 1 !important;
}


/* =========================================================
   v1.4.4 MESSAGES UNREAD STATUS DOT
========================================================= */

/* The legacy numeric 0/1 status cell sits directly beside the star column.
   Render it as the original compact status indicator instead of a number. */
body.pt-modern-member-area #buddypress table#message-threads td.h9-message-status-cell {
	width: 28px !important;
	min-width: 28px !important;
	max-width: 28px !important;
	padding-left: 8px !important;
	padding-right: 4px !important;
	text-align: center !important;
	vertical-align: middle !important;
}

body.pt-modern-member-area #buddypress .h9-message-status-dot {
	display: inline-block !important;
	width: 9px !important;
	height: 9px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	vertical-align: middle !important;
	box-shadow: none !important;
}

/* 0 = unread in this legacy WPLMS/BuddyPress table. */
body.pt-modern-member-area #buddypress .h9-message-status-dot.is-unread {
	background: #ef4444 !important;
}

/* Read messages keep a subtle neutral dot rather than showing "1". */
body.pt-modern-member-area #buddypress .h9-message-status-dot.is-read {
	background: #d1d5db !important;
}


/* =========================================================
   v1.4.5 SIDEBAR RESET
   User preference: no sidebar icons rather than inconsistent icons.
========================================================= */

/* Hide ALL sidebar icons, both native WPLMS and previously injected PenTest ones. */
body.pt-modern-member-area #buddypress #item-nav ul li a::before,
body.pt-modern-member-area #buddypress #item-nav ul li a > i,
body.pt-modern-member-area #buddypress #item-nav ul li a > svg,
body.pt-modern-member-area #buddypress #item-nav ul li a > img.icon,
body.pt-modern-member-area #buddypress #item-nav ul li a > .fa,
body.pt-modern-member-area #buddypress #item-nav ul li a > .vicon,
body.pt-modern-member-area #buddypress #item-nav ul li a > [class*="icon"],
body.pt-modern-member-area #buddypress #item-nav ul li a > .h9-nav-icon,
body.pt-modern-member-area #buddypress #item-nav ul li a > .h9-nav-fallback-icon {
	display: none !important;
	content: none !important;
}

/* Every nav row gets the exact same left alignment. */
body.pt-modern-member-area #buddypress #item-nav ul li,
body.pt-modern-member-area #buddypress #item-nav ul li a {
	width: 100% !important;
}

body.pt-modern-member-area #buddypress #item-nav ul li a {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	min-height: 46px !important;
	padding: 0 16px !important;
	text-align: left !important;
}

/* Only real numeric/count badges sit on the far right. */
body.pt-modern-member-area #buddypress #item-nav ul li a > span:not(.h9-nav-icon):not(.h9-nav-fallback-icon) {
	margin-left: auto !important;
}

/* Strong readable member name regardless of the exact legacy WPLMS wrapper. */
body.pt-modern-member-area #buddypress #item-header-content,
body.pt-modern-member-area #buddypress #item-header-content > *,
body.pt-modern-member-area #buddypress .pagetitle #item-header-content > * {
	opacity: 1 !important;
}

body.pt-modern-member-area #buddypress #item-header-content > h1,
body.pt-modern-member-area #buddypress #item-header-content > h2,
body.pt-modern-member-area #buddypress #item-header-content > h3,
body.pt-modern-member-area #buddypress #item-header-content > h4,
body.pt-modern-member-area #buddypress #item-header-content > strong,
body.pt-modern-member-area #buddypress #item-header-content > a:not(.button),
body.pt-modern-member-area #buddypress .pagetitle .member-name,
body.pt-modern-member-area #buddypress .pagetitle .member-name a {
	color: #171a2b !important;
	-webkit-text-fill-color: #171a2b !important;
	text-shadow: none !important;
	font-weight: 800 !important;
}


/* =========================================================
   v1.4.6 TEAM / DASHBOARD REPAIR
   Scoped visual repair only; no WPLMS behavior is replaced.
========================================================= */

/* Main dashboard spacing */
body.pt-modern-member-area #buddypress #item-body.h9-dashboard-surface {
	padding: 28px !important;
}

body.pt-modern-member-area #buddypress #item-body.h9-dashboard-surface .wplms-dashboard {
	display: block !important;
	padding: 0 !important;
}

body.pt-modern-member-area #buddypress #item-body.h9-dashboard-surface .wplms-dashboard .row {
	margin-left: -10px !important;
	margin-right: -10px !important;
}

body.pt-modern-member-area #buddypress #item-body.h9-dashboard-surface .wplms-dashboard [class*="col-"] {
	padding-left: 10px !important;
	padding-right: 10px !important;
	margin-bottom: 20px !important;
}

/* ---------------------------------------------------------
   TOP 4 STAT CARDS
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress .h9-team-stat-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	min-height: 118px !important;
	padding: 20px 22px !important;
	border: 0 !important;
	border-radius: 16px !important;
	background: linear-gradient(135deg,#16a34a,#22c55e) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	box-shadow: 0 10px 28px rgba(124,58,237,.18) !important;
	overflow: hidden !important;
	opacity: 1 !important;
}

body.pt-modern-member-area #buddypress .h9-team-stat-card *,
body.pt-modern-member-area #buddypress .h9-team-stat-card a,
body.pt-modern-member-area #buddypress .h9-team-stat-card span,
body.pt-modern-member-area #buddypress .h9-team-stat-card strong,
body.pt-modern-member-area #buddypress .h9-team-stat-card i {
	position: static !important;
	float: none !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	opacity: 1 !important;
	text-shadow: none !important;
}

body.pt-modern-member-area #buddypress .h9-team-stat-card:nth-of-type(4n+2) {
	background: linear-gradient(135deg,#ef4444,#fb7185) !important;
	box-shadow: 0 10px 28px rgba(239,68,68,.16) !important;
}
body.pt-modern-member-area #buddypress .h9-team-stat-card:nth-of-type(4n+3) {
	background: linear-gradient(135deg,#0ea5e9,#38bdf8) !important;
	box-shadow: 0 10px 28px rgba(14,165,233,.16) !important;
}
body.pt-modern-member-area #buddypress .h9-team-stat-card:nth-of-type(4n+4) {
	background: linear-gradient(135deg,#eab308,#facc15) !important;
	box-shadow: 0 10px 28px rgba(234,179,8,.16) !important;
}

/* ---------------------------------------------------------
   MAJOR DASHBOARD WIDGETS
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress .h9-course-progress-widget,
body.pt-modern-member-area #buddypress .h9-student-activity-widget,
body.pt-modern-member-area #buddypress .h9-student-statistics-widget,
body.pt-modern-member-area #buddypress .h9-instructor-form-widget {
	border: 1px solid var(--pt-line) !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 8px 24px rgba(24,24,36,.05) !important;
	overflow: hidden !important;
}

/* Widget heading */
body.pt-modern-member-area #buddypress .h9-course-progress-widget > h2:first-child,
body.pt-modern-member-area #buddypress .h9-course-progress-widget > h3:first-child,
body.pt-modern-member-area #buddypress .h9-course-progress-widget > h4:first-child,
body.pt-modern-member-area #buddypress .h9-course-progress-widget .widget_title,
body.pt-modern-member-area #buddypress .h9-student-activity-widget > h2:first-child,
body.pt-modern-member-area #buddypress .h9-student-activity-widget > h3:first-child,
body.pt-modern-member-area #buddypress .h9-student-activity-widget > h4:first-child,
body.pt-modern-member-area #buddypress .h9-student-activity-widget .widget_title,
body.pt-modern-member-area #buddypress .h9-student-statistics-widget > h2:first-child,
body.pt-modern-member-area #buddypress .h9-student-statistics-widget > h3:first-child,
body.pt-modern-member-area #buddypress .h9-student-statistics-widget > h4:first-child,
body.pt-modern-member-area #buddypress .h9-student-statistics-widget .widget_title,
body.pt-modern-member-area #buddypress .h9-instructor-form-widget > h2:first-child,
body.pt-modern-member-area #buddypress .h9-instructor-form-widget > h3:first-child,
body.pt-modern-member-area #buddypress .h9-instructor-form-widget > h4:first-child,
body.pt-modern-member-area #buddypress .h9-instructor-form-widget .widget_title {
	margin: 0 !important;
	padding: 16px 18px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--pt-line) !important;
	background: #fafafd !important;
	color: var(--pt-ink) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

/* Course progress items get breathing room */
body.pt-modern-member-area #buddypress .h9-course-progress-widget {
	padding-bottom: 8px !important;
}


body.pt-modern-member-area #buddypress .h9-course-progress-widget .course_progressbar,
body.pt-modern-member-area #buddypress .h9-course-progress-widget .progress {
	height: 7px !important;
	border-radius: 999px !important;
	background: #e9eaf0 !important;
	overflow: hidden !important;
}

/* Student Activity */
body.pt-modern-member-area #buddypress .h9-student-activity-widget .activity,
body.pt-modern-member-area #buddypress .h9-student-activity-widget .activity-list,
body.pt-modern-member-area #buddypress .h9-student-activity-widget ul {
	padding: 14px 18px 18px !important;
}

/* Student statistics/chart */
body.pt-modern-member-area #buddypress .h9-student-statistics-widget {
	padding-bottom: 18px !important;
}

body.pt-modern-member-area #buddypress .h9-student-statistics-widget canvas,
body.pt-modern-member-area #buddypress .h9-student-statistics-widget svg,
body.pt-modern-member-area #buddypress .h9-student-statistics-widget .chart,
body.pt-modern-member-area #buddypress .h9-student-statistics-widget [class*="chart"] {
	max-width: calc(100% - 36px) !important;
	margin-left: 18px !important;
	margin-right: 18px !important;
}

/* ---------------------------------------------------------
   INSTRUCTOR ANNOUNCEMENT / CONTACT WIDGETS
--------------------------------------------------------- */
body.pt-modern-member-area #buddypress .h9-instructor-form-widget {
	padding-bottom: 18px !important;
}

body.pt-modern-member-area #buddypress .h9-instructor-form-widget > form,
body.pt-modern-member-area #buddypress .h9-instructor-form-widget .widget_content,
body.pt-modern-member-area #buddypress .h9-instructor-form-widget .content {
	padding: 18px !important;
}

body.pt-modern-member-area #buddypress .h9-instructor-form-widget input,
body.pt-modern-member-area #buddypress .h9-instructor-form-widget select,
body.pt-modern-member-area #buddypress .h9-instructor-form-widget textarea {
	width: 100% !important;
	margin-bottom: 12px !important;
	border: 1px solid #dfe2e8 !important;
	border-radius: 10px !important;
	background: #fff !important;
}

body.pt-modern-member-area #buddypress .h9-instructor-form-widget textarea {
	min-height: 96px !important;
	padding: 12px 14px !important;
}

body.pt-modern-member-area #buddypress .h9-instructor-form-widget input[type="submit"],
body.pt-modern-member-area #buddypress .h9-instructor-form-widget button[type="submit"] {
	width: auto !important;
	min-width: 118px !important;
	margin: 2px 0 0 !important;
}

/* Responsive */
@media (max-width: 900px) {
	body.pt-modern-member-area #buddypress #item-body.h9-dashboard-surface {
		padding: 18px !important;
	}
}


/* =========================================================
   v1.4.9 MEMBER NAME COLOR FIX
   Exact markup:
   #item-header-content > h3 > a
========================================================= */
body.pt-modern-member-area #buddypress #item-header-content h3,
body.pt-modern-member-area #buddypress #item-header-content h3 a,
body.pt-modern-member-area #buddypress #item-header-content > h3,
body.pt-modern-member-area #buddypress #item-header-content > h3 > a {
	color: #000 !important;
	-webkit-text-fill-color: #000 !important;
	opacity: 1 !important;
	text-shadow: none !important;
	font-weight: 800 !important;
}


/* =========================================================
   v1.5.0 COURSES TOP TOOLBAR
========================================================= */

/* COURSES TOP TOOLBAR */
body.pt-modern-member-area #buddypress .course_dir_header,
body.pt-modern-member-area #buddypress .h9-courses-toolbar,
body.pt-modern-member-area #buddypress .item-list-tabs + form,
body.pt-modern-member-area #buddypress form#course-directory-form {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 24px !important;
	flex-wrap: wrap !important;
}

/* left side: search */
body.pt-modern-member-area #buddypress .dir-search,
body.pt-modern-member-area #buddypress .course_search,
body.pt-modern-member-area #buddypress .search-wrapper {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex: 1 1 420px !important;
	max-width: 700px !important;
	margin: 0 !important;
}

body.pt-modern-member-area #buddypress .dir-search input[type="text"],
body.pt-modern-member-area #buddypress .course_search input[type="text"],
body.pt-modern-member-area #buddypress .search-wrapper input[type="text"] {
	flex: 1 1 auto !important;
	margin: 0 !important;
}

body.pt-modern-member-area #buddypress .dir-search input[type="submit"],
body.pt-modern-member-area #buddypress .course_search input[type="submit"],
body.pt-modern-member-area #buddypress .search-wrapper button,
body.pt-modern-member-area #buddypress .search-wrapper .button {
	margin: 0 !important;
	white-space: nowrap !important;
	align-self: center !important;
}

/* middle: list / grid icons */
body.pt-modern-member-area #buddypress .course-layout-switch,
body.pt-modern-member-area #buddypress .pt-view-switch,
body.pt-modern-member-area #buddypress .display_style {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin: 0 auto !important;
	flex: 0 0 auto !important;
}

/* right side: sort dropdown */
body.pt-modern-member-area #buddypress .select_order,
body.pt-modern-member-area #buddypress .filter_order,
body.pt-modern-member-area #buddypress .course-order-select {
	margin-left: auto !important;
	flex: 0 0 auto !important;
}

body.pt-modern-member-area #buddypress .select_order select,
body.pt-modern-member-area #buddypress .filter_order select,
body.pt-modern-member-area #buddypress .course-order-select select {
	min-width: 220px !important;
	margin: 0 !important;
}

/* stop old theme/plugin block behavior */
body.pt-modern-member-area #buddypress .dir-search,
body.pt-modern-member-area #buddypress .course_search,
body.pt-modern-member-area #buddypress .search-wrapper,
body.pt-modern-member-area #buddypress .display_style,
body.pt-modern-member-area #buddypress .select_order {
	float: none !important;
	clear: none !important;
}

/* desktop: keep search + view icons + order on one line when space allows */
@media (min-width: 901px) {
	body.pt-modern-member-area #buddypress .course_dir_header,
	body.pt-modern-member-area #buddypress .h9-courses-toolbar,
	body.pt-modern-member-area #buddypress form#course-directory-form {
		flex-wrap: nowrap !important;
	}

	body.pt-modern-member-area #buddypress .dir-search,
	body.pt-modern-member-area #buddypress .course_search,
	body.pt-modern-member-area #buddypress .search-wrapper {
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}
}

/* mobile */
@media (max-width: 900px) {
	body.pt-modern-member-area #buddypress .course_dir_header,
	body.pt-modern-member-area #buddypress .h9-courses-toolbar,
	body.pt-modern-member-area #buddypress .item-list-tabs + form,
	body.pt-modern-member-area #buddypress form#course-directory-form {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	body.pt-modern-member-area #buddypress .course-layout-switch,
	body.pt-modern-member-area #buddypress .pt-view-switch,
	body.pt-modern-member-area #buddypress .display_style,
	body.pt-modern-member-area #buddypress .select_order,
	body.pt-modern-member-area #buddypress .filter_order,
	body.pt-modern-member-area #buddypress .course-order-select {
		margin: 0 !important;
	}

	body.pt-modern-member-area #buddypress .dir-search,
	body.pt-modern-member-area #buddypress .course_search,
	body.pt-modern-member-area #buddypress .search-wrapper {
		width: 100% !important;
		max-width: none !important;
		flex: 0 0 auto !important;
	}
}


/* =========================================================
   v1.5.1 HARD FIX: MEMBER NAME + NOTIFICATIONS GRID
========================================================= */

/* Exact name selector, last in stylesheet. */
body.pt-modern-member-area #buddypress #item-header-content > h3 > a {
	color: #111827 !important;
	-webkit-text-fill-color: #111827 !important;
	opacity: 1 !important;
	text-shadow: none !important;
	font-weight: 800 !important;
}

/*
 * BuddyPress Notifications:
 * Stop trying to make mismatched legacy THEAD/TBODY cells behave as a
 * traditional table. Render both header and body rows as the same 4-column
 * grid: checkbox | notification | date | actions.
 */
body.pt-modern-member-area #buddypress table.notifications {
	display: block !important;
	width: 100% !important;
	table-layout: auto !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden !important;
}

body.pt-modern-member-area #buddypress table.notifications thead,
body.pt-modern-member-area #buddypress table.notifications tbody {
	display: block !important;
	width: 100% !important;
}

body.pt-modern-member-area #buddypress table.notifications tr.h9-notification-grid-row {
	display: grid !important;
	grid-template-columns: 58px minmax(0,1fr) 220px 165px !important;
	align-items: center !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Hide the useless extra legacy header spacer. */
body.pt-modern-member-area #buddypress table.notifications thead th.icon {
	display: none !important;
}

/* Header cells map to the 4 visible grid columns. */
body.pt-modern-member-area #buddypress table.notifications thead th.bulk-select-all {
	grid-column: 1 !important;
}
body.pt-modern-member-area #buddypress table.notifications thead th.title {
	grid-column: 2 !important;
}
body.pt-modern-member-area #buddypress table.notifications thead th.date {
	grid-column: 3 !important;
}
body.pt-modern-member-area #buddypress table.notifications thead th.actions {
	grid-column: 4 !important;
}

/* Body cells are tagged at runtime by their actual meaning. */
body.pt-modern-member-area #buddypress table.notifications tbody td.h9-notification-check {
	grid-column: 1 !important;
}
body.pt-modern-member-area #buddypress table.notifications tbody td.h9-notification-description {
	grid-column: 2 !important;
}
body.pt-modern-member-area #buddypress table.notifications tbody td.h9-notification-date {
	grid-column: 3 !important;
}
body.pt-modern-member-area #buddypress table.notifications tbody td.h9-notification-actions {
	grid-column: 4 !important;
}

/* Neutralize all older notification width rules. */
body.pt-modern-member-area #buddypress table.notifications th,
body.pt-modern-member-area #buddypress table.notifications td {
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	position: static !important;
	transform: none !important;
}

body.pt-modern-member-area #buddypress table.notifications thead th {
	padding: 14px 18px !important;
	text-align: left !important;
	background: #fafafd !important;
	border-bottom: 1px solid var(--pt-line) !important;
}

body.pt-modern-member-area #buddypress table.notifications thead th.bulk-select-all,
body.pt-modern-member-area #buddypress table.notifications tbody td.h9-notification-check {
	padding-left: 12px !important;
	padding-right: 12px !important;
	text-align: center !important;
}

body.pt-modern-member-area #buddypress table.notifications tbody td {
	padding: 16px 18px !important;
	border-bottom: 1px solid #f0f1f5 !important;
	background: #fff !important;
	text-align: left !important;
	vertical-align: middle !important;
}

body.pt-modern-member-area #buddypress table.notifications tbody td.h9-notification-date,
body.pt-modern-member-area #buddypress table.notifications tbody td.h9-notification-actions {
	white-space: nowrap !important;
}

/* Tablet/mobile: allow the grid to compress without overlap. */
@media (max-width: 900px) {
	body.pt-modern-member-area #buddypress table.notifications tr.h9-notification-grid-row {
		grid-template-columns: 48px minmax(0,1fr) 150px 115px !important;
	}
	body.pt-modern-member-area #buddypress table.notifications th,
	body.pt-modern-member-area #buddypress table.notifications td {
		font-size: 11px !important;
	}
}


/* =========================================================
   v1.5.2 DASH WIDGET BORDER CLEANUP
========================================================= */
body.pt-modern-member-area.minimal #buddypress .dash-widget,
body.pt-modern-member-area .minimal #buddypress .dash-widget,
body.pt-modern-member-area #buddypress .minimal .dash-widget,
body.pt-modern-member-area #buddypress .dash-widget {
	border: 0 !important;
}


/* =========================================================
   v1.5.3 EXACT WPLMS COURSES TOOLBAR ALIGNMENT
   Real WPLMS markup:
   #subnav > ul >
      li > .dir-search > form
      li.switch_view > .grid_list_wrapper
      li#course-order-select > select
========================================================= */

body.pt-modern-member-area #buddypress #course-directory-form #subnav > ul {
	display: flex !important;
	align-items: center !important;
	gap: 18px !important;
	width: 100% !important;
	flex-wrap: nowrap !important;
}

/* Search occupies the left side */
body.pt-modern-member-area #buddypress #course-directory-form #subnav > ul > li:first-child {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin: 0 !important;
}

body.pt-modern-member-area #buddypress #course-directory-form #subnav .dir-search {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}

/* The actual BuddyPress course search FORM must be flex.
   This is what stops the Search button dropping underneath the field. */
body.pt-modern-member-area #buddypress #course-directory-form #subnav .dir-search form {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-modern-member-area #buddypress #course-directory-form #subnav .dir-search input[type="text"],
body.pt-modern-member-area #buddypress #course-directory-form #subnav .dir-search input[type="search"] {
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 44px !important;
	margin: 0 !important;
}

body.pt-modern-member-area #buddypress #course-directory-form #subnav .dir-search input[type="submit"],
body.pt-modern-member-area #buddypress #course-directory-form #subnav .dir-search button {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 96px !important;
	height: 44px !important;
	margin: 0 !important;
	align-self: center !important;
	white-space: nowrap !important;
}

/* List/grid controls stay together in the middle */
body.pt-modern-member-area #buddypress #course-directory-form #subnav > ul > li.switch_view {
	flex: 0 0 auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-modern-member-area #buddypress #course-directory-form #subnav .grid_list_wrapper {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-modern-member-area #buddypress #course-directory-form #subnav .grid_list_wrapper a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Sort stays at far right */
body.pt-modern-member-area #buddypress #course-directory-form #course-order-select {
	flex: 0 0 auto !important;
	margin: 0 0 0 auto !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
}

body.pt-modern-member-area #buddypress #course-directory-form #course-order-select label {
	display: none !important;
}

body.pt-modern-member-area #buddypress #course-directory-form #course-order-by {
	min-width: 220px !important;
	height: 44px !important;
	margin: 0 !important;
}

/* Override older rules that gave the search wrapper a huge basis and caused wrapping */
body.pt-modern-member-area #buddypress #course-directory-form #subnav .dir-search,
body.pt-modern-member-area #buddypress #course-directory-form #subnav .course_search {
	flex: none !important;
	max-width: none !important;
}

/* Mobile: stack in a predictable order */
@media (max-width: 900px) {
	body.pt-modern-member-area #buddypress #course-directory-form #subnav > ul {
		display: grid !important;
		grid-template-columns: 1fr auto !important;
		gap: 12px !important;
	}

	body.pt-modern-member-area #buddypress #course-directory-form #subnav > ul > li:first-child {
		grid-column: 1 / -1 !important;
		width: 100% !important;
	}

	body.pt-modern-member-area #buddypress #course-directory-form #course-order-select {
		margin-left: 0 !important;
		justify-self: end !important;
	}

	body.pt-modern-member-area #buddypress #course-directory-form #course-order-by {
		min-width: 180px !important;
	}
}


/* =========================================================
   v1.5.4 COURSE SEARCH LABEL WIDTH
========================================================= */
body.pt-modern-member-area #buddypress .item-list-tabs .dir-search label {
	width: 50% !important;
}


/* =========================================================
   v1.5.5 COURSE RATING / DOUBLE STARS FIX
========================================================= */

/*
 * WPLMS/Woo-style star ratings are two layers:
 * the empty stars on the parent and the filled stars inside <span>.
 * Earlier legacy-float cleanup forced nested course elements to
 * position:static, so those two layers were displayed side-by-side.
 * Restore the native overlay behavior only for the rating component.
 */
body.pt-modern-member-area #buddypress #course-list .star-rating,
body.pt-modern-member-area #buddypress #course-list .course-star-rating,
body.pt-modern-member-area #buddypress #course-list [class*="star-rating"] {
	position: relative !important;
	display: inline-block !important;
	overflow: hidden !important;
	float: none !important;
	width: auto;
	vertical-align: middle !important;
}

body.pt-modern-member-area #buddypress #course-list .star-rating > span,
body.pt-modern-member-area #buddypress #course-list .course-star-rating > span,
body.pt-modern-member-area #buddypress #course-list [class*="star-rating"] > span {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: auto !important;
	bottom: auto !important;
	display: block !important;
	overflow: hidden !important;
	white-space: nowrap !important;
}

/* Do not let our broad course-card reset move star pseudo layers. */
body.pt-modern-member-area #buddypress #course-list .star-rating::before,
body.pt-modern-member-area #buddypress #course-list .star-rating > span::before,
body.pt-modern-member-area #buddypress #course-list .course-star-rating::before,
body.pt-modern-member-area #buddypress #course-list .course-star-rating > span::before {
	position: static !important;
}


/* =========================================================
   v1.5.6 EXACT WPLMS COURSE RATING REBUILD
   Real legacy markup:
   .course-star-rating
     > .bp_blank_stars
       > .bp_filled_stars
========================================================= */

/* Neutralize legacy star images/backgrounds so only one 5-star set renders. */
body.pt-modern-member-area #buddypress #course-list .course-star-rating,
body.pt-modern-member-area #buddypress #course-list .course-star-rating .bp_blank_stars,
body.pt-modern-member-area #buddypress #course-list .course-star-rating .bp_filled_stars {
	background: none !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Rating wrapper */
body.pt-modern-member-area #buddypress #course-list .course-star-rating {
	position: relative !important;
	display: inline-block !important;
	width: 92px !important;
	height: 18px !important;
	min-width: 92px !important;
	max-width: 92px !important;
	margin: 4px 8px 9px 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	vertical-align: middle !important;
	font-size: 0 !important;
	line-height: 18px !important;
}

/* Hide the numeric rating helper. */
body.pt-modern-member-area #buddypress #course-list .course-star-rating > i.hide {
	display: none !important;
}

/* Empty 5-star layer */
body.pt-modern-member-area #buddypress #course-list .course-star-rating > .bp_blank_stars {
	position: relative !important;
	display: block !important;
	width: 92px !important;
	height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	font-size: 0 !important;
	line-height: 18px !important;
	color: transparent !important;
}

/* Filled layer uses WPLMS' existing inline width percentage. */
body.pt-modern-member-area #buddypress #course-list .course-star-rating > .bp_blank_stars > .bp_filled_stars {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	display: block !important;
	height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	font-size: 0 !important;
	line-height: 18px !important;
	color: transparent !important;
}

/* Draw exactly five empty stars. */
body.pt-modern-member-area #buddypress #course-list .course-star-rating > .bp_blank_stars::before {
	content: "★★★★★" !important;
	display: block !important;
	position: static !important;
	width: 92px !important;
	height: 18px !important;
	font-family: Arial, sans-serif !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 18px !important;
	letter-spacing: 1px !important;
	color: #d7d9df !important;
	-webkit-text-fill-color: #d7d9df !important;
}

/* Draw exactly five filled stars, clipped by the inline percentage width. */
body.pt-modern-member-area #buddypress #course-list .course-star-rating > .bp_blank_stars > .bp_filled_stars::before {
	content: "★★★★★" !important;
	display: block !important;
	position: static !important;
	width: 92px !important;
	height: 18px !important;
	font-family: Arial, sans-serif !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 18px !important;
	letter-spacing: 1px !important;
	color: #f5b301 !important;
	-webkit-text-fill-color: #f5b301 !important;
}


/* =====================================================================
   PENTEST MEMBER PORTAL V2.0
   Major presentation rebuild.
   All rules are scoped to body.pt-member-portal-v2.
   Existing WPLMS/BuddyPress functionality remains native.
===================================================================== */

body.pt-member-portal-v2 {
	--ptv2-bg: #f5f6fa;
	--ptv2-surface: #ffffff;
	--ptv2-surface-soft: #faf9ff;
	--ptv2-text: #151827;
	--ptv2-muted: #74798a;
	--ptv2-border: #e8e9ef;
	--ptv2-green: #16a34a;
	--ptv2-green-2: #22c55e;
	--ptv2-green-soft: #f0fdf4;
	--ptv2-blue: #2563eb;
	--ptv2-green: #10b981;
	--ptv2-orange: #f59e0b;
	--ptv2-red: #ef4444;
	--ptv2-shadow-sm: 0 6px 18px rgba(23,24,39,.055);
	--ptv2-shadow: 0 18px 50px rgba(25,23,48,.08);
	--ptv2-radius: 20px;
	--ptv2-radius-sm: 14px;
}

/* Page canvas */
body.pt-member-portal-v2 #content {
	background:
		radial-gradient(circle at 90% 0%, rgba(111,61,244,.08), transparent 26%),
		linear-gradient(180deg,#f8f8fb 0%,#f4f5f8 100%) !important;
	padding: 36px 0 72px !important;
}

body.pt-member-portal-v2 #buddypress {
	max-width: 1480px;
	margin: 0 auto;
	color: var(--ptv2-text);
}

/* Main two-column shell */
body.pt-member-portal-v2 #buddypress > .container > .row,
body.pt-member-portal-v2 #buddypress > .row,
body.pt-member-portal-v2 #buddypress .row:first-child {
	align-items: flex-start;
}

body.pt-member-portal-v2 #buddypress .pt-v2-sidebar {
	position: sticky !important;
	top: 22px;
	padding-right: 14px !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-main {
	padding-left: 14px !important;
}

/* ---------------------------------------------------------------------
   SIDEBAR PROFILE
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pagetitle {
	border: 1px solid var(--ptv2-border) !important;
	border-radius: 22px 22px 0 0 !important;
	background: var(--ptv2-surface) !important;
	box-shadow: var(--ptv2-shadow-sm) !important;
	overflow: hidden !important;
}

body.pt-member-portal-v2 #buddypress #item-header {
	padding: 24px 22px 20px !important;
	background:
		linear-gradient(180deg,#fff 0%,#fff 68%,#f7fff9 100%) !important;
	text-align: left !important;
}

body.pt-member-portal-v2 #buddypress #item-header-avatar {
	margin: 0 0 15px !important;
}

body.pt-member-portal-v2 #buddypress #item-header-avatar a,
body.pt-member-portal-v2 #buddypress #item-header-avatar img.avatar {
	box-shadow: none !important;
	filter: none !important;
}

body.pt-member-portal-v2 #buddypress #item-header-avatar img.avatar {
	width: 76px !important;
	height: 76px !important;
	max-width: 76px !important;
	border: 3px solid #fff !important;
	border-radius: 22px !important;
	object-fit: cover;
	outline: 1px solid #ececf2;
}

body.pt-member-portal-v2 #buddypress #item-header-avatar a::after {
	right: -2px !important;
	bottom: 1px !important;
	width: 13px !important;
	height: 13px !important;
	border: 3px solid #fff !important;
	background: #22c55e !important;
}

body.pt-member-portal-v2 #buddypress #item-header-content {
	text-align: left !important;
}

body.pt-member-portal-v2 #buddypress #item-header-content > h3 {
	margin: 0 0 4px !important;
	font-size: 18px !important;
	font-weight: 850 !important;
	line-height: 1.25 !important;
}

body.pt-member-portal-v2 #buddypress #item-header-content > h3 > a {
	color: #111827 !important;
	-webkit-text-fill-color: #111827 !important;
}

body.pt-member-portal-v2 #buddypress #item-header-content .location,
body.pt-member-portal-v2 #buddypress #item-header-content .activity {
	color: var(--ptv2-muted) !important;
	font-size: 11px !important;
}

/* ---------------------------------------------------------------------
   SIDEBAR NAVIGATION
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress #item-nav {
	margin: 0 !important;
	padding: 8px 8px 10px !important;
	border: 1px solid var(--ptv2-border) !important;
	border-top: 0 !important;
	border-radius: 0 0 22px 22px !important;
	background: #fff !important;
	box-shadow: var(--ptv2-shadow-sm) !important;
}

body.pt-member-portal-v2 #buddypress #item-nav .item-list-tabs {
	padding: 0 !important;
}

body.pt-member-portal-v2 #buddypress #item-nav ul {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

body.pt-member-portal-v2 #buddypress #item-nav ul li {
	width: 100% !important;
	margin: 0 !important;
}

body.pt-member-portal-v2 #buddypress #item-nav ul li a {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	min-height: 46px !important;
	padding: 0 12px !important;
	border-radius: 12px !important;
	background: transparent !important;
	color: #545a69 !important;
	-webkit-text-fill-color: #545a69 !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	text-transform: none !important;
}

body.pt-member-portal-v2 #buddypress #item-nav ul li a::before,
body.pt-member-portal-v2 #buddypress #item-nav ul li a > i,
body.pt-member-portal-v2 #buddypress #item-nav ul li a > svg:not(.pt-v2-nav-icon svg) {
	display: none !important;
	content: none !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-nav-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	border-radius: 9px;
	background: #f5f5f8;
	color: #868b98;
}

body.pt-member-portal-v2 #buddypress .pt-v2-nav-icon svg {
	width: 17px;
	height: 17px;
	display: block;
}

body.pt-member-portal-v2 #buddypress #item-nav ul li.current > a,
body.pt-member-portal-v2 #buddypress #item-nav ul li.selected > a {
	background: linear-gradient(90deg,var(--ptv2-green-soft),#faf8ff) !important;
	color: var(--ptv2-green) !important;
	-webkit-text-fill-color: var(--ptv2-green) !important;
	box-shadow: inset 0 0 0 1px #e8e0ff !important;
}

body.pt-member-portal-v2 #buddypress #item-nav ul li.current > a .pt-v2-nav-icon,
body.pt-member-portal-v2 #buddypress #item-nav ul li.selected > a .pt-v2-nav-icon {
	background: var(--ptv2-green) !important;
	color: #fff !important;
}

body.pt-member-portal-v2 #buddypress #item-nav ul li a > span:not(.pt-v2-nav-icon) {
	margin-left: auto !important;
	padding: 3px 7px !important;
	border-radius: 999px !important;
	background: #f0eef7 !important;
	color: var(--ptv2-green) !important;
	-webkit-text-fill-color: var(--ptv2-green) !important;
	font-size: 10px !important;
}

/* ---------------------------------------------------------------------
   MAIN PAGE HEADER
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v2-main > .padder {
	padding-left: 0 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-page-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin: 0 0 18px;
	padding: 6px 2px 4px;
}

body.pt-member-portal-v2 #buddypress .pt-v2-eyebrow {
	margin-bottom: 5px;
	color: var(--ptv2-green);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.pt-member-portal-v2 #buddypress .pt-v2-page-heading h1 {
	margin: 0 !important;
	color: var(--ptv2-text) !important;
	font-size: 28px !important;
	font-weight: 850 !important;
	line-height: 1.15 !important;
	letter-spacing: -.03em;
}

body.pt-member-portal-v2 #buddypress .pt-v2-page-heading p {
	margin: 6px 0 0 !important;
	color: var(--ptv2-muted) !important;
	font-size: 13px !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-page-user {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
	border: 1px solid var(--ptv2-border);
	border-radius: 13px;
	background: rgba(255,255,255,.82);
	box-shadow: var(--ptv2-shadow-sm);
}

body.pt-member-portal-v2 #buddypress .pt-v2-user-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 4px rgba(34,197,94,.10);
}

body.pt-member-portal-v2 #buddypress .pt-v2-user-copy {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

body.pt-member-portal-v2 #buddypress .pt-v2-user-copy small {
	color: #9296a3;
	font-size: 9px;
	text-transform: uppercase;
	letter-spacing: .06em;
}

body.pt-member-portal-v2 #buddypress .pt-v2-user-copy strong {
	margin-top: 2px;
	color: #252838;
	font-size: 11px;
}

/* Main content panel */
body.pt-member-portal-v2 #buddypress .pt-v2-main > .padder > #item-body {
	padding: 24px !important;
	border: 1px solid var(--ptv2-border) !important;
	border-radius: var(--ptv2-radius) !important;
	background: rgba(255,255,255,.94) !important;
	box-shadow: var(--ptv2-shadow) !important;
}

/* ---------------------------------------------------------------------
   DASHBOARD HERO
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v2-dashboard-hero {
	position: relative;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	min-height: 210px;
	margin: 0 0 22px;
	border-radius: 20px;
	background:
		linear-gradient(120deg,#17152a 0%,#2a1d55 47%,#16a34a 100%);
	color: #fff;
	overflow: hidden;
	box-shadow: 0 20px 48px rgba(50,28,111,.22);
}

body.pt-member-portal-v2 #buddypress .pt-v2-hero-copy {
	position: relative;
	z-index: 2;
	flex: 1 1 auto;
	padding: 30px 32px;
}

body.pt-member-portal-v2 #buddypress .pt-v2-hero-kicker {
	display: inline-block;
	margin-bottom: 8px;
	color: #cfc2ff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
}

body.pt-member-portal-v2 #buddypress .pt-v2-dashboard-hero h2 {
	margin: 0 0 8px !important;
	color: #fff !important;
	font-size: 30px !important;
	font-weight: 850 !important;
	line-height: 1.1 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-dashboard-hero p {
	max-width: 560px;
	margin: 0 !important;
	color: rgba(255,255,255,.74) !important;
	font-size: 13px !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

body.pt-member-portal-v2 #buddypress .pt-v2-primary-action,
body.pt-member-portal-v2 #buddypress .pt-v2-secondary-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 16px;
	border-radius: 11px;
	font-size: 11px;
	font-weight: 800;
	text-decoration: none !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-primary-action {
	background: #fff;
	color: #37226f !important;
	-webkit-text-fill-color: #37226f !important;
	box-shadow: 0 8px 22px rgba(0,0,0,.15);
}

body.pt-member-portal-v2 #buddypress .pt-v2-secondary-action {
	border: 1px solid rgba(255,255,255,.22);
	background: rgba(255,255,255,.08);
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-hero-art {
	position: relative;
	flex: 0 0 34%;
	min-width: 260px;
}

body.pt-member-portal-v2 #buddypress .pt-v2-hero-art .orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(.2px);
}
body.pt-member-portal-v2 #buddypress .pt-v2-hero-art .orb-a {
	width: 180px;height:180px;right:-18px;top:-45px;background:rgba(255,255,255,.12);
}
body.pt-member-portal-v2 #buddypress .pt-v2-hero-art .orb-b {
	width: 100px;height:100px;right:115px;bottom:-38px;background:rgba(150,116,255,.30);
}
body.pt-member-portal-v2 #buddypress .pt-v2-hero-art .orb-c {
	width: 56px;height:56px;right:80px;top:38px;background:rgba(255,255,255,.16);
}

body.pt-member-portal-v2 #buddypress .pt-v2-code-card {
	position: absolute;
	right: 42px;
	top: 54px;
	width: 142px;
	height: 100px;
	padding: 14px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 16px;
	background: rgba(15,13,34,.35);
	backdrop-filter: blur(8px);
	box-shadow: 0 18px 40px rgba(0,0,0,.18);
	transform: rotate(5deg);
}
body.pt-member-portal-v2 #buddypress .pt-v2-code-card span {
	display:block;height:6px;margin-bottom:8px;border-radius:10px;background:rgba(255,255,255,.20);
}
body.pt-member-portal-v2 #buddypress .pt-v2-code-card span:nth-child(1){width:62%}
body.pt-member-portal-v2 #buddypress .pt-v2-code-card span:nth-child(2){width:82%}
body.pt-member-portal-v2 #buddypress .pt-v2-code-card span:nth-child(3){width:45%}
body.pt-member-portal-v2 #buddypress .pt-v2-code-card b {
	position:absolute;right:14px;bottom:10px;color:#fff;font-size:20px;letter-spacing:-.05em;
}

/* KPI cards */
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card {
	position: relative !important;
	min-height: 118px !important;
	padding: 20px !important;
	border: 1px solid var(--ptv2-border) !important;
	border-radius: 16px !important;
	background: #fff !important;
	color: var(--ptv2-text) !important;
	-webkit-text-fill-color: currentColor !important;
	box-shadow: var(--ptv2-shadow-sm) !important;
	overflow: hidden !important;
}
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card::after {
	content:"";
	position:absolute;
	right:-28px;top:-28px;
	width:90px;height:90px;border-radius:50%;
	background:rgba(111,61,244,.08);
}
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-2::after{background:rgba(37,99,235,.08)}
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-3::after{background:rgba(16,185,129,.09)}
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-4::after{background:rgba(245,158,11,.10)}

/* Widgets */
body.pt-member-portal-v2 #buddypress .pt-v2-widget {
	margin-bottom: 20px !important;
	border: 1px solid var(--ptv2-border) !important;
	border-radius: 17px !important;
	background: #fff !important;
	box-shadow: var(--ptv2-shadow-sm) !important;
	overflow: hidden !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-widget .widget_title,
body.pt-member-portal-v2 #buddypress .pt-v2-widget .dash_widget_title,
body.pt-member-portal-v2 #buddypress .pt-v2-widget > h2:first-child,
body.pt-member-portal-v2 #buddypress .pt-v2-widget > h3:first-child,
body.pt-member-portal-v2 #buddypress .pt-v2-widget > h4:first-child {
	margin: 0 !important;
	padding: 16px 18px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ptv2-border) !important;
	background: #fbfbfd !important;
	color: var(--ptv2-text) !important;
	font-size: 13px !important;
	font-weight: 850 !important;
}

/* ---------------------------------------------------------------------
   SUBNAV / TABS
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress #item-body .item-list-tabs#subnav {
	margin: 0 0 22px !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ptv2-border) !important;
	background: transparent !important;
	scrollbar-width: none !important;
}
body.pt-member-portal-v2 #buddypress #item-body .item-list-tabs#subnav::-webkit-scrollbar { display:none !important; }

body.pt-member-portal-v2 #buddypress #item-body .item-list-tabs#subnav ul {
	display:flex !important;
	align-items:center !important;
	gap:4px !important;
	width:100% !important;
}

body.pt-member-portal-v2 #buddypress #item-body .item-list-tabs#subnav ul li a {
	padding: 11px 12px 13px !important;
	color: #777c89 !important;
	font-size: 11px !important;
	font-weight: 750 !important;
	text-transform:none !important;
}

body.pt-member-portal-v2 #buddypress #item-body .item-list-tabs#subnav li.current a,
body.pt-member-portal-v2 #buddypress #item-body .item-list-tabs#subnav li.selected a {
	color: var(--ptv2-green) !important;
}

body.pt-member-portal-v2 #buddypress #item-body .item-list-tabs#subnav li.current a::after,
body.pt-member-portal-v2 #buddypress #item-body .item-list-tabs#subnav li.selected a::after {
	background: var(--ptv2-green) !important;
}

/* ---------------------------------------------------------------------
   COURSES
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v2-course-list {
	display: grid !important;
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	gap: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-card {
	display: flex !important;
	flex-direction: column !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--ptv2-border) !important;
	border-radius: 17px !important;
	background: #fff !important;
	box-shadow: var(--ptv2-shadow-sm) !important;
	overflow: hidden !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-cover {
	flex: none !important;
	width: 100% !important;
	height: 180px !important;
	min-width: 0 !important;
	border: 0 !important;
	background: #eef0f4 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-cover a,
body.pt-member-portal-v2 #buddypress .pt-v2-course-cover img {
	display:block !important;
	width:100% !important;
	height:100% !important;
	min-height:0 !important;
	object-fit:cover !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-content {
	flex: 1 1 auto !important;
	padding: 18px !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-title {
	margin: 0 0 8px !important;
	font-size: 15px !important;
	line-height: 1.35 !important;
	font-weight: 850 !important;
}
body.pt-member-portal-v2 #buddypress .pt-v2-course-title a {
	color: #171927 !important;
	-webkit-text-fill-color: #171927 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-card .item-instructor img,
body.pt-member-portal-v2 #buddypress .pt-v2-course-card .item-author img,
body.pt-member-portal-v2 #buddypress .pt-v2-course-card .instructor img {
	width: 28px !important;
	height: 28px !important;
	min-width:28px !important;
	min-height:28px !important;
	border-radius:50% !important;
	object-fit:cover !important;
}

/* Inputs/buttons/filter controls */
body.pt-member-portal-v2 #buddypress input[type="text"],
body.pt-member-portal-v2 #buddypress input[type="search"],
body.pt-member-portal-v2 #buddypress input[type="email"],
body.pt-member-portal-v2 #buddypress input[type="password"],
body.pt-member-portal-v2 #buddypress textarea,
body.pt-member-portal-v2 #buddypress select {
	min-height: 42px !important;
	padding: 9px 12px !important;
	border: 1px solid #dfe1e7 !important;
	border-radius: 10px !important;
	background-color: #fff !important;
	color: #242735 !important;
	box-shadow: none !important;
}

body.pt-member-portal-v2 #buddypress select {
	appearance:none !important;
	padding-right:38px !important;
	background-image:
		linear-gradient(45deg,transparent 50%,#777c89 50%),
		linear-gradient(135deg,#777c89 50%,transparent 50%) !important;
	background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50% !important;
	background-size:5px 5px,5px 5px !important;
	background-repeat:no-repeat !important;
}

body.pt-member-portal-v2 #buddypress input[type="submit"],
body.pt-member-portal-v2 #buddypress button[type="submit"],
body.pt-member-portal-v2 #buddypress a.button {
	min-height: 42px !important;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg,var(--ptv2-green),var(--ptv2-green-2)) !important;
	color: #fff !important;
	-webkit-text-fill-color:#fff !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	box-shadow: 0 8px 20px rgba(111,61,244,.18) !important;
}

/* ---------------------------------------------------------------------
   MESSAGES
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v2-message-table {
	border: 1px solid var(--ptv2-border) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: none !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-message-table thead th {
	background:#fafafd !important;
	color:#8b909e !important;
	font-size:9px !important;
	letter-spacing:.06em;
	text-transform:uppercase;
}

body.pt-member-portal-v2 #buddypress .pt-v2-message-table tbody tr {
	background:#fff !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-message-table tbody tr.pt-v2-unread {
	background:#fbf9ff !important;
	box-shadow: inset 3px 0 0 var(--ptv2-green);
}

body.pt-member-portal-v2 #buddypress .pt-v2-message-table td {
	padding: 14px 12px !important;
	border-bottom:1px solid #f0f1f5 !important;
}

/* ---------------------------------------------------------------------
   NOTIFICATIONS
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v2-notifications {
	width:100% !important;
	table-layout:auto !important;
	border:1px solid var(--ptv2-border) !important;
	border-radius:16px !important;
	border-collapse:separate !important;
	border-spacing:0 !important;
	overflow:hidden !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-notifications .pt-v2-hide {
	display:none !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-notifications th {
	padding:12px 14px !important;
	background:#fafafd !important;
	color:#8b909e !important;
	font-size:9px !important;
	font-weight:800 !important;
	text-transform:uppercase;
	letter-spacing:.06em;
}

body.pt-member-portal-v2 #buddypress .pt-v2-notifications td {
	padding:15px 14px !important;
	background:#fff !important;
	border-bottom:1px solid #f0f1f5 !important;
	color:#3d4251 !important;
}

/* Let semantic BuddyPress classes size naturally */
body.pt-member-portal-v2 #buddypress .pt-v2-notifications th.bulk-select-all,
body.pt-member-portal-v2 #buddypress .pt-v2-notifications td.bulk-select-check {
	width:48px !important;
	text-align:center !important;
}
body.pt-member-portal-v2 #buddypress .pt-v2-notifications th.date,
body.pt-member-portal-v2 #buddypress .pt-v2-notifications td.notification-since {
	width:190px !important;
	white-space:nowrap !important;
}
body.pt-member-portal-v2 #buddypress .pt-v2-notifications th.actions,
body.pt-member-portal-v2 #buddypress .pt-v2-notifications td.notification-actions {
	width:150px !important;
	white-space:nowrap !important;
}

/* ---------------------------------------------------------------------
   PROFILE / SETTINGS / ORDERS / TABLES
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .profile .bp-widget,
body.pt-member-portal-v2 #buddypress .standard-form,
body.pt-member-portal-v2 #buddypress .woocommerce table.shop_table,
body.pt-member-portal-v2 #buddypress table.shop_table {
	border-color: var(--ptv2-border) !important;
	border-radius: 15px !important;
	background:#fff !important;
}

body.pt-member-portal-v2 #buddypress .profile .bp-widget > h4,
body.pt-member-portal-v2 #buddypress .woocommerce table.shop_table th,
body.pt-member-portal-v2 #buddypress table.shop_table th {
	background:#fafafd !important;
	color:#202332 !important;
}

/* ---------------------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------------------- */

@media (max-width: 1100px) {
	body.pt-member-portal-v2 #buddypress .pt-v2-course-list {
		grid-template-columns:1fr !important;
	}
}

@media (max-width: 991px) {
	body.pt-member-portal-v2 #buddypress .pt-v2-sidebar {
		position:static !important;
		padding-right:0 !important;
		margin-bottom:18px;
	}
	body.pt-member-portal-v2 #buddypress .pt-v2-main {
		padding-left:0 !important;
	}
	body.pt-member-portal-v2 #buddypress .pagetitle,
	body.pt-member-portal-v2 #buddypress #item-nav {
		border-radius:18px !important;
		border:1px solid var(--ptv2-border) !important;
	}
	body.pt-member-portal-v2 #buddypress #item-nav {
		margin-top:10px !important;
		overflow-x:auto;
	}
	body.pt-member-portal-v2 #buddypress #item-nav ul {
		flex-direction:row !important;
		min-width:max-content;
	}
	body.pt-member-portal-v2 #buddypress #item-nav ul li {
		width:auto !important;
	}
	body.pt-member-portal-v2 #buddypress #item-nav ul li a {
		width:auto !important;
		white-space:nowrap;
	}
}

@media (max-width: 720px) {
	body.pt-member-portal-v2 #buddypress .pt-v2-page-header {
		align-items:flex-start;
		flex-direction:column;
	}
	body.pt-member-portal-v2 #buddypress .pt-v2-page-user {
		display:none;
	}
	body.pt-member-portal-v2 #buddypress .pt-v2-main > .padder > #item-body {
		padding:16px !important;
	}
	body.pt-member-portal-v2 #buddypress .pt-v2-dashboard-hero {
		min-height:0;
	}
	body.pt-member-portal-v2 #buddypress .pt-v2-hero-copy {
		padding:24px;
	}
	body.pt-member-portal-v2 #buddypress .pt-v2-hero-art {
		display:none;
	}
	body.pt-member-portal-v2 #buddypress .pt-v2-course-cover {
		height:160px !important;
	}
}


/* =====================================================================
   V2.0.1 LIVE FIXES
   - Notifications: restore real table layout over legacy v1 grid rules
   - Dashboard / Team KPI cards: restore readable text
===================================================================== */

/* ---------------------------------------------------------------------
   NOTIFICATIONS — HARD RESET TO A REAL TABLE
   Older compatibility rules made thead/tbody/th/td display:block.
   V2 must explicitly restore native table display values.
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress table.notifications,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications {
	display: table !important;
	width: 100% !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

body.pt-member-portal-v2 #buddypress table.notifications thead {
	display: table-header-group !important;
	width: auto !important;
}

body.pt-member-portal-v2 #buddypress table.notifications tbody {
	display: table-row-group !important;
	width: auto !important;
}

body.pt-member-portal-v2 #buddypress table.notifications tr,
body.pt-member-portal-v2 #buddypress table.notifications tr.h9-notification-grid-row,
body.pt-member-portal-v2 #buddypress table.notifications tr.pt-v2-notification-row {
	display: table-row !important;
	width: auto !important;
	grid-template-columns: none !important;
}

body.pt-member-portal-v2 #buddypress table.notifications th,
body.pt-member-portal-v2 #buddypress table.notifications td {
	display: table-cell !important;
	position: static !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	transform: none !important;
	box-sizing: border-box !important;
	vertical-align: middle !important;
}

/* The legacy blank icon column exists only in THEAD and should not consume space. */
body.pt-member-portal-v2 #buddypress table.notifications thead th.icon {
	display: none !important;
	width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Visible four-column structure */
body.pt-member-portal-v2 #buddypress table.notifications thead th.bulk-select-all,
body.pt-member-portal-v2 #buddypress table.notifications tbody td.bulk-select-check,
body.pt-member-portal-v2 #buddypress table.notifications tbody tr > td:first-child {
	width: 54px !important;
	padding: 14px 10px !important;
	text-align: center !important;
}

body.pt-member-portal-v2 #buddypress table.notifications thead th.title,
body.pt-member-portal-v2 #buddypress table.notifications tbody td.notification-description,
body.pt-member-portal-v2 #buddypress table.notifications tbody tr > td:nth-child(2) {
	width: auto !important;
	padding: 15px 16px !important;
	text-align: left !important;
}

body.pt-member-portal-v2 #buddypress table.notifications thead th.date,
body.pt-member-portal-v2 #buddypress table.notifications tbody td.notification-since,
body.pt-member-portal-v2 #buddypress table.notifications tbody tr > td:nth-child(3) {
	width: 210px !important;
	padding: 15px 16px !important;
	text-align: left !important;
	white-space: nowrap !important;
}

body.pt-member-portal-v2 #buddypress table.notifications thead th.actions,
body.pt-member-portal-v2 #buddypress table.notifications tbody td.notification-actions,
body.pt-member-portal-v2 #buddypress table.notifications tbody tr > td:nth-child(4) {
	width: 155px !important;
	padding: 15px 16px !important;
	text-align: left !important;
	white-space: nowrap !important;
}

body.pt-member-portal-v2 #buddypress table.notifications thead th {
	background: #fafafd !important;
	border-bottom: 1px solid var(--ptv2-border) !important;
	color: #828796 !important;
	font-size: 9px !important;
	font-weight: 850 !important;
	letter-spacing: .07em !important;
	text-transform: uppercase !important;
}

body.pt-member-portal-v2 #buddypress table.notifications tbody td {
	background: #fff !important;
	border-bottom: 1px solid #eff0f4 !important;
	color: #3d4251 !important;
}

/* ---------------------------------------------------------------------
   TEAM / DASHBOARD KPI CARDS — RESTORE CONTENT VISIBILITY
   Legacy dashboard rules force nested stat text white.
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card * {
	opacity: 1 !important;
	text-shadow: none !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card *,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card a,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card strong,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card h2,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card h3,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card h4,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card .stat_num {
	color: #171927 !important;
	-webkit-text-fill-color: #171927 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card span,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card small,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card p {
	color: #74798a !important;
	-webkit-text-fill-color: #74798a !important;
}

/* Make the primary number visually prominent without assuming exact markup. */
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card .stat_num,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card strong:first-of-type,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card h3:first-of-type {
	font-size: 28px !important;
	line-height: 1 !important;
	font-weight: 850 !important;
}

/* Ensure old colored-stat backgrounds do not leak into the new cards. */
body.pt-member-portal-v2 #buddypress .wplms-dashboard .pt-v2-kpi-card,
body.pt-member-portal-v2 #buddypress .wplms-dashboard .pt-v2-kpi-card.dash_stats,
body.pt-member-portal-v2 #buddypress .wplms-dashboard .pt-v2-kpi-card[class*="stat"] {
	background: #fff !important;
	background-image: none !important;
}

/* Responsive notifications */
@media (max-width: 900px) {
	body.pt-member-portal-v2 #buddypress table.notifications thead th.date,
	body.pt-member-portal-v2 #buddypress table.notifications tbody td.notification-since,
	body.pt-member-portal-v2 #buddypress table.notifications tbody tr > td:nth-child(3) {
		width: 150px !important;
	}

	body.pt-member-portal-v2 #buddypress table.notifications thead th.actions,
	body.pt-member-portal-v2 #buddypress table.notifications tbody td.notification-actions,
	body.pt-member-portal-v2 #buddypress table.notifications tbody tr > td:nth-child(4) {
		width: 120px !important;
	}
}


/* =====================================================================
   V2.0.2 SIDEBAR PROFILE CLEANUP
   Remove the duplicated member name below the avatar in the left sidebar.
   The signed-in user is already shown in the V2 page header.
===================================================================== */

body.pt-member-portal-v2 #buddypress #item-header-content > h3 {
	display: none !important;
}


/* =====================================================================
   V2.0.4 NOTIFICATIONS STRUCTURAL REBUILD
   We intentionally stop using native table column calculation because
   legacy WPLMS/BuddyPress has 5 TH cells but only 4 visible TD cells.
   Both header/body rows are rendered as the same explicit CSS grid.
===================================================================== */

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications {
	display: block !important;
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	table-layout: auto !important;
	overflow: hidden !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications thead,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications tbody {
	display: block !important;
	width: 100% !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-head,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-row {
	display: grid !important;
	grid-template-columns: 64px minmax(0, 1fr) 220px 150px !important;
	align-items: center !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-hide {
	display: none !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications th,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications td {
	display: block !important;
	position: static !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	transform: none !important;
	box-sizing: border-box !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-check {
	grid-column: 1 !important;
	padding: 14px 10px !important;
	text-align: center !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-title {
	grid-column: 2 !important;
	padding: 15px 18px !important;
	text-align: left !important;
	overflow-wrap: anywhere !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-date {
	grid-column: 3 !important;
	padding: 15px 18px !important;
	text-align: left !important;
	white-space: nowrap !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-actions {
	grid-column: 4 !important;
	padding: 15px 18px !important;
	text-align: left !important;
	white-space: nowrap !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications thead th {
	background: #fafafd !important;
	border-bottom: 1px solid var(--ptv2-border) !important;
	color: #838896 !important;
	font-size: 9px !important;
	font-weight: 850 !important;
	letter-spacing: .07em !important;
	text-transform: uppercase !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications tbody td {
	background: #fff !important;
	border-bottom: 1px solid #eff0f4 !important;
	color: #3d4251 !important;
	vertical-align: middle !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications tbody tr:last-child td {
	border-bottom: 0 !important;
}

/* Hard override every old first-child / nth-child width rule from v1. */
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications th:first-child,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications td:first-child,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications th:nth-child(2),
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications td:nth-child(2),
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications th:nth-child(3),
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications td:nth-child(3),
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications th:nth-child(4),
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications td:nth-child(4),
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications th:nth-child(5),
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications td:nth-child(5) {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
}

/* Tablet/mobile */
@media (max-width: 900px) {
	body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-head,
	body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-row {
		grid-template-columns: 48px minmax(0, 1fr) 145px 105px !important;
	}

	body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-title,
	body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-date,
	body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-actions {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
}


/* =====================================================================
   V2.0.5 NOTIFICATIONS FIX
   Legacy WPLMS renders an extra icon/status TD before the checkbox.
   Hide BOTH header/body icon cells and map remaining cells semantically.
===================================================================== */

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications {
	display: block !important;
	width: 100% !important;
	overflow: hidden !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications thead,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications tbody {
	display: block !important;
	width: 100% !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-head,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-row {
	display: grid !important;
	grid-template-columns: 64px minmax(0, 1fr) 220px 150px !important;
	align-items: center !important;
	width: 100% !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications th,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications td {
	display: block !important;
	position: static !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	transform: none !important;
	box-sizing: border-box !important;
}

/* Critical: both legacy icon/status spacer cells are removed. */
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications th.icon,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications td.icon,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-hide {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-check {
	grid-column: 1 !important;
	padding: 14px 10px !important;
	text-align: center !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-title {
	grid-column: 2 !important;
	padding: 15px 18px !important;
	text-align: left !important;
	overflow: hidden !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-title a {
	white-space: normal !important;
	overflow-wrap: anywhere !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-date {
	grid-column: 3 !important;
	padding: 15px 18px !important;
	text-align: left !important;
	white-space: nowrap !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-actions {
	grid-column: 4 !important;
	padding: 15px 18px !important;
	text-align: left !important;
	white-space: nowrap !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications thead th {
	background: #fafafd !important;
	border-bottom: 1px solid var(--ptv2-border) !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications tbody td {
	background: #fff !important;
	border-bottom: 1px solid #eff0f4 !important;
}

/* Neutralize all earlier child-position grid/width assumptions. */
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications tr > th,
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications tr > td {
	grid-column: auto;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-check { grid-column: 1 !important; }
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-title { grid-column: 2 !important; }
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-date { grid-column: 3 !important; }
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-actions { grid-column: 4 !important; }

@media (max-width: 900px) {
	body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-head,
	body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-row {
		grid-template-columns: 48px minmax(0,1fr) 145px 105px !important;
	}
}


/* =====================================================================
   PENTEST MEMBER PORTAL V2.1
   Design-system refinement: profile, settings, orders, messages,
   team/dashboard widgets, microinteractions and responsive polish.
===================================================================== */

/* ---------------------------------------------------------------------
   MOTION / INTERACTION
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress a,
body.pt-member-portal-v2 #buddypress button,
body.pt-member-portal-v2 #buddypress input,
body.pt-member-portal-v2 #buddypress select,
body.pt-member-portal-v2 #buddypress textarea,
body.pt-member-portal-v2 #buddypress .pt-v2-course-card,
body.pt-member-portal-v2 #buddypress .pt-v2-widget,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card {
	transition:
		transform .18s ease,
		box-shadow .18s ease,
		border-color .18s ease,
		background-color .18s ease,
		color .18s ease !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-card:hover,
body.pt-member-portal-v2 #buddypress .pt-v2-widget:hover,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 38px rgba(31,29,53,.10) !important;
	border-color: #ded7f5 !important;
}

body.pt-member-portal-v2 #buddypress input:focus,
body.pt-member-portal-v2 #buddypress select:focus,
body.pt-member-portal-v2 #buddypress textarea:focus {
	outline: 0 !important;
	border-color: #a98df9 !important;
	box-shadow: 0 0 0 4px rgba(111,61,244,.10) !important;
}

/* ---------------------------------------------------------------------
   COURSE CARDS — MORE PRODUCT-LIKE
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v2-course-card {
	position: relative !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-card::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: linear-gradient(90deg,var(--ptv2-green),var(--ptv2-green-2));
	opacity: 0;
	transition: opacity .18s ease;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-card:hover::after {
	opacity: 1;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-content {
	display: flex !important;
	flex-direction: column !important;
	min-height: 190px !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-card .item-desc {
	margin: 8px 0 14px !important;
	color: #7b8090 !important;
	font-size: 12px !important;
	line-height: 1.6 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v2-course-card .item-instructor,
body.pt-member-portal-v2 #buddypress .pt-v2-course-card .item-author,
body.pt-member-portal-v2 #buddypress .pt-v2-course-card .instructor {
	margin-top: auto !important;
	padding-top: 12px !important;
	border-top: 1px solid #f0f1f5 !important;
}

/* ---------------------------------------------------------------------
   PROFILE
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v21-profile-card {
	margin: 0 0 18px !important;
	border: 1px solid var(--ptv2-border) !important;
	border-radius: 17px !important;
	background: #fff !important;
	box-shadow: var(--ptv2-shadow-sm) !important;
	overflow: hidden !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-profile-card > .pt-v21-section-title,
body.pt-member-portal-v2 #buddypress .pt-v21-profile-card > h4 {
	margin: 0 !important;
	padding: 15px 18px !important;
	border-bottom: 1px solid var(--ptv2-border) !important;
	background: #fafafd !important;
	color: #222535 !important;
	font-size: 12px !important;
	font-weight: 850 !important;
	letter-spacing: .01em;
}

body.pt-member-portal-v2 #buddypress .pt-v21-profile-fields {
	width: 100% !important;
	margin: 0 !important;
	border-collapse: collapse !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-profile-fields tr {
	border-bottom: 1px solid #f0f1f5 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-profile-fields tr:last-child {
	border-bottom: 0 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-profile-fields td {
	padding: 15px 18px !important;
	border: 0 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-profile-fields td.label {
	width: 34% !important;
	color: #8a8f9d !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-profile-fields td.data {
	color: #242735 !important;
	font-size: 12px !important;
	font-weight: 650 !important;
}

/* ---------------------------------------------------------------------
   SETTINGS
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v21-settings-card {
	max-width: 760px !important;
	padding: 22px !important;
	border: 1px solid var(--ptv2-border) !important;
	border-radius: 17px !important;
	background: #fff !important;
	box-shadow: var(--ptv2-shadow-sm) !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-settings-card label {
	display: block !important;
	margin: 0 0 7px !important;
	color: #3c4050 !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-settings-card .pt-v21-field {
	width: 100% !important;
	max-width: 560px !important;
	margin: 0 0 16px !important;
}

/* ---------------------------------------------------------------------
   ORDERS
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v21-orders-table {
	width: 100% !important;
	border: 1px solid var(--ptv2-border) !important;
	border-radius: 16px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden !important;
	box-shadow: var(--ptv2-shadow-sm) !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-orders-table thead th {
	padding: 13px 14px !important;
	background: #fafafd !important;
	color: #888d9b !important;
	font-size: 9px !important;
	font-weight: 850 !important;
	letter-spacing: .06em;
	text-transform: uppercase;
}

body.pt-member-portal-v2 #buddypress .pt-v21-orders-table tbody td {
	padding: 15px 14px !important;
	border-bottom: 1px solid #f0f1f5 !important;
	background: #fff !important;
	color: #373b49 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-orders-table tbody tr:last-child td {
	border-bottom: 0 !important;
}

/* ---------------------------------------------------------------------
   MESSAGES
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v2-message-table tbody tr {
	position: relative;
}

body.pt-member-portal-v2 #buddypress .pt-v2-message-table tbody tr:hover td {
	background: #f7fff9 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-message-subject {
	color: #252838 !important;
	-webkit-text-fill-color: #252838 !important;
	font-weight: 800 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-message-excerpt {
	color: #9296a4 !important;
	font-size: 10px !important;
	line-height: 1.5 !important;
}

/* ---------------------------------------------------------------------
   NOTIFICATIONS — MODERN ROW FEEL
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications tbody tr {
	transition: background-color .18s ease !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications tbody tr:hover td {
	background: #f7fff9 !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-col-actions a {
	font-size: 10px !important;
	font-weight: 750 !important;
}

/* ---------------------------------------------------------------------
   TEAM / DASHBOARD WIDGET ACCENTS
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .pt-v21-accent-green,
body.pt-member-portal-v2 #buddypress .pt-v21-accent-blue,
body.pt-member-portal-v2 #buddypress .pt-v21-accent-green,
body.pt-member-portal-v2 #buddypress .pt-v21-accent-soft {
	position: relative !important;
}

body.pt-member-portal-v2 #buddypress .pt-v21-accent-green::before,
body.pt-member-portal-v2 #buddypress .pt-v21-accent-blue::before,
body.pt-member-portal-v2 #buddypress .pt-v21-accent-green::before,
body.pt-member-portal-v2 #buddypress .pt-v21-accent-soft::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 2;
}

body.pt-member-portal-v2 #buddypress .pt-v21-accent-green::before {
	background: linear-gradient(90deg,#16a34a,#9b7cf8);
}
body.pt-member-portal-v2 #buddypress .pt-v21-accent-blue::before {
	background: linear-gradient(90deg,#2563eb,#55b8ff);
}
body.pt-member-portal-v2 #buddypress .pt-v21-accent-green::before {
	background: linear-gradient(90deg,#10b981,#6ee7b7);
}
body.pt-member-portal-v2 #buddypress .pt-v21-accent-soft::before {
	background: linear-gradient(90deg,#d9d2ef,#eeeaf8);
}

/* ---------------------------------------------------------------------
   EMPTY / NOTICE STATES
--------------------------------------------------------------------- */

body.pt-member-portal-v2 #buddypress .bp-template-notice,
body.pt-member-portal-v2 #buddypress .message,
body.pt-member-portal-v2 #buddypress .woocommerce-message,
body.pt-member-portal-v2 #buddypress .woocommerce-info {
	padding: 13px 15px !important;
	border: 1px solid #e8e3fa !important;
	border-radius: 12px !important;
	background: #faf8ff !important;
	color: #4a4167 !important;
	box-shadow: none !important;
}

/* ---------------------------------------------------------------------
   DESKTOP WIDTH / DENSITY
--------------------------------------------------------------------- */

@media (min-width: 1280px) {
	body.pt-member-portal-v2 #buddypress {
		max-width: 1520px !important;
	}
}

/* ---------------------------------------------------------------------
   MOBILE IMPROVEMENTS
--------------------------------------------------------------------- */

@media (max-width: 720px) {
	body.pt-member-portal-v2 #content {
		padding-top: 18px !important;
	}

	body.pt-member-portal-v2 #buddypress #item-header {
		padding: 18px !important;
	}

	body.pt-member-portal-v2 #buddypress #item-header-avatar img.avatar {
		width: 62px !important;
		height: 62px !important;
		max-width: 62px !important;
		border-radius: 18px !important;
	}

	body.pt-member-portal-v2 #buddypress .pt-v2-page-heading h1 {
		font-size: 23px !important;
	}

	body.pt-member-portal-v2 #buddypress .pt-v2-course-cover {
		height: 150px !important;
	}

	body.pt-member-portal-v2 #buddypress .pt-v21-settings-card {
		padding: 16px !important;
	}

	body.pt-member-portal-v2 #buddypress .pt-v21-profile-fields td {
		display: block !important;
		width: 100% !important;
		padding: 10px 14px !important;
	}
}


/* =====================================================================
   V2.1.1 NOTIFICATIONS ROW FIX
   Remove legacy extra BODY cells and make each notification exactly one
   visual row. Hover/background belongs to the row, not individual cells.
===================================================================== */

/* Hide any legacy body cell that is not one of the 4 real columns. */
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications td.pt-v2-extra-notification-cell {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

/* One clean visual row. */
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-row {
	position: relative !important;
	background: #fff !important;
	box-shadow: inset 0 -1px 0 #eff0f4 !important;
}

/* Cells inherit row background so hover doesn't look like two stacked rows. */
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-row > td {
	background: transparent !important;
	border-bottom: 0 !important;
}

/* Hover the whole row uniformly. */
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-row:hover {
	background: #f7fff9 !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-row:hover > td {
	background: transparent !important;
}

/* Keep header independent and clean. */
body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-head {
	background: #fafafd !important;
	box-shadow: inset 0 -1px 0 var(--ptv2-border) !important;
}

body.pt-member-portal-v2 #buddypress table.notifications.pt-v2-notifications .pt-v2-notification-head > th {
	background: transparent !important;
	border-bottom: 0 !important;
}


/* =====================================================================
   PENTEST MEMBER PORTAL V2.2
   Built strictly from stable V2.1.1.
   Certifications untouched. Notifications structure untouched.
===================================================================== */

body.pt-member-portal-v2 #buddypress a,
body.pt-member-portal-v2 #buddypress button,
body.pt-member-portal-v2 #buddypress input,
body.pt-member-portal-v2 #buddypress select,
body.pt-member-portal-v2 #buddypress textarea,
body.pt-member-portal-v2 #buddypress .pt-v2-course-card,
body.pt-member-portal-v2 #buddypress .pt-v2-widget,
body.pt-member-portal-v2 #buddypress .pt-v2-kpi-card {
	transition:
		transform .18s ease,
		box-shadow .18s ease,
		border-color .18s ease,
		background-color .18s ease,
		color .18s ease !important;
}

body.pt-member-portal-v2 #buddypress input:focus,
body.pt-member-portal-v2 #buddypress select:focus,
body.pt-member-portal-v2 #buddypress textarea:focus {
	outline: 0 !important;
	border-color: #9b7cf8 !important;
	box-shadow: 0 0 0 4px rgba(111,61,244,.10) !important;
}

/* Sidebar */
body.pt-member-portal-v2 #buddypress #item-nav ul li a {
	position: relative !important;
	overflow: hidden !important;
}

body.pt-member-portal-v2 #buddypress #item-nav ul li a:hover {
	background: #f8f7fc !important;
	transform: translateX(2px);
}

body.pt-member-portal-v2 #buddypress #item-nav ul li.current > a,
body.pt-member-portal-v2 #buddypress #item-nav ul li.selected > a {
	box-shadow: inset 0 0 0 1px #e8e0ff, 0 6px 14px rgba(111,61,244,.06) !important;
}

/* Hero */
body.pt-member-portal-v2 #buddypress .pt-v2-dashboard-hero {
	isolation: isolate;
}

body.pt-member-portal-v2 #buddypress .pt-v2-dashboard-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(90deg, rgba(255,255,255,.02), transparent 48%),
		radial-gradient(circle at 82% 20%, rgba(255,255,255,.09), transparent 24%);
	pointer-events: none;
}

body.pt-member-portal-v2 #buddypress .pt-v2-primary-action:hover,
body.pt-member-portal-v2 #buddypress .pt-v2-secondary-action:hover {
	transform: translateY(-1px);
}

/* Courses */
body.pt-member-portal-v2 #buddypress .pt-v22-course-card {
	position: relative !important;
	border-color: #e7e8ef !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-course-card:hover {
	transform: translateY(-3px) !important;
	border-color: #dcd3fb !important;
	box-shadow: 0 20px 44px rgba(28,25,52,.10) !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-course-card::after {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 0;
	height: 3px;
	border-radius: 999px 999px 0 0;
	background: linear-gradient(90deg,#16a34a,#9f7aea);
	opacity: 0;
	transition: opacity .18s ease;
}

body.pt-member-portal-v2 #buddypress .pt-v22-course-card:hover::after {
	opacity: 1;
}

body.pt-member-portal-v2 #buddypress .pt-v22-course-body {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-course-desc {
	color: #7a7f8f !important;
	font-size: 12px !important;
	line-height: 1.65 !important;
	margin-top: 8px !important;
	margin-bottom: 14px !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-course-footer {
	margin-top: auto !important;
	padding-top: 12px !important;
	border-top: 1px solid #f0f1f5 !important;
}

/* Profile */
body.pt-member-portal-v2 #buddypress .pt-v22-profile-card {
	margin: 0 0 18px !important;
	border: 1px solid #e8e9ef !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 8px 22px rgba(24,24,36,.045) !important;
	overflow: hidden !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-section-heading {
	margin: 0 !important;
	padding: 15px 18px !important;
	border-bottom: 1px solid #eceef3 !important;
	background: linear-gradient(180deg,#fbfbfd,#f9f9fc) !important;
	color: #222535 !important;
	font-size: 12px !important;
	font-weight: 850 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-profile-table {
	width: 100% !important;
	border-collapse: collapse !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-profile-table tr {
	border-bottom: 1px solid #f0f1f5 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-profile-table tr:last-child {
	border-bottom: 0 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-profile-table td {
	padding: 15px 18px !important;
	border: 0 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-profile-table td.label {
	width: 34% !important;
	color: #8b909e !important;
	font-size: 11px !important;
	font-weight: 750 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-profile-table td.data {
	color: #252838 !important;
	font-size: 12px !important;
	font-weight: 650 !important;
}

/* Settings */
body.pt-member-portal-v2 #buddypress .pt-v22-form-card {
	max-width: 780px !important;
	padding: 22px !important;
	border: 1px solid #e8e9ef !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 8px 22px rgba(24,24,36,.045) !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-form-card label {
	display: block !important;
	margin-bottom: 7px !important;
	color: #383c4b !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}

/* Orders */
body.pt-member-portal-v2 #buddypress .pt-v22-orders-table {
	border: 1px solid #e7e8ee !important;
	border-radius: 15px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden !important;
	box-shadow: 0 8px 22px rgba(24,24,36,.045) !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-orders-table thead th {
	padding: 13px 14px !important;
	background: #fafafd !important;
	color: #8b909e !important;
	font-size: 9px !important;
	font-weight: 850 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-orders-table tbody td {
	padding: 15px 14px !important;
	background: #fff !important;
	border-bottom: 1px solid #f0f1f5 !important;
}

/* Messages: visual only */
body.pt-member-portal-v2 #buddypress .pt-v22-message-table tbody tr:hover td {
	background: #f7fff9 !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-message-subject {
	color: #252838 !important;
	-webkit-text-fill-color: #252838 !important;
	font-weight: 800 !important;
}

/* Team / dashboard accents */
body.pt-member-portal-v2 #buddypress .pt-v22-widget-green,
body.pt-member-portal-v2 #buddypress .pt-v22-widget-blue,
body.pt-member-portal-v2 #buddypress .pt-v22-widget-green,
body.pt-member-portal-v2 #buddypress .pt-v22-widget-form {
	position: relative !important;
}

body.pt-member-portal-v2 #buddypress .pt-v22-widget-green::before,
body.pt-member-portal-v2 #buddypress .pt-v22-widget-blue::before,
body.pt-member-portal-v2 #buddypress .pt-v22-widget-green::before,
body.pt-member-portal-v2 #buddypress .pt-v22-widget-form::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 2;
}

body.pt-member-portal-v2 #buddypress .pt-v22-widget-green::before {
	background: linear-gradient(90deg,#16a34a,#9b7cf8);
}

body.pt-member-portal-v2 #buddypress .pt-v22-widget-blue::before {
	background: linear-gradient(90deg,#2563eb,#55b8ff);
}

body.pt-member-portal-v2 #buddypress .pt-v22-widget-green::before {
	background: linear-gradient(90deg,#10b981,#6ee7b7);
}

body.pt-member-portal-v2 #buddypress .pt-v22-widget-form::before {
	background: linear-gradient(90deg,#d8d1ee,#eeeaf8);
}

/* Notices */
body.pt-member-portal-v2 #buddypress .bp-template-notice,
body.pt-member-portal-v2 #buddypress .woocommerce-message,
body.pt-member-portal-v2 #buddypress .woocommerce-info {
	padding: 13px 15px !important;
	border: 1px solid #e7e0fb !important;
	border-radius: 12px !important;
	background: #faf8ff !important;
	color: #4a4167 !important;
	box-shadow: none !important;
}

@media (max-width: 720px) {
	body.pt-member-portal-v2 #buddypress .pt-v22-form-card {
		padding: 16px !important;
	}

	body.pt-member-portal-v2 #buddypress .pt-v22-profile-table td {
		display: block !important;
		width: 100% !important;
		padding: 10px 14px !important;
	}
}


/* =====================================================================
   V2.2.1 — MY ORDERS / WOO ACCOUNT
   Exact selectors based on live markup supplied by the site owner.
   No changes to Certifications or Notifications.
===================================================================== */

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-empty-heading,
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-hide-legacy-activation {
	display: none !important;
}

/* BuddyPress account tabs: compact modern segmented control */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-account-subnav {
	margin: 0 0 22px !important;
	padding: 5px !important;
	border: 1px solid #e8e8ef !important;
	border-radius: 14px !important;
	background: #f7f7fa !important;
	box-shadow: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-account-subnav ul {
	display: flex !important;
	gap: 6px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-account-subnav li {
	float: none !important;
	margin: 0 !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-account-subnav li a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 38px !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: transparent !important;
	color: #6f7380 !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-account-subnav li.current a,
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-account-subnav li.selected a {
	background: #fff !important;
	color: #242633 !important;
	box-shadow: 0 3px 10px rgba(24,24,36,.08) !important;
}

/* Real section heading */
body.pt-member-portal-v2 #buddypress #item-body > .pt-v221-account-title {
	margin: 0 0 14px !important;
	color: #222431 !important;
	font-size: 18px !important;
	font-weight: 850 !important;
	letter-spacing: -.02em !important;
}

/* Woo account becomes a proper app shell */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account {
	display: grid !important;
	grid-template-columns: 230px minmax(0,1fr) !important;
	gap: 0 !important;
	margin: 0 !important;
	border: 1px solid #e6e7ed !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 14px 36px rgba(26,24,44,.07) !important;
	overflow: hidden !important;
}

/* Woo left navigation */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 18px 12px !important;
	border-right: 1px solid #ececf2 !important;
	background: linear-gradient(180deg,#fbfbfd 0%,#f8f8fb 100%) !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav li {
	margin: 3px 0 !important;
	border: 0 !important;
	list-style: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav li a {
	display: flex !important;
	align-items: center !important;
	min-height: 42px !important;
	padding: 0 12px !important;
	border-radius: 10px !important;
	color: #656978 !important;
	font-size: 11px !important;
	font-weight: 750 !important;
	text-decoration: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav li a:hover {
	background: #f0fdf4 !important;
	color: #5d32d9 !important;
	transform: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav li.is-active a,
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
	background: linear-gradient(135deg,#16a34a,#8757f6) !important;
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(111,61,244,.18) !important;
}

/* Special low-priority utility link */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav li.woocommerce-MyAccount-navigation-link--user-switching-switch-back {
	margin-top: 13px !important;
	padding-top: 13px !important;
	border-top: 1px solid #e7e8ee !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav li.woocommerce-MyAccount-navigation-link--user-switching-switch-back a {
	color: #989cab !important;
	font-size: 10px !important;
}

/* Main Woo content */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content {
	float: none !important;
	width: auto !important;
	min-width: 0 !important;
	padding: 28px 30px !important;
	background: #fff !important;
}

/* Dashboard greeting becomes a modern neutral info card */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content > p:first-of-type {
	margin: 0 !important;
	padding: 18px 20px !important;
	border: 1px solid #ebe8f5 !important;
	border-radius: 14px !important;
	background:
		linear-gradient(135deg,#f7fff9 0%,#ffffff 72%) !important;
	color: #656979 !important;
	font-size: 12px !important;
	line-height: 1.65 !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content > p:first-of-type strong {
	color: #242633 !important;
	font-weight: 850 !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content a {
	color: #16a34a !important;
	font-weight: 750 !important;
}

/* Real Woo order tables, when user clicks Orders */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content table.woocommerce-orders-table,
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content table.shop_table {
	width: 100% !important;
	margin: 0 !important;
	border: 1px solid #e6e7ed !important;
	border-radius: 14px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content table.woocommerce-orders-table thead th,
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content table.shop_table thead th {
	padding: 12px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid #e9eaf0 !important;
	background: #fafafd !important;
	color: #9296a4 !important;
	font-size: 9px !important;
	font-weight: 850 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content table.woocommerce-orders-table tbody td,
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content table.shop_table tbody td {
	padding: 15px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid #f0f1f5 !important;
	color: #3a3d4b !important;
	font-size: 11px !important;
	background: #fff !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content table.woocommerce-orders-table tbody tr:hover td,
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content table.shop_table tbody tr:hover td {
	background: #f7fff9 !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content .woocommerce-button,
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content .button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 34px !important;
	padding: 0 12px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: #16a34a !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	box-shadow: 0 6px 14px rgba(111,61,244,.16) !important;
}

/* Woo notices */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content .woocommerce-message,
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content .woocommerce-info,
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content .woocommerce-error {
	border-radius: 12px !important;
	border-width: 1px !important;
	box-shadow: none !important;
}

/* Mobile */
@media (max-width: 860px) {
	body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account {
		grid-template-columns: 1fr !important;
	}

	body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav {
		border-right: 0 !important;
		border-bottom: 1px solid #ececf2 !important;
	}

	body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav ul {
		display: flex !important;
		gap: 6px !important;
		overflow-x: auto !important;
		padding-bottom: 2px !important;
	}

	body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-nav li {
		flex: 0 0 auto !important;
	}

	body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content {
		padding: 20px !important;
	}
}


/* V2.2.2 — redundant Woo dashboard greeting */
body.pt-member-portal-v2 #buddypress #item-body .pt-v222-hide-woo-greeting {
	display: none !important;
}


/* =====================================================================
   V2.2.3 — WOO ACCOUNT ALIGNMENT FIX
   The theme/WooCommerce legacy My Account widths/floats were still
   influencing the two-column shell and creating a large blank left area.
===================================================================== */

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account {
	display: grid !important;
	grid-template-columns: 230px minmax(0, 1fr) !important;
	align-items: stretch !important;
	width: 100% !important;
}

/* Explicitly pin the Woo navigation to the first grid column. */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account > .pt-v221-woo-nav {
	grid-column: 1 !important;
	grid-row: 1 !important;
	float: none !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	width: 230px !important;
	max-width: 230px !important;
	min-width: 230px !important;
	margin: 0 !important;
}

/* Woo/theme CSS sometimes turns this list into a horizontal row. */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account > .pt-v221-woo-nav > ul {
	display: block !important;
	width: 100% !important;
}

/* Explicitly pin account content to the second grid column. */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account > .pt-v221-woo-content {
	grid-column: 2 !important;
	grid-row: 1 !important;
	float: none !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}

/* When the Dashboard greeting is hidden and Woo has no other dashboard
   content, don't leave a tall empty content panel. */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content:has(> .pt-v222-hide-woo-greeting:only-child) {
	min-height: 0 !important;
	padding-top: 18px !important;
	padding-bottom: 18px !important;
}

/* Safety for browsers/templates where hidden notices wrapper is also present. */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content:not(:has(table, form, .woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-MyAccount-orders, .woocommerce-customer-details, address)) {
	min-height: 90px !important;
}

/* Remove old Woo clearfix/floated-column pseudo-elements if injected. */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account::before,
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account::after {
	content: none !important;
	display: none !important;
}

@media (max-width: 860px) {
	body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account {
		grid-template-columns: 1fr !important;
	}

	body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account > .pt-v221-woo-nav,
	body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account > .pt-v221-woo-content {
		grid-column: 1 !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
	}

	body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account > .pt-v221-woo-nav {
		grid-row: 1 !important;
	}

	body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account > .pt-v221-woo-content {
		grid-row: 2 !important;
	}
}


/* =====================================================================
   V2.2.4 — EMBED WOO ACCOUNT ENDPOINTS INSIDE MEMBER PORTAL
===================================================================== */

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account {
	position: relative !important;
}

/* Loading state while switching Orders / Memberships / Team / etc. */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account.pt-v224-loading > .pt-v221-woo-content {
	opacity: .45 !important;
	pointer-events: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account.pt-v224-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(230px + (100% - 230px) / 2);
	width: 28px;
	height: 28px;
	margin: -14px 0 0 -14px;
	border: 3px solid rgba(111,61,244,.16);
	border-top-color: #16a34a;
	border-radius: 50%;
	animation: pt-v224-spin .7s linear infinite;
	z-index: 10;
}

@keyframes pt-v224-spin {
	to { transform: rotate(360deg); }
}

/* The My Orders BuddyPress page now contains actual order content,
   so remove the previous empty-dashboard minimum-height behavior. */
body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-content {
	min-height: 120px !important;
}

@media (max-width: 860px) {
	body.pt-member-portal-v2 #buddypress #item-body .pt-v221-woo-account.pt-v224-loading::after {
		left: 50%;
		top: 62%;
	}
}


/* =====================================================================
   V2.2.6 — WOO ACCOUNT NAV: ONE ITEM PER LINE
   Keeps the working embedded endpoint loading from V2.2.5.
===================================================================== */

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-account > .pt-v221-woo-nav > ul {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-account > .pt-v221-woo-nav > ul > li {
	display: block !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: none !important;
	margin: 4px 0 !important;
	padding: 0 !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-account > .pt-v221-woo-nav > ul > li > a {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 44px !important;
	padding: 0 14px !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
}

/* Keep the utility account-switch link visually separated. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-account > .pt-v221-woo-nav > ul >
li.woocommerce-MyAccount-navigation-link--user-switching-switch-back {
	margin-top: 16px !important;
	padding-top: 16px !important;
	border-top: 1px solid #e7e8ee !important;
}

/* Mobile can still scroll if needed, but each menu item remains full width. */
@media (max-width: 860px) {
	body.pt-member-portal-v2 #buddypress #item-body
	.pt-v221-woo-account > .pt-v221-woo-nav > ul {
		display: block !important;
		overflow: visible !important;
	}

	body.pt-member-portal-v2 #buddypress #item-body
	.pt-v221-woo-account > .pt-v221-woo-nav > ul > li {
		width: 100% !important;
	}
}


/* =====================================================================
   V2.2.7 — WOO MEMBERSHIPS FOR TEAMS SUBNAV INSIDE PORTAL
   Uses the exact live Teams markup:
   .wc-memberships-for-teams-teams-area-navigation
===================================================================== */

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .pt-v227-team-subnav-wrap {
	margin: 0 0 22px !important;
	padding: 0 !important;
}

/* Neutralize Woo's default My Account navigation dimensions for the nested team nav. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .wc-memberships-for-teams-teams-area-navigation {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 5px !important;
	border: 1px solid #e7e8ee !important;
	border-radius: 13px !important;
	background: #f8f8fb !important;
	box-sizing: border-box !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .wc-memberships-for-teams-teams-area-navigation > ul {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 6px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .wc-memberships-for-teams-teams-area-navigation > ul > li {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .wc-memberships-for-teams-teams-area-navigation > ul > li > a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 38px !important;
	padding: 0 13px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: transparent !important;
	color: #666b7a !important;
	-webkit-text-fill-color: #666b7a !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	box-shadow: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .wc-memberships-for-teams-teams-area-navigation > ul > li > a:hover {
	background: #f0fdf4 !important;
	color: #16a34a !important;
	-webkit-text-fill-color: #16a34a !important;
	transform: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .wc-memberships-for-teams-teams-area-navigation > ul > li.is-active > a {
	background: #16a34a !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	box-shadow: 0 6px 14px rgba(111,61,244,.16) !important;
}

/* Team members inner view switch */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-account-my-teams ul.views {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 5px !important;
	margin: 12px 0 18px !important;
	padding: 0 !important;
	list-style: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-account-my-teams ul.views li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-account-my-teams ul.views a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 31px !important;
	padding: 0 10px !important;
	border-radius: 8px !important;
	background: #f6f5fa !important;
	color: #656979 !important;
	-webkit-text-fill-color: #656979 !important;
	font-size: 10px !important;
	font-weight: 750 !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-account-my-teams ul.views a.current {
	background: #eee9ff !important;
	color: #6333e7 !important;
	-webkit-text-fill-color: #6333e7 !important;
}

/* Team member table gets the same app-like treatment as Woo Orders. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content table.my_account_teams {
	width: 100% !important;
	border: 1px solid #e6e7ed !important;
	border-radius: 13px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden !important;
	background: #fff !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content table.my_account_teams thead th {
	padding: 11px 13px !important;
	border: 0 !important;
	border-bottom: 1px solid #e9eaf0 !important;
	background: #fafafd !important;
	color: #9296a4 !important;
	font-size: 9px !important;
	font-weight: 850 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content table.my_account_teams tbody td {
	padding: 14px 13px !important;
	border: 0 !important;
	border-bottom: 1px solid #f0f1f5 !important;
	color: #3a3d4b !important;
	font-size: 11px !important;
	background: #fff !important;
}

/* Team action buttons are intentionally smaller than primary portal CTAs. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .wc-memberships-for-teams-team-area-action.button {
	min-height: 30px !important;
	padding: 0 9px !important;
	border-radius: 8px !important;
	font-size: 9px !important;
	letter-spacing: 0 !important;
	margin: 2px !important;
}

@media (max-width: 700px) {
	body.pt-member-portal-v2 #buddypress #item-body
	.pt-v221-woo-content .wc-memberships-for-teams-teams-area-navigation > ul {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
	}

	body.pt-member-portal-v2 #buddypress #item-body
	.pt-v221-woo-content .wc-memberships-for-teams-teams-area-navigation > ul > li > a {
		width: 100% !important;
	}
}


/* =====================================================================
   V2.2.8 — WOO NOTICE ICON OVERLAP FIX
   Legacy Woo/theme ::before info icon was overlapping the notice text.
===================================================================== */

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-info {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 18px !important;
	min-height: 72px !important;
	padding: 18px 20px !important;
	border: 1px solid #ddd3ff !important;
	border-radius: 14px !important;
	background: #faf8ff !important;
	color: #514a70 !important;
	line-height: 1.5 !important;
	box-sizing: border-box !important;
}

/* Disable the old Woo/theme icon pseudo-element completely. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-info::before,
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-info::after {
	content: none !important;
	display: none !important;
}

/* Keep the CTA on the right without floating into the message text. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-info > .button,
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-info > a.button {
	order: 2 !important;
	float: none !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
	white-space: nowrap !important;
}

/* Reset any inherited indentation reserved for Woo's removed info icon. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-info {
	text-indent: 0 !important;
}

@media (max-width: 700px) {
	body.pt-member-portal-v2 #buddypress #item-body
	.pt-v221-woo-content .woocommerce-info {
		display: block !important;
		padding: 16px !important;
	}

	body.pt-member-portal-v2 #buddypress #item-body
	.pt-v221-woo-content .woocommerce-info > .button,
	body.pt-member-portal-v2 #buddypress #item-body
	.pt-v221-woo-content .woocommerce-info > a.button {
		display: flex !important;
		width: 100% !important;
		margin-top: 14px !important;
	}
}


/* V2.2.9 — Woo Orders pagination stays inside portal */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-pagination {
	margin: 18px 0 0 !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-pagination ul {
	display: flex !important;
	justify-content: flex-end !important;
	gap: 6px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-pagination a,
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-pagination span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 34px !important;
	height: 34px !important;
	padding: 0 10px !important;
	border: 1px solid #e6e7ed !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: #5f6472 !important;
	-webkit-text-fill-color: #5f6472 !important;
	font-size: 10px !important;
	font-weight: 800 !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-pagination .current {
	background: #16a34a !important;
	border-color: #16a34a !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}


/* =====================================================================
   V2.2.10 — TEAM POLISH
   Visual cleanup only. No structural changes to embedded Team navigation.
===================================================================== */

/* Members / Pending invitations become compact sibling pills. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-account-my-teams ul.views {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 14px 0 18px !important;
	padding: 0 !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-account-my-teams ul.views li {
	display: block !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-account-my-teams ul.views li a {
	display: inline-flex !important;
	align-items: center !important;
	width: auto !important;
	min-height: 34px !important;
	padding: 0 12px !important;
	border: 1px solid #e7e8ee !important;
	border-radius: 9px !important;
	background: #f8f8fb !important;
	color: #6a6f7e !important;
	-webkit-text-fill-color: #6a6f7e !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .woocommerce-account-my-teams ul.views li a.current {
	border-color: #ded5ff !important;
	background: #eee9ff !important;
	color: #6333e7 !important;
	-webkit-text-fill-color: #6333e7 !important;
	box-shadow: 0 5px 12px rgba(111,61,244,.08) !important;
}

/* Give the actions column more breathing room. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content table.my_account_teams th.member-actions,
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content table.my_account_teams td.team-actions {
	width: 210px !important;
	min-width: 210px !important;
	padding-left: 16px !important;
	padding-right: 16px !important;
	text-align: right !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content td.team-actions .button {
	margin-left: 6px !important;
}

/* Registration link area in Add Member reads as one control group. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .my-team-section input[type="text"],
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .my-team-section input[type="email"],
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .my-team-section select {
	border-radius: 10px !important;
	border-color: #dde0e8 !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .my-team-section input[type="text"]:focus,
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .my-team-section input[type="email"]:focus,
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .my-team-section select:focus {
	border-color: #9b7cf8 !important;
	box-shadow: 0 0 0 4px rgba(111,61,244,.08) !important;
}

/* Team Details table refinement. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .my-team-section table.shop_table:not(.my_team_members) {
	border-radius: 13px !important;
	overflow: hidden !important;
}

body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .my-team-section table.shop_table:not(.my_team_members) td,
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .my-team-section table.shop_table:not(.my_team_members) th {
	padding: 14px 16px !important;
}

/* Team headings get a slightly cleaner hierarchy. */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .my-team-section h2,
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content .my-team-section h3 {
	color: #232636 !important;
	letter-spacing: -.015em !important;
}

@media (max-width: 780px) {
	body.pt-member-portal-v2 #buddypress #item-body
	.pt-v221-woo-content table.my_account_teams th.member-actions,
	body.pt-member-portal-v2 #buddypress #item-body
	.pt-v221-woo-content table.my_account_teams td.team-actions {
		width: auto !important;
		min-width: 0 !important;
		text-align: left !important;
	}
}


/* V2.2.11 — hide redundant Team "Back to Dashboard" tab inside portal */
body.pt-member-portal-v2 #buddypress #item-body
.pt-v221-woo-content
.wc-memberships-for-teams-teams-area-navigation
.woocommerce-MyAccount-navigation-link--back-to-teams {
	display: none !important;
}


/* V2.2.12 — hide redundant BuddyPress "Edit Account Details" tab */
body.pt-member-portal-v2 #buddypress #item-body
#nav-edit-account-personal-li {
	display: none !important;
}


/* =====================================================================
   V2.2.13 — REMOVE REDUNDANT EDIT ACCOUNT DETAILS TAB
   Strong fallback for legacy WPLMS/BuddyPress markup variations.
===================================================================== */

body.pt-member-portal-v2 #buddypress #nav-edit-account-personal-li,
body.pt-member-portal-v2 #buddypress li#nav-edit-account-personal-li,
body.pt-member-portal-v2 #buddypress .item-list-tabs li#nav-edit-account-personal-li,
body.pt-member-portal-v2 #buddypress li:has(> a#nav-edit-account),
body.pt-member-portal-v2 #buddypress li:has(> a[href*="/membership-account/edit-account/"]) {
	display: none !important;
}


/* V2.2.14 — exact live markup fix for Edit Account Details */
body.pt-member-portal-v2 #buddypress
#item-body > #subnav.pt-v221-account-subnav
> ul > li#nav-edit-account-personal-li {
	display: none !important;
}

/* If hidden, allow My Orders to sit cleanly as the sole tab. */
body.pt-member-portal-v2 #buddypress
#item-body > #subnav.pt-v221-account-subnav
> ul > li#nav-membership-account-personal-li {
	margin-right: 0 !important;
}
