/* Mobile browse density and single-select match error controls. */
.match-error-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}
.match-error-button{position:relative;display:block;min-width:0;cursor:pointer}
.match-error-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.match-error-button span{display:flex;align-items:center;justify-content:center;min-height:2.45rem;border:1px solid #405474;border-radius:.6rem;padding:.45rem .5rem;color:#c8d5e9;background:#17253d;font-size:.78rem;font-weight:850;text-align:center;line-height:1.2}
.match-error-button input:checked+span{border-color:#8cb7ff;color:#07101f;background:#8cb7ff;box-shadow:0 0 0 2px #8cb7ff2e}
.match-error-button input:focus-visible+span{outline:3px solid #f1c75b;outline-offset:2px}

/* Batch import reports parsed component matches independently from text parsing. */
.batch-import-summary{grid-template-columns:repeat(6,minmax(0,1fr))}
.batch-import-status.configuration{background:#5b4516;color:#ffe9a8}
.batch-import-component-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.batch-import-component-checks{display:grid;gap:.3rem;border:1px solid #344866;border-radius:.7rem;padding:.65rem;background:#0b1424}
.batch-import-component-checks>strong{color:#dbe8ff;font-size:.78rem}
.batch-import-component-check{margin:0;border-radius:.45rem;padding:.4rem .5rem;color:#ffd9df;background:#4e202b}
.batch-import-component-check.matched{color:#caffea;background:#164e3c}
.batch-import-component-check.ambiguous{color:#ffe9a8;background:#4b3d17}

@media(max-width:650px){
  html{-webkit-text-size-adjust:100%}
  body{touch-action:manipulation}

  /* Three columns × three rows form a nine-item visual batch; scrolling continues to the next nine. */
  .catalog-grid,.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.4rem;align-items:start}
  .catalog-card,.collection-card.compact{border-radius:.65rem;padding:.4rem}

  .catalog-media{aspect-ratio:1/1;margin:-.4rem -.4rem .35rem;padding:.18rem}
  .catalog-card .badge{margin:0 0 .25rem;padding:.12rem .3rem;font-size:.52rem}
  .catalog-card h3{display:-webkit-box;min-height:2.05em;margin:0 0 .35rem;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.68rem;line-height:1.15}
  .catalog-card .detail-button{min-height:1.85rem;border-radius:.42rem;padding:.28rem .2rem;font-size:.59rem;line-height:1.1}

  .collection-card.compact .collection-visual{margin:-.4rem -.4rem .35rem}
  .collection-card.compact .collection-media{aspect-ratio:1/1;padding:.18rem}
  .collection-card.compact .media-source{display:none}
  .collection-title{display:-webkit-box;min-height:2.05em;margin:0 0 .28rem;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.68rem;line-height:1.15}
  .collection-card.compact>.badge{margin:0 0 .25rem;padding:.12rem .28rem;font-size:.5rem;line-height:1.15}
  .collection-card.compact .compact-warning{margin:0 0 .25rem;font-size:.55rem;line-height:1.15}
  .collection-stock-chips{gap:.18rem;margin:.12rem 0 .28rem}
  .collection-card.compact .stock-chip{padding:.12rem .24rem;font-size:.5rem;line-height:1.1}
  .collection-card.compact .stock-chip:not(.active):not(.pending){display:none}
  .collection-details-summary{min-height:1.85rem;padding:.35rem .02rem .05rem;font-size:.58rem;line-height:1.1}
  .collection-details-summary::after{font-size:.75rem}

  /* Opening edit details gives the card the full row, so dense browsing does not make editing cramped. */
  .collection-card.compact:has(.collection-details[open]){grid-column:1/-1;padding:.75rem}
  .collection-card.compact:has(.collection-details[open]) .collection-visual{margin:-.75rem -.75rem .65rem}
  .collection-card.compact:has(.collection-details[open]) .collection-media{max-height:12rem}
  .collection-card.compact:has(.collection-details[open]) .collection-title{font-size:.95rem}
  .collection-card.compact:has(.collection-details[open]) .stock-chip{font-size:.66rem}
  .collection-card.compact:has(.collection-details[open]) .collection-details-summary{font-size:.78rem}

  /* A small gap after each nine cards makes the 3×3 batches visually obvious without pagination. */
  .catalog-card:nth-child(9n + 10),.catalog-card:nth-child(9n + 11),.catalog-card:nth-child(9n + 12),
  .collection-card:nth-child(9n + 10),.collection-card:nth-child(9n + 11),.collection-card:nth-child(9n + 12){margin-top:.45rem}

  .match-error-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}
  .match-error-button span{min-height:2.3rem;padding:.4rem .25rem;font-size:.7rem}
  .batch-import-summary,.batch-import-component-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
