*{box-sizing:border-box}
body{margin:0;font:18px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1d2430;background:#fafaf7}
header,main{max-width:760px;margin:0 auto;padding:0 20px}
header{padding-top:24px}
main{padding-bottom:3rem}
.vol{color:#5b6573;text-decoration:none;font-size:15px}
.vol:hover{text-decoration:underline}
h1{font-size:2rem;line-height:1.2;margin:1.4rem 0 .8rem}
h2{font-size:1.35rem;line-height:1.3;margin:2rem 0 .6rem}
.intro{color:#5b6573}
.aviso{background:#eef6f2;border:1px solid #cfe5db;border-radius:10px;padding:.8rem 1rem;font-size:.95rem}
a{color:#0b6b4f}
:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}
.fuera{position:fixed;left:-9999px;top:0}
.nota{font-size:.88rem;color:#5b6573;margin:.2rem 0 .8rem}

.barra{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
button,.boton{font:inherit;font-weight:600;color:#fff;background:#0b6b4f;border:2px solid #0b6b4f;border-radius:10px;padding:.7rem 1.1rem;cursor:pointer;text-decoration:none;display:inline-block;min-height:44px}
button.sec{color:#0b6b4f;background:#fff}
button:hover,.boton:hover{filter:brightness(.95)}
button.mini{font-size:.85rem;padding:.35rem .6rem;min-height:36px}
button.quitar{color:#a02121;border-color:#a02121}

form{display:grid;gap:1.2rem;margin:1.2rem 0}
fieldset{border:1px solid #e3e6eb;border-radius:12px;background:#fff;padding:1rem 1.2rem 1.2rem;margin:0;min-width:0}
legend{font-weight:700;padding:0 .4rem}
label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem;margin:.6rem 0}
input[type=text],textarea{font:inherit;font-weight:400;padding:.7rem .8rem;border:1px solid #c9ced6;border-radius:10px;width:100%;background:#fff;color:inherit}
textarea{resize:vertical}
#texto{font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f4f5f7}

.filas{list-style:none;margin:0 0 .8rem;padding:0;display:grid;gap:.8rem}
.fila{border:1px solid #e3e6eb;border-radius:10px;padding:.7rem .8rem;background:#fafaf7;display:grid;gap:.4rem}
.fila .cab{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.fila .num{font-weight:700;color:#0b6b4f;min-width:4.2rem}
.fila .botones{display:flex;gap:.4rem;flex-wrap:wrap;margin-left:auto}
.fila label{margin:.1rem 0}

.estado{min-height:1.5em;margin:.4rem 0;font-weight:600;color:#0b6b4f}

.hoja{background:#fff;border:1px solid #e3e6eb;border-radius:12px;padding:1.2rem 1.4rem;margin-top:1rem}
.hoja h2{margin-top:0}
.h-titulo{font-size:1.25rem;font-weight:700;margin:0 0 .2rem}
.h-meta{color:#5b6573;font-size:.95rem;margin:0 0 1rem}
.caja{border:2px solid #0b6b4f;border-radius:10px;padding:.6rem .9rem;background:#fff;break-inside:avoid}
.caja.entrada,.caja.salida{background:#eef6f2}
.caja .rotulo{display:block;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#0b6b4f;font-weight:700}
.caja .texto{display:block;overflow-wrap:anywhere}
.caja .rol{display:inline-block;margin-top:.3rem;font-size:.82rem;background:#e8ecf1;border-radius:99px;padding:.05rem .6rem;color:#38424f}
.vacio{color:#8a93a0;font-style:italic}
.flecha{text-align:center;color:#0b6b4f;font-size:1.3rem;line-height:1.1;margin:.15rem 0}
.exc{margin-top:1.4rem}
.exc h3{font-size:1rem;margin:0 0 .5rem}
.exc .caja{border-color:#b86b00;margin-bottom:.5rem}
.exc .caja .rotulo{color:#b86b00}
.pie-hoja{font-size:.8rem;color:#8a93a0;margin:1.2rem 0 0}

.cta{background:#eef6f2;border:1px solid #cfe5db;border-radius:12px;padding:0 1.4rem 1.2rem;margin-top:2rem}

@media (max-width:520px){
  body{font-size:17px}
  h1{font-size:1.65rem}
  .fila .botones{margin-left:0;width:100%}
  fieldset{padding:.8rem .9rem 1rem}
}

@media print{
  body{background:#fff;font-size:12pt;color:#000}
  .sin-imprimir{display:none !important}
  header,main{max-width:none;padding:0}
  .hoja{border:0;padding:0;margin:0}
  .caja{border-color:#000 !important}
  .caja.entrada,.caja.salida{background:#fff}
  .caja .rotulo{color:#000 !important}
  .flecha{color:#000}
  .pie-hoja{color:#555}
}
