/* Global visual contracts. Geometry of print documents and scanner optics is independent. */
@media screen {
 :root{--control-height:46px;--control-radius:8px;--control-gap:12px;scrollbar-gutter:stable}
 body{background:var(--background);color:var(--text)}
 a{color:var(--link-color);text-underline-offset:.2em}a:hover{color:var(--link-hover-color)}
 :is(.app-content,main,dialog,.store-header,.store-footer) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):not(.menu-backdrop){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height);max-width:100%;padding:10px 16px;margin-block:0;border:1px solid transparent;border-radius:var(--control-radius);font:650 1rem/1.4 system-ui,sans-serif;white-space:normal;word-break:normal;overflow-wrap:normal;text-align:center;text-decoration:none;background:var(--brand-primary);color:var(--text-on-primary);box-shadow:none;cursor:pointer;transition:background-color .15s,border-color .15s;
 }
 :is(.app-content,main,dialog,.store-header,.store-footer) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):hover:where(:not(:disabled):not([aria-disabled=true])){filter:none;background:var(--brand-primary-hover);color:var(--text-on-primary-hover)}
 :is(.app-content,main,dialog,.store-header,.store-footer) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.secondary,.btn-secondary){background:var(--surface-muted);border-color:var(--border);color:var(--text)}
 :is(.app-content,main,dialog,.store-header,.store-footer) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.secondary,.btn-secondary):hover:not(:disabled):not([aria-disabled=true]){background:var(--brand-primary-soft);border-color:var(--brand-primary);color:var(--text-on-primary-soft)}
 :is(.app-content,main,dialog) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.ghost,.btn-ghost){background:transparent;color:var(--link-color);border-color:var(--border)}
 :is(.app-content,main,dialog) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.text,.btn-text){background:transparent;color:var(--link-color);border-color:transparent;text-decoration:underline;text-underline-offset:.2em}
 :is(.app-content,main,dialog) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.danger,.btn-danger){background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}
 :is(.app-content,main,dialog) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.danger,.btn-danger):hover:not(:disabled):not([aria-disabled=true]){background:var(--danger);color:var(--text-on-danger)}
 :is(.app-content,main,dialog) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.success,.btn-success){background:var(--success-soft);color:var(--success);border-color:var(--success)}
 :is(.app-content,main,dialog) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}
 :is(.app-content,main,dialog,.store-header) :is(button,.button-link,.action,.btn):is(:disabled,[aria-disabled=true]):not(.shoe-photo){opacity:1;background:var(--surface-muted);color:var(--text-disabled);border-color:var(--border-strong);cursor:not-allowed;filter:none;transform:none}

 :is(.app-content,main,dialog) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.text,.btn-text):hover:not(:disabled):not([aria-disabled=true]){background:transparent;color:var(--link-hover-color)}
 :is(.app-content,main,dialog) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.ghost,.btn-ghost):hover:not(:disabled):not([aria-disabled=true]){background:var(--brand-primary-soft);color:var(--text-on-primary-soft)}
 :is(.app-content,main,dialog) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.success,.btn-success):hover:not(:disabled):not([aria-disabled=true]){background:var(--success);color:var(--text-on-success)}
 :is(.app-content,main,dialog) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.warning,.btn-warning){background:var(--warning-soft);color:var(--warning);border-color:var(--warning)}
 :is(.app-content,main,dialog) :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)):is(.warning,.btn-warning):hover:not(:disabled):not([aria-disabled=true]){background:var(--warning);color:var(--text-on-warning)}
 [aria-busy=true]{cursor:progress}
 :is(button,.btn,.button-link,.action):where(:not(.shoe-photo)) svg{width:20px;height:20px;flex:none}
 :is(.action-group,.actions,.stock-actions,.foot-actions,.inventory-actions,.op-actions,.code-actions,.yh-actions){display:flex;gap:var(--control-gap);align-items:center;flex-wrap:wrap}
 :is(.action-group,.actions,.stock-actions,.foot-actions,.inventory-actions,.op-actions,.code-actions,.yh-actions)>*{min-width:0;flex:0 1 auto}
 :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]),select,textarea){min-height:var(--control-height);border-radius:var(--control-radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;max-width:100%;padding:10px 12px}
 :is(input,select,textarea,button,a,[tabindex]):focus-visible{outline:3px solid var(--focus-ring)!important;outline-offset:3px}
 :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]),select,textarea):disabled{background:var(--surface-muted);color:var(--text-disabled);border-color:var(--border-strong);opacity:1;cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--brand-primary)}
 .theme-preview .theme-navigation{padding:20px 12px;min-width:0}
 .theme-navigation nav{display:flex;flex-direction:column;gap:8px;margin:0;overflow:visible;border:0}
 .theme-navigation nav a{display:flex;align-items:center;gap:12px;min-height:var(--yh-sidebar-item-height,46px);padding:11px 12px;border:0;border-radius:5px;font-size:13px;font-weight:500;position:relative;margin:0}
 .theme-navigation .nav-group{border:0;border-radius:10px;padding:0;background:transparent;box-shadow:none;margin:0;color:inherit}
 .theme-navigation .nav-group[open]{display:flex;flex-direction:column;gap:4px;padding-bottom:16px}
 .theme-navigation .nav-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 6px;cursor:pointer;list-style:none;font-size:13px;font-weight:650;letter-spacing:.025em;border-radius:10px}
 .theme-navigation .nav-group>summary::-webkit-details-marker{display:none}
 .theme-navigation .nav-group>a{padding-inline-start:24px}
 .theme-navigation .nav-icon{width:22px;height:22px;flex:none;display:grid;place-items:center}
 .theme-navigation .nav-icon svg{width:22px;height:22px}
 .theme-navigation .nav-group>a span:last-child{min-width:0;overflow-wrap:normal}

 /* Shared by the real sidebar, mobile drawer and appearance preview. */
 .theme-navigation{background:var(--nav-background);color:var(--nav-text);border-color:var(--nav-divider)}
 .app-sidebar.theme-navigation{border-right:1px solid var(--nav-divider)}
 .theme-navigation .app-brand,.theme-navigation .app-brand:hover,.theme-navigation .sidebar-user small,.theme-navigation .sidebar-label{color:var(--nav-text)}
 .theme-navigation .sidebar-user{border-top:1px solid var(--nav-divider)}
 .theme-navigation .nav-group{border-color:var(--nav-divider)}
 .theme-navigation nav a,.theme-navigation .nav-group>summary{background:transparent;color:var(--nav-text);opacity:1;text-decoration:none}
 .theme-navigation nav a:hover,.theme-navigation .nav-group>summary:hover{background:var(--nav-hover);color:var(--nav-hover-text)}
 .theme-navigation .nav-group[open]>summary{background:var(--nav-parent-open-background);color:var(--nav-parent-open-text);font-weight:700}
 .theme-navigation .nav-group:has(a.selected)>summary{background:var(--nav-parent-active-background);color:var(--nav-parent-active-text);font-weight:750}
 .theme-navigation .nav-group[open]>summary:hover,.theme-navigation .nav-group:has(a.selected)>summary:hover{background:var(--nav-hover);color:var(--nav-hover-text)}
 .theme-navigation nav a.selected,.theme-navigation nav a.selected:hover{background:var(--nav-active-background);color:var(--nav-active-text);box-shadow:inset 3px 0 var(--nav-accent);font-weight:700}
 .theme-navigation .nav-group>a{padding-inline-start:24px}
 .theme-navigation :is(a,summary,button):focus-visible{outline-color:var(--nav-accent)!important;outline-offset:-3px}
 .theme-navigation .drawer-close{background:var(--nav-hover);color:var(--nav-hover-text);border:1px solid var(--nav-divider)}
 .app-topbar{background:var(--surface);color:var(--text);border-color:var(--border)}.app-topbar .quick-scan-button{background:var(--brand-primary);color:var(--text-on-primary)}
 .app-topbar :is(.shell-logout,.menu-toggle){background:var(--surface-muted)!important;color:var(--text)!important;border:1px solid var(--border)}
 .app-content a:not(.task):not(.button-link):not(.action):where(:not(.theme-navigation a)){color:var(--link-color)}.app-content a:not(.task):not(.button-link):not(.action):where(:not(.theme-navigation a)):hover{color:var(--link-hover-color)}
 .app-content :is(.card,.panel,.order-card){background:var(--surface);border-color:var(--border)}
 .dashboard-heading .eyebrow,.chart-fill,.hour-stick{color:var(--link-color)}.chart-fill,.hour-stick{background:var(--chart-1)}
 .yh-badge.success{background:var(--success-soft);color:var(--success)}.yh-badge.warning{background:var(--warning-soft);color:var(--warning)}.yh-badge.danger{background:var(--danger-soft);color:var(--danger)}.yh-badge.info{background:var(--info-soft);color:var(--info)}
 .app-content nav.tabs>.tab{background:var(--surface-muted);color:var(--text)}.app-content nav.tabs>.tab.active{background:var(--brand-primary);color:var(--text-on-primary)}
 .badge-on-primary{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:24px;min-height:24px;padding:3px 7px;margin:0;border:1px solid var(--badge-on-primary-border);border-radius:999px;background:var(--badge-on-primary-background);color:var(--badge-on-primary-text);font:750 .75rem/1.1 system-ui,sans-serif;font-variant-numeric:tabular-nums;opacity:1}
 .app-content nav.pos-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch;overflow:visible;margin-inline:0;width:100%}
 .app-content nav.pos-tabs>.tab{height:100%;min-height:50px;padding:10px 12px;font:650 .9rem/1.4 system-ui,sans-serif;white-space:normal;border-radius:var(--control-radius)!important}
 .app-content nav.pos-tabs>.tab:not(.active):hover:not(:disabled):not([aria-disabled=true]){background:var(--brand-primary-soft);color:var(--text-on-primary-soft)}
 @media(max-width:780px){.app-content nav.pos-tabs{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr}}
 dialog{background:var(--surface);color:var(--text);border-color:var(--border)}dialog::backdrop{background:var(--overlay)}
 .theme-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:20px}.color-pair{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px}.color-pair input[type=color]{width:54px;min-height:46px;padding:4px}.color-pair input[type=text]{font:1rem ui-monospace,monospace;width:100%}
 .theme-preview{display:grid;grid-template-columns:170px minmax(0,1fr);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-block:24px;background:var(--background);color:var(--text)}
 .theme-preview-content{padding:24px;min-width:0}.theme-preview .preview-card{padding:20px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.theme-preview .preview-card p{color:var(--text-muted)}
 .theme-preview .action-group{gap:12px;margin-block:16px}.theme-preview-content a{color:var(--link-color)}.theme-preview button{background:var(--brand-primary);color:var(--text-on-primary)}.theme-preview button.secondary{background:var(--surface-muted);border-color:var(--border);color:var(--text)}
 .theme-preview input{background:var(--surface);color:var(--text);width:100%}.theme-preview .preview-badge{background:var(--success-soft);color:var(--success);padding:5px 10px;border-radius:20px;font-size:.8rem}
 .theme-preview-content{color:var(--text)}#notice{background:var(--warning-soft);color:var(--warning)}.theme-warning{padding:12px 16px;background:var(--warning-soft);color:var(--warning);border-radius:8px}.theme-warning:empty{display:none}
 .auth{width:100%;max-width:440px;margin:32px auto;padding:28px}.auth form{display:grid;gap:18px}.auth form button{width:100%}.auth-divider{display:grid;gap:10px;text-align:center;padding-top:22px;margin-top:22px;border-top:1px solid var(--border)}.auth-divider p{margin:0;color:var(--text-muted)}.auth-divider .action{width:100%}.auth-recovery{display:grid;justify-items:center;gap:4px;margin-top:20px}.auth-recovery p{margin:0;color:var(--text-muted)}.auth-recovery a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px}
 .product-code{display:block;margin-block:4px;font:500 .82rem/1.4 ui-monospace,monospace;color:var(--text-muted);overflow-wrap:anywhere}.product .quick-action{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;padding:10px 14px;text-decoration:none;border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface-muted);color:var(--text)}
 .quick-view{width:min(1050px,calc(100vw - 48px));max-width:1050px;max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--border);border-radius:16px;overscroll-behavior:contain}
 .quick-view{overflow:hidden}.quick-view[open]{display:flex;flex-direction:column}.quick-view-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface)}
 .quick-view-header h2{font-size:1.1rem;margin:0;min-width:0}.quick-view-header button{width:46px;flex:none;padding:10px}.quick-view-body{flex:1;padding:24px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.quick-view-body .detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin:0}.quick-view .product-info{min-width:0}.quick-view .product-info>h2{font-size:1.1rem}.quick-view .product-gallery{margin:0;min-width:0}.quick-view .photo{object-fit:contain;aspect-ratio:1}.quick-view .gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.quick-view .gallery-thumbs button{width:60px;padding:4px}.quick-view .gallery-thumbs img{aspect-ratio:1;object-fit:contain}.quick-view .product-benefits{margin-top:20px}.quick-view .quantity-field{max-width:150px}.quick-view .size-row{display:grid;grid-template-columns:minmax(80px,1fr) auto minmax(58px,90px);gap:12px;align-items:center}.quick-view .size-row input{width:100%}
 :is(main,.quick-view) .size-picker{display:flex;flex-wrap:wrap;gap:10px;margin-block:14px}
 :is(main,.quick-view) .size-picker .size-chip{min-width:48px;padding:10px;background:var(--surface);border:2px solid var(--border-strong);color:var(--text)}
 :is(main,.quick-view) .size-picker .size-chip.selected{background:var(--brand-primary);color:var(--text-on-primary);border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--brand-primary)}
 :is(main,.quick-view) .size-picker .size-chip:disabled{background:var(--surface-muted);color:var(--text-disabled);border-color:var(--border-strong);text-decoration:line-through;opacity:1}
 .product-feedback{margin-top:16px;padding:16px;border-radius:8px;background:var(--success-soft);color:var(--success)}.product-feedback:empty{display:none}.product-feedback .action-group{margin-top:12px}.quick-skeleton{min-height:280px;display:grid;place-items:center;background:var(--surface-muted);border-radius:10px;color:var(--text-muted)}
 .store-promo,.store-footer{background:var(--brand-secondary);color:var(--text-on-secondary)}.store-promo :is(h2,h3,p,small,.eyebrow){color:inherit}.store-footer a,.store-footer a:hover,.store-footer :is(h2,h3,p,small,.eyebrow){color:inherit}.store-header,.store-menu{background:var(--surface)}.store-menu a,.store-account a{color:var(--text)}.store .price,.product .price{color:var(--link-color)}
 @media(max-width:600px){.theme-colors{grid-template-columns:1fr}.theme-preview{grid-template-columns:1fr}.theme-preview .theme-navigation{padding:12px}.theme-preview-content{padding:16px}.theme-preview .preview-card{padding:14px}.auth{padding:22px;margin:24px auto}.auth .action-group>*{width:100%}.quick-view{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}.quick-view-header{padding:12px 16px}.quick-view-body{padding:18px 16px 28px}.quick-view-body .detail{grid-template-columns:minmax(0,1fr);gap:20px}.quick-view .photo{max-height:40dvh}.quick-view .size-row{grid-template-columns:minmax(70px,1fr) auto minmax(54px,72px);gap:8px}.quick-view .product-info>button{width:100%}.quick-view .action-group>*{flex:1 1 auto}}
 @media(min-width:781px) and (max-width:1200px){.app-content nav.tabs:not(.pos-tabs){display:flex;flex-wrap:wrap;overflow:visible;gap:12px}.app-content nav.tabs:not(.pos-tabs)>button{flex:0 1 auto;white-space:normal}}

 .app-content .task.primary :is(span,small,p){color:var(--text-on-primary-muted)}
 .app-content .task.primary :is(strong,h2,h3){color:var(--text-on-primary)}

 /* Recognizable product identity in POS; other photo contexts keep their size. */
 .app-content .pos-line .product-identity{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;min-width:0;width:100%}
 .app-content button.shoe-photo.pos-line-photo{width:96px;height:96px;min-width:96px;min-height:96px;padding:0;border:1px solid var(--border);aspect-ratio:1;background:var(--surface);color:var(--text);box-shadow:none}
 .app-content .pos-line-photo img{width:100%;height:100%;object-fit:contain}
 .app-content .pos-line-details{display:grid;gap:5px;min-width:0}
 .app-content .pos-line-title{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:.95rem;line-height:1.35;min-width:0}
 .pos-line-size{white-space:nowrap}.pos-line-model,.pos-line-location{overflow-wrap:anywhere;line-height:1.45}.app-content .pos-line-location{display:flex;flex-wrap:wrap;gap:3px 6px;min-width:0}.pos-line-location-code{min-width:0;max-width:100%}
 .app-content .pos-line-price{font-size:1.1rem;line-height:1.4;white-space:nowrap;color:var(--link-color);margin-top:2px}
 .app-content .pos-line .actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;max-width:100%;width:100%}
 .app-content .pos-line .actions>button{flex:1 1 130px;min-width:0}
 @media(max-width:600px){.app-content button.shoe-photo.pos-line-photo{width:80px;height:80px;min-width:80px;min-height:80px}.app-content .pos-line .product-identity{gap:12px}}

 /* One shared cash-denomination component, including its interaction states. */
 .denomination-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,88px),1fr));gap:8px;margin-block:12px}
 .app-content .denomination-grid>button.denomination{min-height:52px;padding:10px 8px;border:1px solid var(--brand-primary);border-radius:var(--control-radius);background:var(--brand-primary);color:var(--text-on-primary);font:700 1rem/1.4 system-ui,sans-serif;white-space:nowrap;overflow-wrap:normal;box-shadow:none}
 .app-content .denomination-grid>button.denomination:hover:not(:disabled):not([aria-disabled=true]){background:var(--brand-primary-hover);color:var(--text-on-primary-hover);border-color:var(--brand-primary-hover)}
 .app-content .denomination-grid>button.denomination:active:not(:disabled):not([aria-disabled=true]){transform:translateY(2px);background:var(--brand-primary-hover);color:var(--text-on-primary-hover);box-shadow:inset 0 0 0 2px var(--text-on-primary-hover)}
 .app-content .denomination-grid>button.denomination:disabled{opacity:1;background:var(--surface-muted);color:var(--text-disabled);border-color:var(--border-strong);cursor:not-allowed;box-shadow:none}

 /* Bottom panels reserve their measured occupied area, not a guessed height. */
 body.has-floating-bottom-panel{padding-bottom:var(--floating-bottom-space,0px)}
 #mobile-bar{display:none}
 @media(max-width:780px){
  #mobile-bar:not([hidden]){display:flex;position:fixed;inset:auto 0 0;z-index:30;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:var(--brand-secondary);color:var(--text-on-secondary);box-shadow:0 -6px 25px var(--shadow-strong)}
  #mobile-bar>div{min-width:0}#mobile-bar strong{display:block;font-size:1.3rem;line-height:1.3;font-weight:750;white-space:nowrap;color:var(--text-on-secondary)}
  #mobile-bar small{display:block;margin-top:4px;font-size:.85rem;line-height:1.4;color:var(--text-on-secondary-muted);opacity:1}
  .app-content #mobile-bar>button{flex:none;min-height:46px;padding:10px 14px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);white-space:normal}
  .app-content #mobile-bar>button:hover{background:var(--surface-muted);color:var(--text)}
  body.mobile-editing #mobile-bar{display:none}
 }
 .app-content nav.pos-tabs{top:calc(var(--yh-topbar-offset,var(--yh-header-height,66px)) + var(--yh-environment-height,0px))}
 .app-content :is(#sku-search,#sizes,#live-checkout,#shopping,#try-on,#session-return-panel){scroll-margin-top:calc(var(--yh-topbar-offset,var(--yh-header-height,66px)) + var(--yh-environment-height,0px) + var(--pos-tabs-height,0px) + 20px)}
 @media(max-height:480px){.app-content nav.pos-tabs{position:static}}

 @supports not (height:100dvh){
  .app-sidebar{height:var(--visual-viewport-height,100vh)}.sandbox-environment .app-sidebar{height:calc(var(--visual-viewport-height,100vh) - var(--yh-environment-height,36px))}
  .quick-view{max-height:calc(var(--visual-viewport-height,100vh) - 48px)}.photo-dialog,.finance-dialog,.op-dialog{max-height:calc(var(--visual-viewport-height,100vh) - 32px)}
  @media(max-width:600px){.quick-view{height:var(--visual-viewport-height,100vh);max-height:var(--visual-viewport-height,100vh)}}
 }
 @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
}
