.scanner-dialog { --primary:#006b7b; --ink:#18323a; --muted:#5d7178; --border:#dce7e9; --error:#b42318; border:0; padding:0; border-radius:18px; color:var(--ink); width:min(960px,calc(100vw - 20px)); max-width:960px; height:min(920px,calc(100dvh - 20px)); max-height:calc(100dvh - 20px); overflow:hidden; box-shadow:0 20px 60px #102e3a33; }
.scanner-dialog::backdrop { background:#102e3a99; }
.scanner-dialog [hidden] { display:none!important; }
.scanner-shell { height:100%; display:flex; flex-direction:column; background:#f3f7f8; }
.scanner-shell > header { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; padding:16px 18px; background:var(--primary); color:#fff; }
.scanner-shell > header h2 { margin:0; font-size:1.2rem; }
.scanner-shell > header p { margin:3px 0 0; font-size:.82rem; opacity:.9; }
#scanner-close { border:0; background:#ffffff24; color:#fff; border-radius:9px; width:42px; height:42px; font-size:1.7rem; line-height:1; flex-shrink:0; }
.scanner-workspace { flex:1; min-height:0; overflow-y:auto; padding:16px; }
.scanner-empty { min-height:190px; display:grid; place-items:center; align-content:center; gap:8px; border:2px dashed #a9c5ca; border-radius:14px; background:#fff; text-align:center; color:var(--muted); padding:24px; }
.scanner-empty > span { font-size:2.3rem; color:var(--primary); }
.scanner-empty p { margin:0; }
#scanner-editor { border-radius:14px; background:#172328; padding:12px; }
#scanner-canvas { display:block; width:100%; height:auto; max-height:58dvh; object-fit:contain; background:#111; border-radius:8px; touch-action:none; }
.scanner-help { color:#dbe8ea; text-align:center; font-size:.82rem; margin:10px 0; }
.scanner-editor-actions { display:flex; align-items:end; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.scanner-editor-actions label { color:#fff; font-size:.78rem; margin-right:auto; }
.scanner-editor-actions select { display:block; margin-top:4px; border:1px solid #587078; border-radius:8px; padding:9px; background:#fff; color:var(--ink); }
#scanner-message { min-height:22px; margin:10px 2px; color:#176b5c; font-size:.84rem; font-weight:600; }
#scanner-message.scanner-error { color:var(--error); }
.scanner-pages-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; margin:14px 2px 8px; font-size:.85rem; }
.scanner-pages-heading span { color:var(--muted); }
.scanner-pages { display:grid; grid-template-columns:repeat(auto-fill,minmax(105px,1fr)); gap:10px; }
.scanner-page { position:relative; background:#fff; border:1px solid var(--border); border-radius:10px; padding:7px; display:grid; gap:5px; }
.scanner-page img { width:100%; height:120px; object-fit:contain; background:#edf2f3; border-radius:6px; }
.scanner-page span { font-size:.75rem; font-weight:700; }
.scanner-page button { border:0; background:transparent; color:var(--error); text-decoration:underline; padding:2px; text-align:left; font-size:.75rem; }
.scanner-shell > footer { display:flex; justify-content:flex-end; gap:12px; padding:14px 18px; border-top:1px solid var(--border); background:#fff; margin:0; }
.scanner-dialog .button { width:auto; border:1px solid transparent; border-radius:10px; padding:12px 18px; font:inherit; font-weight:650; cursor:pointer; }
.scanner-dialog .primary { background:var(--primary); color:#fff; }
.scanner-dialog .secondary { color:var(--primary); border-color:#bfd5d9; background:#eff7f8; }
.scanner-dialog button:disabled { opacity:.48; cursor:not-allowed; }
.supplement-document { margin:16px 0; }
.supplement-document > span { display:block; margin-bottom:8px; }
.lookup-supplement .evidence-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.lookup-supplement .evidence-actions > span { color:#5d7178; font-size:.82rem; }
.lookup-supplement .evidence-actions input[type=file] { flex:1 1 240px; width:auto; min-width:0; margin:0; }
.lookup-supplement .scan-button { background:#e3f5f1; border:1px solid #9bd4c7; color:#006b62; padding:10px 14px; }
.lookup-supplement .scan-button:hover { background:#d4eee8; }
.lookup-supplement input::file-selector-button { background:#e4eff1; border:0; color:#006b7b; padding:10px 14px; border-radius:7px; margin-right:10px; font-weight:650; cursor:pointer; }
@media(max-width:600px) {
  .lookup-supplement .evidence-actions { align-items:stretch; }
  .lookup-supplement .evidence-actions .scan-button, .lookup-supplement .evidence-actions input[type=file] { width:100%; flex-basis:100%; }
  .lookup-supplement .evidence-actions > span { width:100%; text-align:center; }
  .scanner-dialog { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0; }
  .scanner-workspace { padding:10px; }
  .scanner-shell > header { padding:12px 14px; }
  .scanner-editor-actions .button { flex:1; padding:10px; }
  .scanner-shell > footer { padding:10px; }
  .scanner-shell > footer .button { flex:1; }
}
