/* =========================================================
   Variables and Base
   ========================================================= */

:root {
  color-scheme: light;
  --section: #031f31;
  --section-border: #06111a;
  --field: #f8f4e9;
  --text: #071728;
  --border: #b9ad94;
  --navy: #031a28;
  --clear-blue: #031f31;
  --error: #9c1f28;
  --atomic-card-tan-light: #f7ecd0;
  --pill-blue: #0e4a78;
  --pill-blue-dark: #072c49;
  --app-font: "Segoe UI", Arial, sans-serif;
  --control-font: var(--app-font);
  --success-green: #126936;
  --success-green-dark: #126936;
  --find-green: #126936;
  --workspace-section-bar: #681f24;
  --workspace-section-bar-hover: #7b2b31;
  --workspace-section-bar-text: #f5e9d7;
  --workspace-heading-size: 12px;
  --workflow-popover-tab-text: #c9d8e6;
  --workflow-popover-tab-active-text: #fff;
  --workflow-popover-tab-active-underline: #f1c46a;
  --atomic-green-link: #126936;

  /* Canonical typography */
  --control-text-size: 11px;
  --content-text-size: 11px;
  --input-text-size: 13px;
  --link-text-size: 12px;
  --regular-text-weight: 400;
  --control-text-weight: 700;

  /* Canonical spacing and control rhythm */
  --space-1: 2px;
  --section-action-card-gap: 2px;
  --album-input-row-height: 32px;
  --album-field-leading-width: 205px;
  --compact-scan-button-width: 56px;

  /* Marketplace and details */
  --marketplace-header-height: 34px;
  --marketplace-table-max-height: 920px;
  --marketplace-table-mobile-max-height: 420px;

  /* Shared workflow/status geometry */
  --section-stack-gap: 5px;
  --status-card-inset-x: 8px;
  --status-card-inset-y: 7px;
  --status-button-height: 32px;

  /* Release table visual palette */
  --release-table-teal: #2f7d80;
  --release-table-teal-dark: #17575c;
  --release-table-teal-soft: #dce9e5;
  --release-table-cream: #fbf7eb;
  --release-table-grid: rgba(47, 125, 128, 0.42);
  --release-table-slate: #4f7086;
  --release-table-slate-dark: #38586d;
  --release-table-slate-light: #67889d;
}

* {
  box-sizing: border-box;
}





/* =========================================================
   Buttons and Icons
   ========================================================= */


.svg-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  object-fit: contain;
}

.success-icon {
  color: var(--success-green);
}


/* =========================================================
   Album Result Links
   ========================================================= */


#dockArtistLink,
#dockAlbumLink {
  text-decoration: none !important;
}


.pending-link {
  color: #6b7280;
  opacity: 0.75;
  pointer-events: none;
  cursor: default;
}

/* =========================================================
   Brand Icons
   ========================================================= */

.brand-icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  vertical-align: -8px;
}

.brand-icon-allmusic {
  width: 25px;
  height: 32px;
  vertical-align: -9px;
}

/* =========================================================
   Fields and Inputs
   ========================================================= */


.scan-file-input {
  display: none;
}


.field::placeholder {
  color: #666;
  opacity: 0.75;
}

.field-artist,
.field-title {
  font-weight: 400 !important;
  color: var(--text) !important;
  padding-left: 8px !important;
}




/* =========================================================
   Release Cards
   ========================================================= */


.empty-results {
  display: block;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: #e7eaed;
  color: #333;
  font-size: 12px;
  line-height: 1.25;
}


.select-release-btn:hover {
  background: #eaf8ef;
}





/* =========================================================
   Scanner Modal
   ========================================================= */

body.scanner-open {
  overflow: hidden;
}


.scanner-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}

.scanner-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 31, 63, 0.84);
}

.scanner-dialog {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  max-height: calc(100vh - 24px);
  display: grid;
  gap: 10px;
  overflow: auto;
  padding: 12px;
  border: 2px solid #ffffff;
  border-radius: 16px;
  background: var(--section);
  color: #ffffff;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
}

.scanner-header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.scanner-header h2 {
  margin: 0 0 4px;
  font-size: 16px;
  line-height: 1.1;
}

.scanner-header p {
  margin: 0;
  color: #eaf4ff;
  font-size: 12px;
  line-height: 1.3;
}

.scanner-close-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: var(--clear-blue);
  color: #ffffff;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.scanner-reader-wrap {
  position: relative;
  width: 100%;
  min-height: 260px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 12px;
  background: #000000;
}

.scanner-reader {
  width: 100%;
  min-height: 260px;
}

.scanner-reader video,
.scanner-reader canvas {
  width: 100% !important;
  min-height: 260px;
  object-fit: cover;
}

.scanner-target-frame {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(86%, 430px);
  height: min(34%, 160px);
  transform: translate(-50%, -50%);
  border: 3px solid rgba(255, 255, 255, 0.95);
  border-radius: 10px;
  box-shadow: 0 0 0 999px rgba(0, 0, 0, 0.28), 0 0 18px rgba(255, 255, 255, 0.26);
  pointer-events: none;
}

.scanner-target-frame::before,
.scanner-target-frame::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  height: 2px;
  background: rgba(255, 255, 255, 0.85);
}

.scanner-target-frame::before {
  top: 50%;
}

.scanner-target-frame::after {
  display: none;
}


.scanner-use-btn,

.scanner-cancel-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border: 2px solid #ffffff;
  border-radius: 8px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}


.scanner-use-btn {
  width: 64px;
  min-width: 64px;
  background: var(--find-green);
}

.scanner-use-btn:disabled {
  border-color: #9aa3ad;
  background: #8b96a3;
  cursor: default;
}

.scanner-cancel-btn {
  width: 100%;
  background: var(--clear-blue);
}

.scanner-manual-field {
  flex: 1 1 220px;
  min-width: 0;
}

.scanner-status {
  min-height: 34px;
  padding: 8px 10px;
  border: 1px solid #ffffff;
  border-radius: 8px;
  background: #ffffff;
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
}

.scanner-status.error {
  border-color: var(--error);
  color: var(--error);
}


.scanner-footer-actions {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.scanner-footer-actions .scanner-footer-button {
  width: auto;
  min-width: 0;
  flex: 1 1 0;
  min-height: 34px;
  padding: 0 10px;
}


.catalog-read-button {
  display: inline-flex;
  width: 74px;
  min-width: 74px;
  min-height: 34px;
  padding: 0 10px;
  align-items: center;
  justify-content: center;
  border: 1px solid #17575c;
  border-radius: 5px;
  background: #236f72;
  color: #ffffff;
  cursor: pointer;
  font: 800 11px/1 var(--control-font);
}

.catalog-read-button:hover,
.catalog-read-button:focus-visible {
  border-color: #0f484c;
  background: #17575c;
  outline: none;
}


.catalog-review-input-wrap {
  position: relative;
}


.catalog-review-clear {
  position: absolute;
  top: 50%;
  right: 5px;
  width: 32px;
  height: 32px;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #4d555d;
  cursor: pointer;
  font: 800 22px/1 var(--control-font);
}

.catalog-review-clear:hover,
.catalog-review-clear:focus-visible {
  color: var(--text);
  outline: 1px solid currentColor;
}

.scan-image-upload-dialog {
  width: min(520px, 100%);
}



.catalog-scanner-status:empty,
.catalog-scanner-status[hidden] {
  display: none;
}

.catalog-editor-stage {
  display: grid;
  width: 100%;
  gap: 8px;
}

.catalog-editor-canvas-wrap {
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 8px;
  background: #101820;
}

.catalog-editor-canvas {
  display: block;
  width: 100%;
  height: auto;
  touch-action: none;
  cursor: crosshair;
}

.catalog-editor-canvas:active {
  cursor: move;
}

.scan-image-choose-button {
  display: grid;
  width: 100%;
  min-height: 150px;
  padding: 18px;
  place-items: center;
  align-content: center;
  gap: 7px;
  border: 2px dashed rgba(255, 255, 255, .55);
  border-radius: 10px;
  background: rgba(0, 0, 0, .16);
  color: #ffffff;
  cursor: pointer;
}

.scan-image-choose-button:hover,
.scan-image-choose-button:focus-visible {
  border-color: #ffffff;
  background: rgba(255, 255, 255, .08);
  outline: none;
}

.scan-image-choose-icon {
  width: 28px;
  height: 28px;
  filter: brightness(0) invert(1);
}

.scan-image-choose-primary {
  font-size: 14px;
  font-weight: 800;
}

.scan-image-choose-secondary {
  font-size: 11px;
  opacity: .78;
}

/* =========================================================
   Responsive Foundations
   ========================================================= */

@media (max-width: 560px) and (pointer: coarse) {
  .lp-shell {
    width: calc(100% - 10px);
    margin-top: 5px;
  }


  .brand-icon {
    width: 26px;
    height: 26px;
    vertical-align: -7px;
  }

  .brand-icon-allmusic {
    width: 22px;
    height: 28px;
    vertical-align: -8px;
  }


  .scanner-modal {
    align-items: stretch;
    padding: 8px;
  }

  .scanner-dialog {
    width: 100%;
    max-height: calc(100vh - 16px);
    padding: 10px;
    gap: 8px;
  }

  .scanner-reader-wrap,
.scanner-reader,
.scanner-reader video,
.scanner-reader canvas {
    min-height: 300px;
  }

  .scanner-header h2 {
    font-size: 15px;
  }

  .scanner-header p,

.scanner-status,

.scanner-use-btn,

.scanner-cancel-btn {
    font-size: 11px;
  }



  .scanner-footer-actions {
    gap: 6px;
  }

  .scanner-footer-actions .scanner-footer-button {
    min-height: 38px;
    padding: 0 7px;
  }


}

/* =========================================================
   Catalog ID scanner refinements
   ========================================================= */

.catalog-target-frame {
  width: min(88%, 460px);
  height: min(24%, 110px);
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

html {
  background: #020d15;
}


/* =========================================================
   Brand icon colors
   ========================================================= */


.pending-link .brand-icon {
  opacity: 0.55;
  filter: grayscale(1);
}

/* =========================================================
   Entry area
   ========================================================= */


.field {
  border: 2px solid var(--border);
  border-radius: 8px;
  width: 100%;
  min-height: 26px;
  height: 26px;
  padding: 3px 34px 3px 8px;
  border-color: var(--border);
  background: var(--field);
  color: var(--text);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}

.field:focus {
  outline: 2px solid rgba(212, 189, 122, 0.38);
  border-color: #9d7b36;
}





/* =========================================================
   Cards
   ========================================================= */


.filter-hit{
  font-weight: 800;
  background: #acd2eb;
  color: #071728;
  border-radius: 4px;
  padding: 0 3px;
}


/* =========================================================
   Pricing Grid
   ========================================================= */

.snapshot-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 0;
  padding: 5px 10px 6px;
  background: var(--atomic-card-tan-light);
}

/* =========================================================
   Responsive Layout
   ========================================================= */


@media (max-width: 760px) and (pointer: coarse) {
  .field {
    min-height: 30px;
    height: 30px;
    font-size: 15px;
  }


}




/* =========================================================
   Release and Pricing Responsive Rules
   ========================================================= */


.snapshot-amazon-search-row {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 12px;
  margin-top: 3px;
}

.snapshot-search-line {
  display: flex;
  align-items: center;
  gap: 3px;
  min-width: 0;
  margin-top: 2px;
}


@media (max-width: 760px) and (pointer: coarse) {


  .snapshot-amazon-search-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
  }









/* =========================================================
   Shell and Card Spacing
   ========================================================= */






  .snapshot-grid {
    padding: 5px 8px 6px;
  }


}

/* =========================================================
   Embedded Results
   ========================================================= */

.snapshot-search-pair-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 18px;
  margin-top: 1px;
}

.snapshot-search-pair-row .snapshot-search-line {
  margin: 0;
  flex: 0 1 auto;
  min-width: 0;
}

@media (max-width: 760px) and (pointer: coarse) {


  .snapshot-search-pair-row {
    gap: 2px 12px;
  }
}







/* =========================================================
   Dynamic Details
   ========================================================= */

.detail-selectable-value {
  cursor: text;
  -webkit-touch-callout: default;
  -webkit-user-select: text;
  user-select: text;
}

/* =========================================================
   Album Flow
   ========================================================= */

/* Album card shell is owned by .atomic-workspace-card and .album-rollup-card. */


.result-external-icon {
  width: 12px;
  height: 12px;
}








/* =========================================================
   Album Links
   ========================================================= */


.album-result-id-link:hover:not(.pending-link) {
  text-decoration: underline;
}

.album-result-id-link.pending-link {
  color: inherit;
  pointer-events: none;
  text-decoration: none;
}







/* =========================================================
   Album Pricing Column
   ========================================================= */


.album-pricing-grid {
  display: block !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.album-pricing-content {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.album-pricing-content .snapshot-search-pair-row {
  display: flex !important;
  flex-wrap: wrap;
  gap: 2px 12px;
}

.select-release-btn .svg-icon {
  color: var(--success-green) !important;
  fill: currentColor !important;
  transform: translate(-0.5px, 0.5px);
  transform-origin: center;
}

.select-release-btn.is-selected .svg-icon{
  width: 15px !important;
  height: 15px !important;
  color: var(--success-green) !important;
  fill: currentColor !important;
}










/* =========================================================
   Status wording, two-row Releases controls,
header action order, pill instruction, brighter header green
   ========================================================= */

.status-blue-pill {
  display: inline-flex;
  min-height: 20px;
  margin: 0 3px;
  padding: 2px 8px;
  align-items: center;
  vertical-align: baseline;
  border: 1px solid #0b3355 !important;
  background: linear-gradient(180deg, #135b91 0%, var(--pill-blue) 100%) !important;
  color: #fff7e6 !important;
  box-shadow: none !important;
  border-radius: 999px !important;
}




/* =========================================================
   Pills and External Links
   ========================================================= */

.marketplace-external-icon,
.snapshot-source-link .marketplace-external-icon,
.album-pricing-market-link .marketplace-external-icon {
  width: 12px !important;
  height: 12px !important;
  margin-left: 2px;
  flex: 0 0 12px;
  color: currentColor;
  fill: currentColor;
}

/* =========================================================
   External Links
   ========================================================= */


.album-result-id-link .result-external-icon,
.album-pricing-market-link .result-external-icon,
.snapshot-source-link .result-external-icon,
.snapshot-search-line .result-external-icon {
  width: 12px !important;
  height: 12px !important;
  flex: 0 0 12px !important;
  margin-left: 1px !important;
  color: currentColor !important;
  fill: currentColor !important;
}

.album-pricing-market-link .brand-icon,
.snapshot-source-link .brand-icon,
.snapshot-search-line .brand-icon {
  width: 19px !important;
  height: 19px !important;
  flex: 0 0 19px !important;
  vertical-align: -4px !important;
}


/* =========================================================
   Mobile Containment
   ========================================================= */


.album-pricing-grid,
.album-pricing-market-link {
  min-width: 0;
  max-width: 100%;
}


.album-pricing-market-link,
.snapshot-source-link,
.snapshot-search-line a {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 760px) and (pointer: coarse) {
  html,
body {
    width: 100%;
    max-width: 100%;
  }
  .lp-shell {
    margin-top: 4px !important;
    margin-bottom: 12px !important;
}

  .input-form {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }









}









/* =========================================================
   Album Inputs and Status
   ========================================================= */


.input-field-shell {
  display: grid;
  grid-template-columns: 102px minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  height: 34px;
  min-height: 34px;
  border: 1px solid rgba(0, 31, 63, 0.24);
  border-radius: 7px;
  background: #fffdf8;
  overflow: hidden;
}

.input-field-label {
  padding: 0 8px;
  color: #546270;
  white-space: nowrap;
}

.input-field-label-with-icon {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

.input-label-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  color: var(--navy);
}

.input-label-icon .svg-icon {
  width: 14px;
  height: 14px;
}

.input-field-shell .field {
  min-width: 0;
  min-height: 32px;
  height: 32px;
  padding: 4px 8px;
  border: 0;
  border-left: 1px solid rgba(0, 31, 63, 0.12);
  border-radius: 0;
  background: transparent;
  font-size: 13px;
  font-weight: 500;
}

.input-field-shell .field:focus {
  border-color: rgba(0, 31, 63, 0.12);
  outline: 2px solid rgba(0, 94, 168, 0.18);
  outline-offset: -2px;
}

.input-field-shell .field::placeholder {
  color: #7a8793;
  opacity: 1;
}


@media (max-width: 760px) and (pointer: coarse) {


  .input-field-shell {
    grid-template-columns: 86px minmax(0, 1fr);
  }

  .input-field-label {
    padding: 0 5px;
  }

  .input-field-shell .field {
    padding: 4px 5px;
    font-size: 11px;
  }
}

@media (max-width: 520px) and (pointer: coarse) {
  .input-field-shell {
    grid-template-columns: 102px minmax(0, 1fr);
  }
}

@media (max-width: 430px) and (pointer: coarse) {


  .input-field-shell .field {
    font-size: 10px;
  }
}

@media (max-width: 390px) and (pointer: coarse) {
  .input-field-shell {
    grid-template-columns: 94px minmax(0, 1fr);
  }

  .input-field-label-with-icon {
    gap: 5px;
  }
}

/* =========================================================
   2026-07-24 Upper UI subsection layout
   ========================================================= */

/* Top subsection: beige outer card with header/actions on row 1
   and album inputs/status on row 2. */

.input-form {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  margin-top: 0;
}


/* Results subsection: dark blue frame, heading row, then two cards. */

/* FIND / ALBUM / RELEASES card shell is owned by .atomic-workspace-card. */


/* Releases row 1: action/count, details visibility, and autoload. */


/* Releases row 2: Filter button and all text fields. */

/* Releases row 3: Clear Filters and filter chips. */

/* Release title: Artist - Title (Discogs Rel ID xxxxx). */


/* =========================================================
   Current Atomic LP layout, typography, and action states
   ========================================================= */


html,
body,
button,
input,
select,
textarea,
label {
  font-family: var(--app-font);
}

body {
  margin: 0;
  color: var(--text);
  background: radial-gradient(circle at top left, rgba(212, 189, 122, 0.08), transparent 34rem), linear-gradient(180deg, #031f31 0%, #031a28 60%, #020d15 100%);
  font-size: var(--content-text-size);
  font-weight: var(--regular-text-weight);
}

button,
label,
.workflow-step-title,
.input-field-label,
.dynamic-detail-push-pill,
.status-blue-pill{
  font-size: var(--control-text-size);
  font-weight: var(--control-text-weight);
  line-height: 1.1;
  letter-spacing: normal;
  text-transform: none;
}

.field,
.version-filter-field,
.version-property-filter-field,
.scanner-manual-field,
input,
select,
textarea {
  font-size: var(--input-text-size);
  font-weight: var(--regular-text-weight);
  letter-spacing: normal;
}

.field::placeholder,
input::placeholder,
textarea::placeholder {
  font-weight: var(--regular-text-weight);
}

/* Ordinary card content uses one regular text treatment.
   Release-list summaries and Release Details copy use the shared compact
   treatment defined with the Release Explorer styles below. */

.album-result-section,
.album-pricing-content,
.snapshot-search-line {
  font-size: var(--content-text-size);
  font-weight: var(--regular-text-weight);
  line-height: 1.3;
}


/* Only explicit headings and field labels are emphasized. */


/* Header: larger logo and taller message field. */


/* Artist/Album workspace. */


/* Shared Album, Pricing, and Releases action buttons. */


.workflow-step-title {
  color: inherit;
  white-space: nowrap;
}


/* Unavailable actions may be quieter; completed actions never dim. */


/* The action stays stable while a record spins inside its status circle. */


/* Pricing action and result share one compact subsection. */

.pricing-results-section {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: var(--section-action-card-gap);
  padding: 5px;
  border: 1px solid var(--section-border);
  border-radius: 7px;
  background: var(--section);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Release card sizing/shell is owned by .atomic-workspace-card/.release-list-card. */


/* Releases frame and action row. */


/* Compact filter card with editable chips inside their text fields. */


/* Release cards: two independent vertical columns, not equal-height rows. */


/* Release-card content matches the application; links are adjusted below. */


/* =========================================================
   Artist workspace, action indicators, and filter controls
   ========================================================= */

/* Album inputs and results share one compact subsection. */

.artist-album-workspace-section {
  display: grid;
  grid-template-rows: auto;
  gap: 0;
  padding: 5px;
  border: 1px solid var(--section-border);
  border-radius: 9px;
  background: var(--section);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}


/* Camera and upload controls live inside the Barcode/Catalog label cells. */



.input-field-label-copy {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
  color: inherit;
  font: inherit;
  white-space: nowrap;
  cursor: pointer;
}


/* Every searchable text field has an inline clear control. */

.field-clear-button {
  display: inline-flex;
  width: 28px;
  min-width: 28px;
  height: 32px;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-left: 1px solid rgba(0, 31, 63, 0.12);
  background: transparent;
  color: #566574;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1;
  cursor: pointer;
}

.field-clear-button:hover,
.field-clear-button:focus-visible {
  background: #f5e8e5;
  color: #8f1f16;
  outline: none;
}

.field:placeholder-shown + .field-clear-button {
  opacity: 0;
  pointer-events: none;
}

/* Action buttons stay bright green in available, disabled, and complete states. */


#getAlbumBtn:disabled {
  opacity: 1 !important;
  filter: none !important;
}

/* Filter action replaces the former All Filters label. */

/* Show All Details now follows the same checkbox treatment as Autoload Details. */


/* All active links use the same bold green treatment. */


/* =========================================================
   Compact action spacing and immediate filter-chip display
   ========================================================= */


/* Match the action-to-card spacing in Album, Pricing, and Releases. */

.artist-album-workspace-section .input-form {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: var(--section-stack-gap);
  margin: 0;
}


/* Keep the live release count visibly inside the Releases action button. */


/* Preserve the visual two-card proportion while the right half is unused. */


/* Programmatic filter pushes render as pills immediately instead of waiting for blur. */

/* =========================================================
   2026-07-25 final action sizing, compact input rhythm, and section spacing
   ========================================================= */


/* Use one consistent vertical rhythm between the four primary sections. */

.lp-shell {
  width: min(576px, calc(100% - 10px));
  margin: 6px auto 18px;
  margin-top: 3px;
  margin-bottom: 7px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--section-stack-gap);
}

.workflow-header-section,
.artist-album-workspace-section,
.pricing-results-section {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
}

/* Album, Pricing, and Releases retain one fixed action width in every state. */


/* Match Artist/Album field spacing to the compact Release filter rhythm. */


.artist-album-workspace-section .input-field-shell .field,
.artist-album-workspace-section .field-clear-button {
  height: calc(var(--album-input-row-height) - 2px);
  min-height: calc(var(--album-input-row-height) - 2px);
}

/* Give the embedded camera and upload actions more usable click area. */



/* Release-card links inherit the same larger, bold link treatment as the app. */








/* =========================================================
   Header ticker wiring and final visual alignment
   ========================================================= */


/* Release-card release and marketplace links use the global green-link typography. */


/* Larger/wider Atomic LP header mark. */


.workflow-header-brand {
  display: flex;
  align-items: center;
  flex: 0 1 48%;
  padding-inline: 4px;
}

/* Newest ticker message remains at the bottom and pushes earlier lines upward. */


/* Filter controls occupy 65% of the card and keep Filter/Clear together. */


/* All Release filter labels use the Rel Date label width. */


/* Wider Scan and Upload controls. */

@media (max-width: 760px) and (pointer: coarse) {


  .workflow-header-brand {
    flex-basis: 100%;
    min-width: 0;
}


}



/* =========================================================
   persistent ticker, saved control, filter width
   ========================================================= */

/* Make the scan/upload actions visibly wider, including their label cell. */

/* Saved-release control uses the compact ticker/Winamp treatment. */


/* The Release filter card spans the section; its fields use about 75%. */

/* Match Release/Market links to the application's prominent green links. */


/* =========================================================
   ticker, album workspace, and Release-link cleanup
   ========================================================= */

/* Give the ticker more of the header and use its full available height. */

.workflow-header-section {
  display: grid !important;
  border: 1px solid var(--section-border);
  border-radius: 9px !important;
  background: var(--section);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  min-height: 132px !important;
  align-items: stretch !important;
}


/* Keep Saved Releases toggle directly under navigation controls. */


/* The Release filter card remains full width; its actual fields use 65%. */


/* Album inputs use about 65% of the full Album workspace. */


/* Push the album result content right and enlarge the cover by about 30%. */


/* Match Release and Market links to the prominent green hyperlinks. */


/* =========================================================
   55% inputs, embedded AllMusic, richer ticker
   ========================================================= */

/* Album and Release input regions use 55% of their full cards. */


/* Filter and Clear Filters occupy the former Filter Terms label position. */


/* AllMusic targets live inside the Artist and Album text fields. */


/* Fill the fixed ticker window with as many rows as fit. */


/* Correct the Release-card link cascade at the actual visible child spans.
   The previous anchor rule was being overridden by the generic card span rule. */


/* =========================================================
   stack Album result cover above metadata
   ========================================================= */

/* The right side of the Album workspace reads top-to-bottom:
   cover first, then year/country/label, then Discogs Master. */


/* =========================================================
   Fixed-height ticker viewport
   ========================================================= */

/* Keep the header ticker at a fixed size. New messages replace the oldest
   visible row at the top; message history remains available through < and >. */


/* =========================================================
   message readability, controls, album alignment
   ========================================================= */

/* Give ticker descenders enough room without changing its fixed height. */


/* Keep scan/upload actions right-aligned while preserving the input clear control. */


/* Position AllMusic links immediately after the current field value. */


/* Prevent the expanded Clear All Filters label from colliding with the entry field. */


/* =========================================================
   header controls, top-aligned cover, filter action
   ========================================================= */

/* Keep the ticker control rail separate from the message viewport. Earlier
   display:contents overrides flattened these children into the ticker grid,
   causing the message box and saved-release controls to overlap. */


/* Provide visible separation before embedded AllMusic links. */


/* Clear All Filters now belongs at the far-right of the Releases action row. */


/* =========================================================
   ticker controls, square cover, in-card filter clear
   ========================================================= */

/* Align each arrow directly beneath its corresponding count box. */


/* Keep the cover frame and image square regardless of source proportions. */


/* Visually frame only the most recent message. */


/* Keep Clear All Filters inside the Releases card, upper-right. */


/* =========================================================
   stable ticker viewport, top-aligned filters/results
   ========================================================= */

/* Keep the ticker viewport fixed and reserve enough vertical room for each
   line, including descenders and the latest-message frame. */


/* Clear All Filters stays in the card without reserving a blank row that
   pushes the filter controls down. */


/* Album cover and album text share the same top row. */


/* Consistent black outline for all primary and utility action buttons. */

button.workflow-step{
  border: 1px solid #000 !important;
}

/* =========================================================
   wrapped ticker messages and pricing return state
   ========================================================= */

/* Messages begin at the top of the fixed viewport. They may wrap to a second
   line; JavaScript removes the oldest visible rows until the newest message
   fits completely. */


/* In-progress/request messages remain standard green. Returned values are blue. */


/* Make the selected/unselected saved state obvious without changing the line
   prefix position. */


/* Reserve the top-right action row so album text is not covered by Clear
   Album, then vertically center the square cover beside the metadata. */


/* utility-button placement and ticker alignment */


/* keep Release filter inputs aligned with the 65% Album input width. */


/* ticker fit, album-result spacing, compact message prefix. */


/* Use the same atomic save control in Release cards and Messages. */

/* Use the same atomic save control in Release cards and Messages. */

.select-release-btn,
.lp-shell .album-message-saved-star {
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  padding: 3px;
  border-radius: 50%;
}


.select-release-btn .svg-icon,
.lp-shell .album-message-saved-star .svg-icon {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  object-fit: contain !important;
  filter: none !important;
}

.select-release-btn.is-selected .svg-icon,
.lp-shell .album-message-saved-star.is-selected .svg-icon {
  filter: brightness(0) invert(1) !important;
}


/* =========================================================
   AllMusic links in labels and 70% input regions
   ========================================================= */


/* Artist/Album label cells match the Barcode/Catalog action-label width. */


/* Camera and Upload buttons 20% wider than the prior 32px control. */


/* =========================================================
   saved-icon state, label alignment, and ticker fit
   ========================================================= */

/* Keep the atomic save icon blue in both states. Saved reverses to a blue
   circular field with the white atomic mark; unsaved remains blue on white. */

.select-release-btn{
  flex: 0 0 auto;
  align-self: flex-start;
  margin-left: auto;
  cursor: pointer;
  box-sizing: border-box !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1.5px solid var(--success-green-dark);
  border-color: #0878bd;
  background: #ffffff;
  color: #0878bd;
  box-shadow: none;
}

/* Pull the saved-message action to the left edge and leave a deliberate,
   compact gap before the linked message text. */


/* Keep every Album input label cell the same width. Action buttons and
   AllMusic links sit next to their label text instead of being pushed right. */


/* Protect the selected-message outline from bottom clipping in the fixed
   ticker viewport. */


/* =========================================================
   wider scan actions, 65% inputs, three-row filters
   ========================================================= */

/* Album inputs and result split return to 65/35. */

/* Album and Release entry regions use the same 65% width. */


/* Make the shared label cells wide enough for genuinely larger actions. */

/* Camera and Upload actions are about 20% wider than the previous 38px. */


/* Three rows: Filter; Cat ID / Rel Date / Country; Label. */


/* =========================================================
   filter spacing, working detail push, unified links
   ========================================================= */

/* Keep a visible gutter between the 65% filter inputs and divider. */

/* Pricing and Release-card green links share one typography definition.
   Include child spans because earlier generic card-span rules can otherwise
   override the text rendered inside the anchor. */


/* =========================================================
   saved tooltip and compact Release filter labels
   ========================================================= */

/* Filter action is about 20% narrower than the prior 70px control. */


/* Cat ID and Label cells are about 30% narrower than 66px. */


/* Release Date and Country cells are about 20% narrower than 66px. */


/* =========================================================
   matched divider gutters
   ========================================================= */

/* Use the Album input-side gutter as the shared spacing standard. */


/* Match the Release input-to-divider gap to the Album input gap. */


/* Reduce the left-side buffer inside the Album result pane. */


/* =========================================================
   compact Album labels, wider scan actions
   ========================================================= */

/* Reduce unused label padding while retaining room for two larger actions. */

.artist-album-workspace-section .input-field-label {
  padding-left: 6px !important;
  padding-right: 5px !important;
  column-gap: 4px !important;
}


/* Actual 40% increase from the previous 46px scan buttons. */


/* AllMusic links occupy the far-right side of their matching label cell. */

/* =========================================================
   compact scan-label spacing
   ========================================================= */

/* Keep the Barcode/Catalog ID text-to-button gap equal to the gap
   between the Camera and Upload buttons. */


/* =========================================================
   ticker density, scan-label alignment, filter pills
   ========================================================= */

/* Five readable rows in the existing header footprint. */


/* Keep the scan actions flush right with only the same 5px gap between items. */


/* =========================================================
   Release pill and filter-row ordering
   ========================================================= */

/* Three rows: Filter/All Filters; Cat ID + Rel Date; Country + Label. */


/* Release-card pills: row 1 Cat ID then Release Date; row 2 Country then Label. */


/* =========================================================
   compact filter labels and ticker control spacing
   ========================================================= */

/* Use one compact label width for Filter, Cat ID, Rel Date, Country, Label. */


/* Standard ticker rows use exactly one visible space after the > marker. */


/* Compact msg 22 of 22 and align arrows with the corresponding count boxes. */


/* =========================================================
   Release filter proportions and button fill
   ========================================================= */

/* Row 2: Cat ID wide, Rel Date half-width. Row 3: Label wide, Country half-width. */


/* =========================================================
   aligned AllMusic targets, filter width, Release ID link
   ========================================================= */

/* Center each AllMusic target under the Camera/Upload action pair above it. */


/* Match Filter width to the Cat ID and Label label cells below it. */


/* Keep Release ID on the title line and preserve the shared green-link style. */





/* =========================================================
   Session Saved List and persistent User Library
   ========================================================= */


/* Discogs user collection lookup within Pricing. */
/* Atomic LP account login */
.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 2rem; background: #101820; }
.auth-card { width: min(26rem, 100%); display: grid; gap: .8rem; padding: 2rem; border-radius: .8rem; background: #f4ecd8; color: #17222c; }
.auth-card h1,
.auth-card p { margin: 0; }
.auth-card input { width: 100%; box-sizing: border-box; padding: .7rem; border: 1px solid #767676; border-radius: .35rem; }
.auth-card button { margin-top: .4rem; padding: .75rem; border: 0; border-radius: .35rem; font-weight: 700; cursor: pointer; }
.auth-message.error { padding: .6rem; border: 1px solid #8f2525; border-radius: .35rem; }


/* =========================================================
   2026-08-01 progressive enrichment and roomier Album inputs
   ========================================================= */


.compact-scan-field-shell,
.artist-album-workspace-section .compact-text-field-shell {
  grid-template-columns: var(--album-field-leading-width) minmax(0, 1fr) 28px;
}


@media (max-width: 760px) and (pointer: coarse) {
  :root {
    --album-field-leading-width: 190px;
    --compact-scan-button-width: 50px;
}
}

@media (max-width: 430px) and (pointer: coarse) {
  :root {
    --album-field-leading-width: 176px;
    --compact-scan-button-width: 46px;
}


}

/* Use the complete right-hand half for candidate choices. */


/* Keep AllMusic directly beside Artist/Album instead of at a distant tab stop. */


/* The resolved pane contains only the Master and Spotify actions. */


/* Keep the field label at the left and center the AllMusic target in the
   remaining label-cell space. */


/* A Possible Matches table owns the complete result pane. Never retain or
   reveal album art from the preceding search while that table is visible. */


/* =========================================================
   2026-08-01 AllMusic action-column alignment
   ========================================================= */

/* The AllMusic target occupies the same right-hand sub-column as the paired
   scan/upload buttons above it, so both rows share one exact center line. */


/* The left Album panel may grow beneath the four input rows to hold the
   resolved cover, Spotify, Amazon, and eBay targets. */


/* Pricing retains the Master Marketplace and Collection controls; the compact
   summary no longer needs to reserve room for Amazon/eBay links. */
.pricing-results-section .album-pricing-grid {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}

/* The right pane now contains only the resolved Master and possible matches.
   Let it stretch to the taller left panel and give the candidate list the
   remaining vertical space. */


/* =========================================================
   Pricing and Release workspace
   ========================================================= */
/* Pricing controls */

/* Summary/details filter toolbar */
/* Marketplace table */
.discogs-marketplace-version-table-wrap,
.discogs-marketplace-version-table-wrap[hidden] {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  max-height: var(--marketplace-table-max-height);
  overflow: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.discogs-marketplace-version-table {
  border-collapse: collapse;
  table-layout: fixed;
  font-family: var(--app-font);
  line-height: 1.3;
}

.discogs-marketplace-version-table th,
.discogs-marketplace-version-table td {
  box-sizing: border-box !important;
  min-width: 0;
  max-width: none;
  white-space: normal;
  overflow-wrap: anywhere !important;
  word-break: normal;
}

.discogs-marketplace-version-table tbody tr {
  cursor: pointer;
}

.marketplace-column-header-row th {
  position: sticky;
  top: 0;
  z-index: 5;
  height: var(--marketplace-header-height);
  padding: 3px 5px;
  vertical-align: middle !important;
  background: #edf3e9;
  color: #123e25;
  font-size: var(--control-text-size);
  font-weight: 800;
  line-height: 1.2;
}

.discogs-marketplace-version-table .filter-hit {
  background: #acd2eb !important;
  color: #071728 !important;
}

/* Release detail cards */


/* =========================================================
   Album cover and ticker controls
   ========================================================= */


.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


.version-count-readout {
  display: inline-flex;
  min-height: 22px;
  padding: 2px 8px;
  align-items: center;
  border: 1px solid var(--success-green);
  border-radius: 999px;
  background: #eef8f1;
  color: #000000;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}









/* =========================================================
   Canonical application hyperlinks
   Every active green link uses this one application-level style.
   Component CSS may control layout, but not link typography or color.
   ========================================================= */
.lp-shell a.external-green-link:not(.pending-link),
.lp-shell a.status-version-link,
.lp-shell a.status-green-link {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--atomic-green-link, var(--success-green));
  font-family: var(--app-font);
  font-size: var(--link-text-size, 12px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: normal;
  text-decoration: none;
}

.lp-shell a.external-green-link:not(.pending-link) > span,
.lp-shell a.status-version-link > span,
.lp-shell a.status-green-link > span {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: inherit;
}


.lp-shell a.external-green-link:not(.pending-link):hover,
.lp-shell a.external-green-link:not(.pending-link):focus-visible,
.lp-shell a.status-version-link:hover,
.lp-shell a.status-version-link:focus-visible,
.lp-shell a.status-green-link:hover,
.lp-shell a.status-green-link:focus-visible,
.lp-shell a.app-main-link:not(.pending-link):hover,
.lp-shell a.app-main-link:not(.pending-link):focus-visible,
.lp-shell a.app-blue-link:not(.pending-link):hover,
.lp-shell a.app-blue-link:not(.pending-link):focus-visible,
.lp-shell > .workflow-header-section .album-message-line.is-saved .status-saved-release-link:hover,
.lp-shell > .workflow-header-section .album-message-line.is-saved .status-saved-release-link:focus-visible,
:root body .lp-shell .album-header-collection #discogsCollectionMatchResult a:hover,
:root body .lp-shell .album-header-collection #discogsCollectionMatchResult a:focus-visible {
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
/* =========================================================
   Details compatibility hook.
   ========================================================= */


/* The former Details-card button remains only as a compatibility event hook. */


/* =========================================================
   2026-08-06 p21: shared application link styles.
   ========================================================= */

/* Header message controls are independent: Messages shows all status lines;
   Saved Releases shows only saved-release lines. */

/* Reusable primary blue link. The established green link remains available
   through .external-green-link for release/release IDs in tables and cards. */
/* Canonical blue application-link typography shared by both link families. */
.lp-shell a.app-main-link:not(.pending-link),
.lp-shell a.app-main-link:not(.pending-link) > span,
.lp-shell a.app-blue-link:not(.pending-link),
.lp-shell a.app-blue-link:not(.pending-link) > span {
  color: #083d9b;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

/* app-blue-link adds the application font/letter-spacing contract. */
.lp-shell a.app-blue-link:not(.pending-link),
.lp-shell a.app-blue-link:not(.pending-link) > span {
  font-family: var(--app-font);
  letter-spacing: normal;
}


/* =========================================================
   2026-08-06 p29: idle workflow state, compact card stack,
   unified status-button geometry, and inline Details toggle.
   ========================================================= */


/* Remove the remaining inter-card gutters. Search-to-Match retains only the
   same 2px separator used by the inner card rhythm. */
.lp-shell > .workflow-header-section,
.lp-shell > .artist-album-workspace-section,
.lp-shell > .pricing-results-section{
  margin: 0;
}


/* =========================================================
   2026-08-06 p43: Release Explorer and Release Details.
   Canonical component styles; superseded dated overrides removed.
   ========================================================= */

/* Release Explorer: card, heading, table, and status tab. */
/* Release card padding is defined by the current RELEASES layout below. */


/* Release Explorer: canonical four-column table.
   Release ID, summary, and Listings (min) stay compact; metadata consumes remaining width. */
.version-list-section .discogs-marketplace-version-table {
  width: 100%;
  min-width: 0;
  max-width: none;
  font-size: var(--content-text-size);
  font-weight: var(--regular-text-weight);
}


.version-list-section .marketplace-column-header-row th {
  top: 0;
}

.version-list-section .marketplace-version-id-cell {
  white-space: nowrap;
}

.version-list-section .marketplace-version-id-cell > .marketplace-version-actions{
  display: inline-flex;
  width: 24px;
  min-width: 24px;
  margin: 0 4px 0 0;
  align-items: center;
  justify-content: center;
  vertical-align: middle !important;
}

.version-list-section .marketplace-version-id-cell .select-release-btn{
  width: 24px;
  min-width: 24px !important;
  height: 24px;
  min-height: 24px !important;
  margin: 0;
  padding: 2px !important;
  border: 0;
  background: transparent;
}

.version-list-section .marketplace-version-id-cell .select-release-btn .svg-icon{
  width: 17px !important;
  height: 17px !important;
}

.version-list-summary-row {
  display: none;
}

/* Release Details: independent card, static heading, and expanded detail cards. */


/* =========================================================
   2026-08-06 p44: Marketplace and Collection.
   Canonical market-summary, collection-state, and marketplace-cell styles.
   ========================================================= */

/* Market Summary (All Releases) */

.album-market-summary-card #snapshotGrid .album-pricing-content {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}


.album-market-summary-card #discogsMktLink {
  margin-top: 0;
  padding-top: 0;
}


/* Collection state under About This Record and in Release Explorer rows. */


.discogs-marketplace-version-table tbody tr.is-in-discogs-collection {
  box-shadow: inset 3px 0 0 #0875c9;
}

/* Release Explorer marketplace cells. */
.marketplace-version-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-self: center;
  gap: var(--space-1);
}

.marketplace-version-actions .select-release-btn {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 1px;
  line-height: 1;
}

.marketplace-version-actions .select-release-btn .svg-icon {
  width: 12px !important;
  height: 12px !important;
}

.marketplace-row-external-icon {
  width: 10px;
  min-width: 10px;
  height: 10px;
  margin: 0;
  object-fit: contain !important;
}


/* =========================================================
   2026-08-06 p45: Header, Messages, and Search Controls.
   Canonical component styles; superseded dated overrides removed.
   ========================================================= */

/* p61 — Condensed cross-platform header, Pass 1. */
.lp-shell > .workflow-header-section {
  position: relative !important;
  z-index: 200 !important;
  display: grid !important;
  grid-template-columns: minmax(190px, 270px) minmax(0, 1fr) !important;
  width: 100% !important;
  min-height: 64px !important;
  height: 64px !important;
  gap: 10px !important;
  padding: 6px 10px !important;
  align-items: center !important;
  border-color: var(--border) !important;
  background: linear-gradient(180deg, #061a2d 0%, #031426 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025) !important;
}

.lp-shell > .workflow-header-section > .workflow-header-brand {
  position: relative;
  z-index: 3;
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 270px;
  height: 52px;
  min-height: 52px;
  padding: 0;
  align-items: center;
  justify-content: flex-start;
  overflow: visible;
  pointer-events: auto;
}

.lp-shell > .workflow-header-section > .workflow-header-brand > .workflow-header-logo-button {
  position: relative;
  z-index: 4;
  display: flex;
  width: auto;
  max-width: 100%;
  height: 50px;
  min-height: 50px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: flex-start;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  aspect-ratio: auto;
}

.lp-shell > .workflow-header-section > .workflow-header-brand > .workflow-header-logo-static {
  cursor: default;
  pointer-events: none;
}

.lp-shell > .workflow-header-section > .workflow-header-brand .workflow-header-logo {
  display: block;
  width: auto;
  max-width: 255px;
  height: 46px;
  max-height: 46px;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  object-position: left center;
  pointer-events: none;
}

.lp-shell > .workflow-header-section .workflow-header-main,
.lp-shell > .workflow-header-section .workflow-header-actions {
  display: flex;
  min-width: 0;
  justify-content: flex-end;
}

.lp-shell > .workflow-header-section .workflow-header-main {
  position: relative !important;
  min-height: 52px !important;
  height: 52px !important;
  max-height: 52px !important;
  align-items: center !important;
  gap: 0 !important;
}

.lp-shell > .workflow-header-section .workflow-header-actions {
  position: static;
  flex: 0 0 auto;
  flex-direction: row;
  flex-wrap: nowrap;
  width: auto;
  max-width: none;
  height: 46px;
  min-height: 46px;
  align-items: center;
  gap: 4px;
  justify-self: auto;
  align-self: center;
}

.lp-shell > .workflow-header-section .workflow-header-action {
  display: inline-flex;
  width: auto;
  min-width: 0;
  max-width: none;
  height: 42px;
  min-height: 42px;
  margin: 0;
  padding: 0 11px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #ffffff;
  box-shadow: none;
  cursor: pointer;
  font: 700 11px/1 var(--control-font);
  white-space: nowrap;
}

.lp-shell > .workflow-header-section .workflow-header-action:hover,
.lp-shell > .workflow-header-section .workflow-header-action:focus-visible,
.lp-shell > .workflow-header-section .workflow-header-action[aria-expanded="true"] {
  border-color: #526f87;
  background: #0a2844;
  outline: none;
}

.lp-shell > .workflow-header-section .workflow-header-action-icon-wrap {
  position: relative;
  display: inline-flex;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  align-items: center;
  justify-content: center;
}

.lp-shell > .workflow-header-section .workflow-header-action-icon,
.lp-shell > .workflow-header-section .workflow-settings-icon {
  display: block;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  color: #ffffff;
  filter: brightness(0) invert(1);
}



.lp-shell > .workflow-header-section .workflow-header-action-badge {
  position: absolute;
  top: -5px;
  right: -7px;
  display: none;
  min-width: 15px;
  height: 15px;
  padding: 0 4px;
  align-items: center;
  justify-content: center;
  border: 1px solid #031426;
  border-radius: 999px;
  background: #f07822;
  color: #ffffff;
  font: 800 8px/13px var(--control-font);
}


.workflow-settings-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
}


.workflow-settings-option {
  display: flex !important;
  min-height: 24px !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 2px 3px !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  cursor: pointer !important;
  font: 400 11px/1.15 var(--control-font) !important;
}

.workflow-settings-option:hover,
.workflow-settings-option:focus-within {
  background: transparent !important;
}

.workflow-settings-option input[type="checkbox"] {
  width: 14px !important;
  min-width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
}

.workflow-settings-option input[type="checkbox"]:focus-visible {
  outline: 2px solid #7ec8ff !important;
  outline-offset: 2px !important;
}


.workflow-settings-account-email {
  overflow: hidden !important;
  color: #c9d8e6 !important;
  font: 500 10px/1.2 var(--control-font) !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.workflow-settings-signout-form {
  margin: 0 !important;
  padding: 0 !important;
}

.workflow-settings-signout {
  display: flex !important;
  width: 100% !important;
  min-height: 30px !important;
  padding: 5px 7px !important;
  align-items: center !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: #ff8b82 !important;
  cursor: pointer !important;
  font: 700 11px/1 var(--control-font) !important;
  text-align: left !important;
}

.workflow-settings-signout:hover,
.workflow-settings-signout:focus-visible {
  background: #0a2844 !important;
  outline: none !important;
}

/* Header-anchored activity/status panel. */
.lp-shell > .workflow-header-section .workflow-header-panel {
  min-width: 0;
  border: 1px solid #526f87;
  border-radius: 7px;
  background: linear-gradient(180deg, #061a2d 0%, #020d18 100%);
}


.lp-shell > .workflow-header-section #workflowDetailsPanel.header-details-panel {
  position: absolute;
  z-index: 300;
  top: calc(100% + 8px);
  right: 0;
  display: block;
  width: min(750px, calc(100vw - 36px));
  min-width: min(500px, calc(100vw - 36px));
  max-width: 750px;
  height: 230px;
  min-height: 230px;
  max-height: 230px;
  padding: 6px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.42);
}


.lp-shell > .workflow-header-section #workflowDetailsPanel .header-album-ticker-wrap,
.lp-shell > .workflow-header-section #workflowDetailsPanel .album-message-ticker {
  width: 100% !important;
  height: 216px !important;
  min-height: 216px !important;
  max-height: 216px !important;
}


.lp-shell > .workflow-header-section #albumMessageDisplay.album-message-display {
  width: 100% !important;
  height: 180px !important;
  min-height: 180px !important;
  max-height: 180px !important;
  padding: 5px 8px !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 9.5px !important;
  line-height: 1.16 !important;
  user-select: text;
  cursor: text !important;
  scrollbar-width: thin;
  scrollbar-color: #6f8294 transparent;
  scrollbar-gutter: stable;
  white-space: normal !important;
}

.lp-shell > .workflow-header-section #albumMessageDisplay::-webkit-scrollbar {
  width: 7px;
}

.lp-shell > .workflow-header-section #albumMessageDisplay::-webkit-scrollbar-track {
  background: transparent;
}

.lp-shell > .workflow-header-section #albumMessageDisplay::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #6f8294;
}

.lp-shell > .workflow-header-section .album-message-line {
  display: block !important;
  min-height: 11px !important;
  margin: 0 !important;
  padding: 1px 0 !important;
  line-height: 1.16 !important;
}

.lp-shell > .workflow-header-section .album-message-line.is-current {
  margin-bottom: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}


.lp-shell > .workflow-header-section .album-message-line,
.lp-shell > .workflow-header-section .album-message-line a,
.lp-shell > .workflow-header-section a.status-green-link,
.lp-shell > .workflow-header-section a.status-version-link {
  color: #ffffff !important;
}

/* One horizontal Search card with four direct-entry fields. */
.artist-album-workspace-section > .input-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--section-stack-gap);
}


/* Legacy p45 selector contract; live Scan/Upload styling is canonicalized in the teal action base below. */
.record-search-scan-button {
  height: 30px;
  background: var(--success-green);
}


.artist-album-workspace-section .record-search-field,
.artist-album-workspace-section .record-search-field.input-field-shell,
.artist-album-workspace-section .record-search-field.compact-scan-field-shell,
.artist-album-workspace-section .record-search-field.compact-text-field-shell {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  height: 30px;
  min-height: 30px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.artist-album-workspace-section .record-search-field > .visually-hidden {
  position: absolute !important;
  width: 8px !important;
  min-width: 8px !important;
  max-width: 8px !important;
  height: 8px !important;
  min-height: 8px !important;
  max-height: 8px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  opacity: 0 !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

.artist-album-workspace-section .record-search-field > input.field {
  display: block;
  box-sizing: border-box !important;
  width: 100%;
  min-width: 0;
  height: 30px;
  min-height: 30px;
  margin: 0;
  padding: 3px 27px 3px 10px;
  border: 1px solid rgba(65, 97, 127, 0.55);
  border-radius: 5px;
  background: #ffffff;
  color: #101820;
  font: 500 11px/1 var(--app-font);
  box-shadow: none;
}

.artist-album-workspace-section .record-search-field > input.field:focus {
  border-color: #1769c2 !important;
  outline: 2px solid rgba(23, 105, 194, 0.16) !important;
  outline-offset: 0 !important;
}

.artist-album-workspace-section .record-search-field > input.field::placeholder {
  color: #707984 !important;
  opacity: 1 !important;
}

.artist-album-workspace-section .record-search-field > .field-clear-button {
  position: absolute !important;
  z-index: 2 !important;
  top: 50% !important;
  right: 3px !important;
  display: inline-flex !important;
  width: 23px !important;
  min-width: 23px !important;
  height: 24px !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #53606d !important;
  font: 500 17px/1 Arial, sans-serif !important;
}

.artist-album-workspace-section .record-search-field > .field-clear-button:hover,
.artist-album-workspace-section .record-search-field > .field-clear-button:focus-visible {
  background: #e7ebef !important;
  color: #081828 !important;
  outline: none !important;
}


/* =========================================================
   2026-08-06 p46: Record Match and About This Record.
   Canonical component styles; superseded candidate/album overrides removed.
   ========================================================= */

/* Record Match / About card shell. */
.artist-album-workspace-section .album-rollup-workspace {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: transparent;
}

.artist-album-workspace-section #artistAlbumCard.album-rollup-card {
  display: block;
  padding: 0;
  overflow: visible;
  /* Preserve the Album card's intentionally flat interior shadow. */
  box-shadow: none !important;
}



/* Match card typography uses the canonical compact reading style. */
.lp-shell #artistAlbumCard {
  --match-card-base-size: 11.5px;
  --match-card-link-size: 12px;
  --match-card-base-weight: 500;
}

/* About This Record layout. Market Summary/Collection content remains owned by p44. */
.lp-shell #artistAlbumCard .album-about-row {
  display: block;
  padding: var(--status-card-inset-y) var(--status-card-inset-x) 8px;
  background: #f7efd7;
  border-radius: 7px;
}

.lp-shell #artistAlbumCard #albumResultMain,
.lp-shell #artistAlbumCard #albumResultMain.has-resolved-cover,
.lp-shell #artistAlbumCard .album-result-copy,
.lp-shell #artistAlbumCard .album-result-meta,
.lp-shell #artistAlbumCard #albumResolvedMetadata {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.lp-shell #artistAlbumCard .album-result-cover,
.lp-shell #artistAlbumCard .album-input-cover,
.lp-shell #artistAlbumCard #albumResultCover:not([hidden]) {
  position: relative;
  display: inline-flex;
  width: 104px;
  min-width: 104px;
  height: 104px;
  min-height: 152px;
  aspect-ratio: 1 / 1 !important;
  margin: 0;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(0, 31, 63, 0.25);
  border-radius: 6px;
  background: #fffdf8;
}

.lp-shell #artistAlbumCard .album-result-cover-image {
  position: relative;
  z-index: 2;
  display: block;
  width: 104px;
  min-width: 104px;
  max-width: 104px;
  height: 104px;
  min-height: 104px;
  max-height: 104px;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 3px;
}

.lp-shell #artistAlbumCard .album-result-cover.is-cover-placeholder::after,
.lp-shell #artistAlbumCard .album-input-cover.is-cover-placeholder::after {
  content: "";
  display: block;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(0, 31, 63, 0.18);
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.4);
}


.lp-shell #artistAlbumCard .album-about-link {
  width: fit-content;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis !important;
  white-space: nowrap;
}

/* All visible Match-card links share one blue typography treatment. */
.lp-shell #artistAlbumCard a.match-card-link,
.lp-shell #artistAlbumCard a.match-card-link:visited {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  align-items: center !important;
  gap: 4px !important;
  color: #083d9b !important;
  font-family: var(--app-font) !important;
  font-size: var(--match-card-link-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.lp-shell #artistAlbumCard a.match-card-link > span {
  color: inherit;
  font: inherit;
}

/* Quick Links inside About This Record. */
.lp-shell #artistAlbumCard .album-quick-links-card .album-input-external-links {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 6px;
  margin-top: 9px;
}


.lp-shell #artistAlbumCard .album-quick-links-card .album-input-external-links a.app-main-link,
.lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links a.app-main-link,
.lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links .snapshot-search-line {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis !important;
  white-space: nowrap;
}

.lp-shell #artistAlbumCard .album-quick-links-card .album-input-external-links a.app-main-link,
.lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links a.app-main-link {
  gap: 4px;
}

.lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links {
  display: grid;
  min-width: 0;
  gap: 5px;
}


.lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links .snapshot-search-pair-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
  margin: 0;
}

.lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links .snapshot-search-line {
  gap: 0;
  color: var(--ink, #17251f);
  font-family: var(--app-font);
  font-size: var(--match-card-base-size);
  font-weight: var(--match-card-base-weight);
  line-height: 1.25;
}


.lp-shell #artistAlbumCard .album-quick-links-card .brand-icon-spotify{
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  object-fit: contain !important;
}


/* =========================================================
   2026-08-06 p47: Find Pressing and Release Filters.
   Canonical filter row, filter tokens, visible-count readout, and responsive styles.
   ========================================================= */

/* Visible Releases count */
.version-list-card > .version-list-section-header .pricing-visible-version-count,
.version-list-card > .version-list-section-header #releaseVersionsCountLabel {
  display: inline-flex;
  width: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  align-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #17212b;
  white-space: nowrap;
}


/* Find Pressing filter row */


/* Editable filter field and its in-field tokens */
.version-list-filter-entry {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  height: 30px;
  min-height: 30px;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(65, 97, 127, 0.55);
  border-radius: 5px;
  background: #ffffff;
}

.version-list-filter-entry .field,
.version-list-filter-entry .version-filter-field,
.version-list-filter-entry .version-property-filter-field {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  height: 28px;
  min-height: 28px;
  margin: 0;
  padding: 3px 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.version-list-filter-entry .filter-field-chips {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  top: 3px;
  left: 5px;
  right: 5px;
  display: flex;
  min-width: 0;
  height: 23px;
  align-items: center;
  gap: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  white-space: nowrap;
}


.version-list-filter-entry.has-filter-chips:not(.is-editing) .field {
  color: transparent !important;
  caret-color: transparent;
}

.version-list-filter-entry.has-filter-chips:not(.is-editing) .field::placeholder {
  color: transparent !important;
}

.version-list-filter-entry.has-filter-chips:not(.is-editing) .filter-field-chips {
  display: flex;
}

.version-list-filter-entry .version-filter-state-field {
  position: absolute;
  top: 0;
  left: -10000px;
  z-index: -1;
  width: 1px;
  opacity: 0;
}

.version-list-filter-entry .version-filter-state-field:focus {
  position: relative;
  left: auto;
  z-index: 5;
  width: 100%;
  opacity: 1;
  background: #ffffff;
}

.field-filter-chip {
  display: inline-flex;
  pointer-events: auto;
  flex: 0 0 auto;
  height: 22px;
  align-items: center;
  overflow: hidden;
  border: 1px solid #0b3355;
  border-radius: 999px;
  background: var(--pill-blue);
  color: #ffffff;
}

.field-filter-chip-edit,
.field-filter-chip-remove {
  display: inline-flex;
  height: 20px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: inherit;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.field-filter-chip-edit {
  max-width: 150px;
  padding: 0 5px 0 7px;
  overflow: hidden;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.field-filter-chip-remove {
  width: 21px;
  min-width: 21px;
  padding: 0 3px 1px 1px;
  font-size: 14px;
}

.field-filter-chip-edit:hover,
.field-filter-chip-remove:hover,
.field-filter-chip-edit:focus-visible,
.field-filter-chip-remove:focus-visible {
  background: rgba(255, 255, 255, 0.16);
  outline: none;
}


/* Shared blue-pill visual treatment. Metadata pills are interactive;
   embedded Details labels reuse the same treatment but remain static. */
.dynamic-detail-push-pill {
  display: inline;
  padding: 1px 6px 2px;
  border: 1px solid var(--pill-blue-dark);
  border-radius: 999px;
  background: linear-gradient(180deg, #135b91 0%, var(--pill-blue) 100%);
  color: #ffffff;
  font: inherit;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}


.dynamic-detail-push-pill:focus-visible {
  outline: 2px solid #f4c542;
  outline-offset: 2px;
}

.automatic-column-filter-pill-group {
  display: flex;
  max-width: 100%;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 3px;
}

.automatic-column-filter-pill {
  display: inline-block;
  max-width: 100%;
  padding: 1px 5px 2px;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: left;
}


/* =========================================================
   2026-08-06 p48: Saved Releases, Message Ticker, and Utilities.
   Canonical live-state styles; retired ticker navigation removed.
   ========================================================= */

/* Saved-list actions remain in the p45 header action rail. */
.lp-shell > .workflow-header-section #statusShowSavedToggle {
  cursor: pointer !important;
}
/* The current ticker is a toolbar plus a scrollable message history. */
.lp-shell > .workflow-header-section #workflowDetailsPanel .header-album-ticker-wrap,
.lp-shell > .workflow-header-section #workflowDetailsPanel .album-message-ticker,
.lp-shell > .workflow-header-section #albumMessageDisplay.album-message-display {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.lp-shell > .workflow-header-section #workflowDetailsPanel .header-album-ticker-wrap {
  display: flex !important;
  align-items: stretch !important;
}

.lp-shell > .workflow-header-section #workflowDetailsPanel .album-message-ticker {
  display: grid !important;
  grid-template-rows: 30px minmax(0, 1fr);
  gap: 3px !important;
  overflow: hidden !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

.lp-shell > .workflow-header-section #albumMessageDisplay .album-message-lines {
  display: flex !important;
  min-height: 0 !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

.lp-shell > .workflow-header-section .album-message-line:not(.has-status-icon)::before {
  content: "> ";
}

.lp-shell > .workflow-header-section .album-message-line.is-removed .status-version-link,
.lp-shell > .workflow-header-section .album-message-line.is-removed .status-green-link {
  color: inherit !important;
  font: inherit !important;
  font-weight: 700 !important;
  line-height: inherit !important;
}

/* Saved/removed message-line actions. */
.lp-shell .album-message-inline-action {
  display: inline-flex !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font: inherit !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

.lp-shell .album-message-saved-star {
  border: 1.5px solid #0878bd !important;
  background: #ffffff !important;
  color: #0878bd !important;
  box-shadow: none !important;
}

.select-release-btn.is-selected,
.lp-shell .album-message-saved-star.is-selected {
  border-color: #0878bd;
  background: #0878bd;
  color: #ffffff;
  box-shadow: 0 0 0 2px rgba(8, 120, 189, 0.18);
}

.lp-shell .album-message-restore-version {
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  border: 1px solid #ff5b5b !important;
  border-radius: 50% !important;
  color: #ff5b5b !important;
}

/* =========================================================
   2026-08-07 p57c: Workflow header, Release table, and Details cleanup.
   ========================================================= */

/* Give the Atomic LP brand more room by reducing the desktop Messages area
   about 30 percent and keeping the message/actions group right aligned. */
@media (min-width: 761px), (pointer: fine) {
  .lp-shell > .workflow-header-section {
    grid-template-columns: minmax(0, 45%) minmax(0, 55%) !important;
  }

  .lp-shell > .workflow-header-section .workflow-header-main {
    justify-self: stretch;
  }
}

/* Saved status text is informational, not a bold workflow result. */
.lp-shell > .workflow-header-section .album-message-line.is-saved,
.lp-shell > .workflow-header-section .album-message-line.is-saved .status-saved-text {
  font: inherit !important;
  font-weight: 400 !important;
}

.lp-shell > .workflow-header-section .album-message-line.is-saved .status-saved-release-link {
  display: inline !important;
  color: #4da3ff !important;
  font: inherit !important;
  font-weight: 700 !important;
  line-height: inherit !important;
  text-decoration: none !important;
}


/* Search -> Match -> Releases -> Details share one workflow-status control. */


/* Shared typography for the status text beside Match / Releases / Details. */


/* Child text inherits the section-header typography instead of redefining it. */


/* Keep the complete Match summary as bold as the Releases / Details readouts. */

/* Preferred link treatment inside workflow section-header labels. */


/* Release-table save controls retain a higher-specificity selected surface
   over the older transparent cell-action base. */
.version-list-section .marketplace-version-id-cell .select-release-btn.is-selected {
  border-color: #0878bd;
  background: #0878bd;
  color: #ffffff;
  box-shadow: 0 0 0 2px rgba(8, 120, 189, 0.18);
}

/* Release-list marketplace snapshot: lowest active listing is returned in USD,
   while num_for_sale counts active listings across all currencies. */


.version-list-section .marketplace-version-listings-min-cell {
  white-space: nowrap;
}


/* =========================================================
   2026-08-07 p57e: Match link, workflow progress, compact stack, Messages toggle.
   ========================================================= */

/* Reduce the visual buffer between Match, Releases, and Details. */
.lp-shell > .pricing-results-section{
  margin-top: -3px;
}


/* =========================================================
   2026-08-07 p57f: Workflow completion state + Messages polish.
   ========================================================= */

/* Saved releases use their action icon only; no legacy caret prefix. */
.lp-shell .album-message-line.has-status-icon::before,
.lp-shell > .workflow-header-section .album-message-line.is-removed::before,
.lp-shell > .workflow-header-section .album-message-line.is-saved::before {
  content: none !important;
  display: none !important;
}

.lp-shell > .workflow-header-section .album-message-line.is-saved.has-leading-action {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.lp-shell > .workflow-header-section .album-message-saved-star {
  width: 14px !important;
  min-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  margin-right: 1px !important;
  padding: 1px !important;
  border-width: 1px !important;
}

.lp-shell > .workflow-header-section .album-message-saved-star .svg-icon {
  width: 10px !important;
  height: 10px !important;
}

/* All Message toolbar actions share one compact geometry and spacing rhythm. */


/* =========================================================
   2026-08-10 p61: Foldable workflow sections + dedicated Go action.
   Search / Match / Releases tabs are display controls only.
   ========================================================= */


.lp-shell .section-fold-toggle {
  cursor: pointer !important;
  opacity: 1;
}



/* Search: heading remains fixed while the direct-entry controls fold below it. */


/* Match: only the navy status tab toggles; the Best Match line stays visible. */


.lp-shell .version-list-card.is-section-collapsed > .version-list-section-header{
  margin-bottom: 0 !important;
}

/* High-specificity legacy Match rules must respect the fold controller. */

/* Folded cards remove legacy result-card minimum heights and bottom buffers. */
.lp-shell #artistAlbumCard .album-rollup-row.is-section-collapsed,
.lp-shell .version-list-card.is-section-collapsed{
  min-height: 0 !important;
}

.lp-shell .version-list-card.is-section-collapsed{
  padding-top: var(--status-card-inset-y) !important;
  padding-bottom: var(--status-card-inset-y) !important;
}

.lp-shell .pricing-results-section .version-list-card.is-section-collapsed,
.lp-shell #artistAlbumCard.result-panel-card:has(.album-rollup-row.is-section-collapsed){
  min-height: 0 !important;
}


/* Details keep autoloading in the background even when the cards are folded. */


/* =========================================================
   2026-08-10 p62: Responsive iOS pass + anchored header panel.
   Releases table and Details-card presentation intentionally unchanged.
   ========================================================= */

/* Keep the shared header panel visually tied to the tab that opened it. */
body .lp-shell > .workflow-header-section #workflowDetailsPanel.header-details-panel {
  left: var(--header-popover-left, auto);
  right: auto;
}


/* Responsive iOS layout: same components, icon-only header, larger touch targets. */


/* =========================================================
   2026-08-10 p64: Header tabs + unified dropdown styling.
   Activity, Saved List, User Library, and Settings are
   treated as one tab set with one shared panel directly below.
   ========================================================= */

/* Desktop header actions read as one compact tab strip. */
@media (min-width: 761px), (pointer: fine) {





  :root body .lp-shell > .workflow-header-section .workflow-header-action[aria-expanded="true"] {
    position: relative;
    z-index: 510;
  }
}

/* Shared header panel attaches immediately beneath its active tab. */
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel.header-details-panel {
  z-index: 500;
  top: calc(100% - 1px);
  border-color: #526f87;
  border-radius: 0 7px 7px 7px;
  background: linear-gradient(180deg, #061a2d 0%, #020d18 100%);
}


:root body .workflow-settings-option {
  min-height: 34px !important;
  padding: 6px 7px !important;

}


:root body .workflow-settings-account-email {
  color: #d6e2ec !important;
}

:root body .workflow-settings-signout {
  min-height: 34px !important;
  padding: 7px !important;
}

/* The dropdown closes via its tab, Close button, outside click, or Escape. */

/* Listings (min price): linked all-currency count first, minimum USD second in parentheses. */


/* =========================================================
   2026-08-10 p65: Header-tab cleanup + stable GO action.
   Dropdown tabs own their labels; panels omit duplicate titles/close controls.
   ========================================================= */

/* Messages / Saved: attached tab already names the panel. */


:root body .workflow-settings-account-separator {
  color: #7896ad !important;
  margin-left: auto !important;
}


/* =========================================================
   2026-08-10 p67: Message tail, listing header, destructive actions,
   quick-link spacing, and stable Match loading geometry.
   ========================================================= */

/* Listings header: qualifier stays on its own centered second line. */

/* Quick-link qualifier starts after a visible space beyond the external-link icon. */


/* Reserve the cover-art column as soon as Match copy is shown so text never jumps left/right. */
:root body .lp-shell #artistAlbumCard .album-input-media-panel > .album-result-cover,
:root body .lp-shell #artistAlbumCard .album-input-media-panel > .album-input-cover {
  grid-column: 1;
  grid-row: 1;
}

:root body .lp-shell #artistAlbumCard .album-input-media-panel > .album-about-copy {
  grid-column: 2;
  grid-row: 1;
}

/* =========================================================
   2026-08-10 p69: Master-resolution guidance and candidate paging.
   ========================================================= */

/* Unresolved Master: green guidance around Possible Matches and keep it open. */
@keyframes album-candidate-selection-cue {
  0%, 100% { box-shadow: 0 0 0 1px rgba(196, 132, 0, .16); }
  50% { box-shadow: 0 0 0 3px rgba(196, 132, 0, .28); }
}

/* =========================================================
   2026-08-10 p69d: Flush Header -> Search toolbar.
   Removes all visible navy buffer/divider between them.
   ========================================================= */

/* Header ends flush against the search toolbar. */
/* Search workspace begins immediately at the header edge. */
/* Pale-cream toolbar itself has no external top spacing. */
/* Ensure the form cannot reintroduce a top gap. */
:root body .lp-shell > .artist-album-workspace-section > .input-form,
:root body .lp-shell > .artist-album-workspace-section #lpSearchForm {
  margin-top: 0;
  padding-top: 0;
}

/* =========================================================
   2026-08-10 P71F: Embedded Release Details final layout.
   One table header; each Release is a two-row group. Details
   expands in-place with no standalone or nested Details card.
   ========================================================= */
.version-list-section .discogs-marketplace-version-table tbody .marketplace-version-details-row {
  cursor: default !important;
}

.version-list-section .discogs-marketplace-version-table tbody .marketplace-version-details-row:hover,
.version-list-section .discogs-marketplace-version-table tbody .marketplace-version-details-row:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
}

.version-list-section .discogs-marketplace-version-table tbody .marketplace-version-details-cell {
  width: auto;
  border-radius: 0;
  box-shadow: none;
  vertical-align: middle !important;
}

.version-list-section .discogs-marketplace-version-table tbody .marketplace-version-details-row:last-child .marketplace-version-details-cell {
  border-bottom: 0 !important;
}


/* =========================================================
   2026-08-11 P71: Dynamic desktop Atomic LP banner space.
   Brand consumes ALL space remaining before Messages.
   ========================================================= */

@media (min-width: 761px), (pointer: fine) {


:root body .lp-shell > .workflow-header-section .workflow-header-main {




    max-width: none !important;
}

}

/* =========================================================
   2026-08-11 P71H: Unified segmented fold carets.
   Match / Releases use a boxed caret segment.
   Details uses the same right-when-collapsed / down-when-expanded chevron.
   ========================================================= */

/* Match and Releases: keep one button, but visually isolate the caret
   in the same narrow right-hand segment used by the Details master control. */


/* Collapsed = points right. Expanded = points down. */


/* Details master caret: use the same chevron geometry and direction. */


/* =========================================================
   2026-08-11 P72: unified app shell, Search card, and Release columns.
   Preserve the P71 desktop logo/media rules above unchanged.
   ========================================================= */

/* One dark-blue application shell; Search, Match and Releases are the
   primary tan/beige content cards. Retire the separate dark-blue wrappers. */
:root body .lp-shell {
  padding: 5px;
  border: 1px solid var(--section-border);
  border-radius: 10px;
  background: var(--section);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  overflow: visible;
  --workflow-heading-gap: 6px;
  --quota-led-red: #ff4439;
}

:root body .lp-shell > .artist-album-workspace-section {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;

}

:root body .lp-shell > .pricing-results-section {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: block;
}

/* Search now reads as the same tan/beige rounded card family as Match/Releases. */

/* Match and Releases remain the primary tan/beige cards without an outer
   dark-blue subsection card around either one. */
/* FIND / ALBUM / RELEASES outer sizing now comes from .atomic-workspace-card. */

/* Release column widths are canonicalized in the current P77 table definition below. */

/* All column headings are centered. */


:root body .version-list-section .marketplace-listings-min-header > span {
  display: block !important;
  line-height: 1.05;
  text-align: center;
}

/* Listings value/count and its minimum-price line are centered in the cell. */
:root body .version-list-section .marketplace-version-listings-min-cell {
  text-align: center;
}


@media (max-width: 760px) and (pointer: coarse) {
  :root body .lp-shell {
    padding: 4px !important;
    border-radius: 8px !important;
}



}


/* Details is a two-part control, but its total width matches Match / Releases. */


/* Loading may disable the show/hide segment functionally, but it must not
   visually fade. Keep the caret and segment at full contrast. */
.lp-shell .version-list-section-header .versions-details-visibility-button:disabled {
  cursor: default !important;
  opacity: 1 !important;
  filter: none !important;
  border-color: transparent !important;
  background: transparent !important;
  color: #17251f !important;
}


/* =========================================================
   2026-08-11 P73: Retro Atomic Release table visual pass.
   Preserve current four-column order and two-row Release groups.
   ========================================================= */


/* The outer table frame and sticky header establish one obvious header
   for every Release group in the scrolling table. */
:root body .version-list-section .discogs-marketplace-version-table-wrap,
:root body .version-list-section .discogs-marketplace-version-table-wrap[hidden] {
  border: 1px solid var(--release-table-teal);
  border-radius: 8px;
  background: var(--release-table-cream);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

:root body .version-list-section .discogs-marketplace-version-table {
  background: var(--release-table-cream);
  border-collapse: separate;
  border-spacing: 0;
}

:root body .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th,
:root body .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:first-child {
  height: 36px;
  padding: 4px 6px;
  border-right: 1px dotted rgba(47, 125, 128, 0.50);
  border-bottom: 2px solid var(--release-table-teal-dark);
  background: linear-gradient(180deg, #e6f0ec 0%, var(--release-table-teal-soft) 100%);
  color: #123d42;
  font: 800 11.5px/1.34 var(--app-font);
  text-align: center;
  box-shadow: 0 2px 4px rgba(23, 87, 92, 0.10);
}

:root body .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:last-child {
  border-right: 0;
}

/* Release main rows use quiet cream, dotted column guides, and a strong
   teal boundary at the start of every Release after the first. */
:root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td {
  padding: 7px 6px 5px;
  border-right: 1px dotted var(--release-table-grid);
  border-bottom: 0;
  background: var(--release-table-cream);
  vertical-align: top;
}

:root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td:last-child {
  border-right: 0;
}

:root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row:not(:first-child) > td {
  border-top: 4px solid var(--release-table-teal-dark);
}

/* A collapsed Release still ends with a clear group boundary. */
:root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row:not(.is-details-expanded) > td {
  padding-bottom: 7px;
  border-bottom: 1px solid var(--release-table-teal);
}

/* Keep selection feedback inside the same Atomic palette. */
:root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row:hover > td,
:root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row:focus-visible > td {
  background: #f3f4e7 !important;
}

:root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row.is-selected-marketplace-version > td {
  background: #e7efeb;
}

:root body .version-list-section .discogs-marketplace-version-table tbody tr.is-selected-marketplace-version {
  box-shadow: inset 4px 0 0 var(--release-table-teal-dark);
}

/* Expanded details remain part of the Release group but gain a subtle inset
   panel so long Notes / Matrix text does not visually merge with the next row. */
:root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-details-cell {
  border-right: 0;
  border-bottom: 1px solid var(--release-table-teal);
  background: var(--release-table-cream);
}


:root body .version-list-section .marketplace-version-details-body strong {
  color: #102c39;
  font-weight: 800;
}

/* Metadata filter pills: slate blue chosen specifically for the Releases table.
   This does not alter blue pills elsewhere in the application. */
:root body .version-list-section .automatic-column-filter-pill {
  padding: 2px 7px 3px;
  border: 1px solid var(--release-table-slate-dark);
  border-radius: 999px;
  background: linear-gradient(180deg, var(--release-table-slate-light) 0%, var(--release-table-slate) 100%);
  color: #fffaf0;
  font-weight: 600;
  font-size: 8.5px;
  line-height: 1.05;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

:root body .version-list-section .automatic-column-filter-pill:hover,
:root body .version-list-section .automatic-column-filter-pill:focus-visible {
  border-color: #28485d;
  background: linear-gradient(180deg, #7392a5 0%, #58798e 100%);
  outline: none;
}

/* Keep the metadata pills compact and vertically centered with the Release row. */
:root body .version-list-section .marketplace-version-metadata-pills {
  gap: 4px;
}

:root body .version-list-section .marketplace-version-metadata {
  vertical-align: middle;
}

/* Listings remain centered and use the slate family for the marketplace link. */


/* Keep Release ID visually distinct without competing with the metadata pills. */
:root body .version-list-section .marketplace-version-id-cell a.marketplace-version-link,
:root body .version-list-section .marketplace-version-id-cell a.marketplace-version-link:visited {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-1);
  vertical-align: middle;
  color: var(--success-green);
  font: 600 9.5px/1.15 var(--app-font);
  white-space: nowrap;
}

:root body .version-list-section .marketplace-version-id-cell a.marketplace-version-link > span {
  color: inherit;
  font: inherit;
}


/* =========================================================
   2026-08-11 P75A: workflow/readout refinement.
   Header and search controls read as one tan Search card;
   Details starts expanded; Market Summary gets its own atom;
   Activity uses the Atomic status language.
   ========================================================= */

/* Header logo + tabs visually live inside the same tan Search card as inputs. */
:root body .lp-shell > .workflow-header-section {
  margin: 0 !important;
  padding: 6px 8px 4px !important;
  border: 1px solid rgba(0, 31, 63, 0.28) !important;
  border-bottom: 0 !important;
  border-radius: 8px 8px 0 0 !important;
  background: var(--atomic-card-tan-light) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.34) !important;
}

/* Details count is a readout beside the control, never part of the button label. */

.lp-shell .versions-details-loaded-readout {
  display: inline-flex;
  min-height: var(--status-button-height);
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #17212b;
  font: 700 12px/1.2 var(--app-font);
  white-space: nowrap;
}


/* Activity status language: slate atom = info, teal spinning atom = working,
   green atom/check = complete, amber ! = warning, red × = error. */
.lp-shell .album-message-line.has-status-icon {
  display: flex !important;

  padding-left: 0 !important;
  align-items: center !important;
  gap: 7px !important;
}


/* =========================================================
   2026-08-11 P75A3: compact header, Details status placement,
   frameless embedded Details, centered Release table, and
   clearer Listings / minimum-price separation.
   ========================================================= */

/* Details status now sits on its own row immediately below Release Filters. */


/* Embedded Format / Notes / Barcode / Matrix content is intentionally unboxed. */
:root body .version-list-section .marketplace-version-details-body {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 3px 6px 6px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #132a36;
  font: 400 11.5px/1.34 var(--app-font);
  white-space: normal;
  overflow-wrap: anywhere;
}

:root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-details-cell,
:root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-details-row.is-expanded .marketplace-version-details-cell {
  padding: 0 6px 7px;
}

/* Center every Release-table heading and main-row value. */
:root body .version-list-section .discogs-marketplace-version-table th,
:root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td,
:root body .version-list-section .marketplace-version-id-cell,
:root body .version-list-section .marketplace-version-metadata,
:root body .version-list-section .marketplace-version-indicators-cell {
  text-align: center;
}

:root body .version-list-section .marketplace-version-metadata-pills,
:root body .version-list-section .automatic-column-filter-pill-group.marketplace-version-metadata-pills {
  display: inline-flex;
  width: auto;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}


/* The Marketplace link is now the Market Summary heading, immediately after
   the shared workflow atom. */
/* A quiet horizontal rule separates Release row 1 from its frameless Details. */
:root body .version-list-section .marketplace-version-row-detail-separator {
  display: block;
  width: 100%;
  height: 1px;
  margin: 1px 0 5px;
  background: rgba(86, 121, 142, 0.34);
}


/* =========================================================
   2026-08-11 P75C: trace calibration companion UI cleanup.
   ========================================================= */

/* Header action typography. Settings option typography is owned by the
   consolidated Settings rules near the end of this file. */
:root body .lp-shell > .workflow-header-section .workflow-header-action {
  font-family: var(--control-font);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.05;
}

/* Details links stay the same size/weight as surrounding Details copy. */
:root body .version-list-section .marketplace-version-details-body a.detail-inline-link,
:root body .version-list-section .marketplace-version-details-body a.detail-inline-link:visited,
:root body .version-list-section .marketplace-version-details-body a.detail-inline-link > span {
  color: #083d9b;
  font-family: var(--app-font);
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.34;
  text-decoration: none;
}

.lp-shell #artistAlbumCard a.match-card-link:hover,
.lp-shell #artistAlbumCard a.match-card-link:focus-visible,
:root body .version-list-section .marketplace-version-details-body a.detail-inline-link:hover,
:root body .version-list-section .marketplace-version-details-body a.detail-inline-link:focus-visible {
  color: #083d9b !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* Keep the Marketplace external-link icon attached directly to its label,
   including when the heading wraps to two lines. */

/* =========================================================
   2026-08-11 P75C1: 7:1 desktop banner fill.
   Preserve the full artwork at an approximately 420 x 60 px
   desktop target while allowing the tab strip to use the
   remaining width. Mobile/iOS rules remain unchanged.
   ========================================================= */
@media (min-width: 761px) and (max-width: 960px), (pointer: fine) and (max-width: 960px) {
  :root body .lp-shell > .workflow-header-section {
    grid-template-columns: minmax(300px, 38vw) minmax(0, 1fr) !important;
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-action {
    padding-left: 7px;
    padding-right: 7px;
  }
}

/* =========================================================
   2026-08-11 Header redesign pass 1
   Full-width Cream Hi-Fi Console banner + overlaid utility tabs.
   Header only: no Search / Album / Releases changes.
   ========================================================= */

@media (min-width: 761px), (pointer: fine) {


  /* The banner owns the complete header footprint. */
  :root body .lp-shell > .workflow-header-section > .workflow-header-brand,
  :root body .lp-shell > .workflow-header-section > .workflow-header-brand > .workflow-header-logo-button {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    pointer-events: none;
  }

  :root body .lp-shell > .workflow-header-section > .workflow-header-brand {
    z-index: 1;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 7px;
  }

:root body .lp-shell > .workflow-header-section
  > .workflow-header-brand
  > .workflow-header-logo-button {
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: transparent;
  }

:root body .lp-shell > .workflow-header-section
  > .workflow-header-brand .workflow-header-logo {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    object-fit: cover;
    object-position: center center;
    border: 0;
    pointer-events: none;
  }

  /* Utility tabs float directly over the right side of the artwork. */





  /* Keep existing popover behavior, anchored immediately below the new header. */
  :root body .lp-shell > .workflow-header-section #workflowDetailsPanel.header-details-panel {
    top: calc(100% + 3px);
    right: 4px;
    pointer-events: auto;
  }





/* =========================================================
   2026-08-11 Header redesign pass 2
   Refinements only:
   - individual translucent utility tabs
   - smaller tab footprint
   - tighter banner framing
   ========================================================= */



  :root body .lp-shell > .workflow-header-section {
    z-index: 400 !important;
    grid-template-columns: minmax(340px, 420px) minmax(0, 1fr) !important;
    gap: 4px !important;
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 2048 / 289;
    padding: 0 !important;
    overflow: visible !important;

    background: #f3e7c8 !important;
    box-shadow: none !important;
    border: 1px solid var(--border) !important;
    border-radius: 7px !important;
}

  :root body .lp-shell > .workflow-header-section
  > .workflow-header-brand,
  :root body .lp-shell > .workflow-header-section
  > .workflow-header-brand
  > .workflow-header-logo-button,
  :root body .lp-shell > .workflow-header-section
  > .workflow-header-brand .workflow-header-logo {
    border-radius: 6px;
  }

  /* Pull the overlay rail closer to the artwork edges. */
  :root body .lp-shell > .workflow-header-section .workflow-header-main {
    position: absolute !important;
    z-index: 20 !important;
    inset: 0 !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    align-items: center !important;
    justify-content: flex-end !important;
    pointer-events: none !important;
    padding: 2px 3px !important;
}

  /* Remove the single cream tray around all four controls. */
  :root body .lp-shell > .workflow-header-section .workflow-header-actions {
    position: relative;
    z-index: 21;
    display: grid;
    grid-template-columns: repeat(4, 112px);
    width: 457px;
    min-width: 457px;
    max-width: min(457px, calc(100% - 8px));
    margin: 0;
    align-items: stretch;
    justify-content: flex-end;
    pointer-events: auto;
    height: 44px;
    min-height: 44px;
    padding: 0;
    gap: 3px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

  /* Each control is now its own overlay tab. */
  :root body .lp-shell > .workflow-header-section .workflow-header-action {
    display: inline-flex;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0 8px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid #111;
    border-radius: 6px;
    background: rgba(248, 241, 218, 0.86);
    color: #174f52;
    box-shadow: 0 1px 3px rgba(44, 35, 20, 0.13);
    font-family: var(--control-font);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.05;
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-action:hover,
:root body .lp-shell > .workflow-header-section .workflow-header-action:focus-visible,
:root body .lp-shell > .workflow-header-section .workflow-header-action[aria-expanded="true"] {
    border-color: #111;
    background: rgba(220, 233, 229, 0.94);
    color: #174f52;
    box-shadow: 0 1px 3px rgba(44, 35, 20, 0.13);
    outline: none;
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-action-icon,
  :root body .lp-shell > .workflow-header-section .workflow-settings-icon,
  :root body .lp-shell > .workflow-header-section .workflow-header-action-icon-wrap {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-action-icon,
  :root body .lp-shell > .workflow-header-section .workflow-settings-icon {
    color: #174f52;
    filter: none;
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-action-badge {
    border-color: #f8f1da;
    background: #d85b20;
    top: -6px;
    right: -6px;
}
}

/* =========================================================
   2026-08-11 FIND redesign pass 1
   Static FIND label + existing separate search inputs.
   No routing / field-name / scanner behavior changes.
   ========================================================= */

/* FIND is always-on; suppress any legacy fold header / chevron for Search. */


/* Canonical teal action-control base shared by Scan/Upload and Show/Hide Details. */
:root body .lp-shell .record-search-scan-button {
  display: inline-flex;
  height: 30px;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid #17575c;
  border-radius: 5px;
  background: #236f72;
  color: #ffffff;
  box-shadow: none;
  cursor: pointer !important;
  font: 800 10.5px/1 var(--control-font);
  white-space: nowrap;
  width: 100%;
    min-width: 0;
    padding: 0 7px;
}

:root body .lp-shell .record-search-scan-button:hover,
:root body .lp-shell .record-search-scan-button:focus-visible {
  border-color: #0f484c !important;
  background: #17575c !important;
  outline: none !important;
}
/* DETAILS text itself is the show/hide control. */
:root body .lp-shell .version-list-section-header .versions-details-visibility-button:hover:not(:disabled),
:root body .lp-shell .version-list-section-header .versions-details-visibility-button:focus-visible {
  border-color: rgba(47, 125, 128, .28) !important;
  background: rgba(220, 233, 229, .65) !important;
  color: #174f52 !important;
  outline: none !important;
}
:root body .lp-shell .record-search-scan-button .svg-icon {
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px !important;
  filter: brightness(0) invert(1) !important;
}

/* All four current routing fields remain independent and unchanged. */
:root body .lp-shell .artist-album-workspace-section .record-search-field,
:root body .lp-shell .artist-album-workspace-section .record-search-field.input-field-shell,
:root body .lp-shell .artist-album-workspace-section .record-search-field.compact-scan-field-shell,
:root body .lp-shell .artist-album-workspace-section .record-search-field.compact-text-field-shell {
  height: 30px;
  min-height: 30px;
}

:root body .lp-shell .artist-album-workspace-section .record-search-field > input.field {
  height: 30px;
  min-height: 30px;
  padding: 3px 27px 3px 9px;
  border: 1px solid rgba(47, 125, 128, .55);
  border-radius: 5px;
  background: #fffdf8;
  color: #17251f;
  font: 500 11px/1 var(--app-font);
  box-shadow: none;
}

:root body .lp-shell .artist-album-workspace-section .record-search-field > input.field:focus {
  border-color: #2f7d80 !important;
  outline: 2px solid rgba(47, 125, 128, .16) !important;
  outline-offset: 0 !important;
}

/* Keep the overall FIND strip vertically tight. */
:root body .lp-shell > .artist-album-workspace-section {
  box-shadow: none;
  gap: 0;
  padding-top: 0;
}

:root body .lp-shell .record-search-toolbar + .artist-album-workspace-grid {
  margin-top: 0 !important;
}

/* Tablet / phone: preserve the existing functional fields and simply wrap. */


/* =========================================================
   2026-08-11 Album redesign — Header pass 1
   Header only. Album body / Marketplace / Quick Links remain unchanged.
   ========================================================= */

/* Album outer shell is shared with FIND and RELEASES via .atomic-workspace-card. */

:root body .lp-shell #artistAlbumCard .album-about-row {
  padding: 0;
  background: #fbf7eb;
}

/* Header:
   ALBUM | Master/Possible Matches | Collection */
:root body .lp-shell .version-list-card > .version-list-section-header {
  display: grid;
}

/* FIND / ALBUM / RELEASES share one header surface treatment. */
:root body .lp-shell .version-list-card > .version-list-section-header,
:root body .lp-shell .record-search-toolbar .record-search-header {
  width: 100%;
  min-width: 0;
  align-items: center;
  border-bottom: 1px solid rgba(47, 125, 128, .40);
  background: linear-gradient(180deg, #fffaf0 0%, #f7f0dc 100%);
}



/* Master confirmation and Possible Matches occupy the same center zone. */


/* Until a real Master link exists, reserve this center zone for candidates. */


/* Possible Matches shares the canonical Pass 5 resolution zone below. */

/* Collection moves into the right side of the Album header. */

/* The moved header controls no longer reserve body-level space. */


/* =========================================================
   2026-08-11 Album redesign — Header pass 2
   - center Master Release link
   - remove duplicate Master label/link treatment
   - remove caret
   - only ALBUM text toggles body
   - hover tooltip reflects expanded/collapsed state
   ========================================================= */

/* Static star + text-only clickable ALBUM label. */


/* Canonical ALBUM / RELEASES section-title control base. */
:root body .lp-shell .versions-header-title-control {
  display: inline-flex;
  width: auto;
  min-width: 0;
  height: 26px;
  min-height: 26px;
  margin: 0;
  padding: 0 2px;
  align-items: center;
  border: 0;
  border-radius: 3px;
  background: transparent;
  box-shadow: none;
  cursor: pointer !important;
  font: 800 12px/1 var(--control-font);
}


:root body .lp-shell .versions-header-title-control:hover,
:root body .lp-shell .versions-header-title-control:focus-visible {
  background: rgba(220, 233, 229, .78) !important;
  color: #174f52 !important;
  outline: none !important;
}

/* No caret anywhere in the Album header. */


/* Center the resolved Master notification/link in its available header space. */


/* The actual Master ID/link is the only Master link shown here. */

/* =========================================================
   2026-08-11 Album redesign — Header pass 3
   ========================================================= */

/* Center the live Master Release status/link both vertically and horizontally. */


/* Keep the JS hook but suppress the second Master ID + external-link icon. */

/* The visible Atom is not clickable; only ALBUM text toggles the section. */


/* =========================================================
   2026-08-11 Album redesign — Header pass 4
   Exact corrections:
   1) Atom physically left of ALBUM and spins from the live record-match state.
   2) Master result centered vertically in the row.
   3) Compatibility Master anchor is absolutely nonvisual; no duplicate ID/icon.
   4) Collection Release IDs remain visible clickable Discogs Release links.
   ========================================================= */

/* --- ALBUM status atom: physical left position, non-clickable --- */
/* Canonical ALBUM / RELEASES header-title geometry. */


:root body .lp-shell .versions-header-title-group {
  display: inline-flex;
  width: 148px;
  min-width: 148px;
  height: 30px;
  align-items: center;
  justify-content: flex-start;
}


/* --- Master Release: true center alignment --- */


/* --- Collection result: keep the actual found Release ID link visible --- */
:root body .lp-shell .album-header-collection #discogsCollectionMatchResult {
  display: inline-flex;
  min-width: 0;
  max-width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  align-items: center;
  gap: 3px;
  overflow: visible;
  color: #174f52;
  font: 700 10px/1.1 var(--control-font);
  text-overflow: clip !important;
  white-space: nowrap;
}

:root body .lp-shell .album-header-collection #discogsCollectionMatchResult a,
:root body .lp-shell .album-header-collection #discogsCollectionMatchResult a:visited,
:root body .lp-shell .album-header-collection #discogsCollectionMatchResult .collection-version-link {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  color: #083d9b !important;
  font: 900 10.5px/1 var(--control-font) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}


/* =========================================================
   2026-08-11 Album redesign — Header pass 5
   Fix transient placeholders, stale Master display, and
   Possible Matches vertical alignment.
   ========================================================= */

/* 1 + 2:
   Never show the Master notification as a placeholder.
   It becomes visible only after the record-match workflow is complete
   AND the real Discogs Master link has been resolved. */


/* Starting a new scan/upload/search changes the Album workflow away from
   complete, so the previous Master result disappears immediately even if
   its old text remains in the DOM briefly during reset. */

/* If the real Master URL has not been resolved, suppress the Master pill
   regardless of any temporary status text such as "Master Confirmed" or
   "Possible Matches". */

/* 3:
   A hidden candidate panel must remain truly invisible. This overrides
   earlier candidate-layout rules that could force the placeholder visible. */

/* Do not reserve visible space for Possible Matches until the candidate
   controller actually unhides the panel. */

:root body .lp-shell .album-candidate-slot:has(#albumCandidatePanel:not([hidden])) {
  display: flex;
}

/* P1A10: one-line Album action/status ticker. It occupies the same
   center resolution zone used by Possible Matches when user attention
   is required, without duplicating routine Activity chatter. */


/* 4:
   Master result and Possible Matches occupy the SAME exact grid cell.
   This keeps the candidate dropdown on the Album header row rather than
   dropping underneath it. */


/* Candidate choices open directly beneath the Possible Albums field.
   The dropdown stack owns the overlay geometry so its left/right edges track
   the field instead of the full MATCHES group. */


/* =========================================================
   2026-08-11 Album redesign — Body pass 1
   - flat Artist/Album identity area
   - compact Marketplace box upper-right
   - Marketplace Atomic status spinner retained
   - flat bottom link rail: Spotify / Amazon Barcode / Amazon / eBay
   - no extra Quick Links or identity sub-card shells
   ========================================================= */

/* Keep the body compact beneath the completed Album header. */
:root body .lp-shell #artistAlbumCard #albumResultMain {
  padding: 1px 7px 4px;
  background: #fbf7eb;
}

/* Two-column body:
   left = cover + Album/Artist + AllMusic
   right = Marketplace
   Quick Links rail spans the complete bottom row. */
:root body .lp-shell #artistAlbumCard .album-about-grid {
  display: grid;
  grid-template-rows: auto auto auto;
  width: 100%;
  min-width: 0;
  gap: 4px;
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr);
}

/* Artist / Album is intentionally flat — no inner card. */
:root body .lp-shell #artistAlbumCard .album-about-identity {
  grid-column: 1;
  grid-row: 1;
  display: block;
  min-width: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  width: 100%;
  padding: 3px 0;
}

/* Compact cover + copy layout. */
:root body .lp-shell #artistAlbumCard .album-input-media-panel {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  gap: 9px;
  align-items: start;
  border: 0;
  background: transparent;
}

:root body .lp-shell #artistAlbumCard .album-result-cover,
:root body .lp-shell #artistAlbumCard .album-input-cover,
:root body .lp-shell #artistAlbumCard #albumResultCover:not([hidden]),
:root body .lp-shell #artistAlbumCard .album-result-cover-image {
  width: 104px;
  min-width: 104px;
  max-width: 104px;
  height: 104px;
  min-height: 104px;
  max-height: 104px;
}

/* Album title / artist: compact, no metadata pills or rating row. */
:root body .lp-shell #artistAlbumCard .album-about-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 1px;
}

:root body .lp-shell #artistAlbumCard .album-about-title {
  width: 100%;
  margin: 0;
  color: #17251f;
  font: 750 12.5px/1.08 var(--app-font);
  text-overflow: ellipsis;
  white-space: nowrap;
}

:root body .lp-shell #artistAlbumCard .album-about-artist {
  width: 100%;
  margin: 3px 0 0;
  overflow: hidden;
  color: #17251f;
  font: 600 11px/1.15 var(--app-font);
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Preserve the two existing AllMusic links directly below Artist/Album. */
:root body .lp-shell #artistAlbumCard .album-about-allmusic-links {
  display: flex;
  width: 100%;
  margin-top: 2px;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 4px;
}

:root body .lp-shell #artistAlbumCard .album-about-allmusic-links .album-about-link {
  min-height: 19px;
  margin: 0;
}

:root body .lp-shell #artistAlbumCard .album-about-allmusic-links .brand-icon-allmusic {
  width: 24px;
  min-width: 24px;
  height: 24px;
  flex: 0 0 24px;
  vertical-align: -6px;
}

/* Marketplace is the ONLY inner body box. */
:root body .lp-shell #artistAlbumCard .album-market-summary-card {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  margin: 0;
  padding: 2px 0 4px;
  border: 0;
  border-top: 1px solid rgba(47, 125, 128, .22);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}


/* Mimic the compact Marketplace summary currently used by the app. */
:root body .lp-shell #artistAlbumCard .album-market-summary-card #snapshotGrid,
:root body .lp-shell #artistAlbumCard .album-market-summary-card .album-pricing-grid {
  display: none !important;
}


:root body .lp-shell #artistAlbumCard .album-market-summary-prices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 5px;
}

:root body .lp-shell #artistAlbumCard .album-market-summary-metric {
  display: grid;
  min-width: 0;
  gap: 2px;
  padding: 0 6px;
  border-left: 1px solid rgba(47, 125, 128, .18);
}

:root body .lp-shell #artistAlbumCard .album-market-summary-metric:first-child {
  padding-left: 0;
  border-left: 0;
}

:root body .lp-shell #artistAlbumCard .album-market-summary-metric:last-child {
  padding-right: 0;
}

:root body .lp-shell #artistAlbumCard .album-market-summary-metric-label {
  color: #52615d;
  font: 600 9.5px/1.1 var(--app-font);
}

:root body .lp-shell #artistAlbumCard .album-market-summary-metric-value {
  overflow: hidden;
  color: #101820;
  font: 900 10.5px/1.1 var(--app-font);
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Quick Links becomes a flat bottom rail, not a sub-card. */
:root body .lp-shell #artistAlbumCard .album-quick-links-card {
  grid-column: 1;
  grid-row: 3;
  width: 100%;
  display: block;
  min-width: 0;
  min-height: 28px;
  margin: 0;
  padding: 3px 0 1px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border-top: 1px solid rgba(47, 125, 128, .32);
}

/* The heading is unnecessary in a single horizontal link rail. */

:root body .lp-shell #artistAlbumCard .album-quick-links-card .album-input-external-links,
:root body .lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links,
:root body .lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links .snapshot-search-pair-row {
  display: flex;
  min-width: 0;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 14px;
}

:root body .lp-shell #artistAlbumCard .album-quick-links-card .album-input-external-links {
  width: 100%;
}
:root body .lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links .snapshot-search-line {
  display: inline-flex;
  width: auto;
  min-width: 0;
  margin: 0;
  align-items: center;
  gap: 3px;
  white-space: nowrap;
}

/* Spotify / Amazon / eBay icon sizing in the flat rail. */
:root body .lp-shell #artistAlbumCard .album-quick-links-card .brand-icon-spotify{
  width: 17px;
  min-width: 17px;
  height: 17px;
  flex: 0 0 17px;
}

:root body .lp-shell #artistAlbumCard .album-quick-links-card a.app-main-link,
:root body .lp-shell #artistAlbumCard .album-quick-links-card a.match-card-link {
  font-size: 10.5px;
}

/* Remove legacy Quick Links/card spacing that can make the body too tall. */
:root body .lp-shell #artistAlbumCard .album-about-summary-card:not(.album-market-summary-card) {
  min-height: 0;
}

/* Responsive: stack Marketplace beneath identity, then keep the flat link rail. */


/* =========================================================
   2026-08-11 RELEASES redesign — Pass 1
   Header row:
   Atom + RELEASES | Filter Releases... | Details atom + SHOW/HIDE DETAILS + x/x Loaded
   Table column structure remains the existing four-column layout.
   ========================================================= */

/* Tight Releases shell. */
:root body .lp-shell .version-list-card {
  padding: 0 7px 6px;
}

:root body .lp-shell .version-list-card > .version-list-section-header {
  grid-template-columns: 190px minmax(230px, 1fr) auto;
  min-height: 36px;
  height: 36px;
  margin: 0 0 4px;
  padding: 2px 0;
  justify-content: flex-start;
  gap: 7px;
}
/* Atom physically left of RELEASES; only the text toggles the section. */
/* Mirror the existing live release-list workflow state to the separate Atom. */


/* Far-right Details control. */
:root body .lp-shell .versions-header-details {
  display: inline-flex;
  min-width: 136px;
  height: 30px;
  align-items: center;
  justify-content: flex-end;
  white-space: nowrap;
}


:root body .lp-shell .versions-details-loaded-readout {
  display: inline-flex;
  min-width: 31px;
  height: 24px;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  color: #52615d;
  font: 800 9.5px/1 var(--control-font);
  white-space: nowrap;
}

/* Visible filtered/total Release count, styled like the Details readout. */
:root body .lp-shell .pricing-visible-version-count {
  position: static;
  display: inline-flex;
  width: auto;
  min-width: 34px;
  height: 24px;
  align-items: center;
  margin: 0;
  padding: 0;
  color: #52615d;
  opacity: 1;
  pointer-events: none;
  font: 800 9.5px/1 var(--control-font);
  white-space: nowrap;
}

/* The filter and Details controls now live in the header; no second toolbar rows. */


/* Release table: retain exactly the existing 4 columns.
   Remove the save/ribbon control embedded before Release ID. */

/* With no save/ribbon control, Release ID starts cleanly at the left edge. */
:root body .lp-shell .version-list-section .marketplace-version-id-cell {
  padding-left: 7px;
}

/* Keep the four-column table structure.
   Release ID | Listings | Release/Country/Label/Catalog#/Barcode | Indicators */
:root body .lp-shell .version-list-section .discogs-marketplace-version-table th:nth-child(1),
:root body .lp-shell .version-list-section .discogs-marketplace-version-table td:nth-child(1) {
  width: 126px;
}


:root body .lp-shell .version-list-section .discogs-marketplace-version-table th:nth-child(3),
:root body .lp-shell .version-list-section .discogs-marketplace-version-table td:nth-child(3) {
  width: 48%;
}

:root body .lp-shell .version-list-section .discogs-marketplace-version-table th:nth-child(4),
:root body .lp-shell .version-list-section .discogs-marketplace-version-table td:nth-child(4) {
  width: 16%;
}

/* Tighten header-to-table gap. */
:root body .lp-shell .version-list-card .discogs-marketplace-version-table-wrap {
  margin-top: 0;
}


/* =========================================================
   2026-08-11 RELEASES redesign — Pass 2
   ========================================================= */

/* RELEASES uses the same static section-label typography as FIND / ALBUM. */
:root body .lp-shell .versions-header-title-control,
:root body .lp-shell .versions-header-title-control .workflow-step-title {
  color: #17251f;
  font-family: var(--control-font);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .01em;
  text-transform: none;
}


/* Filter field gets the complete flexible middle area. */
:root body .lp-shell .versions-header-filter {
  position: relative;
  display: grid;
  grid-template-columns: 26px 26px minmax(0, 1fr) 24px;
  width: 100%;
  min-width: 0;
  height: 30px;
  margin: 0;
  padding: 0;
  align-items: center;
  gap: 4px;
}

:root body .lp-shell .versions-header-filter .version-list-filter-entry {
  position: relative;
  display: block;
  grid-column: 3;
  width: 100%;
  min-width: 0;
  height: 28px;
  min-height: 28px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(47, 125, 128, .55);
  border-radius: 5px;
  background: #fffdf8;
  box-shadow: none;
}

:root body .lp-shell .versions-header-filter .version-filter-field {
  width: 100%;
  height: 26px;
  min-height: 26px;
  margin: 0;
  padding: 0 8px;
  border: 0;
  background: transparent;
  color: #17251f;
  font: 500 11px/1 var(--app-font);
  line-height: 26px;
  box-shadow: none;
}

:root body .lp-shell .versions-header-filter .filter-field-chips {
  right: 4px;
}

/* DETAILS label is the show/hide button; no separate caret control. */
:root body .lp-shell .versions-details-visibility-button {
  display: inline-flex;
  width: auto;
  min-width: 0;
  height: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0 3px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: #17251f;
  box-shadow: none;
  cursor: pointer !important;
  transform: none !important;
}

:root body .lp-shell .versions-details-visibility-button:active,
:root body .lp-shell .versions-details-visibility-button[aria-expanded="true"],
:root body .lp-shell .versions-details-visibility-button[aria-expanded="false"] {
  background: transparent !important;
  transform: none !important;
}

/* Shared hidden-state contract. */
.scanner-modal[hidden],
.album-result-section[hidden],
.workflow-step-status,
.workflow-settings-menu[hidden],
.lp-shell > .workflow-header-section .workflow-header-panel[hidden],
.lp-shell > .workflow-header-section #workflowDetailsPanel.header-details-panel[hidden],
.lp-shell #artistAlbumCard #albumResultCover[hidden],
.lp-shell #artistAlbumCard #albumCoverImage[hidden],
.lp-shell #artistAlbumCard #albumAboutAllMusicLinks[hidden],
.lp-shell #artistAlbumCard #dockArtistLink[hidden],
.lp-shell #artistAlbumCard #dockAlbumLink[hidden],
.lp-shell #artistAlbumCard.has-candidates:not(.has-best-match) #albumResultCover,
.lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links:empty,
.version-list-section-header #releaseVersionsCountLabel[hidden],
.version-list-filter-entry .filter-field-chips::-webkit-scrollbar,
.version-list-filter-entry .filter-field-chips[hidden],
.version-list-filter-entry.is-editing .filter-field-chips,
.lp-shell .section-fold-body[hidden],
.lp-shell #artistAlbumCard #albumResultMain.section-fold-body[hidden],
.lp-shell #artistAlbumCard .album-result-main.section-fold-body[hidden],
.lp-shell .album-rollup-row.is-section-collapsed .album-candidate-table-wrap,
.version-list-section .discogs-marketplace-version-table tbody .marketplace-version-details-row[hidden],
.version-list-section .marketplace-version-details-body[hidden],
:root body .lp-shell #albumCandidatePanel[hidden] {
  display: none !important;
}

/* 2026-08-14 P81C: per-Release Details state aligned with Format row. */
.version-list-section .marketplace-version-detail-header-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 2px 0;
}

.version-list-section .marketplace-version-detail-format {
  min-width: 0;
}

.version-list-section .marketplace-version-detail-fetch-status {
  display: inline-block;
  margin: 0 0 0 auto;
  flex: 0 0 auto;
  text-align: right;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--pill-blue-dark);
}

.version-list-section .marketplace-version-detail-fetch-status.is-loaded {
  color: var(--success-green);
}

.version-list-section .marketplace-version-detail-fetch-status.is-failed {
  color: var(--error);
}

/* =========================================================
   2026-08-14 P81D: incremental scout + Releases/Album UI refinements.
   ========================================================= */

/* Filter help occupies the clear-X position only while no filter is active. */
 :root body .lp-shell .versions-header-filter .version-filter-help {
  position: static;
  z-index: 2;
  grid-column: 4;
  display: inline-flex;
  width: 22px;
  min-width: 22px;
  height: 22px;
  min-height: 22px;
  margin: 0;
  padding: 0;
  transform: none;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(47, 125, 128, .52);
  border-radius: 50%;
  background: #fffdf8;
  color: #174f52;
  box-shadow: none;
  cursor: help;
  font: 800 11px/1 var(--control-font);
}

:root body .lp-shell .versions-header-filter .version-filter-help[hidden] {
  display: none;
}

:root body .lp-shell .versions-header-filter .version-filter-help:hover,
:root body .lp-shell .versions-header-filter .version-filter-help:focus-visible {
  border-color: #17575c;
  background: #e8f1ed;
  outline: none;
}

:root body .lp-shell .versions-header-filter .version-filter-help-tooltip {
  position: absolute;
  z-index: 700;
  top: calc(100% + 5px);
  right: 0;
  display: none;
  width: min(390px, calc(100vw - 34px));
  padding: 7px 9px;
  border: 1px solid #2f7d80;
  border-radius: 5px;
  background: #fffaf0;
  color: #17251f;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .16);
  font: 600 10px/1.35 var(--app-font);
  white-space: normal;
  pointer-events: none;
}

:root body .lp-shell .versions-header-filter .version-filter-help-tooltip > div + div {
  margin-top: 4px;
}

:root body .lp-shell .versions-header-filter:has(.version-filter-help:hover) .version-filter-help-tooltip,
:root body .lp-shell .versions-header-filter:has(.version-filter-help:focus-visible) .version-filter-help-tooltip {
  display: block;
}


/* DETAILS is a section label, matching ALBUM and RELEASES; the count remains a compact live readout. */
:root body .lp-shell .versions-header-details .versions-details-title {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  color: #17251f;
  font-family: var(--control-font);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .01em;
  text-transform: none !important;
  white-space: nowrap;
}

/* Album header result typography: Master and Collection use the same font treatment. */
:root body .lp-shell #artistAlbumCard .album-header-collection #discogsCollectionMatchResult {
  color: #174f52;
  font: 800 10.5px/1.15 var(--app-font);
}

/* Canonical hyperlink typography across the visible Album card. */
:root body .lp-shell #artistAlbumCard a.app-blue-link,
:root body .lp-shell #artistAlbumCard a.app-blue-link:visited,
:root body .lp-shell #artistAlbumCard a.app-main-link,
:root body .lp-shell #artistAlbumCard a.app-main-link:visited,
:root body .lp-shell #artistAlbumCard a.match-card-link,
:root body .lp-shell #artistAlbumCard a.match-card-link:visited,
:root body .lp-shell #artistAlbumCard #discogsMktLink,
:root body .lp-shell #artistAlbumCard #discogsMktLink:visited,
:root body .lp-shell #artistAlbumCard #discogsCollectionMatchResult a,
:root body .lp-shell #artistAlbumCard #discogsCollectionMatchResult a:visited,
:root body .lp-shell #artistAlbumCard .album-market-search-links a,
:root body .lp-shell #artistAlbumCard .album-market-search-links a:visited {
  color: #083d9b !important;
  font-family: var(--app-font) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

/* =========================================================
   2026-08-15 P84C Settings / Album Collection presentation
   ========================================================= */


:root body .workflow-settings-account-block {
  min-width: 0 !important;
  padding: 5px 7px 4px !important;
  color: #ffffff !important;
}

:root body .workflow-settings-atomic-account {
  border-bottom: 0 !important;
}

:root body .workflow-settings-subsection-title {
  margin: 0 0 3px !important;
  color: #ffffff !important;
  font: 400 11px/1.15 var(--control-font) !important;
  white-space: nowrap !important;
}

:root body .workflow-settings-account-value-row {
  display: flex !important;
  min-width: 0 !important;
  min-height: 20px !important;
  align-items: center !important;
  gap: 7px !important;
  color: #d6e2ec !important;
  font: 600 10px/1.2 var(--control-font) !important;
}

:root body .workflow-settings-account-value-row > .workflow-settings-account-email,
:root body .workflow-settings-account-value-row > .workflow-settings-discogs-username {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  color: #d6e2ec !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font: inherit !important;
}


:root body .workflow-settings-account-actions {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
  align-items: center !important;
  gap: 6px !important;
}


:root body .workflow-settings-account-value-row .workflow-settings-signout-form {
  display: inline-flex !important;
  flex: 0 0 auto !important;
}

:root body .workflow-settings-account-value-row .workflow-settings-signout-inline {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 1px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #ff8b82 !important;
  font: 700 10px/1 var(--control-font) !important;
  white-space: nowrap !important;
}

:root body .workflow-settings-account-value-row .workflow-settings-signout-inline:hover,
:root body .workflow-settings-account-value-row .workflow-settings-signout-inline:focus-visible {
  background: transparent !important;
  color: #ffb1ab !important;
  text-decoration: underline !important;
  outline: none !important;
}

:root body .workflow-settings-account-divider {
  height: 1px !important;
  margin: 2px 7px 3px !important;
  background: rgba(129, 164, 194, 0.45) !important;
}

:root body .workflow-settings-discogs-account-row {
  border-bottom: 0 !important;
  padding-bottom: 2px !important;
}


:root body .workflow-settings-connect {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 2px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #8fd0ff !important;
  cursor: pointer !important;
  font: 700 10px/1 var(--control-font) !important;
}

:root body #discogsAccountConnect[hidden],
:root body #discogsAccountSection[data-connected="true"] #discogsAccountConnect {
  display: none !important;
}



:root body .workflow-settings-discogs-account[data-connected="false"] .workflow-settings-subsection-title,
:root body .workflow-settings-discogs-account[data-connected="false"] .workflow-settings-account-value-row > :not(.workflow-settings-account-actions) {
  opacity: .42 !important;
}

:root body .workflow-settings-collection-count-delta {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #c8d3dc !important;
  font: 600 8.5px/1.2 var(--control-font) !important;
  white-space: normal !important;
}

:root body .workflow-settings-collection-count-delta[hidden] {
  display: none !important;
}



:root body .workflow-settings-collection-option,
:root body .workflow-settings-collection-refresh {
  min-width: 0 !important;
  min-height: 24px !important;
  margin: 0 !important;
}

:root body .workflow-settings-collection-option {
  cursor: pointer !important;
}

:root body .workflow-settings-collection-option input[type="checkbox"] {
  flex: 0 0 auto !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
}

:root body #discogsCollectionLookupCheck + span,
:root body .workflow-settings-collection-control-label {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: 0 !important;
}

:root body .workflow-settings-collection-refresh {
  display: inline-flex !important;
  width: auto !important;
  padding: 2px 3px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #9ad6b2 !important;
  cursor: pointer !important;
  font: 400 10.5px/1.15 var(--control-font) !important;
  text-align: left !important;
}

:root body .workflow-settings-collection-refresh:disabled,
:root body .workflow-settings-collection-option:has(input:disabled) {
  cursor: default !important;
}

:root body .workflow-settings-refresh-icon {
  display: inline-block !important;
  margin: 0 !important;
  font: 900 14px/1 Arial, sans-serif !important;
}


:root body .workflow-settings-collection-refreshed-label,
:root body .workflow-settings-collection-refreshed {
  min-width: 0 !important;
  color: inherit !important;
  font: inherit !important;
  white-space: nowrap !important;
}



/* The resolved Master appears only beside the Album title. */


:root body .lp-shell #artistAlbumCard .album-title-master {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

:root body .lp-shell #artistAlbumCard .album-title-master[hidden] {
  display: none !important;
}


:root body .lp-shell #artistAlbumCard .collection-version-link {
  color: var(--atomic-green-link, var(--success-green));
  font: 800 12px/1.2 var(--app-font);
  text-decoration: none;
}


/* =========================================================
   P84C13 Album priority pipeline: pending links are visible but inert.
   ========================================================= */
:root body .lp-shell #artistAlbumCard a.pending-link[aria-disabled="true"],
:root body .lp-shell #artistAlbumCard a.pending-link[aria-disabled="true"]:visited {
  color: #7b8580 !important;
  cursor: default !important;
  opacity: .62 !important;
  pointer-events: none !important;
  text-decoration: none !important;
}

:root body .lp-shell #artistAlbumCard a.pending-link[aria-disabled="true"] img {
  filter: grayscale(1) !important;
  opacity: .58 !important;
}

:root body .lp-shell #artistAlbumCard .album-quick-links-card #spotifyLink.pending-link img,
:root body .lp-shell #artistAlbumCard .album-quick-links-card #amazonLink.pending-link img,
:root body .lp-shell #artistAlbumCard .album-quick-links-card #amazonBarcodeLink.pending-link img,
:root body .lp-shell #artistAlbumCard .album-quick-links-card #ebayLink.pending-link img {
  filter: none !important;
  opacity: 1 !important;
}

/* P84C14 — separate Master-wide totals from sampled price metrics. */
:root body .lp-shell #artistAlbumCard #snapshotSummaryText {
  min-height: 12px;
  margin: 4px 0 0;
  padding: 0 0 4px;
  border-bottom: 1px solid rgba(47, 125, 128, .25);
  color: #17251f;
  font: 600 10px/1.2 var(--app-font);
  white-space: nowrap;
}

:root body .lp-shell #artistAlbumCard #snapshotSummaryText:empty {
  min-height: 0;
  margin-top: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

:root body .lp-shell #artistAlbumCard .album-market-summary-samples {
  margin-top: 5px;
  color: #52615d;
  font: 600 9px/1.2 var(--app-font);
  text-align: left;
  white-space: normal;
}

/* =========================================================
   2026-08-17 P84C18E1: iOS viewport containment.
   Prevent min-content from the Releases workspace from widening the
   application grid beyond the phone viewport. The Release table keeps its
   intentional internal horizontal scrolling.
   ========================================================= */
@media (max-width: 760px) and (pointer: coarse) {
  :root body .lp-shell {
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  :root body .lp-shell > .workflow-header-section,
  :root body .lp-shell > .artist-album-workspace-section,
  :root body .lp-shell > .pricing-results-section,
  :root body .lp-shell #artistAlbumCard,
  :root body .lp-shell .version-list-card,
  :root body .lp-shell .version-list-section,
  :root body .lp-shell .record-search-toolbar,
  :root body .lp-shell .record-search-toolbar .record-search-body {
    min-width: 0 !important;
    max-width: 100% !important;
  }







}






/* =========================================================
   2026-08-17 P85 Activity / recovery-state cleanup
   ========================================================= */
@keyframes atomic-recovery-cue-pulse {
  0%, 100% { box-shadow: 0 0 0 2px rgba(217, 145, 0, .42), 0 0 0 0 rgba(217, 145, 0, .28); }
  50% { box-shadow: 0 0 0 2px rgba(217, 145, 0, .8), 0 0 0 7px rgba(217, 145, 0, 0); }
}

:root body .lp-shell .workflow-recovery-cue {
  position: relative !important;
  z-index: 3 !important;
  outline: 2px solid rgba(217, 145, 0, .72) !important;
  outline-offset: 2px !important;
  animation: atomic-recovery-cue-pulse .8s ease-in-out 4 !important;
}

:root body .lp-shell .workflow-wait-indicator {
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 17px;
  align-items: center;
  justify-content: center;
  color: #8a6200;
  font: 800 9px/1 var(--control-font);
  letter-spacing: -.1px;
  white-space: nowrap;
}

:root body .lp-shell .workflow-wait-indicator[hidden] {
  display: none !important;
}

/* Shared quota/wait warning treatment for countdown clocks. */
:root body .lp-shell .quota-wait-warning {
  color: var(--quota-led-red) !important;
  font: 900 10px/1 "Courier New", monospace !important;
  letter-spacing: 0 !important;
  text-shadow: 0 0 4px rgba(255,68,57,.48) !important;
}

:root body .lp-shell #versionsWaitIndicator,
:root body .lp-shell #collectionWaitIndicator {
  margin: 0 2px;
}


/* =========================================================
   2026-08-17 P85E live-validation fixes
   - keep the Details Atom stationary while quota countdown appears
   - render zero-Vinyl Releases as a terminal warning, not a spinner
   ========================================================= */
:root body .lp-shell #detailsWaitIndicator {
  width: 40px !important;
  min-width: 40px !important;
  flex: 0 0 40px !important;
  margin: 0 !important;
  justify-content: flex-end !important;
  color: var(--quota-led-red);
  text-shadow: 0 0 4px rgba(255,68,57,.48);
}

:root body .lp-shell .versions-header-details #detailsWaitIndicator[hidden] {
  display: inline-flex !important;
  visibility: hidden !important;
}



/* Identifier searches can resolve an album/master while proving there are
   no exact Vinyl releases. Use the same red-X error language as the Album
   no-match presentation and keep the message anchored to the left. */
:root body .lp-shell .version-list-terminal-warning {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 7px;
  background: transparent;
  color: var(--error);
  font: 900 13px/1.35 var(--app-font);
  text-align: left;
}

:root body .lp-shell .version-list-terminal-warning::before {
  content: "×";
  display: inline-flex;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  align-items: center;
  justify-content: center;
  border: 2px solid currentColor;
  border-radius: 50%;
  color: var(--error);
  font: 900 17px/1 Arial, sans-serif;
}

:root body .lp-shell .version-list-terminal-warning[hidden],
:root body .lp-shell #discogsMarketplaceVersionTable[hidden] {
  display: none !important;
}

/* =========================================================
   2026-08-18 P87: Header / Menu consolidation
   One shared panel shell for Activity, Saved List, User Library,
   and Settings. Export / Share is retired; its actions now live
   at the bottom of the Saved List and User Library views.
   ========================================================= */
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel.header-details-panel[data-panel-mode] {
  position: absolute;
  z-index: 520;
  top: calc(100% + 3px);
  right: 4px;
  left: auto;
  display: block;
  width: min(440px, calc(100% - 8px));
  min-width: 0;
  max-width: 440px;
  height: auto;
  min-height: 0;
  max-height: min(72vh, 560px);
  padding: 7px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid #526f87;
  border-radius: 7px;
  background: linear-gradient(180deg, #061a2d 0%, #020d18 100%);
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.42);
  pointer-events: auto;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel.header-details-panel[data-panel-mode][hidden],
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel [data-header-panel-view][hidden],
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel #activityPanelActions[hidden],
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel #savedListPanelActions[hidden],
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel #activityPanelSummary[hidden] {
  display: none !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-header-panel-view {
  width: 100% !important;
  min-width: 0 !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-header-panel-summary {
  min-height: 30px !important;
  margin: 0 !important;
  padding: 7px 8px !important;
  border-bottom: 1px solid rgba(129, 164, 194, 0.45) !important;
  color: #ffffff !important;
  font: 700 10.5px/1.2 var(--control-font) !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .header-album-ticker-wrap,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .album-message-ticker {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .album-message-ticker {
  display: grid !important;
  grid-template-rows: minmax(96px, auto) auto !important;
  overflow: visible !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="saved"] .album-message-ticker {
  grid-template-rows: minmax(72px, auto) auto !important;
}

:root body .lp-shell > .workflow-header-section #albumMessageDisplay.album-message-display {
  width: 100% !important;
  height: auto !important;
  min-height: 96px !important;
  max-height: 300px !important;
  padding: 7px 8px !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  border: 0 !important;
  background: transparent !important;
  font: 600 10.5px/1.28 var(--app-font) !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="saved"] #albumMessageDisplay.album-message-display {
  min-height: 72px !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action-row {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 7px 0 0 !important;
  border-top: 1px solid rgba(129, 164, 194, 0.45) !important;
  border-bottom: 0 !important;
}


:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-library-panel .workflow-panel-action-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action {
  display: inline-flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 6px 7px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  border-radius: 5px !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  font: 700 9px/1.15 var(--control-font) !important;
  text-align: center !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action-positive {
  border: 1px solid #3d9a69 !important;
  color: #67cf91 !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action-positive:hover,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action-positive:focus-visible {
  border-color: #6ed49a !important;
  background: rgba(39, 119, 76, 0.22) !important;
  color: #9be3b8 !important;
  outline: none !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action-danger {
  border: 1px solid #c7534d !important;
  color: #ff756d !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action-danger:hover,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action-danger:focus-visible {
  border-color: #e17870 !important;
  background: rgba(123, 35, 38, 0.3) !important;
  color: #ffaaa3 !important;
  outline: none !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action:disabled {
  border-color: #4b5d6b !important;
  color: #73828d !important;
  background: transparent !important;
  cursor: default !important;
  opacity: 0.7 !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action-with-icon img,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-trash-icon {
  display: block !important;
  flex: 0 0 17px !important;
  width: 17px !important;
  height: 17px !important;
  object-fit: contain !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-saved-list-display {
  width: 100% !important;
  min-height: 72px !important;
  max-height: 300px !important;
  padding: 2px 8px !important;
  overflow-y: auto !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-saved-list-line {
  display: flex !important;
  min-width: 0 !important;
  min-height: 29px !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 0 !important;
  border-bottom: 1px solid rgba(129, 164, 194, 0.24) !important;
  color: #edf4f8 !important;
  font: 600 10.5px/1.2 var(--app-font) !important;
  white-space: nowrap !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-saved-list-marker {
  flex: 0 0 7px !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #55bf80 !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-saved-list-label {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-saved-list-release-id,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel a.workflow-saved-list-release-id:visited {
  flex: 0 0 auto !important;
  color: #8bc4f2 !important;
  font: 800 10.5px/1.2 var(--app-font) !important;
  text-decoration: none !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel a.workflow-saved-list-release-id:hover,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel a.workflow-saved-list-release-id:focus-visible {
  color: #c4e3ff !important;
  text-decoration: underline !important;
}



/* P87 header-panel content uses the same Segoe UI / compact-list language as the main app. */
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="messages"] .album-message-lines {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="messages"] .album-message-line {
  display: flex !important;
  min-width: 0 !important;
  min-height: 26px !important;
  margin: 0 !important;
  padding: 4px 2px !important;
  align-items: center !important;
  gap: 6px !important;
  border-bottom: 1px solid rgba(129, 164, 194, 0.2) !important;
  color: #edf4f8 !important;
  font: 600 10.5px/1.25 var(--app-font) !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="messages"] .album-message-line > .album-message-text,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="messages"] .album-message-line > .status-result-content {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="messages"] .album-message-time {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  padding-left: 8px !important;
  color: #9fb0bf !important;
  font: 500 8.5px/1.2 var(--app-font) !important;
  white-space: nowrap !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .status-result-content,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .status-saved-content {
  display: flex !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  gap: 8px !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .status-result-label,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .status-saved-text {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #edf4f8 !important;
  font: 600 10.5px/1.25 var(--app-font) !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .status-discogs-id-group {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 3px !important;
  margin-left: auto !important;
  color: #8bc4f2 !important;
  white-space: nowrap !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel a.status-discogs-id-link,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel a.status-discogs-id-link:visited,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel .status-discogs-id-link.is-text {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  color: #8bc4f2 !important;
  font: 800 10.5px/1.2 var(--app-font) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel a.status-discogs-id-link:hover,
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel a.status-discogs-id-link:focus-visible {
  color: #c4e3ff !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="messages"] .album-message-line.is-saved.has-leading-action {
  display: flex !important;
  gap: 6px !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="saved"] .album-message-lines.workflow-session-saved-list {
  display: block !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="saved"] .workflow-session-saved-list-line {
  min-height: 32px !important;
  padding: 5px 2px !important;
  gap: 7px !important;
  font: 600 10.5px/1.2 var(--app-font) !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="saved"] .workflow-session-saved-marker {
  flex: 0 0 16px !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel[data-panel-mode="saved"] .workflow-session-saved-marker .svg-icon {
  width: 11px !important;
  height: 11px !important;
}

/* Settings panel expands to its content; the page, not the popover, owns scrolling. */
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel.header-details-panel[data-panel-mode="settings"] {
  max-height: none;
  overflow: visible;
}

/* Settings is now a content view inside the same shared shell, not a second popover. */
:root body .lp-shell > .workflow-header-section #workflowDetailsPanel > #workflowSettingsMenu.workflow-settings-menu {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 1px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

:root body .lp-shell > .workflow-header-section #workflowDetailsPanel > #workflowSettingsMenu.workflow-settings-menu::before {
  display: none !important;
}


/* P87B filtered Discogs Listings controls. */


:root body .lp-shell .marketplace-listings-heading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}


/* P87B: Discogs Market link/filter hierarchy and Release marketplace cells. */


/* Album Marketplace placeholder summary table. Values are intentionally
   static placeholders until the Release-low aggregation phase is implemented. */
:root body .lp-shell #artistAlbumCard .album-market-filtered-releases {
  width: 100%;
  min-width: 0;
  margin-top: 5px;
}


:root body .lp-shell #artistAlbumCard .album-market-filtered-releases-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  color: #17251f;
}

:root body .lp-shell #artistAlbumCard .album-market-filtered-releases-table th {
  padding: 2px 4px 3px;
  border-bottom: 1px solid rgba(47, 125, 128, .38);
  color: #52615d;
  font: 700 10px/1.1 var(--app-font);
  text-align: center;
}

:root body .lp-shell #artistAlbumCard .album-market-filtered-releases-table td {
  padding: 3px 4px 1px;
  color: #17251f;
  font: 800 11px/1.15 var(--app-font);
  text-align: center;
}


:root body .lp-shell #artistAlbumCard #discogsMktLink.market-summary-market-link,
:root body .lp-shell #artistAlbumCard #discogsMktLink.market-summary-market-link:visited {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: #083d9b !important;
  font: 600 9.5px/1.15 var(--app-font) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

:root body .lp-shell #artistAlbumCard #discogsMktLink.market-summary-market-link:hover,
:root body .lp-shell #artistAlbumCard #discogsMktLink.market-summary-market-link:focus-visible {
  text-decoration: underline !important;
}

:root body .version-list-section .marketplace-version-listings-min-combined {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, max-content);
  grid-template-rows: auto auto;
  align-items: center;
  justify-items: center !important;
  gap: 4px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  white-space: nowrap;
}

:root body .version-list-section .marketplace-version-listing-values {
  color: #132a36;
  font: 800 11.5px/1.34 var(--app-font);
  white-space: nowrap;
}

:root body .version-list-section .marketplace-release-filtered-link,
:root body .version-list-section .marketplace-release-filtered-link:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  color: var(--atomic-green-link, var(--success-green)) !important;
  font: 600 9.5px/1.15 var(--app-font) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

:root body .version-list-section .marketplace-release-filtered-link:hover,
:root body .version-list-section .marketplace-release-filtered-link:focus-visible {
  text-decoration: underline !important;
}

/* =========================================================
   2026-08-19 P87B Find card + Album/Release card/link alignment.
   Find, Album, and Releases share the same card shell. FIND text folds the
   text-entry controls; Scan/Upload remain in the header and the Atom submits.
   ========================================================= */
:root body .lp-shell .atomic-workspace-card {
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  border: 1px solid #b9ad94;
  border-radius: 7px;
  background: #fbf7eb;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .32);
}

/* FIND uses the same rounded card shell as Album and Releases. */
:root body .lp-shell .record-search-toolbar.atomic-workspace-card {
  padding: 0 7px 6px;
  overflow: visible;
}

:root body .lp-shell .record-search-toolbar .record-search-header {
  display: flex;
  min-height: 36px;
  margin: 0 0 5px;
  padding: 2px 0;
  gap: 0 !important;
}

:root body .lp-shell .record-search-toolbar.is-section-collapsed .record-search-header {
  margin-bottom: 0 !important;
  border-bottom-color: transparent !important;
}

:root body .lp-shell .record-search-toolbar .record-search-find-label {
  display: inline-flex;
  width: auto;
  min-width: 0;
  height: 30px;
  min-height: 30px;
  margin: 0;
  padding: 0 4px;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #17251f;
  box-shadow: none;
  cursor: pointer !important;
  white-space: nowrap;
  user-select: none !important;
}


/* Atom replaces the old GO button. */


/* Album title and Marketplace title intentionally share one typography rule. */
:root body .lp-shell #artistAlbumCard .album-primary-title {
  margin: 0;
  color: #17251f;
  font: 800 14px/1.15 var(--app-font);
}

:root body .lp-shell #artistAlbumCard .album-about-title.album-primary-title {
  width: auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis !important;
  white-space: nowrap;
}


/* Prominent Album links use one shared type/color treatment. */

:root body .lp-shell #artistAlbumCard a.album-prominent-link,
:root body .lp-shell #artistAlbumCard a.album-prominent-link:visited {
  color: #083d9b !important;
  font: 500 var(--album-prominent-link-size)/1.15 var(--app-font) !important;
  text-decoration: none !important;
}

:root body .lp-shell #artistAlbumCard a.album-prominent-link:hover,
:root body .lp-shell #artistAlbumCard a.album-prominent-link:focus-visible {
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}


/* =========================================================
   2026-08-19 P87C final UI corrections
   - FIND fold hides fields/Reset only; Scan + Upload stay in header.
   - Marketplace filters use compact table presentation.
   - Collection match is shown below Marketplace without a status bubble.
   ========================================================= */


:root body .lp-shell .record-search-toolbar .record-search-header .record-search-scan-button {
  width: 74px;
  min-width: 74px;
}

:root body .lp-shell #artistAlbumCard .album-market-collection {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 20px;
  height: auto;
  margin: 6px 0 0;
  padding: 0;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #174f52;
}

:root body .lp-shell #artistAlbumCard .album-market-collection #discogsCollectionMatchResult {
  display: inline-flex;
  width: auto;
  min-width: 0;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  align-items: center;
  gap: 3px;
  overflow: visible;
  color: #174f52;
  font: 800 10.5px/1.2 var(--app-font);
  white-space: nowrap;
}

:root body .lp-shell #artistAlbumCard .album-market-collection .album-header-collection-icon {
  display: inline;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: #16834b;
  font: 900 13px/1 var(--control-font);
}

:root body .lp-shell #artistAlbumCard .album-market-collection #discogsCollectionMatchResult a,
:root body .lp-shell #artistAlbumCard .album-market-collection #discogsCollectionMatchResult a:visited,
:root body .lp-shell #artistAlbumCard .album-market-collection #discogsCollectionMatchResult .collection-version-link {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  color: var(--atomic-green-link, var(--success-green)) !important;
  font: 800 12px/1.2 var(--app-font) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

:root body .lp-shell #artistAlbumCard .album-market-collection:has(#discogsCollectionMatchResult[data-lookup-state="disabled"]),
:root body .lp-shell #artistAlbumCard .album-market-collection #discogsCollectionMatchResult[data-lookup-state="disabled"] {
  color: #687176 !important;
}


/* =========================================================
   2026-08-19 P87C3 small UI corrections
   ========================================================= */

/* FIND fold: force the field/reset body out of layout while keeping
   FIND / Scan / Upload in the persistent header. */
:root body .lp-shell #recordSearchControls.section-fold-body.is-fold-hidden {
  display: none !important;
}

/* Marketplace filter uses the visual language of the old Low/Avg/High
   summary: headings + values, without an enclosing table/grid box. */


/* Another 15% wider than the current 88px Listings / Low Price column. */
:root body .lp-shell .version-list-section .discogs-marketplace-version-table th:nth-child(2),
:root body .lp-shell .version-list-section .discogs-marketplace-version-table td:nth-child(2) {
  width: 18%;
}


/* =========================================================
   2026-08-20 P87C desktop smoke-test corrections
   ========================================================= */

/* RELEASES fold keeps the header at the same vertical position as expanded. */
:root body .lp-shell .version-list-card.is-section-collapsed {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

:root body .lp-shell .version-list-card.is-section-collapsed > .version-list-section-header {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Album uses the same clipped rounded shell as FIND and RELEASES. */
:root body .lp-shell #artistAlbumCard.album-rollup-card {
  overflow: hidden;
  border-radius: 7px;
}


/* STOP is visually distinct from RESET ALL. */
:root body .lp-shell #clearAlbumSearchBtn.record-search-clear-all-button[data-mode="stop"] {
  border-color: #54191d !important;
  background: var(--workspace-section-bar) !important;
  color: #ffffff !important;
  font-weight: 900 !important;
}

:root body .lp-shell #clearAlbumSearchBtn.record-search-clear-all-button[data-mode="stop"]:hover,
:root body .lp-shell #clearAlbumSearchBtn.record-search-clear-all-button[data-mode="stop"]:focus-visible {
  border-color: #54191d !important;
  background: var(--workspace-section-bar-hover) !important;
}

/* RELEASES and DETAILS counters share gray, larger, parenthesized styling. */
:root body .lp-shell #releaseVersionsCountLabel,
:root body .lp-shell #autoLoadDetailsLabel {
  color: #66716d;
  font: 800 11px/1 var(--control-font);
  min-width: 43px;
  white-space: nowrap;
}

/* Settings refresh status now lives inside the Refresh button. */
:root body .workflow-settings-collection-refresh .workflow-settings-collection-control-label {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}





/* =========================================================
   P87C iOS CSS audit pass 2: canonical mobile Header + popovers.
   Header geometry and the shared Activity / Saved / Library / Settings
   panel live here; older mobile header generations were consolidated.
   ========================================================= */
@media (max-width: 760px) and (pointer: coarse) {
  :root body .lp-shell > .workflow-header-section {
    grid-template-columns: minmax(0, 1fr) auto !important;



    gap: 2px !important;
    border-bottom: 1px solid rgba(0, 31, 63, 0.28) !important;
    border-radius: 7px !important;
  }









  :root body .lp-shell > .workflow-header-section .workflow-header-actions {
    display: grid;
    grid-template-columns: repeat(3, 44px);
    width: 134px;
    min-width: 134px;
    max-width: 134px;

    gap: 1px;
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-action {
    width: 44px;
    min-width: 44px;
    max-width: 44px;
    height: 37px;
    min-height: 37px;
    padding: 0;
    gap: 0;
    border: 1px solid #111;
    border-radius: 5px;
    background: rgba(248, 241, 218, .92);
    color: #111;
  }

  :root body .lp-shell > .workflow-header-section #workflowSettingsToggle {
    width: 44px;
    min-width: 44px;
    max-width: 44px;
    height: 37px;
    min-height: 37px;
  }

  :root body .lp-shell > .workflow-header-section #workflowSettingsToggle .workflow-settings-icon {
    width: 22px;
    min-width: 22px;
    height: 22px;
    flex-basis: 22px;
  }



  :root body .lp-shell > .workflow-header-section .workflow-header-action-icon,
  :root body .lp-shell > .workflow-header-section .workflow-settings-icon,
  :root body .lp-shell > .workflow-header-section .workflow-header-action-icon-wrap {
    width: 22px;
    min-width: 22px;
    height: 22px;
    flex-basis: 22px;
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-action-badge {
    display: inline-flex;
  }

  :root body .lp-shell > .workflow-header-section #workflowDetailsPanel.header-details-panel[data-panel-mode] {

    max-height: calc(100vh - 54px);
    padding: 9px;
    border-radius: 10px;





}

  :root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-header-panel-summary {
    min-height: 34px !important;
    padding: 8px 9px !important;
    font-size: 11.5px !important;
  }

  :root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action {
    min-height: 40px !important;
    padding: 7px 8px !important;
    font-size: 10.5px !important;
    line-height: 1.15 !important;
  }

  :root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action-row {
    gap: 7px !important;
  }

  :root body .lp-shell > .workflow-header-section #albumMessageDisplay.album-message-display,
  :root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-saved-list-display {
    max-height: min(52vh, 300px) !important;
  }

  :root body .workflow-settings-collection-refresh .workflow-settings-collection-control-label {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }
}

@media (max-width: 620px) and (pointer: coarse) {
  :root body .lp-shell > .workflow-header-section #workflowDetailsPanel .workflow-panel-action-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 360px) and (pointer: coarse) {
  :root body .lp-shell > .workflow-header-section > .workflow-header-brand .workflow-header-logo {
    max-width: 304px;
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-actions {
    grid-template-columns: repeat(3, 40px);
    width: 122px;
    min-width: 122px;
    max-width: 122px;
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-action {
    width: 40px;
    min-width: 40px;
    max-width: 40px;
  }

  :root body .lp-shell > .workflow-header-section #workflowSettingsToggle {
    width: 40px;
    min-width: 40px;
    max-width: 40px;
  }
}


/* =========================================================
   P87C iOS CSS audit pass 3: canonical FIND layout.
   FIND header, scan/upload controls, GO/RESET row, and paired inputs
   live here; older mobile FIND generations were consolidated.
   ========================================================= */
@media (max-width: 760px) and (pointer: coarse) {
  :root body .lp-shell .record-search-toolbar.atomic-workspace-card {
    margin-bottom: 4px !important;
    padding: 0 5px 5px !important;
  }

  :root body .lp-shell .record-search-toolbar .record-search-header {
    display: grid !important;
    grid-template-columns: 30px auto minmax(0, 1fr) !important;
    grid-template-rows: 40px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: 40px !important;
    align-items: center !important;
    column-gap: 6px !important;
    row-gap: 0 !important;
    flex-wrap: nowrap !important;
  }


  :root body .lp-shell .record-search-toolbar .record-search-find-label {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 2px !important;
    gap: 3px !important;
    align-self: center !important;
    justify-self: start !important;
  }



  :root body .lp-shell .record-search-toolbar .record-search-scan-button {
    width: 100% !important;
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 7px !important;
    font-size: 10.5px !important;
  }




  :root body .lp-shell .record-search-toolbar.atomic-workspace-card .record-search-body {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 5px !important;
    align-items: center !important;
  }


  :root body .lp-shell .artist-album-workspace-section .record-search-field,
  :root body .lp-shell .artist-album-workspace-section .record-search-field.input-field-shell,
  :root body .lp-shell .artist-album-workspace-section .record-search-field.compact-scan-field-shell,
  :root body .lp-shell .artist-album-workspace-section .record-search-field.compact-text-field-shell,
  :root body .lp-shell .artist-album-workspace-section .record-search-field > input.field {
    width: 100% !important;
    min-width: 0 !important;
    height: 36px !important;
    min-height: 36px !important;
  }

  :root body .lp-shell .artist-album-workspace-section .record-search-field > input.field {
    font-size: 16px !important;
  }




  }

@media (max-width: 360px) and (pointer: coarse) {
  :root body .lp-shell .record-search-scan-button .svg-icon {
    width: 12px !important;
    height: 12px !important;
    flex-basis: 12px !important;
  }

  :root body .lp-shell .record-search-toolbar .record-search-scan-button {
    gap: 3px !important;
  }
}

/* P87C iOS CSS audit pass 1: canonical mobile overrides remain in the
   coarse-pointer 760px block below; exact superseded declarations removed. */
@media (max-width: 760px) and (pointer: coarse) {
  /* Mobile inherits the shared shell gap and zero internal workspace tail gap. */
  :root body .lp-shell .atomic-workspace-card,
  :root body .lp-shell #artistAlbumCard.album-rollup-card,
  :root body .lp-shell .record-search-toolbar.atomic-workspace-card,
  :root body .lp-shell .version-list-card.atomic-workspace-card {
    border-radius: 7px !important;
  }

  :root body .lp-shell .record-search-toolbar + .artist-album-workspace-grid {
    margin-top: 0 !important;
  }

  /* Header is a complete rounded card instead of a top-only cap. */


  /* Header popovers use most of the phone width rather than the narrow tab strip. */










  /* FIND header: status atom | FIND | Scan + Upload, always one row. */












  /* FIND body: GO / RESET row, then two paired input rows. */














  /* Album service rail is icon-first on iOS. */




















/* =========================================================
   P87C iOS CSS audit pass 4 — canonical ALBUM mobile rules
   Album card/header/body/Marketplace/link behavior is owned here.
   ========================================================= */




  .album-result-section {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 7px 0 0 !important;
    padding: 7px !important;
  }

  .album-pricing-market-link {
    display: flex !important;
    width: 100% !important;
    align-items: flex-start !important;
    line-height: 1.2 !important;
  }

  .album-pricing-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    margin-top: 4px !important;
  }






  :root body .lp-shell .album-header-collection {
    grid-column: 1 / -1;
    width: 100% !important;
    max-width: none !important;
  }

  :root body .lp-shell #artistAlbumCard .album-about-grid {
    grid-template-rows: auto auto auto;
    grid-template-columns: minmax(0, 1fr) !important;
}

  :root body .lp-shell #artistAlbumCard .album-about-identity {
    grid-column: 1;
    grid-row: 1;
    padding-top: 0 !important;
  }

  :root body .lp-shell #artistAlbumCard .album-market-summary-card {
    grid-column: 1;
    grid-row: 2;
    border-left: 0 !important;
  border-top: 1px solid rgba(47, 125, 128, .42) !important;
  padding: 7px 3px 4px !important;
}

  :root body .lp-shell #artistAlbumCard .album-quick-links-card {
    grid-column: 1;
    grid-row: 3;
  }



  :root body .lp-shell #artistAlbumCard .album-market-collection #discogsCollectionMatchResult {
    white-space: normal !important;
  }

  /* Album service rail is icon-first on iOS. */
  :root body .lp-shell #artistAlbumCard .album-quick-links-card .album-input-external-links,
  :root body .lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links,
  :root body .lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links .snapshot-search-pair-row {
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

  :root body .lp-shell #artistAlbumCard .album-quick-links-card .album-input-external-links,
  :root body .lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links .snapshot-search-pair-row {
    gap: 5px 14px !important;
  }

  :root body .lp-shell #artistAlbumCard .album-quick-links-card .album-market-search-links {
    gap: 14px !important;
  }

  :root body .lp-shell #artistAlbumCard #spotifyLink .external-link-text,
  :root body .lp-shell #artistAlbumCard #amazonLink > span,
  :root body .lp-shell #artistAlbumCard #ebayLink > span,
  :root body .lp-shell #artistAlbumCard #amazonBarcodeLink > span {
    display: inline !important;
    font: 700 10.5px/1.05 var(--app-font) !important;
    white-space: nowrap !important;
  }

  :root body .lp-shell #artistAlbumCard .album-quick-links-card .marketplace-external-icon {
    display: none !important;
  }

  :root body .lp-shell #artistAlbumCard .album-quick-links-card #spotifyLink .brand-icon,
  :root body .lp-shell #artistAlbumCard .album-quick-links-card #amazonLink .brand-icon,
  :root body .lp-shell #artistAlbumCard .album-quick-links-card #amazonBarcodeLink .brand-icon {
    vertical-align: middle !important;
  }

  :root body .lp-shell #artistAlbumCard .album-quick-links-card #ebayLink .brand-icon {
    vertical-align: middle !important;
  }

  :root body .lp-shell #artistAlbumCard .album-quick-links-card a.app-main-link {
    gap: 4px !important;
  }



/* =========================================================
   P87C iOS CSS audit pass 5 — canonical RELEASES mobile rules
   RELEASES header/counters/filter, table scrolling, row spacing, and
   embedded Details typography live here.
   ========================================================= */


  :root body .lp-shell .version-list-card > .version-list-section-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "release-title release-details"
      "release-filter release-filter";
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: auto;
    margin: 0 0 4px;
    padding: 4px 3px;
    column-gap: 6px;
    row-gap: 5px;
    align-items: center;
  }

  :root body .lp-shell .versions-header-title-group {
    grid-area: release-title;
    display: flex;
    width: auto;
    min-width: 0;
    align-items: center;
    gap: 4px !important;
    white-space: nowrap;
  }

  :root body .lp-shell .versions-header-title-group .versions-header-title-control {
    width: auto;
    min-width: 0;
    flex: 0 0 auto;
  }

  :root body .lp-shell #releaseVersionsCountLabel,
  :root body .lp-shell #autoLoadDetailsLabel {
    width: auto;
    min-width: 0;
    margin: 0;
    color: #66716d;
    font: 800 11px/1 var(--control-font);
  }

  :root body .lp-shell #releaseVersionsCountLabel {
    flex: 0 0 auto;
    overflow: visible;
    text-overflow: clip;
  }

  :root body .lp-shell .versions-header-filter {
    grid-area: release-filter;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
  }

  :root body .lp-shell .versions-header-filter .version-filter-field,
  :root body .lp-shell .versions-header-filter .version-property-filter-field {
    height: 28px;
    min-height: 28px;
  }

  :root body .lp-shell .versions-header-details #detailsWaitIndicator[hidden] {
    display: none !important;
  }

  :root body .lp-shell .versions-header-details {
    grid-area: release-details;
    display: inline-flex;
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 4px !important;
    flex-wrap: nowrap;
    white-space: nowrap;
  }

  :root body .lp-shell .versions-header-details .versions-details-title {
    flex: 0 0 auto;
  }

  :root body .lp-shell #autoLoadDetailsLabel {
    min-height: 24px;
  }

  :root body .lp-shell .discogs-marketplace-version-table-wrap,
  :root body .lp-shell .discogs-marketplace-version-table-wrap[hidden] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: var(--marketplace-table-mobile-max-height) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-x: none !important;
    touch-action: pan-y !important;
  }

  /* Mobile Releases table is a fixed viewport-width grid.  It must never
     create an inner horizontal drag surface; cell contents adapt instead. */
  :root body .version-list-section .discogs-marketplace-version-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }

  :root body .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:nth-child(1),
  :root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td:nth-child(1) {
    width: 20% !important;
  }

  :root body .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:nth-child(2),
  :root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td:nth-child(2) {
    width: 23% !important;
  }

  :root body .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:nth-child(3),
  :root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td:nth-child(3) {
    width: 41% !important;
  }

  :root body .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:nth-child(4),
  :root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td:nth-child(4) {
    width: 16% !important;
  }

  :root body .version-list-section .discogs-marketplace-version-table th,
  :root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    white-space: normal !important;
  }

  :root body .version-list-section .marketplace-version-id-cell a.marketplace-version-link,
  :root body .version-list-section .marketplace-version-listings-min-combined,
  :root body .version-list-section .marketplace-version-listing-values,
  :root body .version-list-section .marketplace-release-filtered-link {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  :root body .version-list-section .marketplace-version-id-cell a.marketplace-version-link {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  :root body .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th,
  :root body .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:first-child {
    height: 34px !important;
    padding: 4px 5px !important;
  }

  :root body .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  /* Prevent Safari text autosizing from inflating Format/Notes/Barcode/Matrix copy.
     Details now follows the fixed table width instead of compensating for a scroller. */
  :root body .version-list-section .marketplace-version-details-body {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    font: 400 11.5px/1.34 var(--app-font) !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  :root body .version-list-section .marketplace-version-details-body span,
  :root body .version-list-section .marketplace-version-details-body a,
  :root body .version-list-section .marketplace-version-details-body a > span,
  :root body .version-list-section .marketplace-version-details-body strong {
    font-family: var(--app-font) !important;
    font-size: 11.5px !important;
    line-height: 1.34 !important;
  }

  :root body .version-list-section .marketplace-version-details-body strong {
    font-weight: 800 !important;
  }
}

@media (max-width: 640px) and (pointer: coarse) {
  .album-result-section {
    gap: 4px;
  }
}

@media (max-width: 560px) and (pointer: coarse) {
  .album-pricing-content .snapshot-search-pair-row {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 2px;
  }
}


/* =========================================================
   2026-08-21 P88 Capture / Read shell + compact workflow polish
   ========================================================= */
.scan-value-dialog {
  width: min(760px, 100%);
}

.scan-value-control-row {
  display: grid;
  grid-template-columns: 148px minmax(180px, 1fr) 74px 64px;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: 8px;
}


.scan-value-input-wrap {
  width: 100%;
  min-width: 0;
  max-width: none;
  flex: none;
}

.scan-value-input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 30px;
  min-height: 30px;
  padding: 3px 32px 3px 9px;
  border: 1px solid rgba(47, 125, 128, .55);
  border-radius: 5px;
  background: #fffdf8;
  color: #17251f;
  font: 500 11px/1 var(--app-font);
  box-shadow: none;
}

.scan-value-input::placeholder {
  color: #707984;
  opacity: 1;
}

.scan-value-input:focus {
  border-color: #2f7d80;
  outline: 2px solid rgba(47, 125, 128, .16);
  outline-offset: 0;
}


/* Prevent Safari/iOS focus zoom without disabling page pinch-zoom accessibility. */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 900px) {
    .lp-shell input,
    .lp-shell textarea,
    .lp-shell select,
    .scanner-modal input,
    .scanner-modal textarea,
    .scanner-modal select {
      font-size: 16px !important;
    }
  }
}

@media (max-width: 560px) and (pointer: coarse) {
  .scan-value-control-row {
    grid-template-columns: minmax(132px, .8fr) minmax(0, 1.45fr) 62px 56px;
    gap: 5px;
  }



  .scan-value-control-row #scanValueReadBtn,
.scan-value-control-row #scanValueGoBtn,
.scan-value-input{
    min-height: 44px;
  }



  .scan-value-control-row #scanValueReadBtn,
  .scan-value-control-row #scanValueGoBtn {
    width: 100%;
    min-width: 0;
    padding-inline: 5px;
  }


}




/* =========================================================
   2026-08-21 Scan UI Updates 03: single scan viewport + Release metadata
   ========================================================= */

:root body #scanValueModal #barcodeScannerCameraStage[hidden],
:root body #scanValueModal #catalogScannerCameraStage[hidden],
:root body #scanValueModal #catalogScannerEditorStage[hidden] {
  display: none !important;
}

/* Scan UI 06: resolved Barcode/Catalog FIND values remain as reusable filter pills. */


/* =========================================================
   2026-08-23 P1A04 Capture/Read + Settings refinement
   ========================================================= */


.scan-value-header {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) auto minmax(130px, 1fr);
  align-items: center;
  gap: 10px;
}
.scan-value-header-title { justify-self: start; }

.scan-value-header .scanner-close-btn { justify-self: end; }
.scan-value-action-row {
  grid-template-columns: 74px minmax(180px, 1fr) 64px auto;
}
.scan-value-action-row .scanner-different-image-btn {
  justify-self: end;
  min-height: 30px;
  padding: 5px 14px;
  border: 1px solid #0c7744;
  border-radius: 5px;
  background: #fffdf8;
  color: #0c7744;
  font: 800 10px/1 var(--app-font);
  white-space: nowrap;
}
.scan-value-action-row .scanner-different-image-btn:hover,
.scan-value-action-row .scanner-different-image-btn:focus-visible {
  background: #f2fff7;
  border-color: #075c34;
}

.workflow-settings-market-link-filters {
  display: grid;
  width: 100%;
  min-width: 0;
  margin: 4px 0;
  padding: 0;
  align-items: center;
  gap: 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ffffff;
  font: 700 10.5px/1.3 var(--app-font);
}

.workflow-settings-market-link-filters strong,
.workflow-settings-market-link-filters .marketplace-filter-option {
  color: #ffffff;
}

.workflow-settings-market-link-filters .marketplace-filter-option {
  font-weight: 400;
}
.workflow-settings-market-link-filters .marketplace-filter-option {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin: 0;
}
.workflow-settings-market-link-filters input[type="checkbox"] {
  margin: 0;
}

.album-market-wantlist {
  margin-top: 2px;
}

@media (max-width: 760px) and (pointer: coarse) {
  .scan-value-header {
    grid-template-columns: auto minmax(150px, 1fr) auto;
  }

  .scan-value-action-row {
    grid-template-columns: 62px minmax(0, 1fr) 56px auto;
    gap: 5px;
  }
  .scan-value-action-row .scanner-different-image-btn {
    min-height: 44px;
    padding-inline: 9px;
    font-size: 9px;
  }

}

@media (max-width: 560px) and (pointer: coarse) {
  .scan-value-header {
    grid-template-columns: auto minmax(138px, 1fr) auto;
    gap: 6px;
  }
  .scan-value-header h2 { font-size: 16px; }
  .scan-value-action-row {
    grid-template-columns: 58px minmax(0, 1fr) 52px auto;
  }
}


/* =========================================================
   2026-08-23 P1A05 Capture/Read mode-context correction
   Catalog ID mode owns visibility of the Upload New Image action.
   ========================================================= */
.scan-value-action-row #scanValueDifferentImageBtn[hidden] {
  display: none !important;
}


/* =========================================================
   2026-08-23 P1A12 User Lists + FIND mode-control refinement
   ========================================================= */
@media (min-width: 761px) {
  :root body .lp-shell .record-search-toolbar .record-search-header {
    position: relative;
  }


}


/* =========================================================
   Post-P1 Possible Matches paging/filter polish.
   ========================================================= */
:root body .lp-shell #artistAlbumCard.album-rollup-card.candidate-table-expanded {
  position: relative;
  z-index: 120;
  margin-bottom: 0;
  overflow: visible;
}


:root body .lp-shell .album-candidate-load-more {
  position: sticky;
  bottom: 0;
  z-index: 2;
  width: calc(100% - 8px);
  height: 28px;
  min-height: 28px;
  margin: 4px;
  padding: 0 8px;
  border: 1px solid rgba(47, 125, 128, .52);
  border-radius: 5px;
  background: rgba(255, 253, 248, .92);
  color: #174f52;
  font: 800 9.5px/1 var(--control-font);
  white-space: nowrap;
  cursor: pointer;
}

:root body .lp-shell .album-candidate-load-more:hover:not(:disabled),
:root body .lp-shell .album-candidate-load-more:focus-visible:not(:disabled) {
  border-color: #0e5db3;
  background: #eef7fb;
  outline: none;
}

:root body .lp-shell .album-candidate-load-more:disabled {
  opacity: .62;
  cursor: default;
}


/* =========================================================
   2026-08-25 iOS shared header / Marketplace polish.
   Uses existing canonical selectors where they already own geometry so the
   stylesheet remains single-source and passes exact-selector hygiene checks.
   ========================================================= */
:root body .lp-shell .workspace-section-heading {
  color: var(--workspace-section-bar-text) !important;
  font-family: var(--control-font) !important;
  font-size: var(--workspace-heading-size) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
}



:root body .lp-shell .versions-header-filter .version-filter-field::placeholder {
  color: #6b7280;
  opacity: .82;
  font: 500 11px/1 var(--app-font);
}

/* Link activation must never change service-logo dimensions. */
:root body .lp-shell #artistAlbumCard .album-quick-links-card #spotifyLink .brand-icon,
:root body .lp-shell #artistAlbumCard .album-quick-links-card #amazonLink .brand-icon,
:root body .lp-shell #artistAlbumCard .album-quick-links-card #amazonBarcodeLink .brand-icon {
  object-fit: contain !important;
}

:root body .lp-shell #artistAlbumCard .album-quick-links-card #ebayLink .brand-icon {
  object-fit: contain !important;
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  flex: 0 0 30px !important;
}

@media (max-width: 760px) and (pointer: coarse) {
  :root {
    --workspace-heading-size: 11px;
  }









  :root body .lp-shell .album-candidate-toggle-label {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  /* Safari placeholder normalization without changing the established 30px
     P47 filter-row geometry. */
  :root body .lp-shell .versions-header-filter :where(.version-filter-field) {
    padding: 0 31px 0 9px !important;
    font: 500 16px/1 var(--app-font) !important;
    line-height: 28px !important;
    -webkit-text-size-adjust: 100%;
  }

  :root body .lp-shell .versions-header-filter :where(.version-filter-field)::placeholder {
    font: 500 16px/1 var(--app-font);
    line-height: 28px;
  }
}

/* =========================================================
   2026-08-26 Album Matches / Album Links layout refinement
   ========================================================= */



:root body .lp-shell #artistAlbumCard #amazonLink .brand-icon,
:root body .lp-shell #artistAlbumCard #amazonBarcodeLink .brand-icon,
:root body .lp-shell #artistAlbumCard #ebayLink .brand-icon {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  max-height: 22px !important;
  object-fit: contain;
}


:root body .lp-shell #artistAlbumCard {
  --album-prominent-link-size: 10.5px;
}

:root body .lp-shell #artistAlbumCard a.album-prominent-link,
:root body .lp-shell #artistAlbumCard a.album-prominent-link:visited,
:root body .lp-shell #artistAlbumCard a.album-prominent-link > span {
  font-weight: 400 !important;
}


/* Candidate header now contains only the field + LOAD MORE. */

/* ALBUM LINKS and MARKETPLACE headings share the same vertical rhythm. */



/* External service icons: compact rail. Spotify remains approximately
   Atom-sized; Amazon/eBay preserve their native logo proportions. */
:root body .lp-shell #artistAlbumCard .album-quick-links-card #spotifyLink .brand-icon {
  width: 26px !important;
  min-width: 26px !important;
  max-width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;
  flex: 0 0 26px !important;
}

:root body .lp-shell #artistAlbumCard .album-quick-links-card #amazonLink .brand-icon,
:root body .lp-shell #artistAlbumCard .album-quick-links-card #amazonBarcodeLink .brand-icon {
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  flex: 0 0 22px !important;
}


/* =========================================================
   2026-08-26 Album Links + Marketplace alignment follow-up
   ========================================================= */

/* AllMusic and Spotify share one prominent provider-link typography. */
:root body .lp-shell #artistAlbumCard .album-about-allmusic-links a.album-prominent-link,
:root body .lp-shell #artistAlbumCard .album-about-allmusic-links a.album-prominent-link:visited,
:root body .lp-shell #artistAlbumCard .album-about-allmusic-links a.album-prominent-link > span,
:root body .lp-shell #artistAlbumCard .album-about-spotify-link a.album-prominent-link,
:root body .lp-shell #artistAlbumCard .album-about-spotify-link a.album-prominent-link:visited,
:root body .lp-shell #artistAlbumCard .album-about-spotify-link a.album-prominent-link > span {
  font-size: 10.5px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
}


/* =========================================================
   2026-08-26 UI alignment + Album Links lifecycle follow-up
   ========================================================= */

/* One canonical header atom/label gap for FIND, MATCHES, RELEASES and DETAILS. */



:root body .lp-shell .versions-header-title-group,
:root body .lp-shell .versions-header-details {
  gap: var(--workflow-heading-gap) !important;
}


/* External-service labels use the same prominent treatment as AllMusic links. */
:root body .lp-shell #artistAlbumCard .album-quick-links-card a.album-prominent-link,
:root body .lp-shell #artistAlbumCard .album-quick-links-card a.album-prominent-link:visited,
:root body .lp-shell #artistAlbumCard .album-quick-links-card a.album-prominent-link > span {
  font-size: 10.5px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
}

/* FIND mode switch: far right, selected green, inactive tan like RESET ALL. */




/* =========================================================
   2026-08-28 P3.1.4 desktop header + album card polish
   ========================================================= */
@media (min-width: 761px), (pointer: fine) {
  /* Desktop/fine-pointer ordering remains stable even when the window is narrowed.
     Marketplace stays left; Album Links identity stays right. */
  :root body .lp-shell #artistAlbumCard .album-market-summary-card {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding: 4px 10px 4px 3px !important;
    border-left: 0 !important;
  }

  :root body .lp-shell #artistAlbumCard .album-about-identity {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding: 4px 3px 4px 10px !important;
    border-left: 1px solid rgba(47, 125, 128, .42) !important;
  }
}

/* =========================================================
   2026-08-28 P3.1.5 album-card content hierarchy
   - Marketplace header is the live Discogs Marketplace link.
   - Album Links header is the resolved Album + Master link.
   - Spotify sits below AllMusic; Collection/Wantlist sit below cover.
   ========================================================= */


:root body .lp-shell #artistAlbumCard .album-cover-lookup-stack {
  display: flex;
  grid-column: 1;
  grid-row: 1;
  width: 104px;
  min-width: 104px;
  max-width: 104px;
  flex-direction: column;
  align-items: stretch;
  min-height: 136px;
}

:root body .lp-shell #artistAlbumCard .album-cover-list-status {
  display: flex;
  width: 104px;
  min-width: 104px;
  max-width: 104px;
  margin-top: 3px;
  flex-direction: column;
  gap: 1px;
}

:root body .lp-shell #artistAlbumCard .album-cover-list-status .album-market-collection {
  width: 104px;
  min-width: 0;
  max-width: 104px;
  margin: 2px 0 0;
  align-items: flex-start;
}

:root body .lp-shell #artistAlbumCard .album-cover-list-status #discogsCollectionMatchResult,
:root body .lp-shell #artistAlbumCard .album-cover-list-status #discogsWantlistMatchResult {
  width: 100%;
  max-width: 104px;
  color: #174f52;
  font: 800 9px/1.15 var(--app-font);
  overflow-wrap: anywhere;
  white-space: normal !important;
}

:root body .lp-shell #artistAlbumCard .album-about-spotify-link {
  display: flex;
  width: 100%;
  margin-top: 5px;
  align-items: center;
}

:root body .lp-shell #artistAlbumCard .album-about-spotify-link #spotifyLink {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  font-size: var(--album-prominent-link-size) !important;
}

:root body .lp-shell #artistAlbumCard .album-about-spotify-link #spotifyLink .brand-icon-spotify {
  width: 24px;
  min-width: 24px;
  height: 24px;
  flex: 0 0 24px;
}


@media (max-width: 760px) and (pointer: coarse) {




  :root body .lp-shell #artistAlbumCard .album-about-spotify-link #spotifyLink .external-link-text {
    display: inline !important;
  }
}

/* =========================================================
   2026-08-28 P3.1.6 album-card placeholders + market hierarchy
   - Always reserve an album-cover thumbnail placeholder.
   - AllMusic + Spotify share the same unresolved provider styling.
   - Collection/WantList status stays aligned below cover.
   - Discogs Mkt is a black section label; only (All Releases) is the link.
   ========================================================= */

:root body .lp-shell #artistAlbumCard .album-cover-lookup-stack:has(#albumResultCover[hidden])::before {
  content: "";
  display: block;
  width: 104px;
  min-width: 104px;
  max-width: 104px;
  height: 104px;
  min-height: 104px;
  max-height: 104px;
  flex: 0 0 104px;
  box-sizing: border-box;
  border: 1px solid rgba(0, 31, 63, .22);
  border-radius: 6px;
  background:
    radial-gradient(circle at center, rgba(47, 125, 128, .17) 0 18px, transparent 19px),
    linear-gradient(135deg, rgba(47, 125, 128, .06), rgba(255, 255, 255, .48));
}

:root body .lp-shell #artistAlbumCard .album-cover-lookup-stack > .album-cover-list-status {
  margin-top: auto;
  justify-content: flex-end;
}

:root body .lp-shell #artistAlbumCard .album-cover-list-status > .album-market-collection #discogsCollectionMatchResult,
:root body .lp-shell #artistAlbumCard .album-cover-list-status > .album-market-collection #discogsWantlistMatchResult {
  font: 700 10px/1.1 var(--app-font) !important;
}

:root body .lp-shell #artistAlbumCard .album-cover-list-status > .album-market-collection #discogsCollectionMatchResult[data-lookup-state="disabled"],
:root body .lp-shell #artistAlbumCard .album-cover-list-status > .album-market-collection #discogsCollectionMatchResult[data-lookup-state="working"],
:root body .lp-shell #artistAlbumCard .album-cover-list-status > .album-market-collection #discogsWantlistMatchResult[data-lookup-state="disabled"],
:root body .lp-shell #artistAlbumCard .album-cover-list-status > .album-market-collection #discogsWantlistMatchResult[data-lookup-state="working"] {
  color: #52615d !important;
  opacity: 1 !important;
}

:root body .lp-shell #artistAlbumCard .album-provider-link.pending-link[aria-disabled="true"],
:root body .lp-shell #artistAlbumCard .album-provider-link.pending-link[aria-disabled="true"]:visited {
  color: #8a918e !important;
  opacity: .58 !important;
}

:root body .lp-shell #artistAlbumCard .album-provider-link.pending-link[aria-disabled="true"] .brand-icon {
  filter: grayscale(1) saturate(0) !important;
  opacity: .55 !important;
}

:root body .lp-shell #artistAlbumCard .album-about-allmusic-links .album-provider-link .brand-icon,
:root body .lp-shell #artistAlbumCard .album-about-spotify-link .album-provider-link .brand-icon {
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  flex: 0 0 24px !important;
}


:root body .lp-shell #artistAlbumCard .album-market-filtered-releases-spacer {
  height: 8px;
  min-height: 8px;
}

:root body .lp-shell #artistAlbumCard #albumInputMediaPanel {
  grid-template-rows: auto auto;
  row-gap: 3px;
}

:root body .lp-shell #artistAlbumCard #albumInputMediaPanel > .album-cover-lookup-stack {
  min-height: 104px;
}

:root body .lp-shell #artistAlbumCard #albumInputMediaPanel > .album-cover-list-status {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 5px 0 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  justify-content: flex-end;
}

:root body .lp-shell #artistAlbumCard #albumInputMediaPanel > .album-cover-list-status > .album-market-collection {
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
}

:root body .lp-shell #artistAlbumCard #albumInputMediaPanel > .album-cover-list-status #discogsCollectionMatchResult,
:root body .lp-shell #artistAlbumCard #albumInputMediaPanel > .album-cover-list-status #discogsWantlistMatchResult {
  width: 100%;
  max-width: none;
  overflow: visible !important;
  overflow-wrap: normal;
  white-space: normal !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 2px 4px !important;
}

:root body .lp-shell #artistAlbumCard #albumInputMediaPanel > .album-cover-list-status .album-header-collection-icon {
  margin-right: 1px !important;
}

:root body .lp-shell #artistAlbumCard #albumInputMediaPanel > .album-cover-list-status .collection-version-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  line-height: 1 !important;
}

:root body .lp-shell #artistAlbumCard #albumInputMediaPanel > .album-cover-list-status .collection-version-link::after {
  content: "";
  display: inline-block;
  width: 10px;
  min-width: 10px;
  height: 10px;
  flex: 0 0 10px;
  background: url("../icons/external-link.svg") center / contain no-repeat;
}

:root body .lp-shell #artistAlbumCard #albumAboutTitle.is-placeholder {
  color: #17251f !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
}

:root body .lp-shell #artistAlbumCard #discogsMasterTitleLink {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

:root body .lp-shell #artistAlbumCard #discogsMasterTitleLink .marketplace-external-icon {
  width: 10px;
  min-width: 10px;
  height: 10px;
}

/* =========================================================
   P8E.1.1: explicit no-match presentation.
   ========================================================= */
:root body .lp-shell #artistAlbumCard #albumAboutTitle.is-no-match {
  color: var(--error) !important;
  font-weight: 900 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}


/* P8E.1.4.2: RELEASES wait countdown follows the visible count so it cannot
   collide with the Atom/title pair. */
:root body .lp-shell .versions-header-title-group #versionsWaitIndicator {
  order: 4;
  margin-left: 3px;
  flex: 0 0 auto;
  min-width: 28px;
  justify-content: flex-start;
}

/* =========================================================
   2026-10-07 FIND capture drawer + two-row search controls
   - quota remains in FIND header
   - Artist | Album | GO
   - Barcode | Catalog ID | CLEAR ALL
   - Barcode/Catalog text focus opens zero-reflow Scan/Upload drawer
   ========================================================= */
:root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-header {
  position: relative;
  display: grid;
  grid-template-columns: 28px auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-height: 48px;
  padding-right: 6px;
}


:root body .lp-shell .record-search-toolbar.find-capture-layout.atomic-workspace-card .record-search-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "artist album"
    "barcode catno"
    "actions actions";
  width: 100%;
  min-width: 0;
  margin: 0;
  gap: 5px 6px;
  align-items: center;
}

:root body .lp-shell .record-search-toolbar.find-capture-layout.atomic-workspace-card .record-search-body > .record-search-field {
  width: 100%;
  min-width: 0;
  max-width: none;
}

:root body .lp-shell .record-search-field:has(#artistInput) { grid-area: artist; }
:root body .lp-shell .record-search-field:has(#albumTitleInput) { grid-area: album; }
:root body .lp-shell .record-search-field:has(#barcodeInput) { grid-area: barcode; }
:root body .lp-shell .record-search-field:has(#catalogIdInput) { grid-area: catno; }

/* GO / CLEAR share a compact action row beneath Barcode/Catalog ID. */
:root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body-action-buttons {
  grid-area: actions;
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

:root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body-action-buttons > #getAlbumBtn.record-search-start-stop-button,
:root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body-action-buttons > #clearAlbumSearchBtn.record-search-clear-all-button {
  position: static;
  width: 88px;
  min-width: 88px;
  max-width: 88px;
  height: 32px;
  min-height: 32px;
  margin: 0;
  padding: 0 5px;
  border: 1px solid #59635f;
  border-radius: 5px;
  font: 900 10px/1 var(--control-font);
  white-space: nowrap;
}

:root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body-action-buttons > #getAlbumBtn.record-search-start-stop-button[data-mode="start"] {
  background: var(--find-green);
  border-color: var(--find-green);
  color: #fff;
}

:root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body-action-buttons > #getAlbumBtn.record-search-start-stop-button[data-mode="stop"] {
  background: var(--workspace-section-bar);
  border-color: #54191d;
  color: #fff;
}

:root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body-action-buttons > #getAlbumBtn.record-search-start-stop-button[data-mode="disabled"],
:root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body-action-buttons > #getAlbumBtn.record-search-start-stop-button:disabled {
  background: #e9e4da;
  border-color: #bbb5aa;
  color: #9a958c;
  cursor: default;
}

:root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body input.field,
:root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body input.field:placeholder-shown {
  min-width: 0;
  height: 32px;
  min-height: 32px;
  text-align: left;
}

:root body .lp-shell .record-search-toolbar.find-capture-layout #artistInput.field,
:root body .lp-shell .record-search-toolbar.find-capture-layout #albumTitleInput.field {
  padding-top: 0;
  padding-bottom: 0;
  border: 1px solid #111;
  line-height: 30px;
}

/* Barcode/Catalog text fields are the capture triggers. Focus/drawer state is
   shown only by a heavier black field perimeter; there is no separate launcher. */
:root body .lp-shell .record-search-toolbar.find-capture-layout .capture-field-shell {
  position: relative;
  z-index: 1;
  display: block;
  min-width: 0;
  overflow: visible;
  border: 1px solid #111;
  border-radius: 5px;
  background: #fffdf8;
  box-shadow: none;
}

:root body .lp-shell .record-search-toolbar.find-capture-layout .capture-field-shell:focus-within,
:root body .lp-shell .record-search-toolbar.find-capture-layout .capture-field-shell.is-capture-drawer-open {
  z-index: 5200;
  border-color: #050505;
  background: #fffdf8;
  box-shadow: inset 0 0 0 1px #050505;
  outline: 0;
}

:root body .lp-shell .record-search-toolbar.find-capture-layout .capture-field-shell > input.field,
:root body .lp-shell .record-search-toolbar.find-capture-layout .capture-field-shell.is-capture-drawer-open > input.field {
  display: block;
  width: 100%;
  min-width: 0;
  height: 30px;
  min-height: 30px;
  margin: 0;
  padding: 0 27px 0 9px;
  line-height: 30px;
  vertical-align: middle;
  border: 0 !important;
  border-radius: 5px;
  background: transparent;
  color: var(--text);
  caret-color: var(--text);
  outline: 0 !important;
}

:root body .lp-shell .record-search-toolbar.find-capture-layout .capture-field-shell.is-capture-drawer-open > input.field::placeholder {
  color: #6e7773;
  opacity: 1;
}

/* Drawer overlays the page from the identifier field edge and uses a flat
   neutral surface: no pointer, no green frame, no outlined option tiles. */
:root body .lp-shell .capture-action-drawer {
  position: absolute;
  top: calc(100% + 4px);
  right: auto;
  left: 0;
  z-index: 5300;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(190px, calc(100vw - 24px));
  min-width: 174px;
  height: 64px;
  padding: 3px;
  gap: 0;
  transform: none;
  border: 0;
  border-radius: 6px;
  background: #fffdf8;
  box-shadow: 0 5px 14px rgba(0, 20, 28, .28);
}

:root body .lp-shell .capture-action-drawer[hidden] { display: none !important; }

:root body .lp-shell .capture-action-drawer::before,
:root body .lp-shell .capture-action-drawer::after {
  display: none;
  content: none;
}

:root body .lp-shell .capture-action-drawer-barcode,
:root body .lp-shell .capture-action-drawer-catno {
  right: auto;
  left: 0;
  transform: none;
}

:root body .lp-shell .capture-drawer-option {
  display: flex;
  min-width: 0;
  min-height: 58px;
  padding: 4px 8px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--find-green);
  box-shadow: none;
  cursor: pointer;
  font: 800 11px/1 var(--control-font);
}

:root body .lp-shell .capture-drawer-option + .capture-drawer-option {
  border-left: 1px solid #d3d8d4;
}

:root body .lp-shell .capture-drawer-option:hover,
:root body .lp-shell .capture-drawer-option:focus-visible {
  background: #f1f4f1;
  outline: 0;
}

:root body .lp-shell .capture-drawer-icon {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  filter: invert(27%) sepia(34%) saturate(1476%) hue-rotate(96deg) brightness(91%) contrast(91%);
}

/* Possible Albums remains the first visible result control below FIND. */

@media (max-width: 940px) {
  :root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-header {
    grid-template-columns: 24px auto minmax(0, 1fr);
    gap: 4px;
  }

  :root body .lp-shell .record-search-toolbar.find-capture-layout.atomic-workspace-card .record-search-body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 72px;
    gap: 4px;
  }

  :root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body-action-buttons > #getAlbumBtn.record-search-start-stop-button,
  :root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body-action-buttons > #clearAlbumSearchBtn.record-search-clear-all-button {
    padding: 0 3px;
    font-size: 9px;
  }
}

@media (max-width: 760px) and (pointer: coarse) {
  :root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-header {
    grid-template-columns: 25px 42px minmax(0, 1fr) !important;
    grid-template-rows: 46px !important;
    min-height: 46px !important;
    height: 46px !important;
    gap: 4px !important;
    padding: 0 4px !important;
  }



  :root body .lp-shell .record-search-toolbar.find-capture-layout.atomic-workspace-card .record-search-body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
      "artist album"
      "barcode catno"
      "actions actions" !important;
    grid-template-rows: 36px 36px 36px !important;
    gap: 5px 4px !important;
  }

  :root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body input.field,
  :root body .lp-shell .record-search-toolbar.find-capture-layout .capture-field-shell > input.field,
  :root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body-action-buttons > #getAlbumBtn.record-search-start-stop-button,
  :root body .lp-shell .record-search-toolbar.find-capture-layout .record-search-body-action-buttons > #clearAlbumSearchBtn.record-search-clear-all-button {
    height: 36px !important;
    min-height: 36px !important;
  }


  :root body .lp-shell .capture-action-drawer {
    top: calc(100% + 4px);
    left: 0;
    right: auto;
    width: min(184px, calc(100vw - 18px));
    min-width: 174px;
    height: 64px;
  }

  :root body .lp-shell .album-result-section {
    margin-top: 0 !important;
    padding-top: 2px !important;
  }
}

/* =========================================================
   2026-10-07 capture modal visual cleanup
   - capture source is selected before the modal opens
   - teal header + cream body aligns with the main application
   - green is reserved for primary READ / GO actions
   ========================================================= */
:root body .scanner-modal .scanner-dialog.scan-value-dialog,
:root body .scanner-modal .scanner-dialog.scan-image-upload-dialog {
  width: min(620px, calc(100vw - 20px));
  max-height: calc(100dvh - 20px);
  gap: 8px;
  padding: 8px;
  overflow: auto;
  border: 2px solid var(--release-table-teal-dark);
  border-radius: 10px;
  background: var(--release-table-cream);
  color: var(--text);
  box-shadow: 0 18px 46px rgba(0, 18, 26, .34);
}

:root body .scanner-modal .scan-value-header,
:root body .scanner-modal .scan-upload-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  min-height: 42px;
  margin: -8px -8px 2px;
  padding: 6px 8px 6px 11px;
  border-bottom: 1px solid #54191d;
  border-radius: 8px 8px 0 0;
  background: var(--workspace-section-bar);
}

:root body .scanner-modal .scan-value-header h2,
:root body .scanner-modal .scan-upload-header h2 {
  margin: 0;
  color: #fff;
  font: 900 15px/1 var(--app-font);
}

:root body .scanner-modal .scanner-close-btn {
  width: 30px;
  height: 30px;
  border: 1.5px solid rgba(255,255,255,.88);
  background: transparent;
  color: #fff;
  font-size: 18px;
}

:root body #scanValueModal .scan-value-control-row {
  order: 4;
  grid-template-columns: 72px minmax(0, 1fr) 62px;
  gap: 6px;
  margin: 0;
}

:root body #scanValueModal .scan-value-control-row #scanValueDifferentImageBtn {
  display: none !important;
}

:root body #scanValueModal[data-scan-mode="barcode"] .scan-value-control-row {
  display: none !important;
}

:root body #scanValueModal .scanner-reader-wrap,
:root body #scanValueModal .catalog-editor-stage {
  min-height: 0;
  border: 1px solid var(--release-table-teal);
  border-radius: 7px;
  background: #05090c;
}

:root body #scanValueModal .scanner-reader,
:root body #scanValueModal .scanner-reader video,
:root body #scanValueModal .scanner-reader canvas {
  min-height: 250px;
}

:root body #scanValueModal .catalog-editor-canvas-wrap {
  border: 0;
  border-radius: 6px;
}

:root body #scanValueModal[data-scan-mode="catno"] .scan-value-dialog {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "head"
    "controls"
    "visual"
    "footer";
  align-items: start;
}

:root body #scanValueModal[data-scan-mode="catno"] .scan-value-dialog .scan-value-header { grid-area: head; }
:root body #scanValueModal[data-scan-mode="catno"] .scan-value-dialog #catalogScannerCameraStage,
:root body #scanValueModal[data-scan-mode="catno"] .scan-value-dialog #catalogScannerEditorStage {
  grid-area: visual;
  width: 100%;
  min-width: 0;
}
:root body #scanValueModal[data-scan-mode="catno"] .scan-value-dialog #scanValueCatalogControls {
  grid-area: controls;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 62px;
  align-content: start;
  gap: 6px;
  width: 100%;
}
:root body #scanValueModal[data-scan-mode="catno"] .scan-value-dialog .scan-value-footer-actions { grid-area: footer; }

:root body #scanValueModal #scanValueReadBtn,
:root body #scanValueModal #scanValueGoBtn {
  min-height: 38px;
  width: 100%;
  border: 1px solid var(--find-green);
  border-radius: 5px;
  background: var(--find-green);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}

:root body #scanValueModal #scanValueReadBtn:hover,
:root body #scanValueModal #scanValueReadBtn:focus-visible,
:root body #scanValueModal #scanValueGoBtn:not(:disabled):hover,
:root body #scanValueModal #scanValueGoBtn:not(:disabled):focus-visible {
  background: #0f5a30;
  outline: none;
}

:root body #scanValueModal #scanValueGoBtn:disabled {
  border-color: #aaa79f;
  background: #d9d5cb;
  color: #7d7a73;
}

:root body #scanValueModal .scan-value-input {
  min-height: 38px;
  height: 38px;
  border-color: #8f948e;
  background: #fff;
  color: var(--text);
  font-size: 12px;
}

:root body .scanner-modal .scanner-status[hidden],
:root body .scanner-modal .scanner-status:empty,
:root body .scanner-modal .scan-upload-instructions {
  display: none !important;
}

:root body .scanner-modal .scanner-status {
  border-color: #aeb8b3;
  background: #fff;
  color: var(--text);
}

:root body .scanner-modal .scanner-status.error {
  border-color: var(--error);
  background: #fffafa;
  color: var(--error);
}

:root body .scanner-modal .scanner-footer-actions,
:root body .scanner-modal .scan-value-footer-actions {
  margin-top: 0;
  padding-top: 5px;
  border-top: 1px solid rgba(23, 87, 92, .28);
}

:root body .scanner-modal .scanner-cancel-btn {
  min-width: 82px;
  min-height: 34px;
  padding: 5px 14px;
  border: 1px solid var(--release-table-teal-dark);
  border-radius: 5px;
  background: #fffdf8;
  color: var(--release-table-teal-dark);
}

:root body .scanner-modal .scanner-cancel-btn:hover,
:root body .scanner-modal .scanner-cancel-btn:focus-visible {
  background: var(--release-table-teal-soft);
  outline: none;
}

:root body .scanner-modal .scan-image-choose-button {
  min-height: 150px;
  padding: 14px;
  gap: 6px;
  border: 2px dashed var(--release-table-teal);
  border-radius: 7px;
  background: #fff;
  color: var(--release-table-teal-dark);
}

:root body .scanner-modal .scan-image-choose-button:hover,
:root body .scanner-modal .scan-image-choose-button:focus-visible {
  border-color: var(--release-table-teal-dark);
  background: var(--release-table-teal-soft);
  outline: none;
}

:root body .scanner-modal .scan-image-choose-icon {
  filter: invert(31%) sepia(19%) saturate(1398%) hue-rotate(134deg) brightness(92%) contrast(88%);
}
:root body .scanner-modal .scan-image-choose-primary { font-size: 12px; }
:root body .scanner-modal .scan-image-choose-secondary { font-size: 9.5px; opacity: .72; }

@media (max-width: 760px) and (pointer: coarse) {
  :root body .scanner-modal { padding: 5px; align-items: flex-start; }
  :root body .scanner-modal .scanner-dialog.scan-value-dialog,
  :root body .scanner-modal .scanner-dialog.scan-image-upload-dialog {
    width: calc(100vw - 10px);
    max-height: calc(100dvh - 10px);
    border-radius: 7px;
    padding: 7px;
  }
  :root body .scanner-modal .scan-value-header,
  :root body .scanner-modal .scan-upload-header {
    margin: -7px -7px 1px;
    border-radius: 5px 5px 0 0;
  }
  :root body #scanValueModal .scanner-dialog.scan-value-dialog {
    width: calc(100vw - 12px);
    max-width: calc(100vw - 12px);
  }
  :root body #scanValueModal .scanner-reader,
  :root body #scanValueModal .scanner-reader video,
  :root body #scanValueModal .scanner-reader canvas {
    width: 100%;
    min-height: 300px;
  }
  :root body #scanValueModal[data-scan-mode="catno"] .scan-value-dialog #scanValueCatalogControls {
    grid-template-columns: 64px minmax(0, 1fr) 58px;
  }
}

@media (max-width: 520px) and (pointer: coarse) {
  :root body #scanValueModal .scan-value-input { font-size: 16px; }
}

/* P9H3 camera reuse setting */
.workflow-settings-camera-row {
  margin-top: 8px;
}
.workflow-settings-camera-option {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #d7efe6;
  font-weight: 700;
}
.workflow-settings-camera-option input {
  width: 17px;
  height: 17px;
  accent-color: #2ca66f;
}


/* =========================================================
   2026-09-15 P10A3.3 mobile usability + hidden Releases
   ========================================================= */

/* MB Lite terminal is informational, not an error. */
:root body .lp-shell .version-list-terminal-warning[data-notice-kind="success"] {
  color: #0b6f45 !important;
  background: #eef8f2 !important;
  border-color: rgba(11,111,69,.38) !important;
}
:root body .lp-shell .version-list-terminal-warning[data-notice-kind="success"]::before {
  content: "✓" !important;
  color: #0b6f45 !important;
  border-color: currentColor !important;
  font-size: 13px !important;
}

:root body .lp-shell .version-list-terminal-warning[data-notice-kind="info"] {
  color: #725600 !important;
  background: #fff9dc !important;
  border: 1px solid rgba(171,132,12,.34) !important;
}
:root body .lp-shell .version-list-terminal-warning[data-notice-kind="info"]::before {
  content: "i" !important;
  color: #8a6500 !important;
  border-color: currentColor !important;
  font: 900 12px/1 Georgia, serif !important;
}

/* Per-release Hide action beside Save. */
:root body .lp-shell .marketplace-version-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
:root body .lp-shell .marketplace-hide-version-btn {
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #a7aaa6;
  border-radius: 4px;
  background: #f5f3ed;
  color: #5f6763;
  font: 900 15px/1 Arial, sans-serif;
  cursor: pointer;
}
:root body .lp-shell .marketplace-hide-version-btn:hover,
:root body .lp-shell .marketplace-hide-version-btn:focus-visible {
  border-color: #6d7772;
  background: #e7ece8;
  color: #263b35;
}
:root body .lp-shell .field-filter-chip:has(.field-filter-chip-edit[title^="Hidden:"]) .field-filter-chip-remove {
  width: auto;
  min-width: 74px;
  padding: 0 6px;
  font-size: 8px;
}

/* =========================================================
   2026-09-16 P10A4.6 CSS hygiene pass 4
   - merged nearby duplicate selector blocks with disjoint declarations
   - compact quota meter now relies on its canonical high-specificity selectors
     rather than redundant !important declarations
   - visual behavior intentionally unchanged
   ========================================================= */
:root body .lp-shell .version-list-terminal-warning[data-notice-kind="warning"] {
  color: #8a6200 !important;
  background: #fff7dc !important;
  border: 1px solid rgba(174,126,11,.35) !important;
}
:root body .lp-shell .version-list-terminal-warning[data-notice-kind="warning"]::before {
  content: "!" !important;
  color: #9a6c00 !important;
  border-color: currentColor !important;
  font-size: 12px !important;
}

:root body #discogsAccountConnect {
  text-decoration: none !important;
}

/* =========================================================
   2026-09-17 P10A5.5 FIND borders + Release hide placement
   ========================================================= */
/* Header tabs retain the requested black outline. */
:root body .lp-shell > .workflow-header-section .workflow-header-action {
  border: 1px solid #111;
}

/* Hide Release lives at the top-right edge of each Release row/card. */
:root body .lp-shell .version-list-section .marketplace-version-indicators-cell {
  position: relative;
  padding-right: 33px;
}
:root body .lp-shell .version-list-section .marketplace-version-indicators-cell > .marketplace-hide-version-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  margin: 0;
  width: 22px;
  height: 22px;
  z-index: 3;
}

/* =========================================================
   2026-09-17 P10A5.7 lifecycle + saved-state + shallow quota meter
   - terminal candidate resolution cannot resurrect STOP after completion
   - saved releases use a green atom/check icon without blue reverse-video
   - GO/CLEAR ALL regain a light dark outline
   - quota meter uses a shallow analog track with aligned labels/needle sweep
   ========================================================= */

/* Saved state: keep the control footprint, but let the green atom/check carry
   the state instead of reversing the old blue atom onto a blue circle. */
:root body .lp-shell .select-release-btn.is-selected,
:root body .lp-shell .album-message-saved-star.is-selected {
  border-color: transparent;
  background: transparent;
  color: #138f55;
  box-shadow: none;
}

:root body .lp-shell .select-release-btn.is-selected .svg-icon,
:root body .lp-shell .album-message-saved-star.is-selected .svg-icon {
  filter: none !important;
}

/* Expanded Possible Matches overlays lower workspace cards instead of being
   clipped by the MATCHES card boundary. The list remains viewport-bounded and
   scrolls internally when there are many candidates. */


/* On iOS/mobile, keep the relocated candidate chooser as a normal block
   above Artist/Album rather than inheriting the old header display:contents. */



/* =========================================================
   2026-09-26 01D Settings subsection hierarchy
   ========================================================= */
:root body .workflow-settings-white-label {
  color: #ffffff !important;
  font-family: var(--control-font) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}



:root body .workflow-settings-discogs-divider {
  margin-top: 3px !important;
  margin-bottom: 5px !important;
}

:root body .workflow-settings-general-options {
  display: grid !important;
  gap: 1px !important;
  padding: 0 7px 3px !important;
}

:root body .workflow-settings-general-options .workflow-settings-camera-row {
  margin-top: 0 !important;
}

:root body .workflow-settings-general-options .workflow-settings-camera-option {
  color: #ffffff !important;
  font: 800 12px/1.15 var(--control-font) !important;
}


/* =========================================================
   2026-09-27 01G — Possible Matches / Albums overlay stacking
   Keep the expanded candidate chooser above the RELEASES card and bound the
   list to the remaining viewport height. Both Discogs and Backup Mode toggle
   candidate-overlay-active on the MATCHES workspace section.
   ========================================================= */
:root body .lp-shell > .artist-album-workspace-section.candidate-overlay-active {
  position: relative !important;
  z-index: 360 !important;
  overflow: visible !important;
}

:root body .lp-shell > .artist-album-workspace-section.candidate-overlay-active #artistAlbumCard.candidate-table-expanded,
:root body .lp-shell #artistAlbumCard.candidate-table-expanded {
  position: relative !important;
  z-index: 361 !important;
  overflow: visible !important;
}



:root body .lp-shell > .artist-album-workspace-section.candidate-overlay-active .album-candidate-table-wrap:not([hidden]) {
  z-index: 900 !important;
  max-height: var(--candidate-viewport-max-height, min(440px, calc(100dvh - 16px))) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}



/* =========================================================
   2026-09-28 01O — fixed candidate overlay scroll isolation
   The candidate chooser owns scrolling while it is open. Lock the document
   root so Chrome does not expose a second outer scrollbar, while reserving
   the scrollbar gutter to prevent horizontal shell movement.
   ========================================================= */
:root.candidate-fixed-overlay-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  scrollbar-gutter: auto !important;
}

body.candidate-fixed-overlay-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

/* 2026-10-07 desktop convergence + Saved/Settings consolidation. */
#workflowSettingsToggle,
#workflowSettingsToggle:hover,
#workflowSettingsToggle:focus-visible,
#workflowSettingsToggle[aria-expanded="true"] {
  width: 34px;
  min-width: 34px;
  max-width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border: 1px solid #111;
  border-radius: 5px;
  background: rgba(248, 241, 218, .92);
  box-shadow: 0 1px 3px rgba(44, 35, 20, .13);
  outline: 0;
}

#workflowSettingsToggle .workflow-settings-icon {
  width: 20px;
  height: 20px;
  flex-basis: 20px;
  filter: none !important;
  opacity: 1;
}

#workflowSettingsToggle:hover .workflow-settings-icon,
#workflowSettingsToggle:focus-visible .workflow-settings-icon { opacity: .78; }

/* Shared panel tabs: Saved/Library and Settings/Accounts.
   Individual panels own only their spacing, width and weight exceptions. */
.workflow-popover-tabs {
  display: flex;
  width: 100%;
  min-width: 0;
  padding: 0 2px 4px;
  align-items: center;
  border-bottom: 1px solid rgba(129, 164, 194, .34);
}

.workflow-popover-tab {
  min-height: 29px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--workflow-popover-tab-text);
  cursor: pointer;
}

#workflowDetailsPanel .workflow-saved-tabs {
  margin: 0 0 5px;
  gap: 4px;
}

#workflowDetailsPanel .workflow-saved-tabs[hidden] { display: none !important; }

#workflowDetailsPanel .workflow-saved-tab {
  min-width: 76px;
  padding: 3px 8px;
  font: 400 10.5px/1 var(--control-font);
  white-space: nowrap;
}

#workflowDetailsPanel .workflow-saved-context-action {
  display: inline-flex;
  min-width: 0;
  min-height: 27px;
  padding: 4px 8px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 5px;
  background: transparent;
  cursor: pointer;
  font: 700 9px/1.05 var(--control-font);
  white-space: nowrap;
}


#workflowDetailsPanel .workflow-saved-tabs-spacer {
  flex: 1 1 auto;
  min-width: 3px;
}

#workflowDetailsPanel .workflow-saved-context-action {
  flex: 0 0 auto;
  border: 1px solid #c7534d;
  color: #ff756d;
}

#workflowDetailsPanel .workflow-saved-context-action:hover,
#workflowDetailsPanel .workflow-saved-context-action:focus-visible {
  border-color: #e17870;
  background: rgba(123,35,38,.3);
  color: #ffaaa3;
  outline: none;
}

#workflowDetailsPanel .workflow-saved-context-action[hidden] {
  display: none !important;
}

#workflowDetailsPanel .workflow-saved-context-action:disabled {
  border-color: #4b5d6b;
  color: #73828d;
  cursor: default;
  opacity: .7;
}

#workflowDetailsPanel .workflow-saved-context-action .workflow-panel-trash-icon {
  width: 15px;
  min-width: 15px;
  height: 15px;
}

#workflowDetailsPanel .workflow-saved-tab.is-active,
#workflowDetailsPanel .workflow-saved-tab[aria-selected="true"] {
  border-bottom-color: var(--workflow-popover-tab-active-underline);
  color: var(--workflow-popover-tab-active-text);
  font-weight: 600;
}



#artistAlbumCard .album-quick-links-card #discogsMktLink .brand-icon-discogs {
  width: 17px;
  min-width: 17px;
  height: 17px;
  object-fit: contain;
}

/* 2026-10-07 UI refinement pass 4. Modifier rules keep this pass isolated
   from the established desktop/iOS contracts. */
@media (min-width: 761px), (pointer: fine) {
  :root body .lp-shell > .workflow-header-section .workflow-header-actions.workflow-header-actions-compact {
    display: flex;
    grid-template-columns: none;
    width: auto;
    min-width: 0;
    max-width: none;
    height: 38px;
    min-height: 38px;
    margin-left: auto;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-actions-compact > .workflow-header-action {
    width: 34px;
    min-width: 34px;
    max-width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
    gap: 0;
    border: 1px solid #111;
    border-radius: 5px;
    background: rgba(248, 241, 218, .92);
    color: #111;
    box-shadow: 0 1px 3px rgba(44,35,20,.13);
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-actions-compact > .workflow-header-action .workflow-header-action-icon,
  :root body .lp-shell > .workflow-header-section .workflow-header-actions-compact > .workflow-header-action .workflow-header-action-icon-wrap {
    width: 20px;
    min-width: 20px;
    height: 20px;
    flex-basis: 20px;
  }
}

/* One continuous Album card flow: Possible Albums, resolved identity, artwork
   and links, Collection/WantList, then the low-price table. */
:root body .lp-shell #artistAlbumCard.album-single-flow .album-about-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 0 !important;
}

:root body .lp-shell #artistAlbumCard.album-single-flow .album-about-identity {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  padding: 2px 0 0 !important;
}

:root body .lp-shell #artistAlbumCard.album-single-flow .album-market-summary-card {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 3px 0 4px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

:root body .lp-shell #artistAlbumCard.album-single-flow .album-about-grid > .album-quick-links-card {
  grid-column: 1 !important;
  grid-row: 3 !important;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 6px 0 1px;
  border: 0;
  border-top: 1px solid rgba(47, 125, 128, .32);
  background: transparent;
  box-shadow: none;
}

:root body .lp-shell #artistAlbumCard.album-single-flow #albumInputMediaPanel > .album-cover-list-status {
  margin-top: 5px;
  padding-top: 3px;
}

:root body .lp-shell #artistAlbumCard.album-single-flow .album-market-filtered-releases-spacer {
  height: 3px;
  min-height: 3px;
}

/* =========================================================
   2026-10-07 UI refinement pass 6
   - higher-contrast compact header utilities
   - FIND has no visible Atom/FIND header
   - quota + Possible Albums move under search rows
   - Album gets a compact right-side Collection/WantList/price rail
   ========================================================= */

/* Header utility visibility. */
@media (min-width: 761px), (pointer: fine) {
  :root body .lp-shell > .workflow-header-section .workflow-header-actions-compact[aria-label] {
    height: 38px;
    min-height: 38px;
    margin-right: 34px;
    gap: 2px;
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-actions-compact[aria-label] > .workflow-header-action:not(#workflowSettingsToggle) {
    width: 36px;
    min-width: 36px;
    max-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    gap: 0;
    border: 1.5px solid #111;
    border-radius: 6px;
    background: linear-gradient(180deg, #fffaf0 0%, #ead8b4 100%);
    color: #111;
    box-shadow: 0 2px 5px rgba(18, 17, 12, .30), inset 0 1px 0 rgba(255,255,255,.86);
  }

  :root body .lp-shell > .workflow-header-section .workflow-header-actions-compact[aria-label] > .workflow-header-action:not(#workflowSettingsToggle):hover,
  :root body .lp-shell > .workflow-header-section .workflow-header-actions-compact[aria-label] > .workflow-header-action:not(#workflowSettingsToggle):focus-visible,
  :root body .lp-shell > .workflow-header-section .workflow-header-actions-compact[aria-label] > .workflow-header-action:not(#workflowSettingsToggle)[aria-expanded="true"] {
    border-color: #000;
    background: #fffdf6;
    color: #000;
    box-shadow: 0 1px 5px rgba(18, 17, 12, .36);
  }



  :root body .lp-shell > .workflow-header-section .workflow-header-actions-compact[aria-label] > .workflow-header-action:not(#workflowSettingsToggle) .workflow-header-action-icon,
  :root body .lp-shell > .workflow-header-section .workflow-header-actions-compact[aria-label] > .workflow-header-action:not(#workflowSettingsToggle) .workflow-header-action-icon-wrap {
    width: 27px;
    min-width: 27px;
    height: 27px;
    flex-basis: 27px;
    filter: none;
  }

  :root body .lp-shell > .workflow-header-section .workflow-settings-button#workflowSettingsToggle {
    width: 36px;
    min-width: 36px;
    max-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    border: 1.5px solid #111;
    border-radius: 6px;
    background: linear-gradient(180deg, #fffaf0 0%, #ead8b4 100%);
    box-shadow: 0 2px 5px rgba(18, 17, 12, .30), inset 0 1px 0 rgba(255,255,255,.86);
  }

  :root body .lp-shell > .workflow-header-section .workflow-settings-button#workflowSettingsToggle .workflow-settings-icon {
    width: 27px;
    min-width: 27px;
    height: 27px;
    opacity: 1;
    filter: brightness(0) saturate(100%);
  }
}

/* Hide the legacy FIND heading/status visuals while retaining the elements for
   the existing lifecycle/fold controllers. Quota now lives in the FIND header. */
:root body .lp-shell #recordSearchToolbar.record-search-toolbar.find-capture-layout {
  position: relative;
  padding-top: 0;
}

:root body .lp-shell #recordSearchToolbar.record-search-toolbar.find-capture-layout .record-search-header {
  display: flex !important;
}


:root body .lp-shell #recordSearchToolbar.record-search-toolbar.find-capture-layout #recordSearchControls.record-search-body {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "artist album"
    "barcode catno"
    "actions actions";
  grid-template-rows: 32px 32px minmax(40px, auto);
  gap: 5px 6px;
}


/* ALBUM owns the candidate chooser; lift the Album card while the chooser is open. */
:root.candidate-fixed-overlay-open body .lp-shell #artistAlbumCard {
  position: relative !important;
  z-index: 6500 !important;
  overflow: visible !important;
}

:root body .lp-shell #artistAlbumCard:has(#albumCandidateTableWrap:not([hidden])) {
  position: relative !important;
  z-index: 6500 !important;
  overflow: visible !important;
}

/* Album result: left identity, right Collection/WantList/market box, links below. */
:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-about-grid {
  grid-template-columns: minmax(0, 1fr) 178px !important;
  grid-template-rows: auto auto !important;
  column-gap: 10px;
  row-gap: 4px;
  align-items: start;
}

:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-about-identity {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-left: 0 !important;
}

:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-summary-card {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center;
  justify-self: end;
  width: 178px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-summary-card > .album-cover-list-status {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 4px 0 0;
  padding: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  border: 0;
  border-bottom: 0;
  text-align: left;
}

:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-summary-card .album-market-collection {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 16px;
  margin: 0;
  align-items: center;
  justify-content: flex-start;
}

:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-summary-card #discogsCollectionMatchResult,
:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-summary-card #discogsWantlistMatchResult {
  display: flex;
  width: auto;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  justify-content: flex-start;
  gap: 3px;
  overflow: hidden;
  color: #52615d;
  font: 700 9.5px/1.15 var(--app-font);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-filtered-releases-spacer { display: none; }
:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-filtered-releases {
  width: 178px;
  max-width: 100%;
  margin: 0;
  padding: 3px 4px 4px;
  border: 1px solid rgba(47, 125, 128, .45);
  border-radius: 5px;
  background: rgba(255, 253, 248, .76);
  box-sizing: border-box;
}
:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-filtered-releases-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-filtered-releases-table th { padding: 2px 1px 3px; color: #40504b; font: 700 7px/1.05 var(--app-font); text-align: center; white-space: normal; }
:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-filtered-releases-table td { padding: 3px 2px 1px; border-top: 1px solid rgba(47, 125, 128, .28); color: #17251f; font: 800 9.5px/1.1 var(--app-font); text-align: center; }

:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-about-grid > .album-quick-links-card {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  width: 100%;
  margin: 2px 0 0;
  padding: 6px 0 1px;
  border: 0;
  border-top: 1px solid rgba(47, 125, 128, .32);
  background: transparent;
  box-shadow: none;
}

:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-primary-title {
  font-size: 15px;
  line-height: 1.15;
  font-weight: 800;
}


/* Narrow desktop RELEASES must remain fully inside the app card. */
:root body .lp-shell .version-list-section .discogs-marketplace-version-table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}
:root body .lp-shell .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:nth-child(1),
:root body .lp-shell .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td:nth-child(1) { width: 18% !important; }
:root body .lp-shell .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:nth-child(2),
:root body .lp-shell .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td:nth-child(2) { width: 18% !important; }
:root body .lp-shell .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:nth-child(3),
:root body .lp-shell .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td:nth-child(3) { width: 48% !important; }
:root body .lp-shell .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:nth-child(4),
:root body .lp-shell .version-list-section .discogs-marketplace-version-table tbody .marketplace-version-main-row > td:nth-child(4) { width: 16% !important; }
:root body .lp-shell .version-list-section .discogs-marketplace-version-table-wrap {
  overflow-x: hidden !important;
}
:root body .lp-shell .version-list-section .marketplace-version-details-body,
:root body .lp-shell .version-list-section .marketplace-version-details-cell {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

@media (max-width: 760px) and (pointer: coarse) {

  :root body .lp-shell #recordSearchToolbar.record-search-toolbar.find-capture-layout #recordSearchControls.record-search-body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
      "artist album"
      "barcode catno"
      "actions actions" !important;
    grid-template-rows: 36px 36px auto !important;
    gap: 5px 4px !important;
  }

  :root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-about-grid {
    grid-template-columns: minmax(0, 1fr) !important;

    gap: 5px;
  }

  :root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-about-identity {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }





  :root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-primary-title {
    font-size: 13px;
  }
}

/* =========================================================
   2026-10-08 Round 8: compact Settings controls + shared
   collapsible FIND / ALBUM / RELEASES section bars.
   ========================================================= */

/* Saved/Library summaries already provide the zero count; suppress redundant empty copy. */


/* Compact Settings controls below the Discogs account divider. */
:root body .lp-shell #workflowSettingsMenu .workflow-settings-compact-options {
  display: grid;
  width: 100%;
  gap: 1px;
  margin: 0;
  padding: 0;
}

:root body .lp-shell #workflowSettingsMenu .workflow-settings-compact-row {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 22px;
  margin: 0;
  padding: 0;
  align-items: center;
  gap: 5px;
  color: #fff;
  font: 400 11px/1.12 var(--control-font);
}

:root body .lp-shell #workflowSettingsMenu .workflow-settings-compact-row .workflow-settings-option,
:root body .lp-shell #workflowSettingsMenu .workflow-settings-compact-row .workflow-settings-option > span,
:root body .lp-shell #workflowSettingsMenu .workflow-settings-compact-row .marketplace-filter-option,
:root body .lp-shell #workflowSettingsMenu .workflow-settings-compact-row .marketplace-filter-option > span {
  display: inline-flex;
  min-width: 0;
  min-height: 20px;
  margin: 0;
  padding: 0;
  align-items: center;
  gap: 5px;
  border: 0;
  background: transparent;
  color: #fff;
  font: 400 11px/1.12 var(--control-font);
  letter-spacing: 0;
  white-space: nowrap;
}

:root body .lp-shell #workflowSettingsMenu .workflow-settings-compact-row input[type="checkbox"] {
  width: 14px;
  min-width: 14px;
  height: 14px;
  margin: 0;
}

:root body .lp-shell #workflowSettingsMenu .workflow-settings-user-lists-row {
  flex-wrap: wrap;
}

:root body .lp-shell #workflowSettingsMenu .workflow-settings-inline-refresh-time {
  color: #b9c9d7;
  font: 400 9px/1.05 var(--control-font);
  white-space: nowrap;
}

:root body .lp-shell #workflowSettingsMenu #discogsCollectionRefreshButton.workflow-settings-collection-refresh {
  width: auto;
  min-width: 0;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 3px 8px !important;
  border: 1px solid #48b67d !important;
  border-radius: 4px !important;
  background: rgba(16, 100, 56, .22) !important;
  color: #9aefb9 !important;
  box-shadow: none !important;
  font: 600 10px/1.05 var(--control-font);
  white-space: nowrap;
}
:root body .lp-shell #workflowSettingsMenu #discogsCollectionRefreshButton.workflow-settings-collection-refresh:hover:not(:disabled),
:root body .lp-shell #workflowSettingsMenu #discogsCollectionRefreshButton.workflow-settings-collection-refresh:focus-visible:not(:disabled) {
  background: rgba(24, 128, 73, .4) !important;
  border-color: #a0f4be !important;
  outline: none;
}
:root body .lp-shell #workflowSettingsMenu #discogsCollectionRefreshButton.workflow-settings-collection-refresh:disabled {
  opacity: .65;
}

:root body .lp-shell #workflowSettingsMenu #marketplaceFilterPanel.workflow-settings-compact-row {
  flex-wrap: wrap;
  row-gap: 4px;
}

:root body .lp-shell #workflowSettingsMenu .workflow-settings-market-filter-master {
  margin-right: 2px;
}

/* Shared full-width section bars. */
:root body .lp-shell .workspace-section-bar {
  display: flex;
  position: relative;
  width: 100%;
  min-width: 0;
  height: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  align-items: stretch;
  border: 0;
  border-radius: 6px 6px 0 0;
  background: var(--workspace-section-bar);
  overflow: hidden;
}

:root body .lp-shell .workspace-section-bar-toggle {
  display: flex;
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
  height: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0 8px;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  border: 0 !important;
  border-radius: 6px 6px 0 0;
  background: var(--workspace-section-bar) !important;
  color: var(--workspace-section-bar-text) !important;
  box-shadow: none !important;
  cursor: pointer;
  font: 900 11px/1 var(--control-font) !important;
  letter-spacing: .02em;
  text-align: left;
}

:root body .lp-shell .workspace-section-bar-toggle:hover,
:root body .lp-shell .workspace-section-bar-toggle:focus-visible {
  background: var(--workspace-section-bar-hover) !important;
  color: var(--workspace-section-bar-text) !important;
  outline: 1px solid rgba(255,255,255,.7) !important;
  outline-offset: -2px;
}

:root body .lp-shell .workspace-section-bar-toggle::after {
  content: "▾";
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--workspace-section-bar-text);
  font: 900 11px/1 Arial, sans-serif;
  transform-origin: center;
  transition: transform .12s ease;
}

:root body .lp-shell .workspace-section-bar-toggle[aria-expanded="false"]::after {
  transform: rotate(-90deg);
}

/* FIND: shared section bar spans the complete card edge-to-edge. */
:root body .lp-shell #recordSearchToolbar.record-search-toolbar.find-capture-layout .record-search-header.workspace-section-bar {
  display: flex !important;
  width: calc(100% + 14px) !important;
  min-height: 24px !important;
  height: 24px !important;
  margin: 0 -7px 5px;
  padding: 0 !important;
  border-radius: 6px 6px 0 0;
  background: var(--workspace-section-bar);
}

:root body .lp-shell #recordSearchToolbar.record-search-toolbar.find-capture-layout .record-search-find-label.workspace-section-bar-toggle {
  width: 100% !important;
  height: 23px !important;
  min-height: 23px !important;
  padding: 0 9px !important;
  border-radius: 6px 6px 0 0;
}

:root body .lp-shell #recordSearchToolbar.is-section-collapsed {
  padding-bottom: 0 !important;
}

:root body .lp-shell #recordSearchToolbar.is-section-collapsed .record-search-header.workspace-section-bar {
  margin-bottom: 0 !important;
}

/* Album: header stays visible; content fully disappears when folded. */
:root body .lp-shell #artistAlbumCard .album-section-bar {
  margin: 0 0 5px;
  border-radius: 6px 6px 0 0;
}

:root body .lp-shell #artistAlbumCard.is-section-collapsed .album-section-bar {
  margin-bottom: 0;
}

:root body .lp-shell #artistAlbumCard.is-section-collapsed > .album-about-row {
  display: none !important;
}

/* Low-price box first; Collection / WantList status directly beneath it. */
/* Releases: section bar is independent of the existing filter/details header. */
:root body .lp-shell #albumPricingCard .releases-section-bar {
  width: calc(100% + 14px);
  margin: 0 -7px 5px;
  border-radius: 6px 6px 0 0;
}

:root body .lp-shell #albumPricingCard.is-section-collapsed .releases-section-bar {
  margin-bottom: 0;
}


:root body .lp-shell .section-fold-card.is-section-collapsed > .workspace-section-bar,
:root body .lp-shell .section-fold-card.is-section-collapsed > .workspace-section-bar .workspace-section-bar-toggle {
  border-radius: 6px;
}

@media (max-width: 760px) and (pointer: coarse) {
  :root body .lp-shell .workspace-section-bar,
  :root body .lp-shell .workspace-section-bar-toggle {
    height: 24px;
    min-height: 24px;
  }

  :root body .lp-shell #recordSearchToolbar.record-search-toolbar.find-capture-layout .record-search-header.workspace-section-bar {
    width: calc(100% + 10px) !important;
    margin: 0 -5px 5px !important;
  }

  :root body .lp-shell #workflowSettingsMenu .workflow-settings-compact-row {
    align-items: flex-start;
  }

  :root body .lp-shell #workflowSettingsMenu .workflow-settings-user-lists-row,
  :root body .lp-shell #workflowSettingsMenu #marketplaceFilterPanel.workflow-settings-compact-row {
    flex-wrap: wrap;
  }
}


/* =========================================================
   2026-10-08 Round 10: seamless section bars + Saved/Library action layout.
   ========================================================= */

/* Tabs remain at left; Add/Export/Print are right-aligned on the same row. */
:root body .lp-shell #workflowDetailsPanel .workflow-saved-tabs {
  gap: 5px;
  padding-bottom: 5px;
}

:root body .lp-shell #workflowDetailsPanel .workflow-saved-tabs-spacer {
  flex: 1 1 auto;
  min-width: 0;
}

:root body .lp-shell #workflowDetailsPanel #savedListPanelActions.workflow-saved-top-actions {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0;
  margin: 0 0 0 auto;
  padding: 0 !important;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  /* Reset the legacy action-row divider above the Saved buttons. */
  border: 0 !important;
}

:root body .lp-shell #workflowDetailsPanel #savedListPanelActions.workflow-saved-top-actions[hidden],
:root body .lp-shell #workflowDetailsPanel #savedListPanelActions.workflow-saved-top-actions > [hidden] {
  display: none !important;
}

:root body .lp-shell #workflowDetailsPanel #savedListPanelActions .workflow-panel-action {
  width: auto;
  min-width: 58px;
  min-height: 27px;
  padding: 4px 8px;
  gap: 5px;
  font: 700 9px/1.05 var(--control-font);
  white-space: nowrap;
}

:root body .lp-shell #workflowDetailsPanel #addSavedListToLibraryBtn {
  flex: 0 0 132px;
  width: 132px !important;
  min-width: 132px !important;
  max-width: 132px !important;
  min-height: 32px;
  padding: 3px 5px;
  white-space: normal;
  overflow-wrap: normal;
  line-height: 1.05;
}

/* Make room for the fixed-width two-line Add button alongside both tabs. */
:root body .lp-shell #workflowDetailsPanel .workflow-saved-tabs > .workflow-saved-tab {
  min-width: 68px;
  padding-inline: 4px;
}
:root body .lp-shell #workflowDetailsPanel #savedListPanelActions .workflow-panel-action-with-icon {
  flex: 0 0 62px;
  width: 62px !important;
  min-width: 62px !important;
  padding-inline: 4px !important;
}

/* Destructive actions return to the bottom of their respective tab views. */
:root body .lp-shell #workflowDetailsPanel .workflow-saved-footer-actions {
  display: flex;
  width: 100%;
  margin: 6px 0 0;
  padding: 6px 0 0;
  justify-content: flex-end;
  border-top: 1px solid rgba(129, 164, 194, .30);
}

:root body .lp-shell #workflowDetailsPanel .workflow-saved-footer-actions[hidden] {
  display: none !important;
}

:root body .lp-shell #workflowDetailsPanel .workflow-saved-footer-actions .workflow-saved-context-action {
  min-width: 105px;
}

@media (max-width: 760px) and (pointer: coarse) {
  :root body .lp-shell #workflowDetailsPanel .workflow-saved-tabs {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
  }

  :root body .lp-shell #workflowDetailsPanel .workflow-saved-tabs-spacer {
    display: none;
  }

  :root body .lp-shell #workflowDetailsPanel #savedListPanelActions.workflow-saved-top-actions {
    grid-column: 1 / -1;
    width: 100%;
    margin-left: 0;
    justify-content: flex-end;
    flex-wrap: wrap;
  }
}


/* =========================================================
   2026-10-08 Round 12: Oxblood component convergence.
   New selectors only; shared legacy rules above own base geometry.
   ========================================================= */

/* Resolved Artist - Album title/master lives in the Album body beside the cover. */
:root body .lp-shell #artistAlbumCard .album-about-copy .album-section-identity {
  position: static;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 22px;
  margin: 0 0 1px;
  align-items: baseline;
  gap: 6px;
  overflow: hidden;
}

:root body .lp-shell #artistAlbumCard .album-about-copy .album-section-identity #albumAboutTitle {
  min-width: 0;
  overflow: hidden;
  color: #17251f;
  font: 800 15px/1.15 var(--app-font);
  text-overflow: ellipsis;
  white-space: nowrap;
}

:root body .lp-shell #artistAlbumCard .album-about-copy .album-section-identity #albumAboutTitle.is-placeholder {
  opacity: .92;
}

:root body .lp-shell #artistAlbumCard .album-about-copy .album-section-identity #albumTitleMaster {
  flex: 0 0 auto;
}

:root body .lp-shell #artistAlbumCard .album-section-master-link,
:root body .lp-shell #artistAlbumCard .album-section-master-link:visited {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--success-green-dark);
  font: 800 10px/1 var(--app-font);
  text-decoration: none;
  white-space: nowrap;
}

:root body .lp-shell #artistAlbumCard .album-section-master-link:hover,
:root body .lp-shell #artistAlbumCard .album-section-master-link:focus-visible {
  text-decoration: underline;
  outline: none;
}

:root body .lp-shell #artistAlbumCard .album-section-master-link .result-external-icon {
  width: 9px;
  min-width: 9px;
  height: 9px;
  filter: none;
}

:root body .lp-shell #artistAlbumCard .album-market-filtered-releases-table th > span {
  display: block;
  line-height: 1.05;
}

/* Releases metadata sits in the section bar; filter remains the only row below it. */
:root body .lp-shell #albumPricingCard .releases-section-bar .versions-header-title-group {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 78px;
  display: inline-flex;
  height: 24px;
  align-items: center;
  gap: 3px;
  pointer-events: none;
}

:root body .lp-shell #albumPricingCard .releases-section-bar #releaseVersionsCountLabel {
  display: inline-flex;
  width: auto;
  min-width: 0;
  height: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  align-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--workspace-section-bar-text);
  font: 900 11px/1 var(--control-font);
  letter-spacing: .02em;
  white-space: nowrap;
}

:root body .lp-shell #albumPricingCard .releases-section-bar .versions-header-details {
  position: absolute;
  z-index: 4;
  top: 0;
  right: 27px;
  display: inline-flex;
  width: auto;
  min-width: 0;
  height: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 3px;
  border: 0;
  background: transparent;
  color: var(--workspace-section-bar-text);
}



:root body .lp-shell #albumPricingCard .releases-section-bar .versions-details-title,
:root body .lp-shell #albumPricingCard .releases-section-bar #autoLoadDetailsLabel,
:root body .lp-shell #albumPricingCard .releases-section-bar #detailsWaitIndicator {
  color: var(--workspace-section-bar-text);
  font: 900 11px/1 var(--control-font);
  letter-spacing: .02em;
}

:root body .lp-shell #albumPricingCard .releases-section-bar .versions-details-title {
  height: 18px;
  min-height: 18px;
  padding: 0 2px;
  border: 0;
  background: transparent;
}

:root body .lp-shell #albumPricingCard #releasesSectionBody.version-list-section-header {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 0 0 5px;
  padding: 0;
  border: 0;
  background: transparent;
}

:root body .lp-shell #albumPricingCard #versionListFilterRow.versions-header-filter {
  width: 100%;
  height: 30px;
}

:root body .lp-shell #albumPricingCard #versionListFilterRow .version-list-filter-entry {
  height: 30px;
  min-height: 30px;
  border-color: rgba(47,125,128,.52);
  background: #fffdf8;
}

/* Activity copy actions share the top row; destructive Clear stays at the bottom. */
:root body .lp-shell #workflowDetailsPanel .workflow-activity-top-row {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid rgba(129,164,194,.45);
}

:root body .lp-shell #workflowDetailsPanel .workflow-activity-top-row .workflow-header-panel-summary {
  flex: 1 1 auto;
  border-bottom: 0;
}

:root body .lp-shell #workflowDetailsPanel .workflow-activity-top-actions {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 4px;
  padding-right: 4px;
}

:root body .lp-shell #workflowDetailsPanel .workflow-activity-top-actions .workflow-panel-action {
  width: auto !important;
  min-width: 78px !important;
  min-height: 25px !important;
  padding: 4px 7px !important;
}

/* Settings / Accounts share one compact tab system. */
:root body .lp-shell #workflowSettingsMenu .workflow-settings-tabs {
  margin: 0 0 7px;
  gap: 5px;
}

:root body .lp-shell #workflowSettingsMenu .workflow-settings-tab {
  min-width: 82px;
  padding: 3px 9px;
  font: 500 10.5px/1 var(--app-font);
}

:root body .lp-shell #workflowSettingsMenu .workflow-settings-tab.is-active,
:root body .lp-shell #workflowSettingsMenu .workflow-settings-tab[aria-selected="true"] {
  border-bottom-color: var(--workflow-popover-tab-active-underline);
  color: var(--workflow-popover-tab-active-text);
  font-weight: 700;
}

:root body .lp-shell #workflowSettingsMenu .workflow-settings-tab-panel {
  overflow: visible;
}

/* The DETAILS control stays visible on all devices (Round 20C). */

/* =========================================================
   2026-10-08 Round 14: candidate/background, Saved, Activity,
   and Settings style convergence.
   ========================================================= */

/* Candidate overlay document lock must never expose the browser's white root canvas. */
:root.candidate-fixed-overlay-open,
:root.candidate-fixed-overlay-open body {
  background-color: #020d15;
}


/* Saved view owns its destructive action; the Activity Clear toolbar is hidden there. */


/* Activity keeps Copy actions at the top and right-aligns the one bottom Clear action. */


:root body .lp-shell #workflowDetailsPanel[data-panel-mode="messages"] #albumMessageClear {
  width: auto;
  min-width: 105px;
}

/* Add Saved to Library is intentionally two lines in the compact Saved/Library action row. */
:root body .lp-shell #workflowDetailsPanel #addSavedListToLibraryBtn .workflow-saved-add-label {
  display: block;
  line-height: 1.05;
  text-align: center;
  white-space: normal;
}

/* Activity, Saved, and Settings share the same panel shell; legacy popover caret CSS is removed. */

/* Canonical Settings controls use the shared Round 8 geometry above. */
:root body .lp-shell #workflowSettingsMenu input[type="checkbox"] {
  width: 14px;
  min-width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #1682d4;
}

:root body .lp-shell #workflowSettingsMenu .workflow-settings-collection-option:has(input:disabled),
:root body .lp-shell #workflowSettingsMenu input[type="checkbox"]:disabled {
  opacity: 1;
}


/* =========================================================
   2026-10-08 Round 15: LED quota meter, Album-bar chooser,
   compact pricing rail, explicit Release filter actions.
   ========================================================= */

/* FIND header quota: one horizontal row of segmented LEDs. */
:root body .lp-shell #recordSearchToolbar .record-search-header > .record-search-quota-slot {
  position: absolute;
  z-index: 7;
  top: 3px;
  right: 25px;
  display: flex;
  width: auto;
  height: 18px;
  margin: 0;
  align-items: center;
  justify-content: flex-end;
  pointer-events: none;
}

:root body .lp-shell #globalQuotaWaitIndicator.global-quota-wait-indicator {
  --quota-fill: 0%;
  box-sizing: border-box;
  display: inline-flex;
  width: auto;
  min-width: 0;
  height: 18px;
  margin: 0;
  padding: 1px 5px;
  align-items: center;
  gap: 4px;
  border: 1px solid #d6b878;
  border-radius: 4px;
  background: #f1dfb4;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .16);
}

:root body .lp-shell #globalQuotaWaitIndicator .quota-led-meter {
  position: relative;
  display: block;
  width: 86px;
  min-width: 86px;
  height: 8px;
  overflow: hidden;
  border-radius: 2px;
  background: linear-gradient(to right, #abbba3 0 50%, #d2b973 50% 75%, #d7a0a0 75% 100%);
  -webkit-mask: repeating-linear-gradient(to right, #000 0 5px, transparent 5px 7px);
  mask: repeating-linear-gradient(to right, #000 0 5px, transparent 5px 7px);
}

:root body .lp-shell #globalQuotaWaitIndicator .quota-led-meter-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--quota-fill);
  max-width: 100%;
  background: linear-gradient(to right, #0eaf46 0 50%, #ffc128 50% 75%, #e63937 75% 100%);
  box-shadow: none;
  transition: width .18s ease-out;
}

:root body .lp-shell #globalQuotaWaitIndicator .quota-meter-counter {
  position: static;
  min-width: 16px;
  display: none;
  color: var(--workspace-section-bar-text);
  font: 800 8px/1 "Courier New", monospace;
  text-align: right;
}

:root body .lp-shell #globalQuotaWaitIndicator .quota-meter-pause {
  position: static;
  order: 2;
  min-width: 0;
  color: #ead19a;
  font: 700 8px/1 var(--control-font);
  white-space: nowrap;
}

:root body .lp-shell #globalQuotaWaitIndicator .quota-meter-pause[hidden] { display: none !important; }
:root body .lp-shell #globalQuotaWaitIndicator.is-waiting .quota-led-meter-fill {
  box-shadow: 0 0 4px rgba(230,57,55,.65);
}

/* The Album bar chooser floats above the full-bar fold target. */
:root body .lp-shell #artistAlbumCard .album-section-bar > .workspace-section-bar-toggle { z-index: 1; }
/* Remove the empty status spacer between Artist/Album identity and provider links. */


/* Explicit filter and clear actions precede the Release filter field. */
:root body .lp-shell .versions-header-filter .version-filter-apply-button,
:root body .lp-shell .versions-header-filter .version-filter-clear-button {
  position: relative;
  display: inline-flex;
  width: 26px;
  min-width: 26px;
  height: 26px;
  min-height: 26px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #174f52;
  box-shadow: none;
  cursor: pointer;
}

:root body .lp-shell .versions-header-filter .version-filter-apply-button { grid-column: 1; }
:root body .lp-shell .versions-header-filter .version-filter-clear-button { grid-column: 2; }

:root body .lp-shell .versions-header-filter .version-filter-apply-button:hover,
:root body .lp-shell .versions-header-filter .version-filter-apply-button:focus-visible,
:root body .lp-shell .versions-header-filter .version-filter-clear-button:hover:not(:disabled),
:root body .lp-shell .versions-header-filter .version-filter-clear-button:focus-visible:not(:disabled) {
  background: rgba(244,233,220,.88);
  color: #681f24;
  outline: 1px solid rgba(104,31,36,.30);
}

:root body .lp-shell .versions-header-filter .version-filter-clear-button:disabled {
  opacity: .55;
  cursor: default;
}

:root body .lp-shell .versions-header-filter .filter-funnel-icon,
:root body .lp-shell .versions-header-filter .filter-clear-icon {
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  overflow: visible;
}

@media (max-width: 760px) and (pointer: coarse) {
  :root body .lp-shell #globalQuotaWaitIndicator .quota-led-meter {
    width: 70px;
    min-width: 70px;
  }

}


/* =========================================================
   2026-10-09 Round 16: 576px shell, 7:1 red Hi-Fi banner,
   Saved/Settings action convergence.
   ========================================================= */

/* Saved mode: avoid the empty Activity-row divider beneath the Saved tabs. */
:root body .lp-shell #workflowDetailsPanel[data-panel-mode="saved"] .workflow-activity-top-row {
  display: none !important;
}

/* Activity actions all live in the top row; Clear is the far-right action. */
:root body .lp-shell #workflowDetailsPanel .workflow-activity-top-actions #albumMessageClear {
  margin-left: 2px;
}

/* The 7:1 artwork is the header geometry on desktop; do not crop vertically. */
@media (min-width: 761px), (pointer: fine) {
  :root body .lp-shell > .workflow-header-section > .workflow-header-brand .workflow-header-logo {
    object-fit: cover;
    object-position: center center;
  }



/* =========================================================
   2026-10-09 Round 17: single-scroll desktop containment.
   Browser chrome stays stable; Releases owns the persistent vertical scroll.
   ========================================================= */


  :root,
  :root body {
    width: 100%;
    height: 100%;
    min-height: 100%;
    overflow: hidden;
    background: #020d15;
  }

  :root body .lp-shell.round17-contained-shell {
    height: calc(100dvh - 6px);
    min-height: 0;
    margin-top: 3px;
    margin-bottom: 3px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  :root body .lp-shell.round17-contained-shell > .workflow-header-section,
  :root body .lp-shell.round17-contained-shell > .artist-album-workspace-section {
    flex: 0 0 auto;
    min-height: 0;
  }

  :root body .lp-shell.round17-contained-shell > .pricing-results-section {
    min-height: 0;
  }

  :root body .lp-shell.round17-contained-shell #albumPricingCard.version-list-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  :root body .lp-shell.round17-contained-shell #albumPricingCard #releasesSectionBody,
  :root body .lp-shell.round17-contained-shell #albumPricingCard #versionListSummaryRow {
    flex: 0 0 auto;
  }

  :root body .lp-shell.round17-contained-shell #albumPricingCard .discogs-marketplace-version-table-wrap,
  :root body .lp-shell.round17-contained-shell #albumPricingCard .discogs-marketplace-version-table-wrap[hidden] {
    flex: 1 1 auto;
    min-height: 72px !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #6b7777 transparent;
  }

  :root body .lp-shell.round17-contained-shell #albumPricingCard .discogs-marketplace-version-table-wrap::-webkit-scrollbar {
    width: 7px;
    height: 0;
  }
  :root body .lp-shell.round17-contained-shell #albumPricingCard .discogs-marketplace-version-table-wrap::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #6b7777;
  }
  :root body .lp-shell.round17-contained-shell #albumPricingCard .discogs-marketplace-version-table-wrap::-webkit-scrollbar-track {
    background: transparent;
  }
}

/* Long candidate lists remain wheel-scrollable without displaying a second bar. */
:root body .lp-shell .album-candidate-table-wrap.lp-candidate-fixed-overlay.round17-candidate-scroll {
  scrollbar-width: none;
}
:root body .lp-shell .album-candidate-table-wrap.lp-candidate-fixed-overlay.round17-candidate-scroll::-webkit-scrollbar {
  display: none;
}

/* =========================================================
   2026-10-09 Round 18: FIND candidate control + UI hygiene.
   ========================================================= */

:root body .lp-shell #recordSearchToolbar #recordSearchControls.record-search-body {
  grid-template-areas:
    "artist album"
    "barcode catno"
    "actions actions";
}

/* The two input columns remain equal; only the third row is subdivided. */
:root body .lp-shell #recordSearchToolbar .record-search-bottom-row {
  grid-area: actions;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

:root body .lp-shell #recordSearchToolbar .record-search-body-action-buttons {
  grid-area: auto;
  width: max-content;
  justify-content: flex-start;
}

:root body .lp-shell #recordSearchToolbar .find-candidate-zone {
  grid-area: auto;
  position: relative;
  z-index: 30;
  width: 100%;
  min-width: 0;
  overflow: visible;
}

:root body .lp-shell #recordSearchToolbar .find-candidate-zone > .album-candidate-slot,
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-panel,
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-header,
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-dropdown {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px;
  align-items: center;
  gap: 5px;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-header:has(.album-candidate-load-more[hidden]) {
  grid-template-columns: minmax(0, 1fr);
}

:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-control {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  padding: 3px 28px 3px 9px;
  align-items: center;
  gap: 7px;
  overflow: hidden;
  border: 1px solid rgba(47, 125, 128, .58);
  border-radius: 5px;
  background: #fffdf8;
  color: #071728;
  cursor: pointer;
  transition: min-height .14s ease, background-color .14s ease, border-color .14s ease;
}

:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-control.has-master-selection {
  padding-left: 5px;
  padding-right: 126px;
  border-color: rgba(18, 105, 54, .62);
  background: #e8f3ec;
}

:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-media {
  display: inline-flex;
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(7, 23, 40, .16);
  border-radius: 3px;
  background: #f0eee8;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-media[hidden] { display: none !important; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-image,
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-placeholder { width: 100%; height: 100%; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-image { display: block; object-fit: cover; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-image[hidden],
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-placeholder[hidden] { display: none !important; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-placeholder:not([hidden]) { display: flex; align-items: center; justify-content: center; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-placeholder img { width: 22px; height: 22px; opacity: .50; }

:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-label {
  min-width: 0;
  overflow: hidden;
  color: #071728;
  font: 600 10.5px/1.08 var(--app-font);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-arrow {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  color: #031f31;
  font-size: 11px;
  font-weight: 800;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-selected-master-link {
  position: absolute;
  z-index: 4;
  top: 50%;
  right: 27px;
  transform: translateY(-50%);
  max-width: none;
  overflow: visible;
  color: var(--success-green-dark);
  font: 500 9px/1 var(--app-font);
  text-decoration: none;
  text-overflow: clip;
  white-space: nowrap;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-selected-master-link[hidden] { display: none !important; }

:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-load-more {
  width: 40px;
  min-width: 0;
  margin: 0;
  padding: 2px 3px;
  border: 1px solid rgba(47, 125, 128, .55);
  border-radius: 5px;
  background: #fffdf8;
  color: #174f52;
  font: 700 8.5px/1.04 var(--control-font);
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
  justify-self: end;
}

/* The two-line LOAD MORE button grows with the selected-artwork control. */
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-header:has(.album-candidate-toggle-control.has-master-selection) .album-candidate-load-more {
  height: 46px;
  min-height: 46px;
}

:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-table-wrap {
  position: absolute;
  top: calc(100% + 3px);
  left: 0;
  width: 100%;
  max-width: 100%;
  max-height: 440px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid rgba(14, 71, 121, .70);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(0, 20, 36, .30);
  z-index: 7000;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-table-wrap[hidden] { display: none !important; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-table { width: 100%; table-layout: fixed; border-collapse: collapse; background: #fff; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-cell { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: center; gap: 8px; width: 100%; border-bottom: 1px solid rgba(18,105,54,.28); background: #fff; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-row:last-child .album-candidate-cell { border-bottom: 0; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-option { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 6px; width: 100%; min-width: 0; min-height: 42px; padding: 2px 6px 2px 7px; border: 0; background: transparent; color: #000; font: 400 10px/1.05 var(--app-font); text-align: left; cursor: pointer; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-option:hover,
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-option:focus-visible,
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-option.is-selected { background: #e5f3e8; outline: 1px solid var(--success-green); outline-offset: -1px; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-media { display: flex; width: 38px; height: 38px; align-items: center; justify-content: center; overflow: hidden; border: 1px solid rgba(7,23,40,.18); border-radius: 3px; background: #f0eee8; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-thumbnail,
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-thumbnail-placeholder { width: 100%; height: 100%; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-thumbnail { display: block; object-fit: cover; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-thumbnail[hidden],
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-thumbnail-placeholder[hidden] { display: none !important; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-thumbnail-placeholder:not([hidden]) { display: flex; align-items: center; justify-content: center; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-thumbnail-placeholder img { width: 22px; height: 22px; opacity: .52; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-copy { display: grid; min-width: 0; gap: 1px; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-primary-line,
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-format-line,
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-metadata-line { display: block; min-width: 0; overflow: hidden; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-primary-line { color: #071728; font-size: 10px; font-weight: 600; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-format-line { color: #1e303f; font-size: 9px; font-weight: 500; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-metadata-line { color: #46545f; font-size: 9px; font-weight: 400; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-master-link { margin-right: 7px; color: var(--success-green-dark); font: 500 9.5px/1.05 var(--app-font); text-decoration: underline; white-space: nowrap; }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-action-status { position: absolute; inset: 0; z-index: 5; display: flex; align-items: center; justify-content: center; padding: 4px 8px; border: 1px solid rgba(217,145,0,.55); border-radius: 5px; background: #fff8e5; color: #7a5200; font: 600 9.5px/1.1 var(--control-font); }
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-action-status[hidden] { display: none !important; }


:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-control:disabled,
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-control[aria-disabled="true"] {
  cursor: default;
  border-color: #aeb4b4;
  background: #e8e9e8;
  color: #737b7b;
  opacity: .72;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-control.backup-album-candidates-available {
  border-color: #a7812d;
  background: #fff2bf;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-score {
  color: #46545f;
  font: 400 8.5px/1.05 var(--app-font);
  white-space: nowrap;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-metadata-line {
  min-height: 1.05em;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-table-wrap.lp-candidate-fixed-overlay.is-scrollable:not([hidden]) {
  overflow-y: scroll !important;
  scrollbar-gutter: stable;
}

:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-table-wrap.lp-candidate-fixed-overlay:not([hidden]) {
  position: fixed !important;
  top: var(--candidate-overlay-top, 0px) !important;
  left: var(--candidate-overlay-left, 0px) !important;
  width: var(--candidate-overlay-width, 420px) !important;
  max-width: calc(100vw - 16px) !important;
  max-height: var(--candidate-overlay-max-height, 440px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  z-index: 7000 !important;
}
:root.candidate-fixed-overlay-open body .lp-shell #recordSearchToolbar { position: relative; z-index: 6500; overflow: visible; }

/* Final album title typography is defined in Round 19D. */
:root body .lp-shell #artistAlbumCard .collection-version-link { font-weight: 400 !important; }

/* Activity uses static status glyphs; there are no rotating workflow atoms. */
:root body .lp-shell .album-message-status-icon {
  display: inline-flex !important;
  width: 17px !important;
  min-width: 17px !important;
  height: 17px !important;
  min-height: 17px !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 17px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font: 700 13px/1 var(--app-font) !important;
  animation: none !important;
}
:root body .lp-shell .album-message-status-icon.is-info { color: #6f8492 !important; }
:root body .lp-shell .album-message-status-icon.is-working { color: var(--release-table-teal) !important; }
:root body .lp-shell .album-message-status-icon.is-complete { color: #16834b !important; }
:root body .lp-shell .album-message-status-icon.is-warning { color: #a66b00 !important; }
:root body .lp-shell .album-message-status-icon.is-error { color: #9c1f28 !important; }

/* When side-by-side controls would truncate the selected artwork/title, wrap
   the entire candidate selector below the action buttons. */
@media (max-width: 500px) and (pointer: coarse) {
  :root body .lp-shell #recordSearchToolbar .record-search-bottom-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }
  :root body .lp-shell #recordSearchToolbar .record-search-body-action-buttons {
    width: max-content;
  }
}

@media (max-width: 760px) and (pointer: coarse) {
  :root body .lp-shell #recordSearchToolbar #recordSearchControls.record-search-body {
    grid-template-areas:
      "artist album"
      "barcode catno"
      "actions actions" !important;
    grid-template-rows: 36px 36px auto !important;
  }
}

/* =========================================================
   2026-10-09 Round 19C: startup fold + compact equal-height FIND row.
   ========================================================= */
/* Artwork is 38px high; the empty selector is equally tall from first paint. */
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-control,
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-control.has-master-selection {
  height: 46px;
  min-height: 46px;
}

/* Compact GO / CLEAR buttons match the artwork selector in all states. */
:root body .lp-shell #recordSearchToolbar .record-search-body-action-buttons > #getAlbumBtn.record-search-start-stop-button,
:root body .lp-shell #recordSearchToolbar .record-search-body-action-buttons > #clearAlbumSearchBtn.record-search-clear-all-button {
  display: flex;
  flex: 0 0 60px;
  align-items: center;
  justify-content: center;
  width: 60px;
  min-width: 60px;
  max-width: 60px;
  height: 46px !important;
  min-height: 46px !important;
  padding: 2px 4px;
  white-space: normal;
  line-height: 1.15;
}
:root body .lp-shell #recordSearchToolbar .record-search-body-action-buttons .record-search-clear-label,
:root body .lp-shell #recordSearchToolbar .record-search-body-action-buttons .record-search-clear-label > span {
  display: block;
  text-align: center;
}
/* Narrow LOAD MORE is the same height whether artwork is shown or not. */
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-load-more {
  height: 46px;
  min-height: 46px;
}

/* Folded RELEASES must not reserve the entire empty desktop viewport. */
@media (min-width: 761px), (pointer: fine) {
  :root body .lp-shell.round17-contained-shell > .pricing-results-section:has(> #albumPricingCard.is-section-collapsed) {
    flex: 0 0 auto;
  }
  :root body .lp-shell.round17-contained-shell #albumPricingCard.is-section-collapsed {
    height: auto;
  }
}


/* =========================================================
   2026-10-09 Round 19D: content-sized RELEASES, Album type
   and low-price alignment (no search/workflow changes).
   ========================================================= */
/* RELEASES follows the content height, up to 400px of table rows/header.
   The surrounding card must not consume unused viewport space. */
:root body .lp-shell #albumPricingCard .discogs-marketplace-version-table-wrap:not([hidden]) {
  height: auto !important;
  min-height: 0 !important;
  max-height: 400px !important;
  flex: 0 1 auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

@media (min-width: 761px), (pointer: fine) {
  /* Undo Round 17's viewport-filling Releases flex allocation. Allow the
     shell to scroll on short displays instead of clipping the 400px table. */
  :root body .lp-shell.round17-contained-shell > .pricing-results-section {
    flex: 0 0 auto !important;
    overflow: visible !important;
  }
  :root body .lp-shell.round17-contained-shell #albumPricingCard.version-list-card {
    height: auto !important;
    min-height: 0 !important;
  }
  :root body .lp-shell.round17-contained-shell {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
}

/* Slightly larger title, still normal (not bold). */
:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-primary-title,
:root body .lp-shell #artistAlbumCard .album-about-title.album-primary-title {
  font: 400 12.5px/1.14 var(--app-font) !important;
}

/* Placeholder uses a historic ID-specific rule, override its old boldness. */
:root body .lp-shell #artistAlbumCard #albumAboutTitle.is-placeholder {
  font: 400 12.5px/1.14 var(--app-font) !important;
}

/* Only external provider/market links are bold. Collection/Wantlist
   release links intentionally keep their unbolded Round 18 treatment. */
:root body .lp-shell #artistAlbumCard.album-single-flow a.album-prominent-link,
:root body .lp-shell #artistAlbumCard.album-single-flow a.album-prominent-link:visited,
:root body .lp-shell #artistAlbumCard.album-single-flow a.album-prominent-link > span,
:root body .lp-shell #artistAlbumCard.album-single-flow a.album-prominent-link span {
  font-weight: 700 !important;
}

/* Stay in the same Album row, but move the 178px Low Price/Collection
   column toward the center by 20px; no DOM reorder. */
:root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-summary-card {
  transform: translate(-20px, 7px);
}



/* =========================================================
   Round 20C: iOS/touch viewport fixes. Desktop/fine-pointer rules
   above remain unchanged. Do not change provider/search state.
   ========================================================= */
@media (max-width: 760px) and (pointer: coarse) {
  /* True full-width banner footprint, rather than a 42px image protruding
     out of the 36px brand container into the FIND section. */
  :root body .lp-shell > .workflow-header-section {
    position: relative !important;
    display: block !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 3px 4px !important;
    overflow: visible !important;
  }
  :root body .lp-shell > .workflow-header-section > .workflow-header-brand,
  :root body .lp-shell > .workflow-header-section > .workflow-header-brand > .workflow-header-logo-button {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    pointer-events: none;
    border-radius: 7px;
  }
  :root body .lp-shell > .workflow-header-section > .workflow-header-brand .workflow-header-logo {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: left center;
  }
  :root body .lp-shell > .workflow-header-section .workflow-header-main {
    position: relative !important;
    z-index: 5 !important;
    display: flex !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    justify-content: flex-end;
  }
  :root body .lp-shell > .workflow-header-section .workflow-header-actions {
    height: 44px;
    min-height: 44px;
    align-items: center;
  }
  /* The panel's right edge aligns to the header's right edge, not to
     the 134px action rail midpoint; never center relative to the rail. */
  :root body .lp-shell > .workflow-header-section #workflowDetailsPanel.header-details-panel[data-panel-mode] {
    left: auto;
    right: 0;
    top: calc(100% + 3px);
    transform: none;
    width: calc(100vw - 24px);
    min-width: 0;
    max-width: calc(100vw - 24px);
    box-sizing: border-box;
    overflow-x: hidden;
  }
  :root body .lp-shell #workflowDetailsPanel .workflow-activity-top-row {
    flex-wrap: wrap;
  }
  :root body .lp-shell #workflowDetailsPanel .workflow-activity-top-actions {
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  :root body .lp-shell #workflowDetailsPanel .workflow-saved-tabs,
  :root body .lp-shell #workflowDetailsPanel #savedListPanelActions.workflow-saved-top-actions {
    min-width: 0;
    max-width: 100%;
  }
  /* + button coexists with the original clear-X. Input remains editable. */
  :root body .lp-shell .record-search-toolbar.find-capture-layout .capture-field-shell {
    isolation: isolate;
  }
  :root body .lp-shell .record-search-toolbar.find-capture-layout .capture-field-shell > input.field {
    padding-right: 32px !important;
  }
  :root body .lp-shell .record-search-toolbar.find-capture-layout .capture-field-shell:has(> input.field:not(:placeholder-shown)) > input.field {
    padding-right: 55px !important;
  }
  :root body .lp-shell .capture-drawer-toggle {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 4px;
    transform: translateY(-50%);
    display: inline-flex;
    width: 24px;
    height: 27px;
    align-items: center;
    justify-content: center;
    border: 1px solid #111;
    border-radius: 4px;
    background: #e8f3ec;
    color: #086733;
    font: 800 18px/1 var(--control-font);
    cursor: pointer;
  }
  :root body .lp-shell .capture-field-shell:has(> input.field:not(:placeholder-shown)) > .capture-drawer-toggle {
    right: 30px;
  }
  :root body .lp-shell .capture-drawer-toggle[aria-expanded="true"] {
    background: #d1e7d8;
    border-color: #086733;
  }
  :root body .lp-shell .capture-drawer-toggle[aria-expanded="true"] > span {
    font-size: 0;
  }
  :root body .lp-shell .capture-drawer-toggle[aria-expanded="true"] > span::after {
    content: "−";
    font-size: 18px;
  }
  /* Anchored floating menu; outlined options read as distinct buttons. */
  :root body .lp-shell .capture-action-drawer {
    border: 1px solid #111;
    border-radius: 6px;
    background: #fffdf2;
    box-shadow: 0 5px 14px rgba(0,20,28,.28);
    overflow: hidden;
  }
  :root body .lp-shell .capture-drawer-option {
    background: #f4f8f1;
    color: #09552e;
  }
  :root body .lp-shell .capture-drawer-option + .capture-drawer-option {
    border-left: 1px solid #111;
  }
  /* Selected candidate uses the list-row typography with a second metadata
     line. Place the arrow before, not beyond, the independent Master link. */
  :root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-control.has-master-selection {
    padding-right: 124px !important;
  }
  :root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-copy {
    display: grid;
    min-width: 0;
    align-content: center;
    gap: 2px;
  }
  :root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-label {
    font-size: 10px;
    font-weight: 600;
  }
  :root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-subtitle {
    color: #46545f;
    font: 400 9px/1.08 var(--app-font);
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  :root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-subtitle[hidden] {
    display: none !important;
  }
  :root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-control.has-master-selection .album-candidate-toggle-arrow {
    right: 105px;
    font-size: 13px;
  }
  :root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-selected-master-link {
    right: 7px;
    font-size: 9px;
  }
  /* ALBUM: title bold; keep the market summary compact, but give it an
     independent row beneath the artwork, provider and marketplace links. */
  :root body .lp-shell #artistAlbumCard .album-about-copy .album-section-identity #albumAboutTitle:not(.is-placeholder),
  :root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-primary-title:not(.is-placeholder) {
    font-weight: 700 !important;
  }
  :root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-about-grid {
    grid-template-rows: auto auto auto !important;
  }
  :root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-about-grid > .album-quick-links-card {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  :root body .lp-shell #artistAlbumCard.album-single-flow.album-rollup-card .album-market-summary-card {
    grid-column: 1 !important;
    grid-row: 3 !important;
    justify-self: end;
    width: 178px !important;
    max-width: 100% !important;
    margin: 2px 0 0 !important;
    transform: none !important;
  }
  /* RELEASES filter visibility belongs solely to RELEASES folding. */
  :root body .lp-shell #albumPricingCard:not(.is-section-collapsed) #releasesSectionBody {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    min-height: 30px !important;
  }
  :root body .lp-shell #albumPricingCard:not(.is-section-collapsed) #versionListFilterRow {
    display: grid !important;
    visibility: visible !important;
  }
  :root body .lp-shell #albumPricingCard .releases-section-bar .versions-header-details .versions-details-title {
    display: inline-flex !important;
    align-items: center;
    font-size: 10px !important;
  }
  :root body .lp-shell #albumPricingCard .releases-section-bar .versions-header-details {
    right: 22px;
    gap: 2px;
  }
  :root body .lp-shell #albumPricingCard .releases-section-bar #autoLoadDetailsLabel {
    font-size: 10px;
  }
  :root body .version-list-section .discogs-marketplace-version-table .marketplace-column-header-row th:last-child {
    font-size: 9px !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}
/* Presentational capture affordance has no effect on non-touch desktop. */
@media (min-width: 761px), (pointer: fine) {
  :root body .lp-shell .capture-drawer-toggle { display: none !important; }
}

/* Round 20D: match the selected candidate identity with its option row,
   strengthen the resolved title, and use existing art-column list-status rules. */
:root body .lp-shell #artistAlbumCard .album-about-title.album-primary-title:not(.is-placeholder) {
  font-weight: 700 !important;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-copy {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 2px;
}
:root body .lp-shell #recordSearchToolbar .find-candidate-zone .album-candidate-toggle-subtitle:not([hidden]) {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #46545f;
  font: 400 9px/1.08 var(--app-font);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
