.ptw-card {
	--ptw-accent: #0f6b4f;
	--ptw-accent-soft: #e6f4ee;
	--ptw-border: #d9e2dd;
	max-width: 520px;
	margin: 1.5em auto;
	padding: 1.25em 1.25em 1em;
	border: 1px solid var(--ptw-border);
	border-radius: 12px;
	background: #fff;
	color: #1c2b25;
	box-sizing: border-box;
}
.ptw-card.ptw-monthly { max-width: 100%; }
.ptw-title { margin: 0 0 .15em; font-size: 1.25em; color: var(--ptw-accent); text-align: center; }
.ptw-date { text-align: center; color: #5c6b64; margin-bottom: .75em; font-size: .95em; }
.ptw-next {
	text-align: center;
	background: var(--ptw-accent);
	color: #fff;
	border-radius: 8px;
	padding: .55em .8em;
	margin-bottom: .9em;
}
.ptw-countdown { font-variant-numeric: tabular-nums; font-weight: 700; }
.ptw-scroll { overflow-x: auto; }
.ptw-table { width: 100%; border-collapse: collapse; margin: 0; }
.ptw-table th,
.ptw-table td { padding: .55em .6em; text-align: center; border-bottom: 1px solid var(--ptw-border); white-space: nowrap; }
.ptw-table thead th { font-size: .85em; text-transform: uppercase; letter-spacing: .04em; color: #5c6b64; }
.ptw-table tbody th { text-align: left; font-weight: 600; }
.ptw-table tbody tr:last-child th,
.ptw-table tbody tr:last-child td { border-bottom: 0; }
.ptw-table tr.ptw-next-row th,
.ptw-table tr.ptw-next-row td { background: var(--ptw-accent-soft); color: var(--ptw-accent); font-weight: 700; }
.ptw-jumuah { margin-top: .8em; padding-top: .7em; border-top: 1px dashed var(--ptw-border); text-align: center; }

@media (max-width: 480px) {
	.ptw-card { padding: 1em .7em; }
	.ptw-table th, .ptw-table td { padding: .5em .35em; }
}
