.tutorhelper-pro-dashboard-view [hidden] {
	display: none !important;
}

.tutorhelper-pro-dashboard-view {
	margin: 0 0 24px;
}

.tutorhelper-pro-dashboard-view__switcher {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	flex-wrap: wrap;
	font-size: 0.9rem;
	font-weight: 700;
}

.tutorhelper-pro-dashboard-view__switcher > div {
	display: inline-flex;
	padding: 3px;
	border: 1px solid #c9d4d9;
	border-radius: 9px;
	background: #fff;
}

.tutorhelper-pro-dashboard-view__switcher button {
	min-height: 36px;
	padding: 6px 14px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--tutorhelper-dashboard-ink, #133949);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.tutorhelper-pro-dashboard-view__switcher button.is-active {
	background: var(--tutorhelper-brand-primary, #133949);
	color: var(--tutorhelper-brand-button-text, #fff);
}

.tutorhelper-pro-dashboard-table {
	margin-top: 20px;
}

.tutorhelper-pro-dashboard-table__filters {
	display: grid;
	grid-template-columns: repeat(4, minmax(140px, 1fr)) auto;
	align-items: end;
	gap: 12px;
	padding: 16px;
	border: 1px solid #d8e0e3;
	border-radius: 12px;
	background: var(--tutorhelper-brand-dashboard-box, #fff);
}

.tutorhelper-pro-dashboard-table__filters label {
	display: grid;
	gap: 5px;
	margin: 0;
	font-size: 0.84rem;
	font-weight: 800;
}

.tutorhelper-pro-dashboard-table__filters select {
	width: 100%;
	min-height: 40px;
	margin: 0;
	padding: 7px 32px 7px 10px;
	border: 1px solid #b8c6cc;
	border-radius: 7px;
	background-color: #fff;
	color: #1d313a;
	font: inherit;
}

.tutorhelper-pro-dashboard-table__reset {
	min-height: 40px;
	padding: 7px 13px;
	border: 1px solid var(--tutorhelper-brand-primary, #133949);
	border-radius: 7px;
	background: transparent;
	color: var(--tutorhelper-brand-primary, #133949);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.tutorhelper-pro-dashboard-table > p {
	margin: 12px 0 7px;
	font-size: 0.86rem;
	font-weight: 700;
}

.tutorhelper-pro-dashboard-table__scroll {
	overflow-x: auto;
	border: 1px solid #d8e0e3;
	border-radius: 12px;
	background: var(--tutorhelper-brand-dashboard-box, #fff);
	box-shadow: 0 8px 24px rgba(19, 57, 73, 0.08);
}

.tutorhelper-pro-dashboard-table table {
	width: 100%;
	min-width: 980px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	color: var(--tutorhelper-brand-text, #26383f);
	font-family: var(--tutorhelper-brand-text-font, inherit);
	font-size: 0.9rem;
}

.tutorhelper-pro-dashboard-table th,
.tutorhelper-pro-dashboard-table td {
	padding: 13px 12px;
	border: 0;
	border-bottom: 1px solid #e2e8ea;
	text-align: left;
	vertical-align: top;
}

.tutorhelper-pro-dashboard-table th {
	background: #f3f6f7;
	color: var(--tutorhelper-brand-heading, #133949);
	font-size: 0.78rem;
	text-transform: uppercase;
	white-space: nowrap;
}

.tutorhelper-pro-dashboard-table th button {
	display: inline-flex;
	gap: 6px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 800;
	text-transform: inherit;
	cursor: pointer;
}

.tutorhelper-pro-dashboard-table tbody tr:last-child td {
	border-bottom: 0;
}

.tutorhelper-pro-dashboard-table__section-heading th {
	padding: 12px 16px;
	border-top: 3px solid var(--tutorhelper-brand-accent, #ff5c35);
	border-bottom: 1px solid #d8e0e3;
	background: var(--tutorhelper-brand-primary, #133949);
	color: var(--tutorhelper-brand-button-text, #fff);
	font-size: 0.9rem;
	letter-spacing: 0.01em;
	text-transform: none;
}

.tutorhelper-pro-dashboard-table [data-dashboard-table-group="past"] .tutorhelper-pro-dashboard-table__section-heading th {
	border-top-width: 6px;
}

.tutorhelper-pro-dashboard-table__row td:first-child > i {
	display: inline-block;
	width: 5px;
	height: 32px;
	margin: -7px 8px -10px -12px;
	border-radius: 0 4px 4px 0;
	background: var(--tutorhelper-booking-type-colour, #328bb8);
	vertical-align: middle;
}

.tutorhelper-pro-dashboard-table__row--cancelled {
	opacity: 0.72;
	background: #f7f8f8;
}

.tutorhelper-pro-dashboard-table__cancel summary {
	color: var(--tutorhelper-brand-primary, #133949);
	font-weight: 800;
	cursor: pointer;
}

.tutorhelper-student-dashboard .tutorhelper-pro-dashboard-table__details > summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	box-sizing: border-box;
	padding: 7px 12px;
	border: 1px solid var(--tutorhelper-brand-primary, #133949);
	border-radius: 7px;
	background: var(--tutorhelper-brand-primary, #133949);
	color: var(--tutorhelper-brand-button-text, #fff);
	font-weight: 800;
	line-height: 1.3;
	cursor: pointer;
	list-style: none;
}

.tutorhelper-student-dashboard .tutorhelper-pro-dashboard-table__details > summary::-webkit-details-marker {
	display: none;
}

.tutorhelper-student-dashboard .tutorhelper-pro-dashboard-table__details > summary:hover,
.tutorhelper-student-dashboard .tutorhelper-pro-dashboard-table__details > summary:focus-visible {
	filter: brightness(1.08);
}

.tutorhelper-pro-dashboard-table__details-label--open {
	display: none;
}

.tutorhelper-pro-dashboard-table__details[open]
.tutorhelper-pro-dashboard-table__details-label--closed {
	display: none;
}

.tutorhelper-pro-dashboard-table__details[open]
.tutorhelper-pro-dashboard-table__details-label--open {
	display: inline;
}

.tutorhelper-pro-dashboard-table__details > div {
	min-width: 220px;
	margin-top: 9px;
	padding: 10px;
	border-radius: 7px;
	background: #f3f6f7;
	overflow-wrap: anywhere;
}

.tutorhelper-pro-dashboard-table__details p {
	margin: 4px 0 0;
}

.tutorhelper-pro-dashboard-table__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	min-width: 145px;
}

.tutorhelper-pro-dashboard-table__actions .tutorhelper-student-dashboard__action-link {
	width: 100%;
	padding: 7px 10px;
	font-size: 0.8rem;
	text-align: center;
}

.tutorhelper-student-dashboard a.tutorhelper-pro-online-meeting-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 9px 15px;
	border-color: var(--tutorhelper-brand-primary, #133949);
	border-style: solid;
	border-width: 1px;
	border-radius: 8px;
	background: var(--tutorhelper-brand-primary, #133949);
	color: var(--tutorhelper-brand-button-text, #fff);
	font-weight: 800;
	line-height: 1.3;
	text-decoration: none;
}

.tutorhelper-student-dashboard a.tutorhelper-pro-online-meeting-link:hover,
.tutorhelper-student-dashboard a.tutorhelper-pro-online-meeting-link:focus-visible {
	border-color: var(--tutorhelper-brand-primary, #133949);
	background: var(--tutorhelper-brand-primary, #133949);
	color: var(--tutorhelper-brand-button-text, #fff);
	filter: brightness(1.08);
	text-decoration: none;
}

.tutorhelper-pro-dashboard-table__cancel form {
	display: grid;
	gap: 7px;
	min-width: 240px;
	margin-top: 9px;
	padding: 11px;
	border: 1px solid #d8e0e3;
	border-radius: 8px;
	background: #fff;
}

.tutorhelper-pro-dashboard-table__cancel textarea {
	width: 100%;
	box-sizing: border-box;
	resize: vertical;
}

.tutorhelper-pro-dashboard-table__cancel button {
	padding: 8px 10px;
	border: 1px solid #a33c3c;
	border-radius: 7px;
	background: #a33c3c;
	color: #fff;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.tutorhelper-pro-dashboard-table [data-dashboard-no-results] td {
	padding: 28px;
	text-align: center;
}

.tutorhelper-pro-card-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 18px;
}

.tutorhelper-student-dashboard__card[hidden] {
	display: none !important;
}

.tutorhelper-pro-card-pagination button {
	min-height: 36px;
	padding: 7px 13px;
	border: 1px solid var(--tutorhelper-brand-primary, #133949);
	border-radius: 999px;
	background: #fff;
	color: var(--tutorhelper-brand-primary, #133949);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.tutorhelper-pro-card-pagination button:disabled {
	opacity: 0.45;
	cursor: default;
}

.tutorhelper-pro-card-pagination span {
	min-width: 92px;
	color: var(--tutorhelper-brand-text, #26383f);
	font-size: 0.86rem;
	font-weight: 700;
	text-align: center;
}

.tutorhelper-pro-dashboard-view button:focus-visible,
.tutorhelper-pro-dashboard-view select:focus-visible,
.tutorhelper-pro-dashboard-view summary:focus-visible {
	outline: 3px solid var(--tutorhelper-brand-accent, #f29b34);
	outline-offset: 2px;
}

.tutorhelper-pro-attendance-history {
	margin: 18px 0 22px;
	border: 1px solid #d6e0e5;
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}

.tutorhelper-pro-attendance-history > summary {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 18px;
	background: var(--tutorhelper-brand-primary, #133949);
	color: #fff;
	font-weight: 800;
	cursor: pointer;
	list-style: none;
}

.tutorhelper-pro-attendance-history > summary::-webkit-details-marker {
	display: none;
}

.tutorhelper-pro-attendance-history__heading {
	display: inline-flex;
	align-items: center;
	gap: 9px;
}

.tutorhelper-pro-attendance-history__toggle {
	display: inline-block;
	font-size: 1.35em;
	line-height: 1;
	transition: transform 160ms ease;
}

.tutorhelper-pro-attendance-history[open] .tutorhelper-pro-attendance-history__toggle {
	transform: rotate(180deg);
}

.tutorhelper-pro-attendance-history > summary small {
	font-weight: 500;
}

.tutorhelper-pro-attendance-history__content {
	padding: 18px;
}

.tutorhelper-pro-attendance-history__chart {
	display: grid;
	gap: 12px;
	margin-bottom: 20px;
}

.tutorhelper-pro-attendance-history__bar > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
}

.tutorhelper-pro-attendance-history__bar progress {
	width: 100%;
	height: 12px;
	accent-color: var(--tutorhelper-brand-accent, #ff5c35);
}

.tutorhelper-pro-attendance-history__table-wrap {
	overflow: hidden;
	border: 1px solid #d8e1e5;
	border-radius: 10px;
}

.tutorhelper-pro-attendance-history__table-scroll {
	overflow-x: auto;
}

.tutorhelper-pro-attendance-history table {
	width: 100%;
	min-width: 620px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}

.tutorhelper-pro-attendance-history th,
.tutorhelper-pro-attendance-history td {
	padding: 10px 12px;
	border: 0;
	border-bottom: 1px solid #e2e8ea;
	text-align: left;
}

.tutorhelper-pro-attendance-history th {
	background: #f3f6f7;
	color: var(--tutorhelper-brand-heading, #133949);
	font-size: 0.78rem;
	text-transform: uppercase;
}

.tutorhelper-pro-attendance-history tbody tr:nth-child(even) {
	background: #f8fafb;
}

.tutorhelper-pro-attendance-history [data-attendance-row][hidden] {
	display: none !important;
}

.tutorhelper-pro-attendance-history__pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	padding: 12px;
	background: #f8fafb;
}

.tutorhelper-pro-attendance-history__pagination[hidden] {
	display: none !important;
}

.tutorhelper-pro-attendance-history__pagination button {
	min-height: 34px;
	padding: 6px 12px;
	border: 1px solid var(--tutorhelper-brand-primary, #133949);
	border-radius: 999px;
	background: #fff;
	color: var(--tutorhelper-brand-primary, #133949);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.tutorhelper-pro-attendance-history__pagination button:disabled {
	opacity: 0.45;
	cursor: default;
}

@media (max-width: 980px) {
	.tutorhelper-pro-dashboard-table__filters {
		grid-template-columns: repeat(2, minmax(140px, 1fr));
	}
}

@media (max-width: 620px) {
	.tutorhelper-pro-dashboard-view__switcher {
		justify-content: space-between;
	}

	.tutorhelper-pro-dashboard-table__filters {
		grid-template-columns: 1fr;
	}

	.tutorhelper-pro-dashboard-table__reset {
		width: 100%;
	}
}
