[hidden]{display:none !important}
body{font-family:system-ui,sans-serif;margin:0;background:#f6f7f9;color:#1b1f24}
main{max-width:34rem;margin:0 auto;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(1rem,env(safe-area-inset-bottom))}
html{-webkit-text-size-adjust:100%;touch-action:manipulation}
input,select,button{font:inherit;font-size:max(16px,1rem);min-height:3rem;padding:.5rem .75rem;border-radius:.6rem;border:1px solid #9aa4af;width:100%;box-sizing:border-box;margin:.4rem 0}
button{background:#1d6fd8;color:#fff;border:0}
button.sec{background:#e3e8ee;color:#1b1f24}
button.peligro{background:#b00020}
.fila{display:flex;gap:.4rem;align-items:center}
.fila>*{margin:.2rem 0}
.fila button{width:auto;min-width:3rem;flex:none}
.fila input,.fila select{flex:1;min-width:0}
nav{display:flex;gap:.4rem}
ul{list-style:none;padding:0}li{background:#fff;padding:1rem;border-radius:.6rem;margin:.4rem 0}
.apartado{background:#fff;border-radius:.6rem;padding:.75rem;margin:.8rem 0}
.apartado h3{margin:.2rem 0}
.elemento{border-top:1px solid #e3e8ee;padding:.4rem 0}
.elemento.ultimo select{border-color:#c25b00}
#error{color:#b00020}
.pestanas{display:flex;gap:.3rem;position:sticky;top:0;background:#f6f7f9;padding:.3rem 0;z-index:1}
.pestanas button{background:#e3e8ee;color:#1b1f24;margin:0;padding:.4rem .2rem;font-size:.9rem}
.pestanas button[aria-selected=true]{background:#1d6fd8;color:#fff}
.progreso{font-weight:600;margin:.6rem 0}
.progreso.lista{color:#0a7a35}
.progreso.solo-ultimo{color:#c25b00}
.item{display:flex;gap:.4rem;align-items:center;border-top:1px solid #e3e8ee;padding:.2rem 0}
.item .marcar{flex:1;text-align:left;background:transparent;color:#1b1f24;border:1px solid #c5ccd4;margin:.2rem 0;min-height:3.2rem}
.item.hecho .marcar{text-decoration:line-through;color:#5b6570;background:#eef7f0}
.item.ultimo .marcar{border-color:#c25b00}
.item button.mini{width:auto;min-width:3rem;flex:none;margin:.2rem 0}
.editor{background:#f0f3f7;border-radius:.6rem;padding:.5rem;margin:.3rem 0}
#deshacer{position:fixed;left:0;right:0;bottom:0;background:#1b1f24;color:#fff;padding:.6rem 1rem;padding-bottom:max(.6rem,env(safe-area-inset-bottom));display:flex;gap:.6rem;align-items:center;justify-content:space-between}
#deshacer button{width:auto;margin:0}
.pendientes{font-size:.9rem;color:#8a5a00;background:#fff6e0;border-radius:.5rem;padding:.3rem .6rem;margin:.3rem 0}
