/* ==========================================================================
   Charaka Wellness & Diet Planner — custom theme
   Palette: warm cream / sage green / turmeric amber / terracotta
   Fonts: Lora (headings) + Nunito Sans (body) — loaded via Google Fonts
   All selectors scoped under .cwp-wrap to avoid theme conflicts.
   ========================================================================== */

.cwp-wrap {
	--cwp-bg: #FBF7EF;
	--cwp-bg-alt: #F4EEDF;
	--cwp-surface: #FFFFFF;
	--cwp-border: #E7DDC9;
	--cwp-text: #3E332A;
	--cwp-text-muted: #948572;
	--cwp-text-faint: #B6AA98;

	--cwp-sage: #5C7A52;
	--cwp-sage-dark: #3E5638;
	--cwp-sage-light: #E6EEE0;

	--cwp-amber: #D6962F;
	--cwp-amber-dark: #8F5E12;
	--cwp-amber-light: #FBEEDA;

	--cwp-terracotta: #BD6248;
	--cwp-terracotta-dark: #7A3A28;
	--cwp-terracotta-light: #F8E6DF;

	--cwp-red: #BD4438;
	--cwp-red-dark: #7C2A21;
	--cwp-red-light: #FBE7E3;

	--cwp-shadow: 0 1px 2px rgba(62, 51, 42, .05), 0 2px 8px rgba(62, 51, 42, .04);
}

.cwp-wrap, .cwp-wrap * {
	box-sizing: border-box;
}

.cwp-wrap {
	font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--cwp-text);
	font-size: 14px;
	max-width: 840px;
	margin: 0 auto;
	padding: 16px 12px 56px;
	line-height: 1.55;
	background: var(--cwp-bg);
}

.cwp-wrap h1, .cwp-wrap h2, .cwp-wrap h3 {
	font-family: 'Lora', Georgia, serif;
	font-weight: 600;
	color: var(--cwp-sage-dark);
}

/* ---- Logo badge ---- */
.cwp-logo-badge {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--cwp-sage);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	flex-shrink: 0;
	box-shadow: var(--cwp-shadow);
}

/* ---- Cards ---- */
.cwp-card {
	background: var(--cwp-surface);
	border: 1px solid var(--cwp-border);
	border-radius: 14px;
	padding: 18px 20px;
	margin-bottom: 14px;
	box-shadow: var(--cwp-shadow);
}

.cwp-card-title {
	font-family: 'Lora', Georgia, serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--cwp-sage-dark);
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* ---- App header ---- */
.cwp-app-header {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 18px;
	padding: 16px 20px;
	background: linear-gradient(135deg, var(--cwp-sage) 0%, var(--cwp-sage-dark) 100%);
	border: none;
	border-radius: 14px;
	color: #fff;
	box-shadow: var(--cwp-shadow);
}
.cwp-app-header-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(255,255,255,.18);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	flex-shrink: 0;
}
.cwp-app-header-text { flex: 1; min-width: 170px; }
.cwp-app-header-text h1 {
	font-family: 'Lora', Georgia, serif;
	font-size: 17px;
	font-weight: 600;
	color: #fff;
	margin: 0;
}
.cwp-app-header-text p {
	font-size: 11px;
	color: rgba(255,255,255,.8);
	margin: 3px 0 0;
}
.cwp-user-menu {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}
.cwp-username {
	font-size: 12px;
	font-weight: 700;
	color: #fff;
}
.cwp-btn-ghost {
	padding: 7px 14px;
	border-radius: 8px;
	background: rgba(255,255,255,.12);
	border: 1.5px solid rgba(255,255,255,.35);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	min-height: 36px;
	transition: all .15s;
}
.cwp-btn-ghost:hover { background: rgba(255,255,255,.22); }

/* Ghost button used outside the header (e.g. on status cards) needs dark text */
.cwp-status-card .cwp-btn-ghost {
	background: var(--cwp-bg-alt);
	border: 1.5px solid var(--cwp-border);
	color: var(--cwp-text);
}
.cwp-status-card .cwp-btn-ghost:hover { background: var(--cwp-sage-light); }

/* ---- Tabs ---- */
.cwp-tabs {
	display: flex;
	gap: 0;
	background: var(--cwp-bg-alt);
	border: 1px solid var(--cwp-border);
	border-radius: 12px;
	padding: 4px;
	margin-bottom: 18px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.cwp-tab {
	flex: 1 0 auto;
	min-width: 90px;
	padding: 10px 12px;
	text-align: center;
	font-size: 12px;
	font-weight: 700;
	border-radius: 9px;
	cursor: pointer;
	color: var(--cwp-text-muted);
	transition: all .15s;
	white-space: nowrap;
	user-select: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.cwp-tab.cwp-on {
	background: var(--cwp-surface);
	color: var(--cwp-sage-dark);
	box-shadow: var(--cwp-shadow);
}
.cwp-sec { display: none; }
.cwp-sec.cwp-on { display: block; }

.cwp-count-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--cwp-amber-light);
	color: var(--cwp-amber-dark);
	font-size: 10px;
	font-weight: 800;
}
.cwp-tab.cwp-on .cwp-count-badge {
	background: var(--cwp-sage-light);
	color: var(--cwp-sage-dark);
}

/* ---- Family member list ---- */
.cwp-member-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 13px;
	border: 1px solid var(--cwp-border);
	border-radius: 12px;
	margin-bottom: 8px;
	cursor: pointer;
	transition: all .15s;
	background: var(--cwp-surface);
}
.cwp-member-card:hover { border-color: var(--cwp-sage); }
.cwp-member-card.cwp-on {
	background: var(--cwp-sage-light);
	border-color: var(--cwp-sage);
}
.cwp-m-av {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 800;
	flex-shrink: 0;
}
.cwp-m-name { font-size: 13px; font-weight: 700; }
.cwp-m-role { font-size: 11px; color: var(--cwp-text-muted); }
.cwp-m-diet {
	font-size: 10px;
	padding: 3px 9px;
	border-radius: 20px;
	margin-left: auto;
	font-weight: 700;
	white-space: nowrap;
}
.cwp-m-chevron { color: var(--cwp-text-faint); font-size: 14px; flex-shrink: 0; }
.cwp-m-remove {
	flex-shrink: 0;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 1px solid var(--cwp-red-light);
	background: var(--cwp-red-light);
	color: var(--cwp-red-dark);
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.cwp-add-row {
	display: flex;
	gap: 8px;
	margin-top: 12px;
	flex-wrap: wrap;
}
.cwp-add-row input,
.cwp-add-row select {
	flex: 1 1 120px;
}

.cwp-save-status {
	font-size: 11px;
	font-weight: 700;
	color: var(--cwp-sage);
	margin-top: 8px;
	min-height: 14px;
	transition: opacity .3s;
}

/* ---- Diet picker ---- */
.cwp-diet-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 10px;
	margin-bottom: 16px;
}
.cwp-dc {
	border: 2px solid var(--cwp-border);
	border-radius: 14px;
	padding: 14px 10px;
	text-align: center;
	cursor: pointer;
	transition: all .15s;
	background: var(--cwp-surface);
}
.cwp-dc:hover { border-color: var(--cwp-sage); }
.cwp-dc.cwp-sel { border-color: var(--cwp-sage); background: var(--cwp-sage-light); }
.cwp-dc-ico { font-size: 28px; margin-bottom: 6px; }
.cwp-dc-name { font-size: 13px; font-weight: 700; color: var(--cwp-text); font-family: 'Lora', Georgia, serif; }
.cwp-dc-sub { font-size: 10px; color: var(--cwp-text-muted); margin-top: 3px; line-height: 1.4; }
.cwp-dc-badge {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 20px;
	font-size: 10px;
	font-weight: 700;
	margin-top: 6px;
	background: var(--cwp-sage-light);
	color: var(--cwp-sage-dark);
}

.cwp-detail-box { border-radius: 12px; padding: 14px; margin-top: 10px; }
.cwp-allows-excl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.cwp-ae-item { font-size: 11px; line-height: 1.6; display: flex; gap: 5px; align-items: flex-start; margin-bottom: 3px; }

/* ---- Pills ---- */
.cwp-pillrow { margin-bottom: 14px; }
.cwp-pill {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
	border: 1.5px solid var(--cwp-border);
	background: var(--cwp-surface);
	color: var(--cwp-text-muted);
	transition: all .15s;
	margin: 2px;
	user-select: none;
}
.cwp-pill.cwp-on { color: #fff; border-color: transparent; }
.cwp-season-pill {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
	border: 1.5px solid var(--cwp-border);
	background: var(--cwp-surface);
	color: var(--cwp-text-muted);
	margin: 2px;
	transition: all .15s;
	user-select: none;
}

/* ---- Food grid ---- */
.cwp-food-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 8px;
	margin: .4rem 0;
}
.cwp-fi { padding: 10px 11px; border-radius: 10px; border: 1px solid var(--cwp-border); background: var(--cwp-bg-alt); }
.cwp-fi-n { font-size: 12px; font-weight: 700; display: flex; align-items: center; gap: 5px; }
.cwp-fi-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.cwp-fi-w { font-size: 10px; color: var(--cwp-text-muted); margin-top: 3px; line-height: 1.4; }
.cwp-fi-t { font-size: 9px; padding: 2px 7px; border-radius: 5px; margin-top: 4px; display: inline-block; font-weight: 700; }

/* ---- Meal plan ---- */
.cwp-meal-row {
	display: flex;
	gap: 10px;
	padding: 11px 13px;
	border: 1px solid var(--cwp-border);
	border-radius: 12px;
	margin-bottom: 6px;
	background: var(--cwp-surface);
}
.cwp-mt { font-size: 11px; font-weight: 800; color: var(--cwp-sage); min-width: 60px; padding-top: 2px; flex-shrink: 0; }
.cwp-mn { font-size: 13px; font-weight: 700; font-family: 'Lora', Georgia, serif; }
.cwp-md { font-size: 11px; color: var(--cwp-text-muted); margin-top: 3px; line-height: 1.5; }

/* ---- Nutrient gaps ---- */
.cwp-gap-item { padding: 11px 13px; border-radius: 12px; margin-bottom: 6px; border: 1px solid; }
.cwp-gi-t { font-size: 12px; font-weight: 700; font-family: 'Lora', Georgia, serif; }
.cwp-gi-sev { font-size: 9px; padding: 2px 7px; border-radius: 5px; margin-left: 6px; font-weight: 700; color: #fff; }
.cwp-gi-d { font-size: 11px; margin-top: 3px; line-height: 1.5; }
.cwp-gi-f { font-size: 11px; font-weight: 700; margin-top: 5px; padding: 5px 8px; border-radius: 7px; background: rgba(255,255,255,.55); display: inline-block; }

/* ---- Shloka / info / warning boxes ---- */
.cwp-shloka {
	background: var(--cwp-amber-light);
	border-left: 3px solid var(--cwp-amber);
	border-radius: 0 10px 10px 0;
	padding: 11px 15px;
	font-size: 11px;
	color: var(--cwp-amber-dark);
	line-height: 1.7;
	margin: .5rem 0;
	font-style: italic;
	font-family: 'Lora', Georgia, serif;
}
.cwp-ref {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 6px;
	font-size: 9px;
	background: #fff;
	color: var(--cwp-amber-dark);
	border: 1px solid var(--cwp-amber);
	margin-left: 4px;
	font-style: normal;
	font-weight: 700;
	font-family: 'Nunito Sans', sans-serif;
}
.cwp-info-box {
	border-left: 3px solid var(--cwp-sage);
	padding: 11px 15px;
	background: var(--cwp-sage-light);
	border-radius: 0 10px 10px 0;
	font-size: 11px;
	color: var(--cwp-sage-dark);
	line-height: 1.6;
	margin: .5rem 0;
}
.cwp-warn-box {
	border-left: 3px solid var(--cwp-red);
	padding: 11px 15px;
	background: var(--cwp-red-light);
	border-radius: 0 10px 10px 0;
	font-size: 11px;
	color: var(--cwp-red-dark);
	line-height: 1.6;
	margin: .5rem 0;
}
.cwp-slbl {
	font-size: 10px;
	font-weight: 800;
	color: var(--cwp-text-faint);
	text-transform: uppercase;
	letter-spacing: .8px;
	margin: .75rem 0 .4rem;
}

/* ---- Charaka classification ---- */
.cwp-charaka-cat { padding: 13px 15px; border-radius: 12px; margin-bottom: 8px; }

/* ---- Inputs & buttons ---- */
.cwp-wrap input[type="text"],
.cwp-wrap input[type="email"],
.cwp-wrap input[type="password"],
.cwp-wrap select {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 13px;
	padding: 10px 12px;
	border: 1.5px solid var(--cwp-border);
	border-radius: 9px;
	background: var(--cwp-surface);
	color: var(--cwp-text);
	outline: none;
	min-height: 42px;
	width: 100%;
}
.cwp-wrap input:focus, .cwp-wrap select:focus { border-color: var(--cwp-sage); }

.cwp-btn-primary {
	font-family: 'Nunito Sans', sans-serif;
	padding: 11px 18px;
	border-radius: 9px;
	background: var(--cwp-sage);
	color: #fff;
	border: none;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
	min-height: 44px;
	transition: opacity .15s;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
}
.cwp-btn-primary:hover { opacity: .9; }
.cwp-btn-primary:disabled { opacity: .6; cursor: default; }
.cwp-btn-sm { width: auto; min-height: 40px; padding: 8px 16px; }

.cwp-btn-reject {
	background: var(--cwp-red-light);
	color: var(--cwp-red-dark);
	border: 1.5px solid var(--cwp-red-light);
}
.cwp-btn-outline {
	background: transparent;
	color: var(--cwp-sage-dark);
	border: 1.5px solid var(--cwp-border);
}

.cwp-spinner {
	display: none;
	width: 14px;
	height: 14px;
	border: 2px solid rgba(255,255,255,.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: cwp-spin .6s linear infinite;
}
.cwp-btn-reject .cwp-spinner, .cwp-btn-outline .cwp-spinner {
	border: 2px solid rgba(189,68,56,.25);
	border-top-color: var(--cwp-red-dark);
}
.cwp-btn-primary.cwp-loading .cwp-spinner { display: inline-block; }
.cwp-btn-primary.cwp-loading .cwp-btn-label { opacity: .7; }
@keyframes cwp-spin { to { transform: rotate(360deg); } }

/* ==========================================================================
   Auth screen
   ========================================================================== */
.cwp-auth-card {
	background: var(--cwp-surface);
	border: 1px solid var(--cwp-border);
	border-radius: 16px;
	padding: 30px 26px;
	max-width: 430px;
	margin: 24px auto;
	box-shadow: var(--cwp-shadow);
}
.cwp-auth-header { text-align: center; margin-bottom: 22px; }
.cwp-auth-icon {
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: var(--cwp-sage);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	margin: 0 auto 14px;
	box-shadow: var(--cwp-shadow);
}
.cwp-auth-header h1 {
	font-size: 19px;
	font-weight: 600;
	color: var(--cwp-sage-dark);
	margin: 0 0 6px;
}
.cwp-auth-header p {
	font-size: 12px;
	color: var(--cwp-text-muted);
	line-height: 1.5;
	margin: 0;
}

.cwp-auth-tabs {
	display: flex;
	background: var(--cwp-bg-alt);
	border: 1px solid var(--cwp-border);
	border-radius: 11px;
	padding: 4px;
	margin-bottom: 18px;
}
.cwp-auth-tab {
	flex: 1;
	text-align: center;
	padding: 10px;
	font-size: 12px;
	font-weight: 800;
	border-radius: 8px;
	cursor: pointer;
	color: var(--cwp-text-muted);
	transition: all .15s;
	user-select: none;
}
.cwp-auth-tab.cwp-on {
	background: var(--cwp-surface);
	color: var(--cwp-sage-dark);
	box-shadow: var(--cwp-shadow);
}

.cwp-auth-form { display: none; flex-direction: column; gap: 4px; }
.cwp-auth-form.cwp-on { display: flex; }
.cwp-auth-form label {
	font-size: 11px;
	font-weight: 800;
	color: var(--cwp-text-muted);
	margin-top: 10px;
	margin-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: .4px;
}
.cwp-field-hint { font-size: 10px; color: var(--cwp-text-faint); margin-top: 3px; }
.cwp-auth-form .cwp-btn-primary { margin-top: 18px; }
.cwp-forgot-link {
	display: block;
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	color: var(--cwp-sage);
	margin-top: 14px;
	text-decoration: none;
}
.cwp-forgot-link:hover { text-decoration: underline; }

.cwp-register-note {
	font-size: 11px;
	color: var(--cwp-amber-dark);
	background: var(--cwp-amber-light);
	border-radius: 9px;
	padding: 9px 12px;
	margin-top: 14px;
	line-height: 1.5;
}

.cwp-auth-msg {
	font-size: 12px;
	font-weight: 600;
	padding: 11px 13px;
	border-radius: 9px;
	margin-bottom: 14px;
	line-height: 1.5;
}
.cwp-auth-msg.cwp-error { background: var(--cwp-red-light); color: var(--cwp-red-dark); border: 1px solid var(--cwp-red-light); }
.cwp-auth-msg.cwp-success { background: var(--cwp-sage-light); color: var(--cwp-sage-dark); border: 1px solid var(--cwp-sage-light); }

/* ==========================================================================
   Status screens (pending approval / rejected / admin-denied)
   ========================================================================== */
.cwp-status-card {
	background: var(--cwp-surface);
	border: 1px solid var(--cwp-border);
	border-radius: 16px;
	padding: 36px 26px;
	max-width: 460px;
	margin: 32px auto;
	text-align: center;
	box-shadow: var(--cwp-shadow);
}
.cwp-status-icon {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	margin: 0 auto 16px;
}
.cwp-status-pending .cwp-status-icon { background: var(--cwp-amber-light); }
.cwp-status-rejected .cwp-status-icon { background: var(--cwp-red-light); }
.cwp-status-card h1 {
	font-size: 18px;
	margin: 0 0 10px;
}
.cwp-status-card p {
	font-size: 13px;
	color: var(--cwp-text-muted);
	line-height: 1.6;
	margin: 0 0 8px;
}
.cwp-status-sub { font-size: 12px; }
.cwp-status-actions {
	display: flex;
	gap: 10px;
	justify-content: center;
	margin-top: 22px;
	flex-wrap: wrap;
}
.cwp-status-actions .cwp-btn-primary,
.cwp-status-actions .cwp-btn-ghost { width: auto; }

/* ==========================================================================
   Wellness Admin dashboard
   ========================================================================== */
.cwp-admin-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid var(--cwp-border);
	border-radius: 12px;
	margin-bottom: 8px;
	background: var(--cwp-surface);
	flex-wrap: wrap;
}
.cwp-admin-row-main { flex: 1; min-width: 160px; }
.cwp-admin-row-name { font-size: 13px; font-weight: 700; font-family: 'Lora', Georgia, serif; }
.cwp-admin-row-meta { font-size: 11px; color: var(--cwp-text-muted); margin-top: 2px; line-height: 1.5; }
.cwp-admin-row-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.cwp-admin-row-actions .cwp-btn-primary,
.cwp-admin-row-actions .cwp-btn-reject,
.cwp-admin-row-actions .cwp-btn-outline {
	width: auto;
	padding: 8px 14px;
	min-height: 38px;
	font-size: 12px;
}
.cwp-admin-empty {
	text-align: center;
	padding: 28px 16px;
	color: var(--cwp-text-muted);
	font-size: 12px;
}
.cwp-admin-empty-icon { font-size: 28px; margin-bottom: 8px; }

/* ==========================================================================
   Mobile responsiveness
   ========================================================================== */
@media (max-width: 640px) {
	.cwp-wrap { padding: 10px 8px 44px; font-size: 13px; }
	.cwp-card { padding: 14px 15px; border-radius: 12px; }
	.cwp-app-header { padding: 14px; }
	.cwp-app-header-text h1 { font-size: 15px; }
	.cwp-app-header-text p { font-size: 10px; }
	.cwp-user-menu { width: 100%; justify-content: space-between; margin-left: 0; order: 3; }
	.cwp-diet-grid { grid-template-columns: repeat(2, 1fr); }
	.cwp-food-grid { grid-template-columns: repeat(2, 1fr); }
	.cwp-allows-excl { grid-template-columns: 1fr; }
	.cwp-tab { font-size: 11px; padding: 9px 8px; min-width: 78px; }
	.cwp-meal-row { flex-direction: column; gap: 4px; }
	.cwp-mt {
		font-size: 10px;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: .5px;
	}
	.cwp-auth-card, .cwp-status-card { padding: 24px 18px; margin: 12px auto; border-radius: 14px; }
	.cwp-admin-row { flex-direction: column; align-items: stretch; }
	.cwp-admin-row-actions { width: 100%; }
	.cwp-admin-row-actions .cwp-btn-primary,
	.cwp-admin-row-actions .cwp-btn-reject,
	.cwp-admin-row-actions .cwp-btn-outline { flex: 1; }
}

@media (max-width: 420px) {
	.cwp-diet-grid { grid-template-columns: 1fr 1fr; }
	.cwp-food-grid { grid-template-columns: 1fr; }
	.cwp-add-row input, .cwp-add-row select, .cwp-add-row button { flex: 1 1 100%; }
}


/* ==========================================================================
   LANDING PAGE — Hero, Principles, Doshas, How-it-works
   Contrast fixes + aggressive theme chrome suppression
   ========================================================================== */

/* ------------------------------------------------------------------
   1. NUKE THEME CHROME: page title, header gap, footer, nav padding
   ------------------------------------------------------------------ */

/* Hide the big "Wellness Planner" page title rendered by the theme */
.entry-title,
.page-title,
.wp-block-post-title,
h1.entry-title,
h2.entry-title,
.page-header .page-title,
.wp-block-group .wp-block-post-title {
	display: none !important;
}

/* Remove empty space above content from theme page header */
.entry-header,
.page-header,
.wp-block-post-content > .wp-block-post-title,
.wp-site-blocks .wp-block-post-content .entry-header {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Remove top padding/margin the theme adds to the content area */
.entry-content,
.wp-block-post-content,
.page .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Hide ALL footer content — Twenty Twenty-Five uses template parts */
footer,
.site-footer,
.site-info,
.wp-block-template-part[class*="footer"],
[class*="footer-inner"],
.wp-site-blocks > footer,
footer.wp-block-template-part {
	display: none !important;
	height: 0 !important;
}

/* Body background */
body {
	background: #FBF7EF !important;
	color: #3E332A !important;
}

/* ------------------------------------------------------------------
   2. LANDING WRAPPER
   ------------------------------------------------------------------ */
.cwp-landing-wrap {
	max-width: 680px;
	padding: 0 0 40px;
	background: transparent;
}

/* ------------------------------------------------------------------
   3. HERO
   ------------------------------------------------------------------ */
.cwp-hero {
	background: linear-gradient(150deg, #2E4228 0%, #3E5638 40%, #5C7A52 80%, #6B8F5E 100%);
	border-radius: 20px;
	padding: 44px 32px 36px;
	text-align: center;
	color: #fff;
	position: relative;
	overflow: hidden;
	margin-bottom: 0;
}
.cwp-hero::before {
	content: '';
	position: absolute;
	top: -60px; right: -60px;
	width: 200px; height: 200px;
	border-radius: 50%;
	background: rgba(255,255,255,.05);
	pointer-events: none;
}
.cwp-hero::after {
	content: '';
	position: absolute;
	bottom: -50px; left: -50px;
	width: 180px; height: 180px;
	border-radius: 50%;
	background: rgba(255,255,255,.04);
	pointer-events: none;
}

.cwp-hero-badge {
	display: inline-block;
	background: rgba(255,255,255,.15);
	border: 1px solid rgba(255,255,255,.3);
	border-radius: 999px;
	padding: 5px 16px;
	font-size: 10px;
	font-weight: 800;
	color: rgba(255,255,255,.95);
	letter-spacing: .8px;
	text-transform: uppercase;
	margin-bottom: 20px;
}

.cwp-hero-title {
	font-family: 'Lora', Georgia, serif !important;
	font-size: 30px !important;
	font-weight: 700 !important;
	color: #fff !important;
	line-height: 1.22 !important;
	margin: 0 0 16px !important;
}

.cwp-hero-subtitle {
	font-size: 14px;
	color: rgba(255,255,255,.85);
	line-height: 1.7;
	max-width: 460px;
	margin: 0 auto 26px;
}

/* Stats row */
.cwp-hero-stats {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 14px;
	padding: 14px 20px;
	margin: 0 auto 24px;
	max-width: 360px;
}
.cwp-stat { text-align: center; flex: 1; }
.cwp-stat-num {
	display: block;
	font-family: 'Lora', Georgia, serif;
	font-size: 26px;
	font-weight: 700;
	color: #fff;
	line-height: 1;
}
.cwp-stat-label {
	display: block;
	font-size: 10px;
	color: rgba(255,255,255,.7);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-top: 4px;
}
.cwp-stat-div {
	width: 1px;
	height: 34px;
	background: rgba(255,255,255,.25);
}

/* CTA buttons */
.cwp-hero-cta-row {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}
.cwp-hero-btn-primary {
	background: #D6962F;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 800;
	padding: 12px 24px;
	border-radius: 10px;
	display: inline-block;
	transition: background .15s;
}
.cwp-hero-btn-primary:hover { background: #B87A20; }
.cwp-hero-btn-ghost {
	background: rgba(255,255,255,.12);
	border: 1.5px solid rgba(255,255,255,.35);
	color: #fff !important;
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 700;
	padding: 12px 20px;
	border-radius: 10px;
	display: inline-block;
	transition: background .15s;
}
.cwp-hero-btn-ghost:hover { background: rgba(255,255,255,.2); }

/* ------------------------------------------------------------------
   4. FEATURES STRIP
   ------------------------------------------------------------------ */
.cwp-features-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 18px 4px;
	border-bottom: 1px solid #E7DDC9;
	margin-bottom: 4px;
}
.cwp-feature-pill {
	background: #EFF6EB;
	border: 1px solid #C8DCC0;
	color: #3E5638;
	font-size: 11px;
	font-weight: 700;
	border-radius: 999px;
	padding: 6px 14px;
	white-space: nowrap;
}

/* ------------------------------------------------------------------
   5. SHARED SECTION STYLES
   ------------------------------------------------------------------ */
.cwp-section-label {
	font-size: 11px;
	font-weight: 800;
	color: #5C7A52;
	text-transform: uppercase;
	letter-spacing: .8px;
	margin-bottom: 10px;
}
.cwp-section-title {
	font-family: 'Lora', Georgia, serif !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	color: #2E4228 !important;
	line-height: 1.25 !important;
	margin: 0 0 12px !important;
}
.cwp-section-subtitle {
	font-size: 13px;
	color: #4A4037;
	line-height: 1.7;
	max-width: 560px;
	margin-bottom: 24px;
}

/* ------------------------------------------------------------------
   6. CHARAKA PRINCIPLES
   ------------------------------------------------------------------ */
.cwp-principles {
	padding: 32px 0 24px;
	border-bottom: 1px solid #E7DDC9;
}

.cwp-principle-cards {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.cwp-principle-card {
	border-radius: 16px;
	padding: 22px 22px 18px;
	border: 1px solid transparent;
}
.cwp-principle-gold {
	background: #FFFBF0;
	border-color: #EDD98A;
}
.cwp-principle-sage {
	background: #F2F8EE;
	border-color: #B8D4AC;
}
.cwp-principle-terra {
	background: #FDF3EF;
	border-color: #E8C0B0;
}

.cwp-principle-icon {
	font-size: 26px;
	margin-bottom: 6px;
}
.cwp-principle-ref {
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .8px;
	color: #7A6D62;
	margin-bottom: 6px;
}
.cwp-principle-card h3 {
	font-family: 'Lora', Georgia, serif !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	color: #2E3A28 !important;
	margin: 0 0 10px !important;
}
.cwp-principle-card p {
	font-size: 13px;
	color: #4A4037;
	line-height: 1.7;
	margin: 0 0 12px;
}
.cwp-principle-card em { color: #5C7A52; font-style: italic; }
.cwp-principle-tip {
	font-size: 12px;
	background: rgba(255,255,255,.7);
	border-radius: 9px;
	padding: 10px 13px;
	color: #3E4E38;
	line-height: 1.55;
	border-left: 3px solid #5C7A52;
}

/* ------------------------------------------------------------------
   7. DOSHA SECTION
   ------------------------------------------------------------------ */
.cwp-dosha-section {
	padding: 32px 0 24px;
	border-bottom: 1px solid #E7DDC9;
}

.cwp-dosha-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 12px;
	margin-bottom: 16px;
}

.cwp-dosha-card {
	border-radius: 14px;
	padding: 18px 16px;
	text-align: center;
	border: 1px solid transparent;
}
.cwp-dosha-vata  { background: #EEF4FB; border-color: #B0CCE8; }
.cwp-dosha-pitta { background: #FEF6EE; border-color: #F0C998; }
.cwp-dosha-kapha { background: #EEF6F0; border-color: #A8D4B0; }

.cwp-dosha-symbol { font-size: 28px; margin-bottom: 8px; }
.cwp-dosha-card h3 {
	font-family: 'Lora', Georgia, serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #2E3A28 !important;
	margin: 0 0 4px !important;
}
.cwp-dosha-elements {
	font-size: 10px;
	font-weight: 700;
	color: #7A6D62;
	text-transform: uppercase;
	letter-spacing: .6px;
	margin-bottom: 10px;
}
.cwp-dosha-card p {
	font-size: 11px;
	color: #4A4037;
	line-height: 1.6;
	margin: 0 0 10px;
	text-align: left;
}
.cwp-dosha-foods {
	font-size: 10.5px;
	color: #3E5638;
	background: rgba(255,255,255,.6);
	border-radius: 8px;
	padding: 8px 10px;
	text-align: left;
	line-height: 1.5;
}
.cwp-dosha-foods strong { color: #2E4228; }

.cwp-dosha-note {
	background: #F2F8EE;
	border: 1px solid #B8D4AC;
	border-radius: 12px;
	padding: 14px 16px;
	font-size: 12px;
	color: #3E5638;
	line-height: 1.6;
	text-align: center;
	font-weight: 600;
}

/* ------------------------------------------------------------------
   8. HOW IT WORKS
   ------------------------------------------------------------------ */
.cwp-how-section {
	padding: 32px 0 24px;
	border-bottom: 1px solid #E7DDC9;
}

.cwp-steps {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.cwp-step {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	background: #fff;
	border: 1px solid #E7DDC9;
	border-radius: 14px;
	padding: 16px 18px;
}
.cwp-step-num {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: linear-gradient(135deg, #5C7A52, #3E5638);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-family: 'Lora', Georgia, serif;
}
.cwp-step-body h4 {
	font-size: 14px;
	font-weight: 700;
	color: #2E4228;
	margin: 0 0 5px;
}
.cwp-step-body p {
	font-size: 12px;
	color: #4A4037;
	line-height: 1.6;
	margin: 0;
}

/* ------------------------------------------------------------------
   9. AUTH INVITE + AUTH CARD
   ------------------------------------------------------------------ */
.cwp-auth-section-label {
	padding: 28px 0 12px;
	text-align: center;
}
.cwp-auth-invite {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: linear-gradient(135deg, #5C7A52, #3E5638);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	padding: 11px 22px;
	border-radius: 999px;
}
.cwp-auth-invite-icon { font-size: 16px; }

.cwp-auth-card {
	margin-top: 0;
	border: 1px solid #D6C8B0;
	box-shadow: 0 4px 24px rgba(62,51,42,.1);
}
.cwp-auth-header h2 {
	font-family: 'Lora', Georgia, serif;
	font-size: 17px;
	font-weight: 600;
	color: #3E5638;
	margin: 0 0 6px;
}
.cwp-auth-header p { color: #4A4037 !important; font-size: 12px; }
.cwp-auth-form label { color: #4A4037 !important; }
.cwp-field-hint { color: #7A6D62 !important; }
.cwp-forgot-link { color: #3E5638 !important; }

.cwp-btn-cta { font-size: 14px !important; }

/* ------------------------------------------------------------------
   10. TRUST STRIP + LANDING FOOTER
   ------------------------------------------------------------------ */
.cwp-trust-strip {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 20px;
	padding: 20px 12px 12px;
	border-top: 1px solid #E7DDC9;
	margin-top: 20px;
}
.cwp-trust-item {
	font-size: 11px;
	font-weight: 700;
	color: #4A4037;
	white-space: nowrap;
}

.cwp-landing-footer {
	text-align: center;
	padding: 6px 0 4px;
	font-size: 11px;
	color: #948572;
}

/* ------------------------------------------------------------------
   11. MOBILE RESPONSIVE
   ------------------------------------------------------------------ */
@media (max-width: 560px) {
	.cwp-hero { padding: 30px 18px 28px; border-radius: 12px; }
	.cwp-hero-title { font-size: 22px !important; }
	.cwp-hero-stats { max-width: 100%; }
	.cwp-dosha-grid { grid-template-columns: 1fr; }
	.cwp-section-title { font-size: 19px !important; }
	.cwp-hero-cta-row { flex-direction: column; align-items: stretch; }
	.cwp-hero-btn-primary, .cwp-hero-btn-ghost { text-align: center; }
}

/* ==========================================================================
   CONTRAST OVERRIDES — all muted/faint text lifted for readability
   #948572 → #5A4A3A  |  #B6AA98 → #7A6A5A
   ========================================================================== */

/* Re-declare the variables at a higher specificity so they win */
.cwp-wrap {
	--cwp-text-muted: #5A4A3A;   /* was #948572 — lifted 3 stops */
	--cwp-text-faint: #7A6A5A;   /* was #B6AA98 — lifted 3 stops */
}

/* Inactive nav tabs — biggest offender in the screenshot */
.cwp-tab {
	color: #5A4A3A !important;
	font-weight: 800 !important;
}
.cwp-tab.cwp-on {
	color: var(--cwp-sage-dark) !important;
}

/* Card section headings */
.cwp-card-title {
	color: #2E3A28 !important;
	font-size: 15px !important;
}

/* Member role (e.g. "Self") */
.cwp-m-role {
	color: #5A4A3A !important;
	font-weight: 600 !important;
}

/* Diet card sub-labels */
.cwp-dc-sub {
	color: #5A4A3A !important;
}

/* Food item weight/unit labels */
.cwp-fi-w {
	color: #5A4A3A !important;
}

/* Meal description rows */
.cwp-md {
	color: #5A4A3A !important;
}

/* Any generic muted span inside cards */
.cwp-card [class*="-muted"],
.cwp-card [class*="-sub"],
.cwp-card [class*="-meta"],
.cwp-card small {
	color: #5A4A3A !important;
}

/* Input placeholders */
.cwp-wrap input::placeholder,
.cwp-wrap textarea::placeholder,
.cwp-wrap select {
	color: #7A6A5A !important;
}

/* Select dropdowns — option text */
.cwp-wrap select {
	color: #3E332A !important;
}

/* Admin table meta rows */
.cwp-admin-row-meta {
	color: #5A4A3A !important;
}

/* Charaka view / info text */
.cwp-wrap [class*="-label"]:not(.cwp-section-label):not(.cwp-auth-section-label):not(.cwp-hero-badge) {
	color: #5A4A3A !important;
}

/* Nutrient gap rows — any secondary text */
.cwp-wrap [class*="gap"] small,
.cwp-wrap [class*="nutrient"] small {
	color: #5A4A3A !important;
}

/* Field hints in forms */
.cwp-field-hint {
	color: #7A6A5A !important;
	font-size: 11px !important;
}

/* Auth form labels */
.cwp-auth-form label {
	color: #3E332A !important;
	font-size: 12px !important;
}

/* Forgot link */
.cwp-forgot-link {
	color: #3E5638 !important;
}

/* Register note */
.cwp-register-note {
	color: #5A3A10 !important;
}

/* Status / pending screens */
.cwp-status-card p,
.cwp-status-card li {
	color: #4A3F35 !important;
}

/* ==========================================================================
   DAILY LOG TAB
   ========================================================================== */

/* ---- Top row: member pills + date picker ---- */
.cwp-log-toprow {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 6px;
}
.cwp-log-member-row { flex: 1; min-width: 180px; }
.cwp-log-date-row   { flex-shrink: 0; }
.cwp-log-date-input {
	border: 1.5px solid var(--cwp-border);
	border-radius: 9px;
	padding: 8px 12px;
	font-size: 13px;
	color: #3E332A;
	background: #fff;
	font-family: inherit;
	cursor: pointer;
}
.cwp-log-date-input:focus { outline: none; border-color: var(--cwp-sage); }

/* ---- Log sections ---- */
.cwp-log-section {
	border-top: 1px solid var(--cwp-border);
	padding: 16px 0 10px;
}
.cwp-log-section-title {
	font-size: 13px;
	font-weight: 800;
	color: #2E4228;
	margin-bottom: 12px;
}

/* ---- Two-column rows inside sections ---- */
.cwp-log-row2 {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.cwp-log-field {
	display: flex;
	flex-direction: column;
	gap: 5px;
	flex: 0 0 auto;
}
.cwp-log-field-grow { flex: 1; min-width: 140px; }
.cwp-log-field label {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .4px;
	color: #4A4037 !important;
}

/* Derived read-only cell */
.cwp-log-field-derived { flex: 0 0 auto; min-width: 100px; }
.cwp-log-derived {
	font-size: 13px;
	font-weight: 700;
	color: #3E5638;
	padding: 8px 12px;
	background: var(--cwp-sage-light);
	border-radius: 9px;
	min-height: 36px;
	display: flex;
	align-items: center;
}

/* Time inputs */
.cwp-log-time {
	border: 1.5px solid var(--cwp-border);
	border-radius: 9px;
	padding: 8px 12px;
	font-size: 13px;
	color: #3E332A;
	font-family: inherit;
	background: #fff;
}
.cwp-log-time:focus { outline: none; border-color: var(--cwp-sage); }

/* ---- Water section ---- */
.cwp-water-row {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.cwp-water-btns {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.cwp-water-btn {
	padding: 8px 16px;
	border-radius: 9px;
	border: 1.5px solid var(--cwp-border);
	background: #fff;
	font-size: 12px;
	font-weight: 800;
	color: #3E5638;
	cursor: pointer;
	transition: background .12s, border-color .12s;
}
.cwp-water-btn:hover { background: var(--cwp-sage-light); border-color: var(--cwp-sage); }

.cwp-water-display { display: flex; flex-direction: column; gap: 6px; }
#cwp-water-bar-wrap {
	height: 10px;
	background: var(--cwp-bg-alt);
	border-radius: 999px;
	overflow: hidden;
	border: 1px solid var(--cwp-border);
}
#cwp-water-bar {
	height: 100%;
	width: 0;
	border-radius: 999px;
	background: var(--cwp-sage);
	transition: width .3s ease, background .3s;
}
#cwp-water-val {
	font-size: 13px;
	font-weight: 700;
	color: #3E332A;
}
.cwp-water-goal { font-size: 11px; font-weight: 600; color: #5A4A3A; }

/* ---- Dinacharya checklist ---- */
.cwp-check-grid {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.cwp-check-item {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 13px;
	color: #3E332A;
	font-weight: 600;
	user-select: none;
}
.cwp-check-item .cwp-ck { display: none; }
.cwp-ck-box {
	width: 20px;
	height: 20px;
	border-radius: 6px;
	border: 2px solid var(--cwp-border);
	background: #fff;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .12s, border-color .12s;
}
.cwp-ck:checked + .cwp-ck-box {
	background: var(--cwp-sage);
	border-color: var(--cwp-sage-dark);
}
.cwp-ck:checked + .cwp-ck-box::after {
	content: '✓';
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

/* ---- Energy buttons ---- */
.cwp-energy-row {
	display: flex;
	gap: 8px;
}
.cwp-energy-btn {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	border: 2px solid var(--cwp-border);
	background: #fff;
	font-size: 14px;
	font-weight: 800;
	color: #7A6A5A;
	cursor: pointer;
	transition: all .12s;
}
.cwp-energy-btn.cwp-on {
	background: var(--cwp-amber);
	border-color: var(--cwp-amber-dark);
	color: #fff;
}

/* ---- Notes textarea ---- */
#cwp-log-notes {
	width: 100%;
	border: 1.5px solid var(--cwp-border);
	border-radius: 10px;
	padding: 10px 12px;
	font-size: 13px;
	font-family: inherit;
	color: #3E332A;
	background: #fff;
	resize: vertical;
	line-height: 1.5;
}
#cwp-log-notes:focus { outline: none; border-color: var(--cwp-sage); }

/* ---- Save row ---- */
.cwp-log-save-row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-top: 16px;
	border-top: 1px solid var(--cwp-border);
	margin-top: 10px;
}

/* ---- History ---- */
.cwp-log-hist-row {
	padding: 12px 0;
	border-bottom: 1px solid var(--cwp-border);
}
.cwp-log-hist-row:last-child { border-bottom: none; }
.cwp-log-hist-row.cwp-log-hist-empty {
	display: flex;
	align-items: center;
	gap: 12px;
	opacity: .6;
}
.cwp-log-hist-date {
	font-size: 11px;
	font-weight: 800;
	color: #5A4A3A;
	text-transform: uppercase;
	letter-spacing: .5px;
	display: block;
	margin-bottom: 7px;
}
.cwp-log-hist-none {
	font-size: 12px;
	color: #948572;
	font-style: italic;
}
.cwp-log-hist-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.cwp-log-hist-pill {
	font-size: 11px;
	font-weight: 700;
	background: var(--cwp-bg-alt);
	border: 1px solid var(--cwp-border);
	border-radius: 999px;
	padding: 3px 10px;
	color: #3E332A;
	white-space: nowrap;
}
.cwp-log-hist-notes {
	font-size: 12px;
	color: #5A4A3A;
	margin-top: 7px;
	font-style: italic;
	line-height: 1.5;
}
.cwp-log-empty {
	font-size: 13px;
	color: #948572;
	text-align: center;
	padding: 14px 0;
}

/* ---- Mobile ---- */
@media (max-width: 480px) {
	.cwp-log-toprow { flex-direction: column; }
	.cwp-log-row2   { flex-direction: column; }
	.cwp-energy-btn { width: 38px; height: 38px; }
}

/* ==========================================================================
   SLEEP SEGMENTS
   ========================================================================== */

.cwp-log-section-title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 4px;
}
.cwp-sleep-total-badge {
	font-size: 12px;
	font-weight: 800;
	color: #5A4A3A;
	background: var(--cwp-bg-alt);
	border: 1px solid var(--cwp-border);
	border-radius: 999px;
	padding: 4px 14px;
	white-space: nowrap;
}
.cwp-sleep-total-badge.cwp-seg-dur-good {
	background: var(--cwp-sage-light);
	color: var(--cwp-sage-dark);
	border-color: #B8D4AC;
}
.cwp-sleep-total-badge.cwp-seg-dur-warn {
	background: var(--cwp-amber-light);
	color: var(--cwp-amber-dark);
	border-color: #EDD98A;
}

.cwp-log-section-hint {
	font-size: 11px;
	color: #7A6A5A;
	margin: 0 0 14px;
	line-height: 1.5;
}

/* Individual segment card */
.cwp-sleep-seg {
	background: #fff;
	border: 1.5px solid var(--cwp-border);
	border-radius: 12px;
	padding: 12px 14px;
	margin-bottom: 10px;
	transition: border-color .15s;
}
.cwp-sleep-seg:focus-within { border-color: var(--cwp-sage); }

.cwp-seg-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}
.cwp-seg-num {
	font-size: 10px;
	font-weight: 800;
	color: #948572;
	text-transform: uppercase;
	letter-spacing: .5px;
	flex-shrink: 0;
}
.cwp-seg-label {
	flex: 1;
	border: 1.5px solid var(--cwp-border);
	border-radius: 8px;
	padding: 6px 10px;
	font-size: 12px;
	font-weight: 700;
	color: #3E332A;
	background: var(--cwp-bg-alt);
	font-family: inherit;
	cursor: pointer;
}
.cwp-seg-label:focus { outline: none; border-color: var(--cwp-sage); }

.cwp-seg-remove {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 1.5px solid #E7C0B0;
	background: #FDF3EF;
	color: #BD6248;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
	transition: background .12s;
}
.cwp-seg-remove:hover { background: #FCDDD5; }

/* Time row inside segment */
.cwp-seg-times {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	flex-wrap: wrap;
}
.cwp-seg-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.cwp-seg-field label {
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .4px;
	color: #5A4A3A !important;
}
.cwp-seg-field-dur { flex: 1; min-width: 90px; }
.cwp-seg-arrow {
	font-size: 16px;
	color: #B6AA98;
	padding-bottom: 8px;
	flex-shrink: 0;
}

/* Duration chip colours */
.cwp-seg-dur-good { background: var(--cwp-sage-light) !important; color: var(--cwp-sage-dark) !important; }
.cwp-seg-dur-warn { background: var(--cwp-amber-light) !important; color: var(--cwp-amber-dark) !important; }

/* Add segment button */
.cwp-log-add-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1.5px dashed var(--cwp-sage);
	background: transparent;
	color: var(--cwp-sage-dark);
	font-size: 12px;
	font-weight: 800;
	padding: 8px 16px;
	border-radius: 9px;
	cursor: pointer;
	margin-top: 2px;
	transition: background .12s;
}
.cwp-log-add-btn:hover { background: var(--cwp-sage-light); }

@media (max-width: 480px) {
	.cwp-seg-times { flex-direction: column; gap: 8px; }
	.cwp-seg-arrow { display: none; }
}

/* ==========================================================================
   MEMBER DETAILS PANEL (DOB + WEIGHT)
   ========================================================================== */

.cwp-member-details-card {
	border-left: 3px solid var(--cwp-sage);
}
.cwp-card-title-sub {
	font-weight: 600;
	color: var(--cwp-sage);
	font-size: 13px;
	margin-left: 4px;
}
.cwp-mdetails-hint {
	font-size: 12px;
	color: #5A4A3A;
	line-height: 1.6;
	margin: 0 0 16px;
	padding: 10px 12px;
	background: var(--cwp-sage-light);
	border-radius: 9px;
}
.cwp-mdetails-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.cwp-mdetail-field {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.cwp-mdetail-field label {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .4px;
	color: #4A4037;
}
.cwp-mdetail-input {
	border: 1.5px solid var(--cwp-border);
	border-radius: 9px;
	padding: 9px 12px;
	font-size: 13px;
	color: #3E332A;
	background: #fff;
	font-family: inherit;
}
.cwp-mdetail-input:focus { outline: none; border-color: var(--cwp-sage); }
.cwp-mdetail-derived {
	font-size: 11px;
	color: #3E5638;
	font-weight: 600;
	line-height: 1.5;
	min-height: 18px;
}

/* ==========================================================================
   WEIGHT LOG IN DAILY LOG
   ========================================================================== */

.cwp-weight-up { background: #FEF3EE !important; color: #BD4438 !important; }
.cwp-weight-dn { background: #EFF6EB !important; color: #3E5638 !important; }

.cwp-weight-trend {
	margin-top: 12px;
	padding: 10px 12px;
	background: var(--cwp-bg-alt);
	border-radius: 10px;
	border: 1px solid var(--cwp-border);
}
.cwp-weight-trend:empty { display: none; }
.cwp-trend-label {
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #5A4A3A;
	margin-bottom: 8px;
}
.cwp-trend-pills {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}
.cwp-trend-pill {
	text-align: center;
	font-size: 10px;
	color: #3E332A;
	background: #fff;
	border: 1px solid var(--cwp-border);
	border-radius: 8px;
	padding: 4px 8px;
	line-height: 1.4;
}
.cwp-trend-pill strong { display: block; font-size: 12px; }
.cwp-trend-arrow { color: #B6AA98; font-size: 12px; }

/* ==========================================================================
   LOG HISTORY — ALL ENTRIES + SHOW MORE
   ========================================================================== */

.cwp-log-showmore {
	display: block;
	width: 100%;
	margin-top: 12px;
	padding: 10px;
	border: 1.5px dashed var(--cwp-border);
	border-radius: 9px;
	background: transparent;
	color: #5A4A3A;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	transition: background .12s;
}
.cwp-log-showmore:hover { background: var(--cwp-bg-alt); }

@media (max-width: 480px) {
	.cwp-mdetails-grid { grid-template-columns: 1fr; }
}
