/* Lunch Reservation — shared admin/front-end styles; ClassOne palette */
.classone-lunch-shell, .classone-lunch-login-required {
	--classone-navy: var(--hlr-dark);
	--classone-navy-2: var(--hlr-dark);
	--classone-gold: var(--hlr-secondary);
	--classone-gold-light: var(--hlr-secondary);
	--classone-gold-soft: var(--hlr-tint);
	--classone-mint: var(--hlr-tint);
	--classone-green: var(--hlr-primary);
	--classone-ink: var(--hlr-dark);
	--classone-muted: var(--hlr-muted);
	--classone-line: var(--hlr-line);
	--classone-paper: #ffffff;
	--classone-bg: var(--hlr-tint);
	--classone-danger: #b84b46;
	--classone-shadow: 0 18px 45px rgba(var(--hlr-primary-rgb), 0.12);
}

.classone-lunch-shell {
	box-sizing: border-box;
	color: var(--classone-ink);
	direction: rtl;
	font-family: Tahoma, Arial, sans-serif;
}

.classone-lunch-shell *,
.classone-lunch-shell *::before,
.classone-lunch-shell *::after {
	box-sizing: inherit;
}

.classone-lunch-admin {
	max-width: 1500px;
	margin-top: 24px;
	padding-left: 18px;
	padding-right: 18px;
}

.classone-lunch-hero,
.classone-lunch-student-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	min-height: 150px;
	overflow: hidden;
	padding: 30px 36px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 8% 15%, rgba(var(--hlr-primary-rgb), .22) 0 7%, transparent 7.5%),
		radial-gradient(circle at 90% 120%, rgba(255, 255, 255, .14) 0 17%, transparent 17.5%),
		linear-gradient(120deg, var(--classone-navy), var(--classone-navy-2));
	box-shadow: var(--classone-shadow);
	color: #fff;
}

.classone-lunch-hero::after,
.classone-lunch-student-hero::after {
	position: absolute;
	content: '';
	width: 250px;
	height: 250px;
	left: -80px;
	top: -120px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 50%;
	box-shadow: 0 0 0 18px rgba(255, 255, 255, .035), 0 0 0 36px rgba(255, 255, 255, .025);
}

.classone-lunch-hero > *,
.classone-lunch-student-hero > * {
	position: relative;
	z-index: 1;
}

.classone-lunch-hero-icon,
.classone-lunch-student-hero-art {
	display: grid;
	place-items: center;
	width: 94px;
	height: 94px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 30px;
	background: rgba(255, 255, 255, .13);
	font-size: 50px;
	box-shadow: inset 0 0 0 10px rgba(255, 255, 255, .04);
}

.classone-lunch-kicker {
	margin: 0 0 5px;
	color: var(--classone-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .09em;
}

.classone-lunch-hero h1,
.classone-lunch-student-hero h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(24px, 3vw, 36px);
	line-height: 1.35;
}

.classone-lunch-hero p:last-child,
.classone-lunch-student-hero p:last-child {
	margin: 8px 0 0;
	color: rgba(255, 255, 255, .76);
	font-size: 14px;
}

.classone-lunch-admin-links {
	display: flex;
	align-items: center;
	gap: 9px;
	flex-wrap: wrap;
	margin: 18px 0 20px;
}

.classone-lunch-admin-links .button,
.classone-lunch-filter-actions .button {
	border-radius: 9px;
}

.classone-lunch-admin-links .button-primary,
.classone-lunch-filter-actions .button-primary,
.classone-lunch-form-footer .button-primary {
	border-color: var(--classone-navy);
	background: var(--classone-navy);
}

.classone-lunch-outline-button {
	border-color: var(--classone-navy-2) !important;
	color: var(--classone-navy-2) !important;
}

.classone-lunch-panel-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 12px 0 18px;
	padding: 23px 26px;
	border: 1px solid var(--classone-line);
	border-radius: 18px;
	background: var(--classone-paper);
	box-shadow: 0 7px 23px rgba(var(--hlr-primary-rgb), .05);
}

.classone-lunch-panel-heading h2 {
	margin: 0;
	color: var(--classone-navy);
	font-size: 22px;
}

.classone-lunch-panel-heading .description {
	margin: 6px 0 0;
	color: var(--classone-muted);
}

.classone-lunch-year-badge,
.classone-lunch-report-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 8px 14px;
	border: 1px solid var(--hlr-line);
	border-radius: 12px;
	background: var(--classone-gold-soft);
	color: var(--hlr-primary);
	font-weight: 700;
}

.classone-lunch-report-icon {
	width: 55px;
	height: 55px;
	padding: 0;
	font-size: 28px;
}

.classone-lunch-calendar-toolbar {
	display: grid;
	grid-template-columns: 45px 1fr 45px;
	align-items: center;
	max-width: 440px;
	margin: 18px auto 15px;
	text-align: center;
}

.classone-lunch-month-arrow {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: var(--classone-navy);
	color: #fff;
	font-size: 20px;
	text-decoration: none;
	transition: transform .18s ease, background .18s ease;
}

.classone-lunch-month-arrow:hover {
	transform: translateY(-2px);
	background: var(--classone-navy-2);
	color: #fff;
}

.classone-lunch-month-arrow.is-disabled {
	opacity: .22;
	background: var(--hlr-muted);
}

.classone-lunch-current-month strong,
.classone-lunch-current-month span {
	display: block;
}

.classone-lunch-current-month strong {
	color: var(--classone-navy);
	font-size: 20px;
}

.classone-lunch-current-month span {
	margin-top: 2px;
	color: var(--classone-muted);
	font-size: 13px;
}

.classone-lunch-month-selector {
	display: flex;
	gap: 7px;
	overflow-x: auto;
	margin: 0 0 18px;
	padding: 4px 1px 9px;
	scrollbar-width: thin;
}

.classone-lunch-month-selector a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex: 0 0 auto;
	padding: 8px 11px;
	border: 1px solid var(--classone-line);
	border-radius: 11px;
	background: #fff;
	color: var(--classone-navy);
	font-size: 12px;
	text-decoration: none;
}

.classone-lunch-month-selector a small {
	color: var(--classone-muted);
}

.classone-lunch-month-selector a.is-active {
	border-color: var(--classone-navy);
	background: var(--classone-navy);
	color: #fff;
}

.classone-lunch-month-selector a.is-active small {
	color: rgba(255, 255, 255, .7);
}

.classone-lunch-month-card {
	margin-bottom: 20px;
	padding: 16px;
	border: 1px solid var(--classone-line);
	border-radius: 18px;
	background: var(--classone-paper);
	box-shadow: 0 7px 23px rgba(var(--hlr-primary-rgb), .05);
}

.classone-lunch-month-card-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 2px 14px;
}

.classone-lunch-month-card-heading h3 {
	margin: 0;
	color: var(--classone-navy);
	font-size: 17px;
}

.classone-lunch-month-card-heading span {
	color: var(--classone-muted);
	font-size: 11px;
}

.classone-lunch-weekdays,
.classone-lunch-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 8px;
}

.classone-lunch-weekdays {
	margin-bottom: 8px;
	color: var(--classone-muted);
	font-size: 12px;
	font-weight: 700;
	text-align: center;
}

.classone-lunch-day-slot {
	position: relative;
	min-height: 140px;
	padding: 11px;
	border: 1px solid var(--hlr-tint);
	border-radius: 14px;
	background: var(--hlr-tint);
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.classone-lunch-day-slot:hover {
	border-color: var(--hlr-line);
}

.classone-lunch-day-slot.is-blank {
	min-height: 0;
	border: 0;
	background: transparent;
}

.classone-lunch-day-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
	margin-bottom: 3px;
}

.classone-lunch-day-top strong {
	color: var(--classone-navy-2);
	font-size: 11px;
}

.classone-lunch-day-top span {
	display: grid;
	place-items: center;
	width: 29px;
	height: 29px;
	border-radius: 50%;
	background: var(--hlr-tint);
	color: var(--classone-navy);
	font-size: 14px;
	font-weight: 700;
}

.classone-lunch-gregorian-date {
	margin-bottom: 8px;
	color: var(--hlr-muted);
	font-size: 10px;
}

.classone-lunch-admin-field-label {
	display: block;
	margin-top: 8px;
	color: var(--classone-muted);
	font-size: 10px;
	font-weight: 700;
}

.classone-lunch-admin-field-label input {
	display: block;
	width: 100%;
	min-height: 35px;
	margin-top: 4px;
	padding: 4px 7px;
	border: 1px solid var(--hlr-tint);
	border-radius: 8px;
	background: #fff;
	color: var(--classone-ink);
	font-size: 11px;
}

.classone-lunch-admin-field-label input:focus {
	border-color: var(--classone-navy-2);
	box-shadow: 0 0 0 2px rgba(var(--hlr-primary-rgb), .11);
	outline: 0;
}

.classone-lunch-outside-label {
	display: block;
	margin-top: 8px;
	color: var(--classone-danger);
	font-size: 10px;
}

.classone-lunch-form-footer,
.classone-lunch-reservation-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin-top: 12px;
	padding: 15px 18px;
	border: 1px solid var(--hlr-line);
	border-radius: 14px;
	background: var(--hlr-tint);
}

.classone-lunch-form-footer p {
	margin: 0;
	color: var(--hlr-secondary);
	font-size: 12px;
}

.classone-lunch-dot {
	display: inline-block;
	width: 9px;
	height: 9px;
	margin-left: 3px;
	border-radius: 50%;
}

.classone-lunch-dot-gold {
	background: var(--classone-gold);
}

.classone-lunch-shortcode-box {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 18px;
	padding: 14px 17px;
	border-right: 4px solid var(--classone-gold);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 5px 15px rgba(var(--hlr-primary-rgb), .05);
	color: var(--classone-muted);
	font-size: 12px;
}

.classone-lunch-shortcode-box strong {
	color: var(--classone-navy);
}

.classone-lunch-shortcode-box code {
	direction: ltr;
	padding: 5px 9px;
	border-radius: 7px;
	background: var(--hlr-tint);
	color: var(--classone-navy);
}

.classone-lunch-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 15px 0;
}

.classone-lunch-stats > div {
	padding: 18px 20px;
	border: 1px solid var(--classone-line);
	border-radius: 15px;
	background: #fff;
}

.classone-lunch-stats span,
.classone-lunch-stats strong {
	display: block;
}

.classone-lunch-stats span {
	color: var(--classone-muted);
	font-size: 12px;
}

.classone-lunch-stats strong {
	margin-top: 6px;
	color: var(--classone-navy);
	font-size: 22px;
}

.classone-lunch-stats small {
	font-size: 11px;
	font-weight: 400;
}

.classone-lunch-report-filters {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	flex-wrap: wrap;
	margin: 14px 0 18px;
	padding: 17px;
	border: 1px solid var(--classone-line);
	border-radius: 15px;
	background: #fff;
}

.classone-lunch-report-filters label {
	display: flex;
	flex-direction: column;
	gap: 5px;
	color: var(--classone-muted);
	font-size: 11px;
	font-weight: 700;
}

.classone-lunch-report-filters input,
.classone-lunch-report-filters select {
	min-width: 155px;
	min-height: 37px;
	padding: 5px 8px;
	border: 1px solid var(--hlr-tint);
	border-radius: 8px;
	background: #fff;
}

.classone-lunch-filter-actions {
	display: flex;
	gap: 7px;
}

.classone-lunch-report-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--classone-line);
	border-radius: 14px;
	background: #fff;
}

.classone-lunch-report-table {
	min-width: 1050px;
	border: 0;
	direction: rtl;
}

.classone-lunch-report-table th {
	background: var(--hlr-tint);
	color: var(--classone-navy);
	font-size: 11px;
	white-space: nowrap;
}

.classone-lunch-report-table td {
	font-size: 12px;
	vertical-align: middle;
}

.classone-lunch-empty-cell {
	padding: 30px !important;
	color: var(--classone-muted);
	text-align: center;
}

.classone-lunch-payment-badge {
	display: inline-block;
	padding: 5px 8px;
	border-radius: 20px;
	background: var(--hlr-tint);
	color: var(--hlr-primary);
	font-size: 10px;
	white-space: nowrap;
}

/* Front-end student area */
.classone-lunch-student-app {
	max-width: 1250px;
	margin: 25px auto;
	padding: 0 14px 40px;
}

.classone-lunch-student-hero {
	min-height: 190px;
	padding: 34px 40px;
}

.classone-lunch-student-hero-art {
	width: 110px;
	height: 110px;
	font-size: 59px;
}

.classone-lunch-student-profile {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: -22px 24px 18px;
	padding: 14px 17px;
	border: 1px solid rgba(var(--hlr-primary-rgb), .08);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(var(--hlr-primary-rgb), .11);
}

.classone-lunch-avatar {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 45px;
	height: 45px;
	border-radius: 15px;
	background: var(--classone-gold);
	color: var(--classone-navy);
	font-size: 20px;
	font-weight: 800;
}

.classone-lunch-student-profile strong,
.classone-lunch-student-profile span {
	display: block;
}

.classone-lunch-student-profile strong {
	color: var(--classone-navy);
	font-size: 15px;
}

.classone-lunch-student-profile span {
	margin-top: 4px;
	color: var(--classone-muted);
	font-size: 11px;
}

.classone-lunch-week-deadline {
	margin-right: auto;
	padding-right: 17px;
	border-right: 1px solid var(--classone-line);
	text-align: left;
}

.classone-lunch-week-deadline small,
.classone-lunch-week-deadline strong {
	display: block;
}

.classone-lunch-week-deadline small {
	color: var(--classone-muted);
	font-size: 10px;
}

.classone-lunch-week-deadline strong {
	margin-top: 4px;
	color: var(--classone-navy);
	font-size: 12px;
}

.classone-lunch-student-notice {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 17px;
	padding: 15px 17px;
	border: 1px solid var(--hlr-line);
	border-radius: 14px;
	background: var(--classone-mint);
	color: var(--hlr-primary);
}

.classone-lunch-student-notice > span {
	font-size: 18px;
}

.classone-lunch-student-notice strong {
	font-size: 13px;
}

.classone-lunch-student-notice p {
	margin: 4px 0 0;
	font-size: 11px;
	line-height: 1.8;
}

.classone-lunch-student-month .classone-lunch-day-slot {
	min-height: 173px;
}

.classone-lunch-student-month .classone-lunch-day-slot.is-bookable {
	border-color: var(--hlr-secondary);
	background: linear-gradient(145deg, var(--hlr-tint), var(--hlr-tint));
	box-shadow: 0 6px 16px rgba(var(--hlr-primary-rgb), .12);
}

.classone-lunch-student-month .classone-lunch-day-slot.is-bookable:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(var(--hlr-primary-rgb), .18);
}

.classone-lunch-student-month .classone-lunch-day-slot.is-selected {
	border-color: var(--classone-green);
	background: linear-gradient(145deg, var(--hlr-tint), var(--hlr-tint));
	box-shadow: 0 6px 16px rgba(var(--hlr-primary-rgb), .12);
}

.classone-lunch-student-month .classone-lunch-day-slot.is-locked {
	opacity: .72;
}

.classone-lunch-food-name {
	min-height: 30px;
	margin-top: 6px;
	color: var(--classone-navy);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.7;
}

.classone-lunch-food-price {
	margin-top: 3px;
	color: var(--classone-green);
	font-size: 13px;
	font-weight: 800;
}

.classone-lunch-food-price small {
	font-size: 9px;
	font-weight: 400;
}

.classone-lunch-food-unavailable {
	min-height: 34px;
	margin-top: 6px;
	color: var(--classone-danger);
	font-size: 10px;
	line-height: 1.8;
}

.classone-lunch-check-label {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 8px;
	color: var(--classone-navy-2);
	font-size: 10px;
	line-height: 1.5;
}

.classone-lunch-check-label input {
	accent-color: var(--classone-green);
}

.classone-lunch-check-label input:disabled + span {
	color: var(--hlr-muted);
}

.classone-lunch-primary-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 9px 20px;
	border: 0;
	border-radius: 12px;
	background: var(--classone-navy);
	box-shadow: 0 8px 16px rgba(var(--hlr-primary-rgb), .15);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s ease, background .18s ease;
}

.classone-lunch-primary-button:hover {
	transform: translateY(-2px);
	background: var(--classone-navy-2);
	color: #fff;
}

.classone-lunch-total-note {
	color: var(--classone-muted);
	font-size: 11px;
}

.classone-lunch-form-message {
	display: none;
	margin-top: 13px;
	padding: 12px 15px;
	border-radius: 11px;
	font-size: 12px;
	line-height: 1.8;
}

.classone-lunch-form-message.is-success {
	display: block;
	border: 1px solid var(--hlr-line);
	background: var(--classone-mint);
	color: var(--hlr-primary);
}

.classone-lunch-form-message.is-error {
	display: block;
	border: 1px solid #f0d1cf;
	background: #fff3f2;
	color: var(--classone-danger);
}

.classone-lunch-login-required {
	max-width: 560px;
	margin: 50px auto;
	padding: 35px 28px;
	border: 1px solid var(--classone-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--classone-shadow);
	color: var(--classone-ink);
	direction: rtl;
	font-family: Tahoma, Arial, sans-serif;
	text-align: center;
}

.classone-lunch-login-plate {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	margin: 0 auto 15px;
	border-radius: 24px;
	background: var(--classone-gold-soft);
	font-size: 39px;
}

.classone-lunch-login-required h2 {
	margin: 0;
	color: var(--classone-navy);
	font-size: 23px;
}

.classone-lunch-login-required p {
	margin: 11px 0 20px;
	color: var(--classone-muted);
	font-size: 13px;
	line-height: 2;
}

@media (max-width: 900px) {
	.classone-lunch-weekdays,
	.classone-lunch-calendar-grid {
		gap: 5px;
	}

	.classone-lunch-day-slot {
		padding: 8px;
	}

	.classone-lunch-student-month .classone-lunch-day-slot {
		min-height: 160px;
	}

	.classone-lunch-admin-field-label input {
		font-size: 10px;
	}
}

@media (max-width: 680px) {
	.classone-lunch-admin {
		padding-left: 5px;
		padding-right: 5px;
	}

	.classone-lunch-hero,
	.classone-lunch-student-hero {
		min-height: 145px;
		padding: 24px 22px;
		border-radius: 18px;
	}

	.classone-lunch-hero-icon,
	.classone-lunch-student-hero-art {
		width: 66px;
		height: 66px;
		border-radius: 20px;
		font-size: 34px;
	}

	.classone-lunch-hero h1,
	.classone-lunch-student-hero h1 {
		font-size: 23px;
	}

	.classone-lunch-panel-heading,
	.classone-lunch-student-profile,
	.classone-lunch-form-footer,
	.classone-lunch-reservation-footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.classone-lunch-panel-heading {
		padding: 17px;
	}

	.classone-lunch-year-badge {
		font-size: 11px;
	}

	.classone-lunch-month-card {
		padding: 8px;
		border-radius: 14px;
	}

	.classone-lunch-weekdays,
	.classone-lunch-calendar-grid {
		gap: 3px;
	}

	.classone-lunch-weekdays {
		font-size: 9px;
	}

	.classone-lunch-day-slot {
		min-height: 120px;
		padding: 5px;
		border-radius: 9px;
	}

	.classone-lunch-student-month .classone-lunch-day-slot {
		min-height: 140px;
	}

	.classone-lunch-day-top strong {
		font-size: 8px;
	}

	.classone-lunch-day-top span {
		width: 22px;
		height: 22px;
		font-size: 11px;
	}

	.classone-lunch-gregorian-date {
		margin-bottom: 5px;
		font-size: 8px;
	}

	.classone-lunch-admin-field-label,
	.classone-lunch-check-label,
	.classone-lunch-food-unavailable {
		font-size: 8px;
	}

	.classone-lunch-admin-field-label input {
		min-height: 27px;
		margin-top: 2px;
		padding: 2px 4px;
		font-size: 8px;
	}

	.classone-lunch-food-name {
		min-height: 27px;
		font-size: 9px;
	}

	.classone-lunch-food-price {
		font-size: 9px;
	}

	.classone-lunch-check-label {
		align-items: flex-start;
		gap: 2px;
		line-height: 1.35;
	}

	.classone-lunch-check-label input {
		width: 12px;
		height: 12px;
		margin: 0;
	}

	.classone-lunch-student-profile {
		margin: -15px 10px 15px;
		padding: 12px;
	}

	.classone-lunch-week-deadline {
		width: 100%;
		margin-right: 0;
		padding: 8px 0 0;
		border-top: 1px solid var(--classone-line);
		border-right: 0;
		text-align: right;
	}

	.classone-lunch-stats {
		grid-template-columns: 1fr;
	}

	.classone-lunch-report-filters {
		align-items: stretch;
		flex-direction: column;
	}

	.classone-lunch-report-filters input,
	.classone-lunch-report-filters select,
	.classone-lunch-filter-actions,
	.classone-lunch-filter-actions .button {
		width: 100%;
	}

	.classone-lunch-filter-actions {
		flex-direction: column;
	}

	.classone-lunch-form-footer p,
	.classone-lunch-total-note {
		line-height: 1.8;
	}
}

/* ClassOne visual system and responsive weekly experience. */
.classone-lunch-admin .classone-lunch-hero {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	min-height: 174px;
	background:
		radial-gradient(circle at 7% 16%, rgba(var(--hlr-primary-rgb), .22), transparent 18rem),
		radial-gradient(circle at 91% 112%, rgba(var(--hlr-primary-rgb), .42), transparent 23rem),
		linear-gradient(135deg, var(--classone-navy), var(--hlr-dark) 66%, var(--hlr-dark));
}

.classone-lunch-admin-brand-mark,
.classone-lunch-student-brand img,
.classone-lunch-login-brand img {
	display: block;
	object-fit: contain;
}

.classone-lunch-admin-brand-mark {
	display: grid;
	place-items: center;
	width: 96px;
	height: 96px;
	padding: 9px;
	border: 1px solid rgba(var(--hlr-primary-rgb), .45);
	border-radius: 27px;
	background: #fff;
	box-shadow: 0 14px 28px rgba(0, 0, 0, .18);
	transform: rotate(-4deg);
}

.classone-lunch-admin-brand-mark img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.classone-lunch-admin .classone-lunch-hero h1 {
	font-size: clamp(28px, 3.2vw, 42px);
	letter-spacing: -.02em;
}

.classone-lunch-admin .classone-lunch-hero p:last-child {
	font-size: 13px;
}

.classone-lunch-admin-links .button,
.classone-lunch-filter-actions .button,
.classone-lunch-form-footer .button-primary {
	min-height: 40px;
	padding: 5px 14px;
	border-radius: 11px;
	font-weight: 700;
}

.classone-lunch-panel-heading {
	border-top: 3px solid rgba(var(--hlr-primary-rgb), .75);
	box-shadow: 0 12px 30px rgba(var(--hlr-primary-rgb), .07);
}

.classone-lunch-heading-icon {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	margin-left: 8px;
	border-radius: 11px;
	vertical-align: middle;
	color: var(--hlr-secondary);
	background: var(--hlr-tint);
}

.classone-lunch-heading-icon svg { width: 18px; height: 18px; }

.classone-lunch-year-badge,
.classone-lunch-report-icon {
	border-color: rgba(var(--hlr-primary-rgb), .42);
	background: linear-gradient(145deg, var(--hlr-tint), var(--hlr-tint));
}

.classone-lunch-admin .classone-lunch-day-slot {
	min-height: 184px;
	border-color: var(--hlr-tint);
	background: linear-gradient(145deg, #fff, var(--hlr-tint));
	box-shadow: 0 5px 17px rgba(var(--hlr-primary-rgb), .04);
}

.classone-lunch-admin .classone-lunch-day-slot:hover {
	border-color: rgba(var(--hlr-primary-rgb), .65);
	box-shadow: 0 10px 24px rgba(var(--hlr-primary-rgb), .09);
	transform: translateY(-2px);
}

.classone-lunch-admin .classone-lunch-day-top strong {
	color: var(--classone-navy);
}

.classone-lunch-admin .classone-lunch-day-top span {
	background: var(--classone-mint);
	color: var(--classone-navy);
}

.classone-lunch-admin .classone-lunch-admin-field-label {
	position: relative;
	padding-right: 22px;
	color: var(--classone-navy-2);
}

.classone-lunch-admin .classone-lunch-admin-field-label::before {
	position: absolute;
	right: 0;
	top: 0;
	width: 17px;
	height: 17px;
	content: '🍽';
	font-size: 13px;
}

.classone-lunch-admin .classone-lunch-admin-field-label + .classone-lunch-admin-field-label::before {
	content: '◈';
	color: var(--classone-gold);
	font-size: 15px;
}

.classone-lunch-admin .classone-lunch-admin-field-label input {
	min-height: 40px;
	border-color: var(--hlr-line);
	border-radius: 10px;
	font-size: 12px;
}

.classone-lunch-admin .classone-lunch-form-footer,
.classone-lunch-admin .classone-lunch-shortcode-box {
	border-color: rgba(var(--hlr-primary-rgb), .34);
	box-shadow: 0 9px 22px rgba(var(--hlr-primary-rgb), .06);
}

.classone-lunch-student-app {
	width: 100%;
	max-width: 1440px;
	margin: 32px auto;
	padding: 0 22px 58px;
}

/* The public student view uses a Persian-first type system. The admin keeps
 * its existing WordPress-friendly stack above. */
.classone-lunch-student-app,
.classone-lunch-login-required {
	font-family: "Vazirmatn", "Mazar", "IRANSansX", "Shabnam", "Yekan Bakh", "B Yekan", Tahoma, Arial, sans-serif;
	font-feature-settings: "ss01" 1, "ss02" 1;
	text-rendering: optimizeLegibility;
}

.classone-lunch-student-app button,
.classone-lunch-student-app input,
.classone-lunch-student-app select,
.classone-lunch-student-app textarea,
.classone-lunch-login-required button,
.classone-lunch-login-required input,
.classone-lunch-login-required select,
.classone-lunch-login-required textarea {
	font-family: inherit;
}

.classone-lunch-student-hero {
	min-height: 250px;
	padding: 37px clamp(24px, 5vw, 72px);
	border-radius: 30px;
	background:
		radial-gradient(circle at 8% 12%, rgba(var(--hlr-primary-rgb), .21), transparent 17rem),
		radial-gradient(circle at 88% 98%, rgba(var(--hlr-primary-rgb), .45), transparent 25rem),
		linear-gradient(135deg, var(--hlr-dark), var(--hlr-dark) 65%, var(--hlr-dark));
	box-shadow: 0 22px 55px rgba(var(--hlr-primary-rgb), .18);
}

.classone-lunch-student-hero::after {
	left: auto;
	right: -70px;
	top: auto;
	bottom: -145px;
	width: 310px;
	height: 310px;
	border-color: rgba(var(--hlr-primary-rgb), .2);
}

.classone-lunch-student-hero-copy {
	max-width: 850px;
}

.classone-lunch-student-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 21px;
	color: var(--classone-gold-soft);
	direction: ltr;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .15em;
}

.classone-lunch-student-brand img {
	width: 43px;
	height: 43px;
	padding: 4px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 17px rgba(0, 0, 0, .18);
}

.classone-lunch-student-hero .classone-lunch-kicker {
	color: var(--classone-gold-light, var(--hlr-secondary));
	font-size: 13px;
}

.classone-lunch-student-hero h1 {
	max-width: 760px;
	font-size: clamp(27px, 4vw, 52px);
	font-weight: 800;
	line-height: 1.42;
}

.classone-lunch-student-hero p:last-child {
	max-width: 650px;
	font-weight: 500;
	font-size: 15px;
	line-height: 2;
}

.classone-lunch-student-hero-art {
	width: 128px;
	height: 128px;
	border: 1px solid rgba(var(--hlr-primary-rgb), .42);
	border-radius: 36px;
	background: rgba(255, 255, 255, .1);
	box-shadow: inset 0 0 0 12px rgba(255, 255, 255, .035), 0 17px 33px rgba(0, 0, 0, .16);
	font-size: 66px;
}

.classone-lunch-week-switcher {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 22px 12px 20px;
	padding: 13px 16px;
	border: 1px solid rgba(var(--hlr-primary-rgb), .1);
	border-radius: 19px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 12px 28px rgba(var(--hlr-primary-rgb), .07);
}

.classone-lunch-week-switcher-heading,
.classone-lunch-week-card-title,
.classone-lunch-history-summary,
.classone-lunch-total-note {
	display: flex;
	align-items: center;
}

.classone-lunch-week-switcher-heading {
	gap: 10px;
	min-width: 190px;
}

.classone-lunch-week-switcher-heading strong,
.classone-lunch-week-switcher-heading small {
	display: block;
}

.classone-lunch-week-switcher-heading strong {
	color: var(--classone-navy);
	font-size: 13px;
}

.classone-lunch-week-switcher-heading small {
	margin-top: 3px;
	color: var(--classone-muted);
	font-size: 10px;
}

.classone-lunch-icon-badge {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	border-radius: 13px;
	color: var(--classone-navy);
	background: var(--classone-mint);
}

.classone-lunch-icon-badge.is-gold {
	color: var(--hlr-secondary);
	background: var(--hlr-tint);
}

.classone-lunch-icon-badge svg,
.classone-lunch-notice-icon svg,
.classone-lunch-button-icon svg,
.classone-lunch-week-status svg,
.classone-lunch-week-day-status svg,
.classone-lunch-day-icon svg,
.classone-lunch-food-icon svg,
.classone-lunch-week-price svg {
	display: block;
	width: 19px;
	height: 19px;
}

.classone-lunch-week-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 7px;
	max-width: 100%;
	overflow-x: auto;
	padding: 2px;
	scrollbar-width: thin;
}

.classone-lunch-week-nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 7px 12px;
	border: 1px solid var(--hlr-line);
	border-radius: 11px;
	background: #fff;
	color: var(--classone-navy-2);
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
	text-decoration: none;
	transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.classone-lunch-week-nav a:hover {
	border-color: var(--classone-gold);
	color: var(--classone-navy);
	transform: translateY(-2px);
}

.classone-lunch-week-nav a.is-active {
	border-color: var(--classone-navy);
	background: var(--classone-navy);
	box-shadow: 0 7px 14px rgba(var(--hlr-primary-rgb), .16);
	color: #fff;
}

.classone-lunch-student-profile {
	margin: -27px 32px 21px;
	padding: 16px 20px;
	border-color: rgba(var(--hlr-primary-rgb), .1);
	border-radius: 19px;
	box-shadow: 0 15px 31px rgba(var(--hlr-primary-rgb), .12);
}

.classone-lunch-avatar {
	width: 50px;
	height: 50px;
	border: 3px solid #fff;
	background: linear-gradient(145deg, var(--classone-gold-light, var(--hlr-secondary)), var(--classone-gold));
	box-shadow: 0 6px 14px rgba(var(--hlr-primary-rgb), .25);
}

.classone-lunch-week-deadline {
	padding-right: 20px;
}

.classone-lunch-student-notice {
	margin: 0 0 20px;
	padding: 16px 19px;
	border-color: var(--hlr-line);
	border-radius: 17px;
	box-shadow: 0 7px 17px rgba(var(--hlr-primary-rgb), .05);
}

.classone-lunch-student-notice.is-history {
	border-color: rgba(var(--hlr-primary-rgb), .35);
	background: var(--hlr-tint);
	color: var(--hlr-primary);
}

.classone-lunch-notice-icon {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 35px;
	height: 35px;
	border-radius: 12px;
	color: var(--classone-navy);
	background: rgba(255, 255, 255, .66);
}

.classone-lunch-student-notice.is-history .classone-lunch-notice-icon {
	color: var(--hlr-secondary);
	background: rgba(var(--hlr-primary-rgb), .15);
}

.classone-lunch-week-card {
	margin-bottom: 20px;
	padding: 21px;
	border: 1px solid rgba(var(--hlr-primary-rgb), .1);
	border-radius: 24px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 13px 32px rgba(var(--hlr-primary-rgb), .08);
}

.classone-lunch-week-card-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 17px;
	margin-bottom: 19px;
	padding-bottom: 17px;
	border-bottom: 1px solid var(--classone-line);
}

.classone-lunch-week-card-title {
	gap: 11px;
}

.classone-lunch-week-card-title p,
.classone-lunch-week-card-title h2,
.classone-lunch-week-card-title small {
	display: block;
	margin: 0;
}

.classone-lunch-week-card-title p {
	color: var(--classone-gold);
	font-size: 11px;
	font-weight: 800;
}

.classone-lunch-week-card-title h2 {
	margin-top: 4px;
	color: var(--classone-navy);
	font-size: clamp(19px, 2.2vw, 29px);
	line-height: 1.45;
}

.classone-lunch-week-card-title small {
	margin-top: 4px;
	color: var(--classone-muted);
	font-size: 10px;
}

.classone-lunch-week-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
	min-height: 36px;
	padding: 7px 12px;
	border-radius: 11px;
	font-size: 11px;
	font-weight: 800;
}

.classone-lunch-week-status.is-open {
	background: var(--hlr-tint);
	color: var(--hlr-primary);
}

.classone-lunch-week-status.is-readonly {
	background: var(--hlr-tint);
	color: var(--hlr-secondary);
}

.classone-lunch-week-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 13px;
}

.classone-lunch-week-day {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 255px;
	padding: 15px 13px 13px;
	border: 1px solid var(--hlr-tint);
	border-radius: 19px;
	background: linear-gradient(160deg, #fff, var(--hlr-tint));
	box-shadow: 0 8px 19px rgba(var(--hlr-primary-rgb), .045);
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.classone-lunch-week-day.is-bookable {
	border-color: rgba(var(--hlr-primary-rgb), .72);
	background: linear-gradient(160deg, var(--hlr-tint), var(--hlr-tint));
}

.classone-lunch-week-day.is-bookable:hover {
	box-shadow: 0 14px 26px rgba(var(--hlr-primary-rgb), .16);
	transform: translateY(-4px);
}

.classone-lunch-week-day.is-selected {
	border-color: rgba(var(--hlr-primary-rgb), .65);
	background: linear-gradient(160deg, var(--hlr-tint), var(--hlr-tint));
	box-shadow: 0 12px 24px rgba(var(--hlr-primary-rgb), .11);
}

.classone-lunch-week-day.is-empty,
.classone-lunch-week-day.is-outside-school-year {
	background: var(--hlr-tint);
	opacity: .76;
}

.classone-lunch-week-day-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 7px;
}

.classone-lunch-week-day-name {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	color: var(--classone-navy);
	font-size: 12px;
}

.classone-lunch-day-icon {
	display: inline-grid;
	place-items: center;
	width: 25px;
	height: 25px;
	border-radius: 9px;
	color: var(--classone-navy);
	background: var(--classone-mint);
}

.classone-lunch-day-icon svg { width: 14px; height: 14px; }

.classone-lunch-week-day-number {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 37px;
	height: 37px;
	border: 1px solid rgba(var(--hlr-primary-rgb), .36);
	border-radius: 13px;
	background: var(--hlr-tint);
	color: var(--hlr-secondary);
	font-size: 17px;
	font-weight: 900;
}

.classone-lunch-week-day.is-selected .classone-lunch-week-day-number {
	border-color: rgba(var(--hlr-primary-rgb), .25);
	background: var(--hlr-tint);
	color: var(--classone-navy);
}

.classone-lunch-week-day-date {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	margin: 12px 0 10px;
	padding-bottom: 9px;
	border-bottom: 1px dashed var(--hlr-tint);
	color: var(--classone-muted);
	font-size: 10px;
}

.classone-lunch-week-day-date span {
	direction: ltr;
	color: var(--hlr-muted);
	font-size: 9px;
}

.classone-lunch-week-food {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	min-height: 52px;
	color: var(--classone-navy);
	font-size: 13px;
	line-height: 1.75;
}

.classone-lunch-week-food strong { font-size: 13px; }

.classone-lunch-week-food > span:last-child {
	color: var(--classone-danger);
	font-size: 10px;
}

.classone-lunch-food-icon {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 29px;
	height: 29px;
	border-radius: 10px;
	color: var(--hlr-secondary);
	background: var(--hlr-tint);
}

.classone-lunch-food-icon svg { width: 16px; height: 16px; }

.classone-lunch-week-price {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 7px;
	color: var(--classone-green);
	font-size: 13px;
	font-weight: 900;
}

.classone-lunch-week-price > span { display: inline-flex; }
.classone-lunch-week-price svg { width: 15px; height: 15px; }
.classone-lunch-week-price small { margin-right: 2px; font-size: 9px; font-weight: 400; }

.classone-lunch-week-check-label {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-top: auto;
	padding-top: 14px;
	color: var(--classone-navy-2);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.5;
}

.classone-lunch-week-check-label input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--classone-green);
}

.classone-lunch-week-day-status {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	padding-top: 14px;
	color: var(--classone-muted);
	font-size: 10px;
	font-weight: 700;
	line-height: 1.6;
}

.classone-lunch-week-day-status.is-selected { color: var(--classone-green); }
.classone-lunch-week-day-status.is-selected svg { width: 16px; height: 16px; }

.classone-lunch-reservation-footer {
	margin-top: 18px;
	padding: 17px 20px;
	border-color: rgba(var(--hlr-primary-rgb), .36);
	background: linear-gradient(145deg, var(--hlr-tint), var(--hlr-tint));
}

.classone-lunch-total-note {
	align-items: flex-start;
	flex-direction: column;
	gap: 2px;
	color: var(--classone-muted);
	font-size: 11px;
}

.classone-lunch-total-note strong {
	color: var(--classone-navy);
	font-size: 17px;
}

.classone-lunch-total-note strong small {
	font-size: 10px;
	font-weight: 400;
}

.classone-lunch-total-note > small {
	font-size: 10px;
	line-height: 1.8;
}

.classone-lunch-button-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	color: var(--classone-navy);
	background: var(--hlr-secondary);
}

.classone-lunch-button-icon svg { width: 15px; height: 15px; }

.classone-lunch-primary-button {
	min-height: 52px;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--classone-navy), var(--hlr-primary));
	box-shadow: 0 12px 23px rgba(var(--hlr-primary-rgb), .18);
}

.classone-lunch-primary-button:hover {
	background: linear-gradient(135deg, var(--hlr-dark), var(--hlr-primary));
	box-shadow: 0 16px 29px rgba(var(--hlr-primary-rgb), .25);
}

.classone-lunch-history-view .classone-lunch-week-card { margin-bottom: 15px; }

.classone-lunch-history-summary {
	gap: 10px;
	margin-bottom: 20px;
	padding: 15px 17px;
	border: 1px solid rgba(var(--hlr-primary-rgb), .34);
	border-radius: 16px;
	background: var(--hlr-tint);
	color: var(--hlr-primary);
}

.classone-lunch-history-summary strong,
.classone-lunch-history-summary small {
	display: block;
}

.classone-lunch-history-summary strong { color: var(--hlr-primary); font-size: 12px; }
.classone-lunch-history-summary small { margin-top: 3px; font-size: 10px; line-height: 1.8; }

.classone-lunch-login-required {
	border-top: 4px solid var(--classone-gold);
	background: linear-gradient(145deg, #fff, var(--hlr-tint));
}

.classone-lunch-login-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 16px;
	color: var(--classone-navy);
	font-size: 11px;
	font-weight: 800;
}

.classone-lunch-login-brand img {
	width: 58px;
	height: 58px;
	padding: 5px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(var(--hlr-primary-rgb), .14);
}

@media (max-width: 1100px) {
	.classone-lunch-week-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.classone-lunch-admin .classone-lunch-calendar-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.classone-lunch-admin .classone-lunch-weekdays { display: none; }
}

@media (max-width: 760px) {
	.classone-lunch-student-app { margin-top: 18px; padding: 0 12px 38px; }
	.classone-lunch-student-hero { min-height: 225px; padding: 28px 24px; border-radius: 23px; }
	.classone-lunch-student-hero-art { width: 84px; height: 84px; border-radius: 25px; font-size: 44px; }
	.classone-lunch-student-hero h1 { font-size: clamp(24px, 6vw, 34px); }
	.classone-lunch-student-hero p:last-child { font-size: 12px; }
	.classone-lunch-week-switcher { align-items: stretch; flex-direction: column; margin: 16px 4px 18px; padding: 13px; }
	.classone-lunch-week-nav { justify-content: flex-start; }
	.classone-lunch-student-profile { margin: -21px 17px 18px; }
	.classone-lunch-week-card { padding: 15px; border-radius: 20px; }
	.classone-lunch-week-card-heading { align-items: flex-start; flex-direction: column; }
	.classone-lunch-week-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.classone-lunch-week-day { min-height: 220px; padding: 13px 11px; }
	.classone-lunch-reservation-footer { align-items: stretch; flex-direction: column; }
	.classone-lunch-reservation-footer .classone-lunch-primary-button { width: 100%; }
	.classone-lunch-admin .classone-lunch-hero { grid-template-columns: auto minmax(0, 1fr); gap: 14px; min-height: 145px; padding: 23px 20px; }
	.classone-lunch-admin .classone-lunch-hero-icon { display: none; }
	.classone-lunch-admin-brand-mark { width: 70px; height: 70px; border-radius: 19px; }
	.classone-lunch-admin .classone-lunch-hero h1 { font-size: 26px; }
	.classone-lunch-admin .classone-lunch-hero p:last-child { font-size: 11px; }
	.classone-lunch-admin .classone-lunch-calendar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.classone-lunch-admin .classone-lunch-day-slot { min-height: 170px; padding: 12px; border-radius: 14px; }
	.classone-lunch-admin .classone-lunch-admin-field-label { font-size: 11px; }
	.classone-lunch-admin .classone-lunch-admin-field-label input { min-height: 39px; font-size: 11px; }
}

@media (max-width: 480px) {
	.classone-lunch-student-hero { min-height: 300px; align-items: flex-start; flex-direction: column; padding: 23px 19px; }
	.classone-lunch-student-hero-art { position: absolute; top: 20px; left: 18px; width: 66px; height: 66px; font-size: 35px; }
	.classone-lunch-student-brand img { width: 35px; height: 35px; }
	.classone-lunch-student-brand { font-size: 8px; }
	.classone-lunch-student-profile { align-items: flex-start; margin-right: 9px; margin-left: 9px; padding: 13px; }
	.classone-lunch-week-card-title h2 { font-size: 18px; }
	.classone-lunch-week-grid { grid-template-columns: 1fr; }
	.classone-lunch-week-day { min-height: 185px; }
	.classone-lunch-week-food { min-height: 42px; }
	.classone-lunch-admin .classone-lunch-calendar-grid { grid-template-columns: 1fr; }
	.classone-lunch-admin .classone-lunch-day-slot { min-height: 155px; }
}

@media (prefers-reduced-motion: reduce) {
	.classone-lunch-shell *,
	.classone-lunch-shell *::before,
	.classone-lunch-shell *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/* Bale messenger administration */
.classone-lunch-messenger-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
	gap: 18px;
	margin-bottom: 18px;
}

.classone-lunch-messenger-card {
	padding: 22px 24px;
	border: 1px solid var(--classone-line);
	border-radius: 18px;
	background: var(--classone-paper);
	box-shadow: 0 7px 23px rgba(var(--hlr-primary-rgb), .05);
}

.classone-lunch-messenger-card h3 {
	margin: 0 0 7px;
	color: var(--classone-navy);
	font-size: 17px;
}

.classone-lunch-messenger-card > .description,
.classone-lunch-messenger-test-card > p {
	color: var(--classone-muted);
	line-height: 1.9;
}

.classone-lunch-messenger-form {
	display: grid;
	gap: 14px;
}

.classone-lunch-messenger-form label {
	display: grid;
	gap: 6px;
	color: var(--classone-ink);
	font-size: 12px;
	font-weight: 700;
}

.classone-lunch-messenger-form input[type="text"],
.classone-lunch-messenger-form input[type="password"],
.classone-lunch-messenger-form textarea {
	width: 100%;
	border: 1px solid var(--classone-line);
	border-radius: 10px;
	background: var(--hlr-tint);
	color: var(--classone-ink);
	font-family: Tahoma, Arial, sans-serif;
}

.classone-lunch-messenger-form input[type="text"],
.classone-lunch-messenger-form input[type="password"] {
	min-height: 42px;
	padding: 8px 11px;
}

.classone-lunch-messenger-form textarea {
	min-height: 145px;
	padding: 11px 13px;
	line-height: 1.9;
	resize: vertical;
}

.classone-lunch-messenger-form input:focus,
.classone-lunch-messenger-form textarea:focus {
	border-color: var(--classone-green);
	box-shadow: 0 0 0 2px rgba(var(--hlr-primary-rgb), .12);
	outline: none;
}

.classone-lunch-messenger-form label small,
.classone-lunch-messenger-test-card small,
.classone-lunch-messenger-schedule-note,
.classone-lunch-last-sent {
	color: var(--classone-muted);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.8;
}

.classone-lunch-checkbox-setting {
	display: flex !important;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 8px !important;
}

.classone-lunch-checkbox-setting input {
	accent-color: var(--classone-green);
}

.classone-lunch-messenger-schedule-note {
	margin: -4px 0 0;
}

.classone-lunch-messenger-test-card {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
}

.classone-lunch-messenger-test-card form {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 9px;
}

.classone-lunch-messenger-test-card .button,
.classone-lunch-messenger-form .button {
	border-radius: 9px;
}

.classone-lunch-last-sent {
	margin-top: auto;
	padding-top: 24px;
}

.classone-lunch-message-template-card,
.classone-lunch-bale-logs-card {
	margin-bottom: 18px;
}

.classone-lunch-placeholder-list {
	display: flex;
	gap: 7px;
	flex-wrap: wrap;
	margin: 0;
}

.classone-lunch-placeholder-list code,
.classone-lunch-bale-logs-table code {
	padding: 4px 7px;
	border: 1px solid var(--hlr-tint);
	border-radius: 6px;
	background: var(--hlr-tint);
	color: var(--classone-green);
	direction: ltr;
}

.classone-lunch-logs-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 16px;
}

.classone-lunch-logs-heading h3 { margin-bottom: 4px; }
.classone-lunch-logs-heading p { margin: 0; }

.classone-lunch-log-actions {
	display: flex;
	align-items: center;
	gap: 7px;
	flex-wrap: wrap;
}

.classone-lunch-log-actions form { margin: 0; }
.classone-lunch-log-actions .button { border-radius: 8px; }

.classone-lunch-log-status {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
}

.classone-lunch-log-status.is-success { background: var(--hlr-tint); color: var(--hlr-primary); }
.classone-lunch-log-status.is-error { background: #fff0ef; color: #ae403b; }
.classone-lunch-log-status.is-skipped { background: var(--hlr-tint); color: var(--hlr-primary); }

.classone-lunch-bale-logs-table td:last-child {
	max-width: 360px;
	white-space: normal;
	word-break: break-word;
}

.classone-lunch-primary-button:disabled {
	opacity: .58;
	box-shadow: none;
	cursor: not-allowed;
	transform: none;
}

@media (max-width: 860px) {
	.classone-lunch-messenger-grid { grid-template-columns: 1fr; }
	.classone-lunch-logs-heading { flex-direction: column; }
}

@media (max-width: 560px) {
	.classone-lunch-messenger-card { padding: 18px 15px; }
	.classone-lunch-messenger-test-card form { align-items: stretch; flex-direction: column; }
	.classone-lunch-messenger-test-card .button { width: 100%; }
	.classone-lunch-log-actions { width: 100%; }
	.classone-lunch-log-actions .button,
	.classone-lunch-log-actions form,
	.classone-lunch-log-actions form .button { width: 100%; }
}

/* Inherit the active ClassOne typography without touching booking layout. */
.classone-lunch-shell,.classone-lunch-login-required,.classone-lunch-student-app{font-family:var(--c1-body-font,Tahoma,Arial,sans-serif)}
.classone-lunch-shell h1,.classone-lunch-shell h2,.classone-lunch-shell h3,.classone-lunch-login-required h2{font-family:var(--c1-heading-font,inherit)}
.classone-lunch-shell .button-primary,.classone-lunch-primary-button{background:var(--hlr-button);border-color:var(--hlr-button);color:var(--hlr-button-ink)}
.classone-lunch-site-icon{display:inline-grid;place-items:center;min-width:42px;min-height:42px;font-size:28px}

.classone-lunch-student-app,.classone-lunch-login-required{font-family:var(--c1-body-font,Vazirmatn,Tahoma,Arial,sans-serif)}
