/**
 * My Group Bookings dashboard.
 *
 * Layout and the few elements the theme has no opinion about. Kadence supplies
 * typography, colour and buttons; the sidebar is WooCommerce's own My Account
 * nav, which the mockup is a re-skin of (D-003) — so it is deliberately not
 * restyled here. Matching the mockup pixel for pixel is Phase 6, once the data
 * and the access control are settled.
 */

.rlh-gd-intro {
	margin: 0 0 1.5rem;
	color: #595959; /* 7:1 on white */
}

/* Summary tiles */

.rlh-gd-tiles {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 1rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}

.rlh-gd-tile {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 1rem 1.1rem;
	border: 1px solid #e6e6e6;
	border-radius: 6px;
	background: #fff;
}

.rlh-gd-tile-label {
	font-size: 0.8125rem;
	font-weight: 600;
	color: #555;
}

.rlh-gd-tile-value {
	font-size: 1.75rem;
	line-height: 1.2;
	color: #1a1a1a;
}

.rlh-gd-tile-note {
	font-size: 0.75rem;
	color: #6b6b6b;
}

.rlh-gd-tile.is-complete .rlh-gd-tile-value {
	color: #1a7f37; /* 4.8:1 on white */
}

.rlh-gd-tile.is-outstanding .rlh-gd-tile-value {
	color: #b35f00; /* 4.6:1 on white */
}

/* Booking list */

.rlh-gd-subhead {
	margin: 0 0 0.75rem;
	font-size: 1.125rem;
}

.rlh-gd-list {
	margin: 0 0 0.75rem;
	padding: 0;
	list-style: none;
	border: 1px solid #e6e6e6;
	border-radius: 6px;
	overflow: hidden;
}

.rlh-gd-row + .rlh-gd-row {
	border-top: 1px solid #eee;
}

.rlh-gd-row-link {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.1rem;
	color: inherit;
	text-decoration: none;
}

.rlh-gd-row-link:hover,
.rlh-gd-row-link:focus {
	background: #fafafa;
	text-decoration: none;
}

.rlh-gd-row-link:focus-visible {
	outline: 2px solid #1a1a1a;
	outline-offset: -2px;
}

.rlh-gd-row-main {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.rlh-gd-row-title {
	font-weight: 700;
	color: #1a1a1a;
}

.rlh-gd-row-meta {
	font-size: 0.875rem;
	color: #6b6b6b;
}

.rlh-gd-badge {
	display: inline-block;
	margin-left: 0.5rem;
	padding: 0.1rem 0.55rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	vertical-align: middle;
}

.rlh-gd-badge.is-upcoming {
	background: #e7f1fb;
	color: #14568c; /* 6.4:1 on that background */
}

.rlh-gd-badge.is-done {
	background: #e6f4ea;
	color: #14622a;
}

.rlh-gd-row-stat {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 5.5rem;
	text-align: left;
}

.rlh-gd-stat-label {
	font-size: 0.75rem;
	color: #6b6b6b;
}

.rlh-gd-stat-value {
	font-size: 1.05rem;
	font-weight: 700;
	color: #1a1a1a;
}

.rlh-gd-stat-value.is-complete,
.is-complete {
	color: #1a7f37;
}

.rlh-gd-stat-value.is-outstanding,
.is-outstanding {
	color: #b35f00;
}

.rlh-gd-row-go {
	font-size: 1.5rem;
	line-height: 1;
	color: #9a9a9a;
}

.rlh-gd-count {
	font-size: 0.8125rem;
	color: #6b6b6b;
}

/* Empty state */

.rlh-gd-empty {
	padding: 2rem 1.5rem;
	border: 1px dashed #d6d6d6;
	border-radius: 6px;
	text-align: center;
}

.rlh-gd-empty h3 {
	margin-top: 0;
}

/* Detail */

.rlh-gd-back {
	margin: 0 0 1rem;
}

.rlh-gd-panel {
	padding: 1.1rem;
	margin: 0 0 1.75rem;
	border: 1px solid #e6e6e6;
	border-radius: 6px;
}

.rlh-gd-panel h3 {
	margin-top: 0;
}

.rlh-gd-panel .rlh-gd-row-meta {
	margin: 0 0 0.15rem;
}

.rlh-gd-ref {
	margin: 0.75rem 0 1rem;
	font-size: 0.875rem;
}

.rlh-gd-figures {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rlh-gd-figures li {
	display: flex;
	flex-direction: column;
}

.rlh-gd-figures span {
	font-size: 0.75rem;
	color: #6b6b6b;
}

.rlh-gd-figures strong {
	font-size: 1.25rem;
}

/* Attendees */

.rlh-gd-table-wrap {
	overflow-x: auto;
}

.rlh-gd-table {
	width: 100%;
	border-collapse: collapse;
}

.rlh-gd-table th,
.rlh-gd-table td {
	padding: 0.65rem 0.75rem;
	text-align: left;
	border-bottom: 1px solid #eee;
}

/* 14px: the theme's body size made the attendee table overflow sideways. */
.rlh-gd-table td {
	font-size: 14px;
	line-height: 1.4;
}

.rlh-gd-table th {
	font-size: 0.75rem;
	font-weight: 600;
	color: #6b6b6b;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.rlh-gd-unassigned {
	color: #6b6b6b;
	font-style: italic;
}

.rlh-gd-seat {
	display: inline-block;
	padding: 0.1rem 0.55rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	white-space: nowrap;
}

.rlh-gd-seat.is-complete {
	background: #e6f4ea;
	color: #14622a;
}

.rlh-gd-seat.is-outstanding {
	background: #fdf0dd;
	color: #8a4b00;
}

.rlh-gd-seat.is-unallocated {
	background: #f0f0f0;
	color: #555;
}

.rlh-gd-note {
	margin-top: 1.25rem;
	padding: 0.85rem 1rem;
	background: #f7f7f7;
	border-left: 4px solid #e07b00;
	font-size: 0.875rem;
}

@media ( max-width: 782px ) {
	.rlh-gd-tiles {
		grid-template-columns: repeat( 2, 1fr );
	}

	.rlh-gd-row-link {
		flex-wrap: wrap;
		gap: 0.75rem 1.25rem;
	}

	.rlh-gd-row-main {
		flex: 1 0 100%;
	}

	.rlh-gd-row-go {
		margin-left: auto;
	}
}

@media ( max-width: 480px ) {
	.rlh-gd-tiles {
		grid-template-columns: 1fr;
	}
}

/* Phase 5.3 — seat actions and the seat form */
.rlh-gd-action {
	text-align: right;
	white-space: nowrap;
}

.rlh-gd-action-link {
	font-weight: 600;
}

.rlh-gd-seat-form .rlh-form-wrap {
	margin-top: 1rem;
}

/* Phase 5.4 — share link */
.rlh-gd-share {
	margin: 1.5rem 0;
}

.rlh-gd-share-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.rlh-gd-share-input {
	flex: 1 1 16rem;
	min-width: 0;
	font-family: monospace;
}

.rlh-gd-share-warning {
	font-size: 0.875em;
	opacity: 0.8;
}

/* Phase 5 — seat invites: inline POST actions styled as links */
.rlh-gd-action-form {
	display: inline;
	margin: 0;
}

.rlh-gd-action-button {
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	font-weight: 600;
	color: inherit;
	text-decoration: underline;
	cursor: pointer;
}

.rlh-gd-action-sep {
	margin: 0 0.35em;
	opacity: 0.5;
}

.rlh-gd-deadline { margin:.25rem 0 0; font-weight:600; color:#8a4b00; }
