.ssws-summary {
	--ssws-accent: #f26a2e;
	background: linear-gradient(145deg, rgba(242, 106, 46, .09), rgba(255, 255, 255, .98));
	border: 1px solid rgba(31, 41, 55, .12);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(31, 41, 55, .08);
	color: inherit;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.ssws-monthly-progress {
	--ssws-accent: #f26a2e;
	background: linear-gradient(145deg, rgba(242, 106, 46, .09), rgba(255, 255, 255, .98));
	border: 1px solid rgba(31, 41, 55, .12);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(31, 41, 55, .08);
	color: inherit;
	margin-top: 1.5rem;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.ssws-summary .ssws-title, .ssws-monthly-progress .ssws-title { margin: 0; }
.ssws-summary .ssws-period { color: #626b76; font-size: .9em; margin: .25rem 0 1rem; }
.ssws-progress-intro { color: #626b76; font-size: .9em; margin: .25rem 0 1rem; }

.ssws-totals {
	display: grid;
	gap: .7rem;
	grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
	margin-bottom: 1rem;
}

.ssws-totals > div { background: rgba(255, 255, 255, .82); border-radius: 10px; overflow: hidden; padding: .7rem .7rem .55rem; }
.ssws-totals strong, .ssws-totals span { display: block; }
.ssws-totals strong { color: #20262e; font-size: 1.12em; }
.ssws-totals span { color: #626b76; font-size: .78em; }
.ssws-segmented-bar {
	background: rgba(31, 41, 55, .09);
	border-radius: 999px;
	display: flex;
	height: 8px;
	margin-top: .62rem;
	overflow: hidden;
	width: 100%;
}
.ssws-totals .ssws-segment {
	background: var(--ssws-workout-color);
	box-shadow: inset -1px 0 rgba(255, 255, 255, .72);
	flex: 0 0 var(--ssws-segment-width);
	min-width: 2px;
}
.ssws-disciplines, .ssws-activities { list-style: none; margin: 0; padding: 0; }
.ssws-discipline-heading, .ssws-recent-heading { font-size: 1em; margin: 1rem 0 .45rem; }
.ssws-disciplines { display: grid; gap: .65rem; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.ssws-disciplines li {
	background: rgba(255, 255, 255, .78);
	border-left: 4px solid var(--ssws-workout-color);
	border-radius: 9px;
	padding: .65rem .75rem;
}
.ssws-discipline-title { align-items: center; display: flex; gap: .45rem; }
.ssws-discipline-title strong { color: var(--ssws-workout-color); }
.ssws-discipline-meta { color: #626b76; font-size: .82em; margin: .15rem 0 .55rem; }
.ssws-discipline-rates { display: flex; gap: .55rem; }
.ssws-discipline-rates span { background: rgba(31, 41, 55, .055); border-radius: 7px; flex: 1 1 0; padding: .38rem .45rem; }
.ssws-discipline-rates strong, .ssws-discipline-rates small { display: block; }
.ssws-discipline-rates strong { color: #20262e; font-size: 1em; }
.ssws-discipline-rates small { color: #626b76; font-size: .7em; line-height: 1.25; }
.ssws-discipline-note { color: #626b76; font-size: .76em; margin: .45rem 0 1rem; }
.ssws-activities li {
	background: linear-gradient(90deg, color-mix(in srgb, var(--ssws-workout-color) 10%, transparent), transparent 42%);
	border-left: 4px solid var(--ssws-workout-color);
	border-radius: 8px;
	margin: .45rem 0;
	padding: .65rem .75rem;
}
.ssws-activity-heading { display: flex; justify-content: space-between; gap: .75rem; }
.ssws-activity-name { align-items: center; display: inline-flex; gap: .45rem; }
.ssws-activity-name strong { color: var(--ssws-workout-color); }
.ssws-activity-colour { background: var(--ssws-workout-color); border-radius: 50%; flex: 0 0 .7rem; height: .7rem; width: .7rem; }
.ssws-activity-heading time { color: #626b76; font-size: .84em; }
.ssws-activities p { color: #48515c; font-size: .86em; line-height: 1.45; margin: .2rem 0 0; }

@supports not (background: color-mix(in srgb, red 10%, transparent)) {
	.ssws-activities li { background: rgba(255, 255, 255, .65); }
}

.ssws-month-grid {
	display: grid;
	gap: .85rem;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.ssws-month-card {
	background: rgba(255, 255, 255, .82);
	border: 1px solid rgba(31, 41, 55, .09);
	border-radius: 12px;
	padding: .85rem;
}

.ssws-month-card > header {
	align-items: flex-start;
	border-bottom: 1px solid rgba(31, 41, 55, .09);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: .45rem;
	padding-bottom: .65rem;
}

.ssws-month-card h3 { font-size: 1em; margin: 0; }
.ssws-month-card header span, .ssws-month-total span { color: #626b76; display: block; font-size: .72em; }
.ssws-month-total { text-align: right; }
.ssws-month-total strong { color: #20262e; display: block; font-size: 1.05em; white-space: nowrap; }
.ssws-month-disciplines { list-style: none; margin: 0; padding: 0; }
.ssws-month-disciplines li {
	align-items: center;
	display: flex;
	gap: .75rem;
	justify-content: space-between;
	padding: .45rem 0;
}
.ssws-month-disciplines li + li { border-top: 1px solid rgba(31, 41, 55, .07); }
.ssws-month-discipline-name { align-items: center; color: var(--ssws-workout-color); display: inline-flex; font-size: .86em; font-weight: 650; gap: .45rem; }
.ssws-month-discipline-values { text-align: right; }
.ssws-month-discipline-values strong, .ssws-month-discipline-values small { display: block; }
.ssws-month-discipline-values strong { color: #20262e; font-size: .9em; }
.ssws-month-discipline-values small { color: #626b76; font-size: .7em; }

.ssws-best-efforts { margin-top: 1.15rem; }
.ssws-best-efforts > h3 { font-size: 1em; margin: 0 0 .2rem; }
.ssws-best-note { color: #626b76; font-size: .76em; line-height: 1.45; margin: 0 0 .7rem; }
.ssws-best-table-wrap { overflow-x: auto; }
.ssws-best-table { border-collapse: collapse; font-size: .86em; width: 100%; }
.ssws-best-table th, .ssws-best-table td { border-bottom: 1px solid rgba(31, 41, 55, .1); padding: .65rem .7rem; text-align: left; vertical-align: top; }
.ssws-best-table thead th { background: rgba(31, 41, 55, .055); color: #48515c; font-size: .78em; letter-spacing: .03em; text-transform: uppercase; }
.ssws-best-table tbody th { color: #20262e; white-space: nowrap; }
.ssws-best-value strong, .ssws-best-value span, .ssws-best-change { display: block; }
.ssws-best-value strong { color: #20262e; font-size: 1.08em; }
.ssws-best-value span { color: #626b76; font-size: .76em; line-height: 1.35; margin-top: .08rem; }
.ssws-best-change { font-size: .72em; font-weight: 650; margin-top: .22rem; }
.ssws-best-change.is-faster { color: #237a50; }
.ssws-best-change.is-slower { color: #a65022; }
.ssws-best-change.is-level { color: #626b76; }
.ssws-best-empty { color: #89919b; }

@media (max-width: 559px) {
	.ssws-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ssws-disciplines { grid-template-columns: 1fr; }
	.ssws-activity-heading { align-items: flex-start; flex-direction: column; gap: .15rem; }
	.ssws-month-grid { grid-template-columns: 1fr; }
	.ssws-best-table, .ssws-best-table tbody, .ssws-best-table tr, .ssws-best-table th, .ssws-best-table td { display: block; width: 100%; }
	.ssws-best-table thead { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
	.ssws-best-table tr { background: rgba(255, 255, 255, .75); border: 1px solid rgba(31, 41, 55, .09); border-radius: 10px; margin-bottom: .65rem; overflow: hidden; }
	.ssws-best-table tbody th { background: rgba(31, 41, 55, .055); border-bottom: 1px solid rgba(31, 41, 55, .09); }
	.ssws-best-table td { border-bottom: 0; display: grid; gap: .65rem; grid-template-columns: minmax(90px, .7fr) 1.3fr; }
	.ssws-best-table td::before { color: #626b76; content: attr(data-label); font-size: .76em; font-weight: 650; }
}
