.uts-scanner-app{--uts-blue:#1261ff;--uts-ink:#111827;--uts-muted:#667085;--uts-line:#e4e7ec;--uts-success:#067647;--uts-danger:#b42318;max-width:760px;margin:32px auto;padding:clamp(18px,4vw,36px);border:1px solid var(--uts-line);border-radius:24px;background:#fff;color:var(--uts-ink);box-shadow:0 18px 55px rgba(16,24,40,.09);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.uts-scanner-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.uts-scanner-header h1{margin:0;font-size:clamp(28px,5vw,42px);line-height:1.05}.uts-scanner-eyebrow{margin:0 0 7px;color:var(--uts-blue);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.uts-scanner-user{display:flex;align-items:flex-end;gap:4px;flex-direction:column;font-size:14px}.uts-scanner-user a{color:var(--uts-muted)}.uts-scanner-events{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:12px 14px;border-radius:12px;background:#f5f7fa;font-size:13px}.uts-scanner-events span{padding:4px 9px;border:1px solid #d0d5dd;border-radius:999px;background:#fff}.uts-scanner-stage{text-align:center}.uts-camera-frame{position:relative;overflow:hidden;width:min(100%,560px);aspect-ratio:1/1;margin:0 auto 18px;border-radius:22px;background:#101828}.uts-camera-frame video{width:100%;height:100%;object-fit:cover;opacity:.25}.is-camera-active .uts-camera-frame video{opacity:1}.uts-camera-target{position:absolute;inset:18%;pointer-events:none}.uts-camera-target i{position:absolute;width:55px;height:55px;border-color:#fff;border-style:solid;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.uts-camera-target i:nth-child(1){top:0;left:0;border-width:4px 0 0 4px;border-radius:12px 0 0}.uts-camera-target i:nth-child(2){top:0;right:0;border-width:4px 4px 0 0;border-radius:0 12px 0 0}.uts-camera-target i:nth-child(3){bottom:0;right:0;border-width:0 4px 4px 0;border-radius:0 0 12px}.uts-camera-target i:nth-child(4){bottom:0;left:0;border-width:0 0 4px 4px;border-radius:0 0 0 12px}.uts-camera-message{position:absolute;right:20px;bottom:24px;left:20px;padding:10px 12px;border-radius:10px;background:rgba(16,24,40,.76);color:#fff;font-size:14px;font-weight:700;backdrop-filter:blur(6px)}.uts-primary-button,.uts-file-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:12px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none}.uts-primary-button{background:var(--uts-blue);color:#fff}.uts-primary-button:hover{background:#004ee6;color:#fff}.uts-file-button{margin-left:8px;border:1px solid #d0d5dd;background:#fff;color:var(--uts-ink)}.uts-file-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.uts-scanner-help{margin:14px 0 0;color:var(--uts-muted);font-size:14px}.uts-scanner-help.is-error{color:var(--uts-danger);font-weight:700}.uts-result-stage{padding:clamp(24px,6vw,54px) 8px;text-align:center}.uts-result-icon{display:grid;width:88px;height:88px;margin:0 auto 20px;border-radius:50%;place-items:center}.uts-result-icon:before{font-size:46px;font-weight:900}.uts-result-stage.is-success .uts-result-icon{background:#dcfae6;color:var(--uts-success)}.uts-result-stage.is-success .uts-result-icon:before{content:"✓"}.uts-result-stage.is-error .uts-result-icon{background:#fee4e2;color:var(--uts-danger)}.uts-result-stage.is-error .uts-result-icon:before{content:"×"}.uts-result-stage.is-loading .uts-result-icon{border:7px solid #e4e7ec;border-top-color:var(--uts-blue);animation:uts-spin .9s linear infinite}.uts-result-kicker{margin:0 0 6px;color:var(--uts-muted);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.uts-result-stage h2{margin:0 0 10px;font-size:clamp(28px,5vw,40px)}.uts-result-message{max-width:560px;margin:0 auto 24px;color:var(--uts-muted);font-size:17px}.uts-result-details{max-width:540px;margin:0 auto 28px;border:1px solid var(--uts-line);border-radius:14px;text-align:left}.uts-result-details div{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:12px 16px}.uts-result-details div+div{border-top:1px solid var(--uts-line)}.uts-result-details dt{color:var(--uts-muted);font-size:13px}.uts-result-details dd{margin:0;font-weight:750}.uts-scanner-login,.uts-scanner-denied{max-width:520px;margin:40px auto;padding:28px;border:1px solid #e4e7ec;border-radius:18px;background:#fff;box-shadow:0 14px 45px rgba(16,24,40,.08)}.uts-scanner-login input[type=text],.uts-scanner-login input[type=password]{width:100%}.uts-scanner-login input[type=submit]{min-height:44px;padding:0 20px;border:0;border-radius:10px;background:#1261ff;color:#fff;font-weight:700}@keyframes uts-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.uts-scanner-app{margin:12px;padding:16px;border-radius:18px}.uts-scanner-header{align-items:flex-start;flex-direction:column}.uts-scanner-user{align-items:flex-start}.uts-file-button{display:flex;margin:10px 0 0}.uts-primary-button{width:100%}.uts-result-details div{grid-template-columns:1fr;gap:3px}.uts-camera-frame{border-radius:16px}}
.uts-scanner-occurrence{display:block;margin:18px 0;padding:14px;border-radius:12px;background:#fff}.uts-scanner-occurrence strong{display:block;margin-bottom:7px}.uts-scanner-occurrence select{width:100%;max-width:100%;min-height:44px}

/* Keep controls usable in narrow layouts and independent of theme display rules. */
.uts-scanner-app [hidden] { display: none !important; }
.uts-scanner-selection { margin-bottom: 24px; }
.uts-scanner-selection select { max-width: 100%; min-width: 0; font-size: 16px; }
.uts-scanner-selection [role="status"] { overflow-wrap: anywhere; font-size: 14px; }
.uts-scanner-app button:disabled, .uts-scanner-app select:disabled { opacity: .55; cursor: not-allowed; }
.uts-scanner-app .uts-file-button:has(input:disabled) { opacity: .55; cursor: not-allowed; }
.uts-scanner-app button:focus-visible, .uts-scanner-app select:focus-visible, .uts-scanner-app .uts-file-button:focus-within { outline: 3px solid #5046e5; outline-offset: 3px; }

.uts-scanner-app .uts-secondary-button { min-height: 44px; padding: 8px 14px; border: 1px solid #d0d5dd; border-radius: 10px; background: #fff; color: var(--uts-ink); font: inherit; cursor: pointer; }
@media (max-width: 600px) { .uts-scanner-app { margin-inline: 0; } }
