:root{--bg: #0b0d11;--surface: #171a21;--surface2: #232833;--border: #2e3542;--text: #f2f4f7;--muted: #b3bccb;--accent: #5b93ff;--ok: #2fd06a;--warn: #ffc043;--danger: #ff6b6d;--tap: 48px;--gap: 10px;--radius: 14px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;overscroll-behavior:none}#app{height:100%}main{min-height:100%;display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));max-width:560px;margin:0 auto}.item-price,.item-subtotal,.item-qty,.total strong,.option-price,.planned small,.history strong{font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;background:var(--surface2);border:none;border-radius:var(--radius);padding:12px 16px;min-height:var(--tap);cursor:pointer;touch-action:manipulation;transition:background-color .18s ease,opacity .18s ease}button:disabled{opacity:.4;cursor:default}button:not(:disabled):active{background:var(--border)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);padding:0}.icon{display:block;flex-shrink:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.home{justify-content:center;gap:var(--gap);text-align:center}.home h1{font-size:2rem;letter-spacing:-.02em}.subtitle{color:var(--muted);margin-bottom:6px}.store-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}.store{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:14px;background:var(--surface);background:linear-gradient(160deg,color-mix(in srgb,var(--marca) 14%,var(--surface)),var(--surface) 65%);border:1px solid var(--border);box-shadow:inset 0 1px #ffffff0d;text-align:left;font-size:1.0625rem;font-weight:600;line-height:1.25}.store:not(:disabled):active{background:var(--surface2);border-color:var(--marca)}.store-marca{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--marca);color:var(--marca-tinta);font-size:1.05rem;font-weight:800;letter-spacing:-.03em}.resume{background:var(--accent);color:#07204d;font-weight:700;margin-top:6px}.home-links{display:flex;gap:var(--gap);margin-top:4px}.home-links .link{flex:1}.link{background:var(--surface);color:var(--muted);font-size:.95rem}button:has(>.icon){display:inline-flex;align-items:center;justify-content:center;gap:8px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;font-weight:600}.topbar-toggle{padding:12px 14px;font-size:.95rem}.topbar-spacer{width:var(--tap)}.scanner{position:relative;border-radius:12px;overflow:hidden;background:#000;aspect-ratio:4 / 3;max-height:34vh}.scanner video{width:100%;height:100%;object-fit:cover}.scanner-guia{position:absolute;top:18%;right:12%;bottom:18%;left:12%;pointer-events:none}.scanner-guia span{position:absolute;width:26px;height:26px;border:3px solid rgba(255,255,255,.9)}.scanner-guia span:nth-child(1){top:0;left:0;border-right:0;border-bottom:0;border-radius:6px 0 0}.scanner-guia span:nth-child(2){top:0;right:0;border-left:0;border-bottom:0;border-radius:0 6px 0 0}.scanner-guia span:nth-child(3){bottom:0;left:0;border-right:0;border-top:0;border-radius:0 0 0 6px}.scanner-guia span:nth-child(4){bottom:0;right:0;border-left:0;border-top:0;border-radius:0 0 6px}.scanner-guia:after{content:"";position:absolute;top:50%;left:8%;right:8%;height:2px;background:var(--danger);opacity:.85}.scanner-linterna{position:absolute;right:10px;bottom:10px;width:var(--tap);height:var(--tap);display:flex;align-items:center;justify-content:center;padding:0;background:#0000008c;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:50%}.scanner-linterna.encendida{background:var(--warn);color:#241a00;border-color:var(--warn)}.aviso{position:sticky;bottom:96px;align-self:center;max-width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:10px 16px;font-size:.9rem;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;z-index:5;animation:aviso-entra .18s ease}.aviso-deshacer{display:flex;align-items:center;gap:12px;white-space:normal;border-radius:14px;padding:8px 8px 8px 14px}.aviso-deshacer span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.aviso-deshacer button{background:var(--accent);color:#07204d;font-weight:600;font-size:.9rem;padding:10px 14px;min-height:44px}@keyframes aviso-entra{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.scanner-off,.scanner-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);padding:16px;text-align:center}.scanner-error{color:var(--warn)}.items{list-style:none;flex:1;overflow-y:auto;margin:12px 0 0}.items .empty{color:var(--muted);text-align:center;padding:32px 0}.item{background:var(--surface);border-radius:var(--radius);padding:10px 12px 8px;margin-bottom:var(--gap)}.item-info{display:block;width:100%;text-align:left;background:none;border-radius:8px;padding:2px 0 6px;min-height:0;cursor:pointer}.item-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;font-size:1rem}.item-price{display:block;color:var(--muted);font-size:.875rem;margin-top:2px}.item-notfound .item-price{color:var(--warn)}.item-cambio{margin-left:8px;font-size:.8rem;padding:1px 7px;border-radius:999px;white-space:nowrap}.item-cambio-subio{color:var(--warn);background:#ffc04324}.item-cambio-bajo{color:var(--ok);background:#2fd06a24}.item-pending{opacity:.6}.item-controls{display:flex;align-items:center;gap:var(--gap);border-top:1px solid var(--border);padding-top:6px}.item-controls button{background:var(--surface2)}.item-qty{min-width:28px;text-align:center;font-size:1.05rem;font-weight:600}.item-subtotal{flex:1;text-align:right;font-weight:700;font-size:1.05rem}.item-remove{background:none;color:var(--danger)}.totalbar{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px;margin-top:var(--gap);display:flex;flex-direction:column;gap:var(--gap);box-shadow:0 -8px 24px #00000073}.total{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 4px}.total span{color:var(--muted);font-size:.9rem}.total strong{font-size:2.125rem;line-height:1.1;letter-spacing:-.02em}.totalbar-actions{display:flex;gap:var(--gap)}.totalbar-actions button{flex:1}.finish{background:var(--ok);color:#06240f;font-weight:700}.manual{background:var(--surface2)}.offline{background:var(--warn);color:#000;border-radius:8px;padding:8px 12px;margin-bottom:8px;text-align:center;font-size:.9rem}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}.dialog{background:var(--surface);border-radius:16px;padding:20px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px}.dialog label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.9rem}.dialog-codigo{background:var(--surface2);border-radius:10px;padding:10px 12px;color:var(--muted);font-size:.85rem;line-height:1.5}.dialog-codigo strong{color:var(--text);font-variant-numeric:tabular-nums}.dialog-buscar{display:flex;gap:8px;align-items:stretch}.dialog-buscar input{flex:1;min-width:0}.dialog-nota{color:var(--muted);font-size:.85rem}.dialog-opciones{display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow-y:auto}.dialog-opciones .option{display:flex;align-items:center;gap:10px;text-align:left;background:var(--surface2);padding:8px 10px;width:100%}.dialog-opciones .option img{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:6px;flex-shrink:0}.dialog-row{display:flex;gap:var(--gap)}.dialog-row label{flex:1;min-width:0}.dialog input{font:inherit;color:var(--text);background:var(--surface2);border:1px solid #333a48;border-radius:8px;padding:10px 12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.dialog-actions .primary{background:var(--accent);font-weight:600}.paste textarea{flex:1;min-height:40vh;font:inherit;color:var(--text);background:var(--surface);border:1px solid #333a48;border-radius:12px;padding:12px;resize:vertical}.paste .hint{color:var(--muted);font-size:.9rem;margin:12px 0 8px;line-height:1.5}.paste .hint-clave{background:var(--surface);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:10px 12px;margin-top:0}.paste .hint-clave strong{color:var(--text)}.paste .primary{background:var(--accent);font-weight:600;margin-top:12px}.pick .line{background:var(--surface);border-radius:12px;padding:12px;margin-bottom:12px}.pick .line-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.pick .line-raw{font-weight:600}.pick .line-tag{color:var(--muted);font-size:.8rem;border:1px solid #333a48;border-radius:999px;padding:2px 8px;white-space:nowrap}.pick .options{display:flex;flex-direction:column;gap:6px}.pick .option{display:flex;align-items:center;gap:10px;text-align:left;background:var(--surface2);padding:8px 10px;width:100%}.pick .option.selected{outline:2px solid var(--accent)}.pick .option img{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:6px;flex-shrink:0}.pick .option-text{flex:1;min-width:0}.pick .option-name{display:block;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick .option-meta{color:var(--muted);font-size:.8rem}.pick .option-price{font-weight:600;white-space:nowrap}.pick .line-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pick .line-actions button{font-size:.85rem;padding:6px 10px}.pick .searching,.pick .none{color:var(--muted);font-size:.9rem;padding:4px 0;line-height:1.45}.pick .none{color:var(--warn)}.pick .none strong{color:var(--text)}.line-editar{display:flex;gap:8px;margin:8px 0 4px}.line-editar input{flex:1;min-width:0;font:inherit;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.pick .qty{display:flex;align-items:center;gap:6px;margin-left:auto}.pick .qty button{padding:4px 10px}.planned{background:var(--surface);border-radius:12px;margin-bottom:8px}.planned summary{cursor:pointer;padding:10px 12px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:8px}.planned ul{list-style:none;padding:0 12px 10px}.planned li{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid #2a2f3b}.planned .planned-name{flex:1;min-width:0;font-size:.925rem;line-height:1.35}.planned .planned-name small{display:block;color:var(--muted);font-size:.8rem}.planned .planned-done{opacity:.5;text-decoration:line-through}.planned-take{padding:10px 12px;font-size:.85rem;white-space:nowrap}.planned-check{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);color:var(--ok)}.history ul{list-style:none}.history li{margin-bottom:8px}.history details{background:var(--surface);border-radius:12px;padding:12px}.history summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}.history .detail{margin-top:10px;color:var(--muted);font-size:.9rem}.history .detail li{margin-bottom:4px}.history .empty{color:var(--muted);text-align:center;padding:24px 0}
