/* DD Seva Scanner — scoped under .scan-app */
.scan-app .layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:20px;align-items:start}
.scan-app .panel,.scan-app .workspace{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.scan-app .panel{padding:16px 18px}
.scan-app .block{padding:12px 0 16px;border-bottom:1px solid var(--line)}
.scan-app .block:last-child{border-bottom:0;padding-bottom:4px}
.scan-app .block h2{margin:0 0 12px;font:800 13.5px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.scan-app .row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.scan-app .btn{display:inline-flex;align-items:center;justify-content:center;appearance:none;border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 12px;font:700 13.5px/1.1 var(--sans);cursor:pointer;white-space:nowrap}
.scan-app .btn:hover{border-color:var(--navy);transform:none}
.scan-app .btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}
.scan-app .btn.danger{background:var(--red-soft);border-color:#f3c3cb;color:#9d0c24}
.scan-app .btn.mode.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.scan-app .btn.wa-btn{background:var(--wa);border-color:var(--wa);color:#fff;text-decoration:none}
.scan-app .slider,.scan-app .field{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--ink-2);margin-bottom:12px;font-weight:600}
.scan-app .slider{flex-direction:row;align-items:center;flex-wrap:wrap}
.scan-app .slider input{flex:1 1 100px;min-width:0}
.scan-app .slider span{min-width:2.4em;text-align:right}
.scan-app .field select{padding:9px 10px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
.scan-app .field input[type=range]{width:100%}
.scan-app .cam{width:100%;border-radius:12px;background:#000;margin-bottom:8px;max-height:200px}
.scan-app .status{margin:8px 0 0;font-size:14px;color:var(--ink-2);background:var(--bg-2);border-radius:10px;padding:10px 12px}
.scan-app .workspace{padding:14px;min-height:560px;display:flex;flex-direction:column;gap:12px}
.scan-app .toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;color:var(--ink-2)}
.scan-app .thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;min-height:96px;background:var(--bg);border:1px dashed var(--line);border-radius:12px;padding:8px}
.scan-app .thumb{border:2px solid transparent;border-radius:12px;overflow:hidden;background:#f3eee6;cursor:pointer;position:relative}
.scan-app .thumb.is-active{border-color:var(--red)}
.scan-app .thumb.is-selected{outline:2px solid var(--navy)}
.scan-app .thumb img,.scan-app .thumb canvas{width:100%;height:110px;object-fit:cover;display:block}
.scan-app .thumb .num{position:absolute;left:6px;top:6px;background:rgba(15,34,51,.85);color:#fff;font:800 11px var(--sans);padding:3px 6px;border-radius:999px}
.scan-app .preview-wrap{position:relative;flex:1;min-height:420px;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:auto}
.scan-app #preview{max-width:100%;max-height:70vh;background:transparent}
.scan-app .empty{position:absolute;color:var(--ink-2);font-size:15px;text-align:center;padding:20px;pointer-events:none;margin:0}
@media (max-width:960px){.scan-app .layout{grid-template-columns:minmax(0,1fr)}.scan-app .workspace{min-height:0}.scan-app .preview-wrap{min-height:300px}}
