.fp-scanner{width:min(560px,calc(100vw - 24px));max-height:90dvh;overflow:auto;box-sizing:border-box;border:1px solid #d6dbd3;border-radius:20px;padding:22px;background:#fffef9;color:#26372b;font:16px/1.5 system-ui,sans-serif;box-shadow:0 24px 80px #0004}.fp-scanner::backdrop{background:#102017b3}.fp-scanner *{box-sizing:border-box}.fp-scanner-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.fp-scanner h2{font-size:24px;margin:0}.fp-scanner p{margin:12px 0}.fp-scanner video{display:block;width:100%;max-height:34dvh;min-height:120px;object-fit:contain;background:#15241b;border-radius:12px}.fp-scanner button{min-height:44px;padding:9px 15px;border:1px solid #477a49;border-radius:10px;background:#315f36;color:white;font:inherit;cursor:pointer}.fp-scanner button:disabled{opacity:.55;cursor:wait}.fp-scanner-head button,.fp-scanner [data-stop]{background:#fff;color:#315f36}.fp-scanner-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.fp-scanner label{display:block;margin:12px 0;font-weight:600}.fp-scanner input,.fp-scanner select{display:block;width:100%;min-height:44px;margin-top:6px;padding:9px;border:1px solid #9aa99b;border-radius:8px;background:white;color:#26372b;font:inherit}.fp-scanner [data-status]{padding:12px;border-radius:10px;background:#edf4e8;min-height:48px}.fp-scanner form{border-top:1px solid #d6dbd3;padding-top:4px}.fp-scanner form button{width:100%}.fp-scanner .fp-scanner-note{font-size:13px;color:#566456}.fp-scanner :focus-visible{outline:3px solid #d09d24;outline-offset:3px}.fp-scanner [hidden]{display:none!important}@media(max-width:480px){.fp-scanner{padding:16px}.fp-scanner-head{align-items:flex-start}.fp-scanner h2{font-size:21px}}
.fp-camera-tools{margin:12px 0;font-size:14px}.fp-camera-tools label{display:block;margin:10px 0;font-weight:600}.fp-camera-tools select{display:block;width:100%;font:inherit;font-size:16px;min-height:44px;padding:9px;border:1px solid var(--line,#b8c7b9);border-radius:9px;background:var(--paper,#fff);color:var(--ink,#263d33)}.fp-camera-tools button{min-height:44px;padding:8px 12px;border:1px solid var(--line,#b8c7b9);border-radius:9px;font:inherit;background:var(--paper,#fff);color:var(--ink,#263d33)}.fp-camera-tools details{border-top:1px solid var(--line,#c9d4bf);margin:10px 0;padding:4px 0}.fp-camera-tools summary{min-height:44px;cursor:pointer;line-height:44px;font-weight:650}.fp-camera-tools input[type=range]{display:block;width:100%;min-height:44px;padding:0;accent-color:var(--ink,#315f36)}.fp-camera-tools .fp-camera-sound{display:flex;align-items:center;gap:8px}.fp-camera-tools input[type=checkbox]{width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--ink,#315f36)}.fp-camera-actions{display:flex;gap:8px;flex-wrap:wrap}.fp-camera-tools [hidden]{display:none!important}.fp-camera-tools output{float:right}.fp-camera-tools .fineprint{font-size:12px;line-height:1.6}.fp-scanner [data-camera-label]{display:none}.label-camera [data-label-shutter]{width:100%}

.fp-scanner-frame{position:relative;width:100%;aspect-ratio:16/9;max-height:30dvh;min-height:140px;background:#15241b;border-radius:12px;overflow:hidden}.fp-scanner .fp-scanner-frame video{width:100%;height:100%;max-height:none;min-height:0;object-fit:cover;border-radius:0}.fp-scanner-guide{position:absolute;inset:22% 8%;border:2px solid #ffffffb3;border-radius:8px;pointer-events:none}.fp-scanner [data-label-fallback]{margin-top:12px;background:white;color:#315f36;width:100%}.fp-scanner [data-scan-brand]{font-size:16px}
