:root{--azul:#0f2a52;--azul2:#1c4a94;--laranja:#f78f1c;--bg:#eef1f6;--card:#fff;--tx:#17202e;--mut:#66748a;--bd:#d9dfe9;--ok:#178a4a;--err:#c0392b}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;overscroll-behavior:none}
body{font:17px/1.35 system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--tx);user-select:none;-webkit-user-select:none}
input{user-select:text;-webkit-user-select:text}
#app{min-height:100%;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.top{background:var(--azul);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:12px}
.top h1{flex:1;margin:0;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top button{background:rgba(255,255,255,.16);color:#fff;border:0;border-radius:10px;padding:10px 14px;font-size:15px}
.pad{padding:16px;flex:1}
.home{display:flex;flex-direction:column;gap:14px;flex:1;padding:24px 18px;justify-content:center}
.logo{text-align:center;margin-bottom:8px}
.logo b{display:block;font-size:30px;color:var(--azul)}.logo span{color:var(--mut);font-size:15px}
.big{border:0;border-radius:16px;padding:22px 18px;font-size:21px;font-weight:700;text-align:left;display:flex;align-items:center;gap:14px;color:#fff;background:var(--azul2);box-shadow:0 2px 6px #0002}
.big small{display:block;font-weight:400;font-size:14px;opacity:.85;margin-top:2px}
.big .ic{font-size:30px}
.big.laranja{background:var(--laranja);color:#1b1206}
.big.claro{background:var(--card);color:var(--azul);border:1px solid var(--bd);box-shadow:none}
.big.perigo{background:transparent;color:var(--err);border:1px solid var(--err);box-shadow:none;font-size:17px;padding:14px 18px}
.big[disabled]{opacity:.4}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:14px;margin-bottom:12px}
label{display:block;font-size:13px;color:var(--mut);margin-bottom:4px}
input{width:100%;padding:14px;font-size:20px;border:1px solid var(--bd);border-radius:12px;background:#fff;color:var(--tx)}
.btn{border:0;border-radius:12px;padding:14px 18px;font-size:18px;font-weight:700;background:var(--azul2);color:#fff}
.btn.ok{background:var(--ok)}.btn.lar{background:var(--laranja);color:#1b1206}.btn.g{background:transparent;color:var(--azul2);border:1px solid var(--azul2)}
.btn.d{background:transparent;color:var(--err);border:1px solid var(--err)}
.row{display:flex;gap:10px}.row>*{flex:1}
.cam{position:relative;background:#000;border-radius:14px;overflow:hidden;height:34vh;min-height:190px;margin-bottom:12px}
.cam video{width:100%;height:100%;object-fit:cover}
.cam .mira{position:absolute;left:12%;right:12%;top:38%;bottom:38%;border:2px solid #ffffffcc;border-radius:10px;box-shadow:0 0 0 999px #0005;pointer-events:none}
.cam .msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;padding:16px}
.prod{display:flex;gap:12px;align-items:center}
.prod img,.prod .sf{width:84px;height:84px;border-radius:10px;object-fit:contain;background:#f2f4f8;flex:none;border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:30px}
.prod .d{font-weight:700;font-size:18px;line-height:1.2}
.prod .m{color:var(--mut);font-size:14px;margin-top:3px}
.tag{display:inline-block;background:#e6efff;color:var(--azul2);border-radius:8px;padding:2px 8px;font-size:14px;font-weight:700}
.tag.w{background:#fff1dc;color:#8a4b00}
.qrow{display:flex;gap:10px;align-items:end;margin-top:12px}
.qrow .q{flex:1}.qrow .btn{padding:16px 24px;font-size:20px}
.conv{font-size:14px;color:var(--mut);margin-top:6px}
.item{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--bd)}
.item:last-child{border:0}.item .i{flex:1;min-width:0}
.item .t{font-weight:600;font-size:12.5px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
.item .s{font-size:11px;color:var(--mut);margin-top:1px}
.item .n{font-size:16px;font-weight:800;text-align:right;min-width:40px;white-space:nowrap;line-height:1.1}
.item .n small{display:block;font-size:10px;font-weight:400;color:var(--mut)}
.item{gap:8px;padding:9px 0}
.item .x{font-size:18px;padding:4px 6px}
.x{background:none;border:0;color:var(--err);font-size:22px;padding:6px 8px}
.stats{display:flex;gap:10px;margin-bottom:12px}.stats div{flex:1;background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:8px;text-align:center;font-size:13px;color:var(--mut)}
.stats b{display:block;font-size:22px;color:var(--tx)}
.vazio{text-align:center;color:var(--mut);padding:24px 8px}
.err{color:var(--err);font-size:15px;margin:8px 0}
.sheet{position:fixed;inset:0;background:#000a;display:flex;align-items:flex-end;z-index:9}
.sheet>div{background:var(--card);width:100%;border-radius:18px 18px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));max-height:80vh;overflow:auto}
.sheet h3{margin:0 0 12px}
.esc{width:100%;text-align:left;border:1px solid var(--bd);background:#fff;border-radius:12px;padding:12px;margin-bottom:8px;font-size:16px}
#toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#111e;color:#fff;padding:12px 18px;border-radius:24px;font-size:15px;opacity:0;transition:.2s;pointer-events:none;z-index:20;max-width:90%;text-align:center}
#toast.on{opacity:1}
.copia{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#e6efff;border:1px solid #b9cdf0;border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:14px;line-height:1.3}
.copia span{color:var(--mut);font-size:12.5px}
.lei{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ok);margin-bottom:10px}
.pulso{width:12px;height:12px;border-radius:50%;background:var(--ok);animation:p 1.4s infinite}@keyframes p{50%{opacity:.25}}
#man{background:#f2f4f8;text-align:center;letter-spacing:1px}
.bad{background:#fdeceb!important;border-color:var(--err)!important}
.flash{animation:fl .6s}@keyframes fl{from{background:#c9f0d8}}
