/* Buscar 2.0. All rules are limited to Buscar and Scanner. */
#card-dialog {
  width:min(96vw,980px); max-height:calc(100dvh - 24px); padding:18px;
  border:3px solid #8f2430; border-radius:22px;
  background:linear-gradient(135deg,#e35a63,#c93c48); color:#243e3b;
  box-shadow:inset 0 2px #ffb2b9,0 6px #76222c,0 18px 55px #172b2680;
  overflow:auto; overscroll-behavior:contain; font-family:"Segoe UI",Arial,sans-serif;
}
#card-dialog::backdrop { background:#17211cba; backdrop-filter:blur(3px); }
#card-dialog .search-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; color:#fff5dc; }
#card-dialog .search-header { position:sticky; top:-18px; z-index:3; padding:12px 0; margin-top:-12px; background:#dc505b; }
#card-dialog .dialog-kicker { display:flex; align-items:center; gap:7px; color:#ffe3b7; font-size:10px; letter-spacing:1.3px; }
.search-led { width:9px; height:9px; border:1px solid #315f50; border-radius:50%; background:#b9ed8c; box-shadow:inset 0 1px #fff9; }
#card-dialog h2 { margin:6px 0 0; font-family:Bahnschrift,"Segoe UI",sans-serif; font-size:30px; text-shadow:0 1px #8f2430; }
#card-dialog .close-button { flex:none; width:44px; height:44px; border:2px solid #902633; background:#fff5dc; color:#9e3140; box-shadow:inset 0 2px #fff,0 3px #85212d; font-size:27px; }
#card-dialog .search-intro { padding:16px; border:3px solid #315f50; border-radius:14px; background:linear-gradient(145deg,#e8f4d2,#cfe6ad); box-shadow:inset 0 2px #f3ffdf,0 4px #8f2430; }
#card-dialog .dialog-copy { margin:0 0 14px; color:#35563f; font-size:15px; line-height:1.5; }
#card-dialog .scanner-entry { justify-content:flex-start; min-height:86px; margin:0; padding:14px 16px; border-radius:12px; border-color:#1f587f; background:linear-gradient(#4d96c8,#286d9f); color:#fff; box-shadow:inset 0 2px #fff6,0 4px #1d5077; text-align:left; gap:14px; }
#card-dialog .scanner-entry svg { flex:none; width:36px; height:36px; }
#card-dialog .scanner-entry>span:nth-child(2) { flex:1; min-width:0; }
#card-dialog .scanner-entry b { display:block; font-size:20px; }
#card-dialog .scanner-entry small { display:block; margin-top:5px; font-size:13px; font-weight:400; line-height:1.4; }
#card-dialog .scanner-entry>span:last-child { font-size:24px; }
#card-dialog .search-manual { margin-top:17px; padding:0 16px 12px; border:2px solid #b9c9ad; border-radius:13px; background:#fff9e9; box-shadow:0 3px #8f2430; }
.search-divider { display:flex; align-items:center; gap:10px; margin:13px 0; color:#52634b; font-size:12px; font-weight:700; text-align:center; }
.search-divider::before,.search-divider::after { content:""; height:1px; background:#c7d0b6; flex:1; }
#catalog-search-form { display:flex; gap:9px; }
#card-dialog .dialog-search { flex:1; min-width:0; min-height:48px; height:auto; margin:0; border:2px solid #648565; background:#f7fbe9; }
#card-dialog .dialog-search:focus-within { outline:3px solid #287bb5; outline-offset:2px; }
#card-dialog .dialog-search input { min-height:44px; font-size:16px; }
.search-submit { flex:none; min-height:48px; padding:0 22px; border:2px solid #8f2430; border-radius:9px; background:linear-gradient(#e35a63,#c93c48); color:white; box-shadow:inset 0 2px #ffb2b9,0 3px #8f2430; font-size:14px; font-weight:800; cursor:pointer; }
#card-dialog .search-help { color:#3e5d46; font-size:12px; line-height:1.6; }
#card-dialog summary { display:list-item; min-height:44px; padding:12px 2px 8px; color:#385b43; font-size:12px; font-weight:700; cursor:pointer; }
#card-dialog .search-help p { margin:0 0 8px; max-width:76ch; }
#card-dialog .catalog-results { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; max-height:none; overflow:visible; gap:12px; margin-top:16px; }
#card-dialog .catalog-hint,#card-dialog .no-results { grid-column:1/-1; width:100%; padding:16px; border:2px solid #9ab589; border-radius:12px; background:#e8f4d2; color:#35563f; }
#card-dialog .catalog-hint span { display:none; }
#card-dialog .catalog-hint p { margin:0; color:#35563f; font-size:13px; }
#card-dialog .catalog-result-guide { grid-column:1/-1; margin:0; padding:12px 14px; border:2px solid #315f50; border-radius:10px; background:#dceec3; color:#294e3e; font-size:14px; line-height:1.5; font-weight:600; }
#card-dialog .catalog-row { display:grid; grid-template-columns:96px minmax(0,1fr); gap:8px 13px; padding:13px; border:2px solid #b8c9aa; border-radius:12px; background:#fff9e9; box-shadow:inset 0 2px #fff,0 3px #8f2430; }
#card-dialog .catalog-image { grid-column:1; grid-row:1/3; align-self:start; width:96px; height:134px; padding:0; border:1px solid #b5c99d; border-radius:8px; background:#e2efca; }
#card-dialog .catalog-image img { display:block; border-radius:7px; }
#card-dialog .catalog-row-copy { min-width:0; }
#card-dialog .catalog-row-copy b { font-size:17px; line-height:1.3; overflow-wrap:anywhere; }
#card-dialog .catalog-row-copy small { margin-top:5px; color:#4b6451; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
#card-dialog .catalog-row summary { padding:10px 0; font-size:12px; }
#card-dialog .catalog-row details[open] { padding-bottom:7px; }
#card-dialog .catalog-row details strong { font-size:inherit; }
#card-dialog .catalog-actions { grid-column:2; display:flex; flex-wrap:wrap; align-self:start; gap:8px; }
#card-dialog .catalog-add { flex:1 1 95px; min-height:44px; padding:8px; border:1px solid #648565; border-radius:8px; background:linear-gradient(#e6f3d2,#cce4ae); color:#294e3e; box-shadow:inset 0 2px #fff9,0 2px #648565; font-size:12px; }
#card-dialog .want-add { border-color:#b66a71; background:linear-gradient(#fff0e4,#f5dcd7); color:#8c2938; box-shadow:inset 0 2px #fff,0 2px #b66a71; }
#card-dialog .catalog-add:disabled { opacity:.65; cursor:default; box-shadow:none; }
#card-dialog .catalog-more { grid-column:1/-1; min-height:48px; border:2px solid #315f50; background:#dceec3; font-size:13px; cursor:pointer; }
#card-dialog .search-footer { margin-top:16px; padding:0 14px; border:1px solid #b8c9aa; border-radius:11px; background:#fff9e9; }
#card-dialog .data-note { margin:0 0 10px; color:#4b6451; font-size:11px; }
#card-dialog :is(button,summary,a):focus-visible,#scanner-dialog summary:focus-visible { outline:3px solid #287bb5; outline-offset:3px; }
#card-dialog button:active:not(:disabled) { transform:translateY(2px); }

/* Scanner: same candidates, original ranking and original guarded save controls. */
#scanner-dialog { width:min(96vw,980px); }
#scanner-dialog .scanner-header { position:sticky; top:0; z-index:3; background:#dc505b; }
#scanner-query { margin:8px 0; padding:0 12px; border:1px solid #8da87b; border-radius:9px; background:#eff6df; }
#scanner-query>summary { min-height:44px; padding:12px 0; font-size:13px; font-weight:700; cursor:pointer; }
#scanner-query #scanner-search-form { margin-top:0; }
#scanner-search-form input:focus-visible,#scanner-search-form select:focus-visible { outline:3px solid #287bb5; outline-offset:2px; }
#scanner-results { grid-template-columns:minmax(0,1fr); align-items:start; gap:12px; }
#scanner-results .scanner-candidate { grid-template-columns:96px minmax(0,1fr); gap:8px 12px; padding:12px; background:#fff9e9; border-color:#9ab589; box-shadow:0 3px #a7bd90; }
#scanner-results .scanner-candidate { scroll-margin-top:90px; }
#scanner-results .catalog-image { width:96px; height:134px; margin:0; border:1px solid #b5c99d; border-radius:7px; background:#e2efca; }
#scanner-results .catalog-image img { border-radius:7px; }
#scanner-results b { font-size:17px; line-height:1.3; overflow-wrap:anywhere; }
#scanner-results small { color:#48634c; font-size:12px; line-height:1.5; }
#scanner-results .scanner-match-reason { font-size:11px; }
#scanner-results .scanner-candidate-copy { min-width:0; }
#scanner-results details summary { min-height:44px; padding:12px 0; color:#385b43; font-size:12px; font-weight:700; cursor:pointer; }
#scanner-results details { padding:0; }
#scanner-results [data-scanner-select] { margin:0; border:1px solid #648565; box-shadow:inset 0 2px #fff9,0 2px #648565; font-size:12px; }
#scanner-results .scanner-candidate.is-selected { border:3px solid #315f50; background:#e8f4d2; box-shadow:0 3px #315f50; padding:11px; }
#scanner-results [aria-pressed="true"] { background:#315f50; color:#fff; }
.scanner-pending-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; }
#scanner-results .scanner-pending-actions button { flex:1; width:auto; margin:0; min-height:44px; background:#e6ecd9; opacity:.65; }
#scanner-results .scanner-pending-actions small { flex:1 0 100%; margin:0; font-size:11px; }
#scanner-choice { grid-column:1/-1; padding-top:10px; margin-top:5px; border-top:1px solid #9ab589; }
#scanner-confirmation { margin:0 0 10px; font-size:12px; line-height:1.5; }
#scanner-results #scanner-confirm { margin:0; min-height:44px; font-size:13px; }
#scanner-results #scanner-confirm:disabled { opacity:1; background:#d2e5b5; box-shadow:none; }
#scanner-results .scanner-save-actions { gap:9px; margin:12px 0 4px; }
#scanner-results .scanner-save-actions button { margin:0; min-height:44px; width:auto; font-size:13px; border-width:2px; }
#scanner-results #scanner-owned { background:linear-gradient(#e35a63,#c93c48); color:#fff; border-color:#8f2430; }
#scanner-dialog:is([data-state="results"],[data-state="review"],[data-state="searching"]) .scanner-compact { height:88px; }
#scanner-dialog:is([data-state="results"],[data-state="review"],[data-state="searching"]) .scanner-controls { margin:10px 0; }
#scanner-dialog .scanner-help:empty { display:none; }
#scanner-dialog #scanner-search-status { font-size:12px; }

@media(min-width:760px) {
  #card-dialog .catalog-results,#scanner-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #scanner-search-form { grid-template-columns:1fr 1fr; align-items:end; }
  #scanner-number-help,#scanner-search { grid-column:1/-1; }
}
@media(max-width:480px) {
  #card-dialog { padding:13px; border-radius:18px; }
  #card-dialog .search-header { top:-13px; }
  #card-dialog h2 { font-size:27px; }
  #card-dialog .search-intro { padding:13px; }
  #card-dialog .dialog-copy { font-size:14px; }
  #card-dialog .scanner-entry { padding:12px; gap:10px; }
  #card-dialog .scanner-entry svg { width:29px; height:29px; }
  #card-dialog .scanner-entry b { font-size:18px; }
  #card-dialog .scanner-entry small { font-size:12px; }
  #card-dialog .scanner-entry>span:last-child { display:none; }
  #card-dialog .search-manual { padding:0 12px 6px; }
  .search-submit { padding:0 14px; }
  #card-dialog .catalog-row { grid-template-columns:88px minmax(0,1fr); gap:8px 11px; padding:10px; }
  #card-dialog .catalog-image { grid-row:1; width:88px; height:123px; }
  #card-dialog .catalog-actions { grid-column:1/-1; }
  #card-dialog .catalog-row-copy b { font-size:16px; }
  #scanner-results .scanner-candidate { grid-template-columns:88px minmax(0,1fr); padding:10px; gap:8px 11px; }
  #scanner-results .scanner-candidate.is-selected { padding:9px; }
  #scanner-results .catalog-image { width:88px; height:123px; }
  #scanner-results b { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  #card-dialog *,#scanner-dialog * { scroll-behavior:auto!important; transition:none!important; }
}
@media(max-width:350px) {
  #catalog-search-form { flex-wrap:wrap; }
  #card-dialog .dialog-search { flex-basis:100%; }
  #catalog-search-form .search-submit { width:100%; }
}
