.pa-wrap { --pa-accent: #1d6f42; --pa-border: rgba(128,128,128,.35); --pa-soft: rgba(128,128,128,.08); margin: 1.5em 0; }
.pa-wrap [hidden] { display: none !important; }
.pa-controls { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.pa-control { display: flex; flex-direction: column; gap: 4px; font-size: .9em; }
.pa-control { flex: 1 1 0; min-width: 0; }
.pa-control > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-control select { box-sizing: border-box; display: block; width: 100%; max-width: 100%; min-width: 0; padding: 8px 10px; }
.pa-reset { flex: 1 1 100%; align-self: stretch; box-sizing: border-box; width: 100%; cursor: pointer; padding: 7px 12px; border: 1px solid var(--pa-border); border-radius: 6px; background: transparent; color: inherit; font: inherit; }
.pa-tabs { display: flex; flex-wrap: nowrap; gap: 6px; width: 100%; margin-bottom: 14px; }
.pa-tab { flex: 1 1 0; min-width: 0; text-align: center; cursor: pointer; padding: 8px 4px; border: 1px solid var(--pa-border); border-radius: 6px; background: transparent; color: inherit; font: inherit; }
.pa-tab.is-active { background: var(--pa-accent); border-color: var(--pa-accent); color: #fff; }
.pa-tab-short { display: none; }
.pa-day-title { margin: 0 0 10px; }
.pa-loc { margin: 0 0 22px; }
.pa-loc-title { margin: 0 0 2px; }
.pa-loc-address { margin: 0 0 8px; font-size: .9em; opacity: .75; }
.pa-table-wrap { overflow-x: auto; }
.pa-view-narrow { display: none; }
.pa-view-narrow .pa-table-wrap + .pa-table-wrap { margin-top: 12px; }
.pa-table { width: 100%; min-width: 22em; border-collapse: collapse; table-layout: fixed; }
.pa-table td { overflow-wrap: anywhere; }
/* Same, minimal width for the time column in every table */
.pa-table th:first-child { box-sizing: border-box; width: calc(11.5ch + 12px); padding-left: 6px; padding-right: 6px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pa-table th, .pa-table td { border: 1px solid var(--pa-border); padding: 8px 10px; text-align: left; vertical-align: middle; }
.pa-table thead th { background: var(--pa-soft); }
.pa-table tbody th { white-space: nowrap; font-weight: 600; background: var(--pa-soft); }
.pa-table td.pa-has { font-weight: 600; }
.pa-table td.pa-has { background: rgba(29,111,66,.10); }
.pa-table .pa-block { display: block; font-weight: 400; font-size: .8em; opacity: .75; }
.pa-table td.pa-available { background: rgba(214,158,0,.16); font-weight: 600; font-style: italic; }
.pa-table td.pa-free { opacity: .4; text-align: center; }
.pa-sessions { list-style: none; margin: 0; padding: 0; }
.pa-sessions li { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 10px 0; border-bottom: 1px solid var(--pa-border); }
.pa-sessions .pa-addr { flex-basis: 100%; font-size: .9em; opacity: .75; }
.pa-updated { font-size: .85em; opacity: .7; margin-top: 12px; }
@media (max-width: 600px) {
	.pa-tab { padding: 8px 10px; flex: 1 1 0; text-align: center; }
	.pa-tab-full { display: none; }
	.pa-tab-short { display: inline; }
	.pa-view-wide { display: none; }
	.pa-view-narrow { display: block; }
	.pa-controls { gap: 6px; }
	.pa-control { font-size: .8em; }
	.pa-control select { padding: 8px 4px; }
	.pa-reset { width: 100%; }

	/* Tables fit the screen: no sideways scroll, tighter type, wrapped names */
	.pa-table { min-width: 0; font-size: .82em; }
	.pa-table th, .pa-table td { padding: 6px 4px; overflow-wrap: anywhere; hyphens: auto; }
	.pa-table thead th { text-align: center; line-height: 1.2; }
	.pa-table td { line-height: 1.25; }
	.pa-table th:first-child { width: calc(5.5ch + 8px); padding-left: 4px; padding-right: 4px; text-align: center; }
	.pa-table .pa-t-start, .pa-table .pa-t-end { display: block; }
	.pa-table .pa-t-end { font-weight: 400; font-size: .85em; opacity: .75; }
	.pa-table .pa-block { font-size: .75em; }
	.pa-loc-title { font-size: 1.05em; }
	.pa-day-title { font-size: 1.15em; }
	.pa-sessions li { gap: 2px 10px; }
}
