/* ============================================================
   Portal Greenery 420 · componentes del portal.
   Usa los tokens de tokens.css (sistema de diseño canónico).
   Scopeado a .gy-portal para no pisar el tema.
   ============================================================ */

/* Pantalla completa del portal (plantilla propia, sin tema) */
body.gy-portal-body {
	margin: 0;
	min-height: 100vh;
	background: var(--gy-crema);
	font-family: var(--gy-font-body);
	color: var(--gy-text);
}

.gy-portal {
	max-width: var(--gy-content);
	margin: 0 auto;
	padding: var(--gy-space-6) var(--gy-space-4) var(--gy-space-7);
	color: var(--gy-text);
	font-family: var(--gy-font-body);
}

/* Centrar en vertical la pantalla de acceso (no logueado / sin permiso) */
body.gy-portal-body .gy-portal--aviso {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

/* ---------- Cabecera ---------- */
.gy-portal__logo {
	height: 34px;
	width: auto;
	display: block;
	margin-bottom: var(--gy-space-5);
}

.gy-portal__cab { margin-bottom: var(--gy-space-5); }

.gy-portal .gy-eyebrow {
	font-family: var(--gy-font-ui);
	font-size: var(--gy-fs-eyebrow);
	font-weight: var(--gy-w-semibold);
	letter-spacing: var(--gy-ls-eyebrow);
	text-transform: uppercase;
	color: var(--gy-morado-oscuro);
	margin: 0 0 var(--gy-space-2);
}

.gy-portal__hola {
	font-family: var(--gy-font-display);
	font-weight: var(--gy-w-medium);
	font-size: clamp(2rem, 1.4rem + 2.4vw, 2.75rem);
	line-height: var(--gy-lh-heading);
	letter-spacing: var(--gy-ls-heading);
	margin: 0;
	color: var(--gy-tinta);
}

.gy-portal__rol {
	display: inline-block;
	margin-top: var(--gy-space-2);
	padding: 4px 15px;
	background: var(--gy-lavanda);
	color: var(--gy-morado-oscuro);
	border-radius: var(--gy-radius-pill);
	font-family: var(--gy-font-ui);
	font-size: var(--gy-fs-small);
	font-weight: var(--gy-w-medium);
}

/* ---------- Secciones ---------- */
.gy-portal__seccion { margin-top: var(--gy-space-6); }
.gy-portal__seccion:first-of-type { margin-top: var(--gy-space-2); }
.gy-portal__seccion-tit {
	font-family: var(--gy-font-display);
	font-weight: var(--gy-w-medium);
	font-size: 1.4rem;
	color: var(--gy-tinta);
	margin: 0 0 var(--gy-space-3);
	padding-bottom: var(--gy-space-2);
	border-bottom: 1px solid var(--gy-linea-suave);
}

/* ---------- Rejilla de tarjetas ---------- */
.gy-portal__grid {
	display: grid;
	gap: var(--gy-space-3);
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
}

.gy-card {
	position: relative;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--gy-space-2);
	padding: var(--gy-space-4);
	background: var(--gy-surface-card);
	border: 1px solid var(--gy-border);
	border-radius: var(--gy-radius-lg);
	box-shadow: var(--gy-shadow-xs);
	text-decoration: none;
	color: var(--gy-text);
	transition: transform var(--gy-dur-base) var(--gy-ease),
		box-shadow var(--gy-dur-base) var(--gy-ease),
		border-color var(--gy-dur-base) var(--gy-ease);
}
.gy-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--gy-shadow-md);
	border-color: var(--gy-salvia);
	color: var(--gy-text);
}

/* Icono de línea en cápsula de color suave */
.gy-card__icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: var(--gy-radius-md);
	background: var(--gy-verde-claro);
	color: var(--gy-verde-bosque);
}
.gy-card__icono svg { width: 24px; height: 24px; }

.gy-card--oficina .gy-card__icono {
	background: var(--gy-lavanda);
	color: var(--gy-morado-oscuro);
}

.gy-card__titulo {
	font-family: var(--gy-font-ui);
	font-weight: var(--gy-w-medium);
	font-size: 1.05rem;
	color: var(--gy-tinta);
}
.gy-card__desc {
	font-size: var(--gy-fs-small);
	color: var(--gy-text-subtle);
	line-height: 1.45;
}
/* La tarjeta alinea a la izquierda (align-items: flex-start), y eso deja el
   texto a su ancho natural: sin esto, una descripción larga se sale de la
   tarjeta en vez de partir de línea. */
.gy-card__titulo,
.gy-card__desc {
	align-self: stretch;
	overflow-wrap: break-word;
}

/* Flecha que aparece al hover en tarjetas activas */
.gy-card__flecha {
	position: absolute;
	top: var(--gy-space-4);
	right: var(--gy-space-4);
	color: var(--gy-morado);
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity var(--gy-dur-fast) var(--gy-ease), transform var(--gy-dur-fast) var(--gy-ease);
}
.gy-card:hover .gy-card__flecha { opacity: 1; transform: translateX(0); }

/* Tarjetas cuyo destino aún no existe */
.gy-card--proximo { box-shadow: none; }
.gy-card--proximo:hover {
	transform: none;
	box-shadow: none;
	border-color: var(--gy-border);
}
.gy-card--proximo .gy-card__icono { background: var(--gy-crema); color: var(--gy-tinta-30); }
.gy-card--proximo .gy-card__titulo { color: var(--gy-tinta-70); }
.gy-card__pronto {
	margin-top: 2px;
	font-family: var(--gy-font-ui);
	font-size: 0.6875rem;
	font-weight: var(--gy-w-medium);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: var(--gy-crema);
	color: var(--gy-tinta-50);
	padding: 3px 9px;
	border-radius: var(--gy-radius-sm);
}

/* ---------- Pie ---------- */
.gy-portal__pie {
	margin-top: var(--gy-space-6);
	padding-top: var(--gy-space-4);
	border-top: 1px solid var(--gy-linea-suave);
}
.gy-portal__salir {
	font-family: var(--gy-font-ui);
	font-size: var(--gy-fs-small);
	color: var(--gy-text-subtle);
}
.gy-portal__salir:hover { color: var(--gy-morado); }

/* ---------- Botón píldora (marca) ---------- */
.gy-portal .gy-btn {
	display: inline-block;
	font-family: var(--gy-font-ui);
	font-weight: var(--gy-w-medium);
	font-size: 0.85rem;
	line-height: 1.4;
	background: var(--gy-cta-bg);
	color: var(--gy-cta-text);
	text-decoration: none;
	border-radius: var(--gy-radius-pill);
	padding: 0.55rem 1.25rem;
	transition: background-color var(--gy-dur-fast) var(--gy-ease), color var(--gy-dur-fast) var(--gy-ease);
}
.gy-portal .gy-btn:hover {
	background: var(--gy-cta-bg-hover);
	color: var(--gy-cta-text-hover);
}
/* Los <button> no heredan tipografía ni tamaño del navegador: sin esto,
   una píldora <button> y una píldora <a> no salen iguales. */
.gy-portal button.gy-btn {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	margin: 0;
	cursor: pointer;
	font-size: inherit;
	line-height: inherit;
	text-align: center;
}

/* ---------- Botón secundario (outline) ---------- */
.gy-portal .gy-btn--sec {
	background: transparent;
	color: var(--gy-morado-oscuro);
	box-shadow: inset 0 0 0 1px var(--gy-morado-oscuro);
}
.gy-portal .gy-btn--sec:hover {
	background: var(--gy-lavanda);
	color: var(--gy-morado-oscuro);
	box-shadow: inset 0 0 0 1px transparent;
}

/* ---------- Volver al portal ---------- */
.gy-portal__volver {
	display: inline-block;
	margin-bottom: var(--gy-space-3);
	font-family: var(--gy-font-ui);
	font-size: var(--gy-fs-small);
	color: var(--gy-text-subtle);
}
.gy-portal__volver:hover { color: var(--gy-morado); }

/* ---------- Lista de wikis ---------- */
.gy-wiki-lista {
	display: flex;
	flex-direction: column;
	gap: var(--gy-space-3);
}
.gy-wiki-item {
	display: flex;
	align-items: center;
	gap: var(--gy-space-3);
	padding: var(--gy-space-3) var(--gy-space-4);
	background: var(--gy-surface-card);
	border: 1px solid var(--gy-border);
	border-radius: var(--gy-radius-lg);
	box-shadow: var(--gy-shadow-xs);
}
.gy-wiki-item__icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: var(--gy-radius-md);
	background: var(--gy-verde-claro);
	color: var(--gy-verde-bosque);
}
.gy-wiki-item__icono svg { width: 24px; height: 24px; }
.gy-wiki-item__texto { flex: 1 1 auto; min-width: 0; }
.gy-wiki-item__titulo {
	display: block;
	font-family: var(--gy-font-ui);
	font-weight: var(--gy-w-medium);
	font-size: 1.05rem;
	color: var(--gy-tinta);
}
.gy-wiki-item__desc {
	display: block;
	font-size: var(--gy-fs-small);
	color: var(--gy-text-subtle);
	line-height: 1.45;
}
.gy-wiki-item__acciones {
	display: flex;
	gap: var(--gy-space-2);
	flex: 0 0 auto;
}
.gy-wiki-item__acciones .gy-btn { padding: 0.55rem 1.1rem; font-size: var(--gy-fs-small); }
.gy-wiki-item__pendiente {
	font-family: var(--gy-font-ui);
	font-size: var(--gy-fs-small);
	color: var(--gy-tinta-30);
	font-style: italic;
}

@media (max-width: 600px) {
	.gy-wiki-item { flex-wrap: wrap; }
	.gy-wiki-item__acciones { width: 100%; }
	.gy-wiki-item__acciones .gy-btn { flex: 1 1 auto; text-align: center; }
}

/* ============================================================
   Contenido editable de página del portal (bloques de Gutenberg
   estilados con la marca). Para páginas de contenido (Envíos,
   Synology…) que edita el equipo desde el editor de WordPress.
   ============================================================ */
.gy-portal__contenido { max-width: 760px; }
.gy-portal__contenido > * + * { margin-top: var(--gy-space-3); }
.gy-portal__contenido h2 {
	font-family: var(--gy-font-display);
	font-weight: var(--gy-w-medium);
	font-size: 1.6rem;
	color: var(--gy-tinta);
	margin-top: var(--gy-space-5);
}
.gy-portal__contenido h3 {
	font-family: var(--gy-font-display);
	font-weight: var(--gy-w-medium);
	font-size: 1.25rem;
	color: var(--gy-tinta);
	margin-top: var(--gy-space-4);
}
.gy-portal__contenido p,
.gy-portal__contenido li { color: var(--gy-text-muted); }
.gy-portal__contenido ul,
.gy-portal__contenido ol { padding-left: 1.3rem; }
.gy-portal__contenido li { margin: 0.35rem 0; }
.gy-portal__contenido a { color: var(--gy-link); }
.gy-portal__contenido a:hover { color: var(--gy-morado); }
.gy-portal__contenido strong { color: var(--gy-tinta); }
.gy-portal__contenido code {
	background: var(--gy-crema);
	border-radius: var(--gy-radius-sm);
	padding: 1px 7px;
	font-size: 0.9em;
	color: var(--gy-tinta);
}

/* Acordeón nativo «Detalles» estilado como tarjeta */
.gy-portal__contenido details.wp-block-details {
	background: var(--gy-surface-card);
	border: 1px solid var(--gy-border);
	border-radius: var(--gy-radius-lg);
	box-shadow: var(--gy-shadow-xs);
	padding: var(--gy-space-3) var(--gy-space-4);
	margin-top: var(--gy-space-3);
}
.gy-portal__contenido details.wp-block-details[open] {
	border-color: var(--gy-salvia);
	box-shadow: var(--gy-shadow-sm);
}
.gy-portal__contenido details.wp-block-details > summary {
	font-family: var(--gy-font-ui);
	font-weight: var(--gy-w-medium);
	font-size: 1.05rem;
	color: var(--gy-tinta);
	cursor: pointer;
}
.gy-portal__contenido details.wp-block-details > summary::marker,
.gy-portal__contenido details.wp-block-details > summary::-webkit-details-marker { color: var(--gy-salvia); }
.gy-portal__contenido details.wp-block-details > *:not(summary) { margin-top: var(--gy-space-3); }

/* Aviso (grupo con clase .gy-aviso) para incidencias / notas */
.gy-portal__contenido .gy-aviso {
	background: var(--gy-crema);
	border-left: 3px solid var(--gy-morado);
	border-radius: 0 var(--gy-radius-md) var(--gy-radius-md) 0;
	padding: var(--gy-space-3) var(--gy-space-4);
}

/* Botón a partir del bloque Botón del editor */
.gy-portal__contenido .wp-block-button__link {
	background: var(--gy-cta-bg);
	color: var(--gy-cta-text);
	border-radius: var(--gy-radius-pill);
	font-family: var(--gy-font-ui);
	font-weight: var(--gy-w-medium);
	padding: 0.75rem 1.6rem;
}
.gy-portal__contenido .wp-block-button__link:hover {
	background: var(--gy-cta-bg-hover);
	color: var(--gy-cta-text-hover);
}

/* ---------- Subtítulo de cabecera ---------- */
.gy-portal__sub {
	margin: var(--gy-space-2) 0 0;
	color: var(--gy-text-muted);
	font-size: var(--gy-fs-lead);
}

/* ---------- Asistente de envíos (acordeón) ---------- */
.gy-env { display: flex; flex-direction: column; gap: var(--gy-space-3); }

.gy-env__item {
	background: var(--gy-surface-card);
	border: 1px solid var(--gy-border);
	border-radius: var(--gy-radius-lg);
	box-shadow: var(--gy-shadow-xs);
	overflow: hidden;
}
.gy-env__item[open] { border-color: var(--gy-salvia); box-shadow: var(--gy-shadow-sm); }

.gy-env__resumen {
	display: flex;
	align-items: center;
	gap: var(--gy-space-3);
	padding: var(--gy-space-3) var(--gy-space-4);
	cursor: pointer;
	list-style: none;
}
.gy-env__resumen::-webkit-details-marker { display: none; }

.gy-env__icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: var(--gy-radius-md);
	background: var(--gy-lavanda);
	color: var(--gy-morado-oscuro);
}
.gy-env__icono svg { width: 24px; height: 24px; }
.gy-env__titulo {
	flex: 1 1 auto;
	font-family: var(--gy-font-ui);
	font-weight: var(--gy-w-medium);
	font-size: 1.05rem;
	color: var(--gy-tinta);
}
.gy-env__op {
	flex: 0 0 auto;
	font-family: var(--gy-font-ui);
	font-size: var(--gy-fs-small);
	font-weight: var(--gy-w-medium);
	background: var(--gy-verde-claro);
	color: var(--gy-verde-bosque);
	padding: 3px 12px;
	border-radius: var(--gy-radius-pill);
}
.gy-env__chevron { flex: 0 0 auto; color: var(--gy-text-subtle); transition: transform var(--gy-dur-fast) var(--gy-ease); }
.gy-env__item[open] .gy-env__chevron { transform: rotate(180deg); }

.gy-env__cuerpo {
	padding: 0 var(--gy-space-4) var(--gy-space-4);
	border-top: 1px solid var(--gy-linea-suave);
	font-size: var(--gy-fs-body);
	line-height: var(--gy-lh-body);
	color: var(--gy-text-muted);
}
.gy-env__cuerpo .gy-env__intro { margin-top: var(--gy-space-3); }
.gy-env__pasos { margin: var(--gy-space-3) 0; padding-left: 1.2rem; }
.gy-env__pasos li { margin-bottom: var(--gy-space-2); }
.gy-env__nota {
	background: var(--gy-crema);
	border-radius: var(--gy-radius-md);
	padding: var(--gy-space-2) var(--gy-space-3);
}
.gy-env__contacto {
	margin-top: var(--gy-space-3);
	padding: var(--gy-space-3);
	border-radius: var(--gy-radius-md);
	background: var(--gy-verde-claro);
	color: var(--gy-tinta);
	font-size: var(--gy-fs-small);
	line-height: 1.6;
}
.gy-env__contacto-tit {
	display: block;
	font-family: var(--gy-font-ui);
	font-weight: var(--gy-w-medium);
	margin-bottom: 4px;
}
.gy-env__pendiente {
	margin-top: var(--gy-space-3);
	padding: var(--gy-space-3);
	border: 1px dashed var(--gy-salvia);
	border-radius: var(--gy-radius-md);
	background: var(--gy-bg-calido);
	color: var(--gy-text-subtle);
	font-style: italic;
}

/* ---------- Aviso (no logueado / sin acceso) ---------- */
.gy-portal--aviso {
	text-align: center;
	padding: var(--gy-space-7) var(--gy-space-4);
}
.gy-portal--aviso .gy-portal__logo { margin: 0 auto var(--gy-space-4); }
.gy-portal--aviso p { margin: var(--gy-space-1) 0; color: var(--gy-text-muted); }

/* ============================================================
   ARMAZÓN v0.3 · barra lateral + zona de contenido
   ============================================================ */
.gy-app { display: flex; min-height: 100vh; }

/* ---------- Barra lateral ---------- */
.gy-side {
	width: 268px; flex: 0 0 268px;
	background: var(--gy-blanco);
	border-right: 1px solid var(--gy-linea-suave);
	padding: 26px 18px 20px;
	display: flex; flex-direction: column; gap: 26px;
	position: sticky; top: 0; height: 100vh; overflow-y: auto;
}
.gy-side__logo img { height: 30px; width: auto; display: block; }

.gy-user { display: flex; align-items: center; gap: 11px; padding: 11px;
	border-radius: var(--gy-radius-md); background: var(--gy-crema); }
.gy-user__av { width: 38px; height: 38px; flex: 0 0 38px; border-radius: var(--gy-radius-pill);
	background: var(--gy-verde-claro); color: var(--gy-verde-bosque);
	display: grid; place-items: center;
	font-family: var(--gy-font-display); font-size: 1.05rem; font-weight: var(--gy-w-semibold); }
.gy-user__txt { min-width: 0; }
.gy-user__nom { display: block; font-family: var(--gy-font-ui); font-weight: var(--gy-w-medium);
	font-size: .9rem; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gy-user__rol { display: block; font-family: var(--gy-font-ui); font-size: .7rem;
	letter-spacing: .06em; text-transform: uppercase; color: var(--gy-tinta-30); margin-top: 2px; }

.gy-nav { display: flex; flex-direction: column; gap: 22px; flex: 1; }
.gy-nav__grupo { display: flex; flex-direction: column; gap: 3px; }
.gy-nav__tit { font-family: var(--gy-font-ui); font-size: .66rem; font-weight: var(--gy-w-medium);
	letter-spacing: .13em; text-transform: uppercase; color: var(--gy-tinta-30);
	padding: 0 12px 7px; margin: 0; }
.gy-nav__item { display: flex; align-items: center; gap: 11px; padding: 9px 12px;
	border-radius: var(--gy-radius-md); font-family: var(--gy-font-ui); font-size: .9rem;
	font-weight: var(--gy-w-medium); color: var(--gy-tinta-70); text-decoration: none;
	position: relative; width: 100%;
	transition: background var(--gy-dur-fast) var(--gy-ease), color var(--gy-dur-fast) var(--gy-ease); }
.gy-nav__item svg { width: 18px; height: 18px; flex: 0 0 18px; opacity: .75; }
.gy-nav__item:hover { background: var(--gy-crema); color: var(--gy-tinta); }
.gy-nav__item.es-activo { background: #EDEBFB; color: var(--gy-morado-oscuro); }
.gy-nav__item.es-activo svg { opacity: 1; color: var(--gy-morado); }
.gy-nav__item.es-activo::before { content: ""; position: absolute; left: -18px; top: 50%;
	transform: translateY(-50%); width: 3px; height: 20px;
	border-radius: 0 3px 3px 0; background: var(--gy-morado); }
.gy-nav__item--off { opacity: .42; cursor: default; }
.gy-nav__item--off:hover { background: none; color: var(--gy-tinta-70); }
.gy-nav__pronto { margin-left: auto; font-family: var(--gy-font-ui); font-size: .58rem;
	letter-spacing: .08em; text-transform: uppercase; color: var(--gy-tinta-30);
	border: 1px solid var(--gy-linea); border-radius: var(--gy-radius-pill); padding: 2px 7px; }

.gy-side__pie { border-top: 1px solid var(--gy-linea-suave); padding-top: 14px; }
.gy-salir { display: flex; align-items: center; gap: 10px; padding: 9px 12px;
	border-radius: var(--gy-radius-md); font-family: var(--gy-font-ui); font-size: .85rem;
	color: var(--gy-tinta-50); text-decoration: none; }
.gy-salir:hover { background: var(--gy-crema); color: var(--gy-tinta); }
.gy-salir svg { width: 17px; height: 17px; }

/* ---------- Zona de contenido ---------- */
.gy-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.gy-barra { display: none; align-items: center; gap: 14px; padding: 12px 18px;
	background: var(--gy-blanco); border-bottom: 1px solid var(--gy-linea-suave);
	position: sticky; top: 0; z-index: 20; }
.gy-hamb { display: grid; place-items: center; width: 38px; height: 38px;
	border-radius: var(--gy-radius-md); border: 1px solid var(--gy-linea); background: none; cursor: pointer; }
.gy-hamb svg { width: 19px; height: 19px; }
.gy-lienzo { padding: 44px 48px 72px; max-width: 1180px; width: 100%; }

/* Cabecera de página dentro del armazón */
.gy-pag__cab { margin-bottom: 38px; }
.gy-pag__cab .gy-eyebrow { margin: 0 0 10px; }
.gy-pag__tit { font-family: var(--gy-font-display); font-weight: var(--gy-w-semibold);
	font-size: 2.6rem; line-height: 1.06; letter-spacing: -.01em; margin: 0; }
.gy-pag__sub { font-size: 1.02rem; color: var(--gy-text-subtle); margin: 11px 0 0; max-width: 56ch; }
.gy-bloque + .gy-bloque { margin-top: 42px; }
.gy-bloque__tit { font-family: var(--gy-font-ui); font-size: .72rem; font-weight: var(--gy-w-medium);
	letter-spacing: .13em; text-transform: uppercase; color: var(--gy-tinta-30); margin: 0 0 16px; }

/* ---------- Responsive ---------- */
.gy-velo { display: none; }
@media (max-width: 900px) {
	.gy-barra { display: flex; }
	.gy-lienzo { padding: 26px 20px 56px; }
	.gy-pag__tit { font-size: 2rem; }
	.gy-side { position: fixed; left: 0; top: 0; z-index: 40; transform: translateX(-100%);
		transition: transform var(--gy-dur-base) var(--gy-ease); box-shadow: var(--gy-shadow-sm); }
	.gy-app.es-abierto .gy-side { transform: translateX(0); }
	.gy-app.es-abierto .gy-velo { display: block; position: fixed; inset: 0;
		background: rgba(51,50,46,.4); z-index: 30; }
}

/* El bloque .gy-portal traía su propio ancho y margen (era el contenedor de la
   página entera). Dentro del armazón v0.3 quien manda es .gy-lienzo. */
.gy-lienzo .gy-portal { max-width: none; margin: 0; padding: 0; }

/* ============================================================
   Secciones: aviso de ejemplo, tablón, datos y pasos
   ============================================================ */
.gy-ejemplo-aviso { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
	background: var(--gy-crema); border: 1px dashed var(--gy-linea);
	border-radius: var(--gy-radius-md); padding: 12px 16px; margin: 0 0 26px;
	font-size: var(--gy-fs-small); color: var(--gy-text-subtle); }
.gy-ejemplo-chip { font-family: var(--gy-font-ui); font-size: .62rem; font-weight: var(--gy-w-medium);
	letter-spacing: .09em; text-transform: uppercase; background: var(--gy-lavanda);
	color: var(--gy-morado-oscuro); border-radius: var(--gy-radius-pill); padding: 3px 9px; }

.gy-promo__img { display: block; width: 100%; border-radius: var(--gy-radius-md);
	overflow: hidden; margin-bottom: 4px; }
.gy-promo__img img { width: 100%; height: auto; display: block; }

.gy-tablon { display: flex; flex-direction: column; gap: 14px; }
.gy-anuncio { background: var(--gy-surface-card); border: 1px solid var(--gy-linea-suave);
	border-radius: var(--gy-radius-lg); padding: 20px 22px; box-shadow: var(--gy-shadow-xs); }
.gy-anuncio__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.gy-anuncio__tipo { font-family: var(--gy-font-ui); font-size: .62rem; font-weight: var(--gy-w-medium);
	letter-spacing: .09em; text-transform: uppercase; background: var(--gy-verde-claro);
	color: var(--gy-verde-bosque); border-radius: var(--gy-radius-pill); padding: 3px 9px; }
.gy-anuncio__fecha { font-family: var(--gy-font-ui); font-size: .72rem; color: var(--gy-tinta-30); }
.gy-anuncio__tit { font-family: var(--gy-font-ui); font-weight: var(--gy-w-medium); font-size: 1.05rem;
	margin: 0 0 6px; color: var(--gy-tinta); }
.gy-anuncio__txt { margin: 0; font-size: var(--gy-fs-small); color: var(--gy-text-muted); line-height: 1.55; }

.gy-datos { display: flex; flex-direction: column; gap: 1px; background: var(--gy-linea-suave);
	border: 1px solid var(--gy-linea-suave); border-radius: var(--gy-radius-lg); overflow: hidden; }
.gy-dato { display: flex; gap: 16px; flex-wrap: wrap; background: var(--gy-blanco); padding: 14px 18px; }
.gy-dato__k { flex: 0 0 160px; font-family: var(--gy-font-ui); font-size: .78rem;
	letter-spacing: .04em; text-transform: uppercase; color: var(--gy-tinta-30); }
.gy-dato__v { font-size: var(--gy-fs-small); color: var(--gy-text); }
.gy-dato__v--vacio { color: var(--gy-tinta-30); font-style: italic; }

.gy-pasos { margin: 0; padding-left: 1.25rem; display: flex; flex-direction: column; gap: 10px; }
.gy-pasos li { font-size: var(--gy-fs-small); color: var(--gy-text-muted); line-height: 1.6; }
.gy-pasos li::marker { color: var(--gy-morado); font-family: var(--gy-font-ui); font-weight: var(--gy-w-medium); }

.gy-avisos { margin: 0; padding-left: 1.1rem; display: flex; flex-direction: column; gap: 9px; }
.gy-avisos li { font-size: var(--gy-fs-small); color: var(--gy-text-muted); line-height: 1.6; }
.gy-avisos li::marker { color: var(--gy-salvia); }

/* Las tarjetas de wiki llevan dos botones: necesitan más ancho que las de
   acceso rápido, o las píldoras se apilan. */
.gy-wiki-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.gy-wiki-card__acciones { align-self: stretch; }

/* ============================================================
   Promociones y tablón
   ============================================================ */
.gy-barra-filtros { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 26px; }
.gy-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.gy-chip { font-family: var(--gy-font-ui); font-size: .82rem; font-weight: var(--gy-w-medium);
	padding: .44rem 1rem; border-radius: var(--gy-radius-pill); border: 0; background: none;
	color: var(--gy-tinta-70); cursor: pointer; box-shadow: inset 0 0 0 1px var(--gy-linea);
	transition: all var(--gy-dur-fast) var(--gy-ease); }
.gy-chip:hover { background: var(--gy-crema); box-shadow: inset 0 0 0 1px var(--gy-salvia); }
.gy-chip.es-activo { background: var(--gy-tinta); color: #fff; box-shadow: none; }
.gy-filtro-fecha { display: flex; gap: 10px; flex-wrap: wrap; }
.gy-filtro-fecha label { font-family: var(--gy-font-ui); font-size: .74rem; color: var(--gy-tinta-30);
	display: flex; align-items: center; gap: 6px; }
.gy-filtro-fecha input, .gy-buscador { font-family: var(--gy-font-ui); font-size: .84rem;
	padding: .44rem .8rem; border: 1px solid var(--gy-linea); border-radius: var(--gy-radius-pill);
	background: var(--gy-blanco); color: var(--gy-tinta); }
.gy-buscador { min-width: 260px; flex: 1; }
.gy-buscador:focus, .gy-filtro-fecha input:focus { outline: 2px solid var(--gy-lavanda); outline-offset: 1px; }

.gy-promos { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.gy-promo { background: var(--gy-surface-card); border: 1px solid var(--gy-linea-suave);
	border-radius: var(--gy-radius-lg); padding: 20px 22px; box-shadow: var(--gy-shadow-xs);
	display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.gy-promo__cab { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; }
.gy-estado { font-family: var(--gy-font-ui); font-size: .6rem; font-weight: var(--gy-w-medium);
	letter-spacing: .09em; text-transform: uppercase; border-radius: var(--gy-radius-pill); padding: 3px 9px; }
.gy-estado--activa     { background: var(--gy-verde-claro); color: var(--gy-verde-bosque); }
.gy-estado--programada { background: #EDEBFB; color: var(--gy-morado-oscuro); }
.gy-estado--historica  { background: var(--gy-crema); color: var(--gy-tinta-30); }
.gy-tag { font-family: var(--gy-font-ui); font-size: .6rem; letter-spacing: .06em; text-transform: uppercase;
	border: 1px solid var(--gy-linea); border-radius: var(--gy-radius-pill); padding: 3px 9px; color: var(--gy-tinta-50); }
.gy-tag--asoc { background: var(--gy-lavanda); border-color: transparent; color: var(--gy-morado-oscuro); }
.gy-promo__tit { font-family: var(--gy-font-ui); font-weight: var(--gy-w-medium); font-size: 1.02rem;
	margin: 0; color: var(--gy-tinta); overflow-wrap: break-word; }
.gy-promo__oferta { font-family: var(--gy-font-display); font-weight: var(--gy-w-semibold);
	font-size: 1.7rem; line-height: 1.1; margin: 0; color: var(--gy-morado-oscuro); }
.gy-promo__fechas { font-family: var(--gy-font-ui); font-size: .76rem; color: var(--gy-tinta-30); margin: 0; }
.gy-promo__datos { display: grid; grid-template-columns: 92px 1fr; gap: 6px 12px; margin: 4px 0 0;
	font-size: .82rem; }
.gy-promo__datos dt { font-family: var(--gy-font-ui); font-size: .68rem; letter-spacing: .05em;
	text-transform: uppercase; color: var(--gy-tinta-30); }
.gy-promo__datos dd { margin: 0; color: var(--gy-text-muted); overflow-wrap: break-word; }
.gy-promo__datos code { background: var(--gy-crema); border-radius: var(--gy-radius-sm); padding: 1px 6px; }
.gy-promo__agora { border-top: 1px solid var(--gy-linea-suave); padding-top: 10px; }
.gy-promo__agora summary { font-family: var(--gy-font-ui); font-size: .8rem; font-weight: var(--gy-w-medium);
	color: var(--gy-morado-oscuro); cursor: pointer; }
.gy-promo__agora p { font-size: .82rem; color: var(--gy-text-muted); line-height: 1.6; margin: 8px 0 0; }
.gy-promo__material { font-size: .78rem; color: var(--gy-tinta-30); font-style: italic; margin: 0; }
.gy-sin-resultados { color: var(--gy-tinta-30); font-style: italic; margin-top: 20px; }

.gy-anuncio__tipo--stock   { background: var(--gy-verde-claro); color: var(--gy-verde-bosque); }
.gy-anuncio__tipo--horario { background: #FBEEE6; color: #9A5B33; }
.gy-anuncio__tipo--promo   { background: #EDEBFB; color: var(--gy-morado-oscuro); }
.gy-anuncio__tipo--equipo  { background: var(--gy-crema); color: var(--gy-tinta-50); }
.gy-anuncio__enlace { display: inline-block; margin-top: 10px; font-family: var(--gy-font-ui);
	font-size: .8rem; color: var(--gy-morado-oscuro); text-decoration: none; }
.gy-anuncio__enlace:hover { color: var(--gy-morado); }

/* ---------- Material de impresión ---------- */
.gy-canva { display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
	background: var(--gy-surface-card); border: 1px solid var(--gy-linea-suave);
	border-radius: var(--gy-radius-lg); padding: 20px 22px; box-shadow: var(--gy-shadow-xs); }
.gy-canva__txt { flex: 1; min-width: 220px; }
.gy-canva__tit { font-family: var(--gy-font-ui); font-weight: var(--gy-w-medium); font-size: 1rem; margin: 0 0 4px; }
.gy-canva__desc { font-size: var(--gy-fs-small); color: var(--gy-text-muted); margin: 0; line-height: 1.5; }
.gy-canva__pendiente { font-family: var(--gy-font-ui); font-size: .78rem; color: var(--gy-tinta-30); font-style: italic; }

.gy-material { display: flex; flex-direction: column; gap: 10px; }
.gy-arte { display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	background: var(--gy-surface-card); border: 1px solid var(--gy-linea-suave);
	border-radius: var(--gy-radius-md); padding: 14px 18px; }
.gy-arte__clase { flex: 0 0 auto; font-family: var(--gy-font-ui); font-size: .62rem; font-weight: var(--gy-w-medium);
	letter-spacing: .1em; background: var(--gy-crema); border-radius: var(--gy-radius-sm);
	padding: 6px 10px; color: var(--gy-tinta-50); }
.gy-arte__txt { flex: 1; min-width: 180px; display: flex; flex-direction: column; }
.gy-arte__nombre { font-family: var(--gy-font-ui); font-size: .9rem; overflow-wrap: anywhere; }
.gy-arte__cat { font-family: var(--gy-font-ui); font-size: .74rem; color: var(--gy-tinta-30); }
.gy-arte__acciones { display: flex; gap: 8px; flex-wrap: wrap; }
.gy-material__vacio { color: var(--gy-text-subtle); font-size: var(--gy-fs-small); }

/* ---------- Botón destacado de pedido ---------- */
.gy-cta-pedido { display: flex; align-items: center; gap: 10px; padding: 11px 14px;
	border-radius: var(--gy-radius-md); background: var(--gy-cta-bg); color: var(--gy-cta-text);
	font-family: var(--gy-font-ui); font-weight: var(--gy-w-medium); font-size: .88rem;
	text-decoration: none; transition: background var(--gy-dur-fast) var(--gy-ease); }
.gy-cta-pedido:hover { background: var(--gy-cta-bg-hover); color: var(--gy-cta-text-hover); }
.gy-cta-pedido svg { width: 18px; height: 18px; flex: 0 0 18px; }
.gy-cta-pedido--sin { background: var(--gy-lavanda); color: var(--gy-morado-oscuro); cursor: default; }

.gy-pedido-destacado { display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
	background: var(--gy-verde-claro); border-radius: var(--gy-radius-lg);
	padding: 22px 26px; margin-bottom: 34px; }
.gy-pedido-destacado__txt { flex: 1; min-width: 200px; }
.gy-pedido-destacado__tit { font-family: var(--gy-font-display); font-weight: var(--gy-w-semibold);
	font-size: 1.4rem; margin: 0 0 4px; color: var(--gy-verde-bosque); }
.gy-pedido-destacado__desc { margin: 0; font-size: var(--gy-fs-small); color: var(--gy-tinta-70); }
.gy-pedido-destacado__aviso { font-family: var(--gy-font-ui); font-size: .82rem;
	color: var(--gy-verde-bosque); background: rgba(255,255,255,.6);
	border-radius: var(--gy-radius-pill); padding: .5rem 1rem; }
.gy-portal .gy-btn--grande { font-size: .95rem; padding: .75rem 1.7rem; }

/* ---------- Influencers ---------- */
.gy-inf__total { font-family: var(--gy-font-ui); font-size: .8rem; color: var(--gy-tinta-30); }
.gy-infs { display: flex; flex-direction: column; gap: 12px; }
.gy-inf { background: var(--gy-surface-card); border: 1px solid var(--gy-linea-suave);
	border-radius: var(--gy-radius-lg); padding: 16px 20px; box-shadow: var(--gy-shadow-xs); }
.gy-inf__cab { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.gy-inf__nombre { font-family: var(--gy-font-ui); font-weight: var(--gy-w-medium); font-size: 1rem; }
.gy-inf__ig { font-family: var(--gy-font-ui); font-size: .8rem; color: var(--gy-morado-oscuro); }
.gy-inf__nota { margin: 8px 0 0; font-size: var(--gy-fs-small); color: var(--gy-text-muted); }
.gy-inf__datos, .gy-inf__envios { margin-top: 10px; }
.gy-inf__datos summary, .gy-inf__envios summary { font-family: var(--gy-font-ui); font-size: .8rem;
	font-weight: var(--gy-w-medium); color: var(--gy-morado-oscuro); cursor: pointer; }
.gy-inf__datos[open] summary, .gy-inf__envios[open] summary { margin-bottom: 10px; }

.gy-envios { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.gy-envio { background: var(--gy-crema); border-radius: var(--gy-radius-md); padding: 14px 16px; }
.gy-envio__cab { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-bottom: 8px; }
.gy-envio__fecha { font-family: var(--gy-font-ui); font-size: .75rem; color: var(--gy-tinta-30); }
.gy-envio__caja { margin: 0; font-size: var(--gy-fs-small); color: var(--gy-text-muted); line-height: 1.5; }
.gy-envio__vacio { font-size: var(--gy-fs-small); color: var(--gy-tinta-30); font-style: italic; margin: 0; }
.gy-seguimiento { list-style: none; margin: 10px 0 0; padding: 0 0 0 12px;
	border-left: 2px solid var(--gy-salvia); display: flex; flex-direction: column; gap: 7px; }
.gy-seguimiento li { font-size: .82rem; color: var(--gy-text-muted); line-height: 1.5; }
.gy-seguimiento__meta { display: block; font-family: var(--gy-font-ui); font-size: .7rem;
	text-transform: uppercase; letter-spacing: .05em; color: var(--gy-tinta-30); }
.gy-seguimiento a { color: var(--gy-morado-oscuro); }

.gy-form { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; align-items: center; }
.gy-form__tit { width: 100%; margin: 0; font-family: var(--gy-font-ui); font-size: .7rem;
	letter-spacing: .1em; text-transform: uppercase; color: var(--gy-tinta-30); }
.gy-form input, .gy-form select, .gy-form textarea { font-family: var(--gy-font-ui); font-size: .84rem;
	padding: .45rem .8rem; border: 1px solid var(--gy-linea); border-radius: var(--gy-radius-md);
	background: var(--gy-blanco); color: var(--gy-tinta); flex: 1; min-width: 160px; }
.gy-form textarea { width: 100%; flex-basis: 100%; }
.gy-form--seguimiento { border-top: 1px solid var(--gy-linea-suave); padding-top: 10px; }

.gy-inf__acciones { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }

/* ============================================================
   To-dos: tablero y calendario
   ============================================================ */
.gy-barra-tareas { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.gy-vista { display: flex; gap: 4px; background: var(--gy-crema); border-radius: var(--gy-radius-pill); padding: 4px; }
.gy-vista button { font-family: var(--gy-font-ui); font-size: .8rem; font-weight: var(--gy-w-medium);
	padding: .42rem 1rem; border-radius: var(--gy-radius-pill); border: 0; background: none;
	color: var(--gy-tinta-50); cursor: pointer; }
.gy-vista button.es-activo { background: var(--gy-blanco); color: var(--gy-tinta); box-shadow: var(--gy-shadow-xs); }
.gy-quien { display: flex; gap: 7px; margin-left: auto; align-items: center; }
.gy-av { width: 28px; height: 28px; border-radius: var(--gy-radius-pill); display: grid; place-items: center;
	font-family: var(--gy-font-ui); font-size: .72rem; font-weight: var(--gy-w-medium); cursor: pointer;
	box-shadow: inset 0 0 0 1px var(--gy-linea); color: var(--gy-tinta-30); background: var(--gy-blanco);
	opacity: .5; transition: all var(--gy-dur-fast) var(--gy-ease); }
.gy-av.on { opacity: 1; background: #EDEBFB; color: var(--gy-morado-oscuro); box-shadow: inset 0 0 0 1px var(--gy-lavanda); }

.gy-tablero { display: flex; gap: 15px; align-items: flex-start; overflow-x: auto; padding-bottom: 14px; }
.gy-col { flex: 0 0 272px; background: rgba(51,50,46,.035); border-radius: var(--gy-radius-lg);
	padding: 13px; display: flex; flex-direction: column; gap: 10px; min-height: 160px; }
.gy-col.es-sobre { background: #EDEBFB; outline: 2px dashed var(--gy-lavanda); outline-offset: -2px; }
.gy-col__cab { display: flex; align-items: center; gap: 8px; padding: 2px 4px; }
.gy-col__tit { font-family: var(--gy-font-ui); font-size: .72rem; font-weight: var(--gy-w-medium);
	letter-spacing: .1em; text-transform: uppercase; color: var(--gy-tinta-50); }
.gy-col__n { font-family: var(--gy-font-ui); font-size: .68rem; color: var(--gy-tinta-30);
	background: var(--gy-blanco); border-radius: var(--gy-radius-pill); padding: 1px 8px; }
.gy-col__lista { display: flex; flex-direction: column; gap: 9px; min-height: 24px; }
.gy-col__add { font-family: var(--gy-font-ui); font-size: .78rem; color: var(--gy-tinta-30);
	padding: 7px 4px; text-align: left; border: 0; background: none; cursor: pointer;
	border-radius: var(--gy-radius-sm); }
.gy-col__add:hover { background: var(--gy-blanco); color: var(--gy-tinta-70); }

.gy-tarea { background: var(--gy-blanco); border: 1px solid var(--gy-linea-suave);
	border-radius: var(--gy-radius-md); padding: 12px 13px; box-shadow: var(--gy-shadow-xs);
	cursor: grab; display: flex; flex-direction: column; gap: 9px;
	transition: box-shadow var(--gy-dur-fast) var(--gy-ease); }
.gy-tarea:hover { box-shadow: var(--gy-shadow-sm); }
.gy-tarea.es-arrastrando { opacity: .4; }
.gy-tarea__tit { font-family: var(--gy-font-ui); font-size: .86rem; font-weight: var(--gy-w-medium);
	line-height: 1.35; color: var(--gy-tinta); overflow-wrap: anywhere; }
.gy-tarea__meta { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.gy-tarea__av { width: 22px; height: 22px; border-radius: var(--gy-radius-pill); display: grid;
	place-items: center; font-family: var(--gy-font-ui); font-size: .62rem; font-weight: var(--gy-w-medium);
	background: #EDEBFB; color: var(--gy-morado-oscuro); }
.gy-tarea__borrar { margin-left: auto; border: 0; background: none; color: var(--gy-tinta-30);
	font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 0 2px; opacity: 0; }
.gy-tarea:hover .gy-tarea__borrar { opacity: 1; }
.gy-tarea__borrar:hover { color: #B3261E; }
.gy-fecha { font-family: var(--gy-font-ui); font-size: .68rem; color: var(--gy-tinta-50);
	background: var(--gy-crema); border-radius: var(--gy-radius-pill); padding: 2px 9px; }
.gy-fecha--hoy { background: #FBEEE6; color: #9A5B33; }
.gy-fecha--tarde { background: #FBE6E6; color: #B3261E; }
.gy-etiq { font-family: var(--gy-font-ui); font-size: .6rem; letter-spacing: .07em;
	text-transform: uppercase; border-radius: var(--gy-radius-pill); padding: 2px 8px; }
.gy-etiq--web { background: #EDEBFB; color: var(--gy-morado-oscuro); }
.gy-etiq--conten { background: var(--gy-verde-claro); color: var(--gy-verde-bosque); }
.gy-etiq--tienda { background: #FBEEE6; color: #9A5B33; }

.gy-nueva { background: var(--gy-blanco); border: 1px solid var(--gy-lavanda);
	border-radius: var(--gy-radius-md); padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.gy-nueva input, .gy-nueva select { font-family: var(--gy-font-ui); font-size: .82rem;
	padding: .4rem .7rem; border: 1px solid var(--gy-linea); border-radius: var(--gy-radius-sm);
	background: var(--gy-blanco); color: var(--gy-tinta); width: 100%; }
.gy-nueva__fila { display: flex; gap: 6px; flex-wrap: wrap; }
.gy-nueva__fila > * { flex: 1; min-width: 88px; }
.gy-nueva .gy-btn { padding: .42rem .9rem; font-size: .8rem; }

.gy-cal { background: var(--gy-blanco); border: 1px solid var(--gy-linea-suave);
	border-radius: var(--gy-radius-lg); overflow: hidden; box-shadow: var(--gy-shadow-xs); }
.gy-cal__cab { display: grid; grid-template-columns: repeat(7, 1fr); background: var(--gy-crema); }
.gy-cal__dia-nom { font-family: var(--gy-font-ui); font-size: .66rem; font-weight: var(--gy-w-medium);
	letter-spacing: .1em; text-transform: uppercase; color: var(--gy-tinta-30); padding: 11px 12px; }
.gy-cal__rejilla { display: grid; grid-template-columns: repeat(7, 1fr); }
.gy-cal__celda { min-height: 112px; border-top: 1px solid var(--gy-linea-suave);
	border-left: 1px solid var(--gy-linea-suave); padding: 8px; display: flex;
	flex-direction: column; gap: 5px; }
.gy-cal__celda:nth-child(7n+1) { border-left: 0; }
.gy-cal__num { font-family: var(--gy-font-ui); font-size: .72rem; color: var(--gy-tinta-30); }
.gy-cal__celda--fuera { background: rgba(51,50,46,.02); }
.gy-cal__celda--fuera .gy-cal__num { opacity: .4; }
.gy-cal__celda--hoy .gy-cal__num { background: var(--gy-tinta); color: #fff;
	border-radius: var(--gy-radius-pill); width: 21px; height: 21px; display: grid; place-items: center; }
.gy-cal__t { font-family: var(--gy-font-ui); font-size: .7rem; line-height: 1.3;
	border-radius: var(--gy-radius-sm); padding: 4px 7px; background: #EDEBFB;
	color: var(--gy-morado-oscuro); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gy-cal__t--hecho { background: var(--gy-crema); color: var(--gy-tinta-30); text-decoration: line-through; }
@media (max-width: 900px) { .gy-cal__celda { min-height: 86px; } .gy-cal__dia-nom { font-size: .58rem; padding: 8px 6px; } }

/* ============================================================
   Correcciones de la revisión v0.9
   ============================================================ */
/* [hidden] tiene que ganar SIEMPRE a cualquier display propio (flex, grid…):
   sin esto, filtros y paneles "ocultos" seguían viéndose. */
.gy-portal [hidden], .gy-app [hidden], .gy-portal-body [hidden] { display: none !important; }

/* Calendario: cabecera y rejilla comparten columnas fijas; un título largo no las descuadra. */
.gy-cal__cab, .gy-cal__rejilla { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.gy-cal__celda { min-width: 0; }

/* Barra superior móvil: el logo no arrastra el margen que tiene en la cabecera del portal. */
.gy-barra .gy-portal__logo { margin: 0; height: 24px; width: auto; }

/* Móvil: la barra lateral cerrada no debe recibir el foco del teclado. */
@media (max-width: 900px) {
	.gy-side { visibility: hidden; transition: transform var(--gy-dur-base) var(--gy-ease), visibility 0s linear var(--gy-dur-base); }
	.gy-app.es-abierto .gy-side { visibility: visible; transition-delay: 0s; }
}

/* To-dos: filtros de persona como botones, tarjetas operables sin ratón. */
.gy-av { border: 0; padding: 0; }
.gy-tarea:focus-within .gy-tarea__borrar { opacity: 1; }
.gy-tarea__mover { border: 0; background: none; color: var(--gy-tinta-30); cursor: pointer;
	font-size: .95rem; line-height: 1; padding: 2px 5px; border-radius: var(--gy-radius-sm); }
.gy-tarea__mover:hover, .gy-tarea__mover:focus-visible { background: var(--gy-crema); color: var(--gy-tinta); }
.gy-aviso-flotante { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%);
	background: var(--gy-tinta); color: #fff; font-family: var(--gy-font-ui); font-size: .85rem;
	padding: .6rem 1.15rem; border-radius: var(--gy-radius-pill); z-index: 60; box-shadow: var(--gy-shadow-sm);
	max-width: min(92vw, 520px); text-align: center; }
