/* AB Auditoría Web — herramienta pública. Hereda tipografía del tema; colores sobrescribibles con --ab-aw-*. */
.ab-aw-front, .ab-aw-mini {
	--ab-aw-texto: #18181b;
	--ab-aw-suave: #52525b;
	--ab-aw-borde: #d4d4d8;
	--ab-aw-fondo: #f4f4f5;
	--ab-aw-acento: #18181b;
	--ab-aw-acento-texto: #ffffff;
	--ab-aw-verde: #15803d;
	--ab-aw-ambar: #b45309;
	--ab-aw-rojo: #b91c1c;
	--ab-aw-radio: 6px;
}
.ab-aw-front { color: var(--ab-aw-texto); max-width: 760px; margin: 0 auto; }
.ab-aw-front *, .ab-aw-mini * { box-sizing: border-box; }
.ab-aw-front label { display: block; font-weight: 500; }
.ab-aw-front input[type=text], .ab-aw-front input[type=email], .ab-aw-front input[type=tel], .ab-aw-front select, .ab-aw-mini input {
	width: 100%; padding: 12px 14px; border: 1px solid var(--ab-aw-borde); border-radius: var(--ab-aw-radio); font: inherit; background: #fff; color: var(--ab-aw-texto);
}
.ab-aw-front input:focus, .ab-aw-front select:focus, .ab-aw-mini input:focus { outline: 2px solid var(--ab-aw-acento); outline-offset: 1px; }
.ab-aw-front button, .ab-aw-mini button {
	background: var(--ab-aw-acento); color: var(--ab-aw-acento-texto); border: 0; border-radius: var(--ab-aw-radio);
	padding: 12px 20px; font: inherit; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.ab-aw-front button[disabled] { opacity: .6; cursor: default; }
.ab-aw-linea, .ab-aw-mini { display: flex; gap: 8px; margin: 6px 0 12px; }
.ab-aw-check { display: flex !important; gap: 8px; align-items: flex-start; font-weight: 400 !important; font-size: .95em; margin: 8px 0; }
.ab-aw-check input { margin-top: .3em; flex: none; }
.ab-aw-hp, .ab-aw-oculto { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ab-aw-error { color: var(--ab-aw-rojo); font-weight: 500; margin: 8px 0; }
.ab-aw-msg { background: var(--ab-aw-fondo); padding: 16px; border-radius: var(--ab-aw-radio); }
.ab-aw-progreso { padding: 24px 0; }
.ab-aw-barra { height: 8px; background: var(--ab-aw-fondo); border-radius: 99px; overflow: hidden; }
.ab-aw-barra span { display: block; height: 100%; width: 0; background: var(--ab-aw-acento); transition: width .4s ease; }
.ab-aw-estado-paso { color: var(--ab-aw-suave); margin-top: 8px; }
.ab-aw-cabecera-res { display: flex; justify-content: space-between; align-items: center; gap: 16px; border: 1px solid var(--ab-aw-borde); border-radius: var(--ab-aw-radio); padding: 16px 20px; }
.ab-aw-dom-res { font-size: 1.4em; font-weight: 700; margin: 0; word-break: break-all; }
.ab-aw-resumen-res { color: var(--ab-aw-suave); margin: 4px 0 0; }
.ab-aw-nota { font-size: 2.6em; font-weight: 800; line-height: 1; white-space: nowrap; }
.ab-aw-nota small { font-size: .35em; font-weight: 400; color: var(--ab-aw-suave); }
.ab-aw-nota.ab-aw-verde span { color: var(--ab-aw-verde); }
.ab-aw-nota.ab-aw-ambar span { color: var(--ab-aw-ambar); }
.ab-aw-nota.ab-aw-rojo span { color: var(--ab-aw-rojo); }
.ab-aw-cats { list-style: none; margin: 12px 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px; }
.ab-aw-cats li { display: flex; align-items: center; gap: 8px; background: var(--ab-aw-fondo); border-radius: var(--ab-aw-radio); padding: 10px 12px; margin: 0; }
.ab-aw-cats li strong { margin-left: auto; }
.ab-aw-punto { width: 10px; height: 10px; border-radius: 50%; flex: none; background: var(--ab-aw-suave); }
.ab-aw-cats .ab-aw-verde .ab-aw-punto { background: var(--ab-aw-verde); }
.ab-aw-cats .ab-aw-ambar .ab-aw-punto { background: var(--ab-aw-ambar); }
.ab-aw-cats .ab-aw-rojo .ab-aw-punto { background: var(--ab-aw-rojo); }
.ab-aw-top { margin: 0 0 24px; padding-left: 1.2em; }
.ab-aw-top li { margin: 0 0 12px; padding-left: 4px; }
.ab-aw-top li strong { display: block; }
.ab-aw-top li span { color: var(--ab-aw-suave); }
.ab-aw-top .ab-aw-e-grave::marker { color: var(--ab-aw-rojo); font-weight: 700; }
.ab-aw-top .ab-aw-e-aviso::marker { color: var(--ab-aw-ambar); font-weight: 700; }
.ab-aw-paso2 { border: 1px solid var(--ab-aw-borde); border-radius: var(--ab-aw-radio); padding: 20px; background: #fff; }
.ab-aw-paso2 h3 { margin-top: 0; }
.ab-aw-rejilla { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 12px 0; }
.ab-aw-rejilla label { display: flex; flex-direction: column; gap: 4px; }
.ab-aw-wp { border: 0; padding: 0; margin: 8px 0; }
.ab-aw-wp legend { font-weight: 500; padding: 0; margin-bottom: 4px; }
.ab-aw-wp label { display: inline-flex; gap: 6px; margin-right: 16px; font-weight: 400; }
.ab-aw-capa { font-size: .8em; color: var(--ab-aw-suave); margin: 8px 0 16px; }
.ab-aw-gracias { background: var(--ab-aw-fondo); border-radius: var(--ab-aw-radio); padding: 20px; font-weight: 500; }
.ab-aw-legal { font-size: .8em; color: var(--ab-aw-suave); margin-top: 16px; }
.ab-aw-informe { max-width: 720px; margin: 0 auto; }
@media (max-width: 600px) {
	.ab-aw-linea, .ab-aw-mini { flex-direction: column; }
	.ab-aw-rejilla { grid-template-columns: 1fr; }
	.ab-aw-cabecera-res { flex-direction: column; align-items: flex-start; }
}
