/*
 * Repositorio Clínico — opinionated plugin design.
 * Loaded only when design_mode = "plugin". No !important, so the theme can still override.
 *
 * Paleta de marca del cliente:
 *   Azul     Pantone 286 C   #0039A6  → primario (botones, activos, foco)
 *   Turquesa Pantone 2230    #008080  → enlaces / estado OK
 *   Rojo     Pantone Red 032 #E30613  → acceso PDF
 *   Morado   Pantone 2592 C  #82368C  → badges de tipo de documento
 *   Amarillo Pantone 158 C   #F08100  → destacados (★) / avisos
 */

.rc-app {
	/* Colores de marca (base) */
	--rc-brand-azul: #0039a6;
	--rc-brand-amarillo: #f08100;
	--rc-brand-rojo: #e30613;
	--rc-brand-morado: #82368c;
	--rc-brand-turquesa: #008080;

	/* Mapeo semántico */
	--rc-accent: var(--rc-brand-azul);
	--rc-accent-ink: #ffffff;
	--rc-link: var(--rc-brand-turquesa);
	--rc-ok: var(--rc-brand-turquesa);
	--rc-warn: #a85a00; /* amarillo oscurecido: texto pequeño accesible (WCAG) */
	--rc-danger: var(--rc-brand-rojo);
	--rc-tipo: var(--rc-brand-morado);
	--rc-star: var(--rc-brand-amarillo);

	/* Neutros con matiz azul de marca */
	--rc-bg: #ffffff;
	--rc-surface: #f4f7fd;
	--rc-border: #dde4f2;
	--rc-ink: #101b33;
	--rc-muted: #4f5d7d;
	--rc-radius: 12px;
	--rc-shadow: 0 1px 2px rgba(6, 28, 78, .08), 0 6px 20px rgba(6, 28, 78, .07);
	color: var(--rc-ink);
}

@media (prefers-color-scheme: dark) {
	.rc-app {
		--rc-bg: #0e1424;
		--rc-surface: #16203a;
		--rc-border: #273456;
		--rc-ink: #e8edf8;
		--rc-muted: #9fadd0;
		--rc-accent: #7d9be8;   /* azul de marca aclarado para fondo oscuro */
		--rc-accent-ink: #071233;
		--rc-link: #2fb5ba;     /* turquesa aclarado */
		--rc-ok: #2fb5ba;
		--rc-warn: #ffa033;
		--rc-danger: #ff5a63;
		--rc-tipo: #c47fd0;     /* morado aclarado */
		--rc-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 6px 20px rgba(0, 0, 0, .4);
	}
}

/* Search */
.rc-search-input {
	border: 1px solid var(--rc-border);
	border-radius: 999px;
	background: var(--rc-bg);
	color: var(--rc-ink);
	padding: .6rem 1rem;
	transition: border-color .15s, box-shadow .15s;
}
.rc-search-input:focus {
	outline: none;
	border-color: var(--rc-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--rc-accent) 22%, transparent);
}

.rc-suggest {
	background: var(--rc-bg);
	border: 1px solid var(--rc-border);
	border-radius: var(--rc-radius);
	box-shadow: var(--rc-shadow);
}
.rc-suggest-item { border-bottom: 1px solid var(--rc-border); }
.rc-suggest-item:last-child { border-bottom: 0; }
.rc-suggest-item:hover,
.rc-suggest-item.is-active { background: var(--rc-surface); }
.rc-suggest-tag { color: var(--rc-star); }

/* Controls */
.rc-controls select {
	border: 1px solid var(--rc-border);
	border-radius: 8px;
	background: var(--rc-bg);
	color: var(--rc-ink);
}
.rc-view-toggle {
	border: 1px solid var(--rc-border);
	border-radius: 8px;
	overflow: hidden;
}
.rc-view-btn {
	background: var(--rc-bg);
	border: 0;
	color: var(--rc-muted);
	font-size: 1.1rem;
}
.rc-view-btn.is-active { background: var(--rc-accent); color: var(--rc-accent-ink); }

/* Filters */
.rc-facet-title {
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: .72rem;
	color: var(--rc-muted);
}
.rc-facet + .rc-facet { border-top: 1px solid var(--rc-border); padding-top: 1rem; }
.rc-clear { color: var(--rc-link); }
.rc-filters-toggle {
	background: var(--rc-accent);
	color: var(--rc-accent-ink);
	border: 0;
	border-radius: 8px;
}

/* Cards */
.rc-card {
	background: var(--rc-bg);
	border: 1px solid var(--rc-border);
	border-radius: var(--rc-radius);
	box-shadow: var(--rc-shadow);
	transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.rc-card:hover {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--rc-accent) 40%, var(--rc-border));
}
.rc-card-title { color: var(--rc-ink); }
.rc-card-desc { color: var(--rc-muted); }

.rc-badge {
	border-radius: 999px;
	font-weight: 600;
	letter-spacing: .01em;
}
.rc-badge-tipo { background: color-mix(in srgb, var(--rc-tipo) 12%, transparent); color: var(--rc-tipo); }
.rc-badge-origen { background: var(--rc-surface); color: var(--rc-muted); border: 1px solid var(--rc-border); }
.rc-tag {
	background: var(--rc-surface);
	border: 1px solid var(--rc-border);
	border-radius: 6px;
	color: var(--rc-muted);
}

.rc-meta-vig.rc-vig-vigente { color: var(--rc-ok); }
.rc-meta-vig.rc-vig-por-confirmar { color: var(--rc-warn); }

.rc-btn {
	background: var(--rc-accent);
	color: var(--rc-accent-ink);
	padding: .45rem .85rem;
	border-radius: 8px;
	font-size: .85rem;
	font-weight: 600;
	transition: filter .12s ease;
}
.rc-btn:hover { filter: brightness(1.12); }

.rc-acceso {
	border-radius: 6px;
	font-weight: 600;
	background: var(--rc-surface);
	color: var(--rc-muted);
	border: 1px solid var(--rc-border);
}
.rc-acceso-pdf { color: var(--rc-danger); }
.rc-acceso-enlace { color: var(--rc-link); }

/* Pager */
.rc-page {
	background: var(--rc-bg);
	border: 1px solid var(--rc-border);
	border-radius: 8px;
	color: var(--rc-ink);
}
.rc-page.is-active { background: var(--rc-accent); color: var(--rc-accent-ink); border-color: var(--rc-accent); }
.rc-page:not([disabled]):hover { border-color: var(--rc-accent); }

/* Gating */
.rc-gate-panel {
	background: var(--rc-bg);
	border: 1px solid var(--rc-border);
	border-top: 4px solid var(--rc-accent);
	border-radius: var(--rc-radius);
	box-shadow: var(--rc-shadow);
}
.rc-gate-icon { color: var(--rc-link); }
.rc-gate-title { color: var(--rc-ink); }
.rc-gate-text,
.rc-gate-declined { color: var(--rc-muted); }
.rc-gate-btn { border-radius: 8px; border: 1px solid var(--rc-border); background: var(--rc-bg); color: var(--rc-ink); transition: filter .12s ease; }
.rc-gate-btn:hover { filter: brightness(1.05); }
.rc-gate-accept { background: var(--rc-accent); color: var(--rc-accent-ink); border-color: var(--rc-accent); font-weight: 600; }
.rc-gate-decline,
.rc-gate-retry { color: var(--rc-muted); }

/* Sticky filters on desktop */
@media (min-width: 783px) {
	.rc-filters { position: sticky; top: 1.5rem; }
}
