/* =========================================================
   Marby Member Dashboard
   Follows the public Planner and Calendar visual system.
   ========================================================= */

.marby-member-dashboard {
	width: min(100%, 1280px);
	margin: 0 auto;
	padding: 0px 20px 40px;
	/* Master marby-page-shell owns dashboard font-family.
	font-family: var(
		--e-global-typography-text-font-family,
		Arial,
		Helvetica,
		sans-serif
	);
	*/
	white-space: normal !important;
}

#marby-member-dashboard {
	padding: 0;
}

@media only screen and (min-width: 1000px) {
	.container-wrap:has(#marby-member-dashboard) {
		padding-top: 80px !important;
		padding-bottom: 60px !important;
	}
}

:where(pre, code, .wp-block-code):has(#marby-member-dashboard) {
	background: transparent !important;
	border: 0 !important;
	display: contents !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: normal !important;
}

.marby-member-dashboard * {
	box-sizing: border-box;
	font-family: inherit;
	white-space: normal;
}

.marby-member-dashboard--auth,
.marby-member-dashboard--error,
.md-notice {
	border: 1px solid #dddddd;
	border-left: 4px solid #000000;
	border-radius: 8px;
	background: #ffffff;
	color: #111827;
	margin-bottom: 28px;
	padding: 14px 16px;
}

/* =========================================================
   Header
   ========================================================= */

.marby-member-dashboard .md-hero {
	background: #000000;
	border-radius: 15px;
	color: #ffffff;
	margin-bottom: 30px;
	padding: 30px 30px 50px;
	text-align: center;
}

.marby-member-dashboard .md-hero h1 {
	color: #ffffff !important;
	font-family: var(
		--e-global-typography-primary-font-family,
		var(--e-global-typography-text-font-family, Arial, Helvetica, sans-serif)
	);
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 16px 0;
}

.marby-member-dashboard .md-hero p {
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 16px;
	line-height: 1.45;
	margin: 0 auto;
	max-width: 760px;
}

.md-section-label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.md-section-label {
	color: #111827;
	margin-bottom: 4px;
}

.md-section-note {
	color: #333333;
	font-size: 13px;
	line-height: 1.4;
	margin: 6px 0 0 0;
}

/* =========================================================
   Layout + Panels
   ========================================================= */

.md-layout {
	align-items: start;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
	width: 100%;
	margin-top: 40px;
}

.md-main,
.md-side {
	align-content: start;
	display: grid;
	gap: 28px;
	min-width: 0;
}

.md-panel {
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 10px;
	padding: 20px;
}

.md-main.md-panel {
	display: block;
	min-width: 0;
	overflow: hidden;
}

.md-main > .md-section {
	padding: 20px;
}

.md-main > .md-section:first-child {
	padding-top: 20px;
}

.md-section {
	border-bottom: 1px solid #dddddd;
	margin-bottom: 28px;
	padding-bottom: 28px;
}

.md-section:last-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 20px;
}

.md-side .md-section {
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 10px;
	margin-bottom: 0;
	padding: 20px;
}

.md-side .md-section:last-child {
	border: 1px solid #dddddd;
	padding-bottom: 20px;
}

.md-side .md-section-head {
	margin-bottom: 24px;
}

.md-section-head {
	align-items: flex-start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin: 20px 0px !important;
}

.md-section-head h2 {
	color: #111827;
	/* Master typography owns dashboard section heading fonts.
	font-family: var(
		--e-global-typography-primary-font-family,
		var(--e-global-typography-text-font-family, Arial, Helvetica, sans-serif)
	);
	*/
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}

.md-muted,
.md-inline-link {
	color: #111827;
	font-size: 12px;
}

.md-inline-link {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
}

.md-inline-link:hover {
	color: #000000;
}

.md-btn {
	cursor: pointer;
	display: inline-block;
	font-family: inherit;
	line-height: 1.2;
	margin: 20px 5px 10px 0;
	text-decoration: none !important;
	white-space: nowrap;
}

.md-btn-rev {
	cursor: pointer;
	display: inline-block;
	margin: 20px 5px 10px 0;
	text-decoration: none !important;
}

.md-btn-primary {
	font-size: 14px;
	font-weight: 700;
	padding: 10px 15px;
}

.md-btn-primary:hover,
.md-btn-primary:focus {
	text-decoration: none !important;
}

.md-btn-primary-rev {
	font-size: 14px;
	font-weight: 700;
	padding: 10px 15px;
}

.md-btn-primary-rev:hover,
.md-btn-primary-rev:focus {
	text-decoration: none !important;
}

.md-btn-secondary {
	font-size: 12px;
	font-weight: 400;
	padding: 8px 12px;
}

.md-btn-secondary:hover,
.md-btn-secondary:focus {
	text-decoration: none !important;
}

.md-action-btn {
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none;
	cursor: pointer;
	display: inline-block;
	font-family: inherit;
	line-height: 1.2;
	text-decoration: none !important;
	transform: none !important;
	transition: none !important;
}

.md-action-btn-primary {
	font-size: 14px;
	font-weight: 700;
	padding: 10px 15px;
}

.md-action-btn-secondary {
	font-size: 12px;
	font-weight: 700;
	padding: 8px 12px;
}

.md-action-btn:hover,
.md-action-btn:focus {
	transform: none !important;
}

.md-btn[disabled],
.md-btn-rev[disabled],
.md-action-btn[disabled] {
	cursor: not-allowed;
	opacity: 0.55;
	pointer-events: none;
}

.md-section-head .md-btn {
	margin: 0 0 0 auto;
}

.md-notice-success {
	border-left-color: #047858;
}

.md-notice-error {
	border-left-color: #b91c1c;
}

.md-notice-warning,
.md-suspension-notice {
	border-left-color: #b45309;
}

.md-notice:empty {
	display: none;
}

.md-restricted-panel {
	margin: 0 auto;
	max-width: 760px;
	text-align: left;
}

.md-restricted-panel h2 {
	color: #111827;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	margin: 8px 0;
}

.md-restricted-panel p {
	color: #333333;
	font-size: 15px;
	line-height: 1.5;
	margin: 0 0 16px;
}

.md-suspension-notice {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.md-suspension-notice strong {
	display: block;
	font-size: 16px;
	margin-bottom: 6px;
}

.md-suspension-notice p {
	margin: 0 0 4px;
}

.marby-login-page {
	max-width: 760px;
}

.md-login-panel {
	margin: 0 auto;
	max-width: 760px;
	width: 100%;
}

.md-login-form {
	display: grid;
	gap: 16px;
}

.md-login-form label {
	display: grid;
	gap: 6px;
}

.md-login-form label span {
	color: #111827;
	font-size: 13px;
	font-weight: 700;
}

.md-login-form input[type="text"],
.md-login-form input[type="password"] {
	background: #ffffff;
	border: 1px solid #c9c9c9;
	border-radius: 6px;
	color: #111827;
	font-size: 15px;
	min-height: 44px;
	padding: 10px 12px;
	width: 100%;
}

.md-login-form input[type="text"]:focus,
.md-login-form input[type="password"]:focus {
	border-color: #000000;
	box-shadow: 0 0 0 1px #000000;
	outline: none;
}

.md-login-remember {
	align-items: center;
	display: flex !important;
	gap: 8px !important;
}

.md-login-remember input {
	margin: 0;
}

.md-login-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	padding-top: 20px;
}

.md-login-actions a {
	color: #111827;
	font-size: 13px;
	text-decoration: underline;
}

/* =========================================================
   Instructions
   ========================================================= */

.marby-instructions-page {
	max-width: 1180px;
}

.md-instructions-nav {
	align-items: center;
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px 0;
	padding: 12px;
}

.md-instructions-nav a {
	border: 1px solid #dddddd;
	color: #111827;
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	padding: 8px 10px;
	text-decoration: none !important;
}

.md-instructions-nav a:hover,
.md-instructions-nav a:focus {
	background: #000000;
	border-color: #000000;
	color: #ffffff !important;
}

.md-instructions-layout {
	display: block;
	width: 100%;
}

.md-instructions-main {
	display: grid;
	gap: 20px;
}

.md-instruction-section {
	margin-bottom: 0;
	scroll-margin-top: 24px;
}

.md-instruction-section .md-section-head {
	margin-top: 0 !important;
}

.md-instruction-top {
	color: #111827;
	flex: 0 0 auto;
	font-size: 12px;
	text-decoration: underline;
}

.md-instruction-list {
	color: #222222;
	display: grid;
	font-size: 14px;
	gap: 10px;
	line-height: 1.5;
	margin: 0;
	padding-left: 20px;
}

.md-instruction-list li {
	padding-left: 2px;
}

.md-instruction-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

.md-instruction-links .md-action-btn {
	margin: 0;
}

/* =========================================================
   Register
   ========================================================= */

.md-register-plan-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.md-register-plans.md-section {
	border: 1px solid #dddddd;
	margin-bottom: 0;
	padding-bottom: 28px;
}

.md-register-plan {
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	justify-content: space-between;
	min-height: 260px;
	padding: 18px;
}

.md-register-image {
	aspect-ratio: 4 / 3;
	background: #f6f6f6;
	border-radius: 6px;
	margin: -18px -18px 14px -18px;
	overflow: hidden;
}

.md-register-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.md-register-plan h3 {
	color: #111827;
	font-size: 22px;
	line-height: 1.2;
	margin: 0 0 10px 0;
}

.md-register-plan p {
	color: #333333;
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}

.md-register-price {
	color: #111827;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.md-register-price del {
	color: #666666;
	font-weight: 400;
}

.md-register-price ins {
	text-decoration: none;
}

.md-register-plan .md-action-btn {
	margin: 0;
	text-align: center;
}

/* =========================================================
   WooCommerce Registration Surfaces
   ========================================================= */

.woocommerce-shop .site-main,
.single-product .site-main,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-shop main,
.single-product main,
.woocommerce-cart main,
.woocommerce-checkout main {
	font-family: var(
		--e-global-typography-text-font-family,
		Arial,
		Helvetica,
		sans-serif
	);
}

.single-product .product_title,
.woocommerce-shop .woocommerce-products-header__title,
.woocommerce-cart h1,
.woocommerce-checkout h1 {
	color: #111827;
	font-family: var(
		--e-global-typography-primary-font-family,
		var(--e-global-typography-text-font-family, Arial, Helvetica, sans-serif)
	);
	font-weight: 700;
	letter-spacing: 0;
}

.single-product .summary .price,
.woocommerce ul.products li.product .price,
.wc-block-components-product-price,
.wc-block-components-totals-footer-item
	.wc-block-components-totals-item__value {
	color: #111827;
	font-weight: 700;
}

.single-product form.cart .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: #000000 !important;
	border: 1px solid #000000 !important;
	border-radius: 0 !important;
	color: #ffffff !important;
	font-family: inherit !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	padding: 12px 18px !important;
	text-decoration: none !important;
}

.single-product form.cart .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: #000000 !important;
	color: #ffffff !important;
}

.woocommerce-cart .wc-block-cart,
.woocommerce-checkout .wc-block-checkout,
.woocommerce-checkout form.checkout,
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals {
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 8px;
	padding: 20px;
}

.woocommerce-cart .wc-block-cart-items,
.woocommerce-checkout .wc-block-components-order-summary,
.woocommerce-checkout .woocommerce-checkout-review-order {
	border-color: #dddddd !important;
}

.woocommerce-cart .wc-block-components-product-name,
.woocommerce-checkout .wc-block-components-product-name,
.woocommerce-checkout .product-name {
	color: #111827;
	font-weight: 700;
}

.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.marby-reset-password-page input,
.marby-reset-password-page select,
.marby-reset-password-page textarea,
.wc-block-components-text-input input,
.wc-block-components-combobox input,
.wc-block-components-form .wc-block-components-text-input input {
	border: 1px solid #c9c9c9 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: inherit !important;
}

.marby-reset-password-page .woocommerce-ResetPassword {
	margin: 0;
	max-width: none !important;
	width: 100% !important;
}

.marby-reset-password-page .md-login-actions .button {
	margin: 0;
}

.marby-reset-password-page .md-login-panel,
.marby-reset-password-page .md-login-form {
	max-width: 760px !important;
	width: 100% !important;
}

.md-membership-facts,
.md-membership-plan-grid {
	display: grid;
	gap: 14px;
}

.md-membership-facts {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.md-membership-facts div,
.md-membership-plan {
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	padding: 14px;
}

.md-membership-facts span,
.md-membership-plan p {
	color: #333333;
	font-size: 13px;
}

.md-membership-facts strong {
	display: block;
	margin-top: 4px;
}

.md-membership-plan-grid {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.md-membership-plan.is-current {
	border-color: #047858;
}

.md-membership-plan h3 {
	font-size: 18px;
	margin: 0 0 8px;
}

.md-membership-action-form {
	margin: auto 0 0;
	padding-top: 14px;
}

.md-plan-action-button {
	margin: 0;
	margin-top: auto;
}

.md-membership-cancel {
	border: 1px solid #dddddd !important;
	margin-bottom: 0;
	padding-bottom: 18px;
}

.md-membership-cancel .md-section-head {
	margin-bottom: 10px !important;
}

.md-membership-cancel .md-membership-action-form {
	margin: 0;
	padding-top: 10px;
}

.md-membership-cancel .md-action-btn {
	width: auto;
	min-width: 160px;
}

/* =========================================================
   Today
   ========================================================= */

.md-today-intro {
	margin: 0 0 24px 0;
	text-align: center;
}

.md-today-intro p {
	color: #111827;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 26px;
	font-style: italic;
	line-height: 1.35;
	margin: 0 auto;
	max-width: 820px;
}

.md-mai-message,
.md-empty,
.md-post-row p {
	color: #333333;
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
	overflow-wrap: anywhere;
	white-space: normal !important;
	padding-top: 10px;
}

.md-mai-message {
	font-size: 16px;
	line-height: 1.7;
	margin-top: 12px;
	max-width: 920px;
	overflow-wrap: anywhere;
	white-space: normal !important;
	width: 100%;
}

.md-today .md-section-head {
	margin-bottom: 12px;
}

/* =========================================================
   MAI Priorities + Needs Attention
   ========================================================= */

.md-advice-list,
.md-attention-list {
	background: #ffffff;
	border: 1px solid #e3e3e3;
	border-radius: 10px;
	display: grid;
	gap: 0;
	overflow: hidden;
	padding: 16px;
}

.md-advice-item,
.md-attention-item {
	background: #ffffff;
	border: 0;
	border-left: 4px solid #111827;
	border-radius: 8px 0 0 8px;
	min-width: 0;
	padding: 12px 14px;
}

.md-advice-item {
	align-items: start;
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.md-advice-item + .md-advice-item,
.md-attention-item + .md-attention-item {
	margin-top: 12px;
}

.md-advice-item strong,
.md-attention-item strong {
	color: #111827;
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 6px;
}

.md-advice-item p,
.md-attention-item span,
.md-progress-note {
	color: #333333;
	display: block;
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
	overflow-wrap: anywhere;
}

.md-advice-item .md-btn {
	margin: 0;
}

.md-priorities,
.md-attention {
	border-bottom: 0;
	margin-bottom: 28px;
	padding-bottom: 0;
	padding-top: 10px;
}

/* =========================================================
   Month Progress
   ========================================================= */

.md-month-tabs {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 16px;
}

.md-month-tab {
	cursor: pointer;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	padding: 8px 6px;
	text-align: center;
}

.md-month-tab:hover,
.md-month-tab.is-active {
	color: #ffffff !important;
}

.md-progress-list {
	display: grid;
	gap: 0;
}

.md-progress-list div {
	align-items: center;
	border-top: 1px solid #e3e3e3;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 10px 0;
}

.md-progress-list span,
.md-progress-list strong {
	color: #111827;
	font-size: 13px;
}

.md-progress-list span {
	font-weight: 700;
	text-transform: uppercase;
}

.md-progress-list strong {
	font-weight: 700;
}

.md-progress-note {
	border-top: 1px solid #e3e3e3;
	margin-top: 4px;
	padding-top: 12px;
}

/* =========================================================
   Membership Summary
   ========================================================= */

.md-membership-list {
	display: grid;
	gap: 0;
}

.marby-member-dashboard .md-membership-list > div {
	align-items: center;
	border-top: 1px solid #e3e3e3;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(105px, auto) minmax(0, 1fr);
	padding: 10px 0;
}

.md-membership-list span,
.md-membership-list strong {
	color: #111827;
	font-size: 13px;
}

.md-membership-list span {
	font-weight: 700;
	text-transform: uppercase;
}

.md-membership-list strong {
	font-weight: 700;
	text-align: left;
}

@media (max-width: 480px) {
	.marby-member-dashboard .md-membership-list > div {
		gap: 10px;
		grid-template-columns: minmax(95px, auto) minmax(0, 1fr);
	}
}

/* =========================================================
   Quick Links
   ========================================================= */

.md-link-list {
	display: grid;
	gap: 10px;
}

.md-link-list a {
	background: none !important;
	background-image: none !important;
	border: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	color: #000000;
	display: inline-block;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	outline: 0;
	text-decoration: none !important;
}

.md-link-list a::before,
.md-link-list a::after {
	content: none !important;
	display: none !important;
}

.md-link-list a:hover,
.md-link-list a:focus {
	background: none !important;
	background-image: none !important;
	border: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	text-decoration: underline !important;
}

/* =========================================================
   Activity
   ========================================================= */

.md-usage-list {
	display: grid;
	gap: 0;
}

.md-usage-item {
	align-items: baseline;
	border-bottom: 1px solid #e3e3e3;
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 14px 0;
}

.md-usage-item:first-child {
	padding-top: 0;
}

.md-usage-item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.md-usage-item span {
	color: #111827;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}

.md-usage-item strong {
	color: #111827;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: right;
}

.md-usage-item small {
	color: #666666;
	font-size: 12px;
	grid-column: 1 / -1;
}

/* =========================================================
   Upcoming Posts - Calendar List Style
   ========================================================= */

.md-post-list {
	display: grid;
	gap: 24px;
}

.md-post-row {
	background: #ffffff;
	border: 1px solid #e3e3e3;
	border-radius: 10px;
	display: flex;
	gap: 24px;
	min-width: 0;
	overflow: hidden;
	padding: 24px 20px;
}

.md-post-media {
	flex: 0 0 160px;
	width: 160px;
}

.md-post-media img,
.md-post-media div {
	border-radius: 8px;
	display: block;
	height: 160px;
	width: 160px;
}

.md-post-media img {
	object-fit: cover;
}

.md-post-media div {
	align-items: center;
	background: #ffffff;
	border: 1px dashed #d0d0d0;
	color: #666666;
	display: flex;
	font-size: 14px;
	font-weight: 500;
	justify-content: center;
	padding: 16px;
	text-align: center;
}

.md-post-body {
	flex: 1;
	min-width: 0;
	overflow: hidden;
}

.md-post-meta {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding-bottom: 15px;
}

.md-post-meta-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
	padding-left: 20px;
}

.md-post-date {
	color: #444444;
	font-size: 14px;
	font-weight: 700;
}

.md-post-row strong {
	color: #222222;
	display: block;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 12px;
	overflow-wrap: anywhere;
	white-space: normal !important;
}

.md-post-meta-actions .md-btn {
	margin: 0;
}

.md-status {
	background: #f3f3f3;
	border-radius: 20px;
	color: #555555;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 20px;
	white-space: nowrap;
}

.md-status {
	line-height: 1.1;
}

.md-status-scheduled {
	background: #edf8ef;
	color: #2f6b3b;
}

.md-schedule-summary {
	border-top: 1px solid #e4e4e4;
	display: grid;
	gap: 6px;
	margin-top: 14px;
	padding-top: 12px;
}

.md-schedule-summary-row {
	display: grid;
	gap: 4px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.md-schedule-summary-row span,
.md-schedule-summary-row strong {
	color: #333333;
	font-size: 13px;
	line-height: 1.3;
	margin: 0;
}

.md-schedule-summary-row strong {
	font-weight: 700;
	white-space: nowrap;
}

.md-schedule-channel-name,
.md-schedule-channel-platform {
	display: block;
}

.md-usage-list,
.md-analytics-list {
	margin-top: 4px;
}

/* =========================================================
   Social Analytics
   ========================================================= */

.md-analytics-list {
	display: grid;
	gap: 10px;
}

.md-analytics-row {
	align-items: center;
	border: 1px solid #e3e3e3;
	border-radius: 10px;
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr;
	padding: 14px;
}

.md-analytics-row strong {
	color: #111827;
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 4px;
}

.md-analytics-row span {
	color: #333333;
	display: block;
	font-size: 13px;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.md-analytics-row small {
	color: #666666;
	display: block;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 4px;
	text-transform: uppercase;
}

.md-analytics-row > div:not(:first-child) {
	align-items: center;
	border-top: 1px solid #eeeeee;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding-top: 8px;
}

.md-analytics-row > div:not(:first-child) small {
	margin-bottom: 0;
}

.md-analytics-row > div:not(:first-child) span {
	text-align: right;
}

.md-side .md-analytics-row strong {
	font-size: 15px;
	margin-bottom: 3px;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 980px) {
	.md-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	.md-membership-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.md-analytics-row {
		grid-template-columns: 1fr;
	}

	.md-section-head {
		align-items: flex-start;
		display: flex;
		gap: 12px;
	}

	.md-post-row {
		display: block;
		padding: 20px 18px;
	}

	.md-post-media,
	.md-post-media img,
	.md-post-media div {
		height: auto;
		width: 100%;
	}

	.md-post-media {
		margin-bottom: 14px;
	}

	.md-post-media img,
	.md-post-media div {
		aspect-ratio: 1 / 1;
	}

	.md-post-meta {
		display: block;
		padding-bottom: 12px;
	}

	.md-post-meta-actions {
		display: grid;
		gap: 8px;
		grid-template-columns: auto auto;
		justify-content: space-between;
		margin-top: 10px;
		padding-left: 0;
		width: 100%;
	}

	.md-post-date {
		display: block;
	}

	.md-post-row strong {
		font-size: 19px;
	}

	.md-schedule-summary-row {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.marby-member-dashboard {
		padding: 0;
	}

	#marby-member-dashboard {
		padding: 0;
	}

	.marby-member-dashboard .md-hero {
		padding: 22px 16px;
	}

	.marby-member-dashboard .md-hero h1 {
		font-size: 1.8rem;
	}

	.md-instructions-nav {
		border-radius: 0;
		margin-bottom: 16px;
	}

	.md-instructions-nav a {
		flex: 1 1 calc(50% - 8px);
		text-align: center;
	}

	.md-instruction-section .md-section-head {
		display: grid;
	}

	.md-panel {
		padding: 16px;
	}

	.md-main > .md-section,
	.md-main > .md-section:first-child {
		padding-bottom: 20px;
	}

	.md-main > .md-section {
		border-bottom: 1px solid #dddddd;
		margin-bottom: 28px;
		padding-bottom: 28px;
	}

	.md-main > .md-section + .md-section {
		padding-top: 22px;
	}

	.md-main > .md-section:last-child {
		border-bottom: 0;
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.md-main > .md-priorities,
	.md-main > .md-attention {
		border-bottom: 0;
		padding-bottom: 0;
	}

	.md-advice-item {
		grid-template-columns: 1fr;
	}

	.md-inline-link {
		display: inline-block;
		margin-top: 8px;
	}
}

@media (max-width: 480px) {
	.md-membership-facts {
		grid-template-columns: 1fr;
	}
}

.marby-member-dashboard button.md-action-btn,
.marby-member-dashboard .md-action-btn.md-action-btn-secondary,
.marby-member-dashboard .md-action-btn.md-action-btn-primary {
	font-weight: 500 !important;
}

/* =========================================================
   Dashboard Button Token Bridge
   Component shape remains local; all colours come from the
   shared Marby design tokens in marby-master.css.
   ========================================================= */

.marby-member-dashboard .md-btn,
.marby-member-dashboard .md-action-btn,
.marby-member-dashboard .md-month-tab {
	background: var(--marby-color-white, #ffffff) !important;
	background-color: var(--marby-color-white, #ffffff) !important;
	border: 1px solid var(--marby-color-marby-blue, #70aadd) !important;
	border-radius: var(--marby-radius-xs, 4px) !important;
	color: var(--marby-color-marby-blue, #70aadd) !important;
}

.marby-member-dashboard .md-btn:hover,
.marby-member-dashboard .md-btn:focus,
.marby-member-dashboard .md-btn.active,
.marby-member-dashboard .md-btn.is-active,
.marby-member-dashboard .md-btn[aria-pressed="true"],
.marby-member-dashboard .md-btn[aria-selected="true"],
.marby-member-dashboard .md-action-btn:hover,
.marby-member-dashboard .md-action-btn:focus,
.marby-member-dashboard .md-action-btn.active,
.marby-member-dashboard .md-action-btn.is-active,
.marby-member-dashboard .md-month-tab:hover,
.marby-member-dashboard .md-month-tab:focus,
.marby-member-dashboard .md-month-tab.is-active,
.marby-member-dashboard .md-month-tab[aria-selected="true"] {
	background: var(--marby-color-marby-blue, #70aadd) !important;
	background-color: var(--marby-color-marby-blue, #70aadd) !important;
	border-color: var(--marby-color-marby-blue, #70aadd) !important;
	color: var(--marby-color-white, #ffffff) !important;
}

.marby-member-dashboard .md-btn-rev,
.marby-member-dashboard .md-btn-primary-rev {
	background: var(--marby-color-marby-blue, #70aadd) !important;
	background-color: var(--marby-color-marby-blue, #70aadd) !important;
	border-color: var(--marby-color-marby-blue, #70aadd) !important;
	color: var(--marby-color-white, #ffffff) !important;
}

.marby-member-dashboard .md-btn:disabled,
.marby-member-dashboard .md-btn.is-disabled,
.marby-member-dashboard .md-action-btn:disabled,
.marby-member-dashboard .md-action-btn.is-disabled,
.marby-member-dashboard .md-month-tab:disabled,
.marby-member-dashboard .md-month-tab.is-disabled {
	background: var(--marby-color-white, #ffffff) !important;
	background-color: var(--marby-color-white, #ffffff) !important;
	border-color: var(--marby-color-disabled-border, #666666) !important;
	color: var(--marby-color-disabled-text, #9ca3af) !important;
}

/* =========================================================
   Master Style Migration Overrides
   ========================================================= */

.marby-member-dashboard input[type="text"],
.marby-member-dashboard input[type="password"],
.marby-member-dashboard input[type="email"],
.marby-member-dashboard input[type="url"],
.marby-member-dashboard input[type="search"],
.marby-member-dashboard input[type="number"],
.marby-member-dashboard select,
.marby-member-dashboard textarea,
.marby-reset-password-page input,
.marby-reset-password-page select,
.marby-reset-password-page textarea,
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	background: #ffffff !important;
	border-color: var(--marby-color-border-strong, #c9c9c9) !important;
	color: var(--marby-color-marby-blue, #8fb1ce) !important;
}

.marby-member-dashboard input:focus,
.marby-member-dashboard select:focus,
.marby-member-dashboard textarea:focus,
.marby-reset-password-page input:focus,
.marby-reset-password-page select:focus,
.marby-reset-password-page textarea:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
	border-color: #000000 !important;
	box-shadow: 0 0 0 1px #000000 !important;
	outline: none !important;
}

.md-advice-item,
.md-attention-item {
	border-left-color: var(--marby-color-marby-blue, #8fb1ce);
}

.marby-member-dashboard input[type="checkbox"] {
	accent-color: var(--marby-color-marby-blue, #8fb1ce);
}

/* =========================================================
   Membership Polish Overrides
   ========================================================= */

#marby-checkout-welcome-page.marby-login-page {
	max-width: min(1180px, calc(100vw - 48px));
}

#marby-checkout-welcome-page .md-login-panel {
	max-width: none;
}

.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce-checkout .select2-selection--single,
.woocommerce-checkout .wc-block-components-combobox,
.woocommerce-checkout .wc-block-components-address-form__select {
	background: #ffffff !important;
	border-color: var(--marby-color-border-strong, #c9c9c9) !important;
}

.woocommerce-checkout select,
.woocommerce-checkout select option,
.woocommerce-checkout
	.select2-container--default
	.select2-selection--single
	.select2-selection__rendered,
.woocommerce-checkout .select2-selection__rendered,
.woocommerce-checkout .select2-selection__placeholder,
.woocommerce-checkout .wc-block-components-combobox input,
.woocommerce-checkout .wc-block-components-address-form__select {
	color: var(--marby-color-marby-blue, #8fb1ce) !important;
}

.marby-reset-password-page input[type="password"],
.marby-reset-password-page input[type="text"],
.marby-reset-password-page .woocommerce-Input {
	background: #ffffff !important;
	border: 1px solid var(--marby-color-border-strong, #c9c9c9) !important;
	color: var(--marby-color-marby-blue, #8fb1ce) !important;
}

#marby-login-page .md-login-form input[type="text"],
#marby-login-page .md-login-form input[type="password"] {
	background: #ffffff !important;
	border-color: var(--marby-color-border-strong, #c9c9c9) !important;
	color: var(--marby-color-marby-blue, #8fb1ce) !important;
}

#marby-login-page .md-login-form input[type="text"]::placeholder,
#marby-login-page .md-login-form input[type="password"]::placeholder {
	color: var(--marby-color-marby-blue, #8fb1ce) !important;
	opacity: 0.75;
}

.marby-reset-password-page .woocommerce-Button.button,
.marby-reset-password-page button[type="submit"],
.marby-reset-password-page input[type="submit"] {
	background: #ffffff !important;
	background-color: #ffffff !important;
	border: 1px solid #000000 !important;
	border-radius: 4px !important;
	color: #000000 !important;
	display: inline-block !important;
	font-weight: 500 !important;
	width: auto !important;
}

.marby-reset-password-page .woocommerce-Button.button:hover,
.marby-reset-password-page .woocommerce-Button.button:focus,
.marby-reset-password-page button[type="submit"]:hover,
.marby-reset-password-page button[type="submit"]:focus,
.marby-reset-password-page input[type="submit"]:hover,
.marby-reset-password-page input[type="submit"]:focus {
	background: #000000 !important;
	background-color: #000000 !important;
	border-color: #000000 !important;
	color: #ffffff !important;
}

.marby-reset-password-page .woocommerce-Button.button:disabled,
.marby-reset-password-page button[type="submit"]:disabled,
.marby-reset-password-page input[type="submit"]:disabled {
	background: #ffffff !important;
	background-color: #ffffff !important;
	border-color: #000000 !important;
	color: #000000 !important;
	opacity: 0.55;
}

.marby-member-dashboard .md-advice-item,
.marby-member-dashboard .md-attention-item {
	border-left-color: var(--marby-color-marby-blue, #8fb1ce) !important;
}

@media (max-width: 640px) {
	#marby-checkout-welcome-page.marby-login-page {
		max-width: calc(100vw - 32px);
	}
}
/* Marby Member Dashboard - page-specific presentation. */
#marby-member-dashboard.marby-page-shell {
	/* Keep dashboard content to an intentional desktop reading width.
	   Full-bleed stages below retain their viewport-wide backgrounds. */
	--md-dashboard-content-gutter: 10vw;
	width: 80vw;
	max-width: none;
	margin: 0;
}

#marby-member-dashboard .md-dashboard-header {
	display: flex;
	gap: 36px;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 24px;
	padding: 0 8px;
}

#marby-member-dashboard .md-dashboard-header > div {
	max-width: none;
}

#marby-member-dashboard .md-dashboard-header h1 {
	margin: 18px 0 6px;
	/* Master typography owns the dashboard header h1. */
	/* font-size: clamp(42px, 4vw, 68px); */
	/* line-height: .98; */
}

#marby-member-dashboard .md-dashboard-header p {
	max-width: 820px;
	margin: 0;
	color: var(--marby-color-tan);
	/* Master typography owns the dashboard header lead. */
	/* font-size: clamp(20px, 1.75vw, 30px); */
	/* line-height: 1.25; */
}

#marby-member-dashboard .md-dashboard-header .marby-btn-primary {
	flex: 0 0 auto;
	margin-bottom: 2px;
}

#marby-member-dashboard .md-welcome {
	display: grid;
	grid-template-columns: minmax(0, 2.05fr) minmax(290px, 0.95fr);
	margin-bottom: 22px;
	border: 1px solid var(--marby-color-border-light);
	background: var(--marby-color-soft-tan);
}

#marby-member-dashboard .md-welcome-message,
#marby-member-dashboard .md-mai-quote {
	padding: 30px;
}

#marby-member-dashboard .md-welcome-date {
	display: block;
	margin-bottom: 14px;
	color: var(--marby-color-tan);
	/* Master typography owns eyebrow treatment. */
	/* font-size: 12px; */
	/* font-weight: 700; */
	/* letter-spacing: .11em; */
	text-transform: uppercase;
}

#marby-member-dashboard .md-welcome h2 {
	margin: 0 0 12px;
	/* Master typography owns section heading treatment. */
	/* font-size: clamp(25px, 2vw, 34px); */
}

#marby-member-dashboard .md-welcome p {
	margin: 0;
	/* Master typography owns body copy. */
	/* font-size: 17px; */
	/* line-height: 1.55; */
}

#marby-member-dashboard .md-mai-quote {
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-left: 1px solid var(--marby-color-border-light);
	background: var(--marby-color-soft-blue);
}

#marby-member-dashboard .md-mai-badge {
	display: inline-flex;
	width: 52px;
	height: 52px;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	border-radius: 50%;
	background: var(--marby-color-marby-blue);
	color: var(--marby-color-white);
	/* font-weight: 700; â€” inherited from master typography */
}

#marby-member-dashboard .md-layout {
	display: grid;
	grid-template-columns: minmax(0, 2.45fr) minmax(330px, 0.9fr);
	gap: 22px;
	align-items: start;
}

#marby-member-dashboard .md-main {
	display: grid;
	gap: 18px;
	padding: 0;
	border: 0;
	box-shadow: none;
}

#marby-member-dashboard .md-main > .md-section,
#marby-member-dashboard .md-side > .md-section {
	margin: 0 0 18px;
	padding: 0;
	border: 1px solid var(--marby-color-border-light);
	border-radius: 0;
	background: var(--marby-color-white);
	box-shadow: var(--marby-shadow-soft);
}

#marby-member-dashboard .md-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 76px;
	margin: 0;
	padding: 20px 22px;
	border-bottom: 1px solid var(--marby-color-border-light);
}

#marby-member-dashboard .md-section-head h2 {
	margin: 0;
	/* font-size: 24px; â€” master typography owns heading scale */
}

#marby-member-dashboard .md-advice-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	padding: 22px;
}

#marby-member-dashboard .md-advice-item {
	display: flex;
	min-height: 210px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	padding: 20px;
	border: 1px solid var(--marby-color-border-light);
	border-radius: 0;
	background: var(--marby-color-soft-tan);
}

#marby-member-dashboard .md-advice-item:nth-child(2) {
	background: var(--marby-color-soft-blue);
}

#marby-member-dashboard .md-advice-item + .md-advice-item {
	margin-top: 0;
}

#marby-member-dashboard .md-advice-item strong {
	display: block;
	margin-bottom: 7px;
	/* font-size: 17px; â€” master typography owns card headings */
	/* line-height: 1.35; */
}

#marby-member-dashboard .md-advice-item p {
	margin: 0;
	/* line-height: 1.5; â€” inherited from master body typography */
}

#marby-member-dashboard .md-attention-list {
	padding: 18px 22px 24px;
}

#marby-member-dashboard .md-attention-item {
	position: relative;
	display: block;
	padding: 18px 12px 18px 24px;
	border: 0;
	border-bottom: 1px solid var(--marby-color-border-light);
	border-radius: 0;
}

#marby-member-dashboard .md-attention-item:last-child {
	border-bottom: 0;
}

#marby-member-dashboard .md-attention-item::before {
	position: absolute;
	top: 23px;
	left: 2px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--marby-color-tan);
	content: "";
}

#marby-member-dashboard .md-attention-item strong,
#marby-member-dashboard .md-attention-item span {
	display: block;
}

#marby-member-dashboard .md-attention-item span {
	margin-top: 5px;
}

#marby-member-dashboard .md-membership-status {
	padding: 8px 11px;
	background: var(--marby-color-marby-blue);
	color: var(--marby-color-white);
	/* Master typography owns the membership status text. */
	/* font-size: 11px; */
	/* font-weight: 700; */
	/* letter-spacing: .1em; */
	text-transform: uppercase;
}

#marby-member-dashboard .md-membership-list,
#marby-member-dashboard .md-progress-list,
#marby-member-dashboard .md-usage-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
	padding: 22px;
}

#marby-member-dashboard .md-membership-list > div,
#marby-member-dashboard .md-progress-list > div,
#marby-member-dashboard .md-usage-item {
	min-height: 82px;
	padding: 16px;
	border: 1px solid var(--marby-color-border-light);
	border-radius: 0;
	background: var(--marby-color-soft-tan);
}

#marby-member-dashboard .md-membership-list > div,
#marby-member-dashboard .md-progress-list > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0;
}

#marby-member-dashboard .md-membership-list span,
#marby-member-dashboard .md-progress-list span,
#marby-member-dashboard .md-usage-item > span {
	display: block;
	margin-bottom: 8px;
	color: var(--marby-color-tan);
	/* Master typography owns metric labels. */
	/* font-size: 11px; */
	/* font-weight: 700; */
	/* letter-spacing: .1em; */
	text-transform: uppercase;
}

#marby-member-dashboard .md-membership-list strong,
#marby-member-dashboard .md-progress-list strong,
#marby-member-dashboard .md-usage-item strong {
	display: block;
	width: 100%;
	/* Master typography owns metric values. */
	/* font-size: 19px; */
	/* line-height: 1.3; */
	overflow-wrap: break-word;
	text-align: left;
	word-break: normal;
}

#marby-member-dashboard .md-membership-summary > .md-nav-button {
	width: calc(100% - 44px);
	margin: 0 22px 22px;
	border-color: var(--marby-color-marby-blue);
	background: var(--marby-color-marby-blue);
	color: var(--marby-color-white);
}

#marby-member-dashboard .md-link-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	padding: 22px;
}

#marby-member-dashboard .md-link-list a {
	display: flex;
	min-height: 58px;
	align-items: center;
	padding: 13px;
	border: 1px solid var(--marby-color-tan) !important;
	background: var(--marby-color-soft-tan) !important;
	box-shadow: none !important;
	color: var(--marby-color-black);
	/* font-weight: 500; â€” inherited from master typography */
	text-decoration: none !important;
}

#marby-member-dashboard .md-link-list a:hover,
#marby-member-dashboard .md-link-list a:focus {
	border-color: var(--marby-color-marby-blue) !important;
	background: var(--marby-color-soft-blue) !important;
	text-decoration: none !important;
}

#marby-member-dashboard .md-link-list a::before,
#marby-member-dashboard .md-link-list a::after {
	display: none;
	content: none;
}

#marby-member-dashboard .md-month-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 22px 22px 0;
}

#marby-member-dashboard .md-month-tab {
	padding: 9px 13px;
	border: 1px solid var(--marby-color-border-light);
	border-radius: 999px;
	background: var(--marby-color-white);
	color: var(--marby-color-black);
	/* font-size: 12px; â€” master typography owns tab text */
}

#marby-member-dashboard .md-month-tab.is-active {
	border-color: var(--marby-color-soft-blue);
	background: var(--marby-color-soft-blue);
	color: var(--marby-color-ink);
}

#marby-member-dashboard .md-month-panel:not(.is-active) {
	display: none;
}

#marby-member-dashboard .md-usage-item {
	display: block;
}

#marby-member-dashboard .md-usage-bar {
	height: 5px;
	margin-top: 12px;
	background: var(--marby-color-border-light);
}

#marby-member-dashboard .md-usage-bar span {
	display: block;
	height: 100%;
	background: var(--marby-color-marby-blue);
}

#marby-member-dashboard .md-post-list,
#marby-member-dashboard .md-empty {
	margin: 0;
	padding: 22px;
}

#marby-member-dashboard .md-post-row {
	border-radius: 0;
	border-color: var(--marby-color-border-light);
}

/* Master button typography owns dashboard action lettering.
#marby-member-dashboard button,
#marby-member-dashboard .md-action-btn {
	letter-spacing: 1px;
}
*/

@media (max-width: 1180px) {
	#marby-member-dashboard .md-layout {
		grid-template-columns: minmax(0, 1.8fr) minmax(310px, 1fr);
	}

	#marby-member-dashboard .md-advice-list {
		grid-template-columns: 1fr;
	}

	#marby-member-dashboard .md-advice-item {
		min-height: 0;
	}
}

@media (max-width: 960px) {
	#marby-member-dashboard .md-dashboard-header {
		align-items: flex-start;
	}

	#marby-member-dashboard .md-welcome,
	#marby-member-dashboard .md-layout {
		grid-template-columns: 1fr;
	}

	#marby-member-dashboard .md-mai-quote {
		border-top: 1px solid var(--marby-color-border-light);
		border-left: 0;
	}
}

@media (max-width: 640px) {
	#marby-member-dashboard .md-dashboard-header {
		flex-direction: column;
		padding: 0;
	}

	/* Master responsive h1 scale applies at this breakpoint. */

	#marby-member-dashboard .md-dashboard-header .marby-btn-primary {
		width: 100%;
	}

	#marby-member-dashboard .md-welcome-message,
	#marby-member-dashboard .md-mai-quote,
	#marby-member-dashboard .md-section-head,
	#marby-member-dashboard .md-advice-list,
	#marby-member-dashboard .md-attention-list,
	#marby-member-dashboard .md-membership-list,
	#marby-member-dashboard .md-progress-list,
	#marby-member-dashboard .md-usage-list,
	#marby-member-dashboard .md-link-list {
		padding-right: 18px;
		padding-left: 18px;
	}

	#marby-member-dashboard .md-membership-list,
	#marby-member-dashboard .md-progress-list,
	#marby-member-dashboard .md-usage-list,
	#marby-member-dashboard .md-link-list {
		grid-template-columns: 1fr;
	}
}

/* Kim's dashboard refresh: structure and all member actions remain unchanged.
   Fonts, colours, radii, and shadows are owned by marby-master.css. */
#marby-member-dashboard .md-dashboard-header {
	position: relative;
	margin: 0 0 28px;
	padding: 58px 52px 54px;
	overflow: hidden;
	background: linear-gradient(
		180deg,
		var(--marby-color-white) 0%,
		var(--marby-color-white) 72%,
		var(--marby-color-soft-tan) 100%
	);
}

#marby-member-dashboard .md-dashboard-header::before {
	position: absolute;
	top: -178px;
	right: -155px;
	width: 390px;
	height: 390px;
	border: 1px solid
		color-mix(in srgb, var(--marby-color-marby-blue) 28%, transparent);
	border-radius: var(--marby-radius-pill);
	box-shadow: 0 0 0 42px
		color-mix(in srgb, var(--marby-color-marby-blue) 4%, transparent);
	content: "";
}

#marby-member-dashboard .md-dashboard-header > * {
	position: relative;
	z-index: 1;
}

#marby-member-dashboard .md-dashboard-header h1 {
	max-width: none;
	margin: 16px 0 18px;
	/* Master .marby-public-page h1 owns all header type declarations. */
}

#marby-member-dashboard .md-dashboard-header p {
	max-width: none;
	color: var(--marby-color-black);
	/* Master .marby-type-p-body-large owns header lead typography. */
}

#marby-member-dashboard .md-dashboard-header .marby-btn-primary {
	min-height: 50px;
	padding: 0 24px;
	border: 1px solid var(--marby-color-tan);
	border-radius: var(--marby-radius-pill);
	background: var(--marby-color-tan);
	color: var(--marby-color-white);
	/* Master button typography owns font weight. */
	transition:
		transform var(--marby-transition-fast),
		background var(--marby-transition-fast);
}

#marby-member-dashboard .md-dashboard-header .marby-btn-primary:hover,
#marby-member-dashboard .md-dashboard-header .marby-btn-primary:focus {
	border-color: var(--marby-color-black);
	background: var(--marby-color-black);
	color: var(--marby-color-white);
	transform: translateY(-2px);
}

#marby-member-dashboard .md-welcome {
	margin-bottom: 36px;
	border: 0;
	border-radius: var(--marby-radius-xl);
	background: var(--marby-color-white);
	box-shadow: var(--marby-shadow-soft);
	overflow: hidden;
}

#marby-member-dashboard .md-welcome-message,
#marby-member-dashboard .md-mai-quote {
	padding: 36px 38px;
}

#marby-member-dashboard .md-welcome-date,
#marby-member-dashboard .md-section-label {
	color: var(--marby-color-brown);
	/* Master eyebrow typography owns these declarations. */
}

#marby-member-dashboard .md-welcome p {
	color: var(--marby-color-muted);
	/* Master body typography owns intro copy. */
}

#marby-member-dashboard .md-mai-quote {
	border-left-color: color-mix(
		in srgb,
		var(--marby-color-marby-blue) 25%,
		var(--marby-color-border-light)
	);
	background: var(--marby-color-soft-blue);
}

#marby-member-dashboard .md-mai-badge {
	width: 56px;
	height: 56px;
	border: 0;
	background: var(--marby-color-marby-blue);
	/* Master typography owns MAI badge text. */
}

#marby-member-dashboard .md-main > .md-section,
#marby-member-dashboard .md-side > .md-section {
	border-radius: var(--marby-radius-xl);
	box-shadow: var(--marby-shadow-soft);
	overflow: hidden;
}

#marby-member-dashboard .md-section-head {
	min-height: auto;
	padding: 22px 30px 12px;
	border-bottom: 0;
}

#marby-member-dashboard .md-priorities .md-section-head {
	padding-bottom: 8px;
}

#marby-member-dashboard .md-advice-list {
	counter-reset: priority;
	padding: 18px 30px 30px;
	gap: 16px;
}

#marby-member-dashboard .md-advice-item {
	min-height: 250px;
	padding: 26px;
	border-radius: var(--marby-radius-xl);
	background: var(--marby-color-soft-tan);
}

#marby-member-dashboard .md-advice-item::before {
	display: grid;
	width: 42px;
	height: 42px;
	border: 1px solid var(--marby-color-border-light);
	border-radius: var(--marby-radius-pill);
	background: var(--marby-color-white);
	color: var(--marby-color-text);
	/* Master typography owns priority numbering. */
	place-items: center;
	counter-increment: priority;
	content: counter(priority, decimal-leading-zero);
}

#marby-member-dashboard .md-advice-item:nth-child(2) {
	border-color: color-mix(
		in srgb,
		var(--marby-color-marby-blue) 25%,
		var(--marby-color-border-light)
	);
	background: var(--marby-color-soft-blue);
}

/*
#marby-member-dashboard .md-advice-item p {
	color: var(--marby-color-brown);
}
*/
#marby-member-dashboard .md-attention {
	background: var(--marby-color-light-tan);
}

#marby-member-dashboard .md-attention .md-section-head,
#marby-member-dashboard .md-attention .md-attention-list {
	background: var(--marby-color-light-tan);
}

#marby-member-dashboard .md-attention .md-section-head {
	background: var(--marby-color-white);
}

#marby-member-dashboard .md-attention .md-attention-list {
	counter-reset: attention;
	margin: 0 30px 30px;
	padding: 18px 30px;
}

#marby-member-dashboard .md-attention-item {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	gap: 18px;
	padding: 18px 0;
	background: transparent;
}

#marby-member-dashboard .md-attention-item::before {
	position: static;
	display: grid;
	width: 42px;
	height: 42px;
	border: 1px solid var(--marby-color-border-light);
	border-radius: var(--marby-radius-pill);
	background: var(--marby-color-white);
	color: var(--marby-color-tan);
	/* Master typography owns attention numbering. */
	place-items: center;
	counter-increment: attention;
	content: counter(attention, decimal-leading-zero);
}

#marby-member-dashboard .md-attention-action {
	align-self: center;
	color: var(--marby-color-brown);
	text-decoration: none !important;
	white-space: nowrap;
}

#marby-member-dashboard .md-attention-action:hover,
#marby-member-dashboard .md-attention-action:focus {
	color: var(--marby-color-marby-blue);
	text-decoration: underline;
}

#marby-member-dashboard .md-membership-summary {
	border-color: color-mix(
		in srgb,
		var(--marby-color-marby-blue) 25%,
		var(--marby-color-border-light)
	);
	background: var(--marby-color-soft-blue);
}

#marby-member-dashboard .md-membership-summary .md-section-head,
#marby-member-dashboard .md-membership-summary .md-membership-list {
	background: transparent;
}

#marby-member-dashboard .md-membership-list > div,
#marby-member-dashboard .md-progress-list > div,
#marby-member-dashboard .md-usage-item {
	border-radius: var(--marby-radius-lg);
}

#marby-member-dashboard .md-progress-list > div:nth-child(2),
#marby-member-dashboard .md-progress-list > div:nth-child(5) {
	background: var(--marby-color-soft-blue);
}

#marby-member-dashboard .md-link-list a {
	position: relative;
	min-height: 56px;
	border-radius: var(--marby-radius-lg);
	/* Master typography owns quick-link weight. */
}

#marby-member-dashboard .md-link-list a::after {
	display: block;
	margin-left: auto;
	color: var(--marby-color-tan);
	/* Master typography owns quick-link affordance text. */
	content: "â†’";
}

#marby-member-dashboard .md-month-tab {
	border-color: var(--marby-color-border-light);
	border-radius: var(--marby-radius-pill);
	/* Master typography owns tab weight. */
}

#marby-member-dashboard .md-month-tab.is-active {
	border-color: var(--marby-color-marby-blue);
	background: var(--marby-color-marby-blue);
	color: var(--marby-color-white);
}

#marby-member-dashboard .md-usage-bar,
#marby-member-dashboard .md-usage-bar span {
	border-radius: var(--marby-radius-pill);
}

#marby-member-dashboard .md-post-row {
	border-radius: var(--marby-radius-xl);
}

@media (max-width: 960px) {
	#marby-member-dashboard .md-dashboard-header {
		padding: 42px 34px;
	}
}

@media (max-width: 640px) {
	#marby-member-dashboard .md-dashboard-header {
		padding: 36px 20px;
	}

	#marby-member-dashboard .md-dashboard-header::before {
		right: -235px;
	}

	#marby-member-dashboard .md-welcome-message,
	#marby-member-dashboard .md-mai-quote,
	#marby-member-dashboard .md-section-head,
	#marby-member-dashboard .md-advice-list,
	#marby-member-dashboard .md-attention .md-attention-list {
		padding-right: 20px;
		padding-left: 20px;
	}

	#marby-member-dashboard .md-advice-item {
		min-height: 0;
	}
}

/* Revision: the full-bleed dashboard stages use the shared page gutter and
   the master type classes applied by MemberDashboardPage.php. */
#marby-member-dashboard .md-dashboard-header.marby-full-bleed {
	padding-right: var(--md-dashboard-content-gutter);
	padding-left: var(--md-dashboard-content-gutter);
}

#marby-member-dashboard .md-welcome.marby-full-bleed {
	position: relative;
	margin-bottom: 36px;
	border-radius: 0;
	background: var(--marby-color-black);
	box-shadow: none;
}

#marby-member-dashboard .md-welcome.marby-full-bleed::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: radial-gradient(color-mix(in srgb, var(--marby-color-white) 18%, transparent) 0.8px, transparent 0.8px);
	background-size: 28px 28px;
	content: "";
	opacity: 0.2;
}

#marby-member-dashboard .md-welcome.marby-full-bleed::after {
	position: absolute;
	top: 50%;
	left: -130px;
	z-index: 0;
	width: 280px;
	height: 280px;
	border: 1px solid color-mix(in srgb, var(--marby-color-marby-blue) 30%, transparent);
	border-radius: var(--marby-radius-pill);
	box-shadow: 0 0 0 36px color-mix(in srgb, var(--marby-color-marby-blue) 4%, transparent);
	content: "";
	transform: translateY(-50%);
}

#marby-member-dashboard .md-welcome .md-welcome-message {
	position: relative;
	z-index: 1;
	padding-top: 76px;
	padding-bottom: 76px;
	padding-left: var(--md-dashboard-content-gutter);
	background: var(--marby-color-black);
	color: var(--marby-color-white);
}

#marby-member-dashboard .md-welcome .md-welcome-message h2,
#marby-member-dashboard .md-welcome .md-welcome-message p {
	color: var(--marby-color-white);
}

#marby-member-dashboard .md-welcome-date {
	color: var(--marby-color-marby-blue);
}

#marby-member-dashboard .md-welcome .md-mai-quote {
	position: relative;
	z-index: 1;
	align-self: center;
	padding-top: 74px;
	padding-bottom: 74px;
	margin-right: var(--md-dashboard-content-gutter);
	border: 1px solid
		color-mix(in srgb, var(--marby-color-white) 22%, transparent);
	border-radius: var(--marby-radius-xl);
	background: color-mix(in srgb, var(--marby-color-white) 8%, transparent);
	color: var(--marby-color-white);
}

#marby-member-dashboard .md-welcome .md-mai-quote p {
	color: var(--marby-color-white);
}

#marby-member-dashboard .md-priorities .md-advice-list {
	margin: 0 30px 30px;
	padding: 18px;
	border: 1px solid var(--marby-color-border-light);
	border-radius: var(--marby-radius-xl);
	background: var(--marby-color-white);
}

#marby-member-dashboard .md-priorities .md-advice-item {
	border-left: 0 !important;
}

#marby-member-dashboard .md-membership-status {
	padding: 0;
	background: transparent;
	color: var(--marby-color-marby-blue);
}

#marby-member-dashboard .md-membership-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

#marby-member-dashboard .md-membership-list > div {
	min-height: 104px;
	background: var(--marby-color-white);
}

#marby-member-dashboard .md-link-list a {
	border-color: var(--marby-color-marby-blue) !important;
	background: var(--marby-color-white) !important;
}

#marby-member-dashboard .md-usage-list {
	grid-template-columns: 1fr;
}

#marby-member-dashboard .md-analytics-list {
	padding: 0 22px 22px;
}

#marby-member-dashboard .md-dashboard-faq {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin: 0 0 18px;
	padding: 0;
	background: transparent;
}

#marby-member-dashboard .md-dashboard-faq-intro,
#marby-member-dashboard .md-dashboard-faq-list {
	padding: 32px;
	border: 1px solid var(--marby-color-border-light);
	border-radius: var(--marby-radius-xl);
	background: var(--marby-color-white);
	box-shadow: var(--marby-shadow-soft);
}

#marby-member-dashboard .md-section-head h3,
#marby-member-dashboard .md-dashboard-faq h3 {
	margin: 0;
}

#marby-member-dashboard .md-section-head .marby-eyebrow,
#marby-member-dashboard .md-dashboard-faq .marby-eyebrow {
	margin: 0 0 6px var(--marby-padding-left-medium);
}

#marby-member-dashboard .md-dashboard-faq p {
	color: var(--marby-color-muted);
}

#marby-member-dashboard .md-dashboard-faq details {
	border-bottom: 1px solid var(--marby-color-border-light);
}

#marby-member-dashboard .md-dashboard-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 0;
	cursor: pointer;
	color: var(--marby-color-text);
	/* font-weight: var(--marby-font-weight-medium); â€” inherited from master typography */
	list-style: none;
}

#marby-member-dashboard .md-dashboard-faq summary::-webkit-details-marker {
	display: none;
}

#marby-member-dashboard .md-dashboard-faq summary::after {
	color: var(--marby-color-marby-blue);
	content: "+";
}

#marby-member-dashboard .md-dashboard-faq details[open] summary::after {
	content: "âˆ’";
}

#marby-member-dashboard .md-dashboard-faq details p {
	margin: 0;
	padding: 0 0 16px;
}

@media (max-width: 960px) {
	#marby-member-dashboard.marby-page-shell {
		width: calc(100vw - (2 * var(--marby-page-gutter)));
	}

	#marby-member-dashboard .md-dashboard-header.marby-full-bleed {
		padding-right: var(--marby-page-gutter);
		padding-left: var(--marby-page-gutter);
	}

	#marby-member-dashboard .md-welcome .md-welcome-message {
		padding-left: var(--marby-page-gutter);
		padding-right: var(--marby-page-gutter);
	}

	#marby-member-dashboard .md-welcome .md-mai-quote {
		margin: 0 var(--marby-page-gutter) var(--marby-page-gutter);
	}

}

@media (max-width: 640px) {
	#marby-member-dashboard .md-dashboard-header.marby-full-bleed,
	#marby-member-dashboard .md-welcome .md-welcome-message,
	#marby-member-dashboard .md-dashboard-faq {
		padding-right: var(--marby-page-gutter);
		padding-left: var(--marby-page-gutter);
	}

	#marby-member-dashboard .md-priorities .md-advice-list {
		margin-right: 20px;
		margin-left: 20px;
	}

	#marby-member-dashboard .md-membership-list {
		grid-template-columns: 1fr;
	}

	#marby-member-dashboard .md-attention-item {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	#marby-member-dashboard .md-attention-action {
		grid-column: 2;
		justify-self: start;
	}
}
