:root{--rojo:#B22B24;--amarillo:#E5AE35;--gris:#58585A;--fondo:#f4f5f7}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--fondo);color:#222}.contenedor{max-width:980px;margin:30px auto;padding:16px}.card{background:#fff;border-radius:18px;padding:32px;box-shadow:0 8px 24px rgba(0,0,0,.12)}h1{color:var(--rojo);margin:0}.subtitulo{color:var(--gris);margin:6px 0 28px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.full{grid-column:1/-1}h2{margin-top:32px;color:var(--rojo);border-bottom:2px solid var(--amarillo);padding-bottom:8px}label{display:block;font-weight:bold;margin-top:12px}input,select,textarea{width:100%;padding:12px;margin-top:6px;border:1px solid #ccc;border-radius:8px;font-size:15px}textarea{min-height:85px}.check{font-weight:normal;display:flex;gap:8px;align-items:flex-start}.check input{width:auto;margin-top:3px}button,.btn{display:inline-block;margin-top:18px;padding:12px 20px;border:0;border-radius:8px;font-weight:bold;cursor:pointer;text-decoration:none}.btn-principal{background:var(--rojo);color:#fff;width:100%;font-size:17px}.btn-secundario{background:var(--amarillo);color:#111}.btn-gris{background:#eee;color:#222}canvas{width:100%;max-width:520px;height:180px;border:2px dashed #999;border-radius:8px;background:#fff;margin-top:8px}.alerta{padding:12px;border-radius:8px;margin-top:14px;background:#fff7e0}.ok{color:#157347;font-weight:bold}.error{color:#b02a37;font-weight:bold}.badge{padding:5px 9px;border-radius:16px;background:#eee}table{width:100%;border-collapse:collapse;margin-top:15px}th,td{padding:10px;border-bottom:1px solid #ddd;text-align:left}th{background:#f7f7f7}@media(max-width:760px){.grid{grid-template-columns:1fr}.card{padding:20px}}.referencias-grid {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(280px, 1fr)
    );
    gap: 22px;
    margin-top: 20px;
}

.referencia-card {
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 22px;
    background: #fafafa;
}

.referencia-card h3 {
    color: #B22B24;
    margin-top: 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #E5AE35;
}

.referencia-card label {
    display: block;
    margin-top: 14px;
}
.visor-politica {
    width: 100%;
    height: 420px;
    margin-top: 10px;
    border: 1px solid #cccccc;
    border-radius: 9px;
    overflow: hidden;
    background: #f5f5f5;
}

.visor-politica iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.mensaje-scroll-politicas {
    margin-top: 8px;
    color: #B22B24;
    font-size: 13px;
    font-weight: bold;
}

.mensaje-scroll-politicas.ok {
    color: #2e7d32;
}