/* Rebotica y Convenio — estilos principales.
   Identidad: cuaderno de trabajo. Papel cálido, tinta azul, verde farmacia apagado y ámbar de aviso. */

:root {
	--papel: #fbf8f2;
	--papel-2: #f3eee3;
	--tinta: #1d2b4a;
	--tinta-suave: #4a5876;
	--verde: #2c7a68;
	--verde-osc: #1f5c4e;
	--ambar: #b8710f;
	--ambar-osc: #8a5508; /* ámbar para texto (contraste AA sobre papel y fondos claros) */
	--ambar-fondo: #fdf1dc;
	--linea: #ddd5c4;
	--blanco: #fff;
	--rojo: #a8322d;
	--radio: 10px;
	--sombra: 0 1px 2px rgba(29, 43, 74, .08), 0 4px 14px rgba(29, 43, 74, .06);
	--fuente: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--fuente-titulo: "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
	--medida: 44rem;
	--ancho: 72rem;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--papel);
	color: var(--tinta);
	font-family: var(--fuente);
	font-size: 1.0625rem;
	line-height: 1.65;
}

img, svg, video { max-width: 100%; height: auto; }

a { color: var(--verde-osc); text-underline-offset: .15em; }
a:hover { color: var(--tinta); }

:focus-visible { outline: 3px solid var(--ambar); outline-offset: 2px; }

h1, h2, h3, h4 {
	font-family: var(--fuente-titulo);
	line-height: 1.2;
	color: var(--tinta);
	margin: 1.6em 0 .5em;
}
h1 { font-size: clamp(1.9rem, 4vw, 2.7rem); margin-top: 0; }
h2 { font-size: clamp(1.4rem, 2.6vw, 1.8rem); }
h3 { font-size: 1.2rem; }

.screen-reader-text {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.rebo-saltar {
	position: absolute; left: -999px; top: 0; background: var(--tinta); color: var(--blanco);
	padding: .6rem 1rem; z-index: 100;
}
.rebo-saltar:focus { left: 0; }

.rebo-wrap { width: 100%; max-width: var(--ancho); margin: 0 auto; padding: 0 1rem; }
@media (min-width: 48rem) { .rebo-wrap { padding: 0 1.5rem; } }

/* ---------- Botones ---------- */
.rebo-btn {
	display: inline-block;
	background: var(--verde);
	color: var(--blanco);
	border: 2px solid var(--verde);
	border-radius: var(--radio);
	padding: .65rem 1.2rem;
	font: inherit;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	line-height: 1.2;
}
.rebo-btn:hover { background: var(--verde-osc); border-color: var(--verde-osc); color: var(--blanco); }
.rebo-btn--claro { background: transparent; color: var(--tinta); border-color: var(--tinta); }
.rebo-btn--claro:hover { background: var(--tinta); border-color: var(--tinta); color: var(--blanco); }

/* ---------- Cabecera ---------- */
.rebo-cabecera { background: var(--blanco); border-bottom: 1px solid var(--linea); position: sticky; top: 0; z-index: 50; }
.rebo-cabecera__fila { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4rem; flex-wrap: wrap; }

.rebo-marca { display: flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--tinta); }
.rebo-marca__sello {
	display: inline-grid; place-items: center;
	width: 2.4rem; height: 2.4rem; border-radius: 8px;
	background: var(--tinta); color: var(--papel);
	font-family: var(--fuente-titulo); font-weight: 700; font-size: .85rem; letter-spacing: .02em;
	box-shadow: 3px 3px 0 var(--ambar);
}
.rebo-marca__texto { font-family: var(--fuente-titulo); font-weight: 700; font-size: 1.15rem; }

.rebo-menu-btn {
	display: inline-flex; align-items: center; gap: .5rem;
	background: none; border: 2px solid var(--tinta); border-radius: var(--radio);
	padding: .4rem .8rem; font: inherit; font-weight: 600; color: var(--tinta); cursor: pointer;
}
.rebo-menu-btn__barras, .rebo-menu-btn__barras::before, .rebo-menu-btn__barras::after {
	display: block; width: 1.1rem; height: 2px; background: currentColor; position: relative;
}
.rebo-menu-btn__barras::before, .rebo-menu-btn__barras::after { content: ""; position: absolute; left: 0; }
.rebo-menu-btn__barras::before { top: -6px; }
.rebo-menu-btn__barras::after { top: 6px; }

.rebo-nav { display: none; width: 100%; padding-bottom: .8rem; }
.rebo-nav.is-open { display: block; }
.rebo-nav__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; }
.rebo-nav__lista a {
	display: block; padding: .6rem .8rem; border-radius: 8px;
	color: var(--tinta); font-weight: 600; text-decoration: none;
}
.rebo-nav__lista a:hover, .rebo-nav__lista .current-menu-item > a { background: var(--papel-2); }

@media (min-width: 52rem) {
	.rebo-menu-btn { display: none; }
	.rebo-nav { display: block; width: auto; padding: 0; }
	.rebo-nav__lista { display: flex; gap: .2rem; }
}

.rebo-buscador { background: var(--papel-2); border-bottom: 1px solid var(--linea); padding: .7rem 0; }
.rebo-busqueda { display: flex; gap: .5rem; }
.rebo-busqueda input[type="search"] {
	flex: 1; min-width: 0; font: inherit; padding: .65rem .9rem;
	border: 2px solid var(--linea); border-radius: var(--radio); background: var(--blanco); color: var(--tinta);
}
.rebo-busqueda input[type="search"]:focus { border-color: var(--verde); outline: none; }

/* ---------- Portada ---------- */
.rebo-hero { background: var(--tinta); color: var(--papel); padding: 3rem 0 3.4rem; }
.rebo-hero h1 { color: var(--papel); max-width: 20ch; }
.rebo-hero__sobre {
	display: inline-block; background: var(--ambar-osc); color: var(--blanco);
	padding: .2rem .7rem; border-radius: 999px; font-weight: 700; font-size: .85rem; margin: 0 0 1rem;
}
.rebo-hero__texto { max-width: 40rem; font-size: 1.15rem; color: #dfe4f0; }
.rebo-hero__acciones { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.5rem; }
.rebo-hero .rebo-btn--claro { color: var(--papel); border-color: var(--papel); }
.rebo-hero .rebo-btn--claro:hover { background: var(--papel); color: var(--tinta); }

.rebo-seccion { padding: 2.6rem 0; }
.rebo-seccion--suave { background: var(--papel-2); }
.rebo-seccion__titulo { margin-top: 0; }

.rebo-areas { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
.rebo-area {
	display: block; background: var(--blanco); border: 1px solid var(--linea);
	border-left: 6px solid var(--verde); border-radius: var(--radio);
	padding: 1.1rem 1.2rem; text-decoration: none; color: var(--tinta); box-shadow: var(--sombra);
	transition: transform .12s ease;
}
.rebo-area:hover { transform: translateY(-2px); }
.rebo-area__nombre { display: block; font-family: var(--fuente-titulo); font-weight: 700; font-size: 1.2rem; }
.rebo-area__desc { display: block; color: var(--tinta-suave); font-size: .95rem; margin-top: .25rem; }
.rebo-area--convenio { border-left-color: var(--tinta); }
.rebo-area--mutualidades { border-left-color: var(--ambar); }
.rebo-area--software { border-left-color: #5b6fb3; }
.rebo-area--mostrador { border-left-color: var(--verde); }
.rebo-area--rebotica { border-left-color: #8a5a44; }
.rebo-area--recursos { border-left-color: var(--rojo); }

.rebo-privacidad {
	display: inline-block; background: var(--blanco); border: 1px solid var(--linea); border-left: 5px solid var(--verde);
	border-radius: 8px; padding: .5rem .9rem; margin: 0 0 1.2rem; font-size: .97rem;
}
.rebo-manifiesto p { max-width: var(--medida); font-size: 1.15rem; }

/* ---------- Tarjetas y listados ---------- */
.rebo-rejilla { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); }
.rebo-card {
	background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio);
	padding: 1.1rem 1.2rem; box-shadow: var(--sombra); display: flex; flex-direction: column;
}
.rebo-card__meta { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: 0 0 .4rem; font-size: .85rem; }
.rebo-card__titulo { margin: 0 0 .4rem; font-size: 1.15rem; }
.rebo-card__titulo a { color: var(--tinta); text-decoration: none; }
.rebo-card__titulo a:hover { text-decoration: underline; }
.rebo-card__resumen { margin: 0 0 .6rem; color: var(--tinta-suave); font-size: .97rem; }
.rebo-card__revision { margin: auto 0 0; font-size: .82rem; color: var(--tinta-suave); }
.rebo-card__area { color: var(--tinta-suave); }

.rebo-etiqueta {
	display: inline-block; padding: .1rem .55rem; border-radius: 999px; font-weight: 700; font-size: .78rem;
	background: var(--papel-2); color: var(--tinta);
}
.rebo-etiqueta--guia { background: #dfe6f5; }
.rebo-etiqueta--chuleta { background: #fdf1dc; color: #7a4a06; }
.rebo-etiqueta--descargable { background: #dcefe9; color: var(--verde-osc); }

.rebo-listado__cab { padding: 2rem 0 1.2rem; }
.rebo-listado__cab h1 { margin-bottom: .4rem; }
.rebo-listado__desc { max-width: var(--medida); color: var(--tinta-suave); }
.rebo-vacio { padding: 2rem 0; color: var(--tinta-suave); }

.navigation.pagination { margin: 2rem 0; }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; gap: .4rem; }
.navigation.pagination a, .navigation.pagination span {
	padding: .4rem .8rem; border: 1px solid var(--linea); border-radius: 8px; background: var(--blanco);
	text-decoration: none; color: var(--tinta);
}
.navigation.pagination .current { background: var(--tinta); color: var(--blanco); border-color: var(--tinta); }

/* ---------- Lectura ---------- */
.rebo-lectura { padding-top: 2rem; padding-bottom: 3rem; }
.rebo-articulo { max-width: var(--medida); margin: 0 auto; }
.rebo-articulo__area { margin: 0 0 .4rem; font-weight: 700; font-size: .9rem; text-transform: uppercase; letter-spacing: .05em; }
.rebo-articulo__area a { text-decoration: none; }

.rebo-revision {
	display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; align-items: baseline;
	background: var(--blanco); border: 1px solid var(--linea); border-left: 5px solid var(--verde);
	border-radius: 8px; padding: .6rem .9rem; font-size: .93rem; margin: 1rem 0 1.4rem;
}
.rebo-revision--antigua { border-left-color: var(--ambar); background: var(--ambar-fondo); }
.rebo-revision__aviso { flex-basis: 100%; color: #7a4a06; font-weight: 600; }

.rebo-contenido > * { max-width: 100%; }
.rebo-contenido p, .rebo-contenido li { max-width: var(--medida); }
.rebo-contenido table {
	width: 100%; border-collapse: collapse; margin: 1.4rem 0; font-size: .97rem;
	display: block; overflow-x: auto;
}
.rebo-contenido th, .rebo-contenido td { border: 1px solid var(--linea); padding: .55rem .7rem; text-align: left; vertical-align: top; }
.rebo-contenido thead th { background: var(--tinta); color: var(--papel); position: sticky; top: 0; }
.rebo-contenido tbody tr:nth-child(even) { background: var(--papel-2); }
.rebo-contenido tbody th { background: var(--papel-2); font-weight: 700; white-space: nowrap; }
.rebo-tabla { margin: 1.4rem 0; }
.rebo-tabla table { margin: 0; }
.rebo-tabla td { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rebo-aviso { font-size: .97rem; }
.rebo-boe::after { content: " ↗"; font-size: .8em; }
.rebo-contenido blockquote {
	margin: 1.4rem 0; padding: .8rem 1.1rem; background: var(--ambar-fondo);
	border-left: 5px solid var(--ambar); border-radius: 0 8px 8px 0;
}
.rebo-contenido ol { padding-left: 1.4rem; }
.rebo-contenido ol > li::marker { font-weight: 700; color: var(--verde-osc); }

.rebo-descarga { margin: 1rem 0 1.4rem; }
.rebo-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.rebo-chip {
	background: var(--papel-2); border: 1px solid var(--linea); border-radius: 999px;
	padding: .15rem .8rem; font-size: .9rem; text-decoration: none; color: var(--tinta);
}

/* ---------- Calculadoras ---------- */
.rebo-calc {
	background: var(--blanco); border: 1px solid var(--linea); border-top: 6px solid var(--verde);
	border-radius: var(--radio); padding: 1.2rem; margin: 1.5rem 0; box-shadow: var(--sombra);
}
.rebo-calc__campos { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); margin-bottom: 1rem; }
.rebo-calc label { display: grid; gap: .3rem; font-weight: 600; font-size: .95rem; min-width: 0; align-content: start; }
.rebo-calc label small { font-weight: 400; font-size: .8rem; color: var(--tinta-suave); line-height: 1.35; }
.rebo-calc input, .rebo-calc select {
	font: inherit; padding: .6rem .7rem; border: 2px solid var(--linea); border-radius: 8px; background: var(--blanco); color: var(--tinta);
}
.rebo-calc input, .rebo-calc select { max-width: 100%; min-width: 0; box-sizing: border-box; }
.rebo-calc input:focus, .rebo-calc select:focus { border-color: var(--verde); outline: none; }
.rebo-calc__resultado { margin-top: 1.2rem; border-top: 1px dashed var(--linea); padding-top: .8rem; }
.rebo-calc__resultado p { display: flex; justify-content: space-between; gap: 1rem; margin: .3rem 0; }
.rebo-calc__destacada { font-size: 1.2rem; background: var(--papel-2); padding: .5rem .7rem; border-radius: 8px; }
.rebo-calc__error { color: var(--rojo); font-weight: 600; }
.rebo-calc__grupo { border: 1px solid var(--linea); border-radius: 8px; padding: .6rem 1rem 1rem; margin: 0 0 1rem; }
.rebo-calc__grupo legend { font-weight: 700; padding: 0 .4rem; }
.rebo-calc__grupo .rebo-calc__campos { margin-bottom: 0; }
.rebo-calc__nota { font-size: .85rem; color: var(--tinta-suave); margin: 1rem 0 0; }

/* ---------- Publicidad ---------- */
.rebo-ad { margin: 2rem 0; text-align: center; min-height: 90px; }
.rebo-ad__etiqueta { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--tinta-suave); margin-bottom: .2rem; }

/* ---------- Comentarios ---------- */
.rebo-comentarios { margin-top: 3rem; }
.rebo-comentarios__lista { padding-left: 1.2rem; }

/* ---------- Pie ---------- */
.rebo-pie { background: var(--tinta); color: #d6dcec; margin-top: 3rem; padding-top: 2.4rem; }
.rebo-pie a { color: var(--papel); }
.rebo-pie__cuerpo { display: grid; gap: 1.6rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.rebo-pie__nombre { font-family: var(--fuente-titulo); font-weight: 700; font-size: 1.2rem; color: var(--papel); margin: 0 0 .3rem; }
.rebo-pie__titulo { font-weight: 700; color: var(--papel); margin: 0 0 .3rem; }
.rebo-pie__lista { list-style: none; margin: 0; padding: 0; }
.rebo-pie__copy { padding-top: 1.4rem; padding-bottom: 1.6rem; border-top: 1px solid rgba(255, 255, 255, .15); margin-top: 1.6rem; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.rebo-area { transition: none; }
}

/* ---------- Directorio de convenios ---------- */
.rebo-convenios__filtros { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
.rebo-convenios__filtros input, .rebo-convenios__filtros select {
	font: inherit; padding: .6rem .8rem; border: 2px solid var(--linea); border-radius: var(--radio); background: var(--blanco); color: var(--tinta);
}
.rebo-convenios__filtros input { flex: 1; min-width: 12rem; }
.rebo-convenios__revision { font-size: .9rem; color: var(--tinta-suave); }
.rebo-convenio {
	background: var(--blanco); border: 1px solid var(--linea); border-left: 6px solid var(--verde);
	border-radius: var(--radio); padding: 1rem 1.2rem; margin: 1rem 0; box-shadow: var(--sombra);
}
.rebo-convenio[hidden] { display: none; }
.rebo-convenio--prorrogado { border-left-color: var(--ambar); }
.rebo-convenio--comprobar { border-left-color: var(--rojo); }
.rebo-convenio--historico { border-left-color: var(--linea); }
.rebo-convenio__chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .4rem; }
.rebo-convenio__nombre { margin: 0 0 .6rem; font-size: 1.2rem; }
.rebo-convenio__datos { margin: 0 0 .6rem; }
.rebo-convenio__datos div { display: grid; grid-template-columns: 7rem 1fr; gap: .5rem; padding: .2rem 0; border-top: 1px dashed var(--linea); }
.rebo-convenio__datos dt { font-weight: 700; }
.rebo-convenio__datos dd { margin: 0; }
.rebo-convenio__nota { background: var(--ambar-fondo); border-radius: 8px; padding: .5rem .8rem; margin: .6rem 0; font-size: .95rem; }
.rebo-convenio__fuente { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; margin: .6rem 0 0; }
.rebo-convenio__fuente small { color: var(--tinta-suave); }
.rebo-convenio__ant { margin-top: .6rem; }
.rebo-convenio__ant summary { cursor: pointer; font-weight: 600; }
.rebo-estado { display: inline-block; padding: .1rem .55rem; border-radius: 999px; font-weight: 700; font-size: .78rem; background: #dcefe9; color: var(--verde-osc); }
.rebo-estado--prorrogado { background: var(--ambar-fondo); color: #7a4a06; }
.rebo-estado--comprobar { background: #f6dcda; color: var(--rojo); }
.rebo-estado--historico { background: var(--papel-2); color: var(--tinta-suave); }
@media (max-width: 40rem) { .rebo-convenio__datos div { grid-template-columns: 1fr; gap: 0; } }

/* Información básica (capa 1) de la política de privacidad */
.rebo-aviso-capas { background: var(--blanco); border: 1px solid var(--linea); border-left: 6px solid var(--verde); border-radius: var(--radio); padding: .6rem 1.2rem 1rem; margin: 1.2rem 0; }
.rebo-aviso-capas h2 { margin-top: .6rem; font-size: 1.2rem; }

/* Migas de pan */
.rebo-migas { font-size: .85rem; color: var(--tinta-suave); margin: 0 0 1rem; }
.rebo-migas ol { display: flex; flex-wrap: wrap; gap: .25rem .5rem; list-style: none; margin: 0; padding: 0; }
.rebo-migas li + li::before { content: "›"; margin-right: .5rem; color: var(--linea); }
.rebo-migas a { color: var(--tinta-suave); text-decoration: underline; text-decoration-color: var(--linea); }
.rebo-migas a:hover { color: var(--verde-osc); }

/* Portada: tarjeta «última hora» y atajos */
.rebo-hero__rejilla { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 60rem) { .rebo-hero__rejilla { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } }
.rebo-radar { background: var(--papel); color: var(--tinta); border-radius: var(--radio); padding: 1.1rem 1.2rem 1rem; box-shadow: var(--sombra); border-left: 6px solid var(--ambar); }
.rebo-radar__sobre { display: flex; align-items: center; gap: .5rem; margin: 0 0 .4rem; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ambar-osc); }
.rebo-radar__punto { width: .55rem; height: .55rem; border-radius: 50%; background: var(--ambar); animation: rebo-pulso 2s ease-in-out infinite; }
@keyframes rebo-pulso { 50% { opacity: .35; } }
.rebo-radar__titulo { font-size: 1.15rem; margin: 0 0 .4rem; line-height: 1.25; }
.rebo-radar__titulo a { color: var(--tinta); text-decoration: none; }
.rebo-radar__titulo a:hover { text-decoration: underline; }
.rebo-radar__texto { margin: 0 0 .6rem; font-size: .95rem; color: var(--tinta-suave); }
.rebo-radar__pie { margin: 0; font-size: .85rem; color: var(--tinta-suave); }
@media (prefers-reduced-motion: reduce) { .rebo-radar__punto { animation: none; } }
.rebo-atajos { background: var(--papel-2); border-bottom: 1px solid var(--linea); padding: .9rem 0; }
.rebo-atajos__titulo { margin: 0 0 .5rem; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--tinta-suave); }
.rebo-atajos__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.rebo-atajos__lista a { display: inline-block; padding: .4rem .85rem; background: var(--blanco); border: 1.5px solid var(--linea); border-radius: 999px; color: var(--tinta); text-decoration: none; font-size: .92rem; font-weight: 600; }
.rebo-atajos__lista a:hover, .rebo-atajos__lista a:focus-visible { border-color: var(--verde); color: var(--verde-osc); }
.rebo-seccion__mas { font-size: .9rem; font-weight: 600; margin-left: .6rem; }
.rebo-pie__titulo--2 { margin-top: 1rem; }
.rebo-articulo__fecha { margin: .2rem 0 1rem; color: var(--tinta-suave); font-size: .9rem; }

/* Área: «Empieza por aquí» */
.rebo-empieza { margin: 0 0 2rem; }
.rebo-empieza__titulo { font-size: 1.05rem; margin: 0 0 .7rem; color: var(--tinta-suave); text-transform: uppercase; letter-spacing: .05em; }
.rebo-empieza__titulo--2 { margin-top: 2rem; }

/* Registro de horas */
.rebo-horas { margin: 1.2rem 0 2rem; }
.rebo-horas__ajustes { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); align-items: end; margin-bottom: .8rem; }
.rebo-horas__ajustes label { display: grid; gap: .3rem; font-weight: 600; font-size: .95rem; min-width: 0; }
.rebo-horas__ajustes select, .rebo-horas__ajustes input, .rebo-horas__nomina input { font: inherit; padding: .6rem .7rem; border: 2px solid var(--linea); border-radius: 8px; background: var(--blanco); color: var(--tinta); max-width: 100%; box-sizing: border-box; min-width: 0; }
.rebo-horas__nav { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.rebo-horas__mes { min-width: 9.5rem; text-align: center; font-size: 1.15rem; }
.rebo-horas__aviso { font-size: .85rem; color: var(--tinta-suave); margin: 0 0 .8rem; }
.rebo-horas__rejilla { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)) minmax(3.2rem, .9fr); gap: 3px; background: var(--linea); border: 3px solid var(--linea); border-radius: 8px; overflow: hidden; }
.rebo-horas__cab { background: var(--tinta); color: var(--papel); padding: .4rem .2rem; font-size: .78rem; font-weight: 700; text-align: center; }
.rebo-horas__dia { position: relative; background: var(--blanco); min-height: 4.6rem; padding: .25rem; display: flex; flex-direction: column; gap: .15rem; }
.rebo-horas__dia--vacio { background: var(--papel-2); }
.rebo-horas__dia--domingo { background: #fbf3e4; }
.rebo-horas__dia--festivo { background: var(--ambar-fondo); box-shadow: inset 0 0 0 2px var(--ambar); }
.rebo-horas__dia--hoy .rebo-horas__num { background: var(--verde); color: #fff; border-radius: 999px; padding: 0 .35rem; }
.rebo-horas__num { font-size: .78rem; font-weight: 700; color: var(--tinta-suave); align-self: flex-start; }
.rebo-horas__input { width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; padding: .25rem .2rem; border: 1.5px solid var(--linea); border-radius: 6px; text-align: center; min-width: 0; }
.rebo-horas__input:focus { border-color: var(--verde); outline: none; }
.rebo-horas__input.is-error { border-color: var(--rojo); background: #fdeeee; }
.rebo-horas__f { align-self: flex-end; font-size: .7rem; font-weight: 700; padding: 0 .35rem; border: 1.5px solid var(--linea); background: var(--blanco); color: var(--tinta-suave); border-radius: 6px; cursor: pointer; line-height: 1.5; }
.rebo-horas__f[aria-pressed="true"] { background: var(--ambar-osc); color: #fff; border-color: var(--ambar-osc); }
.rebo-horas__nombre { font-size: .65rem; line-height: 1.15; color: var(--ambar-osc); font-weight: 600; }
.rebo-horas__semana { background: var(--papel-2); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .9rem; color: var(--tinta); text-align: center; }
.rebo-horas__resumen { margin: 1.2rem 0; max-width: 32rem; }
.rebo-horas__resumen p { display: flex; justify-content: space-between; gap: 1rem; margin: .3rem 0; }
.rebo-horas__nomina { margin: 1rem 0; max-width: 32rem; display: grid; gap: .5rem; }
.rebo-horas__nomina label { display: grid; gap: .3rem; font-weight: 600; }
.rebo-horas__diferencia { margin: 0; font-size: .95rem; padding: .6rem .8rem; border-radius: 8px; background: var(--papel-2); }
.rebo-horas__diferencia--ok { background: #e4f3ee; color: var(--verde-osc); font-weight: 600; }
.rebo-horas__diferencia--aviso { background: var(--ambar-fondo); color: #6b4106; font-weight: 600; }
.rebo-horas__acciones { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 .6rem; }
.rebo-horas__importar { cursor: pointer; }
.rebo-horas__estado { min-height: 1.4em; margin: .3rem 0; font-weight: 600; color: var(--tinta); }
@media (max-width: 40rem) {
	.rebo-horas__dia { min-height: 4rem; padding: .15rem; }
	.rebo-horas__nombre { display: none; }
	.rebo-horas__input { font-size: .9rem; padding: .2rem 0; }
	.rebo-horas__cab { font-size: .65rem; }
	.rebo-horas__semana { font-size: .78rem; }
}
.rebo-horas__nav .rebo-btn { padding: .4rem .8rem; min-height: 0; }

/* Portada: tres caminos, comunidad y búsqueda agrupada */
.rebo-caminos { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 48rem) { .rebo-caminos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rebo-camino { padding: 1.4rem 1.3rem; }
.rebo-camino .rebo-area__nombre { font-size: 1.35rem; }
.rebo-mas-areas { margin: 1rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; color: var(--tinta-suave); }
.rebo-comunidad__lista { margin-top: 1.2rem; }
.rebo-comunidad__lista h3 { margin: 0 0 .5rem; font-size: 1.1rem; }
.rebo-comunidad__lista ul { margin: 0 0 .8rem; padding-left: 1.2rem; }
.rebo-chip.is-activo { background: var(--verde); color: #fff; border-color: var(--verde); }
.rebo-busqueda-grupo { margin: 0 0 2rem; }
.rebo-busqueda-grupo__titulo { font-size: 1.15rem; margin: 0 0 .8rem; }
.rebo-busqueda-grupo__titulo span { color: var(--tinta-suave); font-weight: 400; }

/* Directorio de colegios */
.rebo-colegios__nota { font-size: .85rem; color: var(--tinta-suave); margin: 0 0 1.4rem; }
.rebo-colegios__grupo { margin: 0 0 2rem; }
.rebo-colegios__grupo h2 { font-size: 1.25rem; margin: 0 0 .8rem; padding-bottom: .3rem; border-bottom: 2px solid var(--linea); }
.rebo-colegios__lista { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.rebo-colegio { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); padding: .8rem 1rem; box-shadow: var(--sombra); }
.rebo-colegio h3 { font-size: 1.05rem; margin: 0; }
.rebo-colegio__loc { margin: 0 0 .4rem; color: var(--tinta-suave); font-size: .85rem; }
.rebo-colegio ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .2rem; font-size: .92rem; overflow-wrap: anywhere; }
.rebo-colegio__nota { font-size: .78rem; color: var(--tinta-suave); margin: .5rem 0 0; }

/* Te puede interesar */
.rebo-relacionadas { margin: 2rem 0 0; padding: 1rem 1.2rem; background: var(--papel-2); border-left: 5px solid var(--verde); border-radius: 0 8px 8px 0; }
.rebo-relacionadas h2 { font-size: 1.05rem; margin: 0 0 .5rem; }
.rebo-relacionadas ul { margin: 0; padding-left: 1.2rem; }

/* Página de comunidad */
.rebo-comunidad-bloque { margin: 1.5rem 0; }
.rebo-comunidad-bloque h2 { font-size: 1.25rem; margin: 0 0 .75rem; }
.rebo-comunidad-bloque > ul { margin: 0; padding-left: 1.2rem; }
.rebo-comunidad-bloque .rebo-colegio h3 { font-size: 1rem; }

/* Logotipo R+C (SVG con su sombra ámbar incluida) */
.rebo-marca__logo { display: block; width: 2.6rem; height: 2.6rem; flex: none; }
