/* V4 additions live separately so deployed V3 print/mobile fixes can be retained. */
[hidden] { display:none !important; }
.brand .brand-logo { display:block; width:170px; max-width:100%; height:auto; margin:0 0 3px; }
.brand { padding-top:3px; }
.login-brand .brand-logo { display:block; width:240px; max-width:75vw; height:auto; margin:0 auto 12px; }
.login-brand { text-align:center; }
.heading-actions { display:flex; gap:10px; flex-wrap:wrap; }
.product-filters { display:flex; flex-wrap:wrap; align-items:end; gap:14px; padding:18px; margin:18px 0; }
.product-filters .field { flex:1 1 155px; margin:0; min-width:0; }
.product-filters .field:first-child { flex-grow:2; }
.product-table td { vertical-align:top; }
.product-table td:first-child { min-width:230px; max-width:380px; overflow-wrap:anywhere; }
.availability { display:inline-block; padding:3px 10px; border-radius:14px; background:#edf0f3; color:#56616d; font-size:13px; }
.availability.enabled { background:#def4eb; color:#146642; }
.remove-row { margin:10px 0 5px; }
#customer-intake fieldset { min-width:0; margin:18px 0; padding:18px; border:1px solid #d8e0e6; border-radius:10px; }
#customer-intake legend { font-weight:650; padding:0 7px; }
#customer-intake input:disabled, #customer-intake select:disabled { color:#334450; opacity:1; background:#f1f6f9; }
#customer-intake .field-grid > .field { min-width:0; }
#customer-intake select { max-width:100%; }
#intake-error-summary { scroll-margin-top:20px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:760px) {
  .brand .brand-logo { width:112px; }
  .heading-actions { margin-top:12px; }
  .heading-actions .button { flex:1 1 auto; text-align:center; }
  .product-filters { padding:14px; }
  .product-filters .field { flex-basis:100%; }
  #customer-intake fieldset { padding:12px; }
}
@media print { .product-filters, .heading-actions, .remove-row { display:none !important; } }

.login-card .login-brand { margin:0 auto 26px; color:var(--ink); }
.login-card .login-brand span { color:var(--muted); }
.login-card .login-brand .brand-logo { width:210px; }
@media print { a.button, .attachment-actions, .heading-actions { display:none !important; } }
/* Keep visually hidden table labels inside the horizontally scrolling container. */
.table-wrap { position:relative; }
.product-table { min-width:980px; }
.product-table td:nth-child(2) { white-space:nowrap; }
.sidebar { overflow-y:auto; }
