/* ApexBook client self-service ([apexbook_manage]) — same calm design language. */

.apexbook-manage {
	--apexbook-bg: #faf9f7;
	--apexbook-card: #ffffff;
	--apexbook-text: #1d1d1f;
	--apexbook-muted: #6b6b6e;
	--apexbook-line: #e8e4dd;
	--apexbook-accent: #0e7c6b;
	--apexbook-accent-dark: #0a5f52;
	--apexbook-accent-soft: #e6f3f0;
	--apexbook-radius: 16px;
	max-width: 720px;
	margin: 0 auto;
	color: var(--apexbook-text);
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	box-sizing: border-box;
}

.apexbook-manage * {
	box-sizing: border-box;
}

.apexbook-manage-card,
.apexbook-manage-empty {
	background: var(--apexbook-card);
	border: 1px solid var(--apexbook-line);
	border-radius: 22px;
	padding: 36px 36px 30px;
	box-shadow: 0 12px 40px rgba(29, 29, 31, 0.06);
}

.apexbook-manage-empty h2,
.apexbook-manage-card h2 {
	font-size: 24px;
	margin: 12px 0 8px;
	letter-spacing: -0.01em;
}

.apexbook-manage-card h3 {
	font-size: 18px;
	margin: 24px 0 12px;
}

.apexbook-manage-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.apexbook-manage-ref {
	font-weight: 700;
	letter-spacing: 0.04em;
	font-size: 15px;
	color: var(--apexbook-muted);
}

.apexbook-status {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	background: #eef0f2;
	color: #3a3a3c;
}

.apexbook-status-pending { background: #fdf3e3; color: #8a5a00; }
.apexbook-status-confirmed { background: #e6f3f0; color: #0a5f52; }

.apexbook-manage-when {
	font-size: 18px;
	font-weight: 600;
	margin: 4px 0;
}

.apexbook-manage-where {
	color: var(--apexbook-muted);
	margin: 0 0 8px;
}

.apexbook-manage-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.apexbook-btn {
	border: none;
	border-radius: 999px;
	padding: 14px 34px;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.1s ease;
	text-decoration: none;
	display: inline-block;
}

.apexbook-btn:active { transform: scale(0.98); }

.apexbook-btn-primary { background: var(--apexbook-accent); color: #ffffff; }
.apexbook-btn-primary:hover { background: var(--apexbook-accent-dark); }
.apexbook-btn-primary:disabled { opacity: 0.55; cursor: default; }

.apexbook-btn-secondary {
	background: transparent;
	color: var(--apexbook-text);
	border: 1.5px solid var(--apexbook-line);
}
.apexbook-btn-secondary:hover { border-color: var(--apexbook-text); }

.apexbook-btn-ghost {
	background: transparent;
	color: var(--apexbook-muted);
	border: none;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.apexbook-btn-ghost:hover { color: var(--apexbook-text); }

.apexbook-btn-danger { background: #b32d2e; color: #ffffff; }
.apexbook-btn-danger:hover { background: #9a2627; }

.apexbook-confirm-box {
	background: var(--apexbook-bg);
	border: 1px solid var(--apexbook-line);
	border-radius: var(--apexbook-radius);
	padding: 24px;
	margin-top: 20px;
}

.apexbook-confirm-box h3 { margin-top: 0; }

/* Calendar (shared look with the booking widget) */
.apexbook-cal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.apexbook-cal-title { font-weight: 600; font-size: 18px; }

.apexbook-cal-nav {
	border: 1px solid var(--apexbook-line);
	background: var(--apexbook-card);
	border-radius: 999px;
	width: 40px;
	height: 40px;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	color: var(--apexbook-text);
}

.apexbook-cal-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 6px;
}

.apexbook-cal-dow {
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	color: var(--apexbook-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 6px 0;
}

.apexbook-cal-day {
	aspect-ratio: 1;
	border: 1px solid transparent;
	background: transparent;
	border-radius: 12px;
	font: inherit;
	font-size: 15px;
	color: var(--apexbook-muted);
	cursor: default;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.apexbook-cal-day.is-free {
	color: var(--apexbook-text);
	background: var(--apexbook-bg);
	border-color: var(--apexbook-line);
	cursor: pointer;
	font-weight: 500;
}

.apexbook-cal-day.is-free:hover { border-color: var(--apexbook-accent); }

.apexbook-cal-day.is-selected {
	background: var(--apexbook-accent);
	border-color: var(--apexbook-accent);
	color: #ffffff;
	font-weight: 600;
}

.apexbook-cal-day.is-empty { visibility: hidden; }

.apexbook-cal-loading,
.apexbook-empty {
	text-align: center;
	color: var(--apexbook-muted);
	padding: 40px 0;
}

.apexbook-slots {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	gap: 10px;
}

.apexbook-slot {
	border: 1.5px solid var(--apexbook-line);
	background: var(--apexbook-bg);
	border-radius: 12px;
	padding: 12px 8px;
	font: inherit;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	color: var(--apexbook-text);
	transition: border-color 0.2s ease, background 0.2s ease;
}

.apexbook-slot:hover { border-color: var(--apexbook-accent); }

.apexbook-slot.is-selected {
	background: var(--apexbook-accent);
	border-color: var(--apexbook-accent);
	color: #ffffff;
	font-weight: 600;
}

.apexbook-error {
	margin-top: 16px;
	background: #fdf0ef;
	border: 1px solid #f0c9c4;
	color: #8f2d22;
	border-radius: 12px;
	padding: 12px 16px;
	font-size: 14px;
}

.apexbook-success { text-align: center; padding: 32px 8px; }

.apexbook-success-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--apexbook-accent-soft);
	color: var(--apexbook-accent);
	font-size: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
}

.apexbook-success h3 { font-size: 24px; margin: 0 0 12px; }

@media (max-width: 560px) {
	.apexbook-manage-card,
	.apexbook-manage-empty {
		padding: 28px 20px 24px;
		border-radius: 18px;
	}

	.apexbook-btn { padding: 13px 24px; font-size: 15px; }
	.apexbook-cal-day { font-size: 14px; border-radius: 10px; }
}
