.cf7gu-view {
	--cf7gu-accent: #175f91;
	--cf7gu-border: #d8dee5;
	--cf7gu-muted: #5d6875;
	--cf7gu-surface: #fff;
	color: inherit;
	font-size: 1rem;
	line-height: 1.55;
	margin-block: 2rem;
}
.cf7gu-view-form { background: #f6f8fa; border: 1px solid var(--cf7gu-border); border-radius: .6rem; box-shadow: 0 1px 2px rgb(0 0 0 / 5%); margin-bottom: 1rem; padding: 1rem; }
.cf7gu-view-form fieldset { align-items: end; border: 0; display: flex; flex-wrap: wrap; gap: .8rem 1rem; margin: 0; padding: 0; }
.cf7gu-view-form legend { font-size: 1rem; font-weight: 700; margin-bottom: .75rem; width: 100%; }
.cf7gu-view-form label,
.cf7gu-filter { display: flex; flex: 1 1 12rem; flex-direction: column; font-size: .9rem; font-weight: 600; gap: .35rem; }
.cf7gu-view-form input,
.cf7gu-view-form select { background: var(--cf7gu-surface); border: 1px solid #8c98a5; border-radius: .3rem; box-sizing: border-box; color: inherit; min-height: 2.6rem; padding: .45rem .6rem; width: 100%; }
.cf7gu-view-form button { align-self: end; background: var(--cf7gu-accent); border: 1px solid var(--cf7gu-accent); border-radius: .3rem; color: #fff; cursor: pointer; font: inherit; font-weight: 600; min-height: 2.6rem; padding: .45rem .9rem; }
.cf7gu-column-searches { display: grid; flex: 1 1 100%; gap: .65rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); }
.cf7gu-column-searches label { min-width: 0; }
.cf7gu-results-status { color: var(--cf7gu-muted); font-size: .9rem; margin: .6rem 0; }
.cf7gu-table-wrap { background: var(--cf7gu-surface); border: 1px solid var(--cf7gu-border); border-radius: .6rem; box-shadow: 0 1px 3px rgb(0 0 0 / 7%); overflow-x: auto; }
.cf7gu-view table { border-collapse: collapse; inline-size: 100%; margin: 0; min-width: 38rem; }
.cf7gu-view caption { font-weight: 600; padding: .65rem .9rem; text-align: start; }
.cf7gu-view th,
.cf7gu-view td { border-bottom: 1px solid var(--cf7gu-border); padding: .8rem .9rem; text-align: start; vertical-align: top; }
.cf7gu-view th { background: #f6f8fa; font-size: .88rem; font-weight: 700; letter-spacing: .01em; }
.cf7gu-sort { align-items: center; display: inline-flex; gap: .3rem; text-decoration: none; white-space: nowrap; }
.cf7gu-sort::after { color: var(--cf7gu-muted); content: "↕"; font-size: .8em; }
.cf7gu-view tbody tr:last-child > * { border-bottom: 0; }
.cf7gu-view tbody tr:hover { background: #f9fbfc; }
.cf7gu-view--standard_table th,
.cf7gu-view--standard_table td,
.cf7gu-view--searchable_table th,
.cf7gu-view--searchable_table td { padding-block: .55rem; }
.cf7gu-view--standard_table .cf7gu-public-image,
.cf7gu-view--searchable_table .cf7gu-public-image { aspect-ratio: 4 / 3; block-size: 3rem; inline-size: 4rem; object-fit: cover; }
.cf7gu-image-preview { display: inline-flex; }
.cf7gu-view a { color: var(--cf7gu-accent); font-weight: 600; text-underline-offset: .18em; }
.cf7gu-collection { display: grid; gap: 1.15rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); list-style: none; margin: 0; padding: 0; }
.cf7gu-card { background: var(--cf7gu-surface); border: 1px solid var(--cf7gu-border); border-radius: .55rem; box-shadow: 0 1px 2px rgb(0 0 0 / 6%); overflow: hidden; padding: 1.1rem; }
.cf7gu-card dl { margin: 0; }
.cf7gu-card dt { color: var(--cf7gu-muted); font-size: .8rem; font-weight: 700; letter-spacing: .04em; margin-block-start: .8rem; text-transform: uppercase; }
.cf7gu-card dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.cf7gu-card dt:first-child { margin-block-start: 0; }
.cf7gu-image-placeholder { align-items: center; aspect-ratio: 4 / 3; background: #f2f4f6; border: 1px dashed #8c98a5; border-radius: .35rem; color: var(--cf7gu-muted); display: flex; justify-content: center; padding: 1rem; text-align: center; }
.cf7gu-public-image { block-size: auto; border-radius: .35rem; display: block; inline-size: 100%; max-inline-size: 100%; }
.cf7gu-file-unavailable { color: var(--cf7gu-muted); font-style: italic; }
.cf7gu-pagination { align-items: center; display: flex; flex-wrap: wrap; gap: .65rem; margin-block-start: 1.25rem; }
.cf7gu-pagination a { border: 1px solid var(--cf7gu-border); border-radius: .3rem; padding: .45rem .75rem; text-decoration: none; }
.cf7gu-view > p:only-child { background: #f6f8fa; border: 1px solid var(--cf7gu-border); border-radius: .5rem; color: var(--cf7gu-muted); padding: 1rem; }
.cf7gu-detail { --cf7gu-border: #d8dee5; --cf7gu-muted: #5d6875; margin-block: 1.5rem; max-width: 52rem; }
.cf7gu-detail dl { border: 1px solid var(--cf7gu-border); border-radius: .5rem; display: grid; grid-template-columns: minmax(10rem, 15rem) minmax(0, 1fr); margin: 0; overflow: hidden; }
.cf7gu-detail dt,
.cf7gu-detail dd { border-bottom: 1px solid var(--cf7gu-border); box-sizing: border-box; margin: 0; overflow-wrap: anywhere; padding: .85rem 1rem; }
.cf7gu-detail dt { background: #f6f8fa; color: var(--cf7gu-muted); font-size: .85rem; font-weight: 700; }
.cf7gu-detail dd:nth-last-child(-n + 1),
.cf7gu-detail dt:nth-last-child(-n + 2) { border-bottom: 0; }
.cf7gu-detail :focus-visible { outline: 3px solid #175f91; outline-offset: 3px; }
.cf7gu-view :focus-visible { outline: 3px solid #175f91; outline-offset: 3px; }
@media (max-width: 600px) {
	.cf7gu-view { margin-block: 1.25rem; }
	.cf7gu-view-form { padding: .85rem; }
	.cf7gu-view-form label,
	.cf7gu-filter { flex-basis: 100%; }
	.cf7gu-view-form button { width: 100%; }
	.cf7gu-card { padding: .9rem; }
	.cf7gu-detail dl { display: block; }
	.cf7gu-detail dt,
	.cf7gu-detail dd { border-bottom: 0; }
	.cf7gu-detail dt:not(:first-child) { border-top: 1px solid var(--cf7gu-border); }
	.cf7gu-detail dd { padding-top: .5rem; }
}
@media (prefers-reduced-motion: reduce) { .cf7gu-view * { scroll-behavior: auto !important; } }
