/* _content/GutFeel.UI/Components/Admin/DataAnalyticsSection.razor.rz.scp.css */
/* Data Analytics Dashboard Styles */

.analytics-dashboard[b-p1v4k83v8u] {
	display: grid;
	gap: 1.5rem;
	position: relative;
}

/* Mobile Sticky Bar */
.analytics-sticky-bar[b-p1v4k83v8u] {
	display: none; /* Hidden on desktop */
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--surface);
	border-bottom: 1px solid var(--border);
	padding: 0.75rem 1rem;
	gap: 0.75rem;
	align-items: center;
	justify-content: space-between;
}

.user-date-selector[b-p1v4k83v8u] {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
}

.user-select[b-p1v4k83v8u] {
	width: 100%;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	background: var(--surface-muted);
	font-size: 0.95rem;
}

.date-display[b-p1v4k83v8u] {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	justify-content: space-between;
}

	.date-display span[b-p1v4k83v8u] {
		font-weight: 600;
		font-size: 0.95rem;
	}

.nav-btn[b-p1v4k83v8u] {
	padding: 0.35rem 0.75rem !important;
	font-size: 1.25rem;
	min-width: 40px;
	min-height: 40px;
}

.filter-toggle-btn[b-p1v4k83v8u] {
	padding: 0.5rem !important;
	min-width: 44px;
	min-height: 44px;
}

.filter-icon[b-p1v4k83v8u] {
	font-size: 1.25rem;
}

/* Two-Column Layout */
.analytics-grid[b-p1v4k83v8u] {
	display: grid;
	gap: 1.5rem;
}

/* Left Sidebar */
.analytics-sidebar[b-p1v4k83v8u] {
	display: grid;
	gap: 1.5rem;
	height: fit-content;
}

.calendar-section[b-p1v4k83v8u] {
	background: var(--surface-muted);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 1rem;
	display: grid;
	gap: 0.75rem;
}

.calendar-header[b-p1v4k83v8u] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 0.5rem;
}

.calendar-title[b-p1v4k83v8u] {
	font-weight: 600;
	font-size: 1rem;
}

.calendar-grid[b-p1v4k83v8u] {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 0.4rem;
}

.calendar-heading[b-p1v4k83v8u] {
	text-align: center;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--text-secondary);
	text-transform: uppercase;
	padding: 0.25rem 0;
}

.calendar-day[b-p1v4k83v8u] {
	position: relative;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	background: var(--surface);
	padding: 0.5rem 0;
	text-align: center;
	color: var(--text-primary);
	transition: all 0.2s ease;
	min-height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
}

	.calendar-day span[b-p1v4k83v8u] {
		font-weight: 600;
		font-size: 0.9rem;
	}

	.calendar-day.has-data[b-p1v4k83v8u] {
		border-color: var(--accent);
		background: linear-gradient(to bottom, var(--surface), var(--surface));
		background-color: var(--surface);
		opacity: 0.95;
	}

	.calendar-day.selected[b-p1v4k83v8u] {
		background: var(--accent);
		border-color: var(--accent);
		color: white;
	}

	.calendar-day.out-month[b-p1v4k83v8u] {
		opacity: 0.4;
	}

	.calendar-day:hover:not(:disabled)[b-p1v4k83v8u] {
		border-color: var(--accent);
		transform: scale(1.05);
	}

/* User Facts Panel */
.user-facts-panel[b-p1v4k83v8u] {
	background: var(--surface-muted);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 1rem 1.25rem;
	display: grid;
	gap: 0.75rem;
}

	.user-facts-panel h4[b-p1v4k83v8u] {
		margin: 0;
		font-size: 1rem;
		padding-bottom: 0.5rem;
		border-bottom: 1px solid var(--border);
	}

.facts-list[b-p1v4k83v8u] {
	display: grid;
	gap: 0.5rem;
}

.fact-row[b-p1v4k83v8u] {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 0.35rem 0;
	border-bottom: 1px solid rgba(128, 128, 128, 0.5);
}

	.fact-row:last-child[b-p1v4k83v8u] {
		border-bottom: none;
	}

	.fact-row dt[b-p1v4k83v8u] {
		font-size: 0.9rem;
		color: var(--text-secondary);
		font-weight: 500;
	}

	.fact-row dd[b-p1v4k83v8u] {
		margin: 0;
		font-weight: 600;
		font-size: 0.95rem;
	}

/* Info Cards Container */
.info-cards-container[b-p1v4k83v8u] {
	display: grid;
	gap: 0.75rem;
}

.info-card[b-p1v4k83v8u] {
	background: var(--surface-muted);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 1rem 1.25rem;
	display: grid;
	gap: 0.5rem;
}

	.info-card h5[b-p1v4k83v8u] {
		margin: 0;
		font-size: 0.85rem;
		color: var(--text-secondary);
		text-transform: uppercase;
		letter-spacing: 0.5px;
	}

.info-value[b-p1v4k83v8u] {
	margin: 0;
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--accent);
	line-height: 1;
}

.info-desc[b-p1v4k83v8u] {
	margin: 0;
	font-size: 0.85rem;
	color: var(--text-secondary);
}

/* Main Content Area */
.analytics-main[b-p1v4k83v8u] {
	display: grid;
	gap: 1.5rem;
}

.daily-summary-title[b-p1v4k83v8u] {
	margin: 0;
	font-size: 1.25rem;
}

/* Chart Sections */
.chart-section[b-p1v4k83v8u] {
	background: var(--surface-muted);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 1.25rem;
	display: grid;
	gap: 1rem;
}

.chart-header[b-p1v4k83v8u] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

	.chart-header h4[b-p1v4k83v8u] {
		margin: 0;
		font-size: 1rem;
	}

.chart-controls[b-p1v4k83v8u] {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.metric-select[b-p1v4k83v8u],
.resolution-select[b-p1v4k83v8u] {
	padding: 0.4rem 0.75rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	background: var(--surface);
	font-size: 0.9rem;
	min-width: 120px;
}

.chart-container[b-p1v4k83v8u] {
	min-height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.chart-placeholder[b-p1v4k83v8u] {
	width: 100%;
}

	.chart-placeholder svg[b-p1v4k83v8u] {
		width: 100%;
		height: 260px;
		background: var(--surface);
		border-radius: var(--radius-md);
		border: 1px solid var(--border);
	}

	.chart-placeholder polyline[b-p1v4k83v8u] {
		fill: none;
		stroke: var(--accent);
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

.chart-legend[b-p1v4k83v8u] {
	display: flex;
	justify-content: space-between;
	padding: 0.75rem 0.5rem 0;
	font-size: 0.85rem;
	color: var(--text-secondary);
}

.chart-skeleton[b-p1v4k83v8u] {
	width: 100%;
	height: 260px;
	background: linear-gradient( 90deg, var(--surface-muted) 25%, color-mix(in srgb, var(--surface-muted) 90%, white) 50%, var(--surface-muted) 75% );
	background-size: 200% 100%;
	animation: skeleton-loading-b-p1v4k83v8u 1.5s infinite;
	border-radius: var(--radius-md);
}

.chart-empty[b-p1v4k83v8u] {
	padding: 3rem 1rem;
	text-align: center;
}

@keyframes skeleton-loading-b-p1v4k83v8u {
	0% {
		background-position: 200% 0;
	}

	100% {
		background-position: -200% 0;
	}
}

/* Food Intake Section */
.food-intake-section[b-p1v4k83v8u] {
	background: var(--surface-muted);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 1.25rem;
	display: grid;
	gap: 1rem;
}

	.food-intake-section h4[b-p1v4k83v8u] {
		margin: 0;
		font-size: 1rem;
	}

.food-intake-table-wrapper[b-p1v4k83v8u] {
	overflow-x: auto;
	border-radius: var(--radius-md);
	border: 1px solid var(--border);
}

.food-intake-table[b-p1v4k83v8u] {
	width: 100%;
	border-collapse: collapse;
	background: var(--surface);
}

	.food-intake-table thead[b-p1v4k83v8u] {
		background: var(--surface-muted);
		border-bottom: 2px solid var(--border);
	}

	.food-intake-table th[b-p1v4k83v8u] {
		padding: 0.75rem 1rem;
		text-align: left;
		font-weight: 600;
		font-size: 0.9rem;
		color: var(--text-secondary);
	}

	.food-intake-table td[b-p1v4k83v8u] {
		padding: 0.85rem 1rem;
		border-bottom: 1px solid var(--border);
	}

	.food-intake-table tbody tr:last-child td[b-p1v4k83v8u] {
		border-bottom: none;
	}

	.food-intake-table tbody tr:hover[b-p1v4k83v8u] {
		background: var(--surface-muted);
	}

.time-cell[b-p1v4k83v8u] {
	width: 140px;
}

.time[b-p1v4k83v8u] {
	display: block;
	font-weight: 600;
	font-size: 0.95rem;
}

.meal-type[b-p1v4k83v8u] {
	display: block;
	font-size: 0.8rem;
	color: var(--text-secondary);
	text-transform: capitalize;
}

.food-cell[b-p1v4k83v8u] {
	min-width: 200px;
}

	.food-cell strong[b-p1v4k83v8u] {
		display: block;
		margin-bottom: 0.25rem;
	}

.macros[b-p1v4k83v8u] {
	font-size: 0.85rem;
	color: var(--text-secondary);
}

.notes-cell[b-p1v4k83v8u] {
	color: var(--text-secondary);
	font-size: 0.9rem;
}

/* Mobile Filter Bottom Sheet */
.filter-bottom-sheet[b-p1v4k83v8u] {
	display: none; /* Shown only on mobile when open */
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--surface);
	border-top: 1px solid var(--border);
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
	box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
	z-index: 200;
	max-height: 70vh;
	overflow-y: auto;
}

.filter-sheet-header[b-p1v4k83v8u] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--border);
	position: sticky;
	top: 0;
	background: var(--surface);
}

	.filter-sheet-header h4[b-p1v4k83v8u] {
		margin: 0;
	}

.filter-sheet-content[b-p1v4k83v8u] {
	padding: 1.25rem;
	display: grid;
	gap: 1.25rem;
}

.filter-group[b-p1v4k83v8u] {
	display: grid;
	gap: 0.5rem;
}

	.filter-group label[b-p1v4k83v8u] {
		font-weight: 600;
		font-size: 0.9rem;
		color: var(--text-secondary);
	}

	.filter-group select[b-p1v4k83v8u] {
		padding: 0.65rem 0.85rem;
		border: 1px solid var(--border);
		border-radius: var(--radius-md);
		background: var(--surface-muted);
		font-size: 1rem;
	}

.filter-backdrop[b-p1v4k83v8u] {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 199;
}

/* Empty State */
.empty-state[b-p1v4k83v8u] {
	padding: 3rem 2rem;
	text-align: center;
	background: var(--surface-muted);
	border-radius: var(--radius-lg);
	border: 1px dashed var(--border);
}

	.empty-state p[b-p1v4k83v8u] {
		margin: 0;
		color: var(--text-secondary);
		font-size: 1.05rem;
	}

/* Tablet Breakpoint (768px - 1199px) */
@media (min-width: 768px) and (max-width: 1199px) {
	.analytics-grid[b-p1v4k83v8u] {
		grid-template-columns: 30% 70%;
		gap: 1rem;
	}

	.calendar-day[b-p1v4k83v8u],
	.nav-btn[b-p1v4k83v8u],
	.filter-toggle-btn[b-p1v4k83v8u] {
		min-width: 40px;
		min-height: 40px;
	}
}

/* Desktop Breakpoint (≥1200px) */
@media (min-width: 1200px) {
	.analytics-grid[b-p1v4k83v8u] {
		grid-template-columns: 32% 68%;
		gap: 1.5rem;
	}

	.info-cards-container[b-p1v4k83v8u] {
		grid-template-columns: 1fr;
	}
}

/* Mobile Breakpoint (≤767px) */
@media (max-width: 767px) {
	.analytics-sticky-bar[b-p1v4k83v8u] {
		display: flex;
	}

	.analytics-dashboard.filter-open .filter-bottom-sheet[b-p1v4k83v8u] {
		display: block;
	}

	.analytics-dashboard.filter-open .filter-backdrop[b-p1v4k83v8u] {
		display: block;
	}

	.analytics-grid[b-p1v4k83v8u] {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.analytics-sidebar[b-p1v4k83v8u] {
		gap: 1rem;
	}

	/* Mobile Calendar Transformation */
	.calendar-section[b-p1v4k83v8u] {
		padding: 0.75rem;
	}

	.calendar-grid[b-p1v4k83v8u] {
		gap: 0.3rem;
	}

	.calendar-day[b-p1v4k83v8u] {
		padding: 0.4rem 0;
		min-height: 36px;
		font-size: 0.85rem;
	}

	/* Stack User Facts */
	.fact-row[b-p1v4k83v8u] {
		flex-direction: row;
		gap: 0.5rem;
	}

	/* Info Cards as Carousel on Mobile */
	.info-cards-container[b-p1v4k83v8u] {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 0.75rem;
		padding-bottom: 0.5rem;
		-webkit-overflow-scrolling: touch;
	}

	.info-card[b-p1v4k83v8u] {
		flex: 0 0 85%;
		scroll-snap-align: start;
	}

	/* Chart Sections */
	.chart-section[b-p1v4k83v8u] {
		padding: 1rem;
	}

	.chart-header[b-p1v4k83v8u] {
		flex-direction: column;
		align-items: flex-start;
	}

	.chart-controls[b-p1v4k83v8u] {
		width: 100%;
		flex-direction: column;
	}

	.metric-select[b-p1v4k83v8u],
	.resolution-select[b-p1v4k83v8u] {
		width: 100%;
	}

	.chart-placeholder svg[b-p1v4k83v8u] {
		height: 240px;
	}

	.chart-legend[b-p1v4k83v8u] {
		flex-direction: column;
		gap: 0.25rem;
	}

	/* Food Intake Mobile Layout */
	.food-intake-table[b-p1v4k83v8u] {
		display: block;
	}

		.food-intake-table thead[b-p1v4k83v8u] {
			display: none;
		}

		.food-intake-table tbody[b-p1v4k83v8u],
		.food-intake-table tr[b-p1v4k83v8u] {
			display: block;
		}

		.food-intake-table tr[b-p1v4k83v8u] {
			margin-bottom: 1rem;
			border: 1px solid var(--border);
			border-radius: var(--radius-md);
			padding: 0.75rem;
		}

		.food-intake-table td[b-p1v4k83v8u] {
			display: block;
			padding: 0.35rem 0;
			border: none;
		}

	.time-cell[b-p1v4k83v8u] {
		width: auto;
		padding-bottom: 0.5rem !important;
		border-bottom: 1px solid var(--border) !important;
		margin-bottom: 0.5rem;
	}

	.food-cell[b-p1v4k83v8u],
	.notes-cell[b-p1v4k83v8u] {
		min-width: 0;
	}

	.notes-cell[b-p1v4k83v8u] {
		padding-top: 0.5rem !important;
		border-top: 1px solid var(--border) !important;
		margin-top: 0.5rem;
	}

	/* Adjust spacing */
	.daily-summary-title[b-p1v4k83v8u] {
		font-size: 1.15rem;
	}

	.analytics-main[b-p1v4k83v8u] {
		gap: 1rem;
	}
}

/* Accessibility & Touch Targets */
@media (hover: none) {
	.calendar-day:hover[b-p1v4k83v8u] {
		transform: none;
	}
}
/* _content/GutFeel.UI/Components/Admin/RawDataViewSection.razor.rz.scp.css */
/* Raw Data View Section Styles */

.raw-data-content[b-ydumkmijg1] {
	display: grid;
	gap: 2rem;
}

.tables-section[b-ydumkmijg1] {
	display: grid;
	gap: 1.25rem;
}

	.tables-section h3[b-ydumkmijg1] {
		margin: 0;
		font-size: 1.1rem;
		padding-bottom: 0.75rem;
		border-bottom: 1px solid var(--border);
	}

.tables-grid[b-ydumkmijg1] {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.table-card[b-ydumkmijg1] {
	background: var(--surface);
	border: 2px solid var(--border);
	border-radius: var(--radius-md);
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	cursor: pointer;
	transition: all 0.2s ease;
	min-height: 110px;
}

	.table-card:hover[b-ydumkmijg1] {
		border-color: var(--accent);
		transform: translateY(-2px);
		box-shadow: 0 8px 16px rgba(37, 99, 235, 0.15);
	}

	.table-card.selected[b-ydumkmijg1] {
		border-color: var(--accent);
		background: rgba(37, 99, 235, 0.06);
		box-shadow: 0 0 0 1px var(--accent) inset;
	}

.table-info[b-ydumkmijg1] {
	display: grid;
	gap: 0.35rem;
	flex: 1;
}

	.table-info h4[b-ydumkmijg1] {
		margin: 0;
		font-size: 1rem;
		font-weight: 600;
		color: var(--text-primary);
		line-height: 1.3;
	}

.table-meta[b-ydumkmijg1] {
	font-size: 0.8rem;
	color: var(--text-secondary);
}

.table-count[b-ydumkmijg1] {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	gap: 0.5rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--border);
}

.count-value[b-ydumkmijg1] {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--accent);
	line-height: 1;
}

.count-label[b-ydumkmijg1] {
	font-size: 0.7rem;
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-weight: 600;
}

/* Query Section */
.query-section[b-ydumkmijg1] {
	display: grid;
	gap: 1.25rem;
}

.query-header[b-ydumkmijg1] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--border);
	flex-wrap: wrap;
}

	.query-header h3[b-ydumkmijg1] {
		margin: 0;
		font-size: 1.1rem;
	}

.query-info-panel[b-ydumkmijg1] {
	background: #3b82f622;
	border: 1px solid #3b82f6;
	border-radius: var(--radius-md);
	padding: 1rem 1.25rem;
}

	.query-info-panel p[b-ydumkmijg1] {
		margin: 0.5rem 0;
		font-size: 0.9rem;
	}

		.query-info-panel p:first-child[b-ydumkmijg1] {
			margin-top: 0;
		}

		.query-info-panel p:last-child[b-ydumkmijg1] {
			margin-bottom: 0;
		}

.query-template[b-ydumkmijg1] {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.85rem 1rem;
	background: var(--surface-muted);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	flex-wrap: wrap;
}

	.query-template strong[b-ydumkmijg1] {
		font-size: 0.9rem;
		white-space: nowrap;
	}

	.query-template code[b-ydumkmijg1] {
		flex: 1;
		min-width: 200px;
		padding: 0.5rem 0.75rem;
		background: var(--surface);
		border: 1px solid var(--border);
		border-radius: var(--radius-sm);
		font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
		font-size: 0.85rem;
		overflow-x: auto;
		white-space: nowrap;
	}

	.query-template button[b-ydumkmijg1] {
		white-space: nowrap;
	}

.query-input-area[b-ydumkmijg1] {
	display: grid;
	gap: 0.5rem;
}

	.query-input-area label[b-ydumkmijg1] {
		font-weight: 600;
		font-size: 0.9rem;
		color: var(--text-secondary);
	}

	.query-input-area textarea[b-ydumkmijg1] {
		width: 100%;
		padding: 0.85rem 1rem;
		border: 1px solid var(--border);
		border-radius: var(--radius-md);
		background: var(--surface-muted);
		font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
		font-size: 0.9rem;
		line-height: 1.5;
		resize: vertical;
		min-height: 180px;
	}

		.query-input-area textarea:focus[b-ydumkmijg1] {
			outline: none;
			border-color: var(--accent);
			box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
		}

.query-actions[b-ydumkmijg1] {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.query-results-section[b-ydumkmijg1] {
	display: grid;
	gap: 1rem;
}

.results-header[b-ydumkmijg1] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--border);
	flex-wrap: wrap;
}

	.results-header h4[b-ydumkmijg1] {
		margin: 0;
		font-size: 1rem;
	}

.results-count[b-ydumkmijg1] {
	font-size: 0.85rem;
	color: var(--text-secondary);
}

.results-table-wrapper[b-ydumkmijg1] {
	overflow-x: auto;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	max-height: 600px;
	overflow-y: auto;
}

.results-table[b-ydumkmijg1] {
	width: 100%;
	border-collapse: collapse;
	background: var(--surface);
}

	.results-table thead[b-ydumkmijg1] {
		background: var(--surface-muted);
		border-bottom: 2px solid var(--border);
		position: sticky;
		top: 0;
		z-index: 1;
	}

	.results-table th[b-ydumkmijg1] {
		padding: 0.75rem 1rem;
		text-align: left;
		font-weight: 600;
		font-size: 0.85rem;
		color: var(--text-secondary);
		text-transform: uppercase;
		letter-spacing: 0.5px;
		white-space: nowrap;
	}

	.results-table td[b-ydumkmijg1] {
		padding: 0.75rem 1rem;
		border-bottom: 1px solid var(--border);
		font-size: 0.9rem;
		font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
		max-width: 400px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.results-table tbody tr:last-child td[b-ydumkmijg1] {
		border-bottom: none;
	}

	.results-table tbody tr:hover[b-ydumkmijg1] {
		background: var(--surface-muted);
	}

.warning-message[b-ydumkmijg1] {
	background: #f59e0b22;
	border: 1px solid #f59e0b;
	border-radius: var(--radius-md);
	padding: 0.85rem 1rem;
	font-size: 0.9rem;
}

	.warning-message strong[b-ydumkmijg1] {
		color: #d97706;
	}

/* Mobile Adjustments */
@media (max-width: 767px) {
	.tables-grid[b-ydumkmijg1] {
		grid-template-columns: 1fr;
	}

	.query-template[b-ydumkmijg1] {
		flex-direction: column;
		align-items: flex-start;
	}

		.query-template code[b-ydumkmijg1] {
			width: 100%;
		}

	.results-header[b-ydumkmijg1] {
		flex-direction: column;
		align-items: flex-start;
	}

	.results-table-wrapper[b-ydumkmijg1] {
		max-height: 400px;
	}
}

/* Desktop optimization */
@media (min-width: 768px) {
	.tables-grid[b-ydumkmijg1] {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	}
}

@media (min-width: 1200px) {
	.tables-grid[b-ydumkmijg1] {
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	}
}
/* _content/GutFeel.UI/Components/Admin/UserManagementSection.razor.rz.scp.css */
/* User Management Section Styles */

.admin-section-card[b-mz88tobymz] {
    background: var(--surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 2rem;
    display: grid;
    gap: 1.75rem;
}

.admin-section-card header[b-mz88tobymz] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.admin-section-card header h2[b-mz88tobymz] {
    margin: 0;
    font-size: 1.5rem;
}

.admin-section-card header .meta[b-mz88tobymz] {
    margin: 0.25rem 0 0;
    color: var(--text-secondary);
    font-size: 0.95rem;
}

.management-grid[b-mz88tobymz] {
    display: grid;
    gap: 2rem;
}

.management-subsection[b-mz88tobymz] {
    display: grid;
    gap: 1.25rem;
}

.management-subsection header[b-mz88tobymz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border);
}

.management-subsection header h3[b-mz88tobymz] {
    margin: 0;
    font-size: 1.1rem;
}

.approval-list[b-mz88tobymz] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1rem;
}

.approval-list li[b-mz88tobymz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-radius: var(--radius-md);
    background: var(--surface-muted);
    border: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.approval-list li:hover[b-mz88tobymz] {
    border-color: var(--accent);
}

.approval-list strong[b-mz88tobymz] {
    display: block;
    margin-bottom: 0.25rem;
}

.approval-list .meta[b-mz88tobymz] {
    display: block;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.field-grid[b-mz88tobymz] {
    display: grid;
    gap: 1rem;
}

.field[b-mz88tobymz] {
    display: grid;
    gap: 0.5rem;
}

.field label[b-mz88tobymz] {
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.field input[b-mz88tobymz],
.field select[b-mz88tobymz] {
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--surface-muted);
    font-size: 1rem;
    font-family: inherit;
}

.field input:focus[b-mz88tobymz],
.field select:focus[b-mz88tobymz] {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.macro-fieldset[b-mz88tobymz] {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 1.25rem 1.5rem;
    display: grid;
    gap: 1rem;
}

.macro-fieldset legend[b-mz88tobymz] {
    font-weight: 600;
    padding: 0 0.5rem;
    color: var(--text-secondary);
}

.macro-grid[b-mz88tobymz] {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.macro-grid label[b-mz88tobymz] {
    display: grid;
    gap: 0.35rem;
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.85rem;
}

.macro-grid input[b-mz88tobymz] {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--surface-muted);
    font-size: 0.95rem;
}

.actions[b-mz88tobymz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

.badge[b-mz88tobymz] {
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
}

.badge.accent[b-mz88tobymz] {
    background: rgba(37, 99, 235, 0.15);
    color: var(--accent);
}

.badge.warning[b-mz88tobymz] {
    background: #f59e0b22;
    color: #d97706;
}

.success[b-mz88tobymz] {
    color: #15803d;
    font-weight: 600;
}

.error[b-mz88tobymz] {
    color: #dc2626;
    font-weight: 600;
}

.muted[b-mz88tobymz] {
    color: var(--text-secondary);
}

/* Tablet & Desktop */
@media (min-width: 768px) {
    .management-grid[b-mz88tobymz] {
        grid-template-columns: repeat(2, 1fr);
    }

    .field-grid[b-mz88tobymz] {
        grid-template-columns: repeat(2, 1fr);
    }

    .macro-fieldset[b-mz88tobymz] {
        grid-column: span 2;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .admin-section-card[b-mz88tobymz] {
        padding: 1.25rem;
    }

    .approval-list li[b-mz88tobymz] {
        flex-direction: column;
        align-items: flex-start;
    }

    .approval-list button[b-mz88tobymz] {
        width: 100%;
    }
}
/* _content/GutFeel.UI/Components/Common/ChipCheckbox.razor.rz.scp.css */
/*
 * Chip-style checkbox component styles
 * Mobile-first, accessible design with smooth transitions
 */

.chip-checkbox[b-phzodut2ck] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-sm);
	padding: var(--spacing-sm) var(--spacing-md);
	background: var(--surface);
	border: 2px solid var(--border);
	border-radius: 16px;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
	user-select: none;
	font-size: var(--font-size-sm);
	font-weight: 600;
	min-height: var(--checkbox-touch-target);
	position: relative;
}

	.chip-checkbox input[type="checkbox"][b-phzodut2ck] {
		/* Hidden but accessible */
		position: absolute;
		opacity: 0;
		pointer-events: none;
		width: 1px;
		height: 1px;
	}

.chip-checkbox__icon[b-phzodut2ck] {
	font-size: 1.2em;
	line-height: 1;
	flex-shrink: 0;
}

.chip-checkbox__label[b-phzodut2ck] {
	color: var(--text-primary);
	line-height: 1.2;
}

/* Hover state */
.chip-checkbox:hover[b-phzodut2ck] {
	background: var(--surface-muted);
	border-color: var(--accent);
	transform: translateY(-1px);
}

/* Focus state */
.chip-checkbox:has(input:focus-visible)[b-phzodut2ck] {
	outline: 3px solid var(--accent-soft);
	outline-offset: 2px;
}

/* Selected/Checked state */
.chip-checkbox.selected[b-phzodut2ck] {
	background: var(--primary-light);
	border-color: var(--primary-color);
}

	.chip-checkbox.selected .chip-checkbox__label[b-phzodut2ck] {
		color: var(--primary-color);
	}

	.chip-checkbox.selected[b-phzodut2ck]::after {
		color: var(--primary-color);
		font-weight: 700;
		margin-left: calc(var(--spacing-md) + 7px);
		flex-shrink: 0;
	}

/* Disabled state */
.chip-checkbox.disabled[b-phzodut2ck] {
	opacity: 0.4;
	cursor: not-allowed;
	transform: none !important;
}

	.chip-checkbox.disabled:hover[b-phzodut2ck] {
		background: var(--surface);
		border-color: var(--border);
		transform: none;
	}

/* Mobile optimization */
@media (max-width: 576px) {
	.chip-checkbox[b-phzodut2ck] {
		padding: var(--spacing-sm) 12px;
		font-size: var(--font-size-xs);
	}

		.chip-checkbox.selected[b-phzodut2ck]::after {
			color: var(--primary-color);
			font-weight: 700;
			margin-left: calc(var(--spacing-md) + 3px);
			flex-shrink: 0;
		}
}
/* _content/GutFeel.UI/Components/Common/SegmentedControl.razor.rz.scp.css */
/*
 * Segmented Control (iOS-style) component styles
 * Used for radio button groups with pill-style buttons
 */

.segmented-control[b-k7n6d5352n] {
    display: flex;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.segmented-control__option[b-k7n6d5352n] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px var(--spacing-md);
    border: 2px solid var(--border);
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    user-select: none;
    min-height: var(--checkbox-touch-target);
    background: var(--surface);
}

.segmented-control__option input[type="radio"][b-k7n6d5352n] {
    /* Hidden but accessible */
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.segmented-control__label[b-k7n6d5352n] {
    font-weight: 600;
    font-size: var(--font-size-sm);
    color: var(--text-primary);
}

/* Hover state */
.segmented-control__option:hover[b-k7n6d5352n] {
    background: var(--surface-muted);
    border-color: var(--accent);
}

/* Focus state */
.segmented-control__option:has(input:focus-visible)[b-k7n6d5352n] {
    outline: 3px solid var(--accent-soft);
    outline-offset: 2px;
}

/* Selected state */
.segmented-control__option.selected[b-k7n6d5352n] {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.segmented-control__option.selected .segmented-control__label[b-k7n6d5352n] {
    color: white;
}

/* Mobile optimization - stack vertically on small screens */
@media (max-width: 576px) {
    .segmented-control[b-k7n6d5352n] {
        flex-direction: column;
        width: 100%;
    }
    
    .segmented-control__option[b-k7n6d5352n] {
        width: 100%;
    }
}
/* _content/GutFeel.UI/Components/Common/WizardStep.razor.rz.scp.css */
/*
 * Wizard/Stepper component styles
 * Progress indicator and step navigation
 */

.wizard-container[b-ewajexh2as] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

/* Progress bar */
.wizard-progress[b-ewajexh2as] {
    width: 100%;
    height: 6px;
    background: var(--surface-muted);
    border-radius: 999px;
    overflow: hidden;
}

.wizard-progress__bar[b-ewajexh2as] {
    height: 100%;
    background: var(--primary-color);
    transition: width 0.3s ease-in-out;
    border-radius: 999px;
}

/* Step indicators */
.wizard-steps[b-ewajexh2as] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--spacing-md);
}

.wizard-step[b-ewajexh2as] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
    flex: 1;
}

.wizard-step__circle[b-ewajexh2as] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--surface-muted);
    border: 2px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    transition: all 0.3s ease-in-out;
}

.wizard-step.active .wizard-step__circle[b-ewajexh2as] {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: white;
    transform: scale(1.1);
}

.wizard-step.completed .wizard-step__circle[b-ewajexh2as] {
    background: var(--success-color);
    border-color: var(--success-color);
    color: white;
}

.wizard-step__title[b-ewajexh2as] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-secondary);
    text-align: center;
}

.wizard-step.active .wizard-step__title[b-ewajexh2as] {
    color: var(--primary-color);
}

/* Content area */
.wizard-content[b-ewajexh2as] {
    min-height: 200px;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

/* Navigation buttons */
.wizard-navigation[b-ewajexh2as] {
    display: flex;
    justify-content: space-between;
    gap: var(--spacing-md);
    padding-top: var(--spacing-lg);
    border-top: 1px solid var(--border);
}

.wizard-navigation button[b-ewajexh2as] {
    min-width: 120px;
}

.wizard-navigation button:only-child[b-ewajexh2as] {
    margin-left: auto;
}

/* Mobile optimization */
@media (max-width: 576px) {
    .wizard-step__title[b-ewajexh2as] {
        display: none;
    }
    
    .wizard-step__circle[b-ewajexh2as] {
        width: 32px;
        height: 32px;
        font-size: var(--font-size-xs);
    }
    
    .wizard-navigation[b-ewajexh2as] {
        flex-direction: column-reverse;
    }
    
    .wizard-navigation button[b-ewajexh2as] {
        width: 100%;
    }
}
/* _content/GutFeel.UI/Components/Dashboard/AddMealModal.razor.rz.scp.css */
.modal-shell .modal-body[b-s77ju5qxqu] {
    display: grid;
    gap: var(--spacing-lg);
    padding: var(--spacing-lg);
}

/* Summary Section */
.summary[b-s77ju5qxqu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-lg);
    flex-wrap: wrap;
    padding: var(--spacing-md);
    background: var(--surface-muted);
    border-radius: var(--radius-md);
}

.summary > div[b-s77ju5qxqu] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.summary label[b-s77ju5qxqu] {
    display: block;
    font-weight: 600;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
}

.summary input[b-s77ju5qxqu],
.summary select[b-s77ju5qxqu] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 0.6rem 0.85rem;
    color: var(--text-primary);
}

.selected-count[b-s77ju5qxqu] {
    min-width: 160px;
    text-align: right;
}

.selected-count strong[b-s77ju5qxqu] {
    font-size: 2rem;
    display: block;
    color: var(--accent);
}

.selected-count span[b-s77ju5qxqu] {
    display: block;
    color: var(--text-secondary);
    font-weight: 600;
}

.selected-count .totals[b-s77ju5qxqu] {
    color: var(--accent-dark);
    font-size: var(--font-size-lg);
    font-weight: 700;
}

/* Tab Navigation */
.tabs[b-s77ju5qxqu] {
    display: inline-flex;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs);
    background: var(--surface-muted);
    border-radius: 999px;
}

.tabs button[b-s77ju5qxqu] {
    border: none;
    background: transparent;
    padding: 0.65rem var(--spacing-lg);
    border-radius: 999px;
    font-weight: 600;
    color: var(--text-secondary);
    transition: all 0.2s ease;
    cursor: pointer;
}

.tabs button:hover[b-s77ju5qxqu] {
    background: rgba(37, 99, 235, 0.1);
    color: var(--accent);
}

.tabs button.active[b-s77ju5qxqu] {
    background: var(--surface);
    color: var(--accent-dark);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.15);
}

/* Search Panel */
.search-panel[b-s77ju5qxqu] {
    display: grid;
    gap: var(--spacing-lg);
}

.search-bar[b-s77ju5qxqu] {
    display: flex;
    gap: var(--spacing-sm);
}

.search-bar input[b-s77ju5qxqu] {
    flex: 1;
}

.search-bar button[b-s77ju5qxqu] {
    padding: 0.6rem var(--spacing-lg);
}

/* Error Alert in Modal */
.search-panel .alert.error[b-s77ju5qxqu] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md) var(--spacing-lg);
    background: #fee2e2;
    border: 2px solid #f87171;
    border-radius: var(--radius-md);
    color: #991b1b;
    font-weight: 600;
    font-size: var(--font-size-sm);
    animation: slideDown-b-s77ju5qxqu 0.3s ease;
}

.search-panel .alert.error span[b-s77ju5qxqu] {
    flex: 1;
}

@keyframes slideDown-b-s77ju5qxqu {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Search Results */
.search-results[b-s77ju5qxqu] {
    display: grid;
    gap: var(--spacing-md);
    list-style: none;
    margin: 0;
    padding: 0;
}

.search-results li[b-s77ju5qxqu] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--spacing-md);
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--radius-md);
    background: var(--surface);
    border: 2px solid var(--border);
    transition: all 0.2s ease;
}

.search-results li:hover[b-s77ju5qxqu] {
    border-color: var(--accent);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1);
    transform: translateY(-1px);
}

.search-results li > div[b-s77ju5qxqu] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.search-results strong[b-s77ju5qxqu] {
    font-size: var(--font-size-base);
    color: var(--text-primary);
}

.brand[b-s77ju5qxqu] {
    display: inline-block;
    font-size: var(--font-size-sm);
    color: var(--muted);
    font-weight: 600;
}

/* Macro Pills */
.macro-line[b-s77ju5qxqu] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
    margin-top: var(--spacing-xs);
}

/* Unit Conversion Display */
.unit-conversion[b-s77ju5qxqu] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
    align-items: center;
    font-size: var(--font-size-xs);
    color: var(--muted);
    margin-top: 4px;
}

.unit-conversion span[b-s77ju5qxqu] {
    padding: 2px 8px;
    background: var(--surface-muted);
    border-radius: 6px;
}

/* Selection Editor */
.selection-editor[b-s77ju5qxqu] {
    margin-top: 0.3rem;
    padding: var(--spacing-lg);
    border-radius: var(--radius-md);
    background: var(--primary-light);
    border: 2px solid var(--primary-color);
    display: grid;
    gap: var(--spacing-md);
}

.selection-editor h3[b-s77ju5qxqu] {
    margin: 0;
    color: var(--primary-color);
    font-size: var(--font-size-lg);
}

.selection-editor label[b-s77ju5qxqu] {
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: var(--spacing-xs);
    display: block;
}

.portion-inputs[b-s77ju5qxqu] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md);
}

.portion-inputs input[b-s77ju5qxqu],
.portion-inputs select[b-s77ju5qxqu] {
    width: 100%;
}

.macro-preview[b-s77ju5qxqu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    background: var(--surface);
    border-radius: var(--radius-sm);
}

.macro-preview-item[b-s77ju5qxqu] {
    text-align: center;
}

.macro-preview-item strong[b-s77ju5qxqu] {
    display: block;
    font-size: var(--font-size-lg);
    color: var(--text-primary);
}

.macro-preview-item span[b-s77ju5qxqu] {
    font-size: var(--font-size-xs);
    color: var(--muted);
}

/* Recent List */
.recent-list[b-s77ju5qxqu] {
    display: grid;
    gap: var(--spacing-sm);
    list-style: none;
    margin: 0;
    padding: 0;
}

.recent-list li[b-s77ju5qxqu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-md);
    border-radius: var(--radius-sm);
    background: var(--surface-muted);
    border: 1px solid transparent;
    transition: all 0.2s ease;
}

.recent-list li:hover[b-s77ju5qxqu] {
    border-color: var(--accent);
    background: var(--surface);
}

.recent-list strong[b-s77ju5qxqu] {
    display: block;
    font-size: var(--font-size-base);
    color: var(--text-primary);
}

/* Custom Form Grid */
.tab-panel .grid[b-s77ju5qxqu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-md);
}

.input-group[b-s77ju5qxqu] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.input-group label[b-s77ju5qxqu] {
    font-weight: 600;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
}

.chip-group[b-s77ju5qxqu] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
    align-items: center;
    padding: var(--spacing-sm) 0;
}

.toggle-row[b-s77ju5qxqu] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    background: var(--surface-muted);
    border-radius: var(--radius-sm);
    padding: var(--spacing-md);
    min-height: var(--checkbox-touch-target);
}

.toggle-row label[b-s77ju5qxqu] {
    flex: 1;
    font-weight: 600;
    color: var(--text-secondary);
}

/* Stress slider (borrowed from post-meal modal) */
.satisfaction-slider[b-s77ju5qxqu] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-md) 0;
}

.satisfaction-slider .emoji[b-s77ju5qxqu] {
    font-size: 1.6rem;
    flex-shrink: 0;
}

.satisfaction-slider input[type="range"][b-s77ju5qxqu] {
    flex: 1;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(to right, #22c55e 0%, #facc15 50%, #dc2626 100%);
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.satisfaction-slider input[type="range"][b-s77ju5qxqu]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: white;
    border: 3px solid var(--primary-color);
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease;
}

.satisfaction-slider input[type="range"][b-s77ju5qxqu]::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

.satisfaction-slider input[type="range"][b-s77ju5qxqu]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: white;
    border: 3px solid var(--primary-color);
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease;
}

.satisfaction-slider input[type="range"][b-s77ju5qxqu]::-moz-range-thumb:hover {
    transform: scale(1.1);
}

.slider-value[b-s77ju5qxqu] {
    text-align: center;
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--primary-color);
    margin-top: var(--spacing-xs);
}

/* Selected List */
.selected-list[b-s77ju5qxqu] {
    background: var(--surface);
    border-radius: var(--radius-lg);
    box-shadow: inset 0 0 0 2px var(--border);
    padding: var(--spacing-lg);
    display: grid;
    gap: var(--spacing-md);
}

    .selected-list h3[b-s77ju5qxqu] {
        margin: 0;
        font-size: var(--font-size-lg);
        color: var(--text-primary);
    }

    .selected-list ul[b-s77ju5qxqu] {
        display: grid;
        gap: var(--spacing-sm);
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .selected-list li[b-s77ju5qxqu] {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: var(--spacing-md);
        padding: var(--spacing-md);
        border-radius: var(--radius-sm);
        background: var(--surface-muted);
        border: 1px solid transparent;
    }

        .selected-list li > div[b-s77ju5qxqu] {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

    .selected-list strong[b-s77ju5qxqu] {
        font-size: var(--font-size-base);
        color: var(--text-primary);
    }

    .selected-list button[b-s77ju5qxqu] {
        min-width: 80px;
        padding: 0.5rem var(--spacing-md);
    }

/* Mobile Optimization */
@media (max-width: 768px) {
    .summary[b-s77ju5qxqu] {
        flex-direction: column;
        align-items: stretch;
        text-align: left;
    }

    .selected-count[b-s77ju5qxqu] {
        text-align: left;
    }

    .tabs[b-s77ju5qxqu] {
        width: 100%;
        justify-content: space-between;
    }

    .tabs button[b-s77ju5qxqu] {
        flex: 1;
        padding: 0.65rem var(--spacing-sm);
        font-size: var(--font-size-xs);
    }

    .search-bar[b-s77ju5qxqu] {
        flex-direction: column;
    }

    .portion-inputs[b-s77ju5qxqu] {
        grid-template-columns: 1fr;
    }

    .macro-preview[b-s77ju5qxqu] {
        grid-template-columns: repeat(2, 1fr);
    }

    .search-results li[b-s77ju5qxqu] {
        flex-direction: column;
        align-items: stretch;
    }

    .search-results li button[b-s77ju5qxqu] {
        width: 100%;
    }
}

@media (max-width: 576px) {
    .modal-shell .modal-body[b-s77ju5qxqu] {
        padding: var(--spacing-md);
    }

    .macro-line[b-s77ju5qxqu] {
        flex-direction: column;
        align-items: flex-start;
    }

    .macro-grid[b-s77ju5qxqu] {
        grid-template-columns: 1fr;
    }

    .tab-panel .grid[b-s77ju5qxqu] {
        grid-template-columns: 1fr;
    }
}
/* _content/GutFeel.UI/Components/Dashboard/DashboardView.razor.rz.scp.css */
.dashboard-grid[b-5eefnx59jk] {
	display: grid;
	gap: 2rem;
}

.dashboard-grid .hero[b-5eefnx59jk] {
	background: var(--surface);
	border-radius: var(--radius-lg);
	padding: clamp(1.25rem, 2vw + 0.75rem, 2rem);
	box-shadow: var(--shadow);
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-height: 100vh;
	overflow-y: auto;
}

.calorie-ring[b-5eefnx59jk] {
	display: flex;
	justify-content: center;
}

.hero-top[b-5eefnx59jk] {
	display: grid;
	gap: 1.5rem;
}

.hero-overview[b-5eefnx59jk] {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	justify-content: center;
	align-items: center;
}

.calorie-ring svg[b-5eefnx59jk] {
	width: clamp(180px, 32vw, 240px);
	height: auto;
}

.calorie-ring circle.track[b-5eefnx59jk] {
	fill: none;
	stroke: var(--surface-muted);
	stroke-width: 18;
}

.calorie-ring circle.progress[b-5eefnx59jk] {
	fill: none;
	stroke: var(--accent);
	stroke-width: 18;
	stroke-linecap: round;
	transform: rotate(-90deg);
	transform-origin: 50% 50%;
	transition: stroke-dashoffset 0.3s ease;
}

.calorie-ring text[b-5eefnx59jk] {
	font-size: 1.05rem;
	fill: var(--text-primary);
}

.stats[b-5eefnx59jk] {
	text-align: center;
	display: flex;
	justify-content: center;
	gap: clamp(1.25rem, 4vw, 2.5rem);
	flex-wrap: wrap;
}

.stats .label[b-5eefnx59jk] {
	color: var(--text-secondary);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.stats strong[b-5eefnx59jk] {
	display: block;
	font-size: 1.4rem;
	margin-top: 0.2rem;
}

.macro-bars[b-5eefnx59jk] {
	display: grid;
	gap: 1rem;
}

.macro-row[b-5eefnx59jk] {
	display: grid;
	gap: 0.65rem;
}

.macro-label[b-5eefnx59jk] {
	display: flex;
	justify-content: space-between;
	color: var(--text-secondary);
	font-weight: 600;
}

.macro-track[b-5eefnx59jk] {
	width: 100%;
	height: 12px;
	background: var(--surface-muted);
	border-radius: 999px;
	overflow: hidden;
}

.macro-fill[b-5eefnx59jk] {
	height: 100%;
	background: linear-gradient(90deg, var(--accent) 0%, var(--accent-dark) 100%);
	border-radius: 999px;
	transition: width 0.3s ease;
}

.hero-actions[b-5eefnx59jk] {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.sleep-card[b-5eefnx59jk] {
	display: grid;
	gap: 1rem;
}

.dashboard-grid .meals[b-5eefnx59jk] {
	display: grid;
	gap: 1.75rem;
}

.meal-card[b-5eefnx59jk] {
	background: var(--surface);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 1.75rem;
	display: grid;
	gap: 1.25rem;
}

.meal-card header[b-5eefnx59jk] {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.meal-card header h3[b-5eefnx59jk] {
	margin: 0;
	font-size: 1.3rem;
}

.meal-card .actions[b-5eefnx59jk] {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.meal-card ul[b-5eefnx59jk] {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.25rem;
}

.meal-card li[b-5eefnx59jk] {
	display: grid;
	gap: 0.65rem;
	background: var(--surface-muted);
	border-radius: var(--radius-md);
	padding: 1rem 1.25rem;
}

.meal-card li .item-details[b-5eefnx59jk] {
	display: grid;
	gap: 0.25rem;
}

.meal-card li .brand[b-5eefnx59jk] {
	color: var(--text-secondary);
	font-size: 0.9rem;
}

.macro-line[b-5eefnx59jk] {
	color: var(--muted);
	font-size: 1rem;
	margin-left: 0.3rem;
}

.item-actions[b-5eefnx59jk] {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.inline-edit[b-5eefnx59jk] {
	display: grid;
	gap: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--border);
}

.inline-edit label[b-5eefnx59jk] {
	font-weight: 600;
	color: var(--text-secondary);
}

.edit-controls[b-5eefnx59jk] {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
	align-items: flex-start;
}

.edit-controls input[b-5eefnx59jk] {
	width: 100%;
}

.edit-controls .unit-selector[b-5eefnx59jk] {
	width: 100%;
	padding: 0.85rem 1rem;
	border-radius: var(--radius-sm);
	border: 1px solid var(--border);
	background: var(--surface-muted);
	color: var(--text-primary);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.edit-controls .unit-selector:focus[b-5eefnx59jk] {
	outline: none;
	border-color: var(--accent);
	box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.18);
}

.edit-actions[b-5eefnx59jk] {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.edit-actions button[b-5eefnx59jk] {
	flex: 1;
	min-width: 100px;
}

.empty[b-5eefnx59jk] {
	color: var(--muted);
	text-align: center;
	padding: 2rem;
	font-style: italic;
}

.sleep-log-summary[b-5eefnx59jk] {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1rem;
	background: var(--surface-muted);
	border-radius: var(--radius-md);
}

.sleep-info[b-5eefnx59jk] {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.sleep-info strong[b-5eefnx59jk] {
	font-size: 1rem;
	color: var(--text-primary);
}

.sleep-actions[b-5eefnx59jk] {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

@media (max-width: 480px) {
	.meal-card .actions[b-5eefnx59jk] {
		width: 100%;
	}

	.meal-card .actions button[b-5eefnx59jk] {
		flex: 1;
		text-align: center;
	}

	.item-actions[b-5eefnx59jk] {
		width: 100%;
	}

	.item-actions button[b-5eefnx59jk] {
		flex: 1;
	}

	.edit-controls[b-5eefnx59jk] {
		grid-template-columns: 1fr;
	}

	.edit-controls input[b-5eefnx59jk],
	.edit-controls .unit-selector[b-5eefnx59jk] {
		width: 100%;
	}
	
	.edit-actions[b-5eefnx59jk] {
		flex-direction: column;
	}
	
	.edit-actions button[b-5eefnx59jk] {
		width: 100%;
	}

	.stats[b-5eefnx59jk] {
		flex-direction: column;
		text-align: center;
		gap: 1rem;
	}
}

@media (min-width: 768px) {
	.dashboard-grid[b-5eefnx59jk] {
		grid-template-columns: minmax(0, 400px) minmax(0, 1fr);
		align-items: start;
	}

	.dashboard-grid .hero[b-5eefnx59jk] {
		position: sticky;
		top: calc(var(--top-bar-height) + 1.5rem);
		max-height: calc(100vh - var(--top-bar-height) - 2.5rem);
		overflow-y: auto;
	}

	.hero-top[b-5eefnx59jk] {
		grid-template-columns: minmax(0, 1fr);
	}

	.hero-overview[b-5eefnx59jk] {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}

	.hero-actions[b-5eefnx59jk] {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (min-width: 992px) {
	.hero-top[b-5eefnx59jk] {
		grid-template-columns: minmax(0, 1fr);
	}

	.hero-overview[b-5eefnx59jk] {
		flex-direction: column;
		align-items: stretch;
	}

	.calorie-ring[b-5eefnx59jk] {
		display: flex;
		justify-content: center;
	}

	.stats[b-5eefnx59jk] {
		justify-content: center;
	}

	.hero-actions[b-5eefnx59jk] {
		flex-direction: row;
		align-items: stretch;
		gap: 1.5rem;
	}
}

@media (max-width: 600px) {
	.dashboard-grid[b-5eefnx59jk] {
		grid-template-columns: 1fr;
	}

	.dashboard-grid .hero[b-5eefnx59jk] {
		position: static;
		max-height: none;
	}

	.hero-overview[b-5eefnx59jk] {
		width: 100%;
	}

	.calorie-ring[b-5eefnx59jk] {
		width: 100%;
	}

	.calorie-ring svg[b-5eefnx59jk] {
		width: clamp(160px, 50vw, 200px);
	}

	.stats[b-5eefnx59jk] {
		width: 100%;
		justify-content: space-around;
	}

	.macro-bars[b-5eefnx59jk] {
		width: 100%;
	}
}

/* Survey completed button styling */
.survey-completed[b-5eefnx59jk] {
	color: var(--success, #22c55e);
	position: relative;
}

.survey-completed .checkmark[b-5eefnx59jk] {
	display: inline-block;
	font-weight: bold;
	margin-right: 0.25rem;
}

.survey-completed:hover[b-5eefnx59jk] {
	color: var(--success-dark, #16a34a);
}
/* _content/GutFeel.UI/Components/Dashboard/PostMealSurveyModal.razor.rz.scp.css */
.modal-body[b-ir6kwcg07k] {
    display: grid;
    gap: 1.5rem;
    padding: var(--spacing-lg);
}

.note[b-ir6kwcg07k] {
    color: var(--text-secondary);
    background: var(--surface-muted);
    border-radius: var(--radius-sm);
    padding: 0.75rem 1rem;
}

.grid[b-ir6kwcg07k] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.input-group[b-ir6kwcg07k] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.input-group label[b-ir6kwcg07k] {
    display: block;
    margin-bottom: 0.4rem;
    font-weight: 600;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
}

.input-group input[b-ir6kwcg07k],
.input-group select[b-ir6kwcg07k],
textarea[b-ir6kwcg07k],
.toggle-row input[b-ir6kwcg07k] {
    width: 100%;
}

.toggle-row[b-ir6kwcg07k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.9rem;
    background: var(--surface-muted);
    border-radius: var(--radius-sm);
}

fieldset[b-ir6kwcg07k] {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 1.25rem 1.5rem;
    display: grid;
    gap: 1rem;
}

fieldset legend[b-ir6kwcg07k] {
    font-weight: 600;
    color: var(--text-secondary);
    padding: 0 0.5rem;
}

.symptom-grid[b-ir6kwcg07k] {
    display: grid;
    gap: 0.75rem;
}

.symptom-row[b-ir6kwcg07k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    background: var(--surface-muted);
    border-radius: var(--radius-sm);
    padding: 0.75rem 1rem;
}

.symptom-row select[b-ir6kwcg07k] {
    min-width: 140px;
}

button.primary[b-ir6kwcg07k] {
    align-self: flex-end;
}

/*
 * WHAT CHANGED: Modernized post-meal survey modal with wizard-based flow
 * - Added chip-style symptom selection with icons
 * - Interactive satisfaction slider with emoji endpoints
 * - Segmented controls for energy/timing questions
 * - Organized symptom severity rating
 * - Mobile-first responsive design
 */

.wizard-section[b-ir6kwcg07k] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.wizard-section h3[b-ir6kwcg07k] {
    margin: 0 0 var(--spacing-xs) 0;
    font-size: var(--font-size-lg);
    color: var(--text-primary);
}

.wizard-section h4[b-ir6kwcg07k] {
    margin: 0 0 var(--spacing-sm) 0;
    font-size: var(--font-size-base);
    color: var(--text-secondary);
    font-weight: 600;
}

.wizard-section .helper[b-ir6kwcg07k] {
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--muted);
}

/* Symptom Categories */
.symptom-category[b-ir6kwcg07k] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.chip-grid[b-ir6kwcg07k] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

/* Satisfaction Slider */
.satisfaction-slider[b-ir6kwcg07k] {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-md) 0;
}

.satisfaction-slider .emoji[b-ir6kwcg07k] {
    font-size: 2rem;
    flex-shrink: 0;
}

.satisfaction-slider input[type="range"][b-ir6kwcg07k] {
    flex: 1;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(to right, #dc2626 0%, #facc15 50%, #22c55e 100%);
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.satisfaction-slider input[type="range"][b-ir6kwcg07k]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: white;
    border: 3px solid var(--primary-color);
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease;
}

.satisfaction-slider input[type="range"][b-ir6kwcg07k]::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

.satisfaction-slider input[type="range"][b-ir6kwcg07k]::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: white;
    border: 3px solid var(--primary-color);
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease;
}

.satisfaction-slider input[type="range"][b-ir6kwcg07k]::-moz-range-thumb:hover {
    transform: scale(1.2);
}

.slider-value[b-ir6kwcg07k] {
    text-align: center;
    font-size: var(--font-size-lg);
    font-weight: 700;
    color: var(--primary-color);
    margin-top: var(--spacing-xs);
}

/* Symptom Severity List */
.symptom-severity-list[b-ir6kwcg07k] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    padding: var(--spacing-md);
    background: var(--surface-muted);
    border-radius: var(--radius-md);
}

.symptom-severity-row[b-ir6kwcg07k] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-md);
}

.symptom-name[b-ir6kwcg07k] {
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
}

.severity-select[b-ir6kwcg07k] {
    min-width: 120px;
    padding: var(--spacing-sm) var(--spacing-md);
}

/* Mobile Optimization */
@media (max-width: 576px) {
    .post-meal-modal[b-ir6kwcg07k] {
        max-width: 95vw;
        max-height: 95vh;
    }
    
    .post-meal-modal .modal-body[b-ir6kwcg07k] {
        padding: var(--spacing-md);
    }
    
    .satisfaction-slider .emoji[b-ir6kwcg07k] {
        font-size: 1.5rem;
    }
    
    .satisfaction-slider[b-ir6kwcg07k] {
        gap: var(--spacing-sm);
    }
    
    .symptom-severity-row[b-ir6kwcg07k] {
        flex-direction: column;
        align-items: stretch;
    }
    
    .severity-select[b-ir6kwcg07k] {
        width: 100%;
    }
}

/* Tablet and up */
@media (min-width: 768px) {
    .post-meal-modal[b-ir6kwcg07k] {
        max-width: 600px;
    }
}
/* _content/GutFeel.UI/Components/Dashboard/SleepQualityModal.razor.rz.scp.css */
/* Sleep Quality Modal Styles */
.symptom-grid[b-uf5c3xblrj] {
	display: grid;
	gap: 0.75rem;
}

.symptom-row[b-uf5c3xblrj] {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.5rem;
	background: var(--surface-muted);
	border-radius: var(--radius-sm);
}

.symptom-row label[b-uf5c3xblrj] {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex: 1;
	margin: 0;
	cursor: pointer;
	font-weight: 600;
	color: var(--text-secondary);
}

.symptom-row input[type="checkbox"][b-uf5c3xblrj] {
	width: 28px;
	height: 28px;
	min-width: 28px;
	cursor: pointer;
	accent-color: var(--accent);
	margin: 0;
}

.symptom-row select[b-uf5c3xblrj] {
	width: auto;
	min-width: 120px;
	margin: 0;
}

.toggle-row[b-uf5c3xblrj] {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.5rem 0;
}

.toggle-row input[type="checkbox"][b-uf5c3xblrj] {
	width: 28px;
	height: 28px;
	min-width: 28px;
	cursor: pointer;
	accent-color: var(--accent);
	margin: 0;
}

.toggle-row label[b-uf5c3xblrj] {
	font-weight: 600;
	color: var(--text-secondary);
	margin: 0;
	cursor: pointer;
	flex: 1;
}

/* Mobile-optimized touch targets */
@media (max-width: 768px) {
	.toggle-row input[type="checkbox"][b-uf5c3xblrj],
	.symptom-row input[type="checkbox"][b-uf5c3xblrj] {
		width: 32px;
		height: 32px;
		min-width: 32px;
	}

	.symptom-row[b-uf5c3xblrj] {
		padding: 0.75rem;
	}
}

/*
 * WHAT CHANGED: Modernized sleep quality modal with wizard-based flow
 * - Added emoji rating system with larger touch targets (48x48px)
 * - Segmented controls for yes/no questions (iOS-style pills)
 * - Chip-style checkboxes for sleep factors with icons
 * - Wizard progress indicator and step navigation
 * - Mobile-first responsive design
 */

.sleep-quality-modal .modal-body[b-uf5c3xblrj] {
    padding: var(--spacing-lg);
}

.wizard-section[b-uf5c3xblrj] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.wizard-section h3[b-uf5c3xblrj] {
    margin: 0 0 var(--spacing-xs) 0;
    font-size: var(--font-size-lg);
    color: var(--text-primary);
}

.wizard-section .helper[b-uf5c3xblrj] {
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--muted);
}

/* Emoji Rating System */
.sleep-quality-rating[b-uf5c3xblrj] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.emoji-rating[b-uf5c3xblrj] {
    display: flex;
    gap: var(--spacing-md);
    justify-content: center;
    flex-wrap: wrap;
}

.emoji-button[b-uf5c3xblrj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-md);
    border: 2px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--surface);
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    min-width: 80px;
    min-height: 80px;
}

.emoji-button .emoji[b-uf5c3xblrj] {
    font-size: 2.5rem;
    line-height: 1;
    filter: grayscale(100%);
    transition: all 0.3s ease-in-out;
}

.emoji-button .emoji-label[b-uf5c3xblrj] {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--text-secondary);
}

.emoji-button:hover[b-uf5c3xblrj] {
    border-color: var(--accent);
    background: var(--surface-muted);
    transform: translateY(-2px);
}

.emoji-button:hover .emoji[b-uf5c3xblrj] {
    filter: grayscale(0%);
}

.emoji-button.selected[b-uf5c3xblrj] {
    border-color: var(--primary-color);
    background: var(--primary-light);
}

.emoji-button.selected .emoji[b-uf5c3xblrj] {
    filter: grayscale(0%);
    transform: scale(1.2);
    animation: bounce-b-uf5c3xblrj 0.5s ease;
}

.emoji-button.selected .emoji-label[b-uf5c3xblrj] {
    color: var(--primary-color);
}

@keyframes bounce-b-uf5c3xblrj {
    0%, 100% {
        transform: scale(1.2);
    }
    50% {
        transform: scale(1.35);
    }
}

/* Sleep Duration Inputs */
.sleep-duration[b-uf5c3xblrj] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.duration-inputs[b-uf5c3xblrj] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md);
}

.duration-inputs select[b-uf5c3xblrj] {
    width: 100%;
}

/* Chip Grid for Sleep Factors */
.chip-grid[b-uf5c3xblrj] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

/* Input Groups */
.input-group[b-uf5c3xblrj] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.input-group label[b-uf5c3xblrj] {
    font-weight: 600;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
}

/* Mobile Optimization */
@media (max-width: 576px) {
    .sleep-quality-modal[b-uf5c3xblrj] {
        max-width: 95vw;
        max-height: 95vh;
    }
    
    .sleep-quality-modal .modal-body[b-uf5c3xblrj] {
        padding: var(--spacing-md);
    }
    
    .emoji-rating[b-uf5c3xblrj] {
        gap: var(--spacing-sm);
    }
    
    .emoji-button[b-uf5c3xblrj] {
        min-width: 70px;
        min-height: 70px;
        padding: var(--spacing-sm);
    }
    
    .emoji-button .emoji[b-uf5c3xblrj] {
        font-size: 2rem;
    }
    
    .duration-inputs[b-uf5c3xblrj] {
        grid-template-columns: 1fr;
    }
}

/* Tablet and up */
@media (min-width: 768px) {
    .sleep-quality-modal[b-uf5c3xblrj] {
        max-width: 600px;
    }
}
/* _content/GutFeel.UI/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-5u587pzdo5] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-5u587pzdo5] {
    flex: 1;
}

.sidebar[b-5u587pzdo5] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-5u587pzdo5] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-5u587pzdo5]  a, .top-row[b-5u587pzdo5]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-5u587pzdo5]  a:hover, .top-row[b-5u587pzdo5]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-5u587pzdo5]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-5u587pzdo5] {
        justify-content: space-between;
    }

    .top-row[b-5u587pzdo5]  a, .top-row[b-5u587pzdo5]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-5u587pzdo5] {
        flex-direction: row;
    }

    .sidebar[b-5u587pzdo5] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-5u587pzdo5] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-5u587pzdo5]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-5u587pzdo5], article[b-5u587pzdo5] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* _content/GutFeel.UI/Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-dz0sghnmzu] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-dz0sghnmzu] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-dz0sghnmzu] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-dz0sghnmzu] {
    font-size: 1.1rem;
}

.bi[b-dz0sghnmzu] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-dz0sghnmzu] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-dz0sghnmzu] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-dz0sghnmzu] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-dz0sghnmzu] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-dz0sghnmzu] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-dz0sghnmzu] {
        padding-bottom: 1rem;
    }

    .nav-item[b-dz0sghnmzu]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-dz0sghnmzu]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-dz0sghnmzu]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-dz0sghnmzu] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-dz0sghnmzu] {
    display: block;
}

.user-pill[b-dz0sghnmzu] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.12);
    color: var(--accent-dark);
    font-weight: 600;
}

@media (min-width: 641px) {
    .navbar-toggler[b-dz0sghnmzu] {
        display: none;
    }

    .nav-scrollable[b-dz0sghnmzu] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

@media (max-width: 640px) {
    .user-pill[b-dz0sghnmzu] {
        display: none;
    }
}
/* _content/GutFeel.UI/Components/Pages/Calendar.razor.rz.scp.css */
.calendar-layout[b-oh2fb4iqfj] {
	display: grid;
	gap: 2rem;
}

.calendar-header[b-oh2fb4iqfj] {
	background: var(--surface);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 1.75rem;
	display: grid;
	gap: 1.5rem;
}

.calendar-header .controls[b-oh2fb4iqfj] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.calendar-header h2[b-oh2fb4iqfj] {
	margin: 0;
	font-size: 1.6rem;
}

.calendar-header .nav[b-oh2fb4iqfj] {
	padding: 0;
	border-radius: 999px;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	background: var(--surface-muted);
	border: 1px solid var(--border);
}

.calendar-header .nav:hover[b-oh2fb4iqfj] {
	background: var(--accent);
	color: #ffffff;
}

.view-toggle[b-oh2fb4iqfj] {
	display: inline-flex;
	background: var(--surface-muted);
	border-radius: 999px;
	padding: 0.35rem;
	gap: 0.35rem;
}

.view-toggle button[b-oh2fb4iqfj] {
	border-radius: 999px;
	background: transparent;
	border: none;
	padding: 0.55rem 1.35rem;
	font-weight: 600;
	color: var(--text-secondary);
	transition: background-color 0.2s ease, color 0.2s ease;
}

.view-toggle button.active[b-oh2fb4iqfj] {
	background: #ffffff;
	color: var(--accent-dark);
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
}

/* Week view: single row of 7 days */
.calendar-grid[b-oh2fb4iqfj] {
	background: var(--surface);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 1rem;
	display: grid;
	gap: 0.5rem;
	touch-action: pan-y; /* Enable horizontal swipe gestures */
}

/* Default weekly view: 7 equal columns that fit perfectly */
.calendar-grid[b-oh2fb4iqfj] {
	grid-template-columns: repeat(7, 1fr);
	align-items: stretch;
}

/* Month view: compact 7-column grid */
.calendar-grid.month-view[b-oh2fb4iqfj] {
	grid-template-columns: repeat(7, 1fr);
	gap: 0.5rem;
	padding: 1rem;
}

.day-card[b-oh2fb4iqfj] {
	border-radius: 14px;
	background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
	border: 2px solid transparent;
	padding: 0.65rem 0.4rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0.25rem;
	text-align: center;
	color: var(--text-primary);
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	min-width: 0;
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

/* Visual indicator bar at the top based on calories */
.day-card[b-oh2fb4iqfj]::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, #10b981 0%, #3b82f6 50%, #f59e0b 75%, #ef4444 100%);
	opacity: 0;
	transition: opacity 0.2s ease;
}

.day-card[data-has-data="true"][b-oh2fb4iqfj]::before {
	opacity: 1;
}

/* Compact day card for month view */
.calendar-grid.month-view .day-card[b-oh2fb4iqfj] {
	padding: 0.5rem 0.35rem;
	gap: 0.2rem;
	font-size: 0.85rem;
}

.calendar-grid.month-view .day-card .date[b-oh2fb4iqfj] {
	font-size: 1rem;
}

.calendar-grid.month-view .day-card .calories[b-oh2fb4iqfj] {
	font-size: 0.7rem;
}

.day-card:hover[b-oh2fb4iqfj] {
	transform: translateY(-2px) scale(1.02);
	box-shadow: 0 8px 24px rgba(37, 99, 235, 0.15);
	border-color: rgba(37, 99, 235, 0.2);
	background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
}

.day-card .date[b-oh2fb4iqfj] {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.day-card .calories[b-oh2fb4iqfj] {
	color: var(--muted);
	font-weight: 600;
	font-size: 0.72rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.day-card.current[b-oh2fb4iqfj] {
	border-color: var(--accent);
	background: linear-gradient(135deg, rgba(37, 99, 235, 0.12) 0%, rgba(59, 130, 246, 0.08) 100%);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1), 0 4px 12px rgba(37, 99, 235, 0.15);
}

.day-card.current .date[b-oh2fb4iqfj] {
	color: var(--accent);
}

.day-card.outside[b-oh2fb4iqfj] {
	color: var(--muted);
	opacity: 0.5;
	background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
}

.calendar-detail[b-oh2fb4iqfj] {
	background: transparent;
	width: 100%;
}

/* Desktop: Sidebar calendar + full-width dashboard */
@media (min-width: 768px) {
	.calendar-layout[b-oh2fb4iqfj] {
		grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
		grid-template-rows: auto auto 1fr;
		align-items: start;
	}

	.calendar-header[b-oh2fb4iqfj] {
		grid-column: 1 / -1;
	}

	.calendar-grid[b-oh2fb4iqfj] {
		grid-column: 1 / 2;
		position: sticky;
		top: 1rem;
		max-height: calc(100vh - 2rem);
		overflow-y: auto;
	}

	.calendar-detail[b-oh2fb4iqfj] {
		grid-column: 2 / 3;
		grid-row: 2 / 4;
		width: 100%;
	}
}

/* Mobile: stacked layout */
@media (max-width: 767px) {
	.calendar-layout[b-oh2fb4iqfj] {
		grid-template-columns: 1fr;
	}

	.calendar-grid[b-oh2fb4iqfj] {
		overflow-x: hidden;
		padding: 0.75rem;
	}

	/* Ensure week view fits perfectly on mobile */
	.calendar-grid[b-oh2fb4iqfj] {
		grid-template-columns: repeat(7, 1fr);
		gap: 0.35rem;
	}

	.day-card[b-oh2fb4iqfj] {
		padding: 0.5rem 0.25rem;
		border-radius: 12px;
	}

	.day-card .date[b-oh2fb4iqfj] {
		font-size: 1rem;
	}

	.day-card .calories[b-oh2fb4iqfj] {
		font-size: 0.65rem;
	}

	.calendar-grid.month-view[b-oh2fb4iqfj] {
		grid-template-columns: repeat(7, 1fr);
		overflow-x: visible;
		gap: 0.3rem;
	}
}

/* Extra small devices */
@media (max-width: 380px) {
	.calendar-grid[b-oh2fb4iqfj] {
		gap: 0.25rem;
		padding: 0.5rem;
	}

	.day-card[b-oh2fb4iqfj] {
		padding: 0.4rem 0.2rem;
		border-radius: 10px;
	}

	.day-card .date[b-oh2fb4iqfj] {
		font-size: 0.9rem;
	}

	.day-card .calories[b-oh2fb4iqfj] {
		font-size: 0.6rem;
	}
}
/* _content/GutFeel.UI/Components/Pages/GutFeelAdmin.razor.rz.scp.css */
.page-title[b-ox6r2hblsk] {
	margin-bottom: 0.5rem;
}

.admin-layout[b-ox6r2hblsk] {
	display: grid;
	gap: 2rem;
	margin-top: 2rem;
}

.user-pane[b-ox6r2hblsk] {
	background: var(--surface);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 1.75rem;
	display: grid;
	gap: 1.5rem;
	height: fit-content;
}

	.user-pane header[b-ox6r2hblsk] {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 1rem;
	}

		.user-pane header h2[b-ox6r2hblsk] {
			margin: 0;
		}

	.user-pane .meta[b-ox6r2hblsk] {
		margin: 0;
		color: var(--text-secondary);
	}

.user-list[b-ox6r2hblsk] {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.75rem;
}

	.user-list li button[b-ox6r2hblsk] {
		width: 100%;
		text-align: left;
		background: var(--surface-muted);
		border: 1px solid transparent;
		border-radius: var(--radius-md);
		padding: 0.85rem 1rem;
		display: grid;
		gap: 0.35rem;
		transition: border-color 0.2s ease, box-shadow 0.2s ease;
	}

		.user-list li button:hover[b-ox6r2hblsk] {
			border-color: var(--accent);
			box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
		}

	.user-list li.active button[b-ox6r2hblsk] {
		border-color: var(--accent);
		box-shadow: inset 0 0 0 1px var(--accent);
	}

	.user-list .name[b-ox6r2hblsk] {
		font-weight: 600;
	}

	.user-list .email[b-ox6r2hblsk] {
		font-size: 0.9rem;
		color: var(--text-secondary);
	}

	.user-list .chips[b-ox6r2hblsk] {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.user-list .chip[b-ox6r2hblsk] {
		background: var(--surface);
		border-radius: 999px;
		padding: 0.25rem 0.75rem;
		font-size: 0.8rem;
		color: var(--text-secondary);
	}

.detail-pane[b-ox6r2hblsk] {
	display: grid;
	gap: 1.5rem;
}

.detail-card[b-ox6r2hblsk] {
	background: var(--surface);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 1.75rem;
	display: grid;
	gap: 1.25rem;
}

	.detail-card header[b-ox6r2hblsk] {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 1rem;
	}

		.detail-card header h3[b-ox6r2hblsk],
		.detail-card header h2[b-ox6r2hblsk] {
			margin: 0;
		}

.profile-meta[b-ox6r2hblsk] {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.25rem;
	font-size: 0.9rem;
	color: var(--text-secondary);
}

.empty-detail[b-ox6r2hblsk] {
	background: var(--surface);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 240px;
	color: var(--text-secondary);
}

.calendar-wrapper[b-ox6r2hblsk] {
	display: grid;
	gap: 0.75rem;
}

.calendar-header[b-ox6r2hblsk] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 600;
}

.calendar-grid[b-ox6r2hblsk] {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 0.4rem;
}

.calendar-heading[b-ox6r2hblsk] {
	text-align: center;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--text-secondary);
	text-transform: uppercase;
}

.calendar-loading[b-ox6r2hblsk] {
	grid-column: span 7;
	text-align: center;
	padding: 1rem;
	border-radius: var(--radius-md);
	background: var(--surface-muted);
}

.calendar-day[b-ox6r2hblsk] {
	position: relative;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	background: var(--surface-muted);
	padding: 0.6rem 0;
	text-align: center;
	color: var(--text-primary);
	transition: border-color 0.2s ease, background 0.2s ease;
}

	.calendar-day span[b-ox6r2hblsk] {
		font-weight: 600;
	}

	.calendar-day.has-data[b-ox6r2hblsk] {
		border-color: var(--accent);
	}

	.calendar-day.selected[b-ox6r2hblsk] {
		background: var(--surface-muted);
		box-shadow: inset 0 0 0 2px var(--accent);
		border-color: var(--accent);
		color: var(--accent-contrast, var(--text-primary));
	}

	.calendar-day.out-month[b-ox6r2hblsk] {
		opacity: 0.45;
	}

.day-controls[b-ox6r2hblsk] {
	display: flex;
	gap: 0.5rem;
}

.status-grid[b-ox6r2hblsk] {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.status-card[b-ox6r2hblsk] {
	border-radius: var(--radius-md);
	padding: 1rem 1.25rem;
	display: grid;
	gap: 0.35rem;
	border: 1px solid var(--border);
	background: var(--surface-muted);
}

	.status-card span[b-ox6r2hblsk] {
		font-size: 0.85rem;
		color: var(--text-secondary);
	}

	.status-card.ok[b-ox6r2hblsk] {
		border-color: #15803d33;
		background: #15803d11;
	}

	.status-card.missing[b-ox6r2hblsk] {
		border-color: #dc262633;
		background: #dc262611;
	}

.tab-bar[b-ox6r2hblsk] {
	display: inline-flex;
	gap: 0.5rem;
	background: var(--surface-muted);
	padding: 0.35rem;
	border-radius: 999px;
}

	.tab-bar button[b-ox6r2hblsk] {
		border-radius: 999px;
		border: none;
		padding: 0.35rem 0.9rem;
		font-weight: 600;
		background: transparent;
		color: var(--text-secondary);
		cursor: pointer;
	}

		.tab-bar button.active[b-ox6r2hblsk] {
			background: var(--surface);
			color: var(--text-primary);
			box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
		}

.insights-grid[b-ox6r2hblsk] {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.insight-card[b-ox6r2hblsk] {
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 1rem 1.25rem;
	display: grid;
	gap: 0.75rem;
	background: var(--surface-muted);
}

	.insight-card header[b-ox6r2hblsk] {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 0.75rem;
	}

	.insight-card h4[b-ox6r2hblsk] {
		margin: 0;
		font-size: 1rem;
	}

	.insight-card .unit[b-ox6r2hblsk] {
		font-size: 0.85rem;
		color: var(--text-secondary);
	}

	.insight-card svg[b-ox6r2hblsk] {
		width: 100%;
		height: 56px;
		background: var(--surface);
		border-radius: var(--radius-md);
	}

	.insight-card polyline[b-ox6r2hblsk] {
		fill: none;
		stroke: var(--accent);
		stroke-width: 2;
	}

	.insight-card dl[b-ox6r2hblsk] {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0.5rem 1rem;
	}

	.insight-card dt[b-ox6r2hblsk] {
		font-size: 0.75rem;
		color: var(--text-secondary);
	}

	.insight-card dd[b-ox6r2hblsk] {
		margin: 0;
		font-weight: 600;
	}

.table-wrapper[b-ox6r2hblsk] {
	overflow-x: auto;
}

.health-table[b-ox6r2hblsk] {
	width: 100%;
	border-collapse: collapse;
	min-width: 640px;
}

	.health-table th[b-ox6r2hblsk],
	.health-table td[b-ox6r2hblsk] {
		padding: 0.65rem 0.75rem;
		border-bottom: 1px solid var(--border);
		text-align: left;
		font-size: 0.9rem;
	}

		.health-table th button[b-ox6r2hblsk] {
			background: none;
			border: none;
			font: inherit;
			font-weight: 600;
			color: inherit;
			display: inline-flex;
			align-items: center;
			gap: 0.25rem;
			cursor: pointer;
		}

	.health-table tbody tr:hover[b-ox6r2hblsk] {
		background: var(--surface-muted);
	}

.admin-secondary[b-ox6r2hblsk] {
	display: grid;
	gap: 2rem;
	margin-top: 2rem;
}

.admin-card[b-ox6r2hblsk] {
	background: var(--surface);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 2rem;
	display: grid;
	gap: 1.5rem;
}

	.admin-card header[b-ox6r2hblsk] {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 1rem;
	}

.approval-list[b-ox6r2hblsk] {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
}

	.approval-list li[b-ox6r2hblsk] {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 1rem;
		padding: 1rem 1.25rem;
		border-radius: var(--radius-md);
		background: var(--surface-muted);
		border: 1px solid transparent;
	}

		.approval-list li:hover[b-ox6r2hblsk] {
			border-color: var(--accent);
		}

.meta[b-ox6r2hblsk] {
	display: block;
	color: var(--text-secondary);
	font-size: 0.9rem;
}

.field-grid[b-ox6r2hblsk] {
	display: grid;
	gap: 1rem;
}

.field[b-ox6r2hblsk] {
	display: grid;
	gap: 0.5rem;
}

	.field label[b-ox6r2hblsk] {
		font-weight: 600;
		color: var(--text-secondary);
	}

.macro-fieldset[b-ox6r2hblsk] {
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 1.25rem 1.5rem;
	display: grid;
	gap: 1rem;
}

	.macro-fieldset legend[b-ox6r2hblsk] {
		font-weight: 600;
		padding: 0 0.5rem;
		color: var(--text-secondary);
	}

.macro-grid[b-ox6r2hblsk] {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

	.macro-grid label[b-ox6r2hblsk] {
		display: grid;
		gap: 0.35rem;
		font-weight: 600;
		color: var(--text-secondary);
	}

.actions[b-ox6r2hblsk] {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.success[b-ox6r2hblsk] {
	color: #15803d;
	font-weight: 600;
}

.error[b-ox6r2hblsk] {
	color: #dc2626;
	font-weight: 600;
}

@media (min-width: 960px) {
	.admin-secondary[b-ox6r2hblsk] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}
}

@media (min-width: 1080px) {
	.admin-layout[b-ox6r2hblsk] {
		grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
		align-items: start;
	}

	.profile-meta[b-ox6r2hblsk] {
		flex-direction: row;
		align-items: center;
		gap: 1.5rem;
	}
}
/* _content/GutFeel.UI/Components/Pages/GutFeelAdminNew.razor.rz.scp.css */
/* Admin Page Layout */

.admin-page[b-yacejfvb2e] {
	display: grid;
	gap: 1.5rem;
	max-width: 1600px;
	margin: 0 auto;
	padding: 1.5rem;
	position: relative;
}

.admin-page-header[b-yacejfvb2e] {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
}

.page-title[b-yacejfvb2e] {
	margin: 0;
	font-size: 2rem;
	font-weight: 700;
}

.page-subtitle[b-yacejfvb2e] {
	margin: 0.5rem 0 0;
	color: var(--text-secondary);
	font-size: 1.05rem;
}

/* Tab Navigation */
.admin-tabs[b-yacejfvb2e] {
	display: flex;
	gap: 0.5rem;
	border-bottom: 2px solid var(--border);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.admin-tab[b-yacejfvb2e] {
	background: none;
	border: none;
	border-bottom: 3px solid transparent;
	padding: 1rem 1.5rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 1rem;
	font-weight: 600;
	color: var(--text-secondary);
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
	position: relative;
	margin-bottom: -2px;
}

	.admin-tab:hover[b-yacejfvb2e] {
		color: var(--text-primary);
		background: var(--surface-muted);
	}

	.admin-tab.active[b-yacejfvb2e] {
		color: var(--accent);
		border-bottom-color: var(--accent);
		background: rgba(37, 99, 235, 0.05);
	}

.tab-icon[b-yacejfvb2e] {
	font-size: 1.25rem;
}

.tab-label[b-yacejfvb2e] {
	font-size: 0.95rem;
}

/* Tab Content */
.admin-tab-content[b-yacejfvb2e] {
	animation: fadeIn-b-yacejfvb2e 0.3s ease;
}

@keyframes fadeIn-b-yacejfvb2e {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Floating User Selector */
.floating-user-selector[b-yacejfvb2e] {
	position: fixed;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
	width: 280px;
	max-height: 70vh;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	display: grid;
	gap: 0.75rem;
	padding: 1.25rem;
	overflow: hidden;
	z-index: 50;
}

.selector-header[b-yacejfvb2e] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--border);
}

	.selector-header h3[b-yacejfvb2e] {
		margin: 0;
		font-size: 1rem;
	}

.user-selector-list[b-yacejfvb2e] {
	list-style: none;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	max-height: calc(70vh - 80px);
}

	.user-selector-list li[b-yacejfvb2e] {
		border-radius: var(--radius-md);
		overflow: hidden;
	}

	.user-selector-list button[b-yacejfvb2e] {
		width: 100%;
		text-align: left;
		background: var(--surface-muted);
		border: 1px solid transparent;
		border-radius: var(--radius-md);
		padding: 0.75rem 1rem;
		display: grid;
		gap: 0.25rem;
		transition: all 0.2s ease;
		margin-bottom: 0.5rem;
	}

		.user-selector-list button:hover[b-yacejfvb2e] {
			border-color: var(--accent);
			box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
		}

	.user-selector-list li.active button[b-yacejfvb2e] {
		border-color: var(--accent);
		background: var(--surface-muted);
		box-shadow: inset 0 0 0 2px var(--accent);
	}

.user-name[b-yacejfvb2e] {
	font-weight: 600;
	font-size: 0.95rem;
}

.user-email[b-yacejfvb2e] {
	font-size: 0.85rem;
	color: var(--text-secondary);
}

/* Mobile & Tablet Adjustments */
@media (max-width: 1280px) {
	.floating-user-selector[b-yacejfvb2e] {
		display: none;
	}
}

@media (max-width: 767px) {
	.admin-page[b-yacejfvb2e] {
		padding: 1rem;
	}

	.page-title[b-yacejfvb2e] {
		font-size: 1.5rem;
	}

	.page-subtitle[b-yacejfvb2e] {
		font-size: 0.95rem;
	}

	.admin-tabs[b-yacejfvb2e] {
		gap: 0.25rem;
	}

	.admin-tab[b-yacejfvb2e] {
		padding: 0.75rem 1rem;
		flex-direction: column;
		gap: 0.35rem;
	}

	.tab-icon[b-yacejfvb2e] {
		font-size: 1.5rem;
	}

	.tab-label[b-yacejfvb2e] {
		font-size: 0.8rem;
	}
}

@media (max-width: 480px) {
	.admin-tab[b-yacejfvb2e] {
		flex: 1;
		min-width: 0;
	}

	.tab-label[b-yacejfvb2e] {
		overflow: hidden;
		text-overflow: ellipsis;
	}
}
/* _content/GutFeel.UI/Components/Pages/Index.razor.rz.scp.css */
.loading[b-ilenbhlnra] {
	min-height: 40vh;
	display: grid;
	place-items: center;
	color: var(--text-secondary);
	font-size: 1.1rem;
}
/* _content/GutFeel.UI/Components/Pages/Login.razor.rz.scp.css */
.login-wrapper[b-59o8gioym8] {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: calc(100vh - var(--top-bar-height) - 6rem);
}

.login-card[b-59o8gioym8] {
	width: min(100%, 420px);
	background: var(--surface);
	border-radius: var(--radius-lg);
	padding: clamp(2rem, 4vw, 2.75rem);
	box-shadow: var(--shadow);
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.login-card h1[b-59o8gioym8] {
	font-size: 1.9rem;
	margin: 0;
	line-height: 1.3;
}

.login-card .note[b-59o8gioym8] {
	color: var(--text-secondary);
	margin: 0;
}

@media (max-width: 600px) {
	.login-card[b-59o8gioym8] {
		padding: 1.75rem;
	}
}
/* _content/GutFeel.UI/Components/Pages/Settings.razor.rz.scp.css */
.settings-layout[b-dd9gzuwtkp] {
    display: grid;
    gap: 2rem;
    padding: 1rem 0;
}

.settings-card[b-dd9gzuwtkp] {
    background: var(--surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 2rem;
    display: grid;
    gap: 1.25rem;
}

.settings-card header[b-dd9gzuwtkp] {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.75rem;
}

.settings-card h2[b-dd9gzuwtkp] {
    margin: 0;
    font-size: 1.4rem;
}

.badge[b-dd9gzuwtkp] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--surface-muted);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.badge.accent[b-dd9gzuwtkp] {
    background: rgba(37, 99, 235, 0.1);
    color: var(--accent-dark);
}

.badge.error[b-dd9gzuwtkp] {
    background: #fee2e2;
    color: #dc2626;
}

dl[b-dd9gzuwtkp] {
    display: grid;
    gap: 0.75rem;
    margin: 0;
}

dl div[b-dd9gzuwtkp] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    border-bottom: 1px solid var(--border);
    padding-bottom: 0.75rem;
}

dl div:last-child[b-dd9gzuwtkp] {
    border-bottom: none;
    padding-bottom: 0;
}

dt[b-dd9gzuwtkp] {
    font-weight: 600;
    color: var(--text-secondary);
}

dd[b-dd9gzuwtkp] {
    margin: 0;
    font-weight: 600;
}

.field-grid[b-dd9gzuwtkp] {
    display: grid;
    gap: 1rem;
}

.field label[b-dd9gzuwtkp],
.toggle span[b-dd9gzuwtkp] {
    font-weight: 600;
    color: var(--text-secondary);
}

.toggle[b-dd9gzuwtkp] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    padding: 0.75rem 1rem;
    background: var(--surface-muted);
    border-radius: var(--radius-md);
}

.field[b-dd9gzuwtkp] {
    display: grid;
    gap: 0.5rem;
}

.actions[b-dd9gzuwtkp] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.helper[b-dd9gzuwtkp] {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

/* Device Management Styles */
.device-list[b-dd9gzuwtkp] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1rem;
}

.device-item[b-dd9gzuwtkp] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--surface-muted);
    border-radius: var(--radius-md);
}

.device-info[b-dd9gzuwtkp] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.device-meta[b-dd9gzuwtkp] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.device-actions[b-dd9gzuwtkp] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

@media (min-width: 900px) {
    .settings-layout[b-dd9gzuwtkp] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .device-item[b-dd9gzuwtkp] {
        flex-direction: column;
        align-items: flex-start;
    }

    .device-actions[b-dd9gzuwtkp] {
        width: 100%;
    }

    .device-actions button[b-dd9gzuwtkp] {
        flex: 1;
    }
}
