/* Final visual tokens. Appearance only; no layout or behavior rules. */
.front{--ui-panel:rgba(255,255,255,.68);--ui-line:rgba(255,255,255,.88);--ui-shadow:0 10px 28px rgba(67,72,82,.075),inset 0 1px 0 rgba(255,255,255,.92);--ui-shadow-hover:0 14px 34px rgba(67,72,82,.10),inset 0 1px 0 rgba(255,255,255,.94);--ui-radius:max(20px,var(--front-radius));color:#3d4652}
.front button,.front .btn,.front .header-action,.front .header-login-button,.front .inventory-action,.front .warehouse-enter,.front .service-link,.front .modal-close,.front .notice-primary-button,.front .notice-secondary-button,.front .filter-row button{min-height:42px;border:1px solid var(--ui-line)!important;border-radius:999px!important;box-shadow:var(--ui-shadow)!important;font-weight:800!important;letter-spacing:.01em;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease,filter .18s ease!important}
.front .btn-secondary,.front .header-action,.front .modal-close,.front .notice-secondary-button,.front .inventory-action:not(.order-format-button):not(.detail-order-button),.front .inventory-category-tabs a:not(.is-active),.front .filter-row button:not(.filter-confirm){background:linear-gradient(145deg,rgba(255,255,255,.88),var(--front-brand-soft))!important;border-color:var(--front-brand-soft)!important;color:var(--front-brand-dark)!important;text-shadow:none!important}
.front .header-login-button,.front .warehouse-enter,.front .order-format-button,.front .detail-order-button,.front .order-copy-button,.front .notice-primary-button,.front .mac-notice-confirm,.front .filter-confirm,.merchant-front .merchant-contact>a{background:linear-gradient(135deg,var(--front-brand-soft),var(--front-brand))!important;border-color:rgba(255,255,255,.92)!important;color:rgba(255,255,255,.97)!important;text-shadow:0 1px 1px rgba(72,78,87,.14)!important;box-shadow:0 9px 21px rgba(69,76,85,.12),inset 0 1px 0 rgba(255,255,255,.46)!important}
.front button:hover,.front .btn:hover,.front .header-action:hover,.front .header-login-button:hover,.front .inventory-action:hover,.front .warehouse-enter:hover,.front .service-link:hover,.front .notice-primary-button:hover,.front .notice-secondary-button:hover{transform:translateY(-2px)!important;opacity:.94;filter:none!important;box-shadow:var(--ui-shadow-hover)!important}.front button:active,.front .btn:active,.front .inventory-action:active{transform:translateY(0) scale(.985)!important}
.front .merchant-card,.front .inventory-card,.front .query-code-card,.front .form-panel,.front .mac-notice-dialog,.front .inventory-dialog,.front .order-format-dialog,.front .bundle-picker-dialog,.front .app-dock,.front .merchant-app-dock{border:1px solid var(--ui-line)!important;border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow)!important}
.front input,.front textarea,.front select,.front .warehouse-search,.front .warehouse-search input,.front .inventory-category-tabs{border:1px solid var(--front-brand-soft)!important;border-radius:var(--ui-radius)!important;background:linear-gradient(145deg,rgba(255,255,255,.80),rgba(255,255,255,.52))!important;color:#46505d!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 6px 18px rgba(67,72,82,.045)!important}.front input:focus,.front textarea:focus,.front select:focus{border-color:var(--front-brand)!important;box-shadow:0 0 0 4px var(--front-brand-soft),inset 0 1px 0 rgba(255,255,255,.92)!important}
.front .inventory-new-ribbon,.front .inventory-custom-badge,.front .merchant-honor,.front .badge,.front .inventory-category-label{border:1px solid rgba(255,255,255,.86)!important;border-radius:999px!important;background:linear-gradient(135deg,var(--badge-bg,var(--front-brand-soft)),rgba(255,255,255,.78))!important;color:var(--badge-color,var(--front-brand-dark))!important;box-shadow:0 5px 13px rgba(67,72,82,.08),inset 0 1px 0 rgba(255,255,255,.84)!important}.front .merchant-honor{background:linear-gradient(135deg,var(--honor-bg,var(--front-brand-soft)),rgba(255,255,255,.78))!important;color:var(--honor-color,var(--front-brand-dark))!important}
.front .mac-notice-dialog{background:linear-gradient(145deg,rgba(255,255,255,.92),var(--front-brand-soft) 68%,var(--front-accent-soft))!important}.front .mac-notice-bar{background:linear-gradient(105deg,rgba(255,255,255,.78),var(--front-brand-soft),rgba(255,255,255,.70))!important}.front .notice-copy-card,.front .notice-today-option{border-color:var(--ui-line)!important;background:rgba(255,255,255,.60)!important;color:var(--front-navy)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.92)!important}
.front .app-dock,.front .merchant-app-dock,.front .warehouse-search,.front [data-float-ball]{background:linear-gradient(135deg,rgba(255,255,255,.82),var(--front-brand-soft),var(--front-accent-soft))!important;border-color:var(--ui-line)!important}.front .app-dock .is-active,.front .merchant-app-dock .is-active{background:rgba(255,255,255,.72)!important;color:var(--front-brand-dark)!important}
.merchant-front .inventory-card>.inventory-thumbnail,.merchant-front .inventory-card>.inventory-action-wrap,.merchant-front .inventory-card>.inventory-customer-tip{display:grid!important;visibility:visible!important;opacity:1!important}.merchant-front .inventory-card>.inventory-thumbnail{min-height:150px!important;place-items:center!important}.merchant-front .inventory-card>.inventory-thumbnail .inventory-image{display:block!important;width:min(88%,280px)!important;height:150px!important;object-fit:contain!important}.merchant-front .inventory-card>.inventory-action-wrap{gap:8px}
.merchant-front .inventory-image-missing{display:grid;place-items:center;width:min(88%,280px);height:150px;padding:14px;border:1px dashed var(--front-brand);border-radius:18px;background:rgba(255,255,255,.52);color:var(--front-muted);font-size:12px;text-align:center}
@media(max-width:720px){.front button,.front .btn,.front .inventory-action{min-height:38px;font-size:11px}.merchant-front .inventory-card>.inventory-thumbnail{min-height:124px!important}.merchant-front .inventory-card>.inventory-thumbnail .inventory-image{height:108px!important;width:100%!important}}
/* 最终显示兜底：覆盖历史主题中可能遗留的隐藏规则。 */
.merchant-front .inventory-grid{display:grid!important;visibility:visible!important;opacity:1!important}
.merchant-front .inventory-card{display:flex!important;visibility:visible!important;opacity:1!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}
.merchant-front .inventory-card>.inventory-body{display:grid!important;visibility:visible!important;opacity:1!important}
.merchant-front .inventory-card>.inventory-thumbnail{display:grid!important;visibility:visible!important;opacity:1!important;min-height:180px!important;place-items:center!important}
.merchant-front .inventory-card>.inventory-thumbnail>.inventory-image{display:block!important;visibility:visible!important;opacity:1!important;max-width:100%!important}
.merchant-front .inventory-card>.inventory-action-wrap{display:grid!important;visibility:visible!important;opacity:1!important;min-height:70px!important}
.merchant-front .inventory-card-stable>.inventory-card-image{display:block!important;visibility:visible!important;opacity:1!important}
@media(max-width:720px){.merchant-front .inventory-card-stable>.inventory-card-image{height:108px!important;margin:8px!important;width:calc(100% - 16px)!important}}
/* 商家库存页：移动端优先的多仓、标签及底部导航细节。 */
.merchant-front .inventory-grid{align-items:start!important}.merchant-front .inventory-card{min-width:0!important}.merchant-front .inventory-card-stable .inventory-new-ribbon{top:145px!important;left:16px!important;z-index:8!important;min-width:58px!important;padding:7px 12px!important;border-radius:14px 18px 18px 14px!important;animation:new-breathe 2.2s ease-in-out infinite,new-wiggle 4.8s ease-in-out infinite}.merchant-front .inventory-custom-badge{max-width:calc(100% - 18px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.merchant-front .bundle-entry-card{display:flex!important;min-height:330px!important;position:relative!important;flex-direction:column!important;overflow:hidden!important}.merchant-front .bundle-entry-card .inventory-body{min-height:auto!important;padding-bottom:5px!important}.merchant-front .bundle-cover-stack{display:block!important;flex:1!important;width:100%!important;margin:0!important;padding:7px 4px!important;border:0!important;background:transparent!important;cursor:pointer!important}.merchant-front .bundle-cover-stack .bundle-cover{pointer-events:none!important}.merchant-front .bundle-entry-card .inventory-action-wrap{margin-top:0!important}.merchant-front .merchant-app-dock button{box-shadow:none!important}.merchant-front .merchant-app-dock button.is-active{background:linear-gradient(135deg,var(--front-brand-soft),rgba(255,255,255,.48))!important;box-shadow:none!important}.merchant-front .merchant-app-dock button:not(.is-active){background:transparent!important;box-shadow:none!important}.merchant-front .merchant-app-dock button:disabled{opacity:.45!important;background:transparent!important;box-shadow:none!important}
.order-paste-field{display:grid!important;gap:7px;margin:14px 0!important;color:var(--front-navy)!important;font-weight:800!important}.order-paste-field textarea{min-height:72px!important;resize:vertical!important}.order-product-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.order-product-option{display:grid!important;grid-template-columns:18px minmax(0,1fr) auto!important;align-items:center!important;gap:7px!important;padding:10px!important;border:1px solid rgba(255,255,255,.9)!important;border-radius:18px!important;background:rgba(255,255,255,.56)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important}.order-product-option:has([data-order-select]:checked){border-color:var(--front-brand)!important;background:linear-gradient(145deg,rgba(255,255,255,.84),var(--front-brand-soft))!important}.order-product-name{overflow:hidden!important;color:var(--front-navy)!important;font-size:13px!important;font-weight:800!important;text-overflow:ellipsis!important;white-space:nowrap!important}.order-quantity-stepper{display:grid!important;grid-template-columns:26px 28px 26px!important;gap:2px!important}.order-quantity-stepper button,.order-quantity-stepper input{width:26px!important;height:28px!important;min-height:28px!important;padding:0!important;border-radius:9px!important;text-align:center!important}.order-quantity-stepper input{appearance:textfield!important}.order-flavor-field{display:grid!important;gap:5px!important;margin-top:10px!important;padding:10px!important;border:1px solid rgba(255,255,255,.9)!important;border-radius:17px!important;background:rgba(255,255,255,.45)!important}.order-flavor-field span{color:var(--front-muted)!important;font-size:11px!important;font-weight:750!important}
@media(max-width:720px){.merchant-front .inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.merchant-front .inventory-card-stable .inventory-new-ribbon{top:101px!important;left:10px!important;min-width:45px!important;padding:5px 8px!important;font-size:9px!important}.merchant-front .inventory-card-stable .inventory-body{min-height:89px!important}.merchant-front .bundle-entry-card{min-height:245px!important}.merchant-front .bundle-entry-card .bundle-cover-stack{min-height:111px!important}.merchant-front .bundle-entry-card .inventory-action{min-height:36px!important;font-size:10px!important}.merchant-front .merchant-app-dock{box-shadow:0 8px 19px rgba(67,72,82,.07)!important}.order-product-options{grid-template-columns:1fr!important}.order-format-dialog{padding:19px 13px max(14px,env(safe-area-inset-bottom))!important}.order-copy-button{position:sticky!important;bottom:0!important;z-index:2!important}.bundle-picker-dialog{padding:18px 8px!important}.bundle-fan{min-height:280px!important}}

/* 地址识别区：固定在下单弹窗顶部，便于手机用户先粘贴收货信息。 */
.address-recognizer{display:grid!important;gap:8px!important;margin:0 0 14px!important;padding:13px!important;border:1px solid var(--ui-line)!important;border-radius:22px!important;background:linear-gradient(145deg,rgba(255,255,255,.82),var(--front-brand-soft))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 7px 18px rgba(67,72,82,.05)!important}
.address-recognizer>span{color:var(--front-navy)!important;font-size:14px!important;font-weight:900!important}
.address-recognizer textarea{min-height:78px!important;resize:vertical!important}
.address-recognizer button{justify-self:end!important;min-height:38px!important;padding:0 17px!important}

/* 多仓选择器：保留轻微扇形旋转，同时改为横向可滑动卡片，避免移动端互相遮挡。 */
.bundle-picker-dialog{width:min(760px,calc(100vw - 24px))!important;max-height:88dvh!important;overflow:auto!important;padding:22px 18px 26px!important}
.bundle-picker-content{min-width:0!important}
.bundle-fan{display:flex!important;align-items:stretch!important;justify-content:flex-start!important;gap:12px!important;min-height:292px!important;padding:18px 16px 28px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important}
.bundle-fan-card{position:relative!important;display:grid!important;flex:0 0 178px!important;width:178px!important;min-height:246px!important;margin:0!important;padding:10px!important;align-content:start!important;gap:8px!important;transform:translateY(0) rotate(calc(var(--fan-offset) * 3deg))!important;transform-origin:50% 100%!important;scroll-snap-align:center!important;border:1px solid var(--ui-line)!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(255,255,255,.9),var(--front-brand-soft))!important;color:var(--front-navy)!important;box-shadow:var(--ui-shadow)!important;cursor:pointer!important}
.bundle-fan-card:hover{transform:translateY(-5px) rotate(0deg)!important}
.bundle-fan-card img{display:block!important;width:100%!important;height:136px!important;object-fit:contain!important;border-radius:17px!important;background:rgba(255,255,255,.62)!important}
.bundle-fan-card b{display:block!important;overflow:hidden!important;font-size:14px!important;line-height:1.35!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.bundle-fan-card>span:not(.inventory-new-ribbon){color:var(--front-muted)!important;font-size:12px!important}
.bundle-fan-card .fan-new-ribbon{top:15px!important;left:15px!important;z-index:2!important;min-width:48px!important;padding:5px 9px!important;font-size:11px!important}

@media(max-width:720px){
  .address-recognizer{padding:11px!important;border-radius:18px!important}
  .address-recognizer>span{font-size:13px!important}
  .address-recognizer button{width:100%!important;justify-self:stretch!important}
  .bundle-picker-dialog{width:calc(100vw - 16px)!important;max-height:90dvh!important;padding:17px 9px max(20px,env(safe-area-inset-bottom))!important;border-radius:24px!important}
  .bundle-fan{min-height:258px!important;padding:14px 12px 24px!important;gap:9px!important;scroll-padding-inline:12px!important}
  .bundle-fan-card{flex:0 0 min(68vw,220px)!important;width:min(68vw,220px)!important;min-height:228px!important;padding:9px!important;border-radius:21px!important;transform:translateY(0) rotate(calc(var(--fan-offset) * 2deg))!important}
  .bundle-fan-card img{height:124px!important;border-radius:15px!important}
  .bundle-fan-card b{font-size:13px!important}
  .merchant-front .inventory-card-stable .inventory-title{font-size:13px!important;line-height:1.35!important}
  .merchant-front .inventory-card-stable .inventory-customer-tip{font-size:11px!important;line-height:1.4!important;padding:0 8px!important}
}

/* 多仓合一：展开后只显示可点击的库存图气泡和 NEW 角标，避免无关文字干扰选图。 */
.bundle-fan{align-items:center!important;min-height:222px!important}
.bundle-fan-card{display:block!important;flex:0 0 176px!important;width:176px!important;min-height:0!important;aspect-ratio:1!important;padding:8px!important;overflow:visible!important;border-radius:38% 62% 58% 42% / 43% 41% 59% 57%!important;background:linear-gradient(145deg,rgba(255,255,255,.82),var(--front-brand-soft))!important;box-shadow:0 12px 24px rgba(67,72,82,.09),inset 0 2px 0 rgba(255,255,255,.94)!important}
.bundle-fan-card img{width:100%!important;height:100%!important;border-radius:35% 65% 56% 44% / 44% 42% 58% 56%!important;background:rgba(255,255,255,.5)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.82)!important}
.bundle-fan-card .fan-new-ribbon{top:-7px!important;left:-4px!important;z-index:3!important;min-width:52px!important;padding:6px 10px!important;border-radius:15px 19px 19px 15px!important}
@media(max-width:720px){
  .bundle-fan{min-height:198px!important;padding:14px 14px 22px!important;gap:11px!important}
  .bundle-fan-card{flex-basis:min(58vw,188px)!important;width:min(58vw,188px)!important;padding:7px!important}
  .bundle-fan-card .fan-new-ribbon{top:-6px!important;left:-3px!important;min-width:48px!important;padding:5px 9px!important;font-size:10px!important}
}

/* 多仓入口卡：库存图直接叠放，不再使用白色圆形底盘包裹。 */
.merchant-front .bundle-entry-card .bundle-cover-stack{min-height:172px!important;padding:8px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.merchant-front .bundle-entry-card .bundle-cover-stack::before,.merchant-front .bundle-entry-card .bundle-cover-stack::after{display:none!important;content:none!important}
.merchant-front .bundle-entry-card .bundle-cover{width:min(82%,250px)!important;height:148px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;object-fit:contain!important}
.merchant-front .inventory-dialog-content .detail-order-button{display:flex!important;width:100%!important;margin:14px 0 2px!important;align-items:center!important;justify-content:center!important}
@media(max-width:720px){.merchant-front .bundle-entry-card .bundle-cover-stack{min-height:116px!important;padding:5px!important}.merchant-front .bundle-entry-card .bundle-cover{width:88%!important;height:104px!important}.merchant-front .inventory-dialog-content .detail-order-button{min-height:44px!important;margin-top:12px!important;font-size:12px!important}}

/* 展开多仓时不显示白色圆盘、边框或额外文字，只保留图片本身和 NEW 角标。 */
.merchant-front .bundle-fan-card{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:8px!important}
.merchant-front .bundle-fan-card img{border-radius:18px!important;background:transparent!important;box-shadow:none!important}

/* Merchant page theme alignment and bundle labels. Keep the existing markup and behavior. */
.merchant-front {
  background:
    radial-gradient(circle at 10% 0%, var(--front-page-a), transparent 42%),
    radial-gradient(circle at 90% 16%, var(--front-page-b), transparent 38%),
    linear-gradient(145deg, var(--front-page-a), var(--front-page-b)) !important;
  color: var(--front-navy) !important;
}
.merchant-front .site-header,
.merchant-front .merchant-card,
.merchant-front .inventory-card,
.merchant-front .query-code-card,
.merchant-front .inventory-dialog,
.merchant-front .bundle-picker-dialog,
.merchant-front .order-format-dialog,
.merchant-front .mac-notice-dialog,
.merchant-front .notice-copy-card,
.merchant-front .merchant-app-dock {
  border-color: rgba(255,255,255,.82) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.76), var(--front-brand-soft)) !important;
  box-shadow: 0 14px 34px rgba(70,65,60,.08), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.merchant-front .mac-notice-bar {
  background: linear-gradient(105deg, rgba(255,255,255,.78), var(--front-brand-soft), rgba(255,255,255,.7)) !important;
}
.merchant-front .inventory-action,
.merchant-front .detail-order-button,
.merchant-front .order-format-button,
.merchant-front .order-copy-button,
.merchant-front .merchant-contact > a,
.merchant-front .inventory-category-tabs a.is-active {
  border: 1px solid rgba(255,255,255,.9) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--front-brand-soft), var(--front-brand)) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(70,65,60,.1), inset 0 1px 0 rgba(255,255,255,.5) !important;
}
.merchant-front .inventory-action:not(.order-format-button):not(.detail-order-button),
.merchant-front .inventory-category-tabs a:not(.is-active),
.merchant-front .header-action,
.merchant-front .modal-close {
  border: 1px solid var(--front-brand-soft) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.68) !important;
  color: var(--front-brand-dark) !important;
}
.merchant-front .inventory-action:hover,
.merchant-front .detail-order-button:hover,
.merchant-front .order-format-button:hover,
.merchant-front .order-copy-button:hover,
.merchant-front .merchant-contact > a:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.03) !important;
}
.merchant-front input,
.merchant-front textarea,
.merchant-front select {
  border-color: var(--front-brand-soft) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.68) !important;
  color: var(--front-navy) !important;
}
.merchant-front .inventory-custom-badge,
.merchant-front .inventory-category-label,
.merchant-front .merchant-honor,
.merchant-front .inventory-new-ribbon {
  background: linear-gradient(135deg, var(--badge-bg, var(--front-brand-soft)), rgba(255,255,255,.78)) !important;
  color: var(--badge-color, var(--front-brand-dark)) !important;
  border-color: rgba(255,255,255,.86) !important;
  box-shadow: 0 6px 14px rgba(70,65,60,.07), inset 0 1px 0 rgba(255,255,255,.84) !important;
}

/* Bundle fan cards show the warehouse name below each image. */
.merchant-front .bundle-fan-card {
  aspect-ratio: auto !important;
  min-height: 214px !important;
  align-content: start !important;
  text-align: center !important;
}
.merchant-front .bundle-fan-card img {
  display: block !important;
  width: 100% !important;
  height: 176px !important;
  object-fit: contain !important;
}
.merchant-front .bundle-fan-name {
  display: block !important;
  width: 100% !important;
  margin: 8px 2px 0 !important;
  overflow: hidden !important;
  color: var(--front-navy) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
@media (max-width: 720px) {
  .merchant-front .front-main { width: calc(100% - 18px) !important; padding: 0 9px !important; }
  .merchant-front .inventory-grid { gap: 9px !important; }
  .merchant-front .inventory-action,
  .merchant-front .detail-order-button,
  .merchant-front .order-format-button { min-height: 38px !important; font-size: 10px !important; }
  .merchant-front .bundle-fan-card { min-height: 205px !important; }
  .merchant-front .bundle-fan-card img { height: 150px !important; }
  .merchant-front .bundle-fan-name { margin-top: 6px !important; font-size: 11px !important; }
}

/* Logged-out account state: retain the existing scan flow in a clear glass panel. */
.front .login-required-notice {
  position: fixed;
  z-index: 82;
  top: max(14px, env(safe-area-inset-top));
  right: 14px;
  left: 14px;
  width: min(520px, calc(100% - 28px));
  margin: 0 auto;
  border: 1px solid rgba(255,255,255,.9) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.9), var(--front-brand-soft)) !important;
  color: var(--front-brand-dark) !important;
  box-shadow: 0 12px 28px rgba(70,65,60,.12), inset 0 1px 0 rgba(255,255,255,.92) !important;
  font-weight: 800;
  text-align: center;
}
.front .login-shell {
  position: relative;
  min-height: calc(100dvh - 151px);
}
.front .login-intro {
  position: relative;
  padding: 28px 0;
}
.front .login-intro::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 2px;
  left: -32px;
  width: 132px;
  height: 132px;
  border: 18px solid rgba(255,255,255,.28);
  border-radius: 46% 54% 59% 41%;
  background: var(--front-accent-soft);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.front .login-panel {
  border: 1px solid rgba(255,255,255,.9) !important;
  border-radius: max(24px, var(--front-radius)) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.84), var(--front-brand-soft), var(--front-accent-soft)) !important;
  box-shadow: 0 18px 42px rgba(70,65,60,.11), inset 0 1px 0 rgba(255,255,255,.94) !important;
  backdrop-filter: blur(18px);
}
.front .login-panel .btn {
  min-height: 46px;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--front-brand-soft), var(--front-brand)) !important;
  color: #fff !important;
}

/* Customer tips are intentionally visible in the detail dialog only. */
.merchant-front .inventory-card > .inventory-customer-tip { display: none !important; }
.merchant-front .inventory-dialog-content .modal-customer-tip {
  margin: 13px 0 !important;
  padding: 12px 14px !important;
  white-space: pre-line !important;
  text-align: left !important;
}

/* Preserve uploaded image proportions while using more of the available card area. */
.merchant-front .inventory-card-stable > .inventory-card-image {
  width: calc(100% - 20px) !important;
  height: clamp(175px, 21vw, 270px) !important;
  margin: 10px !important;
  border-radius: 20px !important;
  object-fit: contain !important;
  background: linear-gradient(145deg, rgba(255,255,255,.7), var(--front-accent-soft)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(70,65,60,.07) !important;
}
.merchant-front .inventory-card-stable > .inventory-card-image.is-landscape {
  height: clamp(158px, 18vw, 228px) !important;
}
.merchant-front .inventory-card-stable > .inventory-card-image.is-portrait {
  height: clamp(235px, 30vw, 350px) !important;
}
.merchant-front #inventoryDetailModal .detail-photo {
  display: block !important;
  width: min(100%, 760px) !important;
  height: auto !important;
  max-height: min(58dvh, 620px) !important;
  margin: 12px auto !important;
  object-fit: contain !important;
}
@media (max-width: 720px) {
  .front .login-shell { width: calc(100% - 28px); min-height: calc(100dvh - 142px); gap: 18px; }
  .front .login-intro { padding: 18px 5px 0; }
  .front .login-intro::before { left: -20px; width: 96px; height: 96px; border-width: 13px; }
  .front .login-panel { padding: 20px !important; border-radius: 25px !important; }
  .front .login-panel .btn { min-height: 44px; }
  .merchant-front .inventory-card-stable > .inventory-card-image { height: 142px !important; margin: 8px !important; width: calc(100% - 16px) !important; border-radius: 16px !important; }
  .merchant-front .inventory-card-stable > .inventory-card-image.is-landscape { height: 126px !important; }
  .merchant-front .inventory-card-stable > .inventory-card-image.is-portrait { height: 198px !important; }
  .merchant-front #inventoryDetailModal .detail-photo { max-height: 48dvh !important; margin: 8px auto 12px !important; }
}
