/* Estilos comunes de las páginas públicas (Fase D). Sobrio, sin logos de terceros. */
:root {
	--fondo: #ffffff;
	--texto: #1f2328;
	--suave: #57606a;
	--borde: #d0d7de;
	--acento: #0b5cad;
	--pendiente-fondo: #fff4ce;
	--pendiente-texto: #6b4e00;
}
@media (prefers-color-scheme: dark) {
	:root {
		--fondo: #0f1419;
		--texto: #e6e8eb;
		--suave: #9aa4ae;
		--borde: #2d3640;
		--acento: #6cb6ff;
		--pendiente-fondo: #3d3100;
		--pendiente-texto: #ffe08a;
	}
}

* { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--fondo);
	color: var(--texto);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.6;
}

header, main, footer {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 16px;
}

header {
	padding-top: 24px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--borde);
}
header a.marca {
	color: var(--texto);
	font-weight: 600;
	text-decoration: none;
}

main { padding-top: 8px; padding-bottom: 40px; }

h1 { font-size: 1.7rem; line-height: 1.25; margin: 24px 0 4px; }
h2 { font-size: 1.2rem; margin: 32px 0 8px; }
p, li { overflow-wrap: anywhere; }
.actualizado { color: var(--suave); font-size: 0.9rem; margin-top: 0; }

a { color: var(--acento); }

table { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: 0.95rem; }
th, td { text-align: left; vertical-align: top; padding: 8px; border-bottom: 1px solid var(--borde); }

ol.pasos li { margin-bottom: 8px; }

.aviso {
	border-left: 4px solid var(--acento);
	padding: 8px 12px;
	margin: 16px 0;
}

/* Marcadores que debe completar Gestpyme antes de publicar oficialmente. */
.pendiente {
	background: var(--pendiente-fondo);
	color: var(--pendiente-texto);
	padding: 0 4px;
	border-radius: 3px;
	font-weight: 600;
}

footer {
	border-top: 1px solid var(--borde);
	padding-top: 16px;
	padding-bottom: 32px;
	color: var(--suave);
	font-size: 0.9rem;
}
footer nav a { margin-right: 16px; display: inline-block; }

@media (max-width: 480px) {
	body { font-size: 16px; }
	h1 { font-size: 1.45rem; }
	th, td { padding: 6px 4px; }
}
