/* Scoped MY EXTRAS Ticket Scanner V3; no changes to site-wide checker/grid. */
.ts-scanner{margin:18px 0;padding:16px;border:1px solid #6a5938;border-radius:16px;background:#0c192b;color:#f9f7ef}
.ts-scanner[hidden],.ts-scanner [hidden]{display:none!important}
.ts-scanner h4,.ts-scanner h5{margin:0 0 10px;color:#f7d585}
.ts-scanner p{margin:10px 0}
.ts-viewport{border-radius:12px;background:#071020;overflow:hidden;display:grid;place-items:center;min-height:90px;margin-top:10px}
.ts-viewport video,.ts-viewport canvas{width:100%;height:auto;max-height:360px;object-fit:contain;display:block}
.ts-controls{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0}
.ts-controls button{min-height:44px}
.ts-lines{display:grid;gap:9px}
.ts-line{display:grid;gap:8px;border:1px solid #48617a;border-radius:12px;padding:12px;background:#15283e;overflow-wrap:anywhere}
.ts-line strong{color:#fff;font-size:13px}
.ts-check-label{font-size:13px;display:flex;gap:8px;align-items:flex-start}
.ts-check-label input{width:22px;height:22px;accent-color:#e4be63;flex:none;margin:0}
.ts-count-field{display:grid;gap:7px;margin:12px 0;font-size:12px;font-weight:700}
.ts-count-field input,.ts-save-options input[type="date"]{min-height:44px;border:1px solid #718198;background:#16263a;color:#fff;border-radius:8px;padding:7px 10px;font:inherit;max-width:100%}
.ts-save-options{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:12px;border:1px solid #476078;border-radius:10px}
.ts-save-options strong{width:100%;font-size:12px}
.ts-save-options label{display:flex;align-items:center;gap:6px;font-size:13px}
.ts-result-row{padding:11px;border-bottom:1px solid #455267;display:grid;gap:6px;font-size:13px}
.ts-result-row strong{font-size:13px;color:#fff}
.ts-result-disclaimer{font-weight:800;color:#f6d38b!important;font-size:13px}
.ts-warning{width:min(94vw,480px);max-height:80vh;border-radius:16px;border:2px solid #c79e59;background:#122237;color:#fff;padding:0}
.ts-warning::backdrop{background:#000c}
.ts-warning-shell{padding:20px;max-height:75vh;overflow:auto}
.ts-warning-shell h4{color:#f6d38b;font-size:20px;margin:0}
.ts-warning-shell p{line-height:1.55;white-space:normal;color:#fff}
.ts-warning .ts-controls button{flex:1;min-width:170px}
.ts-scanner button:focus-visible,.ts-warning button:focus-visible,.ts-scanner input:focus-visible{outline:3px solid #f6d38b;outline-offset:3px}
@media(max-width:500px){.ts-scanner{padding:12px}.ts-controls{flex-direction:column}.ts-controls button{width:100%}.ts-save-options label:last-child{width:100%;display:grid;align-items:start}}

.ts-manual{border:1px solid #52647b;border-radius:10px;padding:12px;margin:14px 0}
.ts-manual summary{font-weight:700;cursor:pointer;min-height:32px}
.ts-manual label{display:block;font-size:12px;font-weight:700;margin:12px 0 6px}
.ts-manual textarea{display:block;width:100%;box-sizing:border-box;min-height:100px;background:#17263b;color:#fff;border:1px solid #718198;border-radius:8px;padding:10px;font-family:ui-monospace,monospace;line-height:1.6;margin-bottom:12px}
.ts-manual textarea:focus-visible{outline:3px solid #f6d38b;outline-offset:3px}

#ts-adjust{margin-top:12px}
#ts-adjust label{display:grid;gap:4px;margin:10px 0;font-size:13px}
#ts-adjust input[type="range"]{width:100%;accent-color:#e4be63;min-height:28px}
#ts-adjust input[type="checkbox"]{width:18px;height:18px;accent-color:#e4be63}
#ts-adjust-preview{display:block;width:100%;height:auto;max-height:480px;object-fit:contain;background:#fff;border-radius:9px;margin:10px 0}
.ts-adjust-actions{display:flex;gap:8px;flex-wrap:wrap}
.ts-adjust-actions button{min-height:44px}
#ts-adjust output{display:inline;color:#f7d585;font-size:12px}
@media(max-width:500px){.ts-adjust-actions{flex-direction:column}.ts-adjust-actions button{width:100%}}
