/**
 * Founders Helper — My Account (11.5): overview on the landing page,
 * Kelas Saya, Ruang Tutor, Dokumen.
 *
 * Tokens come from ui-public.css (`.fh-ui`, kit colours); fonts inherit.
 * Everything sits under `.fh-dash`. Where the theme or the Elementor kit
 * styles bare elements (headings, links, tables), selectors use two classes
 * so they win without !important — except box metrics on the day label,
 * which Elementor heading rules otherwise resize.
 */

/* ── Base ─────────────────────────────────────────────────────────────── */

.fh-dash {
	font-size: 0.95rem;
}

.fh-dash .fh-dash__ico {
	flex: 0 0 auto;
	vertical-align: -3px;
	margin-right: 6px;
	color: var(--fh-faint);
}

.fh-dash a {
	color: var(--fh-green-ink);
}

.fh-dash .fh-dash__intro {
	margin: 0 0 1rem;
	color: var(--fh-muted);
}

.fh-dash .fh-dash__foot {
	margin: 1rem 0 0;
	font-size: 0.8rem;
	color: var(--fh-muted);
}

.fh-dash .fh-dash__muted {
	color: var(--fh-faint);
}

/* 11.60.0: slip gaji download under a final payment */
.fh-dash .fh-dash__slip {
	margin: 0;
	padding: 0.75rem 1rem;
}

/* ── Section heads (overview) ─────────────────────────────────────────── */

.fh-dash .fh-dash__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 1.75rem 0 0.75rem;
}

.fh-dash .fh-dash__head:first-child {
	margin-top: 0.5rem;
}

.fh-dash .fh-dash__h {
	margin: 0 !important;
	font-size: 1.1rem !important;
	line-height: 1.3 !important;
	font-weight: 700 !important; /* the theme's h3 weight otherwise wins */
	color: var(--fh-navy);
}

.fh-dash a.fh-dash__more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--fh-green-ink);
	text-decoration: none;
	white-space: nowrap;
}

.fh-dash a.fh-dash__more .fh-dash__ico {
	order: 2;
	margin: 0;
	color: currentColor;
	transition: transform 0.18s ease;
}

.fh-dash a.fh-dash__more:hover .fh-dash__ico {
	transform: translateX(3px);
}

/* ── Sub-tabs ─────────────────────────────────────────────────────────── */

.fh-dash .fh-dash__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 1.5rem;
	padding: 4px;
	width: fit-content;
	max-width: 100%;
	background: var(--fh-bg);
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-pill);
}

.fh-dash a.fh-dash__tab {
	padding: 0.5rem 1.1rem;
	border-radius: var(--fh-pill);
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--fh-muted);
	text-decoration: none;
	transition: background 0.18s ease, color 0.18s ease;
}

.fh-dash a.fh-dash__tab:hover {
	color: var(--fh-navy);
	background: #fff;
}

.fh-dash a.fh-dash__tab.is-active {
	background: #fff;
	color: var(--fh-green-ink);
	box-shadow: var(--fh-shadow-sm);
}

.fh-dash a.fh-dash__tab:focus-visible,
.fh-dash a.fh-dash__btn:focus-visible,
.fh-dash .fh-dash__honor summary:focus-visible {
	outline: none;
	box-shadow: var(--fh-focus);
}

/* ── Stat tiles ───────────────────────────────────────────────────────── */

.fh-dash .fh-dash__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
	margin: 0 0 1rem;
}

.fh-dash .fh-dash__stat {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0.9rem 1rem;
	background: var(--fh-surface);
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	min-width: 0;
}

.fh-dash .fh-dash__stat-label {
	display: flex;
	align-items: center;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--fh-muted);
}

.fh-dash .fh-dash__stat-label .fh-dash__ico {
	color: var(--fh-green);
}

.fh-dash .fh-dash__stat-value {
	font-size: 1.45rem;
	line-height: 1.2;
	font-weight: 800;
	color: var(--fh-navy);
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.fh-dash .fh-dash__stat.is-money .fh-dash__stat-value {
	font-size: 1.2rem;
	white-space: nowrap;
}

.fh-dash .fh-dash__stat-note {
	font-size: 0.75rem;
	color: var(--fh-faint);
}

.fh-dash .fh-dash__stat.is-warn {
	border-color: rgba(239, 87, 67, 0.4);
	background: var(--fh-red-light);
}

.fh-dash .fh-dash__stat.is-warn .fh-dash__stat-value {
	color: #B42318;
}

.fh-dash .fh-dash__stat.is-good .fh-dash__stat-value {
	color: var(--fh-green-ink);
}

/* ── Next-class highlight ─────────────────────────────────────────────── */

.fh-dash .fh-dash__next {
	position: relative;
	margin: 0 0 1rem;
	padding: 1rem 1rem 0.9rem;
	background: var(--fh-navy);
	background-image: radial-gradient(circle at 100% 0, rgba(29, 166, 120, 0.35), transparent 55%);
	border-radius: var(--fh-radius-lg);
	color: #fff;
}

.fh-dash .fh-dash__eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 0.6rem 0.25rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #7FE0BE;
}

.fh-dash .fh-dash__next .fh-dash__session {
	border-color: transparent;
	box-shadow: var(--fh-shadow);
}

.fh-dash .fh-dash__next .fh-dash__session:hover {
	transform: none;
}

.fh-dash .fh-dash__next-date {
	display: flex;
	align-items: center;
	margin: 0.6rem 0 0 0.25rem;
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.8);
}

.fh-dash .fh-dash__next-date .fh-dash__ico {
	color: rgba(255, 255, 255, 0.6);
}

/* ── Day list ─────────────────────────────────────────────────────────── */

.fh-dash .fh-dash__day {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 0.75rem !important;
	padding: 0 0 0.5rem !important;
	border-bottom: 1.5px solid var(--fh-border);
	font-size: 0.95rem !important;
	line-height: 1.4 !important;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fh-navy);
}

/* Space above every day except the first, so a date clearly belongs to the
   cards below it rather than the ones above. */
.fh-dash .fh-dash__list + .fh-dash__day {
	margin-top: 1.75rem !important;
}

.fh-dash .fh-dash__day-count {
	margin-left: auto;
	font-size: 0.8rem;
	font-weight: 500;
	color: var(--fh-faint);
}

.fh-dash .fh-dash__badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 9px;
	border-radius: var(--fh-pill);
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

.fh-dash .fh-dash__badge.is-today {
	background: var(--fh-green);
	color: #fff;
}

.fh-dash .fh-dash__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* ── Session row ──────────────────────────────────────────────────────── */

.fh-dash .fh-dash__session {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	align-items: center;
	gap: 1rem;
	padding: 0.85rem 1rem;
	background: var(--fh-surface);
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	color: var(--fh-text);
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.fh-dash .fh-dash__session:hover {
	border-color: var(--fh-green);
	box-shadow: var(--fh-shadow);
}

.fh-dash .fh-dash__session.is-postponed {
	background: var(--fh-bg);
	opacity: 0.8;
}

.fh-dash .fh-dash__session.is-postponed .fh-dash__time strong {
	text-decoration: line-through;
}

.fh-dash .fh-dash__time {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-right: 0.9rem;
	border-right: 1.5px solid var(--fh-border);
	font-variant-numeric: tabular-nums;
}

.fh-dash .fh-dash__time strong {
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--fh-navy);
}

.fh-dash .fh-dash__time small {
	font-size: 0.75rem;
	color: var(--fh-faint);
}

.fh-dash .fh-dash__body {
	min-width: 0;
}

.fh-dash .fh-dash__title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 8px;
	font-weight: 700;
	color: var(--fh-navy);
	overflow-wrap: anywhere;
}

.fh-dash .fh-dash__meta {
	display: flex;
	align-items: flex-start;
	margin-top: 4px;
	font-size: 0.83rem;
	color: var(--fh-muted);
}

.fh-dash .fh-dash__meta > span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.fh-dash .fh-dash__meta .fh-dash__ico {
	margin-top: 2px;
}

.fh-dash .fh-dash__meta em {
	color: var(--fh-faint);
}

.fh-dash .fh-dash__flag {
	display: inline-block;
	margin-top: 6px;
	padding: 2px 10px;
	border-radius: var(--fh-pill);
	background: var(--fh-red-light);
	color: #B42318;
	font-size: 0.75rem;
	font-weight: 600;
}

.fh-dash .fh-dash__flag.is-soft {
	background: var(--fh-yellow-light);
	color: #8A5A00;
}

.fh-dash .fh-dash__action {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}

/* Language pill (brand colours, from ui-public.css) sits in a title. */
.fh-dash .fh-lang {
	font-size: 0.7rem;
}

/* ── Buttons ──────────────────────────────────────────────────────────── */

.fh-dash a.fh-dash__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1.05rem;
	border: 1.5px solid var(--fh-green);
	border-radius: var(--fh-pill);
	background: var(--fh-green);
	color: #fff;
	font-weight: 700;
	font-size: 0.83rem;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.fh-dash a.fh-dash__btn .fh-dash__ico {
	color: currentColor;
}

.fh-dash a.fh-dash__btn:hover {
	background: var(--fh-green-hover);
	border-color: var(--fh-green-hover);
	color: #fff;
	transform: translateY(-1px);
}

.fh-dash a.fh-dash__btn.is-ghost {
	background: #fff;
	border-color: var(--fh-border);
	color: var(--fh-green-ink);
}

.fh-dash a.fh-dash__btn.is-ghost:hover {
	background: var(--fh-green-light);
	border-color: var(--fh-green);
	color: var(--fh-green-ink);
}

.fh-dash .fh-dash__nolink {
	font-size: 0.78rem;
	color: var(--fh-faint);
	white-space: nowrap;
}

/* ── Cards & grid ─────────────────────────────────────────────────────── */

.fh-dash .fh-dash__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 14px;
}

.fh-dash .fh-dash__card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 1rem 1.1rem;
	background: var(--fh-surface);
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.fh-dash .fh-dash__card:hover {
	border-color: var(--fh-green);
	box-shadow: var(--fh-shadow);
}

.fh-dash .fh-dash__card.is-quiet {
	background: var(--fh-bg);
}

.fh-dash .fh-dash__card header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 2px;
	padding: 0;
	background: none;
}

.fh-dash .fh-dash__state {
	flex: 0 0 auto;
	padding: 2px 10px;
	border-radius: var(--fh-pill);
	background: var(--fh-bg);
	color: var(--fh-muted);
	font-size: 0.72rem;
	font-weight: 700;
}

.fh-dash .fh-dash__card footer {
	margin-top: auto;
	padding-top: 8px;
	border-top: 1px solid var(--fh-border);
	font-size: 0.78rem;
	color: var(--fh-faint);
	background: none;
}

.fh-dash .fh-dash__names {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

.fh-dash .fh-dash__names li {
	margin: 0;
	padding: 3px 10px;
	border-radius: var(--fh-pill);
	background: var(--fh-bg);
	border: 1px solid var(--fh-border);
	font-size: 0.78rem;
	color: var(--fh-text);
}

.fh-dash .fh-dash__note {
	margin: 6px 0 0;
	font-size: 0.82rem;
	color: var(--fh-muted);
}

.fh-dash .fh-dash__note.is-warn {
	padding: 0.6rem 0.85rem;
	border-radius: var(--fh-radius-sm);
	background: var(--fh-yellow-light);
	color: #8A5A00;
}

.fh-dash .fh-dash__note.is-warn a {
	color: #8A5A00;
	font-weight: 700;
}

/* Package quota */

.fh-dash .fh-dash__big {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 4px;
}

.fh-dash .fh-dash__big strong {
	font-size: 2rem;
	line-height: 1;
	font-weight: 800;
	color: var(--fh-green-ink);
	font-variant-numeric: tabular-nums;
}

.fh-dash .fh-dash__big span {
	font-size: 0.83rem;
	color: var(--fh-muted);
}

.fh-dash .fh-dash__bar {
	height: 8px;
	margin: 4px 0 2px;
	border-radius: var(--fh-pill);
	background: var(--fh-bg);
	border: 1px solid var(--fh-border);
	overflow: hidden;
}

.fh-dash .fh-dash__bar span {
	display: block;
	height: 100%;
	border-radius: var(--fh-pill);
	background: var(--fh-green);
}

.fh-dash .fh-dash__pkg.is-low .fh-dash__big strong,
.fh-dash .fh-dash__pkg.is-empty .fh-dash__big strong,
.fh-dash .fh-dash__pkg.is-over .fh-dash__big strong {
	color: #B42318;
}

.fh-dash .fh-dash__pkg.is-low .fh-dash__bar span,
.fh-dash .fh-dash__pkg.is-empty .fh-dash__bar span,
.fh-dash .fh-dash__pkg.is-over .fh-dash__bar span {
	background: var(--fh-red);
}

.fh-dash .fh-dash__pkg.is-ok .fh-dash__state,
.fh-dash .fh-dash__pkg.is-good .fh-dash__state {
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
}

.fh-dash .fh-dash__pkg.is-low .fh-dash__state,
.fh-dash .fh-dash__pkg.is-empty .fh-dash__state,
.fh-dash .fh-dash__pkg.is-over .fh-dash__state {
	background: var(--fh-red-light);
	color: #B42318;
}

.fh-dash .fh-dash__pkg.is-closed {
	background: var(--fh-bg);
}

/* ── Tables ───────────────────────────────────────────────────────────── */

/* The Elementor My Account widget styles every table in the tab with
   selectors like `… .e-my-account-tab:not(…) .woocommerce thead:first-child
   tr:first-child th` (no left padding, own borders). Box metrics are
   therefore !important here, as on the day label. */

.fh-dash .fh-dash__tablewrap {
	overflow-x: auto;
	border: 1.5px solid var(--fh-border) !important;
	border-radius: var(--fh-radius);
	background: var(--fh-surface);
}

.fh-dash .fh-dash__table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 0.85rem;
}

.fh-dash .fh-dash__table th {
	text-align: left;
	padding: 0.65rem 0.9rem !important;
	background: var(--fh-bg);
	color: var(--fh-muted);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border: 0 !important;
	border-bottom: 1.5px solid var(--fh-border) !important;
}

.fh-dash .fh-dash__table td {
	padding: 0.65rem 0.9rem !important;
	border: 0 !important;
	border-bottom: 1px solid var(--fh-border) !important;
	background: transparent;
	vertical-align: top;
	color: var(--fh-text);
}

.fh-dash .fh-dash__table tr:last-child td {
	border-bottom: 0 !important;
}

.fh-dash .fh-dash__marks {
	display: inline-flex;
	gap: 4px;
	white-space: nowrap;
}

.fh-dash .fh-dash__table tbody tr:hover > td {
	background: var(--fh-bg);
}

.fh-dash .fh-dash__table .num {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

/* Attendance marks */

.fh-dash .fh-dash__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.9em;
	padding: 2px 9px;
	border-radius: var(--fh-pill);
	background: var(--fh-bg);
	color: var(--fh-muted);
	font-size: 0.75rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.fh-dash .fh-dash__mark.is-present {
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
}

.fh-dash .fh-dash__mark.is-absent {
	background: var(--fh-red-light);
	color: #B42318;
}

.fh-dash .fh-dash__mark.is-excused {
	background: var(--fh-yellow-light);
	color: #8A5A00;
}

/* ── Honor ────────────────────────────────────────────────────────────── */

.fh-dash .fh-dash__honor {
	background: var(--fh-surface);
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	overflow: hidden;
}

.fh-dash .fh-dash__honor[open] {
	border-color: var(--fh-green);
}

.fh-dash .fh-dash__honor summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto 18px;
	align-items: center;
	gap: 1rem;
	padding: 0.85rem 1rem;
	cursor: pointer;
	list-style: none;
}

.fh-dash .fh-dash__honor summary::-webkit-details-marker {
	display: none;
}

/* Without a marker, a closed row gives no hint that it opens. */
.fh-dash .fh-dash__honor summary::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--fh-faint);
	border-bottom: 2px solid var(--fh-faint);
	transform: rotate(45deg);
	transition: transform 0.18s ease;
	justify-self: center;
}

.fh-dash .fh-dash__honor[open] summary::after {
	transform: rotate(-135deg);
}

.fh-dash .fh-dash__hp {
	display: flex;
	flex-direction: column;
	font-weight: 700;
	color: var(--fh-navy);
}

.fh-dash .fh-dash__hp small {
	font-weight: 500;
	font-size: 0.75rem;
	color: var(--fh-faint);
}

.fh-dash .fh-dash__ha {
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	color: var(--fh-navy);
}

.fh-dash .fh-dash__hs {
	padding: 2px 10px;
	border-radius: var(--fh-pill);
	font-size: 0.72rem;
	font-weight: 700;
	background: var(--fh-bg);
	color: var(--fh-muted);
}

.fh-dash .is-paid .fh-dash__hs {
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
}

.fh-dash .is-locked .fh-dash__hs {
	background: #E3F2FD;
	color: #1565C0;
}

.fh-dash .is-draft .fh-dash__hs {
	background: var(--fh-yellow-light);
	color: #8A5A00;
}

.fh-dash .fh-dash__honor .fh-dash__tablewrap {
	border: 0;
	border-top: 1.5px solid var(--fh-border);
	border-radius: 0;
}

/* ── Orders (overview) ────────────────────────────────────────────────── */

.fh-dash .fh-dash__orders {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	background: var(--fh-surface);
	overflow: hidden;
}

.fh-dash .fh-dash__orders li {
	margin: 0;
	border-bottom: 1px solid var(--fh-border);
}

.fh-dash .fh-dash__orders li:last-child {
	border-bottom: 0;
}

.fh-dash .fh-dash__orders a {
	display: grid;
	grid-template-columns: minmax(80px, auto) minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 1rem;
	padding: 0.7rem 1rem;
	color: var(--fh-text);
	text-decoration: none;
}

.fh-dash .fh-dash__orders a:hover {
	background: var(--fh-bg);
}

.fh-dash .fh-dash__order-no {
	display: flex;
	align-items: center;
	font-weight: 700;
	color: var(--fh-navy);
}

.fh-dash .fh-dash__order-date {
	font-size: 0.83rem;
	color: var(--fh-muted);
}

.fh-dash .fh-dash__order-total {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.fh-dash .fh-dash__order-st {
	padding: 2px 10px;
	border-radius: var(--fh-pill);
	background: var(--fh-bg);
	color: var(--fh-muted);
	font-size: 0.72rem;
	font-weight: 700;
	white-space: nowrap;
}

.fh-dash .fh-dash__order-st.is-completed {
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
}

.fh-dash .fh-dash__order-st.is-processing {
	background: #E3F2FD;
	color: #1565C0;
}

.fh-dash .fh-dash__order-st.is-on-hold,
.fh-dash .fh-dash__order-st.is-pending {
	background: var(--fh-yellow-light);
	color: #8A5A00;
}

.fh-dash .fh-dash__order-st.is-cancelled,
.fh-dash .fh-dash__order-st.is-failed,
.fh-dash .fh-dash__order-st.is-refunded {
	background: var(--fh-red-light);
	color: #B42318;
}

/* ── Documents ────────────────────────────────────────────────────────── */

.fh-dash .fh-dash__docs {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fh-dash .fh-dash__doc {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	align-items: center;
	gap: 1rem;
	margin: 0;
	padding: 0.8rem 1rem;
	background: var(--fh-surface);
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.fh-dash .fh-dash__doc:hover {
	border-color: var(--fh-green);
	box-shadow: var(--fh-shadow);
}

.fh-dash .fh-dash__doc-ext {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--fh-radius);
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.fh-dash .fh-dash__doc-body {
	min-width: 0;
}

.fh-dash .fh-dash__doc .fh-dash__title {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ── Empty state, pager ───────────────────────────────────────────────── */

.fh-dash .fh-dash__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 2rem 1.25rem;
	border: 1.5px dashed var(--fh-border);
	border-radius: var(--fh-radius);
	background: var(--fh-bg);
	text-align: center;
}

.fh-dash .fh-dash__empty .fh-dash__ico {
	margin: 0 0 4px;
	color: var(--fh-green);
}

.fh-dash .fh-dash__empty strong {
	color: var(--fh-navy);
}

.fh-dash .fh-dash__empty p {
	max-width: 46ch;
	margin: 0 0 6px;
	font-size: 0.85rem;
	color: var(--fh-muted);
}

.fh-dash .fh-dash__pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 1rem;
	font-size: 0.85rem;
	color: var(--fh-muted);
}

/* ── Alerts ───────────────────────────────────────────────────────────── */

.fh-dash .fh-dash__alert {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-radius: var(--fh-radius-sm);
	border: 1.5px solid var(--fh-border);
	background: var(--fh-bg);
	font-size: 0.88rem;
	color: var(--fh-text);
}

.fh-dash .fh-dash__alert.is-ok {
	border-color: rgba(29, 166, 120, 0.35);
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
}

.fh-dash .fh-dash__alert.is-wait {
	border-color: rgba(242, 192, 42, 0.5);
	background: var(--fh-yellow-light);
	color: #8A5A00;
}

.fh-dash .fh-dash__alert.is-error {
	border-color: rgba(239, 87, 67, 0.4);
	background: var(--fh-red-light);
	color: #B42318;
}

/* ── Tutor profile form (Ruang Tutor → Profil) ────────────────────────── */

.fh-dash .fh-tpf {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.fh-dash .fh-tpf__group {
	margin: 0;
	padding: 1rem 1.1rem 1.1rem;
	border: 1.5px solid var(--fh-border) !important;
	border-radius: var(--fh-radius);
	background: var(--fh-surface);
	min-width: 0;
}

.fh-dash .fh-tpf__group legend {
	padding: 0 6px;
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--fh-navy);
}

.fh-dash .fh-tpf__field {
	margin: 0 0 0.9rem;
}

.fh-dash .fh-tpf__field:last-child {
	margin-bottom: 0;
}

.fh-dash .fh-tpf__label {
	display: block;
	margin: 0 0 4px;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--fh-text);
}

.fh-dash .fh-tpf input[type="text"],
.fh-dash .fh-tpf input[type="number"],
.fh-dash .fh-tpf select,
.fh-dash .fh-tpf textarea {
	width: 100%;
	max-width: 100%;
	padding: 0.55rem 0.75rem;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius-sm);
	background: #fff;
	font: inherit;
	font-size: 0.92rem;
	color: var(--fh-text);
	box-shadow: none;
}

.fh-dash .fh-tpf input[type="number"] {
	max-width: 8rem;
}

.fh-dash .fh-tpf input:focus,
.fh-dash .fh-tpf select:focus,
.fh-dash .fh-tpf textarea:focus {
	outline: none;
	border-color: var(--fh-green);
	box-shadow: var(--fh-focus);
}

.fh-dash .fh-tpf input[type="file"] {
	font-size: 0.85rem;
	max-width: 100%;
}

.fh-dash .fh-tpf__help {
	margin: 4px 0 0;
	font-size: 0.78rem;
	color: var(--fh-faint);
}

.fh-dash .fh-tpf__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
	margin: 0;
}

.fh-dash .fh-tpf__facts div {
	margin: 0;
}

.fh-dash .fh-tpf__facts dt {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--fh-faint);
}

.fh-dash .fh-tpf__facts dd {
	margin: 0;
	font-weight: 700;
	color: var(--fh-navy);
}

.fh-dash .fh-tpf__photo {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}

.fh-dash .fh-tpf__thumb {
	flex: 0 0 88px;
	width: 88px;
	height: 88px;
	border-radius: var(--fh-radius);
	background: var(--fh-bg);
	border: 1.5px solid var(--fh-border);
	overflow: hidden;
}

.fh-dash .fh-tpf__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fh-dash .fh-tpf__gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	gap: 10px;
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
}

.fh-dash .fh-tpf__gallery li {
	margin: 0;
}

.fh-dash .fh-tpf__gallery label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 0.75rem;
	color: var(--fh-muted);
	cursor: pointer;
}

.fh-dash .fh-tpf__gallery img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	height: auto;
	object-fit: cover;
	border-radius: var(--fh-radius-sm);
	border: 1.5px solid var(--fh-border);
}

.fh-dash .fh-tpf__gallery.is-readonly li {
	position: relative;
}

.fh-dash .fh-tpf__badge {
	position: absolute;
	left: 6px;
	bottom: 6px;
	padding: 1px 8px;
	border-radius: 50px;
	background: var(--fh-navy, #0D1B2A);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 600;
}

.fh-dash .fh-tpf__gallery label:has(input:not(:checked)) img {
	opacity: 0.35;
}

.fh-dash .fh-tpf__rows {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.fh-dash .fh-tpf__row {
	display: grid;
	grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
	gap: 6px;
}

.fh-dash .fh-tpf__row.is-head span {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--fh-faint);
}

.fh-dash .fh-tpf__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.fh-dash button.fh-dash__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1.4rem;
	border: 1.5px solid var(--fh-green);
	border-radius: var(--fh-pill);
	background: var(--fh-green);
	color: #fff;
	font: inherit;
	font-weight: 700;
	font-size: 0.9rem;
	line-height: 1.3;
	cursor: pointer;
	transition: background 0.18s ease, border-color 0.18s ease;
}

.fh-dash button.fh-dash__btn:hover {
	background: var(--fh-green-hover);
	border-color: var(--fh-green-hover);
	color: #fff;
}

.fh-dash button.fh-dash__btn.is-ghost {
	background: #fff;
	border-color: var(--fh-border);
	color: var(--fh-muted);
}

.fh-dash button.fh-dash__btn.is-ghost:hover {
	border-color: var(--fh-red);
	background: var(--fh-red-light);
	color: #B42318;
}

.fh-dash button.fh-dash__btn:focus-visible {
	outline: none;
	box-shadow: var(--fh-focus);
}

/* ── Guide (My Account → Panduan) ─────────────────────────────────────── */

.fh-dash .fh-dash__guide {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 12px;
}

.fh-dash .fh-dash__guide .fh-dash__note {
	margin-top: 4px;
	line-height: 1.55;
}

/* The overview sits below WooCommerce's greeting on the landing page. */
.fh-dash.fh-dash--overview {
	margin-top: 1.25rem;
}

/* ── Mobile ───────────────────────────────────────────────────────────── */

@media (max-width: 767px) {
	.fh-dash .fh-dash__session {
		grid-template-columns: 56px minmax(0, 1fr);
		gap: 0.75rem;
		padding: 0.8rem;
	}

	.fh-dash .fh-dash__time {
		padding-right: 0.6rem;
	}

	.fh-dash .fh-dash__action {
		grid-column: 1 / -1;
		align-items: stretch;
	}

	.fh-dash a.fh-dash__btn {
		width: 100%;
	}

	.fh-dash .fh-dash__nolink {
		text-align: center;
	}

	.fh-dash .fh-dash__tabs {
		width: 100%;
		border-radius: var(--fh-radius);
	}

	.fh-dash a.fh-dash__tab {
		flex: 1 1 auto;
		text-align: center;
		padding: 0.5rem 0.75rem;
	}

	.fh-dash .fh-dash__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* An odd last tile takes the whole row instead of leaving a hole (11.76.0). */
	.fh-dash .fh-dash__stats > .fh-dash__stat:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.fh-dash .fh-dash__orders a {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 4px 12px;
	}

	.fh-dash .fh-dash__order-date {
		grid-row: 2;
	}

	.fh-dash .fh-dash__honor summary {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.fh-dash .fh-dash__honor summary::after {
		display: none;
	}

	.fh-dash .fh-dash__hs {
		grid-column: 1 / -1;
		justify-self: start;
	}

	.fh-dash .fh-dash__doc {
		grid-template-columns: 40px minmax(0, 1fr);
	}

	.fh-dash .fh-dash__doc-ext {
		width: 40px;
		height: 40px;
	}

	.fh-dash .fh-dash__doc .fh-dash__btn {
		grid-column: 1 / -1;
	}

	.fh-dash .fh-tpf__row {
		grid-template-columns: 1fr;
		padding-bottom: 8px;
		border-bottom: 1px dashed var(--fh-border);
	}

	.fh-dash .fh-tpf__row.is-head {
		display: none;
	}

	.fh-dash button.fh-dash__btn {
		width: 100%;
	}

	.fh-dash .fh-dash__table thead {
		display: none;
	}

	.fh-dash .fh-dash__table tr {
		display: block;
		padding: 0.6rem 0.9rem;
		border-bottom: 1px solid var(--fh-border);
	}

	.fh-dash .fh-dash__table tr:last-child {
		border-bottom: 0;
	}

	.fh-dash .fh-dash__table td {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		padding: 3px 0 !important;
		border: 0 !important;
		text-align: right;
	}

	.fh-dash .fh-dash__table td::before {
		content: attr(data-label);
		flex: 0 0 auto;
		font-weight: 600;
		color: var(--fh-faint);
		text-align: left;
	}

	.fh-dash .fh-dash__table td > span {
		min-width: 0;
		text-align: right;
	}
}

/* ── Link colours inside the Elementor My Account widget ──────────────── */

/* The widget colours every link in the tab with
   `.elementor-widget-woocommerce-my-account .e-my-account-tab:not(…) .woocommerce a`
   (specificity 0,4,1). Without !important the text of our link-buttons takes
   the link colour — green on a green button, i.e. invisible (regression in
   11.5.0, fixed in 11.9.0; the pre-11.5 CSS had the same !important). */
.fh-dash a.fh-dash__btn {
	color: #fff !important;
}

.fh-dash a.fh-dash__btn.is-ghost,
.fh-dash a.fh-dash__btn.is-ghost:hover {
	color: var(--fh-green-ink) !important;
}

.fh-dash a.fh-dash__btn:hover {
	color: #fff !important;
}

.fh-dash a.fh-dash__tab {
	color: var(--fh-muted) !important;
}

.fh-dash a.fh-dash__tab:hover {
	color: var(--fh-navy) !important;
}

.fh-dash a.fh-dash__tab.is-active {
	color: var(--fh-green-ink) !important;
}

.fh-dash .fh-dash__orders a {
	color: var(--fh-text) !important;
}

.fh-dash .fh-dash__note.is-warn a {
	color: #8A5A00 !important;
}

/* ── Materi & PR (11.22) ───────────────────────────────────────────────── */

.fh-dash .fh-mat__new {
	margin: 0 0 1.25rem;
}

.fh-dash .fh-mat__new > summary {
	cursor: pointer;
	color: var(--fh-green-ink);
	font-weight: 700;
	list-style: none;
}

.fh-dash .fh-mat__new > summary::before {
	content: "+";
	display: inline-block;
	width: 1.2em;
	font-weight: 700;
}

.fh-dash .fh-mat__new[open] > summary {
	margin-bottom: 0.75rem;
}

.fh-dash .fh-mat__new[open] > summary::before {
	content: "–";
}

.fh-dash .fh-mat__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem 1rem;
}

.fh-dash .fh-mat__grid .is-wide {
	grid-column: 1 / -1;
}

.fh-dash .fh-mat__form label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0 0 0.6rem;
	color: var(--fh-navy);
	font-size: 0.85rem;
	font-weight: 600;
}

.fh-dash .fh-mat__form label[hidden] {
	display: none;
}

.fh-dash .fh-mat__form input[type="text"],
.fh-dash .fh-mat__form input[type="url"],
.fh-dash .fh-mat__form input[type="date"],
.fh-dash .fh-mat__form select,
.fh-dash .fh-mat__form textarea {
	width: 100%;
	min-height: 40px;
	padding: 8px 12px;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius-sm);
	background: #fff;
	color: var(--fh-text);
	font: inherit;
	font-weight: 400;
}

.fh-dash .fh-mat__form input[type="file"] {
	font: inherit;
	font-weight: 400;
}

.fh-dash .fh-mat__hint {
	margin: 0 0 0.75rem;
	color: var(--fh-muted);
	font-size: 0.8rem;
}

/* Tutor progress report waiting for / sent back by Ops (11.45) */
.fh-dash .fh-mat__status {
	margin: 0 0 0.6rem;
	padding: 0.5rem 0.75rem;
	border-radius: 8px;
	font-size: 0.85rem;
	line-height: 1.45;
}

.fh-dash .fh-mat__status.is-pending {
	background: #FDF6DD;
	color: #7A5B00;
}

.fh-dash .fh-mat__status.is-rejected {
	background: #FDECEA;
	color: #B42318;
}

.fh-dash .fh-mat__h {
	margin: 1.5rem 0 0.75rem;
}

.fh-dash .fh-mat {
	margin: 0 0 0.75rem;
}

.fh-dash .fh-mat__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.fh-dash .fh-mat__title {
	color: var(--fh-navy);
	font-size: 1rem;
}

.fh-dash .fh-mat__when {
	margin-left: auto;
	color: var(--fh-faint);
	font-size: 0.78rem;
}

.fh-dash .fh-mat__kind {
	padding: 2px 10px;
	border-radius: var(--fh-pill);
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
	font-size: 0.72rem;
	font-weight: 700;
}

.fh-dash .fh-mat__kind.is-pr {
	background: var(--fh-yellow-light);
	color: #8A5A00;
}

/* Progress report from Ops (11.30.0) */
.fh-dash .fh-mat__kind.is-report {
	background: #E8EEF6;
	color: var(--fh-navy, #0D1B2A);
}

/* Class recording (11.84) */
.fh-dash .fh-mat__kind.is-rec {
	background: var(--fh-red-light);
	color: #B23A2B;
}

.fh-dash .fh-mat__linkrow {
	margin: 0.5rem 0 0;
}

.fh-dash a.fh-mat__link {
	gap: 6px;
}

.fh-dash .fh-mat__where {
	margin: 0;
	color: var(--fh-muted);
	font-size: 0.82rem;
}

.fh-dash .fh-mat__body {
	margin: 0.25rem 0 0;
	white-space: normal;
}

.fh-dash .fh-mat__files {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
}

.fh-dash .fh-mat__files li.is-audio {
	flex-basis: 100%;
}

.fh-dash .fh-mat__files audio {
	display: block;
	width: 100%;
	max-width: 420px;
	height: 40px;
}

.fh-dash .fh-mat__files a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius-sm);
	background: var(--fh-bg);
	color: var(--fh-green-ink) !important;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
}

.fh-dash .fh-mat__answer,
.fh-dash .fh-mat__subs {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px dashed var(--fh-border);
}

.fh-dash .fh-mat__answer summary,
.fh-dash .fh-mat__subs summary {
	cursor: pointer;
	color: var(--fh-green-ink);
	font-weight: 600;
	font-size: 0.9rem;
}

.fh-dash .fh-mat__answer form {
	margin-top: 0.6rem;
}

.fh-dash .fh-mat__done {
	margin: 0;
	color: var(--fh-green-ink);
	font-weight: 600;
	font-size: 0.88rem;
}

.fh-dash .fh-mat__sub {
	margin-top: 0.6rem;
	padding: 0.6rem 0.8rem;
	border-radius: var(--fh-radius-sm);
	background: var(--fh-bg);
}

.fh-dash .fh-mat__del {
	margin: 0.5rem 0 0;
	text-align: right;
}

.fh-dash .fh-dash__link-btn {
	padding: 0;
	border: 0;
	background: none;
	color: var(--fh-red) !important;
	font: inherit;
	font-size: 0.82rem;
	cursor: pointer;
}

@media (max-width: 600px) {
	.fh-dash .fh-mat__grid {
		grid-template-columns: 1fr;
	}

	.fh-dash .fh-mat__when {
		margin-left: 0;
		width: 100%;
	}
}

/* ── Anggota keluarga switcher (11.23) ─────────────────────────────────── */

.fh-dash .fh-dash__family {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 1rem;
}

.fh-dash .fh-dash__family-l {
	color: var(--fh-muted);
	font-size: 0.85rem;
	font-weight: 600;
}

.fh-dash .fh-dash__family-p {
	padding: 6px 14px;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-pill);
	background: #fff;
	color: var(--fh-navy) !important;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none !important;
}

.fh-dash .fh-dash__family-p small {
	color: var(--fh-muted);
	font-weight: 400;
}

.fh-dash .fh-dash__family-p.is-active {
	border-color: var(--fh-green);
	background: var(--fh-green-light);
	color: var(--fh-green-ink) !important;
}

/* ── Ruang Tutor → bagikan materi (11.45.1) ─────────────────────────────
 * The Elementor My Account widget styles form controls with very specific
 * selectors, so the control properties below need !important. */

.fh-dash .fh-mat__new {
	padding: 0 !important;
	overflow: hidden;
	border-radius: 12px;
}

.fh-dash .fh-mat__new > summary {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 16px 18px;
	color: var(--fh-navy);
	font-weight: 400;
}

.fh-dash .fh-mat__new > summary::-webkit-details-marker,
.fh-dash .fh-mat__new > summary::before {
	display: none;
	content: none;
}

.fh-dash .fh-mat__new-ico {
	display: inline-flex;
	flex: 0 0 36px;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--fh-green-light, #E8F6F1);
	color: var(--fh-green-ink, #0E7C57);
}

.fh-dash .fh-mat__new-txt {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.fh-dash .fh-mat__new-txt strong {
	color: var(--fh-green-ink, #0E7C57);
	font-size: 1rem;
}

.fh-dash .fh-mat__new-txt small {
	color: var(--fh-muted);
	font-size: 0.8rem;
}

.fh-dash .fh-mat__new-chev {
	display: inline-flex;
	color: var(--fh-muted);
	transition: transform 0.15s ease;
}

.fh-dash .fh-mat__new[open] > summary {
	border-bottom: 1.5px solid var(--fh-border, #E2E5EA);
}

.fh-dash .fh-mat__new[open] .fh-mat__new-chev {
	transform: rotate(180deg);
}

.fh-dash .fh-mat__new .fh-mat__form {
	padding: 18px;
}

.fh-dash .fh-mat__grid {
	gap: 14px 18px;
}

.fh-dash .fh-mat__form label {
	gap: 6px;
	margin: 0 !important;
	font-size: 0.85rem;
}

.fh-dash .fh-mat__form input[type="text"],
.fh-dash .fh-mat__form input[type="url"],
.fh-dash .fh-mat__form input[type="date"],
.fh-dash .fh-mat__form select,
.fh-dash .fh-mat__form textarea {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 10px 14px !important;
	border: 1.5px solid var(--fh-border, #E2E5EA) !important;
	border-radius: 10px !important;
	background-color: #fff !important;
	color: var(--fh-text) !important;
	box-shadow: none !important;
	font: inherit !important;
	font-size: 0.95rem !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
}

.fh-dash .fh-mat__form ::placeholder {
	color: #A0A7B1 !important;
	font-weight: 400 !important;
	opacity: 1;
}

.fh-dash .fh-mat__form select {
	-webkit-appearance: none !important;
	appearance: none !important;
	padding-right: 40px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237E7E7E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
	background-position: right 14px center !important;
	background-repeat: no-repeat !important;
	background-size: 16px 16px !important;
	cursor: pointer;
}

.fh-dash .fh-mat__form textarea {
	min-height: 96px !important;
	resize: vertical;
}

.fh-dash .fh-mat__form input:focus,
.fh-dash .fh-mat__form select:focus,
.fh-dash .fh-mat__form textarea:focus {
	border-color: var(--fh-green, #1DA678) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 3px rgba(29, 166, 120, 0.15) !important;
}

/* Type: three buttons */
.fh-dash .fh-mat__kinds {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.fh-dash .fh-mat__kinds legend {
	margin: 0 0 6px !important;
	padding: 0 !important;
	color: var(--fh-navy);
	font-size: 0.85rem;
	font-weight: 600;
}

.fh-dash .fh-mat__kinds-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.fh-dash .fh-mat__form .fh-mat__kind-opt {
	position: relative;
	display: block;
	cursor: pointer;
}

.fh-dash .fh-mat__kind-opt input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.fh-dash .fh-mat__kind-opt span {
	display: flex;
	flex-direction: column;
	gap: 2px;
	height: 100%;
	padding: 11px 14px;
	border: 1.5px solid var(--fh-border, #E2E5EA);
	border-radius: 10px;
	background: #fff;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.fh-dash .fh-mat__kind-opt strong {
	color: var(--fh-navy);
	font-size: 0.92rem;
}

.fh-dash .fh-mat__kind-opt small {
	color: var(--fh-muted);
	font-size: 0.76rem;
	font-weight: 500;
}

.fh-dash .fh-mat__kind-opt:hover span {
	border-color: var(--fh-green, #1DA678);
}

.fh-dash .fh-mat__kind-opt input:checked + span {
	border-color: var(--fh-green, #1DA678);
	background: var(--fh-green-light, #E8F6F1);
	box-shadow: inset 0 0 0 1px var(--fh-green, #1DA678);
}

.fh-dash .fh-mat__kind-opt input:checked + span strong {
	color: var(--fh-green-ink, #0E7C57);
}

.fh-dash .fh-mat__kind-opt input:focus-visible + span {
	box-shadow: 0 0 0 3px rgba(29, 166, 120, 0.25);
}

/* File: upload box */
.fh-dash .fh-mat__drop {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.fh-dash .fh-mat__drop-l {
	color: var(--fh-navy);
	font-size: 0.85rem;
	font-weight: 600;
}

.fh-dash .fh-mat__form .fh-mat__dropzone {
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 16px 18px;
	border: 1.5px dashed #C9CED6;
	border-radius: 10px;
	background: var(--fh-bg, #F7F8FA);
	color: var(--fh-muted);
	font-weight: 400;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.fh-dash .fh-mat__dropzone:hover,
.fh-dash .fh-mat__dropzone.has-files {
	border-color: var(--fh-green, #1DA678);
	background: var(--fh-green-light, #E8F6F1);
}

.fh-dash .fh-mat__dropzone input[type="file"] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.fh-dash .fh-mat__drop-ico {
	display: inline-flex;
	color: var(--fh-green-ink, #0E7C57);
}

.fh-dash .fh-mat__drop-txt strong {
	color: var(--fh-green-ink, #0E7C57);
}

.fh-dash .fh-mat__drop-files {
	flex-basis: 100%;
	color: var(--fh-navy);
	font-size: 0.85rem;
	font-weight: 600;
	word-break: break-word;
}

.fh-dash .fh-mat__drop-files:empty {
	display: none;
}

.fh-dash .fh-mat__form .fh-mat__hint {
	margin: 12px 0 14px;
}

.fh-dash .fh-mat__form .fh-dash__btn {
	min-width: 140px;
}

/* Nothing shared yet */
.fh-dash .fh-mat__empty {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px;
	border: 1.5px dashed var(--fh-border, #E2E5EA);
	border-radius: 12px;
	color: var(--fh-muted);
}

.fh-dash .fh-mat__empty span {
	display: inline-flex;
	color: var(--fh-faint, #A0A7B1);
}

.fh-dash .fh-mat__empty p {
	margin: 0 !important;
}

@media (max-width: 600px) {
	.fh-dash .fh-mat__kinds-row {
		grid-template-columns: 1fr;
	}
}

/* ── Kelas tab (11.53): classes, one class's sessions & quota ──────────
 * Links get !important colours: the Elementor My Account widget colours
 * every `a` in the tab (0,4,1). Table box metrics follow the !important
 * rules of the Tables section above. */

.fh-dash .fh-dash__card footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 12px;
}

.fh-dash .fh-dash__card footer .fh-dash__more {
	margin-left: auto;
}

.fh-dash a.fh-dash__more {
	color: var(--fh-green-ink) !important;
}

.fh-dash .fh-dash__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.fh-dash .fh-dash__tag {
	padding: 2px 9px;
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-pill);
	background: #fff;
	color: var(--fh-muted);
	font-size: 0.7rem;
	font-weight: 600;
}

.fh-dash .fh-dash__state.is-on {
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
}

.fh-dash .fh-dash__state.is-warn {
	background: var(--fh-yellow-light);
	color: #8A5A00;
}

.fh-dash .fh-dash__state.is-over {
	background: var(--fh-red-light);
	color: #B42318;
}

/* Class card */

.fh-dash .fh-dash__classes {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.fh-dash a.fh-dash__cls-name {
	min-width: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--fh-navy) !important;
	text-decoration: none !important;
	overflow-wrap: anywhere;
}

.fh-dash a.fh-dash__cls-name:hover {
	color: var(--fh-green-ink) !important;
}

.fh-dash .fh-dash__cls.is-done {
	background: var(--fh-bg);
}

.fh-dash .fh-dash__cls .fh-dash__badge {
	margin-left: 4px;
	vertical-align: 1px;
}

.fh-dash .fh-dash__cls-q {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 8px;
}

.fh-dash .fh-dash__cls-q > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 0.55rem 0.75rem;
	border-radius: var(--fh-radius-sm);
	background: var(--fh-bg);
}

.fh-dash .fh-dash__cls.is-done .fh-dash__cls-q > div {
	background: #fff;
}

.fh-dash .fh-dash__cls-q span {
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--fh-muted);
}

.fh-dash .fh-dash__cls-q strong {
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--fh-navy);
	font-variant-numeric: tabular-nums;
}

.fh-dash .fh-dash__cls-q > div.is-good {
	background: var(--fh-green-light);
}

.fh-dash .fh-dash__cls-q > div.is-good strong {
	color: var(--fh-green-ink);
}

.fh-dash .fh-dash__cls-q > div.is-warn {
	background: var(--fh-red-light);
}

.fh-dash .fh-dash__cls-q > div.is-warn strong {
	color: #B42318;
}

.fh-dash .fh-dash__note.fh-dash__cls-wait {
	padding: 0.55rem 0.75rem;
	border-radius: var(--fh-radius-sm);
	background: var(--fh-bg);
	color: var(--fh-text);
}

.fh-dash .fh-dash__cls-unplaced {
	margin: 1rem 0 0;
}

.fh-dash .fh-dash__cls-unplaced a {
	color: var(--fh-green-ink) !important;
	font-weight: 700;
}

/* Folded list (finished classes, older rows) */

.fh-dash .fh-dash__fold {
	margin: 1rem 0 0;
}

.fh-dash .fh-dash__fold > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 0.7rem 1rem;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	background: var(--fh-surface);
	color: var(--fh-navy);
	font-size: 0.88rem;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
}

.fh-dash .fh-dash__fold > summary::-webkit-details-marker {
	display: none;
}

.fh-dash .fh-dash__fold > summary::after {
	content: "";
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--fh-faint);
	border-bottom: 2px solid var(--fh-faint);
	transform: rotate(45deg);
	transition: transform 0.18s ease;
}

.fh-dash .fh-dash__fold[open] > summary {
	margin-bottom: 12px;
	border-color: var(--fh-green);
}

.fh-dash .fh-dash__fold[open] > summary::after {
	transform: rotate(-135deg);
}

.fh-dash .fh-dash__fold > summary:focus-visible {
	outline: none;
	box-shadow: var(--fh-focus);
}

/* One class */

.fh-dash a.fh-dash__back {
	display: inline-flex;
	align-items: center;
	margin: 0 0 0.85rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--fh-green-ink) !important;
	text-decoration: none !important;
}

.fh-dash a.fh-dash__back .fh-dash__ico {
	margin-right: 4px;
	color: currentColor;
}

.fh-dash .fh-dash__clshead {
	gap: 8px;
	margin: 0 0 0.5rem;
}

.fh-dash .fh-dash__clshead:hover {
	border-color: var(--fh-border);
	box-shadow: none;
}

.fh-dash .fh-dash__clshead-name {
	margin: 0 !important;
	font-size: 1.25rem !important;
	line-height: 1.3 !important;
	font-weight: 800;
	color: var(--fh-navy);
	overflow-wrap: anywhere;
}

.fh-dash .fh-dash__clshead-act {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}

.fh-dash .fh-dash__clshead-act .fh-dash__ico {
	margin-right: 6px;
}

.fh-dash .fh-dash__calc {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin: 6px 0 0 !important;
	padding: 8px 0 0 !important;
	border-top: 1px dashed var(--fh-border);
	list-style: none !important;
	font-size: 0.8rem;
	color: var(--fh-muted);
}

.fh-dash .fh-dash__calc li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
}

.fh-dash .fh-dash__calc b {
	color: var(--fh-navy);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* Sessions & quota table */

.fh-dash .fh-dash__lg td {
	font-size: 0.83rem;
}

.fh-dash .fh-dash__lg .fh-dash__lg-date {
	white-space: nowrap;
	font-weight: 600;
	color: var(--fh-navy);
}

.fh-dash .fh-dash__lg .fh-dash__lg-time {
	white-space: nowrap;
	color: var(--fh-muted);
	font-variant-numeric: tabular-nums;
}

.fh-dash .fh-dash__lg .fh-dash__lg-q {
	min-width: 12em;
}

.fh-dash .fh-dash__lg-ev > td {
	background: #F4FBF8;
}

.fh-dash .fh-dash__lg-what .fh-dash__ico {
	color: var(--fh-green);
}

.fh-dash .fh-dash__lg-what strong {
	color: var(--fh-navy);
}

.fh-dash .fh-dash__lg-what small,
.fh-dash .fh-dash__lg-sub {
	display: block;
	margin-top: 2px;
	font-size: 0.75rem;
	color: var(--fh-faint);
}

.fh-dash .fh-dash__lg-what small {
	padding-left: 20px;
}

.fh-dash .fh-dash__amt {
	color: var(--fh-navy);
	font-weight: 800;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.fh-dash .fh-dash__bal {
	display: inline-block;
	padding: 1px 8px;
	border-radius: var(--fh-pill);
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
	font-size: 0.72rem;
	font-weight: 700;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.fh-dash .fh-dash__bal.is-over {
	background: var(--fh-red-light);
	color: #B42318;
}

.fh-dash .fh-dash__st {
	display: inline-block;
	padding: 2px 9px;
	border-radius: var(--fh-pill);
	background: var(--fh-bg);
	color: var(--fh-muted);
	font-size: 0.72rem;
	font-weight: 700;
	white-space: nowrap;
}

.fh-dash .fh-dash__st.is-done {
	background: var(--fh-green-light);
	color: var(--fh-green-ink);
}

.fh-dash .fh-dash__st.is-next {
	background: #EEF2F7;
	color: var(--fh-navy);
}

.fh-dash .fh-dash__st.is-wait {
	background: var(--fh-yellow-light);
	color: #8A5A00;
}

.fh-dash .fh-dash__lg-row.is-ditunda > td {
	color: var(--fh-faint);
}

.fh-dash a.fh-dash__fb,
.fh-dash .fh-dash__fb {
	display: flex;
	align-items: center;
	width: fit-content;
	margin-top: 6px;
	padding: 2px 10px;
	border: 1.5px solid var(--fh-green);
	border-radius: var(--fh-pill);
	background: #fff;
	color: var(--fh-green-ink) !important;
	font-size: 0.75rem;
	font-weight: 700;
	text-decoration: none !important;
	white-space: nowrap;
}

.fh-dash a.fh-dash__fb:hover {
	background: var(--fh-green-light);
}

.fh-dash .fh-dash__fb .fh-dash__ico {
	margin-right: 4px;
	color: currentColor;
}

.fh-dash a.fh-dash__fb.is-rec {
	background: var(--fh-green);
	color: #fff !important;
}

.fh-dash a.fh-dash__fb.is-rec:hover,
.fh-dash a.fh-dash__fb.is-rec:focus {
	border-color: var(--fh-green-hover, #168A63);
	background: var(--fh-green-hover, #168A63);
}

.fh-dash .fh-dash__fb.is-sent {
	border-color: transparent;
	background: transparent;
	padding-left: 0;
	color: var(--fh-muted) !important;
}

@media (max-width: 767px) {
	.fh-dash .fh-dash__classes {
		grid-template-columns: minmax(0, 1fr);
	}

	.fh-dash .fh-dash__clshead-name {
		font-size: 1.1rem !important;
	}

	.fh-dash .fh-dash__clshead-act .fh-dash__btn {
		width: 100%;
	}

	/* A session as a compact card: date + status, time + mark, tutor, quota. */
	.fh-dash .fh-dash__lg tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"date st"
			"time att"
			"tutor tutor"
			"q q";
		gap: 3px 12px;
		padding: 0.7rem 0.9rem;
	}

	.fh-dash .fh-dash__lg td {
		display: block;
		padding: 0 !important;
		text-align: left;
	}

	.fh-dash .fh-dash__lg td::before {
		content: none;
	}

	.fh-dash .fh-dash__lg td > span {
		display: block;
		text-align: inherit;
	}

	.fh-dash .fh-dash__lg .fh-dash__lg-date {
		grid-area: date;
	}

	.fh-dash .fh-dash__lg .fh-dash__lg-time {
		grid-area: time;
	}

	.fh-dash .fh-dash__lg .fh-dash__lg-tutor {
		grid-area: tutor;
		color: var(--fh-muted);
	}

	.fh-dash .fh-dash__lg .fh-dash__lg-tutor::before {
		content: attr(data-label) ": ";
		display: inline;
		font-weight: 600;
		color: var(--fh-faint);
	}

	.fh-dash .fh-dash__lg .fh-dash__lg-tutor > span {
		display: inline;
	}

	.fh-dash .fh-dash__lg .fh-dash__lg-st {
		grid-area: st;
		justify-self: end;
	}

	.fh-dash .fh-dash__lg .fh-dash__lg-att {
		grid-area: att;
		justify-self: end;
		text-align: right;
	}

	.fh-dash .fh-dash__lg .fh-dash__lg-att .fh-dash__fb {
		margin-left: auto;
	}

	.fh-dash .fh-dash__lg .fh-dash__lg-q {
		grid-area: q;
		min-width: 0;
		margin-top: 4px;
	}

	.fh-dash .fh-dash__lg tr.fh-dash__lg-ev {
		grid-template-areas:
			"date q"
			"what what";
		background: #F4FBF8;
	}

	.fh-dash .fh-dash__lg-ev > td {
		background: transparent;
	}

	.fh-dash .fh-dash__lg .fh-dash__lg-what {
		grid-area: what;
	}

	.fh-dash .fh-dash__lg tr.fh-dash__lg-ev .fh-dash__lg-q {
		justify-self: end;
		margin-top: 0;
		text-align: right;
	}

	.fh-dash .fh-dash__lg tbody tr:hover > td {
		background: transparent;
	}
}

/* ── Progress report form (11.74) ─────────────────────────────────────────── */
.fh-dash a.fh-rpt__start {
	display: flex;
	flex-direction: row;
	align-items: center;
	text-align: left;
	gap: 14px;
	margin: 0 0 14px;
	padding: 16px 18px;
	border: 1.5px solid var(--fh-green, #1DA678);
	border-radius: 12px;
	background: var(--fh-green-light, #E8F6F1);
	color: var(--fh-navy, #0D1B2A);
	text-decoration: none;
}

.fh-dash a.fh-rpt__start:hover {
	background: #DDF1EA;
	color: var(--fh-navy, #0D1B2A);
}

.fh-dash .fh-rpt__start-ico,
.fh-dash .fh-rpt__start-go {
	display: inline-flex;
	flex: none;
	color: var(--fh-green-ink, #0E7C57);
}

.fh-dash .fh-rpt__start-ico {
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
}

.fh-dash .fh-rpt__start-txt {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
}

.fh-dash .fh-rpt__start-txt small {
	color: var(--fh-muted, #5B6470);
	font-size: 0.85rem;
	line-height: 1.4;
}

.fh-dash .fh-rpt__back {
	margin: 0 0 10px !important;
	font-size: 0.9rem;
}

.fh-dash .fh-rpt__h {
	margin: 0 0 16px !important;
	font-size: 1.3rem !important;
}

.fh-dash .fh-rpt__sec .fh-mat__hint {
	margin: -4px 0 14px !important;
	font-size: 0.85rem;
	line-height: 1.5;
}

.fh-dash .fh-rpt__sec .fh-mat__hint + .fh-rpt__aspect,
.fh-dash .fh-rpt__set > .fh-rpt__aspect:first-child {
	border-top: 0;
	padding-top: 0;
}

.fh-dash .fh-rpt__sec > label.is-wide + label.is-wide {
	margin-top: 14px !important;
}

.fh-dash .fh-rpt + .fh-mat__hint,
.fh-dash .fh-rpt .fh-rpt__actions + .fh-mat__hint {
	margin: 6px 0 0 !important;
}

.fh-dash .fh-rpt__sec {
	margin: 0 0 14px;
	padding: 18px;
}

.fh-dash .fh-rpt__sec h4 {
	margin: 0 0 14px !important;
	color: var(--fh-navy, #0D1B2A) !important;
	font-size: 1.02rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

.fh-dash .fh-rpt__fixed {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	font-size: 0.85rem;
}

.fh-dash .fh-rpt__fixed span {
	color: var(--fh-muted, #5B6470);
}

.fh-dash .fh-rpt__period {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.fh-dash .fh-rpt__aspect {
	padding: 12px 0;
	border-top: 1px solid var(--fh-border, #E2E5EA);
}

.fh-dash .fh-rpt__aspect-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
	color: var(--fh-navy, #0D1B2A);
}

.fh-dash .fh-mat__form .fh-rpt__score {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 8px !important;
	color: var(--fh-muted, #5B6470);
	font-weight: 600;
	white-space: nowrap;
}

.fh-dash .fh-mat__form .fh-rpt__score input {
	box-sizing: border-box !important;
	width: 84px !important;
	min-height: 40px !important;
	padding: 6px 10px !important;
	border: 1.5px solid var(--fh-border, #E2E5EA) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--fh-text) !important;
	font: inherit !important;
	font-weight: 700 !important;
	text-align: center;
}

.fh-dash .fh-mat__form .fh-rpt__note textarea {
	min-height: 64px !important;
}

.fh-dash .fh-rpt__final {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-top: 6px;
	padding: 12px 14px;
	border-radius: 10px;
	background: var(--fh-green-light, #E8F6F1);
	color: var(--fh-navy, #0D1B2A);
}

.fh-dash .fh-rpt__final strong {
	color: var(--fh-green-ink, #0E7C57);
	font-size: 1.2rem;
}

.fh-dash .fh-rpt__final em {
	font-style: normal;
	font-weight: 600;
}

.fh-dash .fh-rpt.is-narrative .fh-rpt__only-score,
.fh-dash .fh-rpt:not(.is-narrative) .fh-rpt__only-narrative {
	display: none !important;
}

.fh-dash .fh-rpt__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 4px 0 8px;
}

.fh-dash .fh-rpt__actions .fh-dash__btn.is-ghost,
.fh-dash a.fh-rpt__edit {
	border-color: var(--fh-green, #1DA678) !important;
	background: #fff !important;
	color: var(--fh-green-ink, #0E7C57) !important;
}

.fh-dash .fh-rpt__actions .fh-dash__btn.is-ghost:hover,
.fh-dash a.fh-rpt__edit:hover {
	background: var(--fh-green-light, #E8F6F1) !important;
	color: var(--fh-green-ink, #0E7C57) !important;
}

.fh-dash a.fh-rpt__edit {
	align-self: flex-start;
	margin: 6px 0 0;
}

.fh-dash .fh-rpt__line {
	color: var(--fh-green-ink, #0E7C57);
	font-weight: 600;
}

@media (max-width: 600px) {
	.fh-dash .fh-rpt__sec {
		padding: 14px;
	}

	.fh-dash .fh-rpt__period {
		grid-template-columns: 1fr;
	}
}

/* Ruang Tutor: the tutor's own status label (11.78.0) */
.fh-dash .fh-dash__tlabel {
	margin: 0 0 1rem;
	padding: 12px 16px;
	border: 1.5px solid var(--fh-border);
	border-radius: var(--fh-radius);
	background: var(--fh-surface, #fff);
}

.fh-dash .fh-dash__tlabel-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	color: var(--fh-navy);
	font-size: 0.9rem;
	font-weight: 600;
}

.fh-dash .fh-dash__tlabel-head small {
	color: var(--fh-muted);
	font-weight: 400;
}

.fh-dash .fh-dash__tlabel p {
	margin: 8px 0 0 !important;
	font-size: 0.88rem;
	line-height: 1.55;
}

.fh-dash .fh-dash__tlabel .fh-dash__tlabel-foot {
	color: var(--fh-muted);
	font-size: 0.8rem;
}

/* Progress report: skill set picker and one block per set (11.77.0) */
.fh-dash .fh-rpt__set {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.fh-dash .fh-rpt__set[hidden],
.fh-dash .fh-rpt__setpick[hidden] {
	display: none !important;
}

.fh-dash .fh-rpt__setpick {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 0 14px;
	color: var(--fh-navy);
	font-size: 0.85rem;
	font-weight: 600;
}

.fh-dash .fh-rpt__setpick select {
	max-width: 420px;
}

.fh-dash .fh-rpt__setpick small {
	color: var(--fh-muted);
	font-size: 0.8rem;
	font-weight: 400;
}

/* Kelas Saya (tutor): language and class type on one row (11.76.0) */
.fh-dash .fh-dash__meta.fh-dash__tags {
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.fh-dash .fh-dash__cls-note {
	margin: -0.25rem 0 1rem !important;
}

/* Jadwal Mengajar: upcoming / past switch (11.75.0), smaller than the tab bar above it */
.fh-dash .fh-dash__seg {
	margin: -0.5rem 0 1rem;
	padding: 3px;
}

.fh-dash .fh-dash__seg a.fh-dash__tab {
	padding: 0.38rem 0.95rem;
	font-size: 0.82rem;
}

.fh-dash .fh-dash__table td:first-child > span {
	white-space: nowrap;
}

.fh-dash .fh-dash__table .fh-dash__mark {
	white-space: nowrap;
}

.fh-dash .fh-dash__table small.fh-dash__mark {
	margin-left: 4px;
	font-size: 0.72rem;
}
