:root{--bg: #0f172a;--card: #1e293b;--text: #f8fafc;--muted: #94a3b8;--accent: #38bdf8;--success: #22c55e;--danger: #ef4444;--warn: #f59e0b;--border: #334155;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(ellipse at top,#1e293b,#0f172a 55%);min-height:100vh}button{font:inherit}.app{max-width:520px;margin:0 auto;padding:1.25rem 1rem 2.5rem}.header{text-align:center;margin-bottom:1.25rem}.header h1{margin:0;font-size:1.7rem}.header p{margin:.4rem 0 0;color:var(--muted);font-size:.95rem}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:1.1rem;margin-bottom:1rem}.btn-scan{width:100%;border:none;border-radius:16px;padding:1.15rem 1rem;font-size:1.15rem;font-weight:800;cursor:pointer;background:linear-gradient(135deg,#38bdf8,#0ea5e9);color:#0f172a;display:flex;align-items:center;justify-content:center;gap:.6rem;box-shadow:0 10px 30px #0ea5e940}.btn-scan:disabled{opacity:.55;cursor:not-allowed}.btn-scan-icon{font-size:1.4rem}.btn-ghost{width:100%;margin-top:.75rem;border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem;background:transparent;color:var(--muted);font-weight:600;cursor:pointer}.scanner-title{text-align:center;color:var(--muted);font-size:.9rem;margin-bottom:.75rem}.reader{width:100%;min-height:320px;overflow:hidden;border-radius:14px;background:#000;position:relative}.reader video{width:100%!important;border-radius:14px!important;object-fit:cover;display:block}.reader img,#reader__dashboard_section,#reader__dashboard_section_csr,#reader__header_message{display:none!important}.native-scanner{position:relative;width:100%;min-height:320px;background:#000;border-radius:14px;overflow:hidden}.native-scanner video{width:100%;height:min(62vh,460px);object-fit:cover;display:block;background:#000}.scan-controls{position:absolute;right:.65rem;bottom:.65rem;z-index:2;display:flex;gap:.4rem}.btn-torch{border:0;border-radius:999px;padding:.45rem .85rem;font-size:.8rem;font-weight:700;background:#0f172abf;color:#e2e8f0;cursor:pointer}.btn-torch.on{background:#fbbf24;color:#0f172a}.scan-status{position:absolute;left:.5rem;right:.5rem;bottom:2.6rem;z-index:2;text-align:center;font-size:.75rem;font-weight:600;color:#e2e8f0;background:#0f172ab8;border-radius:8px;padding:.35rem .5rem;pointer-events:none}.manual-row{display:flex;gap:.5rem;margin-top:.75rem}.manual-row input{flex:1;border:1px solid rgba(148,163,184,.35);background:#0f172a8c;color:#f8fafc;border-radius:10px;padding:.65rem .75rem;font-size:1rem}.manual-row button{border:0;border-radius:10px;padding:.65rem .9rem;font-weight:700;background:#38bdf8;color:#0f172a;cursor:pointer}.scan-guide{pointer-events:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90%;height:32%;max-height:140px;border:2px solid rgba(56,189,248,.95);border-radius:12px;box-shadow:0 0 0 9999px #0006;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.35rem}.scan-guide span{color:#fff;font-size:.75rem;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.8)}.scan-guide-line{position:absolute;left:8%;right:8%;top:50%;height:2px;background:#ef4444d9;box-shadow:0 0 8px #ef444499;animation:scanPulse 1.4s ease-in-out infinite}@keyframes scanPulse{0%,to{opacity:.35}50%{opacity:1}}#error,.error{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#fecaca;border-radius:12px;padding:.9rem 1rem;margin-bottom:1rem}.loading{text-align:center;color:var(--accent);padding:.75rem;margin-bottom:.5rem}.product-name{font-size:1.35rem;font-weight:800;margin:0 0 1rem;line-height:1.25}.meta{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.meta-box{background:#0f172a;border-radius:12px;padding:.85rem}.meta-box .label{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.meta-box .value{font-size:1.05rem;font-weight:700;word-break:break-all}.meta-box.discount .value{color:var(--warn);font-size:1.7rem}.prices{display:grid;gap:.75rem}.price-box{background:#0f172a;border-radius:12px;padding:1rem;text-align:center;border:1px solid var(--border)}.price-box .label{color:var(--muted);font-size:.85rem;margin-bottom:.35rem}.price-box .amount{font-size:1.65rem;font-weight:800}.price-box.before .amount{color:var(--muted)}.price-box.after{border-color:#22c55e80;background:#22c55e14}.price-box.after .amount{color:var(--success);font-size:2.05rem}.empty{text-align:center;color:var(--muted);padding:2rem 1rem;line-height:1.6}.empty .icon{font-size:2.4rem;margin-bottom:.5rem}@media (max-width: 420px){.meta{grid-template-columns:1fr}}
