/* Host primitives for the shared Scanner stylesheet; keep camera/results in
   src/app/design/scanner/source.css so both entry points use the same layout. */
.studio-scanner-entry { display: grid; gap: 9px; margin: -3px 0 20px; padding: 14px; border: 1px solid #cbded5; border-radius: 12px; background: #f3f8f5; }
.studio-scanner-entry .button { justify-self: start; color: #294f46; border-color: #b9d0c6; background: #fff; }
.studio-scanner-entry .studio-hint { margin: 0; }
.studio-scanner-dialog { --ink: #182c42; --danger: #ab3030; width: min(840px, calc(100% - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 24px; border: 1px solid var(--line); border-radius: 20px; color: var(--ink); background: #f8fafb; box-shadow: 0 20px 80px #1527434d; overflow: auto; overscroll-behavior: contain; }
.studio-scanner-dialog::backdrop { background: #14283c99; }
.studio-scanner-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.studio-scanner-header h2 { margin: 0 0 7px; font-size: 1.35rem; }
.studio-scanner-header p, .studio-scanner-history-note { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.studio-scanner-header .button { flex-shrink: 0; }
.studio-scanner-history-note { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.studio-scanner-dialog .hidden { display: none !important; }
.studio-scanner-dialog .btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 15px; min-height: 44px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--brand); font: inherit; font-size: .86rem; font-weight: 750; cursor: pointer; }
.studio-scanner-dialog .btn.primary { color: #fff; background: var(--brand); border-color: var(--brand); }
.studio-scanner-dialog button:disabled { opacity: .55; cursor: not-allowed; }
.studio-scanner-dialog .control { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: .9rem; }
.studio-scanner-dialog .field { display: grid; gap: 7px; }
.studio-scanner-dialog .scanner-page-head { display: none; }
.studio-scanner-dialog .scanner-use-result { width: 100%; }
.studio-scanner-dialog .scanner-use-help { color: var(--muted); font-size: .8rem; line-height: 1.5; }
.studio-scanner-dialog .scanner-use-details { display: grid; gap: 8px; margin: 12px 0; padding: 14px; border: 1px solid #cbded5; border-radius: 12px; background: #f3f8f5; }
.studio-scanner-dialog .scanner-use-details > div { display: grid; grid-template-columns: minmax(70px, .3fr) minmax(0, 1fr); gap: 12px; }
.studio-scanner-dialog .scanner-use-details dt { color: var(--muted); font-size: .8rem; }
.studio-scanner-dialog .scanner-use-details dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.studio-scanner-dialog .scanner-scan-choices small { display: block; font-weight: 400; }
.studio-scanner-dialog .scanner-scan-choices { display: block; }
.studio-scanner-dialog .scanner-scan-choices > div .scanner-scan-tile { flex-direction: column; align-items: flex-start; text-align: left; }
.studio-scanner-dialog .scanner-search-form { grid-template-columns: minmax(0, 1fr) auto auto; }
.studio-scanner-dialog #scannerSearchForm input.control { padding: 10px 12px 10px 42px; }
@media (max-width: 600px) {
  .studio-scanner-dialog { width: calc(100% - 16px); max-width: none; max-height: calc(100dvh - 16px); padding: 16px; border-radius: 15px; }
  .studio-scanner-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
  .studio-scanner-header > div { display: contents; }
  .studio-scanner-header h2 { grid-column: 1; grid-row: 1; font-size: 1.12rem; }
  .studio-scanner-header p { grid-column: 1 / -1; grid-row: 2; }
  .studio-scanner-header .button { grid-column: 2; grid-row: 1; padding-inline: 10px; font-size: .78rem; }
  .studio-scanner-entry .button { width: 100%; }
  .studio-scanner-dialog .scanner-history-table { display: none; }
  .studio-scanner-dialog .scanner-camera { aspect-ratio: 4 / 3; max-height: 44svh; }
  .studio-scanner-dialog .scanner-camera-tool { width: 44px; min-width: 44px; min-height: 44px; bottom: 20px; }
  .studio-scanner-dialog .scanner-shutter { width: 58px; height: 58px; bottom: 15px; }
  .studio-scanner-dialog .scanner-zoom-controls { bottom: 83px; }
  .studio-scanner-dialog .scanner-evidence { padding: 12px; gap: 10px; }
  .studio-scanner-dialog .scanner-evidence textarea { min-height: 82px; }
}
