.scannerPanel{max-width:760px;margin:0 auto;padding:clamp(20px,4vw,36px)}
.scannerIntro{display:flex;gap:18px;align-items:flex-start;margin-bottom:24px}.scannerIntro h3{font-size:1.55rem;margin:3px 0 6px}.scannerIntro p{margin:0}
.scannerIcon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#fff4c9;font-size:28px;flex:0 0 auto}
.scannerOpen{width:100%;min-height:58px;font-size:1.05rem}.scannerCamera{position:relative;margin-top:20px;border-radius:20px;overflow:hidden;background:#061d32;color:#fff;text-align:center;padding-bottom:16px}
.scannerCamera video{display:block;width:100%;max-height:62vh;object-fit:cover;background:#061d32}.scannerFrame{position:absolute;left:50%;top:45%;width:min(64vw,300px);aspect-ratio:1;transform:translate(-50%,-50%);border:4px solid #ffd149;border-radius:24px;box-shadow:0 0 0 999px rgba(0,0,0,.24);pointer-events:none}
.scannerCamera p{margin:14px 16px 10px;font-weight:800}.scannerCamera .secondary{background:#fff}
.scannerResult{display:grid;gap:6px;margin-top:20px;padding:20px;border-radius:18px;border:2px solid}.scannerResult strong{font-size:1.35rem}.scannerResult span,.scannerResult small{display:block}.scannerResult .secondary{justify-self:start;margin-top:10px}
.scannerResult.success{background:#e9f9ef;border-color:#239653;color:#0d542c}.scannerResult.warning{background:#fff7db;border-color:#d59b00;color:#674800}.scannerResult.error{background:#fff0f0;border-color:#d24b4b;color:#752020}.scannerResult.checking{background:#eef6ff;border-color:#2772b8;color:#16456f}
.scannerDivider{display:flex;align-items:center;gap:12px;margin:28px 0 18px;color:#647384;font-size:.9rem}.scannerDivider::before,.scannerDivider::after{content:'';height:1px;background:#d7e0e8;flex:1}
.scannerManual{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.scannerManual label{margin:0}.scannerManual input{text-transform:uppercase}.scannerHelp{margin:14px 0 0;color:#647384;font-size:.9rem}
@media(max-width:700px){.scannerPanel{padding:18px}.scannerIntro{gap:12px}.scannerIcon{width:48px;height:48px;border-radius:14px;font-size:23px}.scannerManual{grid-template-columns:1fr}.scannerManual .secondary{width:100%;min-height:50px}.scannerCamera{border-radius:14px}.scannerFrame{width:min(70vw,280px)}}
