/* KTP Accounts — Dashboard styles */

.ktp-dashboard-shell {
	padding-block: var(--ktp-space-10);
	min-height: 70vh;
}

/* ---- User header bar ---- */
.ktp-dash-header {
	display: flex;
	align-items: center;
	gap: var(--ktp-space-4);
	margin-bottom: var(--ktp-space-8);
	padding: var(--ktp-space-5);
	background: var(--ktp-color-surface);
	border: 1px solid var(--ktp-color-border, #e5ddd6);
	border-radius: var(--ktp-radius-xl, 1rem);
	flex-wrap: wrap;
}

.ktp-dash-avatar {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--ktp-color-primary) 0%, #b84a08 100%);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--ktp-text-lg);
	font-weight: 800;
	flex-shrink: 0;
	letter-spacing: 0.05em;
}

.ktp-dash-header__info {
	flex: 1;
	min-width: 0;
}
.ktp-dash-header__name {
	font-size: var(--ktp-text-xl);
	font-weight: 700;
	color: var(--ktp-color-heading);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ktp-dash-header__email {
	font-size: var(--ktp-text-sm);
	color: var(--ktp-color-muted, #7a6a5a);
}

.ktp-dash-header__actions {
	display: flex;
	align-items: center;
	gap: var(--ktp-space-3);
	flex-shrink: 0;
}

/* ---- Stats row ---- */
.ktp-dash-stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--ktp-space-3);
	margin-bottom: var(--ktp-space-8);
}
@media (min-width: 480px) {
	.ktp-dash-stats { grid-template-columns: repeat(4, 1fr); }
}

.ktp-dash-stat {
	background: var(--ktp-color-surface);
	border: 1px solid var(--ktp-color-border, #e5ddd6);
	border-radius: var(--ktp-radius-lg);
	padding: var(--ktp-space-4);
	text-align: center;
}
.ktp-dash-stat__num {
	display: block;
	font-size: var(--ktp-text-3xl);
	font-weight: 800;
	color: var(--ktp-color-primary);
	line-height: 1;
	margin-bottom: var(--ktp-space-1);
}
.ktp-dash-stat__label {
	font-size: var(--ktp-text-xs);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--ktp-color-muted, #7a6a5a);
	font-weight: 600;
}

/* ---- Section title ---- */
.ktp-dash-section-title {
	font-size: var(--ktp-text-lg);
	font-weight: 700;
	color: var(--ktp-color-heading);
	margin-bottom: var(--ktp-space-4);
	padding-bottom: var(--ktp-space-3);
	border-bottom: 2px solid var(--ktp-color-border, #e5ddd6);
}

/* ---- Booking cards ---- */
.ktp-dash-bookings {
	display: flex;
	flex-direction: column;
	gap: var(--ktp-space-3);
	margin-bottom: var(--ktp-space-10);
}

.ktp-dash-booking {
	background: var(--ktp-color-surface);
	border: 1px solid var(--ktp-color-border, #e5ddd6);
	border-radius: var(--ktp-radius-lg);
	overflow: hidden;
	transition: box-shadow var(--ktp-duration-base);
}
.ktp-dash-booking:hover {
	box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}

.ktp-dash-booking__head {
	display: flex;
	align-items: center;
	gap: var(--ktp-space-3);
	padding: var(--ktp-space-4) var(--ktp-space-5);
	cursor: pointer;
	flex-wrap: wrap;
}

.ktp-dash-booking__ref {
	font-size: var(--ktp-text-xs);
	font-weight: 700;
	color: var(--ktp-color-primary);
	font-family: monospace;
	letter-spacing: 0.05em;
	background: rgba(var(--ktp-color-primary-rgb), 0.08);
	padding: 0.15em 0.5em;
	border-radius: var(--ktp-radius-sm);
	flex-shrink: 0;
}

.ktp-dash-booking__puja {
	flex: 1;
	min-width: 0;
}
.ktp-dash-booking__puja strong {
	display: block;
	font-size: var(--ktp-text-base);
	font-weight: 700;
	color: var(--ktp-color-heading);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ktp-dash-booking__puja span {
	font-size: var(--ktp-text-sm);
	color: var(--ktp-color-muted, #7a6a5a);
}

.ktp-dash-booking__right {
	display: flex;
	align-items: center;
	gap: var(--ktp-space-3);
	flex-shrink: 0;
}

.ktp-dash-booking__price {
	font-size: var(--ktp-text-base);
	font-weight: 700;
	color: var(--ktp-color-heading);
}

/* Status pills (reuse from admin) */
.ktp-status {
	display: inline-flex;
	align-items: center;
	padding: 0.2em 0.65em;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.ktp-status--pending   { background: #fef9c3; color: #854d0e; }
.ktp-status--confirmed { background: #dbeafe; color: #1e40af; }
.ktp-status--paid      { background: #dcfce7; color: #15803d; }
.ktp-status--completed { background: #d1fae5; color: #065f46; }
.ktp-status--cancelled { background: #fee2e2; color: #991b1b; }

.ktp-dash-booking__chevron {
	color: var(--ktp-color-muted, #7a6a5a);
	transition: transform var(--ktp-duration-base);
	flex-shrink: 0;
}
.ktp-dash-booking.is-open .ktp-dash-booking__chevron {
	transform: rotate(180deg);
}

/* Detail panel (expanded) */
.ktp-dash-booking__detail {
	display: none;
	padding: var(--ktp-space-4) var(--ktp-space-5) var(--ktp-space-5);
	border-top: 1px solid var(--ktp-color-border, #e5ddd6);
	background: var(--ktp-color-bg-alt, #fdf8f4);
}
.ktp-dash-booking.is-open .ktp-dash-booking__detail {
	display: block;
}

.ktp-dash-booking__detail dl {
	display: grid;
	grid-template-columns: 8rem 1fr;
	gap: var(--ktp-space-2) var(--ktp-space-4);
	margin: 0;
}
.ktp-dash-booking__detail dt {
	font-size: var(--ktp-text-sm);
	color: var(--ktp-color-muted, #7a6a5a);
}
.ktp-dash-booking__detail dd {
	font-size: var(--ktp-text-sm);
	font-weight: 600;
	color: var(--ktp-color-heading);
	margin: 0;
}

/* ---- Empty state ---- */
.ktp-dash-empty {
	text-align: center;
	padding: var(--ktp-space-12) var(--ktp-space-4);
	background: var(--ktp-color-surface);
	border: 1px dashed var(--ktp-color-border, #e5ddd6);
	border-radius: var(--ktp-radius-xl, 1rem);
	margin-bottom: var(--ktp-space-10);
}
.ktp-dash-empty__icon {
	font-size: 3rem;
	margin-bottom: var(--ktp-space-4);
}
.ktp-dash-empty h3 {
	font-size: var(--ktp-text-xl);
	font-weight: 700;
	color: var(--ktp-color-heading);
	margin-bottom: var(--ktp-space-2);
}
.ktp-dash-empty p {
	font-size: var(--ktp-text-sm);
	color: var(--ktp-color-muted, #7a6a5a);
	margin-bottom: var(--ktp-space-5);
	max-width: 36ch;
	margin-inline: auto;
}

/* ---- Profile form ---- */
.ktp-dash-profile {
	background: var(--ktp-color-surface);
	border: 1px solid var(--ktp-color-border, #e5ddd6);
	border-radius: var(--ktp-radius-xl, 1rem);
	padding: var(--ktp-space-6);
}

.ktp-dash-profile__fields {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--ktp-space-4);
}
@media (min-width: 540px) {
	.ktp-dash-profile__fields { grid-template-columns: 1fr 1fr; }
	.ktp-dash-profile__field--full { grid-column: 1 / -1; }
}

.ktp-dash-profile__field {
	display: flex;
	flex-direction: column;
	gap: var(--ktp-space-1);
}
.ktp-dash-profile__field label {
	font-size: var(--ktp-text-sm);
	font-weight: 600;
	color: var(--ktp-color-heading);
}
.ktp-dash-profile__field .ktp-auth-input {
	/* reuse auth input styles */
}
.ktp-dash-profile__hint {
	font-size: var(--ktp-text-xs);
	color: var(--ktp-color-muted, #7a6a5a);
	margin-top: var(--ktp-space-1);
}

.ktp-dash-profile__divider {
	grid-column: 1 / -1;
	border: none;
	border-top: 1px solid var(--ktp-color-border, #e5ddd6);
	margin: var(--ktp-space-2) 0;
}

.ktp-dash-profile__actions {
	margin-top: var(--ktp-space-5);
	display: flex;
	gap: var(--ktp-space-3);
	align-items: center;
}

/* Notice inside dashboard */
.ktp-dash-notice {
	display: flex;
	align-items: flex-start;
	gap: var(--ktp-space-2);
	padding: var(--ktp-space-3) var(--ktp-space-4);
	border-radius: var(--ktp-radius-md);
	font-size: var(--ktp-text-sm);
	margin-bottom: var(--ktp-space-6);
	border-left-width: 4px;
	border-left-style: solid;
}
.ktp-dash-notice--error   { background:#fff1f1; border-color:#ef4444; color:#b91c1c; }
.ktp-dash-notice--success { background:#f0fdf4; border-color:#22c55e; color:#15803d; }
