.lista-shell { max-width: 1050px; padding-bottom: 4rem; }
.lista-head { max-width: 680px; margin: 2rem 0 1.25rem; }
.lista-head h1 { margin: .25rem 0; font-size: clamp(2rem, 8vw, 3.2rem); }
.lista-head p { color: var(--text-muted, #9aa7bd); }
.lista-tabs { display: flex; gap: .5rem; margin: 0 0 1rem; border-bottom: 1px solid #30415c; }
.lista-tab { color: var(--text-muted, #9aa7bd); padding: .7rem .85rem; text-decoration: none; font-weight: 700; border-bottom: 3px solid transparent; }
.lista-tab:hover, .lista-tab:focus-visible { color: #e9efff; }
.lista-tab[aria-current="page"] { color: #dffcf5; border-bottom-color: var(--accent, #51d1b5); }
.eyebrow { letter-spacing: .12em; font-size: .75rem; font-weight: 700; color: var(--accent, #51d1b5); }
.lista-search, .selection, .lista-list { margin-bottom: 1rem; padding: clamp(1rem, 3vw, 1.5rem); }
.lista-search h2, .selection h2, .lista-list h2 { margin-top: 0; }
.lista-actions, .export-actions, .selection-controls, .list-management { display: flex; gap: .75rem; align-items: end; flex-wrap: wrap; }
.upload-label { cursor: pointer; }
.lista-form { display: grid; grid-template-columns: minmax(110px, 1fr) minmax(110px, 1fr) minmax(80px, .7fr) minmax(170px, 2fr) auto; gap: .75rem; margin-top: 1rem; }
.lista-form label, .selection-controls label, .item-controls label, .list-management label, .price-edit label { display: grid; gap: .25rem; font-size: .85rem; font-weight: 600; }
.lista-query { display: grid; gap: .25rem; }
.query-input-wrap { position: relative; display: block; }
.query-clear { position: absolute; top: 50%; right: .35rem; transform: translateY(-50%); width: 2rem; height: 2rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #9fb0c8; font: 700 1.3rem/1 sans-serif; cursor: pointer; touch-action: manipulation; }
.query-clear:hover, .query-clear:focus-visible { color: #fff; background: #26354d; outline: 2px solid #51d1b5; outline-offset: 1px; }
.query-clear[hidden] { display: none; }
.lista-form select, .lista-form input, .selection-controls select, .item-controls select, .list-management select, .price-edit input { width: 100%; min-height: 42px; padding: .5rem; border: 1px solid #34435c; border-radius: 8px; background: #111b2d; color: inherit; }
.query-input-wrap input { min-height: 52px; padding-right: 6.4rem; }
.query-clear:not([hidden]) { right: 3.15rem; }
.voice-search { position: absolute; top: 50%; right: .25rem; transform: translateY(-50%); width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid #405473; border-radius: 50%; background: #17243a; color: #e9efff; font-size: 1.15rem; cursor: pointer; touch-action: manipulation; }
.voice-search:hover, .voice-search:focus-visible, .voice-search[aria-pressed="true"] { border-color: #51d1b5; background: #1b5e50; outline: 2px solid #51d1b5; outline-offset: 1px; }
.voice-search:disabled { opacity: .55; cursor: not-allowed; }
.btn-voice-live { min-height: 52px; border-color: #8d6de8; background: #332660; color: #f0eaff; }
.btn-voice-live:hover, .btn-voice-live:focus-visible, .btn-voice-live[aria-pressed="true"] { border-color: #d5c5ff; background: #51408b; outline: 2px solid #d5c5ff; outline-offset: 2px; }
.voice-status { margin-bottom: 0; }
.voice-pending { display: grid; gap: .55rem; margin-top: .75rem; }
.voice-pending[hidden] { display: none; }
.voice-pending-card { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .7rem; border: 1px solid #405473; border-radius: 10px; background: #111b2d; }
.voice-pending-card p { margin: 0; color: var(--text-muted, #9aa7bd); font-size: .88rem; }
.voice-pending-card strong { display: block; color: #e9efff; }
.lista-status { min-height: 1.3rem; color: var(--text-muted, #9aa7bd); margin: .75rem 0; }
.lista-results { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .75rem; }
.result-card { color: inherit; text-align: left; border: 1px solid #30415c; border-radius: 12px; background: #111b2d; padding: .6rem; display: grid; grid-template-columns: 70px 1fr; gap: .6rem; cursor: pointer; }
.result-card:hover, .result-card:focus-visible { border-color: #51d1b5; }
.secondary-price { display: block; margin-top: .2rem; color: #9fc9bf; font-size: .82rem; }
.result-card-probable { position: relative; border-color: #3c8d7c; }
.result-probable { position: absolute; top: .45rem; right: .45rem; z-index: 1; border-radius: 999px; padding: .18rem .45rem; background: #1b5e50; color: #e6fff8; font-size: .72rem; font-weight: 700; }
.result-image, .selected-image, .item-image { display: grid; place-items: center; overflow: hidden; border-radius: 8px; background: #17243a; }
.result-image { height: 96px; }
.result-image img, .selected-image img, .item-image img { width: 100%; height: 100%; object-fit: contain; }
.result-card strong, .result-card small, .selected-card strong, .selected-card small, .item-main strong, .item-main small { display: block; }
.result-card small, .selected-card small, .item-main small { color: var(--text-muted, #9aa7bd); margin-top: .2rem; }
.selected-card { display: flex; gap: 1rem; align-items: center; }
.selected-image { width: 100px; height: 140px; flex: none; }
.selection-controls { margin-top: 1rem; }
.list-header { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.list-management { flex: 1; justify-content: flex-end; }
.list-management label { min-width: 150px; }
.list-header p { margin: .25rem 0; color: var(--text-muted, #9aa7bd); }
.list-items { display: grid; gap: .75rem; }
.list-item { display: grid; grid-template-columns: 64px 1fr auto; gap: .8rem; align-items: center; padding: .75rem 0; border-top: 1px solid #26354d; }
.item-image { width: 64px; height: 90px; }
.item-price { display: block; margin-top: .4rem; font-weight: 700; }
.item-price small { display: inline; }
.price-pending { display: block; margin-top: .25rem; color: var(--text-muted, #9aa7bd); }
.price-error { display: block; margin-top: .25rem; color: #ffb4b4; }
.seller-source { display: inline-block; margin-left: .35rem; padding: .08rem .35rem; border: 1px solid #51d1b5; border-radius: 999px; color: #dffcf5; font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.seller-source-manual { border-color: #e7b95d; color: #ffe4a7; }
.price-actions, .price-edit { display: flex; gap: .5rem; align-items: end; flex-wrap: wrap; margin-top: .65rem; }
.price-edit label { min-width: 148px; flex: 1 1 148px; }
.price-edit-suffix { padding-bottom: .65rem; color: var(--text-muted, #9aa7bd); font-size: .9rem; }
.price-edit .price-error { width: 100%; margin: 0; }
.item-controls { display: flex; gap: .5rem; align-items: end; }
.item-controls select { min-width: 82px; }
body.lista-modal-open { overflow: hidden; }
.camera-dialog, .results-dialog { color: #e9efff; background: #10192a; border: 1px solid #405473; border-radius: 14px; padding: 1rem; }
.camera-dialog::backdrop, .results-dialog::backdrop { background: rgba(0, 0, 0, .76); }
.camera-dialog { width: min(94vw, 640px); position: relative; }
.results-dialog { width: min(94vw, 920px); max-height: min(88vh, 820px); overflow: auto; }
.dialog-head { display: flex; justify-content: space-between; align-items: center; }
.camera-dialog video { display: block; width: 100%; max-height: 60vh; background: #000; border-radius: 10px; }
.camera-stage { position: relative; }
.capture-overlay { position: absolute; left: 50%; bottom: 1rem; transform: translateX(-50%); width: 88px; height: 88px; min-width: 88px; border: 5px solid rgba(255,255,255,.82); border-radius: 50%; color: #fff; background: rgba(10,15,30,.46); box-shadow: 0 2px 18px rgba(0,0,0,.55); font-size: 2rem; cursor: pointer; touch-action: manipulation; backdrop-filter: blur(3px); }
.capture-overlay:hover, .capture-overlay:focus-visible { background: rgba(81,209,181,.62); outline: 3px solid #fff; outline-offset: 3px; }
.capture-overlay:disabled { opacity: .48; cursor: wait; }
.camera-picker { display: grid; gap: .3rem; margin-top: .75rem; font-size: .85rem; font-weight: 700; }
.camera-picker select { width: 100%; min-height: 44px; padding: .55rem; border: 1px solid #405473; border-radius: 8px; background: #111b2d; color: inherit; }
.results-dialog .dialog-head { position: sticky; top: -1rem; z-index: 2; margin: -1rem -1rem 0; padding: 1rem; background: #10192a; border-bottom: 1px solid #26354d; }
.results-dialog h2 { margin: .2rem 0 0; }
.results-dialog .lista-results { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); padding-bottom: .5rem; }
.results-dialog .result-card { grid-template-columns: 1fr; padding: .75rem; }
.results-dialog .result-image { height: 230px; }
.results-dialog .result-image img { width: 100%; height: 100%; object-fit: contain; }
.lista-public-note { margin: .75rem 0 .35rem; color: #9fb0c8; font-size: .85rem; }
.manual-fallback { margin-top: .75rem; padding: 1rem; border: 1px solid #405473; border-radius: 12px; background: #111b2d; }
.manual-fallback h3 { margin: 0 0 .35rem; }
.manual-fallback p { color: var(--text-muted, #9aa7bd); }
.manual-fallback form { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.manual-fallback label { display: grid; gap: .25rem; font-weight: 600; font-size: .88rem; }
.manual-fallback input, .manual-fallback select { min-height: 44px; padding: .55rem; border: 1px solid #34435c; border-radius: 8px; background: #111b2d; color: inherit; }
.manual-fallback label:first-child, .manual-fallback button { grid-column: 1 / -1; }
.bulk-progress { margin: .25rem 0; color: #dffcf5; font-weight: 800; }
.bulk-preview-wrap { height: 34vh; min-height: 150px; max-height: 360px; display: grid; place-items: center; background: #050914; border-radius: 10px; overflow: hidden; }
.bulk-preview-wrap img { display: block; height: 100%; max-width: 100%; object-fit: contain; }
.bulk-actions { padding-top: .65rem; border-top: 1px solid #30415c; }
.local-photo-placeholder { color: #aebad0; font-size: 1.5rem; }

@media (max-width: 680px) {
  .topbar-right { display: none; }
  .lista-head { margin-top: 1rem; }
  .lista-form { grid-template-columns: 1fr 1fr; }
  .manual-quantity { grid-column: 1 / -1; }
  .lista-query { grid-column: 1 / -1; }
  .lista-form button { grid-column: 1 / -1; }
  .list-header { display: block; }
  .export-actions { margin-top: .75rem; }
  .list-management { margin-top: .75rem; justify-content: stretch; }
  .list-management label { flex: 1 1 100%; }
  .list-management button { flex: 1; }
  .list-item { grid-template-columns: 54px 1fr; }
  .item-image { width: 54px; height: 76px; }
  .item-controls { grid-column: 1 / -1; justify-content: space-between; }
  .item-controls label { flex: 1; }
  .item-controls .remove { align-self: end; }
  .price-actions > button { flex: 1 1 140px; }
  .price-edit label { flex-basis: 100%; }
  .price-edit button { flex: 1; }
  .selection-controls > * { flex: 1; }
  .selection-controls button { width: 100%; }
  .results-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; border: 0; border-radius: 0; padding: .85rem; }
  .results-dialog .dialog-head { top: -.85rem; margin: -.85rem -.85rem 0; padding: .85rem; }
  .results-dialog .lista-results { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
  .results-dialog .result-image { height: clamp(170px, 45vw, 250px); }
  .results-dialog .result-card { min-width: 0; }
  .results-dialog .result-card strong, .results-dialog .result-card small { overflow-wrap: anywhere; }
  .camera-dialog { width: 100vw; max-width: none; margin: auto 0 0; border-radius: 16px 16px 0 0; }
  .camera-dialog video { max-height: 55vh; }
  .camera-stage video { height: min(55vh, 58dvh); object-fit: contain; }
  .capture-overlay { width: 82px; height: 82px; min-width: 82px; font-size: 1.9rem; bottom: .75rem; }
  .results-dialog.bulk-active { height: 100dvh; max-height: 100dvh; display: flex; flex-direction: column; gap: .15rem; }
  .results-dialog.bulk-active .dialog-head, .results-dialog.bulk-active .bulk-progress { flex: none; }
  .results-dialog.bulk-active .bulk-preview-wrap { height: 31dvh; min-height: 130px; max-height: 31dvh; flex: none; }
  .results-dialog.bulk-active #search-status { flex: none; margin: .25rem 0; }
  .results-dialog.bulk-active .lista-results { flex: 1 1 auto; overflow-y: auto; min-height: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: .5rem; }
  .results-dialog.bulk-active .manual-fallback { flex: 1 1 auto; overflow-y: auto; margin-top: .25rem; }
  .results-dialog.bulk-active .bulk-actions { flex: none; }
  .manual-fallback form { grid-template-columns: 1fr; }
  .manual-fallback label:first-child, .manual-fallback button { grid-column: auto; }
}
