/* Shared application finish. No overrides of invoice/PDF markup, permission
   states, table semantics, wire bindings or hidden/disabled controls. */
:where(.shopbody,.vpanel,.authbody) .card{border-radius:var(--r-xl);box-shadow:none}
:where(.shopbody,.vpanel) .card > header{padding:var(--s5);gap:var(--s3);flex-wrap:wrap;align-items:center}
:where(.shopbody,.vpanel) .card > header h2{font-size:var(--fs-5);line-height:1.7}
:where(.shopbody,.vpanel) .card-b:not(.flush){padding:var(--s5)}
:where(.shopbody,.vpanel,.authbody) .fld > label{color:var(--fg);font-weight:600}
:where(.shopbody,.vpanel,.authbody) .btn{border-radius:var(--r);transition:transform var(--t),opacity var(--t)}
:where(.shopbody,.vpanel,.authbody) .btn:active:not(:disabled){transform:translateY(1px)}
:where(.shopbody,.vpanel) table.t th{padding-block:var(--s4);color:var(--fg-muted);background:var(--surface)}
:where(.shopbody,.vpanel) table.t td{padding-block:var(--s4);line-height:1.85}
:where(.shopbody,.vpanel) table.t tbody tr:hover > td{background:var(--primary-subtle)}
:where(.shopbody,.vpanel) .tw{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}
:where(.shopbody,.vpanel) .blank{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);padding:var(--s7) var(--s5);text-align:center}
:where(.shopbody,.vpanel) .blank h3{font-size:var(--fs-6);color:var(--fg);margin-bottom:var(--s2)}
:where(.shopbody,.vpanel) .blank p{max-width:60ch;margin-inline:auto;line-height:1.95;color:var(--fg-muted)}
:where(.shopbody,.vpanel,.authbody) .note{line-height:1.95}
@media(max-width:639px){
  :where(.shopbody,.vpanel) .card > header,:where(.shopbody,.vpanel) .card-b:not(.flush){padding:var(--s4)}
  :where(.shopbody,.vpanel) .blank{padding:var(--s6) var(--s4)}
}
@media(prefers-reduced-motion:reduce){
  /* User motion preference must also win over page-specific styles loaded
     after this shared file. It never changes visibility or layout. */
  :is(.shopbody,.vpanel,.authbody) *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
