:root{--naranja:#FD9800;--naranja-o:#A35F00;--noche:#0F172A;--gris:#454F5E;--crema:#FEF9E1;--borde:#E7DCC0;--rojo:#B42318;--verde:#2F6B2E;--fondo:#FAF7F0}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--noche);background:var(--fondo);line-height:1.5}
.wrap{max-width:860px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.top{background:var(--noche);color:#fff;border-bottom:4px solid var(--naranja)}
.top .wrap{display:flex;gap:12px;align-items:baseline;padding-block:14px;flex-wrap:wrap}
.marca{font-weight:700;font-size:1.05rem}.sub{color:#F9D9A6;font-size:.9rem}
main{padding-block:20px}
.card{background:#fff;border:1px solid var(--borde);border-radius:14px;padding:20px 22px;margin-bottom:16px}
.card.aviso{border-left:6px solid var(--naranja)}
.card.ok{border-left:6px solid var(--verde)}
h1{font-size:1.45rem;margin:.2em 0 .5em;text-wrap:balance}h2{font-size:1.15rem;margin:.2em 0 .5em}
.eti{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--naranja-o);margin:0}
.form{display:grid;gap:14px;max-width:520px}
.form.fila,.fila{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
label.check{display:flex;gap:10px;align-items:flex-start;font-weight:500}
input,textarea{font:inherit;padding:11px 12px;border:1px solid #C9BFA6;border-radius:10px;background:#fff;color:var(--noche);width:100%}
input[type=checkbox]{width:22px;height:22px;margin-top:2px;accent-color:var(--naranja)}
input:focus,textarea:focus{outline:3px solid #FFD8A0;border-color:var(--naranja-o)}
.btn{font:inherit;font-weight:700;background:var(--naranja);color:var(--noche);border:0;border-radius:12px;padding:12px 20px;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover{background:#E98C00}.btn:disabled{background:#E6E0D2;color:#8A8577;cursor:not-allowed}
.btn.sec{background:#fff;border:1px solid var(--naranja);color:var(--naranja-o)}
.error{color:var(--rojo);font-weight:600}
.nota{color:var(--gris);font-size:.88rem}
.visor{background:#E9E4D8;border-radius:14px;padding:12px;margin-bottom:16px;max-height:75vh;overflow:auto}
.visor canvas{display:block;width:100%;height:auto;margin:0 auto 12px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.cargando{text-align:center;color:var(--gris)}
.pad-wrap{position:relative;border:2px dashed #C9BFA6;border-radius:12px;background:#fff;height:190px;max-width:520px}
.pad-wrap canvas{width:100%;height:100%;touch-action:none;border-radius:12px}
.pad-hint{position:absolute;left:12px;bottom:8px;color:#A49C88;font-size:.8rem;pointer-events:none}
.duda{margin-top:18px}.duda summary{cursor:pointer;color:var(--naranja-o);font-weight:600}
.codigo{font-family:ui-monospace,Consolas,monospace;font-size:1.15rem;letter-spacing:.06em}
.resultado{margin-top:14px;padding:14px;border-radius:12px;background:#EEF6EC}
.pie{color:var(--gris);font-size:.82rem;padding-block:18px 30px}.pie a{color:var(--naranja-o)}
