/* Blezza — estilos compartidos (celular primero) */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{--rosa:#213846;--rosa-2:#e8e1d7;--petroleo:#275360;--crema:#e8e1d7;--cafe:#654026;--tinta:#241b2c;--tinta-2:#6b6273;--tinta-3:#968da0;--borde:#e6e2e9;--bg:#f4f5f8;--verde:#0d8a5f;--verde-2:#dff3ea;--rojo:#d7301f;--rojo-2:#fdeceb;--ambar:#b07a00;--ambar-2:#fdf3dc;--r:16px}
html{font-size:16px}
body,input,select,textarea,button{font-family:Inter,-apple-system,"Segoe UI",Roboto,sans-serif}
body{background:var(--bg);color:var(--tinta);min-height:100vh;-webkit-font-smoothing:antialiased;padding-bottom:5rem}
.oculto{display:none!important}
.muted{color:var(--tinta-2);font-size:.9rem}
h1{font-size:1.5rem;font-weight:800;letter-spacing:-.4px}h2{font-size:1.15rem;font-weight:800}h3{font-size:1.02rem;font-weight:700}
.pantalla{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#f3efe8,#e8e1d7)}
.tarjeta{background:#fff;border-radius:22px;padding:1.4rem;box-shadow:0 18px 60px rgba(90,40,100,.14);width:min(420px,100%);display:flex;flex-direction:column;gap:.9rem}
.logo{font-size:1.7rem;font-weight:800;letter-spacing:-.5px;text-align:center}.logo span{color:var(--petroleo)}
.logo-img{display:block;width:min(200px,60%);height:auto;margin:0 auto .1rem}.sub-logo{text-align:center;font-weight:700;color:var(--petroleo);letter-spacing:.5px;margin-top:-.3rem}
header.top .flor{width:26px;height:auto;flex:none}
label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:700;color:var(--tinta-2)}
input,select,textarea{width:100%;padding:.8rem .9rem;border:1.5px solid #d5cfda;border-radius:14px;background:#fff;font-size:1rem;color:var(--tinta);min-height:48px}
input:focus,select:focus{outline:none;border-color:var(--rosa);box-shadow:0 0 0 3px rgba(33,56,70,.16)}
.btn{border:none;border-radius:14px;padding:.9rem 1.1rem;font-size:1rem;font-weight:800;cursor:pointer;background:var(--rosa);color:#fff;min-height:50px;transition:.12s}
.btn:active{transform:scale(.98)}.btn.sec{background:#fff;color:var(--tinta);border:1.5px solid #d5cfda}.btn.verde{background:var(--verde)}.btn.rojo{background:var(--rojo)}.btn.mini{min-height:38px;padding:.45rem .8rem;font-size:.85rem;border-radius:11px}
.btn:disabled{opacity:.5}
.fila{display:flex;gap:.6rem}.fila>*{flex:1}
.err{background:var(--rojo-2);color:var(--rojo);padding:.7rem .9rem;border-radius:12px;font-size:.9rem;font-weight:600}
.ok{background:var(--verde-2);color:var(--verde);padding:.7rem .9rem;border-radius:12px;font-size:.9rem;font-weight:600}
header.top{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--borde);padding:.7rem 1rem;display:flex;align-items:center;gap:.7rem}
header.top .tit{flex:1;min-width:0}header.top .tit b{display:block;font-size:1rem}header.top .tit small{color:var(--tinta-2);font-size:.75rem}
.tabs{display:flex;gap:.4rem;padding:.7rem 1rem 0;position:sticky;top:57px;z-index:19;background:var(--bg)}
.tabs button{flex:1;border:none;background:#fff;border-radius:14px;padding:.75rem;font-weight:800;font-size:.92rem;color:var(--tinta-2);min-height:46px}
.tabs button.activo{background:var(--rosa);color:#fff}
main{padding:.8rem 1rem;max-width:720px;margin:0 auto}
.card{background:#fff;border-radius:var(--r);padding:1rem;box-shadow:0 1px 3px rgba(30,20,50,.06);margin-bottom:.8rem}
.campo{margin-bottom:.85rem}
.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.45rem}
.chip{border:1.5px solid var(--borde);background:#fff;border-radius:999px;padding:.4rem .8rem;font-size:.85rem;font-weight:700;color:var(--tinta-2);min-height:38px}
.chip.on{background:var(--rosa-2);border-color:var(--rosa);color:var(--rosa)}
.segm{display:flex;gap:.4rem;flex-wrap:wrap}.segm button{flex:1;min-width:84px;border:1.5px solid var(--borde);background:#fff;border-radius:14px;padding:.75rem .5rem;font-weight:800;color:var(--tinta-2);min-height:48px}.segm button.on{background:var(--rosa-2);border-color:var(--rosa);color:var(--rosa)}
.precio-vivo{background:linear-gradient(135deg,#241b2c,#3b2a4a);color:#fff;border-radius:18px;padding:.9rem 1.1rem;display:flex;justify-content:space-between;align-items:center;margin:.3rem 0 .9rem}
.precio-vivo small{opacity:.75;font-size:.78rem}.precio-vivo b{font-size:1.9rem;font-variant-numeric:tabular-nums}
.codigo-grande{font-size:2.6rem;font-weight:800;letter-spacing:2px;text-align:center;font-variant-numeric:tabular-nums;color:var(--rosa)}
.resultado{border:2px solid var(--verde);background:#f3fbf7}
.lista-item{display:flex;gap:.7rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--borde)}.lista-item:last-child{border:none}
.lista-item .info{flex:1;min-width:0}.lista-item .info b{display:block;font-size:.95rem}.lista-item .info small{color:var(--tinta-2);font-size:.8rem;display:block}
.lista-item .acc{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.badge{display:inline-block;font-size:.7rem;font-weight:800;padding:.15rem .5rem;border-radius:999px;background:var(--rosa-2);color:var(--rosa)}
.badge.ok{background:var(--verde-2);color:var(--verde)}.badge.warn{background:var(--ambar-2);color:var(--ambar)}.badge.bad{background:var(--rojo-2);color:var(--rojo)}
.resumen{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:.8rem}.resumen div{background:#fff;border-radius:14px;padding:.8rem;text-align:center}.resumen b{display:block;font-size:1.4rem}.resumen small{color:var(--tinta-2);font-size:.75rem}
.modal-back{position:fixed;inset:0;background:rgba(30,15,40,.55);display:flex;align-items:flex-end;justify-content:center;z-index:50}
.modal{background:#fff;border-radius:24px 24px 0 0;padding:1.2rem 1.1rem 1.6rem;width:min(560px,100%);max-height:92vh;overflow:auto;position:relative}
.modal h3{margin-bottom:.5rem;padding-right:2rem}.modal-x{position:absolute;top:.8rem;right:.8rem;border:none;background:#f2edf5;width:38px;height:38px;border-radius:50%;font-size:1rem;font-weight:800}
@media(min-width:700px){.modal-back{align-items:center}.modal{border-radius:24px}}
#toast{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%) translateY(30px);background:#231a2c;color:#fff;padding:.8rem 1.2rem;border-radius:14px;opacity:0;transition:.25s;pointer-events:none;z-index:99;font-weight:700;max-width:92vw;font-size:.92rem}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#toast.error{background:var(--rojo)}
.skeleton{height:56px;border-radius:14px;background:linear-gradient(90deg,#efe9f2 25%,#e4dbe9 50%,#efe9f2 75%);background-size:200% 100%;animation:sh 1.2s infinite;margin-bottom:.5rem}@keyframes sh{to{background-position:-200% 0}}
