.adm{padding-bottom:84px}
.abar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bar);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.abar img{background:#fff;border-radius:6px;padding:2px 6px;height:34px;width:auto}
.demo{flex:1;font-size:.75rem;color:var(--mute)}
#view{max-width:620px;margin:0 auto;padding:20px 16px}
.tabbar{position:fixed;inset:auto 0 0 0;display:flex;justify-content:center;gap:6px;padding:10px;background:var(--bar);border-top:1px solid var(--line);z-index:20}
.tabbar button{flex:1;max-width:200px;border:0;background:none;color:var(--mute);padding:10px 6px;border-radius:14px;cursor:pointer;font-size:.95rem}
.tabbar button.on{background:var(--glow2);color:#fff;font-weight:700}
.tabbar b{background:#fff;color:var(--glow2);border-radius:999px;padding:0 7px;font-size:.8rem;margin-inline-start:4px}
h2.ttl{font-size:1.5rem;margin-bottom:6px}
.sub{color:var(--mute);margin-bottom:20px}
.cam{display:grid;place-items:center;gap:14px;text-align:center;border:2px dashed rgba(255,74,79,.5);border-radius:28px;padding:44px 20px;background:radial-gradient(circle at 50% 40%,rgba(255,74,79,.18),transparent 70%);cursor:pointer;min-height:300px}
.cam .ic{width:92px;height:92px;border-radius:50%;background:var(--glow2);display:grid;place-items:center;box-shadow:0 0 0 10px rgba(255,74,79,.15),0 0 60px rgba(255,74,79,.5);animation:pulse 2.6s ease-in-out infinite}
.cam .ic svg{width:44px;height:44px}
@keyframes pulse{50%{box-shadow:0 0 0 18px rgba(255,74,79,.08),0 0 80px rgba(255,74,79,.6)}}
.cam strong{font-size:1.3rem}
.shot{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px;background:#fff}
.scan{position:relative;overflow:hidden;border-radius:20px}
.scan::after{content:"";position:absolute;inset:0 0 auto 0;height:40%;background:linear-gradient(transparent,rgba(255,74,79,.55),transparent);animation:sweep 1.2s linear infinite}
@keyframes sweep{from{transform:translateY(-100%)}to{transform:translateY(260%)}}
.fld{display:grid;gap:12px;margin:18px 0}
.sw{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--night2);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:10px}
.sw small{display:block;color:var(--mute)}
.tg{width:52px;height:30px;border-radius:999px;background:#3a2a2c;border:0;position:relative;cursor:pointer;flex:none;transition:background .2s}
.tg::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:inset-inline-start .2s}
.tg.on{background:#2fa66a}.tg.on::after{inset-inline-start:25px}
.pv{display:grid;gap:14px;margin:16px 0}
.card{background:var(--night2);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.card .h{display:flex;align-items:center;gap:8px;padding:10px 14px;font-weight:700;font-size:.9rem;color:var(--mute)}
.card img{width:100%;aspect-ratio:1;object-fit:cover;background:#fff;display:block}
.card .t{padding:12px 14px;white-space:pre-line;font-size:.92rem}
.steps2{display:grid;gap:12px;margin:22px 0}
.st2{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:var(--night2);border:1px solid var(--line);opacity:.45;transition:.3s}
.st2.on{opacity:1;border-color:#2fa66a}
.st2 i{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-style:normal;font-size:.9rem}
.st2.on i{background:#2fa66a;border-color:#2fa66a;color:#fff}
.big{width:100%;padding:16px;font-size:1.05rem}
.ord{background:var(--night2);border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:12px}
.ord .r{display:flex;justify-content:space-between;gap:10px;align-items:center}
.badge{font-size:.8rem;padding:3px 12px;border-radius:999px;border:1px solid var(--line)}
.badge.new{background:var(--glow2);border-color:var(--glow2);color:#fff}.badge.sent{border-color:#e0b24a;color:#e0b24a}.badge.done{border-color:#2fa66a;color:#2fa66a}
.ord ul{margin:8px 0;padding-inline-start:18px;color:var(--mute);font-size:.92rem}
.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.acts .btn{padding:9px 16px;font-size:.9rem}
.msg{background:var(--night2);border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:12px}
.bub{padding:9px 13px;border-radius:14px;margin:6px 0;max-width:88%;font-size:.92rem}
.bub.c{background:#2a1a1c}.bub.a{background:rgba(47,166,106,.18);border:1px solid rgba(47,166,106,.4);margin-inline-start:auto}
.empty2{color:var(--mute);text-align:center;padding:40px 0}
.stop{border-color:rgba(255,74,79,.5)}
select{background:var(--field);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--paper);font:inherit}
input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{display:none}

.tabbar button{padding:10px 4px;font-size:.88rem}
.samples{display:flex;gap:10px}.sm{width:64px;height:64px;border-radius:14px;border:1px solid var(--line);padding:0;overflow:hidden;cursor:pointer;background:#fff}.sm img{width:100%;height:100%;object-fit:cover}
.chips{display:grid;gap:8px;margin-top:14px}.chip{background:var(--night2);border:1px solid var(--glow);border-radius:12px;padding:10px 14px;animation:pop .35s}.chip b{color:var(--glow);margin-inline-end:8px}
@keyframes pop{from{opacity:0;transform:translateY(10px)}}
.ai{color:var(--glow);margin:14px 0 0;font-weight:700}
.card.tt .vert{position:relative;aspect-ratio:9/16;max-height:420px;margin:0 auto;border-radius:12px;overflow:hidden}.card.tt .vert img{height:100%;aspect-ratio:auto;object-fit:cover}.card.tt .ov{position:absolute;inset:auto 0 0 0;padding:44px 14px 14px;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;white-space:pre-line;font-weight:700}
.badge.ws{border-color:#e0b24a;color:#e0b24a;margin-inline-start:6px}
.lg{margin:8px 0;padding:10px 12px;border-radius:12px;background:rgba(47,166,106,.12);border:1px solid rgba(47,166,106,.35);font-size:.88rem;color:#8fd6a5;display:grid;gap:4px}
.seg{display:flex;gap:8px;margin-bottom:12px}.seg button{flex:1;border:1px solid var(--line);background:none;color:var(--paper);padding:11px 6px;border-radius:999px;cursor:pointer;font:inherit}.seg button.on{background:var(--paper);color:var(--night);font-weight:700}
.npv{background:var(--night2);border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:6px}.npv.wa{border-color:rgba(47,166,106,.5)}.nh{font-size:.8rem;color:var(--mute);margin-bottom:6px}.nb{white-space:pre-line;font-size:.95rem}
#toast{position:fixed;inset:12px 16px auto 16px;z-index:60;background:#fff;color:#1a0d0e;padding:14px 18px;border-radius:16px;font-weight:700;box-shadow:0 10px 40px rgba(0,0,0,.5);transform:translateY(-140%);transition:transform .35s}#toast.on{transform:none}
.led{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.led div{background:var(--field);border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.led b{display:block;font-size:1.05rem}.led small{color:var(--mute)}
.lrow{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.lrow .lt small{display:block;color:var(--mute)}.lst{font-size:.78rem;padding:3px 10px;border-radius:999px;border:1px solid var(--line);justify-self:end}
.lst.sent{border-color:#e0b24a;color:#e0b24a}.lst.done{border-color:#3cb371;color:#3cb371}.lb{grid-column:1/-1;display:flex;gap:8px}.btn.sm{padding:6px 14px;font-size:.85rem}
.docsel{background:var(--field);color:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 12px;font:inherit;font-size:.85rem;max-width:100%}
