/* Shared primitives. Plugin-specific selectors live in assets/css/adapters/. */
.clui-content-style--unified .clui-surface-body { display: flow-root; min-width: 0; }
.clui-content-style--unified .clui-surface-body > :first-child { margin-top: 0; }
.clui-content-style--unified .clui-surface-body > :last-child { margin-bottom: 0; }
.clui-content-style--unified .clui-content .care-ui-visually-hidden {
	clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden;
	padding: 0; position: absolute; white-space: nowrap; width: 1px;
}
.clui-content-style--unified .clui-content .care-ui-stack { display: grid; gap: var(--cl-ui-space-4); }
.clui-content-style--unified .clui-content .care-ui-kicker {
	color: var(--cl-ui-accent-dark); font-size: var(--cl-ui-text-sm); font-weight: 800;
	letter-spacing: .07em; margin: 0 0 var(--cl-ui-space-2); text-transform: uppercase;
}
.clui-content-style--unified .clui-content .care-ui-section-heading { font-size: var(--cl-ui-text-heading); line-height: 1.3; margin: 0 0 var(--cl-ui-space-3); }

/* The shell supplies the single consistent route back to the dashboard. */
.clui-content-style--unified .clui-content :where(.cldi-back-link, .ldct-back, .ldlp-back, .ldcl-back, .care-dashboard-back-link) { display: none !important; }
.clui-content-style--unified .clui-content :where(h2, h3, h4) { color: var(--cl-ui-ink); font-family: "Poppins", "DM Sans", system-ui, sans-serif; }
.clui-content-style--unified .clui-content :where(
	input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="tel"], input[type="url"],
	input[type="date"], input[type="number"], select, textarea
) {
	background: var(--cl-ui-surface); border: 1px solid var(--cl-ui-control-line); border-radius: var(--cl-ui-radius-control);
	color: var(--cl-ui-ink); min-height: 44px;
}
.clui-content-style--unified .clui-content :where(
	input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="tel"], input[type="url"],
	input[type="date"], input[type="number"], select
) { padding: 9px 11px; }
.clui-content-style--unified .clui-content textarea { line-height: 1.5; padding: 11px; }
.clui-content-style--unified .clui-content :where(
	button, input[type="button"], input[type="submit"], input[type="reset"], input[type="file"], [role="button"], [role="tab"]
) { font-family: inherit; min-height: 44px; }

.clui-content-style--unified .clui-content :where(.care-ui-banner, .clui-adapter-banner, .care-ui-welcome) {
	background: var(--cl-ui-panel); border: 1px solid var(--cl-ui-banner-line); border-radius: var(--cl-ui-radius);
	box-shadow: none; color: var(--cl-ui-ink); padding: 20px;
}
.clui-content-style--unified .clui-content :where(.care-ui-card, .clui-adapter-card) {
	background: var(--cl-ui-surface); border: 1px solid var(--cl-ui-line); border-radius: var(--cl-ui-radius-card);
	box-shadow: var(--cl-ui-shadow); padding: var(--cl-ui-space-5);
}
.clui-content-style--unified .clui-content .care-ui-notice {
	background: var(--cl-ui-panel); border-left: 4px solid var(--cl-ui-accent); border-radius: var(--cl-ui-radius);
	color: var(--cl-ui-ink); padding: var(--cl-ui-space-3) var(--cl-ui-space-4);
}
.clui-content-style--unified .clui-content .care-ui-notice--success { border-left-color: var(--cl-ui-accent-bright); }
.clui-content-style--unified .clui-content .care-ui-notice--error { background: var(--cl-ui-note-bg); border-left-color: var(--cl-ui-pink); color: var(--cl-ui-note-ink); }
.clui-content-style--unified .clui-content .care-ui-notice--warning { background: var(--cl-ui-surface-soft); border-left-color: var(--cl-ui-pink); }
.clui-content-style--unified .clui-content :where(.care-ui-button--primary, .clui-adapter-primary) {
	align-items: center; background: var(--cl-ui-accent); border: 1px solid var(--cl-ui-accent);
	border-radius: var(--cl-ui-radius-control); color: var(--cl-ui-on-accent) !important; display: inline-flex;
	font-size: .92rem; font-weight: 800; justify-content: center; line-height: 1.2; min-height: 44px;
	padding: 11px 14px; text-decoration: none !important;
}
.clui-content-style--unified .clui-content :where(.care-ui-button--primary, .clui-adapter-primary):hover { background: var(--cl-ui-accent-dark); border-color: var(--cl-ui-accent-dark); }
.clui-content-style--unified .clui-content :where(.care-ui-button--secondary, .clui-adapter-secondary) {
	align-items: center; background: var(--cl-ui-surface); border: 1px solid var(--cl-ui-line);
	border-radius: var(--cl-ui-radius-control); color: var(--cl-ui-accent-dark) !important; display: inline-flex;
	font-weight: 800; justify-content: center; min-height: 44px; padding: 10px 14px; text-decoration: none !important;
}

.clui-content-style--unified .clui-content :where(.care-ui-table-wrap, .clui-adapter-table-wrap) {
	border: 1px solid var(--cl-ui-line); border-radius: var(--cl-ui-radius); box-shadow: var(--cl-ui-shadow);
	max-width: 100%; overflow-x: auto;
}
.clui-content-style--unified .clui-content :where(.care-ui-table, .clui-adapter-table) { border-collapse: collapse; min-width: 620px; width: 100%; }
.clui-content-style--unified .clui-content :where(.care-ui-table, .clui-adapter-table) :where(th, td) { border-bottom: 1px solid var(--cl-ui-line); padding: var(--cl-ui-space-3) var(--cl-ui-space-4); text-align: left; }
.clui-content-style--unified .clui-content :where(.care-ui-table, .clui-adapter-table) th { background: var(--cl-ui-panel); color: var(--cl-ui-table-ink); }
.clui-content-style--unified .clui-content .care-ui-badge {
	background: var(--cl-ui-panel); border-radius: 999px; color: var(--cl-ui-accent-dark); display: inline-flex;
	font-size: var(--cl-ui-text-sm); font-weight: 800; padding: var(--cl-ui-space-1) var(--cl-ui-space-3);
}

.clui-content-style--unified .clui-content :where(.care-ui-empty, .care-ui-state) {
	background: var(--cl-ui-surface); border: 1px dashed var(--cl-ui-line); border-radius: var(--cl-ui-radius-card);
	color: var(--cl-ui-muted); padding: var(--cl-ui-space-6); text-align: center;
}
.clui-content-style--unified .clui-content .care-ui-state--error { background: var(--cl-ui-note-bg); border-color: var(--cl-ui-pink); color: var(--cl-ui-note-ink); }
.clui-content-style--unified .clui-content .care-ui-state--loading::before {
	animation: clui-pulse 1.2s ease-in-out infinite; background: var(--cl-ui-accent); border-radius: 50%; content: "";
	display: inline-block; height: 10px; margin-right: var(--cl-ui-space-2); width: 10px;
}
.clui-content-style--unified .clui-content .care-ui-stats { display: grid; gap: var(--cl-ui-space-3); grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.clui-content-style--unified .clui-content .care-ui-stat {
	background: var(--cl-ui-surface); border: 1px solid var(--cl-ui-line); border-radius: var(--cl-ui-radius-card);
	display: grid; gap: var(--cl-ui-space-1); min-width: 0; padding: var(--cl-ui-space-4);
}
.clui-content-style--unified .clui-content .care-ui-stat strong { color: var(--cl-ui-accent-dark); font-size: 1.45rem; line-height: 1.2; }
.clui-content-style--unified .clui-content .care-ui-stat span { color: var(--cl-ui-muted); }
.clui-content-style--unified .clui-content .care-ui-filters {
	align-items: end; background: var(--cl-ui-surface); border: 1px solid var(--cl-ui-line);
	border-radius: var(--cl-ui-radius-card); display: grid; gap: var(--cl-ui-space-4);
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); padding: var(--cl-ui-space-4);
}
.clui-content-style--unified .clui-content .care-ui-pagination { align-items: center; display: flex; flex-wrap: wrap; gap: var(--cl-ui-space-2); justify-content: center; }
.clui-content-style--unified .clui-content .care-ui-pagination :where(a, button, span) {
	align-items: center; border: 1px solid var(--cl-ui-line); border-radius: var(--cl-ui-radius-control);
	display: inline-flex; justify-content: center; min-height: 44px; min-width: 44px; padding: var(--cl-ui-space-2);
}
.clui-content-style--unified .clui-content :where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--cl-ui-focus); outline-offset: 2px; }

@keyframes clui-pulse { 0%, 100% { opacity: .35; transform: scale(.8); } 50% { opacity: 1; transform: scale(1); } }

@media (max-width: 760px) {
	.clui-content-style--unified .clui-content :where(.care-ui-banner, .clui-adapter-banner, .care-ui-welcome) { grid-template-columns: 1fr; padding: 18px; }
	.clui-content-style--unified .clui-content :where(
		input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="tel"], input[type="url"],
		input[type="date"], input[type="number"], select, textarea
	) { max-width: 100%; width: 100%; }
	.clui-content-style--unified .clui-content .care-ui-filters { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.clui-content-style--unified .clui-content *,
	.clui-content-style--unified .clui-content *::before,
	.clui-content-style--unified .clui-content *::after {
		animation-duration: .01ms !important; scroll-behavior: auto !important; transition-duration: .01ms !important;
	}
}
