/* The customer checkout is separate from the authenticated dashboard shell. */
body.checkout-page { display: block; }
.checkout-page .checkout-shell { margin: 0 auto; width: min(100%, 620px); padding: 24px 16px; min-width: 0; }
.checkout-page .checkout-logo { display: block; width: min(220px, 70%); height: auto; margin: 0 auto 20px; }
.checkout-page h1 { overflow-wrap: anywhere; }
.checkout-page #thirdweb-checkout { direction: ltr; margin-top: 20px; min-width: 0; }
.checkout-page #thirdweb-checkout > * { max-width: 100%; }
.checkout-page #checkout-status { margin: 16px 0; padding: 12px; background: #f6efe8; border-radius: 10px; overflow-wrap: anywhere; }
/* Customer entry experience. Every rule is scoped away from the admin UI. */
.customer-experience { background: radial-gradient(ellipse at 85% 0%, #eedbc64d, transparent 55%), #faf6ee; color: #352526; }
.customer-experience .checkout-shell { width: min(100%, 960px); padding: 16px 20px 32px; }
.customer-experience .experience-brand { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid #dfd3c6; }
.customer-experience .experience-brand img { width: 78px; height: 78px; object-fit: contain; }
.customer-experience .experience-brand > span { font-size: 13px; color: #806d62; }
.customer-experience .entry-steps { display: flex; justify-content: space-between; gap: 12px; padding: 0; margin: 24px 0; list-style: none; }
.customer-experience .entry-steps li { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #6e5b57; }
.customer-experience .entry-steps li > span { display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 25px; border: 1px solid #d7b899; border-radius: 50%; color: #622236; background: #f3e8d9; font-size: 12px; }
.customer-experience .experience-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.customer-experience .prize-story, .customer-experience .entry-card { min-width: 0; border: 1px solid #e3d7c9; border-radius: 22px; background: #fffdf8; padding: 24px; }
.customer-experience .prize-story { background: linear-gradient(160deg, #fffdf8, #f5ebdc); }
.customer-experience .prize-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(100px, 43%); gap: 18px; align-items: center; }
.customer-experience .experience-eyebrow { margin: 0 0 10px; font-size: 12px; color: #94734f; }
.customer-experience h1 { font-size: clamp(26px, 3vw, 36px); line-height: 1.25; margin: 0 0 12px; color: #591c2b; }
.customer-experience .experience-tagline { font-size: 14px; line-height: 1.8; margin: 0; color: #7b6860; }
.customer-experience .ticket-price { margin: 24px 0 0; display: flex; flex-direction: column; gap: 4px; }
.customer-experience .ticket-price > strong { font-size: 29px; color: #591c2b; }
.customer-experience .ticket-price > span { font-size: 11px; line-height: 1.7; color: #7b6860; }
.customer-experience .prize-visual { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; border-radius: 16px; border: 1px solid #e9dbca; background: #f4eadc; }
.customer-experience .prize-visual-fallback { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #743345; gap: 10px; }
.customer-experience .prize-visual-fallback > strong { font-size: 48px; font-weight: 400; }
.customer-experience .prize-visual-fallback > small { font-size: 9px; }
.customer-experience .prize-description { margin: 22px 0; }
.customer-experience h2 { color: #591c2b; font-size: 19px; margin: 0 0 14px; line-height: 1.5; }
.customer-experience .prize-description h2 { font-size: 14px; color: #80684f; }
.customer-experience .prize-description ul { padding: 0 18px 0 0; margin: 0; font-size: 14px; line-height: 1.9; }
.customer-experience .prize-description li + li { margin-top: 10px; }
.customer-experience .raffle-facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; border-top: 1px solid #e2d5c3; padding-top: 16px; }
.customer-experience .raffle-facts p { display: flex; flex-direction: column; gap: 5px; margin: 0; min-width: 0; }
.customer-experience .raffle-facts span, .customer-experience .raffle-facts small { font-size: 11px; color: #806d62; }
.customer-experience .raffle-facts strong { font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.customer-experience .entry-rule { font-size: 11px; line-height: 1.8; color: #806d62; margin: 18px 0; }
.customer-experience .experience-jump { display: flex; justify-content: space-between; min-height: 44px; align-items: center; padding: 13px 0 0; border-top: 1px solid #e2d5c3; color: #662239; font-size: 13px; }
.customer-experience .entry-card { box-shadow: 0 10px 40px #57263609; scroll-margin-top: 16px; }
.customer-experience .entry-unavailable { margin: 0 0 20px; padding: 12px 14px; background: #f4eadb; border-radius: 12px; color: #765f44; font-size: 12px; line-height: 1.8; }
.customer-experience .ticket-picker { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; align-items: center; margin-top: 22px; }
.customer-experience .ticket-picker > label { font-size: 14px; }
.customer-experience .ticket-picker > small { grid-column: 1 / -1; color: #806d62; font-size: 11px; }
.customer-experience .ticket-stepper { display: grid; grid-template-columns: 44px 54px 44px; gap: 4px; direction: ltr; align-items: center; }
.customer-experience .ticket-stepper button { min-width: 44px; height: 48px; border: 1px solid #dfd1c1; background: #f8f0e5; border-radius: 12px; color: #591c2b; font-size: 25px; font-family: inherit; cursor: pointer; }
.customer-experience .ticket-stepper select { height: 48px; min-height: 48px; padding: 8px 4px; font-size: 20px; text-align: center; border: 0; background: transparent; color: #591c2b; }
.customer-experience .ticket-stepper button:disabled { opacity: .35; cursor: default; }
.customer-experience .ticket-presets { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.customer-experience .ticket-presets button { flex: 1; min-height: 44px; padding: 8px 10px; border: 1px solid #dfd4c7; border-radius: 12px; background: #fffdf8; color: #746059; font: inherit; font-size: 12px; cursor: pointer; }
.customer-experience .ticket-presets button[aria-pressed=true] { color: #591c2b; border-color: #a86d79; background: #f7e9ec; }
.customer-experience .entry-total { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 17px 0; margin: 0 0 22px; border-top: 1px dashed #d9c4ae; border-bottom: 1px dashed #d9c4ae; }
.customer-experience .entry-total > span { font-size: 12px; color: #806d62; }
.customer-experience .entry-total > strong { color: #591c2b; font-size: 29px; white-space: nowrap; }
.customer-experience .customer-details { border: 0; padding: 0; margin: 22px 0 14px; min-width: 0; }
.customer-experience .customer-details legend { font-size: 16px; color: #591c2b; padding: 0; }
.customer-experience .customer-details .form-grid { grid-template-columns: minmax(0, 1fr); margin: 16px 0 0; gap: 16px; }
body.customer-experience .customer-details .form-grid input { font-size: 16px; height: 52px; min-height: 52px; border-radius: 12px; border-color: #ded0bf; background: #fff; }
.customer-experience .returning-customer { display: flex; flex-direction: column; gap: 10px; border: 1px solid #d4dfcf; padding: 14px; border-radius: 14px; background: #f0f5ec; }
.customer-experience .returning-customer[hidden] { display: none; }
.customer-experience .returning-customer strong { color: #405c3e; font-size: 14px; }
.customer-experience .returning-customer span { display: block; font-size: 11px; color: #63745d; line-height: 1.8; margin-top: 6px; }
.customer-experience .returning-customer button { align-self: flex-start; min-height: 44px; border: 0; border-bottom: 1px solid #819179; padding: 6px 0; font: inherit; font-size: 12px; background: transparent; color: #405c3e; cursor: pointer; }
.customer-experience .remember-choice, .customer-experience .entry-consent { font-size: 12px; color: #554541; line-height: 1.9; }
.customer-experience .entry-help { font-size: 11px; line-height: 1.9; color: #88776d; margin: 7px 0 15px; }
.customer-experience [data-memory-status]:empty, .customer-experience [data-submit-status]:empty { display: none; }
.customer-experience .entry-consent { border-top: 1px solid #ecdfd2; padding-top: 18px; margin: 20px 0; }
.customer-experience .entry-submit { width: 100%; min-height: 56px; border-radius: 14px; justify-content: space-between; gap: 12px; padding: 14px 18px; font-size: 13px; }
.customer-experience .entry-submit > span:last-child { white-space: nowrap; padding-right: 12px; border-right: 1px solid #ffffff45; }
.customer-experience .entry-reassurance { text-align: center; margin-bottom: 0; }
.customer-experience [data-submit-status] { font-size: 12px; line-height: 1.9; color: #713349; }
.customer-experience .entry-terms { margin: 24px 0; border: 1px solid #e3d7c9; border-radius: 16px; background: #fffdf8; padding: 18px 22px; scroll-margin-top: 16px; }
.customer-experience .entry-terms > summary { cursor: pointer; min-height: 44px; padding-block: 9px; color: #6e534a; font-size: 13px; line-height: 1.9; }
.customer-experience .entry-terms > div { padding-top: 20px; font-size: 12px; color: #7d6a61; line-height: 2; }
.customer-experience .experience-footer { text-align: center; font-size: 11px; color: #a18d7d; padding: 8px 0; }
.customer-experience button:focus-visible, .customer-experience a:focus-visible, .customer-experience select:focus-visible, .customer-experience input:focus-visible { outline: 3px solid #bd9268; outline-offset: 3px; }
@media (max-width: 720px) {
  .customer-experience .checkout-shell { max-width: 520px; padding: 10px 16px 24px; }
  .customer-experience .experience-brand img { width: 64px; height: 64px; }
  .customer-experience .entry-steps { margin: 20px 0; gap: 8px; }
  .customer-experience .entry-steps li { font-size: 10px; gap: 5px; }
  .customer-experience .entry-steps li > span { width: 22px; height: 22px; flex-basis: 22px; font-size: 10px; }
  .customer-experience .experience-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .customer-experience .prize-story, .customer-experience .entry-card { padding: 20px; border-radius: 20px; }
  .customer-experience .prize-intro { gap: 14px; grid-template-columns: minmax(0, 1fr) minmax(100px, 42%); }
  .customer-experience .ticket-price { margin-top: 16px; }
  .customer-experience .experience-tagline { font-size: 12px; }
  .customer-experience .entry-terms { padding: 16px 20px; }
}
/* Shared layout contract: help text never determines a field's baseline. */
.form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 20px 24px;
}
.form-grid > label, .form-grid > fieldset { min-width: 0; margin: 0; }
.form-grid > label:not(.check) { display: grid; align-content: start; gap: 8px; }
label { font-size: 13px; line-height: 1.65; }
label small { font-size: 12px; line-height: 1.65; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select {
  height: 46px;
  min-height: 46px;
  max-width: 100%;
  font-size: 14px;
  line-height: 22px;
  padding: 11px 12px;
}
textarea { min-height: 104px; font-size: 14px; line-height: 1.8; resize: vertical; }
label.check, .checks label {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  min-height: 44px;
  padding-block: 10px;
}
.form-grid > label.check { grid-column: 1 / -1; }
label.check input, .checks input, .range-missing input {
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 2px 0 0;
  padding: 0;
  flex: 0 0 18px;
  accent-color: var(--wine);
}
form > label + label { margin-top: 18px; }
form > label + .button, form > label + button { margin-top: 18px; }
.button { min-height: 44px; line-height: 1.6; }
.button.secondary { background: var(--white); border-color: var(--border); color: var(--wine); }
.icon-button { width: 44px; height: 44px; flex: 0 0 44px; line-height: 1; }
.actions { align-items: center; flex-wrap: wrap; }
.page-heading { align-items: flex-start; }
.page-heading > div:first-child { min-width: 0; }
.page-heading > .actions { margin-top: 0; }
.panel-heading, .card-top { align-items: flex-start; flex-wrap: wrap; }
.panel-heading > div, .card-top h2, .card-top h3 { min-width: 0; }
.panel, .metric, .copy-card, .overview-card, .content-grid > *, .columns > *, .metrics > * { min-width: 0; }
.panel h2, .panel h3, p, small, .notice, .callout, .issue-list li { overflow-wrap: anywhere; }
.badge { max-width: 100%; white-space: normal; }
.copy-foot { align-items: flex-start; }
.copy-foot > small { min-width: 0; }
.copy-foot .button { flex-shrink: 0; }
.table-scroll { max-width: 100%; min-width: 0; overscroll-behavior-inline: contain; }
.table-scroll table { min-width: 720px; }
th { vertical-align: top; line-height: 1.7; }
td { line-height: 1.8; }
.table-scroll:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.finance-values, .profit-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profit-market { margin-top: 10px; }
.profit-values small { display: block; color: #597461; font-size: 11px; }
.profit-values .value-missing { font-size: 15px; white-space: normal; }
.profit-values span { line-height: 1.65; }
.finance-values > div, .profit-values > div { min-width: 0; }
.finance-values strong { white-space: normal; overflow-wrap: anywhere; }
.finance-values .value-missing { font-size: 15px; line-height: 1.7; }
.raffle-card-footer { align-items: flex-end; flex-wrap: wrap; }
/* Keep card content at its natural height when a neighbouring explanation opens. */
.overview-grid { align-items: start; }
.overview-card > .raffle-prizes { flex: none; }
.raffle-card-footer .button, .card-bottom .button, .registration-row .button { min-height: 44px; }
.workspace-side .finance-values > div + div { padding-right: 12px; }
.workspace-side .finance-values { gap: 12px; }
.workspace-side .finance-values .value-missing { font-size: 14px; }
.inventory-form { margin-inline: auto; }
.page-heading:has(+ .inventory-form) { max-width: 860px; margin-inline: auto; }
.inventory-form > form > label { margin-block: 20px; }
.inventory-search-row { gap: 16px; }
.customer-filter { align-items: flex-end; }
.customer-filter > input { flex: 1; min-width: 0; }
.customer-filter > .button { flex-shrink: 0; }
.customer-directory-row details { min-width: 0; }
.customer-directory-row details form { min-width: min(260px, 100%); }
.customer-directory-row details .button { margin-top: 12px; }
dialog { padding: 28px; max-width: calc(100vw - 32px); }
dialog .panel-heading { flex-wrap: nowrap; align-items: center; }
dialog .panel-heading > h2 { flex: 1; }
.prize-fields { display: grid; grid-template-columns: 32px minmax(0, 2fr) minmax(0, 1fr) 44px; align-items: start; gap: 8px 12px; }
.prize-fields > label { min-width: 0; }
.prize-fields > .rank { margin: 27px 0 0; }
.prize-fields > .icon-button { margin-top: 23px; }

/* Shared tracks also align controls when a label wraps onto a second line. */
@supports (grid-template-rows: subgrid) {
  .form-grid, .registration-form .form-grid { row-gap: 8px; }
  .form-grid > label:not(.check) {
    grid-row: span 3;
    grid-template-rows: subgrid;
    row-gap: 8px;
    margin: 0 0 12px;
  }
  .form-grid > fieldset { grid-row: span 3; margin-bottom: 12px; }
  .prize-fields > label { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 8px; }
  .prize-fields > .rank, .prize-fields > .icon-button { grid-row: span 3; align-self: center; margin-top: 0; }
}
@media (max-width: 1100px) {
  .metrics:not(.inventory-metrics) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .customer-directory { grid-template-columns: minmax(0, 1fr) 280px; }
}
@media (max-width: 1000px) { .customer-directory { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea { font-size: 16px; }
  .page-heading > .button, .page-heading > form { width: 100%; }
  .page-heading > form > .button { width: 100%; }
  .panel-heading > .button { white-space: normal; }
  .actions > .button { white-space: normal; }
  .inventory-search-row > label { min-width: 0; flex: 1 1 100%; }
  .inventory-search-row > .button { flex: 1; }
  .finance-values strong { font-size: 22px; }
  .profit-values strong { font-size: 23px; }
  .profit-values > div + div, .finance-values > div + div { padding-right: 12px; }
  .profit-values, .finance-values { gap: 10px; }
  .copy-foot { flex-wrap: wrap; }
  .customer-directory-row { flex-direction: column; align-items: stretch; }
  dialog { padding: 20px; max-height: calc(100dvh - 32px); }
  .prize-fields { grid-template-columns: 28px minmax(0, 1fr) 44px; }
  .prize-fields > label { grid-column: 2; }
  .prize-fields > label:first-of-type { grid-row: 1 / span 3; }
  .prize-fields > label:nth-of-type(2) { grid-row: 4 / span 3; }
  .prize-fields > .rank { grid-column: 1; grid-row: 1 / span 3; }
  .prize-fields > .icon-button { grid-column: 3; grid-row: 1 / span 3; }
}

.finance-values .value-missing { min-height: 40px; display: flex; align-items: center; }
.mobile-nav-toggle { display: none; }
@media (max-width: 900px) {
  .sidebar[data-nav-ready] .mobile-nav-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #ffffff30; border-radius: 8px; background: transparent; color: #fff5e3; text-align: right; }
  .mobile-nav-current { color: #dbc8c5; font-size: 12px; }
  .sidebar[data-nav-ready] nav { display: none; }
  .sidebar[data-nav-ready].nav-open nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin-top: 12px; overflow: visible; }
  .sidebar[data-nav-ready] .nav-item { min-width: 0; min-height: 44px; white-space: normal; font-size: 12px; }
  .sidebar[data-nav-ready] .nav-symbol { flex: 0 0 18px; }
}

.workspace-copy-grid textarea { font-size: 14px; }
@media(max-width:600px){.workspace-copy-grid textarea { font-size: 16px; }.workspace-columns .panel-heading > .button { font-size:12px; }}

.content-grid > .copy-card, .workspace-copy-grid > .copy-card { display:flex; flex-direction:column; }
.content-grid > .copy-card pre { flex:1; min-height:0; }
.copy-card .copy-foot { margin-top:auto; }
.workspace-copy-grid .copy-card form { display:flex; flex-direction:column; flex:1; }
.workspace-copy-grid .copy-card form > label { flex:1; }
.workspace-copy-grid .copy-card textarea { flex:1; }

input[type=file] { padding:7px 8px; font-size:13px; }
input[type=file]::file-selector-button { font:inherit; border:0; border-radius:4px; background:var(--cream); color:var(--wine); padding:5px 8px; margin-inline-end:10px; }
.panel > img { max-width:100%; height:auto; display:block; margin-block:16px; }
.panel > pre { font:inherit; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.8; max-width:100%; margin-block:20px; }
form > .button:not(.primary):not(.outline):not(.secondary):not(.light) { background:var(--wine); color:var(--cream); }
.button:disabled { opacity:.55; cursor:not-allowed; }

.panel > form + form { margin-top:16px; }
.panel form > p + .button { margin-top:16px; }

/* Inventory product photography */
.inventory-photo-details{min-width:180px;max-width:340px;margin-block:10px}
.inventory-photo-details summary{cursor:pointer;color:var(--burgundy,#620915);font-weight:600;padding:8px 0}
.inventory-photo-variants{display:flex;flex-wrap:wrap;gap:12px;align-items:start;padding-block:8px}
.inventory-photo-variants figure{margin:0;flex:0 0 142px;max-width:142px;text-align:center}
.inventory-photo-preview{display:flex;align-items:center;justify-content:center;width:142px;height:202px;border:1px solid #ddd2c4;border-radius:10px;background:repeating-conic-gradient(#eee9e1 0% 25%,#fffaf3 0% 50%) 50%/16px 16px;padding:6px}
.inventory-photo-preview img{display:block;width:130px;height:190px;object-fit:contain}
.inventory-photo-variants figcaption{white-space:normal;font-size:13px;margin-block:6px}
.inventory-photo-variants figure>a:last-child{font-size:13px}
.inventory-photo-caption{display:block;white-space:normal;max-width:320px;line-height:1.6}

/* Club artwork previews */
.raffle-artwork-preview{text-align:center;margin-block:18px;padding:12px;border:1px solid #e6d7bd;border-radius:12px;background:#fffcf5}
.raffle-artwork-preview img,.raffle-artwork-variants img{display:block;width:100%;max-width:300px;height:auto;margin-inline:auto;border-radius:8px}
.raffle-artwork-preview small{display:block;white-space:normal;margin-top:8px}
.raffle-artwork-preview .actions{justify-content:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.raffle-artwork-variants{display:flex;flex-wrap:wrap;gap:24px}
.raffle-artwork-variants figure{margin:0;flex:1 1 240px;max-width:360px;min-width:0}
.raffle-artwork-variants figcaption{margin-block:10px}

/* Compact, accessible inventory rows */
.inventory-table td,.inventory-table th{vertical-align:middle}
.inventory-product{display:flex;gap:12px;align-items:center;min-width:260px;max-width:380px}
.inventory-product-name{min-width:0;white-space:normal}
.inventory-product-name>strong{font-size:14px;line-height:1.5}
.inventory-thumb{display:flex;flex:0 0 66px;align-items:center;justify-content:center;width:66px;height:94px;background:#faf6ee;border:1px solid #eee5d8;border-radius:10px}
.inventory-thumb img{width:56px;height:84px;object-fit:contain}
.inventory-thumb-empty{color:#b0a18b;font-size:24px}
.inventory-meta{display:flex;align-items:center;gap:8px;margin-top:5px;flex-wrap:wrap}
.inventory-note{border:0;background:transparent;color:#927956;position:relative;cursor:help;width:32px;height:32px;padding:0;font-size:19px;flex:0 0 32px}
.inventory-tooltip{display:none;position:absolute;right:0;top:100%;width:230px;background:#350d14;color:#fffaf0;padding:12px;border-radius:8px;font-size:12px;font-weight:400;line-height:1.7;text-align:right;white-space:normal;z-index:20;box-shadow:0 8px 20px #0002;pointer-events:none}
.inventory-note:hover .inventory-tooltip,.inventory-note:focus .inventory-tooltip{display:block}
.inventory-table .inventory-photo-details{margin:0;min-width:0;max-width:310px}
.inventory-table .inventory-photo-details summary{font-size:12px;font-weight:400;padding:6px 0;white-space:normal}
.inventory-key{font-size:12px;letter-spacing:.03em;color:#8c7961}
.inventory-quantity{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:4px 8px;background:#f5efe4;border-radius:8px;font-weight:600}
.inventory-row-total{font-weight:600;color:#620915;background:#fcf8ef}
.inventory-actions-cell{position:sticky;left:0;z-index:2;background:#fff;min-width:100px;box-shadow:5px 0 8px -8px #350d14}
.inventory-icon-actions{display:flex;gap:4px;justify-content:center;align-items:center}
.inventory-icon-action{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid #e9dfd1;border-radius:9px;color:#620915;background:#fff}
.inventory-icon-action:hover,.inventory-icon-action:focus-visible{background:#f6eee4;border-color:#b88b48}
.inventory-icon-remove{color:#a74a44}
.inventory-total{border-color:#cbb082;background:#fffaf0}
.inventory-policy-note{margin-bottom:14px;color:#806b51;font-size:13px}
.inventory-remove-panel{max-width:720px}

/* Normalize visible bottle silhouettes without stretching the source image. */
.inventory-image-frame{display:block;position:relative;overflow:hidden;flex:none}
.inventory-image-thumb{width:56px;height:84px}
.inventory-image-large{width:130px;height:190px}
.inventory-image-frame img{position:absolute;max-width:none;max-height:none;object-fit:contain}
.inventory-image-frame img:not([style]){position:static;width:100%;height:100%;object-fit:contain}
.inventory-photo-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px}
.inventory-photo-field{min-width:0;display:grid;grid-template-rows:210px auto;gap:14px;align-content:start}
.inventory-photo-current{display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;background:repeating-conic-gradient(#eee9e1 0% 25%,#fffaf3 0% 50%) 50%/16px 16px;padding:10px}
.inventory-photo-current img{max-width:100%;height:190px;object-fit:contain}
.inventory-photo-field input[type=file]{width:100%;min-width:0}
@media(max-width:600px){.inventory-photo-fields{grid-template-columns:1fr}}
.credit-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.credit-summary strong,.credit-summary span{display:block}
.credit-summary strong{font-size:30px;color:var(--wine);font-weight:400}
.credit-summary span{font-size:12px;color:var(--muted)}

/* Structured wine identity: label, control and help retain separate tracks. */
.inventory-identity-fields{min-width:0;border:0;padding:0;margin:0}
.inventory-form h2{margin-block:24px 18px}
.inventory-form h2:first-child{margin-top:0}
.wine-shmita{min-width:0;border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-block:16px}
.wine-shmita[hidden]{display:none}
.wine-shmita legend{padding-inline:6px;font-size:14px;font-weight:600}
.wine-shmita p{margin:0 0 6px;font-size:12px}
.wine-radio-options{display:flex;gap:8px 24px;flex-wrap:wrap}
.wine-radio-options label.check{margin:0}
.wine-title-preview{margin-block:24px;padding:20px;border:1px solid #d7bd90;border-radius:10px;background:#fffaf0}
.wine-title-preview output{display:block;margin-block:10px;font-size:18px;line-height:1.8;color:var(--wine);overflow-wrap:anywhere}
.wine-title-preview small{display:block;line-height:1.8;color:var(--muted)}
.wine-details-status{margin-block:8px;color:#8b5b12;font-size:13px;line-height:1.8}
.wine-details-status.is-complete{color:#386245}
.inventory-details-missing{display:block;color:#8b5b12;font-size:11px;line-height:1.6;margin-top:5px}
.inventory-wine-details{font-size:12px;margin-top:5px}
.inventory-wine-details summary{cursor:pointer;color:var(--wine);padding-block:4px}
.inventory-wine-details dl{margin:4px 0;white-space:normal}
.inventory-wine-details dl>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;margin-block:3px}
.inventory-wine-details dt{color:var(--muted)}
.inventory-wine-details dd{margin:0;overflow-wrap:anywhere}
.inventory-identity-fields:disabled input,.inventory-identity-fields:disabled select{opacity:1;background:#f4f0e9;color:#766b5e}
@media(max-width:600px){.wine-title-preview{padding:16px}.wine-radio-options{display:grid;grid-template-columns:1fr;gap:0}}
.credit-panel small{display:block;margin-top:8px}
.credit-warning{margin:16px 0 0}
[hidden]{display:none!important}

.inventory-purchase-needed { display:block; max-width:36rem; margin:.5rem 0; padding:.6rem .75rem; border:1px solid #b77a18; border-radius:.5rem; background:#fff3d6; color:#67400a; font-weight:700; white-space:normal; overflow-wrap:anywhere; line-height:1.6; }

/* Public checkout navigation, sized for touch without shifting form tracks. */
.experience-home{display:inline-flex;align-items:center;min-height:44px;margin-bottom:8px;font-size:13px;color:#620915}

/* Operational control room */
.control-sub { display:block; margin-top:6px; font-size:.85rem; overflow-wrap:anywhere; }
.control-pagination { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:18px; }
.purchase-table { min-width:1050px; }
.purchase-table td { vertical-align:top; }
.control-stale { color:#9c2338; font-weight:bold; }
.nav-secondary { margin:12px 0; }
.nav-secondary summary { cursor:pointer; padding:12px 16px; color:#f2dbb0; }
[data-control-room] { min-width:0; }
.control-raffles { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:16px; }
.control-raffles article { padding:12px; border:1px solid #dbcbb8; border-radius:12px; min-width:0; }
.metric small { overflow-wrap:anywhere; }
@media (min-width:1000px) { .control-filters .form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }

