:root {
  color-scheme: light;
  --navy: #416f9d;
  --navy-soft: #5685b5;
  --blue: #5887bf;
  --blue-bright: #6e9cd0;
  --blue-light: #aec7e3;
  --blue-soft: #edf4fb;
  --green: #0e9f6e;
  --orange: #f59e0b;
  --red: #e25555;
  --ink: #293b4d;
  --muted: #718397;
  --line: #d9e5f1;
  --panel: #ffffff;
  --canvas: #f3f7fb;
  --radius: 16px;
  font-family: Inter, "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;
}

/* Google Stitch 畫面 25：手機公開商品型錄。此段置底以排除歷代手機網格規則互相覆蓋。 */
.public-header-sync{display:none}
@media(max-width:700px){
  body:has(.public-catalog-v25){margin:0;background:#f8fafc!important}
  .public-catalog-v25{
    width:100%;
    min-height:100dvh;
    overflow-x:hidden;
    background:#f8fafc!important;
    color:#1e293b;
  }
  .public-catalog-v25>header{
    position:sticky!important;
    top:0;
    z-index:30;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"brand login" "updated sync";
    align-items:center!important;
    gap:3px 8px!important;
    width:100%;
    min-height:calc(63px + env(safe-area-inset-top))!important;
    padding:calc(8px + env(safe-area-inset-top)) 14px 8px!important;
    border-bottom:1px solid #e2e8f0!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(15,23,42,.05)!important;
    box-sizing:border-box;
  }
  .public-catalog-v25 .public-site-brand{
    grid-area:brand;
    display:flex!important;
    min-width:0;
    align-items:center;
    gap:7px!important;
  }
  .public-catalog-v25 .public-site-brand::before{
    content:"";
    flex:0 0 9px;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#10b981;
    box-shadow:0 0 0 4px #d1fae5;
  }
  .public-catalog-v25 .public-mobile-brand{
    display:block!important;
    overflow:hidden;
    color:#0f172a!important;
    font-size:17px!important;
    font-weight:900!important;
    line-height:24px!important;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .public-catalog-v25 .public-site-brand .public-catalog-badge,
  .public-catalog-v25 .public-site-brand>strong{display:none!important}
  .public-catalog-v25 .public-header-updated{
    grid-area:updated;
    display:block!important;
    width:auto!important;
    min-width:0;
    margin:0 0 0 16px!important;
    overflow:hidden;
    color:#94a3b8!important;
    font-size:10px!important;
    font-weight:500!important;
    line-height:15px!important;
    text-align:left!important;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .public-catalog-v25 .public-header-sync{
    grid-area:sync;
    display:block;
    justify-self:end;
    padding:2px 6px;
    border-radius:999px;
    background:#eff6ff;
    color:#2563eb;
    font-size:9px;
    font-weight:800;
    white-space:nowrap;
  }
  .public-catalog-v25>header>a{
    position:static!important;
    grid-area:login;
    display:grid!important;
    place-items:center;
    align-self:center!important;
    width:auto!important;
    min-width:62px!important;
    min-height:30px!important;
    margin:0!important;
    padding:5px 9px!important;
    border:1px solid #e2e8f0!important;
    border-radius:999px!important;
    background:#f8fafc!important;
    color:#475569!important;
    font-size:11px!important;
    font-weight:700!important;
    box-shadow:none!important;
  }
  .public-catalog-v25+.public-product-detail-backdrop{font-size:14px}
  .public-catalog-v25~*{}
  .public-catalog-v25 .public-banner-carousel,
  body:has(.public-catalog-v25) .public-banner-carousel{
    width:auto!important;
    height:82px!important;
    margin:8px 12px 7px!important;
    padding:0!important;
  }
  body:has(.public-catalog-v25) .public-banner-viewport{
    width:100%!important;
    height:82px!important;
    aspect-ratio:auto!important;
    border-radius:13px!important;
    box-shadow:0 4px 14px rgba(30,64,175,.12)!important;
  }
  body:has(.public-catalog-v25) .public-banner-slide>div,
  body:has(.public-catalog-v25) .public-banner-slide>a>div{
    display:grid!important;
    place-content:center;
    justify-items:center;
    inset:0!important;
    padding:8px 12px!important;
    background:linear-gradient(90deg,rgba(15,54,91,.08),rgba(21,128,122,.08))!important;
    text-align:center;
  }
  body:has(.public-catalog-v25) .public-banner-slide strong{font-size:16px!important;line-height:1.25}
  body:has(.public-catalog-v25) .public-banner-slide span{font-size:10px!important;line-height:1.3}
  body:has(.public-catalog-v25) .public-banner-fallback small{font-size:10px!important}
  body:has(.public-catalog-v25) .public-banner-slide img{object-fit:cover!important}
  body:has(.public-catalog-v25) .public-banner-arrow{display:none!important}
  body:has(.public-catalog-v25) .public-banner-dots{bottom:5px!important}
  body:has(.public-catalog-v25) .public-banner-dots button{width:5px;height:5px}
  body:has(.public-catalog-v25) .public-banner-dots button.active{width:14px}
  body:has(.public-catalog-v25) .public-notice-strip{display:none!important}
  .public-catalog-v25>main{
    width:100%!important;
    max-width:390px!important;
    margin:0 auto!important;
    padding:0 12px calc(20px + env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
    box-sizing:border-box;
  }
  .public-catalog-v25 .public-catalog-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 107px!important;
    align-items:stretch!important;
    gap:6px!important;
    width:100%;
    height:38px!important;
    margin:0!important;
  }
  .public-catalog-v25 #public-catalog-search{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 52px!important;
    gap:5px!important;
    width:100%;
    height:38px!important;
  }
  .public-catalog-v25 #public-catalog-search input,
  .public-catalog-v25 #public-catalog-search button{
    width:100%!important;
    height:38px!important;
    min-height:38px!important;
    box-sizing:border-box;
    border-radius:9px!important;
    font-size:11px!important;
  }
  .public-catalog-v25 #public-catalog-search input{
    min-width:0;
    padding:0 8px!important;
    border:1px solid #dbe3ec!important;
  }
  .public-catalog-v25 #public-catalog-search button{padding:0 5px!important;background:#2563eb!important}
  .public-catalog-v25 .public-catalog-toolbar>label{
    display:grid!important;
    grid-template-columns:27px minmax(0,1fr)!important;
    align-items:center!important;
    gap:3px!important;
    height:38px!important;
    color:#475569;
    font-size:10px!important;
    font-weight:800;
  }
  .public-catalog-v25 .public-catalog-toolbar select{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 17px 0 5px!important;
    border:1px solid #dbe3ec!important;
    border-radius:9px!important;
    background-color:#fff!important;
    font-size:10px!important;
  }
  .public-catalog-v25 .public-catalog-categories{
    display:flex!important;
    width:100%;
    height:39px!important;
    margin:0!important;
    padding:6px 0 3px!important;
    gap:5px!important;
    overflow-x:auto!important;
    overflow-y:hidden;
    scrollbar-width:none;
  }
  .public-catalog-v25 .public-catalog-categories::-webkit-scrollbar{display:none}
  .public-catalog-v25 .public-catalog-categories button{
    flex:0 0 auto;
    height:30px!important;
    padding:4px 9px!important;
    border:1px solid #dbe3ec!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#475569!important;
    font-size:10px!important;
    line-height:20px!important;
  }
  .public-catalog-v25 .public-catalog-categories button.active{border-color:#2563eb!important;background:#2563eb!important;color:#fff!important}
  .public-catalog-v25 .public-catalog-categories small{font-size:9px!important;color:inherit!important}
  .public-catalog-v25 .public-catalog-pager{
    display:grid!important;
    grid-template-columns:29px minmax(0,1fr) 29px!important;
    align-items:center!important;
    gap:7px!important;
    width:100%;
    height:42px!important;
    margin:0 0 3px!important;
  }
  .public-catalog-v25 .public-catalog-pager>button{
    display:grid!important;
    place-items:center;
    width:29px!important;
    height:29px!important;
    padding:0!important;
    border:1px solid #dbe3ec!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#2563eb!important;
    font-size:20px!important;
    line-height:1!important;
  }
  .public-catalog-v25 .public-catalog-pager>span{display:grid!important;justify-items:center!important;gap:0!important}
  .public-catalog-v25 .public-catalog-pager b{font-size:12px!important;line-height:15px!important}
  .public-catalog-v25 .public-catalog-pager small{font-size:8px!important;line-height:12px!important}
  .public-catalog-v25 .public-catalog-grid{
    display:flex!important;
    width:100%!important;
    margin:0!important;
    padding:1px 0 4px!important;
    gap:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .public-catalog-v25 .public-catalog-grid::-webkit-scrollbar{display:none}
  .public-catalog-v25 .public-catalog-page{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-rows:auto!important;
    flex:0 0 100%!important;
    align-content:start!important;
    gap:9px!important;
    padding:0 1px!important;
    scroll-snap-align:start;
    box-sizing:border-box;
  }
  .public-catalog-v25 .public-product-card{
    position:relative;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:281px!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    border:1px solid #e2e8f0!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(15,23,42,.05)!important;
  }
  .public-catalog-v25 .public-product-card.urgent-expiry{border:2px solid #fb7185!important;box-shadow:0 0 0 2px #ffe4e6!important}
  .public-catalog-v25 .public-product-gallery{
    position:relative;
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1/1!important;
    margin:0!important;
    overflow:hidden!important;
    background:#f8fafc!important;
  }
  .public-catalog-v25 .public-product-image{width:100%!important;height:100%!important;aspect-ratio:1/1!important;background:#f8fafc!important}
  .public-catalog-v25 .public-product-image>.public-photo-backdrop{display:none!important}
  .public-catalog-v25 .public-product-image>img:not(.public-photo-backdrop){
    width:100%!important;
    height:100%!important;
    padding:5px;
    object-fit:contain!important;
    object-position:center!important;
    background:#f8fafc!important;
    box-sizing:border-box;
  }
  .public-catalog-v25 .public-product-thumbs{display:none!important}
  .public-catalog-v25 .public-product-info{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:4px!important;
    width:100%;
    height:auto!important;
    min-height:126px!important;
    padding:8px!important;
    box-sizing:border-box;
  }
  .public-catalog-v25 .public-product-category{padding:2px 6px!important;border-radius:999px!important;font-size:9px!important;line-height:14px!important}
  .public-catalog-v25 .public-product-info h2{
    display:-webkit-box!important;
    width:100%;
    min-height:34px!important;
    margin:0!important;
    overflow:hidden!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    color:#0f172a!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.3!important;
  }
  .public-catalog-v25 .public-product-info>p,
  .public-catalog-v25 .public-product-sku{display:none!important}
  .public-catalog-v25 .public-product-expiry{
    display:-webkit-box!important;
    width:100%;
    min-height:27px!important;
    margin:0!important;
    overflow:hidden!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    color:#e11d48!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1.3!important;
  }
  .public-catalog-v25 .public-price-range{margin-top:auto!important;color:#e11d48!important;font-size:20px!important;line-height:1!important}
  .public-catalog-v25 .public-product-info>strong{padding:3px 7px!important;border-radius:999px!important;font-size:9px!important;line-height:14px!important}
  .public-catalog-v25 .public-card-open-hint{align-self:flex-end!important;color:#2563eb!important;font-size:10px!important;font-weight:800!important;line-height:16px!important}
  .public-catalog-v25 .public-purchase-notices{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    width:100%;
    min-height:0!important;
    margin:12px 0 0!important;
    padding:10px!important;
    border:1px solid #fecdd3!important;
    border-radius:12px!important;
    background:#fff7f8!important;
    box-sizing:border-box;
  }
  .public-catalog-v25 .public-purchase-notices h2{margin:0 0 2px!important;color:#881337!important;font-size:13px!important}
  .public-catalog-v25 .public-purchase-notices article{
    display:grid!important;
    grid-template-columns:23px minmax(0,1fr)!important;
    gap:7px!important;
    padding:2px!important;
    border:0!important;
    background:transparent!important;
  }
  .public-catalog-v25 .public-purchase-notices article>b{display:grid!important;width:23px!important;height:23px!important;place-items:center;border-radius:50%;background:#0f172a!important;color:#fff!important;font-size:8px!important}
  .public-catalog-v25 .public-purchase-notices p{margin:0!important;color:#475569!important;font-size:9px!important;line-height:1.45!important}
  .public-catalog-v25 footer{display:block!important;padding:10px 0 0!important;color:#94a3b8!important;font-size:9px!important;text-align:center!important}
}

/* Stitch 05 — 手機商品編輯器。僅換介面皮膚，保留原商品主檔欄位與儲存流程。 */
.product-editor-v5{
  width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0!important;
  overflow:auto;background:#f4f8fc;border:1px solid #dbe6f0;border-radius:16px;
  color:#1e293b;overscroll-behavior:contain;
}
.product-editor-v5-header{
  position:sticky;top:0;z-index:6;display:grid;grid-template-columns:1fr auto;gap:8px 12px;
  padding:14px 16px 12px;background:#fffffff5;border-bottom:1px solid #dce5ee;
  backdrop-filter:blur(12px);
}
.product-editor-v5-heading{display:flex;align-items:center;gap:10px;min-width:0}
.product-editor-v5-heading>i{width:7px;height:30px;border-radius:999px;background:#4f8fcc;flex:0 0 auto}
.product-editor-v5-heading>div{display:grid;gap:3px}
.product-editor-v5-heading h2{font-size:21px;line-height:1.1;color:#172033}
.product-editor-v5-heading span{justify-self:start;padding:3px 7px;border-radius:5px;background:#eff6ff;color:#3c7bb6;font-size:11px;font-weight:800}
.product-editor-v5-header>.btn{align-self:start;min-height:38px;padding:7px 14px;background:#f5f7fa;color:#526274}
.product-editor-v5-header>p{grid-column:1/-1;margin:0;color:#64748b;font-size:12px;line-height:1.5}
.product-editor-v5-content{display:grid;gap:14px;padding:16px 16px 108px}
.product-editor-v5 .product-completion-notice{margin:0;border-width:1px;border-color:#f2bd63;border-radius:10px;box-shadow:0 2px 8px #8a57000b}
.product-editor-section{display:grid;gap:13px;padding:15px;background:#fff;border:1px solid #dce5ee;border-radius:11px;box-shadow:0 2px 8px #1d3d5b0a}
.product-editor-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.product-editor-section-title strong{font-size:15px;color:#25364a}
.product-editor-section-title span{color:#6b7c8e;font-size:11px;line-height:1.4;text-align:right}
.product-file-row-v5{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #dce5ee;border-radius:9px;background:#f8fafc}
.product-file-picker-v5{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 13px!important;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#3d4d60;font-size:13px!important;font-weight:800;cursor:pointer;white-space:nowrap}
.product-file-picker-v5 input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.product-file-row-v5>span{min-width:0;overflow:hidden;color:#7b8795;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.product-photo-slots-v5{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0}
.product-photo-slots-v5 .file-preview,.product-photo-slot-v5{width:100%;height:auto;aspect-ratio:1;border-radius:9px}
.product-photo-slots-v5 .file-preview{object-fit:contain;background:#fff;border:1px solid #dbe3ec}
.product-photo-slot-v5{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e4eaf0;background:#f9fbfd;color:#a3afbd;font-size:10px;text-align:center}
.product-photo-slot-v5.primary{border:2px dashed #d8e1ea;color:#93a1b1;font-size:21px}
.product-photo-slot-v5 small{display:block;margin-top:2px;font-size:10px}
.product-existing-photo-v5{position:relative;display:grid;min-width:0;aspect-ratio:1;border:1px solid #b9dff7;border-radius:9px;background:#fff;overflow:hidden}.product-existing-photo-v5.primary{border:2px solid #1686c8}.product-existing-photo-v5 .file-preview{width:100%;height:100%;object-fit:contain;background:#fff}.product-existing-photo-v5 small{position:absolute;right:4px;bottom:4px;margin:0;padding:2px 5px;border-radius:999px;background:#075985;color:#fff;font-size:10px;font-weight:800}.product-existing-photo-v5:not(.primary) small{background:#48677d}
.product-editor-v5 .form-grid{gap:13px;margin:0}
.product-editor-v5 .field{min-width:0;margin:0}
.product-editor-v5 .field>label:not(.inline-check){margin-bottom:6px;color:#405064;font-size:13px;font-weight:800}
.product-editor-v5 .field label b{color:#e25555}
.product-editor-v5 input:not([type="checkbox"]),.product-editor-v5 textarea,.product-editor-v5 select{width:100%;min-width:0;min-height:46px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:15px}
.product-editor-v5 textarea{min-height:104px;resize:vertical}
.product-editor-v5 input:focus,.product-editor-v5 textarea:focus,.product-editor-v5 select:focus{outline:0;border-color:#4f8fcc;box-shadow:0 0 0 3px #4f8fcc2e}
.product-field-label-v5{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.product-field-label-v5 label{color:#405064;font-size:13px;font-weight:800}
.product-field-label-v5 span{color:#4f8fcc;font-size:11px;font-weight:800}
.product-sku-field-v5>div:last-child{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:7px}
.product-sku-field-v5 input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.product-sku-field-v5 button{min-height:46px;border:1px solid #bdd1e6;border-radius:8px;background:#edf6ff;color:#2d659a;font-size:18px;font-weight:900;cursor:pointer}
.product-sku-field-v5 button:active{background:#dbeafe}
.product-editor-v5 .inline-check{min-height:46px;padding:10px 11px;border:1px solid #d8e1ea;border-radius:8px;background:#f8fafc;font-size:13px;line-height:1.45}
.product-editor-v5 .inline-check input{width:22px;height:22px;flex:0 0 auto}
.product-editor-v5 .protected-price-field{padding:11px;border-color:#fdba74}
.product-editor-v5 .protected-cost-section{margin:0;border-width:1px;border-radius:11px;box-shadow:0 2px 8px #1d3d5b0a}
.product-editor-inventory-note-v5{margin:0;padding:10px 12px;border-radius:8px;background:#edf5fc;color:#506477}
.product-editor-actions-v5{
  position:sticky;bottom:0;z-index:7;display:grid;grid-template-columns:1fr 1.4fr;gap:11px;
  margin:0!important;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid #dce5ee;
  background:#fffffff5;box-shadow:0 -8px 24px #17324d14;backdrop-filter:blur(12px)
}
.product-editor-actions-v5 .btn{min-height:50px;border-radius:8px;font-size:15px;font-weight:800}
.product-editor-actions-v5 .btn.primary{background:#4f8fcc;border-color:#4f8fcc;box-shadow:0 5px 14px #4f8fcc36}

@media(max-width:650px){
  .product-editor-v5-backdrop{background:#f4f8fc!important}
  .product-editor-v5{position:absolute!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;padding:0!important;border:0!important;border-radius:0!important}
  .product-editor-v5-content{padding:14px 14px 106px}
  .product-editor-v5-header{padding:12px 14px 11px}
  .product-editor-v5-heading h2{font-size:19px}
  .product-editor-v5-header>.btn{min-height:36px}
  .product-editor-v5 .form-grid{grid-template-columns:1fr}
  .product-editor-v5 .field-wide{grid-column:auto}
  .product-editor-section{padding:14px}
  .product-editor-section-title{display:grid;gap:3px}
  .product-editor-section-title span{text-align:left}
  .product-photo-slots-v5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .product-editor-v5 .protected-cost-section>div:first-child{align-items:flex-start;display:grid}
}

@media(max-width:370px){
  .product-editor-v5-content{padding-inline:11px}
  .product-editor-v5-header{padding-inline:11px}
  .product-editor-section{padding:12px}
  .product-file-picker-v5{padding-inline:10px!important}
  .product-editor-actions-v5{padding-inline:11px}
}

/* 收貨頁最後校正版：頁籤隨內容正常捲動，效期資訊與售價欄保持可讀。 */
.receiving-page>.receiving-view-tabs{
  position:static!important;
  top:auto!important;
}
.receiving-scan-info .receiving-scan-expiry-batch{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 8px!important;
  margin-top:5px;
  line-height:1.35;
}
.receiving-scan-info .receiving-scan-expiry-batch>span{
  display:inline-flex!important;
  align-items:center;
  min-width:0;
  white-space:nowrap;
}
.receiving-scan-info .receiving-scan-batch-quantity{font-weight:850;color:#334155}
.receiving-batch-price{
  grid-template-columns:minmax(0,1fr) minmax(150px,.65fr)!important;
  align-items:stretch!important;
}
.receiving-batch-price .receiving-batch-price-meta{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:3px!important;
  align-content:center;
  line-height:1.35!important;
}
.receiving-batch-price .receiving-batch-price-meta>b{display:block!important;overflow-wrap:anywhere}
.receiving-batch-price input{
  width:100%!important;
  min-width:150px!important;
  min-height:46px!important;
  padding:8px 10px!important;
  font-size:15px!important;
  text-align:center!important;
  box-sizing:border-box;
}
.receiving-batch-price input::placeholder{font-size:13px!important;font-weight:750;opacity:.85}
@media(max-width:700px){
  .receiving-batch-price{grid-template-columns:1fr!important}
  .receiving-batch-price input{min-width:0!important;width:100%!important}
}

/* 外箱／盒購條碼拆箱清點 */
.receiving-case-conversion{margin:16px 0;padding:14px;border:2px solid #cbd8e8;border-radius:16px;background:#f7fbff}
.receiving-case-conversion.active{border-color:#5a91c8;background:#eef7ff;box-shadow:0 8px 24px rgba(55,112,170,.12)}
.receiving-case-switch{display:flex;align-items:center;gap:12px;cursor:pointer}
.receiving-case-switch input{width:24px;height:24px;flex:0 0 auto;accent-color:#357fbd}
.receiving-case-switch span{display:grid;gap:3px}
.receiving-case-switch strong{font-size:17px;color:#173f64}
.receiving-case-switch small{color:#64788b}
.receiving-case-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.receiving-case-warning{display:grid;gap:3px;margin-top:12px;padding:10px 12px;border:1px solid #f59e0b;border-radius:11px;background:#fff7ed;color:#9a3412}.receiving-case-warning strong{font-size:14px}.receiving-case-warning span{font-size:12px;line-height:1.45}.receiving-case-listing-name{grid-column:1/-1}
.receiving-case-fields label{display:grid;gap:6px;font-weight:800;color:#43586d}
.receiving-case-fields input{width:100%;min-width:0;height:48px;padding:0 12px;border:1px solid #b7c9db;border-radius:10px;background:#fff;font-size:18px}
.receiving-case-unit-barcode,.receiving-case-damage-reason{grid-column:1/-1}
.receiving-case-preview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}
.receiving-case-preview span,.receiving-case-preview>strong{display:grid;place-items:center;min-height:58px;padding:8px;border-radius:10px;background:#fff;text-align:center;color:#405469}
.receiving-case-preview b{font-size:20px;color:#173f64}
.receiving-case-preview .warning{background:#fff2df;color:#a34f12}
.receiving-case-preview>strong{background:#dff6e9;color:#087044}
.receiving-case-variance{display:grid;gap:7px;margin-top:10px;padding:12px;border:2px solid #f59e0b;border-radius:12px;background:#fff7ed;color:#9a3412}.receiving-case-variance[hidden]{display:none!important}.receiving-case-variance.over{border-color:#f97316;background:#fff7ed;color:#9a3412}.receiving-case-variance.short{border-color:#eab308;background:#fefce8;color:#854d0e}.receiving-case-variance>span{font-size:12px;line-height:1.45}.receiving-case-variance .inline-check{width:100%;min-height:44px;padding:9px;border-radius:9px;background:#fff;font-weight:800;box-sizing:border-box}.receiving-package-breakdown.over{background:#fff7ed;color:#9a3412}.receiving-package-breakdown.short{background:#fefce8;color:#854d0e}
.receiving-package-breakdown{display:flex;flex-wrap:wrap;gap:6px;grid-column:1/-1;padding:9px 10px;border-radius:10px;background:#edf7ff;color:#274f74;font-size:13px;font-weight:700}
.receiving-package-breakdown b{color:#0f6845}
.receiving-case-record-summary{display:grid;grid-template-columns:104px minmax(0,1fr);gap:13px;align-items:center;margin-top:12px;padding:11px;border:1px solid #c9d9e8;border-radius:13px;background:#fff}
.receiving-case-record-photo{display:grid;place-items:center;width:104px;aspect-ratio:1;overflow:hidden;border:1px dashed #9fb6cb;border-radius:11px;background:#f3f7fb;color:#718397;font-size:12px;text-align:center}
.receiving-case-record-photo img{width:100%;height:100%;object-fit:contain;background:#fff}
.receiving-case-record-summary>div:last-child{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 10px;min-width:0;align-items:center}
.receiving-case-record-summary span{color:#718397;font-size:12px;font-weight:700}
.receiving-case-record-summary strong{min-width:0;overflow-wrap:anywhere;color:#173f64}
.receiving-case-record-summary small{grid-column:1/-1;margin-top:3px;color:#64788b}
.receiving-case-sheet-quantity{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid #b8d2e8;border-radius:12px;background:#f4faff;color:#31536f}.receiving-case-sheet-quantity>strong{color:#173f64;font-size:15px}.receiving-case-sheet-quantity>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.receiving-case-sheet-quantity span{display:grid;gap:3px;padding:8px;border-radius:9px;background:#fff;text-align:center;color:#63798d;font-size:12px;font-weight:700}.receiving-case-sheet-quantity b{color:#173f64;font-size:20px}.receiving-case-sheet-quantity small{color:#597187;font-size:12px;line-height:1.45}.receiving-case-sheet-quantity.editor{margin:14px 0 0}.receiving-case-sheet-quantity.review{margin:12px 0}
.receiving-review-product>.receiving-review-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 0;padding:10px;border:1px solid #9bc8e8;border-radius:12px;background:#eaf6ff}.receiving-review-product>.receiving-review-progress>div{gap:3px;margin:0;padding:9px 6px;border:0;border-radius:9px;background:#fff}.receiving-review-product>.receiving-review-progress span{font-size:12px;font-weight:800;color:#557187}.receiving-review-product>.receiving-review-progress strong{font-size:26px;line-height:1;color:#0b5792}
.receiving-case-editor-backdrop{z-index:1100;padding:22px;align-items:center}
html:has(.receiving-case-editor-backdrop),body:has(.receiving-case-editor-backdrop){overflow:hidden}
.receiving-case-editor-modal{width:min(920px,100%);max-height:calc(100dvh - 44px);overflow:auto;border:2px solid #91b7da;box-shadow:0 28px 80px #102b4660;container-type:inline-size}
.receiving-case-editor-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr);gap:18px;margin-top:16px}
.receiving-case-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.receiving-case-editor-fields label{display:grid;gap:6px;min-width:0;color:#405469;font-weight:800}
.receiving-case-editor-fields input{width:100%;min-width:0;height:50px;padding:0 12px;border:1px solid #b7c9db;border-radius:11px;background:#fff;font-size:17px}
.receiving-case-editor-fields input:focus{outline:3px solid #6e9cd044;border-color:#5887bf}
.receiving-case-editor-fields small{color:#718397;font-size:12px;line-height:1.45;font-weight:500}
.receiving-case-editor-fields .field-wide{grid-column:1/-1}
.receiving-case-editor-count-preview{display:grid;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px;border:1px solid #b7d1e8;border-radius:11px;background:#f4f9fd}.receiving-case-editor-count-preview span{display:grid;gap:2px;text-align:center;color:#61758a;font-size:12px;font-weight:750}.receiving-case-editor-count-preview b{color:#173f64;font-size:20px}
.receiving-case-barcode-entry{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:8px}
.receiving-case-barcode-entry .btn{min-height:50px;white-space:nowrap}
.receiving-case-editor-photo{display:flex;flex-direction:column;gap:9px;padding:13px;border:1px solid #d6e2ed;border-radius:14px;background:#f7fbff}
.receiving-case-editor-photo>strong{color:#173f64}
.receiving-case-editor-photo p{margin:0;color:#64788b;font-size:12px;line-height:1.5}
.receiving-case-editor-photo>.btn{display:grid;place-items:center;min-height:46px;margin:0}
.receiving-case-photo-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#173f64}.receiving-case-photo-heading b{padding:4px 8px;border-radius:999px;background:#dbeeff;color:#166198;font-size:12px}
.receiving-case-photo-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:7px}.receiving-case-photo-slots figure{display:grid;grid-template-rows:1fr auto;min-width:0;margin:0;aspect-ratio:1;border:1px solid #bbd3e5;border-radius:10px;overflow:hidden;background:#fff}.receiving-case-photo-slots img{width:100%;height:100%;object-fit:cover}.receiving-case-photo-slots figure.empty{place-items:center;padding:0;text-align:inherit;border:2px dashed #b9cddd;color:#7c93a6}.receiving-case-photo-slots .empty span{padding:3px 5px;border-radius:6px;background:#edf5fb;color:#3a7197;font-size:10px;font-weight:800}.receiving-case-photo-slots figcaption{padding:4px 2px;background:#f7fbff;color:#58738a;font-size:10px;font-weight:750;text-align:center;white-space:nowrap}
.receiving-case-photo-preview{display:grid;place-items:center;gap:5px;width:100%;aspect-ratio:1;overflow:hidden;border:2px dashed #9fb6cb;border-radius:14px;background:#fff;color:#718397}
.receiving-case-photo-preview>span{font-size:38px}.receiving-case-photo-preview>small{font-weight:700}
.receiving-case-photo-preview img{width:100%;height:100%;object-fit:contain;background:#fff}
.receiving-case-photo-preview.has-photo{border-style:solid}
.receiving-case-editor-note{display:grid;gap:3px;margin-top:15px;padding:11px 13px;border-radius:12px;background:#e9f8f1;color:#176244}
.receiving-case-editor-note span{font-size:12px;line-height:1.5}
.receiving-case-editor-note.pending{background:#fff7ed;color:#9a3412}
@container (max-width:760px){
  .receiving-case-editor-grid{grid-template-columns:1fr;gap:14px}
  .receiving-case-editor-photo{order:-1}
  .receiving-case-photo-slots{grid-template-columns:repeat(5,minmax(52px,1fr))}
}
@media(max-width:640px){
  .receiving-case-conversion{margin:12px 0;padding:12px}
  .receiving-case-fields{grid-template-columns:1fr 1fr}
  .receiving-case-unit-barcode,.receiving-case-damage-reason{grid-column:1/-1}
  .receiving-case-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .receiving-case-preview>strong{grid-column:1/-1}
  .receiving-case-switch strong{font-size:16px}
  .receiving-case-record-summary{grid-template-columns:78px minmax(0,1fr);padding:9px}.receiving-case-record-photo{width:78px}
  .receiving-case-editor-backdrop{align-items:stretch;padding:0}
  .receiving-case-editor-modal{width:100%;height:100dvh;max-height:100dvh;padding:14px 12px max(14px,env(safe-area-inset-bottom));border:0;border-radius:0}
  .receiving-case-editor-modal .panel-title{align-items:flex-start}.receiving-case-editor-modal .panel-title h2{font-size:20px}
  .receiving-case-editor-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}
  .receiving-case-editor-fields{grid-template-columns:1fr 1fr;gap:10px}
  .receiving-case-editor-count-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .receiving-case-sheet-quantity>div{grid-template-columns:1fr}
  .receiving-case-editor-fields .field-wide{grid-column:1/-1}
  .receiving-case-barcode-entry{grid-template-columns:1fr}.receiving-case-barcode-entry .btn{width:100%}
  .receiving-case-editor-photo{padding:11px}.receiving-case-photo-preview{max-width:280px;margin:auto}.receiving-case-photo-slots{gap:5px}.receiving-case-photo-slots figcaption{font-size:9px}
  .receiving-case-editor-modal .modal-actions{position:sticky;bottom:calc(-14px - env(safe-area-inset-bottom));z-index:2;margin:14px -12px calc(-14px - env(safe-area-inset-bottom));padding:10px 12px max(10px,env(safe-area-inset-bottom));background:#fffffff2;box-shadow:0 -8px 22px #1d3d5b18}
}

#receiving-entry-step{
  scroll-margin-top:10px;
  outline:none;
}
#receiving-review-step{
  scroll-margin-top:0;
  outline:none;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--canvas); }
button, input, select { font: inherit; }
button { cursor: pointer; }
.mobile-menu-button,.mobile-nav-close,.mobile-nav-backdrop { display: none; }

.shell { min-height: 100vh; display: grid; grid-template-columns: 238px 1fr; }
.sidebar { background: linear-gradient(180deg,#5685b5 0%,#416f9d 100%); color: #fff; padding: 24px 16px; display: flex; flex-direction: column; height: 100vh; position: sticky; top: 0; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 26px; }
.brand-mark { width: 38px; height: 38px; border-radius: 12px; background: linear-gradient(135deg,#aec7e3,#6e9cd0); display: grid; place-items: center; font-weight: 800; box-shadow: 0 8px 20px #294c7160; }
.brand strong { display: block; font-size: 17px; }
.brand span { color: #e2edf8; font-size: 12px; }
.workspace-picker { display: grid; gap: 7px; margin: 0 3px 12px; padding: 12px; border: 1px solid #ffffff2b; border-radius: 14px; background: #173b5e30; }
.workspace-picker > span { color: #dcebf8; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.workspace-picker select { width: 100%; min-width: 0; padding: 9px 30px 9px 10px; border: 1px solid #ffffff30; border-radius: 10px; color: #fff; background: #ffffff17; font-size: 13px; font-weight: 800; outline: none; }
.workspace-picker select option { color: var(--ink); background: #fff; }
.workspace-picker small { color: #dcebf8; font-size: 10px; line-height: 1.45; }
.nav-groups { flex: 1; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #91b2d5 transparent; }
.nav-group + .nav-group { margin-top: 7px; padding-top: 5px; border-top: 1px solid #ffffff0b; }
.nav-section { color: #c7dcef; font-size: 11px; letter-spacing: .14em; padding: 13px 12px 8px; }
.nav-button { border: 0; color: #f2f7fc; background: transparent; width: 100%; text-align: left; padding: 12px 14px; border-radius: 11px; margin: 2px 0; display: flex; align-items: center; gap: 11px; position: relative; cursor: grab; transition: opacity .15s ease, background .15s ease, box-shadow .15s ease; }
.nav-button:hover, .nav-button.active { background: var(--navy-soft); color: #fff; }
.nav-button:active { cursor: grabbing; }
.nav-button.dragging { opacity: .35; }
.nav-button.drag-over { background: #6994be; box-shadow: inset 0 3px #aec7e3; }
.nav-icon { width: 22px; text-align: center; }
.nav-drag-handle { margin-left: auto; color: #aec7e3; font-style: normal; font-size: 13px; letter-spacing: -3px; }
.nav-button:hover .nav-drag-handle { color: #f2f7fc; }
.nav-reset { border: 1px solid #91b2d5; background: transparent; color: #e2edf8; border-radius: 9px; padding: 7px 10px; margin: 12px 3px 10px; font-size: 12px; }
.nav-reset:hover { border-color: #aec7e3; color: #fff; background: #ffffff17; }
.sidebar-foot { margin-top: auto; padding: 16px 12px 0; border-top: 1px solid #7199c0; color: #e2edf8; font-size: 12px; }
.payable-stats { margin-bottom: 18px; }
.payable-table .panel-title { padding: 18px 20px 0; }
.settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.settings-card { display: flex; gap: 16px; align-items: flex-start; padding: 22px; }
.settings-card h2 { margin: 1px 0 8px; font-size: 17px; }
.settings-card p { margin: 0 0 6px; font-weight: 700; }
.settings-card span { color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.settings-icon { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 13px; display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); font-size: 20px; }
.settings-nav-panel { margin-top: 18px; padding: 22px; }
.settings-tool-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.product-search-integration { border: 1px solid #b9d6ee; background: linear-gradient(135deg,#f7fbff,#edf6ff); }
.integration-key-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: end; }
.secret-input-wrap { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.secret-input-wrap input { font-family: ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing: .04em; }
.integration-actions { display: flex; gap: 8px; padding-bottom: 21px; }
.integration-capabilities { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.integration-capabilities span { padding: 6px 10px; border-radius: 999px; background: #fff; border: 1px solid #cfe0f0; color: #356b9e; font-size: 12px; font-weight: 700; }
@media (max-width:760px) { .integration-key-row { grid-template-columns: 1fr; } .integration-actions { padding-bottom: 0; } }

.main { min-width: 0; }
.topbar { height: 76px; padding: 0 30px; background: #ffffffed; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 10; backdrop-filter: blur(12px); }
.topbar h1 { margin: 0; font-size: 22px; }
.topbar p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.top-actions { display: flex; gap: 10px; align-items: center; }
.workspace-switcher { min-width: 174px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 12px; background: #f4f8fc; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1px 8px; align-items: center; }
.workspace-switcher > span { grid-row: 1/3; color: var(--muted); font-size: 10px; font-weight: 700; }
.workspace-switcher select { min-width: 0; padding: 3px 24px 3px 4px; border: 0; color: var(--ink); background: transparent; font-size: 13px; font-weight: 800; outline: none; }
.workspace-switcher.workspace-warehouse { border-color: #9bd5c2; background: #effbf7; }
.workspace-switcher.workspace-coupang { border-color: #f2c889; background: #fff8eb; }
.workspace-switcher.workspace-groupbuy { border-color: #c9b9ef; background: #f7f4ff; }
.workspace-switcher.workspace-storefront { border-color: #9fc5ed; background: #f0f7ff; }
.switcher { border: 1px solid var(--line); padding: 8px; border-radius: 12px; display: flex; gap: 6px; background: #f2f6fb; }
.switcher button { border: 0; background: transparent; color: var(--muted); border-radius: 8px; padding: 8px 12px; }
.switcher button.active { background: #fff; color: var(--blue); box-shadow: 0 2px 10px #5887bf20; }
.avatar { width: 38px; height: 38px; border-radius: 50%; color: var(--blue); background: var(--blue-soft); display: grid; place-items: center; }
.account-menu { position: relative; }
.account-trigger { min-height: 48px; padding: 5px 9px 5px 5px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); display: flex; align-items: center; gap: 9px; cursor: pointer; text-align: left; }
.account-trigger:hover,.account-trigger[aria-expanded="true"] { border-color: var(--blue); background: #f5f9fe; box-shadow: 0 5px 18px #416f9d1a; }
.account-summary { display: grid; min-width: 78px; line-height: 1.15; }
.account-summary strong { font-size: 13px; }
.account-summary small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.account-chevron { color: var(--muted); font-size: 16px; transition: transform .16s ease; }
.account-trigger[aria-expanded="true"] .account-chevron { transform: rotate(180deg); }
.account-dropdown { position: absolute; z-index: 50; top: calc(100% + 9px); right: 0; width: 292px; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 18px 46px #294b6f2b; }
.account-dropdown[hidden] { display: none; }
.account-dropdown-head { display: grid; gap: 3px; padding: 10px 12px 12px; border-bottom: 1px solid var(--line); }
.account-dropdown-head strong { font-size: 14px; }
.account-dropdown-head span { color: var(--muted); font-size: 12px; }
.account-dropdown button { width: 100%; padding: 11px 10px; border: 0; border-radius: 11px; background: transparent; color: var(--ink); display: grid; grid-template-columns: 28px 1fr; align-items: center; text-align: left; cursor: pointer; }
.account-dropdown button:hover { background: var(--blue-soft); }
.account-dropdown button > span:first-child { color: var(--blue); font-size: 19px; text-align: center; }
.account-dropdown button > span:last-child { display: grid; gap: 3px; }
.account-dropdown button strong { font-size: 13px; }
.account-dropdown button small { color: var(--muted); font-size: 11px; }
.account-dropdown .account-logout { color: #b42318; }
.account-dropdown .account-logout:hover { background: #fff1f0; }
.account-dropdown .account-logout > span:first-child { color: #d92d20; }
.content { padding: 28px 30px 40px; }

@media (max-width: 1050px) {
  .account-summary { display: none; }
  .account-trigger { padding-right: 7px; }
}

.grid { display: grid; gap: 18px; }
.stats { grid-template-columns: repeat(4, minmax(0,1fr)); }
.stat, .panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 8px 24px #416f9d0c; }
.stat { padding: 20px; }
.stat-head { display: flex; justify-content: space-between; color: var(--muted); font-size: 13px; }
.stat-icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); }
.stat-value { font-size: 26px; font-weight: 750; margin-top: 14px; }
.stat-foot { margin-top: 7px; font-size: 12px; color: var(--green); }
.panel { padding: 22px; }
.panel-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.panel-title h2 { font-size: 17px; margin: 0; }
.panel-title span { color: var(--muted); font-size: 12px; }
.dashboard-row { grid-template-columns: 1.35fr .65fr; margin-top: 18px; }
.flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; align-items: center; }
.flow-step { padding: 18px 12px; text-align: center; border: 1px solid var(--line); border-radius: 13px; background: #fbfcfe; position: relative; }
.flow-step:not(:last-child)::after { content: "→"; position: absolute; right: -20px; top: 50%; color: #93a1b6; z-index: 2; }
.flow-step strong { display: block; font-size: 14px; }
.flow-step span { display: block; margin-top: 5px; font-size: 11px; color: var(--muted); }
.activity { list-style: none; margin: 0; padding: 0; }
.activity li { display: flex; gap: 11px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.activity li:last-child { border-bottom: 0; }
.dot { width: 9px; height: 9px; border-radius: 50%; background: var(--blue); margin-top: 5px; }
.dashboard-workspace { background: linear-gradient(180deg,#f0f5fb 0,#f3f7fb 620px); min-height: calc(100vh - 76px); }
.dashboard-overview { display: grid; grid-template-columns: 1.05fr 1.45fr; gap: 15px; }
.dashboard-revenue-card { padding: 22px 24px; border-radius: 18px; color: #fff; background: linear-gradient(135deg,#6e9cd0,#7ca4d5 58%,#83a9d6); box-shadow: 0 13px 30px #5887bf30; text-shadow: 0 1px 2px #416f9d55; }
.dashboard-revenue-card > span { font-size: 12px; opacity: .9; }
.dashboard-revenue-card > strong { display: block; margin: 8px 0 23px; font-size: 38px; letter-spacing: -.02em; }
.dashboard-revenue-card > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.dashboard-revenue-card > div span { font-size: 10px; opacity: .9; }
.dashboard-revenue-card > div strong { display: block; margin-top: 5px; color: #fff; font-size: 15px; }
.dashboard-mini-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.dashboard-mini-stats article { padding: 18px; border: 1px solid var(--line); border-top: 4px solid var(--blue-bright); border-radius: 15px; background: #fff; box-shadow: 0 6px 20px #416f9d0d; }
.dashboard-mini-stats article:nth-child(2) { border-top-color: #7c3aed; }
.dashboard-mini-stats article.expiry { border-top-color: #f97316; background: #fff9f4; }
.dashboard-mini-stats span, .dashboard-mini-stats small { display: block; color: var(--muted); }
.dashboard-mini-stats span { font-size: 11px; }
.dashboard-mini-stats strong { display: block; margin: 12px 0 7px; overflow: hidden; font-size: 23px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-mini-stats small { line-height: 1.5; font-size: 10px; }
.dashboard-section { margin-top: 20px; }
.dashboard-section-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.dashboard-section-title h2 { margin: 0 0 4px; font-size: 18px; }
.dashboard-section-title span { color: var(--muted); font-size: 11px; }
.dashboard-shortcuts { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.dashboard-shortcut { display: grid; grid-template-columns: 48px 1fr; grid-template-rows: auto auto; align-items: center; column-gap: 12px; min-height: 100px; padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: #fff; color: var(--ink); text-align: left; box-shadow: 0 6px 18px #416f9d0c; transition: transform .15s ease,box-shadow .15s ease,border-color .15s ease; }
.dashboard-shortcut:hover { transform: translateY(-3px); border-color: #aec7e3; box-shadow: 0 12px 25px #416f9d1c; }
.dashboard-shortcut i { grid-row: 1/3; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; color: #fff; background: var(--blue); font-size: 23px; font-style: normal; }
.dashboard-shortcut strong { align-self: end; font-size: 14px; }
.dashboard-shortcut span { align-self: start; margin-top: 5px; color: var(--muted); font-size: 10px; }
.dashboard-shortcut.coral i { background: linear-gradient(135deg,#83a9d6,#6e9cd0); }
.dashboard-shortcut.green i { background: linear-gradient(135deg,#34d399,#0e9f6e); }
.dashboard-shortcut.orange i { background: linear-gradient(135deg,#fb923c,#ea580c); }
.dashboard-shortcut.violet i { background: linear-gradient(135deg,#a78bfa,#7c3aed); }
.dashboard-shortcut.navy i { background: linear-gradient(135deg,#7ca4d5,#416f9d); }
.dashboard-shortcut.gold i { background: linear-gradient(135deg,#fbbf24,#d97706); }
.dashboard-shortcut.teal i { background: linear-gradient(135deg,#2dd4bf,#0f766e); }
.dashboard-expiry-section { padding: 18px; border: 1px solid #fed7aa; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px #9a34120c; }
.dashboard-expiry-summary { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.dashboard-expiry-summary span { padding: 7px 11px; border-radius: 9px; font-size: 11px; }
.dashboard-expiry-summary .expired { color: #991b1b; background: #fee2e2; }
.dashboard-expiry-summary .urgent { color: #9a3412; background: #ffedd5; }
.dashboard-expiry-summary .near { color: #854d0e; background: #fef9c3; }
.dashboard-expiry-list { display: grid; gap: 8px; }
.dashboard-expiry-item { display: grid; grid-template-columns: 42px minmax(190px,1.5fr) minmax(125px,.75fr) minmax(90px,.55fr) minmax(145px,.8fr); align-items: center; gap: 12px; width: 100%; padding: 13px 15px; border: 1px solid transparent; border-left-width: 6px; border-radius: 12px; color: var(--ink); text-align: left; }
.dashboard-expiry-item.expired { border-color: #f87171; background: #ffe5e5; }
.dashboard-expiry-item.today { border-color: #ef4444; background: #fff0f0; box-shadow: 0 0 0 3px #fecaca66; }
.dashboard-expiry-item.urgent { border-color: #fb923c; background: #fff0df; }
.dashboard-expiry-item.near { border-color: #eab308; background: #fffbea; }
.dashboard-expiry-item:hover { filter: brightness(.985); transform: translateX(2px); }
.dashboard-expiry-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: #ffffffad; font-size: 19px; }
.dashboard-expiry-item span > small, .dashboard-expiry-product small { display: block; margin-bottom: 4px; color: #7c5960; font-size: 10px; }
.dashboard-expiry-product strong { display: block; margin-bottom: 4px; font-size: 13px; }
.dashboard-expiry-status { justify-self: end; padding: 7px 10px; border-radius: 999px; color: #9a3412; background: #fff; font-size: 11px; font-weight: 800; white-space: nowrap; }
.dashboard-expiry-item.expired .dashboard-expiry-status, .dashboard-expiry-item.today .dashboard-expiry-status { color: #b91c1c; }
.dashboard-expiry-empty { padding: 30px; border-radius: 12px; color: #166534; background: #ecfdf3; text-align: center; }
.dashboard-lower { margin-top: 20px; }

.humane-dashboard { max-width: 1500px; margin: 0 auto; }
.today-hero { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 22px; align-items: stretch; padding: 28px; border: 1px solid #cfe0f0; border-radius: 22px; background: linear-gradient(135deg,#f9fcff 0%,#e9f3fd 100%); box-shadow: 0 12px 32px #416f9d12; }
.today-hero > div:first-child > span { color: var(--blue); font-size: 13px; font-weight: 800; }
.today-hero h2 { margin: 9px 0 7px; font-size: 28px; }
.today-hero p { margin: 0; color: var(--muted); line-height: 1.7; }
.today-sales { padding: 20px 22px; border-radius: 17px; color: #fff; background: linear-gradient(135deg,#6e9cd0,#5887bf); display: flex; flex-direction: column; justify-content: center; }
.today-sales span,.today-sales small { opacity: .9; }
.today-sales strong { margin: 9px 0 7px; font-size: 30px; }
.today-task-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 11px; }
.today-task { min-height: 112px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink); display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; align-items: start; text-align: left; }
.today-task:hover { transform: translateY(-2px); box-shadow: 0 9px 22px #416f9d18; }
.today-task i { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); font-style: normal; font-weight: 800; }
.today-task span { display: grid; gap: 6px; }
.today-task small { color: var(--muted); line-height: 1.45; }
.today-task b { min-width: 30px; height: 30px; padding: 0 8px; border-radius: 999px; display: grid; place-items: center; color: #fff; background: var(--blue); }
.today-task.clear { opacity: .68; }
.today-task.clear b { background: var(--green); }
.today-task.danger.has-task { border-color: #f5a3a3; background: #fff2f2; }
.today-task.danger.has-task b,.today-task.danger.has-task i { color: #fff; background: #dc2626; }
.today-task.warning.has-task { border-color: #fdba74; background: #fff8ed; }
.today-task.warning.has-task b,.today-task.warning.has-task i { color: #fff; background: #ea580c; }
.today-task.violet.has-task b,.today-task.violet.has-task i { color: #fff; background: #7c3aed; }
.today-task.green.has-task b,.today-task.green.has-task i { color: #fff; background: var(--green); }
.work-entry-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.work-entry { min-height: 128px; padding: 19px; border: 1px solid var(--line); border-radius: 17px; background: #fff; color: var(--ink); display: grid; grid-template-columns: 46px 1fr auto; grid-template-rows: auto auto; gap: 5px 13px; align-items: center; text-align: left; }
.work-entry:hover { border-color: var(--blue-light); box-shadow: 0 10px 25px #416f9d18; }
.work-entry i { grid-column: 1; grid-row: 1/3; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; color: #fff; background: var(--blue); font-style: normal; font-weight: 800; }
.work-entry strong { grid-column: 2; grid-row: 1; align-self: end; }
.work-entry span { grid-column: 2; grid-row: 2; align-self: start; color: var(--muted); font-size: 12px; }
.work-entry b { grid-column: 3; grid-row: 1/3; align-self: center; color: var(--blue); font-size: 12px; }
.workspace-entry-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.workspace-entry { min-height: 104px; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: #fff; color: var(--ink); display: grid; grid-template-columns: 44px minmax(0,1fr); grid-template-rows: 1fr auto; gap: 8px 12px; text-align: left; transition: transform .15s,box-shadow .15s,border-color .15s; }
.workspace-entry:hover { transform: translateY(-2px); border-color: var(--blue-light); box-shadow: 0 10px 24px #416f9d18; }
.workspace-entry i { grid-row: 1/3; width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; color: #fff; background: var(--blue); font-size: 17px; font-style: normal; font-weight: 900; }
.workspace-entry span { min-width: 0; display: grid; gap: 5px; }
.workspace-entry strong { font-size: 14px; }
.workspace-entry small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.workspace-entry b { color: var(--blue); font-size: 11px; }
.workspace-entry.workspace-warehouse i { background: #0e9f6e; }
.workspace-entry.workspace-coupang i { background: #e48213; }
.workspace-entry.workspace-groupbuy i { background: #7c3aed; }
.workspace-entry.workspace-storefront i { background: #2563a9; }
.workspace-dashboard.workspace-warehouse .today-hero { border-color: #b9e5d5; background: linear-gradient(135deg,#fbfffd,#eafaf4); }
.workspace-dashboard.workspace-warehouse .today-hero > div:first-child > span { color: #087a55; }
.workspace-dashboard.workspace-coupang .today-hero { border-color: #f5d39f; background: linear-gradient(135deg,#fffefa,#fff4df); }
.workspace-dashboard.workspace-coupang .today-hero > div:first-child > span { color: #b15c06; }
.workspace-dashboard.workspace-groupbuy .today-hero { border-color: #d8cdf4; background: linear-gradient(135deg,#fdfcff,#f4f0ff); }
.workspace-dashboard.workspace-groupbuy .today-hero > div:first-child > span { color: #6d35bf; }
.channel-rule-card { padding: 19px 22px; border: 1px solid #a7d8c7; border-radius: 16px; background: #f0fdf8; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.channel-rule-card div { display: grid; gap: 5px; }
.channel-rule-card span { color: #477466; font-size: 12px; }
.guided-center { max-width: 1100px; margin: 0 auto; }
.guided-intro { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 24px; padding: 28px; border: 1px solid #cfe0f0; border-radius: 20px; background: linear-gradient(135deg,#f9fcff,#eaf4fd); }
.guided-intro > div > span { color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.guided-intro h2 { margin: 8px 0; font-size: 27px; }
.guided-intro p { margin: 0; color: var(--muted); line-height: 1.7; }
.guided-intro aside { padding: 18px; border-radius: 14px; color: #31577c; background: #fff; display: grid; align-content: center; gap: 7px; }
.guided-intro aside span { font-size: 12px; line-height: 1.55; }
.guided-intro.orange { border-color: #fed7aa; background: linear-gradient(135deg,#fffdf9,#fff4e7); }
.guided-intro.orange aside { color: #9a4c13; }
.guided-steps { margin-top: 18px; display: grid; gap: 10px; }
.guided-step { min-height: 86px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 15px; background: #fff; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 14px; align-items: center; }
.guided-step > i { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); font-style: normal; font-weight: 800; }
.guided-step.active { border-color: var(--blue-light); box-shadow: 0 8px 20px #416f9d10; }
.guided-step.active > i { color: #fff; background: var(--blue); }
.guided-step > div { display: grid; gap: 5px; }
.guided-step span { color: var(--muted); font-size: 12px; }
.guided-step > b { color: var(--green); font-size: 12px; }
.guided-help { margin-top: 18px; padding: 17px 20px; border-radius: 14px; background: #eaf3fc; display: flex; gap: 11px; align-items: center; }
.guided-help span { flex: 1; color: var(--muted); font-size: 12px; }

@media (max-width:1200px) { .today-task-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .workspace-entry-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
  .today-hero,.guided-intro { grid-template-columns: 1fr; padding: 20px; }
  .today-hero h2,.guided-intro h2 { font-size: 22px; }
  .today-task-grid,.work-entry-grid,.workspace-entry-grid { grid-template-columns: 1fr; }
  .today-task { min-height: 94px; }
  .work-entry { min-height: 108px; }
  .channel-rule-card,.guided-help { align-items: stretch; flex-direction: column; }
  .guided-step { grid-template-columns: 38px minmax(0,1fr); }
  .guided-step > button,.guided-step > b { grid-column: 2; justify-self: start; }
}

.toolbar { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.search { flex: 1; max-width: 420px; border: 1px solid var(--line); border-radius: 11px; background: #fff; padding: 11px 13px; outline: none; }
.search:focus { border-color: var(--blue-light); box-shadow: 0 0 0 3px #6e9cd026; }
.btn { border: 1px solid var(--line); border-radius: 10px; padding: 10px 15px; background: #fff; color: var(--ink); }
.btn.primary { background: var(--blue); border-color: var(--blue); color: #fff; }
.btn.danger { color: var(--red); }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th { text-align: left; padding: 12px; color: var(--muted); font-size: 12px; font-weight: 600; border-bottom: 1px solid var(--line); }
td { padding: 15px 12px; border-bottom: 1px solid var(--line); font-size: 13px; }
tr:last-child td { border-bottom: 0; }
.product-cell { display: flex; align-items: center; gap: 11px; }
.product-thumb { width: 38px; height: 38px; border-radius: 10px; background: linear-gradient(135deg,#dbeafe,#f3f7ff); display: grid; place-items: center; }
.product-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.product-table { padding: 0; }
.product-table table { min-width: 1120px; }
.product-table th[data-column] { cursor: grab; user-select: none; white-space: nowrap; transition: background .15s, opacity .15s; }
.product-table th[data-column] > span { display: inline-flex; align-items: center; gap: 3px; }
.product-table th[data-column].sorted { color: var(--blue); background: var(--blue-soft); }
.product-table th[data-column].dragging { opacity: .35; }
.product-table th[data-column].drag-over { box-shadow: inset 3px 0 var(--blue); background: #f0f5fb; }
.product-table th.pinned-column { cursor: default; background: #f8fafc; }
.product-management { background: linear-gradient(180deg,#f1f6fb 0,#f3f7fb 430px); min-height: calc(100vh - 76px); }
.product-manage-toolbar { align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 5px 18px #416f9d0c; }
.product-manage-toolbar > div { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.view-switch { display: inline-flex; padding: 3px; border: 1px solid var(--line); border-radius: 11px; background: #f8fafc; }
.view-switch .btn { border: 0; padding: 7px 10px; background: transparent; color: var(--muted); }
.view-switch .btn.active { color: var(--blue); background: #fff; box-shadow: 0 2px 8px #17203314; }
.manage-category-row { display: flex; flex-wrap: wrap; gap: 9px; margin: 16px 0 20px; }
.manage-category-chip { border: 1px solid #d9e5f1; border-radius: 999px; padding: 9px 14px; background: #fff; color: #64758a; }
.manage-category-chip span { margin-left: 3px; color: #9aa3b2; font-size: 11px; }
.manage-category-chip.active { border-color: #6e9cd0; color: #fff; background: linear-gradient(135deg,#7ca4d5,#6e9cd0); box-shadow: 0 5px 12px #5887bf2b; text-shadow: 0 1px 2px #416f9d55; }
.manage-category-chip.active span { color: #fff; }
.manage-category-chip.pending-priority { color: #b91c1c; border: 2px solid #ef4444; background: #fff1f2; font-weight: 900; box-shadow: 0 0 0 3px rgba(239,68,68,.08); }
.manage-category-chip.pending-priority.active { color: #fff; border-color: #dc2626; background: #dc2626; }
.manage-category-chip.image-priority { color:#8a4b08; border:2px solid #f59e0b; background:#fffbeb; font-weight:900; box-shadow:0 0 0 3px rgba(245,158,11,.08); }
.manage-category-chip.image-priority.active { color:#fff; border-color:#d97706; background:#d97706; }
.inventory-discrepancy-panel { padding: 20px; border: 2px solid #fed7aa; background: linear-gradient(180deg,#fffaf5,#fff); }
.discrepancy-open-count { color: #b45309; padding: 7px 11px; border-radius: 999px; background: #ffedd5; }
.inventory-discrepancy-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 16px 0 12px; }
.inventory-discrepancy-stats > div { display: grid; gap: 5px; padding: 13px; border-radius: 12px; border: 1px solid var(--line); background: #f8fafc; }
.inventory-discrepancy-stats span { color: var(--muted); font-size: 12px; }
.inventory-discrepancy-stats strong { font-size: 21px; }
.inventory-discrepancy-stats .danger { color: #b91c1c; border-color: #fecaca; background: #fff1f2; }
.inventory-discrepancy-stats .warning { color: #9a3412; border-color: #fed7aa; background: #fff7ed; }
.inventory-discrepancy-stats .resolved { color: #166534; border-color: #bbf7d0; background: #f0fdf4; }
.discrepancy-filters { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 12px; }
.inventory-discrepancy-table { min-width: 1180px; }
.inventory-discrepancy-table tr.discrepancy-pending { background: #fff7f7; }
.inventory-discrepancy-table tr.discrepancy-action_required { background: #fffaf0; }
.inventory-discrepancy-table td > small { display: block; margin-top: 4px; color: var(--muted); }
.discrepancy-product { display: flex; align-items: center; gap: 9px; }
.discrepancy-product > div { display: grid; gap: 3px; }
.discrepancy-case-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; margin: 16px 0; }
.discrepancy-case-summary > div { display: grid; gap: 5px; padding: 12px; border-radius: 11px; background: #f8fafc; }
.discrepancy-case-summary .wide { grid-column: 1 / -1; }
.discrepancy-case-summary span { color: var(--muted); font-size: 12px; }
.discrepancy-case-summary strong { font-size: 16px; }
.inventory-discrepancy-modal { width: min(720px,100%); }
.product-work-hint { display:flex; align-items:center; gap:12px; margin:0 0 12px; padding:11px 14px; border:1px solid; border-radius:12px; font-size:12px; }
.product-work-hint strong { flex:none; font-size:13px; }
.product-work-hint.pending-data { color:#9a3412; border-color:#fdba74; background:#fff7ed; }
.product-work-hint.pending-image { color:#854d0e; border-color:#fcd34d; background:#fffbeb; }
.manage-product-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(176px,1fr)); align-items:stretch; gap:10px; }
.manage-product-card { display:flex; flex-direction:column; min-width:0; height:100%; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:0 3px 12px #416f9d0b; transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease; }
.manage-product-card:hover { transform: translateY(-3px); border-color: #aec7e3; box-shadow: 0 12px 26px #416f9d1c; }
.manage-product-card.danger { border-color: #fca5a5; }
.manage-product-card.warning { border-color: #fdba74; }
.manage-product-card.missing-image { border-bottom-color:#fcd34d; }
.manage-product-image { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 1/1; overflow: hidden; background: linear-gradient(135deg,#edf4fb,#f8fafd); }
.manage-product-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.manage-product-image img[loading="lazy"], .product-thumb img[loading="lazy"] { background: linear-gradient(135deg,#edf4fb,#f8fafd); }
.manage-product-image > span:not(.manage-category-tag):not(.manage-image-missing-tag) { font-size:44px; filter:drop-shadow(0 6px 7px #17203318); }
.product-pagination { margin: 18px 0 6px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.product-pagination > span { margin-right: auto; color: var(--muted); }
.product-pagination label { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); }
.product-pagination select { min-width: 88px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.manage-category-tag { position:absolute; left:8px; top:8px; max-width:calc(100% - 16px); overflow:hidden; padding:4px 7px; border-radius:999px; color:#475569; background:#ffffffdc; font-size:9px; text-overflow:ellipsis; white-space:nowrap; box-shadow:0 2px 8px #17203312; }
.manage-image-missing-tag { position:absolute; right:8px; bottom:8px; padding:4px 7px; border:1px solid #f59e0b; border-radius:999px; color:#92400e; background:#fffbebeb; font-size:9px; font-weight:900; }
.manage-product-body { display:flex; flex:1; flex-direction:column; padding:10px 10px 7px; }
.manage-product-title { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.manage-product-title > strong { min-width:0; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.manage-product-body > small { display:block; margin-top:5px; overflow:hidden; color:#9aa3b2; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.manage-status { flex:none; padding:3px 6px; border-radius:999px; font-size:8px; font-weight:800; }
.manage-status.online { color: #067647; background: #dcfae9; }
.manage-status.warning { color: #9a3412; background: #ffedd5; }
.manage-status.danger { color: #b91c1c; background: #fee2e2; }
.manage-status.offline { color: #64748b; background: #e2e8f0; }
.manage-missing-fields { display:flex; align-items:center; gap:3px; margin-top:6px; overflow:hidden; }
.manage-missing-fields span,.manage-missing-fields b { flex:none; padding:2px 5px; border-radius:999px; color:#9a3412; background:#ffedd5; font-size:8px; font-weight:800; }
.manage-missing-fields b { color:#64748b; background:#f1f5f9; }
.manage-price { margin-top:8px; color:#ef6f6c; font-size:17px; font-weight:800; }
.manage-product-meta { display:flex; gap:10px; margin-top:auto; padding-top:8px; color:var(--muted); font-size:10px; }
.manage-product-meta strong { color: var(--ink); }
.manage-expiry { width:100%; margin-top:7px; overflow:hidden; padding:6px 7px; border:1px solid var(--line); border-radius:7px; background:#f8fafc; color:#64748b; font-size:9px; text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.manage-expiry.near { border-color: #fb923c; color: #9a3412; background: #fff7ed; }
.manage-expiry.today, .manage-expiry.expired { border-color: #ef4444; color: #b91c1c; background: #fff1f2; }
.manage-product-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; padding:7px 8px 9px; border-top:1px solid #f0f1f3; }
.manage-product-actions .btn { width:100%; padding:5px 3px; border-radius:6px; font-size:9px; white-space:nowrap; }
.product-completion-notice { display:grid; gap:9px; margin:15px 0; padding:13px 15px; border:2px solid #fb923c; border-radius:13px; color:#9a3412; background:#fff7ed; }
.product-completion-notice > div:first-child { display:grid; gap:3px; }
.product-completion-notice span { font-size:12px; }
.product-completion-chips { display:flex; flex-wrap:wrap; gap:6px; }
.product-completion-chips > span { padding:5px 8px; border-radius:999px; color:#9a3412; background:#ffedd5; font-weight:800; }
.product-completion-chips > span.image-missing { color:#854d0e; background:#fef3c7; }
.manage-card-empty { grid-column: 1/-1; }
.drag-handle { float: right; margin-left: 10px; color: #a5b0c1; font-style: normal; letter-spacing: -2px; }
.pin-mark { float: right; margin-left: 9px; color: #8b96a8; font-size: 10px; font-style: normal; font-weight: 500; }
.pin-mark::after { content: "固定"; }
.column-help { margin: -5px 0 12px; color: var(--muted); font-size: 12px; }
.table-actions { display: flex; gap: 6px; white-space: nowrap; }
.btn.compact { padding: 6px 9px; border-radius: 8px; font-size: 12px; }
.date-link { border: 0; background: transparent; color: inherit; padding: 0; text-align: left; }
.date-link .expiry-pill { display: flex; width: max-content; }
.batch-count { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; white-space: nowrap; }
.batch-button { color: #1d4ed8; background: #eef4ff; border-color: #c9d8ff; }
.muted, .form-hint { color: var(--muted); }
.form-hint { margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: #f6f8fb; font-size: 12px; }
.column-settings-modal { width: min(560px,100%); }
.column-picker-actions { display: flex; gap: 8px; margin-bottom: 12px; }
.column-picker-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.column-picker-item { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: #fbfcfe; cursor: pointer; }
.column-picker-item:hover { border-color: #b7caff; background: var(--blue-soft); }
.column-picker-item input { width: 17px; height: 17px; accent-color: var(--blue); }
.column-picker-item span { font-size: 14px; }
.purchase-backdrop { align-items: start; overflow: auto; }
.purchase-editor { width: min(1380px,100%); margin: 20px auto; max-height: calc(100vh - 40px); overflow: auto; }
.purchase-head-grid { display: grid; grid-template-columns: 1.2fr 1fr 1.4fr .8fr; gap: 12px; }
.inline-check { min-height: 42px; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink)!important; font-size: 14px!important; }
.inline-check input { width: auto; }
.purchase-import-bar { display: flex; align-items: center; gap: 9px; padding: 12px; margin: 8px 0 14px; border-radius: 12px; background: #eef4ff; }
.purchase-import-bar span { color: var(--muted); font-size: 12px; }
.purchase-entry-table { border: 1px solid var(--line); border-radius: 12px; }
.purchase-entry-table table { min-width: 1180px; }
.purchase-entry-table th { background: #f8fafc; position: sticky; top: 0; z-index: 2; }
.purchase-entry-table td { padding: 8px; vertical-align: middle; }
.purchase-entry-table input { width: 100%; min-width: 92px; border: 1px solid var(--line); border-radius: 8px; padding: 9px; }
.purchase-entry-table input:focus { outline: none; border-color: #78a1ff; box-shadow: 0 0 0 3px #dbe8ff; }
.purchase-entry-table td:nth-child(2) input { min-width: 155px; }
.purchase-entry-table td:nth-child(6) input { min-width: 145px; }
.purchase-entry-table td:nth-child(7) input { min-width: 140px; }
.purchase-entry-table td:nth-child(3) small { display: block; margin-top: 4px; color: var(--muted); }
.purchase-entry-table tr.row-error td { background: #fff4f4; }
.missing-product { display: inline-block; color: #b91c1c; font-weight: 700; margin-right: 6px; }
.purchase-editor-foot { display: flex; align-items: center; justify-content: space-between; padding: 14px 2px 0; }
.purchase-editor-foot > div { display: flex; align-items: baseline; gap: 12px; }
.purchase-editor-foot span { color: var(--muted); }
.purchase-editor-foot strong { font-size: 22px; color: var(--blue); }
.locked-note { color: var(--muted); font-size: 12px; padding: 6px 8px; }
.purchase-detail { width: min(1050px,100%); }
.detail-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 16px; }
.detail-summary > div { padding: 13px; border-radius: 11px; background: #f6f8fb; }
.detail-summary span { display: block; color: var(--muted); font-size: 11px; margin-bottom: 5px; }
.detail-summary strong { font-size: 14px; }
.badge { display: inline-block; padding: 4px 8px; border-radius: 999px; font-size: 11px; background: #eaf8f2; color: var(--green); }
.badge.low { background: #fff4e2; color: #b96a00; }

.pos-layout { display: grid; grid-template-columns: 1fr 390px; gap: 18px; min-height: calc(100vh - 145px); }
.catalog { display: flex; flex-direction: column; }
.category-row { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.chip { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 8px 12px; color: var(--muted); }
.chip.active { color: var(--blue); border-color: #bcd0ff; background: var(--blue-soft); }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(155px,1fr)); gap: 12px; }
.product-card { border: 1px solid var(--line); border-radius: 14px; background: #fff; padding: 14px; text-align: left; min-height: 145px; transition: .15s ease; }
.product-card:hover { transform: translateY(-2px); border-color: #b7caff; box-shadow: 0 8px 18px #1f4a9b12; }
.product-card.blocked-card, .product-card.blocked-card:hover { cursor: not-allowed; border: 2px solid #ef4444; background: #fff2f2; transform: none; box-shadow: none; opacity: .82; }
.product-card .emoji { font-size: 28px; }
.product-card .product-image { width: 100%; height: 74px; border-radius: 10px; object-fit: cover; background: #f4f6fa; }
.product-card strong { display: block; margin-top: 18px; }
.product-card small { color: var(--muted); }
.product-card .price { display: flex; justify-content: space-between; margin-top: 10px; color: var(--blue); font-weight: 700; }
.cart { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.cart-head { padding: 20px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; }
.cart-list { padding: 10px 20px; flex: 1; overflow: auto; }
.empty { color: var(--muted); text-align: center; padding: 80px 20px; }
.cart-item { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.cart-item small { color: var(--muted); }
.qty { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.qty button { width: 26px; height: 26px; border-radius: 8px; border: 1px solid var(--line); background: #fff; }
.cart-total { padding: 18px 20px; border-top: 1px solid var(--line); background: #fbfcfe; }
.total-line { display: flex; justify-content: space-between; margin: 7px 0; color: var(--muted); }
.grand { color: var(--ink); font-size: 22px; font-weight: 750; margin: 13px 0; }
.checkout { width: 100%; border: 0; border-radius: 12px; background: var(--blue); color: #fff; padding: 14px; font-weight: 700; }
.checkout:disabled { background: #b8c4d8; cursor: not-allowed; }
.pos-register-page { padding: 20px; background: #f0f5fa; min-height: calc(100vh - 76px); }
.pos-quick-bar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 11px 14px; margin: 10px 0; border-radius: 13px; background: #fff; border: 1px solid var(--line); }
.pos-quick-bar > strong { margin-right: 4px; font-size: 13px; }
.cash-calculator { margin: 14px 16px; padding: 14px; border-radius: 14px; background: #f8fafc; border: 1px solid var(--line); }
.cash-calculator label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.cash-calculator input { width: 100%; padding: 12px; border: 2px solid #cbd5e1; border-radius: 10px; font-size: 20px; font-weight: 800; text-align: right; }
.cash-quick { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin: 8px 0; }
.cash-quick button { border: 1px solid #cbd5e1; background: #fff; border-radius: 8px; padding: 7px 3px; }
.change-display { display: flex; justify-content: space-between; align-items: center; border-radius: 10px; padding: 10px 12px; }
.change-display.ready { background: #dcfce7; color: #166534; }
.change-display.short { background: #fee2e2; color: #991b1b; }
.change-display strong { font-size: 22px; }
.pos-sale-row.expired-override { background: #fff1f2; }
.expiry-override-confirm { margin: 18px 0; padding: 14px; border: 1px solid #fecaca; border-radius: 12px; background: #fff7f7; }
.pos-expiry-tasks { margin-top: 18px; padding: 20px; }
.pos-task-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 14px; }
.pos-task-card { display: flex; justify-content: space-between; gap: 12px; align-items: center; border: 1px solid #fed7aa; background: #fff7ed; border-radius: 13px; padding: 13px; }
.pos-task-card.danger { border-color: #fecaca; background: #fff1f2; }
.pos-task-card div { display: grid; gap: 3px; }
.pos-task-card span,.pos-task-card small { color: var(--muted); }
.invoice-compliance-note { display: grid; gap: 5px; padding: 13px; margin: 15px 0; border: 1px solid #f59e0b; border-radius: 12px; background: #fffbeb; }
.invoice-compliance-note span { color: #92400e; font-size: 13px; }
.receipt-summary { display: grid; grid-template-columns: repeat(5,1fr); gap: 9px; }
.receipt-summary > div { display: grid; gap: 5px; padding: 12px; border-radius: 11px; background: #f8fafc; }
.receipt-summary span { color: var(--muted); font-size: 12px; }
.receipt-summary strong { font-size: 17px; }
.inline-status { display: inline-flex; margin-left: 8px; vertical-align: middle; }
.pos-receipt-modal { width: min(820px,100%); }
.pos-register-layout { display: grid; grid-template-columns: minmax(0,1fr) 370px; gap: 16px; min-height: calc(100vh - 116px); }
.pos-register-main { display: flex; min-width: 0; flex-direction: column; gap: 14px; }
.pos-scan-panel { display: grid; grid-template-columns: auto minmax(170px,.6fr) minmax(250px,1.2fr) auto auto; align-items: center; gap: 12px; padding: 15px 17px; border: 2px solid var(--blue-bright); border-radius: 14px; background: #fff; box-shadow: 0 7px 20px #416f9d1c; }
.scan-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; color: #fff; background: var(--blue); font-size: 22px; }
.pos-scan-panel label, .pos-scan-panel span { display: block; }
.pos-scan-panel label { font-weight: 800; }
.pos-scan-panel span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.pos-scan-panel input { width: 100%; padding: 13px 15px; border: 2px solid #c7d8e9; border-radius: 10px; outline: none; font-size: 17px; font-weight: 700; letter-spacing: .04em; }
.pos-scan-panel input:focus { border-color: var(--blue); box-shadow: 0 0 0 4px #6e9cd026; }
.camera-scan-button { white-space: nowrap; border-color: #6e9cd0; color: #315f91; background: #eef6ff; font-weight: 800; }
.camera-scan-button:hover { border-color: var(--blue); color: #fff; background: var(--blue); }
.pos-sale-lines { min-height: 560px; padding: 0; overflow: hidden; }
.pos-sale-head { display: flex; align-items: center; justify-content: space-between; padding: 17px 19px; border-bottom: 1px solid var(--line); }
.pos-sale-head h2 { margin: 0 0 3px; font-size: 17px; }
.pos-sale-head span { color: var(--muted); font-size: 11px; }
.pos-sale-lines table { min-width: 940px; }
.pos-sale-lines thead th { position: sticky; top: 0; z-index: 2; background: #f8fafc; }
.pos-sale-lines td { padding-top: 12px; padding-bottom: 12px; }
.pos-sale-row.near td { background: #fffaf0; }
.pos-sale-row.today td { background: #fff1f1; }
.pos-line-product { display: flex; align-items: center; gap: 10px; min-width: 190px; }
.pos-line-product > img, .pos-line-product > span { flex: none; width: 42px; height: 42px; border-radius: 9px; }
.pos-line-product > img { object-fit: cover; }
.pos-line-product > span { display: grid; place-items: center; background: #f1f5f9; font-size: 22px; }
.pos-line-product small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.pos-line-qty { display: grid; grid-template-columns: 28px 48px 28px; align-items: center; gap: 5px; }
.pos-line-qty button { height: 29px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.pos-line-qty input { width: 48px; height: 29px; border: 1px solid var(--line); border-radius: 7px; text-align: center; }
.pos-line-total { color: #0f4fbd; white-space: nowrap; }
.pos-expiry-alert { display: inline-block; padding: 5px 8px; border-radius: 8px; color: #9a3412; background: #ffedd5; font-size: 11px; font-weight: 700; white-space: nowrap; }
.pos-expiry-alert.today { color: #b91c1c; background: #fee2e2; }
.pos-expiry-alert small { display: block; margin-top: 2px; }
.pos-normal { color: #15803d; font-size: 11px; }
.pos-empty-sale { height: 390px; text-align: center; color: var(--muted); }
.pos-empty-sale strong, .pos-empty-sale span { display: block; }
.pos-empty-sale strong { color: #475569; font-size: 18px; }
.pos-empty-sale span { margin-top: 8px; font-size: 12px; }
.pos-payment-panel { display: flex; min-width: 0; flex-direction: column; padding: 0; overflow: hidden; }
.pos-payment-head { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 18px; border-bottom: 1px solid var(--line); }
.pos-payment-head span, .pos-payment-head strong { display: block; }
.pos-payment-head span { color: var(--muted); font-size: 11px; }
.pos-payment-head strong { margin-top: 3px; }
.pos-member-info { display: flex; justify-content: space-between; padding: 12px 18px; color: var(--blue); background: #f0f5fb; font-size: 12px; }
.pos-payment-totals { padding: 18px; border-bottom: 1px solid var(--line); }
.pos-payment-totals > div { display: flex; justify-content: space-between; margin: 9px 0; color: var(--muted); }
.pos-payment-totals .grand { padding-top: 14px; margin-top: 14px; border-top: 1px dashed #cbd5e1; color: var(--ink); }
.pos-payment-totals .grand strong { color: var(--blue); font-size: 29px; }
.pos-payment-panel .expiry-warning { margin: 0 16px 14px; }
.pos-payment-methods { display: flex; flex-wrap: wrap; gap: 7px; padding: 17px 18px; margin-top: auto; border-top: 1px solid var(--line); }
.pos-tax-id-field { display: grid; grid-column: 1 / -1; gap: 5px; margin-top: 2px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.pos-tax-id-field label { font-size: 12px; font-weight: 800; color: #334155; }
.pos-tax-id-field input { width: 100%; padding: 10px 12px; border: 2px solid #cbd5e1; border-radius: 9px; font-size: 18px; font-weight: 800; letter-spacing: .12em; }
.pos-tax-id-field input:focus { border-color: var(--blue); outline: none; }
.pos-tax-id-field input.invalid { border-color: #ef4444; background: #fff1f2; }
.pos-tax-id-field small { color: var(--muted); }
.pos-tax-id-field small.invalid { color: #b91c1c; font-weight: 700; }
.pos-payment-methods > span { flex-basis: 100%; margin-bottom: 3px; color: var(--muted); font-size: 11px; }
.pos-payment-methods .chip { flex: 1 1 86px; padding: 9px 8px; }
.pos-payment-panel .checkout { display: flex; align-items: center; justify-content: space-between; width: auto; margin: 0 18px; font-size: 15px; }
.pos-payment-panel .checkout strong { font-size: 21px; }
.pos-key-hint { margin: 12px 18px 17px; color: var(--muted); font-size: 10px; text-align: center; }
.sales-order-table { padding: 0; }
.sales-order-table .panel-title { padding: 18px 20px 0; }
.sales-order-table table { min-width: 1160px; }
.invoice-number { color: #1d4ed8; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing: .02em; }
.modal.sales-order-detail { width: min(1180px,calc(100vw - 48px)); max-height: calc(100vh - 48px); overflow: auto; }
.order-detail-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin-bottom: 16px; }
.order-detail-summary > div { padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; }
.order-detail-summary span, .order-detail-summary strong { display: block; }
.order-detail-summary span { margin-bottom: 5px; color: var(--muted); font-size: 10px; }
.order-detail-summary strong { font-size: 13px; }
.order-detail-lines { border: 1px solid var(--line); border-radius: 11px; }
.order-detail-lines table { min-width: 900px; }
.order-batch-chip { display: block; width: max-content; max-width: 280px; padding: 4px 7px; margin: 2px 0; border-radius: 7px; color: #475569; background: #eef2f7; font-size: 10px; }
.order-detail-total { width: min(380px,100%); margin: 15px 0 0 auto; }
.order-detail-total > div { display: flex; justify-content: space-between; padding: 7px 3px; color: var(--muted); }
.order-detail-total .grand { padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink); }
.return-history { display: grid; gap: 5px; padding: 12px; margin-top: 14px; border-radius: 10px; color: #92400e; background: #fffbeb; font-size: 11px; }
.toast { position: fixed; right: 28px; bottom: 28px; background: var(--navy); color: #fff; padding: 13px 17px; border-radius: 11px; box-shadow: 0 10px 32px #0003; z-index: 50; }
.center-alert-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; background: #0f172a7a; }
.center-alert { width: min(430px,100%); padding: 28px; border-radius: 18px; background: #fff; box-shadow: 0 28px 90px #0f172a66; text-align: center; }
.center-alert-icon { width: 52px; height: 52px; margin: 0 auto 14px; border-radius: 50%; display: grid; place-items: center; background: #fee2e2; color: #dc2626; border: 2px solid #fca5a5; font-size: 28px; font-weight: 800; }
.center-alert h3 { margin: 0 0 9px; font-size: 21px; }
.center-alert p { margin: 0 0 22px; color: var(--muted); line-height: 1.7; }
.center-alert .btn { min-width: 130px; }
.field input.input-error { border-color: #dc2626; box-shadow: 0 0 0 3px #fee2e2; }
.connection { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 999px; font-size: 11px; color: var(--muted); background: #eef2f7; }
.connection.online { color: var(--green); background: #eaf8f2; }
.login-page { min-height: 100vh; display: grid; grid-template-columns: 1.1fr .9fr; background: #fff; }
.login-visual { background: linear-gradient(145deg,#416f9d,#6e9cd0 58%,#83a9d6); color: #fff; padding: 64px; display: flex; flex-direction: column; justify-content: space-between; }
.login-visual h1 { font-size: 42px; margin: 18px 0 12px; }
.login-visual p { color: #edf4fb; max-width: 560px; line-height: 1.8; }
.login-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.login-feature { padding: 16px; border: 1px solid #ffffff22; background: #ffffff0d; border-radius: 13px; }
.login-form-wrap { display: grid; place-items: center; padding: 40px; }
.login-card { width: min(420px,100%); }
.login-card h2 { font-size: 28px; margin: 0 0 8px; }
.login-card > p { color: var(--muted); margin-bottom: 28px; }
.field { display: grid; gap: 7px; margin: 14px 0; }
.field label { font-size: 12px; color: var(--muted); }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; outline: none; resize: vertical; }
.field input:focus, .field textarea:focus { border-color: var(--blue-light); box-shadow: 0 0 0 3px #6e9cd026; }
.login-card .btn { width: 100%; margin-top: 10px; padding: 13px; }
.demo-note { margin-top: 18px; padding: 12px; background: #f6f8fb; border-radius: 10px; color: var(--muted); font-size: 12px; }
.modal-backdrop { position: fixed; inset: 0; z-index: 60; background: #0f172a66; display: grid; place-items: center; padding: 24px; }
.modal-backdrop.receiving-case-editor-backdrop{z-index:1200}
.modal-backdrop.camera-scanner-backdrop{z-index:1300}
.modal { width: min(620px,100%); max-height:calc(100vh - 32px); overflow:auto; background: #fff; border-radius: 18px; box-shadow: 0 24px 80px #0f172a55; padding: 24px; }
.camera-scanner-modal { width:min(560px,100%); overflow:hidden; }
.camera-scanner-status { margin:14px 0 11px; padding:10px 12px; border-radius:10px; color:#315f91; background:#eef6ff; font-weight:700; text-align:center; }
.camera-scanner-status.success { color:#166534; background:#ecfdf3; }
.camera-scanner-status.error { color:#991b1b; background:#fff1f2; }
.camera-scanner-viewport { position:relative; width:100%; overflow:hidden; border-radius:16px; aspect-ratio:4/3; background:#08111f; box-shadow:inset 0 0 0 1px #ffffff26; }
.camera-scanner-viewport video { width:100%; height:100%; object-fit:cover; }
.camera-scanner-viewport.square-capture{aspect-ratio:1;max-height:min(52vh,520px);margin-inline:auto}
.camera-scanner-viewport.square-capture .camera-scanner-frame{inset:7%;border-radius:20px}
.camera-scanner-frame { position:absolute; inset:19% 8%; border:3px solid #fff; border-radius:16px; box-shadow:0 0 0 999px #02061755,0 0 18px #6e9cd0; pointer-events:none; }
.camera-scanner-frame::before,.camera-scanner-frame::after { content:''; position:absolute; width:36px; height:36px; border-color:#6e9cd0; }
.camera-scanner-frame::before { left:-5px; top:-5px; border-left:6px solid #6e9cd0; border-top:6px solid #6e9cd0; border-radius:12px 0 0; }
.camera-scanner-frame::after { right:-5px; bottom:-5px; border-right:6px solid #6e9cd0; border-bottom:6px solid #6e9cd0; border-radius:0 0 12px; }
.camera-scanner-frame i { position:absolute; left:6%; right:6%; top:14%; height:2px; border-radius:999px; background:#ff5a67; box-shadow:0 0 10px #ff5a67; animation:camera-scan-line 2s ease-in-out infinite alternate; }
@keyframes camera-scan-line { to { top:84%; } }
.camera-scanner-hint { margin:12px 0 10px; color:var(--muted); font-size:12px; text-align:center; }
.camera-scanner-confirmation{display:grid;gap:8px;margin:10px 0;padding:12px;border:2px solid #34a16e;border-radius:13px;background:#ecfdf3;text-align:center}.camera-scanner-confirmation[hidden]{display:none!important}.camera-scanner-confirmation span{color:#39735a;font-size:12px;font-weight:800}.camera-scanner-confirmation strong{overflow-wrap:anywhere;color:#124b34;font-size:24px;letter-spacing:.04em}.camera-scanner-confirmation>div{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}.camera-scanner-confirmation .btn{min-height:46px}
.camera-scanner-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.camera-scanner-actions .btn { min-height:42px; }
.camera-scanner-actions .btn.active { border-color:#f59e0b; color:#92400e; background:#fffbeb; }
.camera-photo-button { cursor:pointer; }
.camera-scanner-privacy { display:block; margin-top:12px; color:var(--muted); line-height:1.55; text-align:center; }
.camera-capture-button{min-width:210px;font-size:17px}
#product-form { width:min(760px,100%); }
.import-modal { width: min(1220px,calc(100vw - 42px)); max-height: calc(100vh - 42px); overflow: auto; }
.import-file-note { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin: -4px 0 14px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--blue-soft); color: var(--blue); font-size: 12px; }
.import-file-note strong { color: var(--ink); }
.import-file-note span { padding-left: 9px; border-left: 1px solid #b9cfe5; }
.import-error-panel { margin-bottom: 16px; overflow: hidden; border: 2px solid #ef4444; border-radius: 14px; background: #fff7f7; }
.import-error-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 15px; color: #991b1b; background: #fee2e2; }
.import-error-head > div { display: grid; gap: 3px; }
.import-error-head span { font-size: 11px; }
.import-error-table { max-height: 270px; background: #fff; }
.import-error-table table { min-width: 980px; }
.import-error-table th { position: sticky; top: 0; z-index: 1; color: #7f1d1d; background: #fff1f2; }
.import-error-table td { padding-top: 10px; padding-bottom: 10px; vertical-align: top; }
.import-error-table td:first-child,.import-error-table td:nth-child(2) { color: #b91c1c; white-space: nowrap; }
.import-error-table code { display: inline-block; max-width: 260px; padding: 3px 6px; overflow: hidden; border-radius: 6px; background: #f1f5f9; color: #334155; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; text-overflow: ellipsis; white-space: nowrap; }
.import-warning-panel { border-color:#f59e0b; background:#fffbeb; }
.import-warning-panel .import-error-head { color:#92400e; background:#fef3c7; }
.import-warning-panel .import-error-table th { color:#78350f; background:#fffbeb; }
.import-warning-panel .import-error-table td:first-child,.import-warning-panel .import-error-table td:nth-child(2) { color:#92400e; }
.import-preview-table { max-height: 390px; border: 1px solid var(--line); border-radius: 12px; }
.import-preview-table table { min-width: 1120px; }
.import-row-error td { background: #fff1f2; }
.import-row-error td:first-child { box-shadow: inset 4px 0 #ef4444; color: #b91c1c; font-weight: 800; }
.import-row-warning td { background:#fffbeb; }
.import-row-warning td:first-child { box-shadow:inset 4px 0 #f59e0b; color:#92400e; font-weight:800; }
.badge.warning { border-color:#f59e0b; background:#fef3c7; color:#92400e; }
.modal h2 { margin: 0; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; margin-top: 18px; }
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.touch-editor-backdrop{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:24px;background:#10243a99;backdrop-filter:blur(3px)}
.touch-editor-modal{width:min(520px,100%);overflow:hidden;border:1px solid #b7d0e8;border-radius:24px;background:#f8fbff;box-shadow:0 28px 80px #071a2d66}
.touch-editor-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 14px;border-bottom:1px solid #dbe9f5;background:#fff}
.touch-editor-modal>header span{display:block;margin-bottom:4px;color:#4f8fcc;font-size:12px;font-weight:850;letter-spacing:.04em}
.touch-editor-modal>header h2{margin:0;color:#16324d;font-size:24px;line-height:1.25}
.touch-editor-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid #d8e5f0;border-radius:50%;background:#f5f9fd;color:#48647e;font-size:28px;line-height:1;cursor:pointer}
.touch-editor-guide{margin:10px 24px 16px;color:#60788e;font-size:14px;line-height:1.5;text-align:center}
.touch-editor-modal>footer{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;padding:14px 24px 24px;background:#fff}.touch-editor-modal>footer .btn{min-height:52px;font-size:17px}
.touch-date-summary{margin:18px 24px 0;padding:13px;border:1px solid #b8d5ef;border-radius:14px;background:#eaf5ff;color:#174d78;font-size:22px;font-weight:900;letter-spacing:.04em;text-align:center}
.touch-date-wheels{position:relative;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px;margin:0 24px;padding:10px;border:1px solid #d6e6f4;border-radius:18px;background:#fff}
.touch-date-wheels::before{position:absolute;z-index:1;right:10px;left:10px;top:calc(50% - 23px);height:46px;border-top:2px solid #72a9d7;border-bottom:2px solid #72a9d7;border-radius:8px;background:#eaf5ff88;content:"";pointer-events:none}
.touch-date-wheel-wrap{display:grid;grid-template-rows:auto 230px;gap:4px;min-width:0}.touch-date-wheel-wrap>span{color:#7890a6;font-size:12px;font-weight:800;text-align:center}
.touch-date-wheel{height:230px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:thin}.touch-date-wheel::-webkit-scrollbar{width:4px}.touch-date-wheel::-webkit-scrollbar-thumb{border-radius:999px;background:#b9d1e5}
.touch-date-wheel button,.touch-wheel-pad{display:grid;place-items:center;width:100%;height:46px;min-height:46px;margin:0;padding:0;border:0;background:transparent;color:#8093a5;font-size:19px;font-weight:750;scroll-snap-align:center}.touch-date-wheel button{cursor:pointer}.touch-date-wheel button[aria-selected="true"]{color:#174d78;font-size:22px;font-weight:950}
.touch-date-shortcuts{display:flex;justify-content:center;gap:10px;padding:13px 24px 0}.touch-date-shortcuts button,.touch-number-adjust button{min-height:42px;padding:8px 14px;border:1px solid #c9ddeb;border-radius:11px;background:#fff;color:#3d6687;font-size:14px;font-weight:800;cursor:pointer}.touch-date-shortcuts button:disabled{opacity:.45;cursor:not-allowed}
.touch-number-value{display:block;min-height:72px;margin:20px 24px 0;padding:14px 16px;overflow:hidden;border:2px solid #72a9d7;border-radius:15px;background:#fff;color:#133d61;font-size:38px;font-weight:950;line-height:1.1;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.touch-number-adjust{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:0 24px 10px}.touch-number-adjust button:nth-child(2){color:#9a4a4a;background:#fff8f8;border-color:#f0c8c8}
.touch-number-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 24px}.touch-number-keypad button{min-height:58px;border:1px solid #bed6e8;border-radius:13px;background:#fff;color:#173e60;font-size:24px;font-weight:900;cursor:pointer}.touch-number-keypad button:last-child{color:#9b3a3a;background:#fff5f5;border-color:#f1c6c6}
@media(max-width:700px){.touch-editor-backdrop{display:block;padding:0;background:#10243a88}.touch-editor-modal{position:absolute;right:0;bottom:0;left:0;width:100%;max-height:calc(100dvh - env(safe-area-inset-top));border:0;border-radius:24px 24px 0 0}.touch-editor-modal>header{padding:18px 18px 12px}.touch-editor-modal>header h2{font-size:21px}.touch-editor-guide{margin:9px 18px 13px;font-size:13px}.touch-editor-modal>footer{position:sticky;bottom:0;padding:12px 18px max(12px,env(safe-area-inset-bottom));box-shadow:0 -8px 24px #2f58721c}.touch-date-summary{margin:13px 18px 0;font-size:20px}.touch-date-wheels{margin:0 18px}.touch-date-wheel-wrap{grid-template-rows:auto 206px}.touch-date-wheel{height:206px}.touch-number-value{margin:16px 18px 0;font-size:34px}.touch-number-adjust,.touch-number-keypad{margin-right:18px;margin-left:18px}.touch-number-keypad button{min-height:54px}.touch-date-shortcuts{padding-top:11px}}
.expiry-warning { border: 1px solid #f6c76b; background: #fff8e8; color: #8a5700; border-radius: 11px; padding: 11px 12px; font-size: 12px; line-height: 1.55; margin: 10px 0; }
.expiry-warning.danger { border-color: #f3a4a4; background: #fff0f0; color: #a33131; }
.expiry-pill { display: inline-flex; align-items: center; gap: 4px; padding: 5px 9px; border-radius: 999px; background: #ffedd5; color: #9a3412; border: 1px solid #fdba74; font-size: 11px; font-weight: 800; margin-top: 7px; white-space: nowrap; }
.expiry-pill.near { background: #ffedd5; border-color: #fb923c; color: #9a3412; }
.expiry-pill.today { background: #fef3c7; border-color: #f59e0b; color: #92400e; }
.expiry-pill.expired { background: #fee2e2; border-color: #ef4444; color: #b91c1c; }
.expiry-row.near td { background: #fff8ed; }
.expiry-row.today td { background: #fff7d6; }
.expiry-row.expired td { background: #fff0f0; }
.expiry-row.near td:first-child { box-shadow: inset 4px 0 #f97316; }
.expiry-row.today td:first-child { box-shadow: inset 4px 0 #eab308; }
.expiry-row.expired td:first-child { box-shadow: inset 4px 0 #dc2626; }
.expiry-date-cell { padding: 7px 9px; border-radius: 9px; }
.expiry-date-cell.near { color: #9a3412; background: #ffedd5; }
.expiry-date-cell.today { color: #92400e; background: #fef3c7; }
.expiry-date-cell.expired { color: #b91c1c; background: #fee2e2; }
.batch-detail-modal { width: min(1080px,100%); max-height: calc(100vh - 48px); overflow: auto; }
.batch-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 18px 0 10px; }
.batch-summary > div { padding: 14px; border-radius: 12px; background: #f4f7fb; border: 1px solid var(--line); }
.batch-summary span { display: block; color: var(--muted); font-size: 12px; margin-bottom: 5px; }
.batch-summary strong { font-size: 19px; }
.batch-summary .danger-text { background: #fff0f0; border-color: #f3a4a4; }
.batch-summary .danger-text strong { color: #b91c1c; }
.batch-detail-table { max-height: 460px; margin-top: 15px; border: 1px solid var(--line); border-radius: 12px; }
.batch-detail-table table { min-width: 850px; }
.batch-detail-table th { position: sticky; top: 0; z-index: 2; background: #f8fafc; }
.batch-row.expired td { background: #fff0f0; }
.batch-row.today td, .batch-row.near td { background: #fff8ed; }
.batch-row.soldout td { color: #8a94a4; background: #f8fafc; }
.batch-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 11px; font-weight: 750; white-space: nowrap; background: #eaf8f2; color: #18785b; }
.batch-status.expired { background: #fee2e2; color: #b91c1c; border: 1px solid #fca5a5; }
.batch-status.today, .batch-status.near { background: #ffedd5; color: #9a3412; border: 1px solid #fdba74; }
.batch-status.soldout, .batch-status.noexpiry { background: #eef1f5; color: #667085; }
.batch-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; }
.batch-foot span { color: var(--muted); }
.batch-foot strong { color: var(--ink); }
.product-card.expiry-card.near { border: 2px solid #f97316; background: #fff8ed; box-shadow: 0 0 0 3px #fed7aa88; }
.product-card.expiry-card.today { border: 2px solid #eab308; background: #fffbea; box-shadow: 0 0 0 3px #fde68a88; }
.product-card.expiry-card.expired { border: 2px solid #dc2626; background: #fff1f1; box-shadow: 0 0 0 3px #fecaca99; }
.file-preview { width: 82px; height: 82px; border-radius: 12px; object-fit: cover; border: 1px solid var(--line); background: #f4f6fa; }
.modal.purchase-editor { width: min(1380px,calc(100vw - 48px)); }
.modal.purchase-detail { width: min(1050px,calc(100vw - 48px)); }
.purchase-detail-expiry { width: min(1220px,calc(100vw - 48px))!important; max-height: calc(100vh - 48px); overflow: auto; }
.purchase-expiry-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 0 0 14px; }
.purchase-expiry-summary > div { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.purchase-expiry-summary span { color: var(--muted); font-size: 12px; }
.purchase-expiry-summary strong { font-size: 22px; }
.purchase-expiry-summary small { color: var(--muted); }
.purchase-expiry-summary .risk-total { border-left: 4px solid #64748b; }
.purchase-expiry-summary .risk-expired { border-left: 4px solid #dc2626; background: #fff1f1; }
.purchase-expiry-summary .risk-five { border-left: 4px solid #f97316; background: #fff7ed; }
.purchase-expiry-summary .risk-fifteen { border-left: 4px solid #eab308; background: #fffbea; }
.purchase-risk-banner { display: flex; justify-content: space-between; gap: 18px; padding: 12px 14px; margin-bottom: 14px; border: 1px solid #f59e0b; border-radius: 11px; background: #fff8e1; color: #854d0e; }
.purchase-risk-banner span { font-size: 12px; }
.purchase-expiry-row.expired td { background: #fff0f0; }
.purchase-expiry-row.remove td, .purchase-expiry-row.report td { background: #fff4e6; }
.purchase-expiry-row.urgent td { background: #fffbea; }
.purchase-expiry-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; white-space: nowrap; background: #eaf8f2; color: #18785b; }
.purchase-expiry-status.expired { background: #fee2e2; color: #b91c1c; border: 1px solid #f87171; }
.purchase-expiry-status.remove, .purchase-expiry-status.report { background: #ffedd5; color: #9a3412; border: 1px solid #fb923c; }
.purchase-expiry-status.urgent, .purchase-expiry-status.near { background: #fef9c3; color: #854d0e; border: 1px solid #eab308; }

.expiry-management { background: #f5f7fb; min-height: calc(100vh - 76px); }
.expiry-page-head { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 17px; }
.expiry-page-head h2 { margin: 0; font-size: 22px; }
.expiry-page-head p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.expiry-stat-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 11px; margin-bottom: 15px; }
.expiry-stat { min-width: 0; border: 1px solid var(--line); border-left: 4px solid #64748b; border-radius: 12px; padding: 15px; background: #fff; text-align: left; box-shadow: 0 4px 14px #16233b08; }
.expiry-stat span, .expiry-stat small { display: block; color: var(--muted); font-size: 11px; }
.expiry-stat strong { display: block; margin: 7px 0 5px; font-size: 27px; color: var(--ink); }
.expiry-stat:hover { transform: translateY(-1px); box-shadow: 0 8px 20px #16233b12; }
.expiry-stat.action { border-left-color: #475569; }
.expiry-stat.expired { border-left-color: #dc2626; background: #fff4f4; }
.expiry-stat.seven { border-left-color: #f97316; background: #fff7ed; }
.expiry-stat.fifteen { border-left-color: #eab308; background: #fffdeb; }
.expiry-stat.thirty { border-left-color: #f59e0b; background: #fffdf2; }
.expiry-stat.sixty { border-left-color: #3b82f6; background: #eff6ff; }
.mandatory-banner { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 13px 16px; margin-bottom: 15px; border: 1px solid #f87171; border-left: 5px solid #dc2626; border-radius: 12px; background: #fff1f1; }
.mandatory-banner strong, .mandatory-banner span { display: block; }
.mandatory-banner strong { color: #b91c1c; }
.mandatory-banner span { margin-top: 4px; color: #7f1d1d; font-size: 12px; }
.expiry-list-panel { padding: 0; overflow: hidden; }
.expiry-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px; border-bottom: 1px solid var(--line); }
.expiry-filters { display: flex; flex-wrap: wrap; gap: 7px; }
.expiry-filter { border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; background: #fff; color: var(--muted); font-size: 12px; }
.expiry-filter.active { color: #fff; border-color: var(--blue); background: var(--blue); }
.expiry-filter strong { margin-left: 3px; }
.expiry-toolbar .search { width: min(330px,100%); }
.expiry-management-table table { min-width: 1380px; }
.expiry-manage-row td { vertical-align: middle; }
.expiry-manage-row td:nth-child(2) strong, .expiry-manage-row td:nth-child(7) small, .expiry-manage-row td:nth-child(8) small { display: block; margin-top: 4px; }
.expiry-manage-row.expired td { background: #fff0f0; }
.expiry-manage-row.remove td, .expiry-manage-row.report td { background: #fff6eb; }
.expiry-manage-row.urgent td { background: #fffdeb; }
.expiry-manage-row.blocked td { opacity: .75; background: #f3f4f6; }
.expiry-manage-row.expired td:first-child, .expiry-manage-row.remove td:first-child { box-shadow: inset 4px 0 #dc2626; }
.manage-status { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: #eaf8f2; color: #18785b; font-size: 11px; font-weight: 800; white-space: nowrap; }
.manage-status.expired, .manage-status.remove { background: #fee2e2; color: #b91c1c; border: 1px solid #f87171; }
.manage-status.report { background: #ffedd5; color: #9a3412; border: 1px solid #fb923c; }
.manage-status.urgent, .manage-status.near { background: #fef9c3; color: #854d0e; border: 1px solid #eab308; }
.task-stack { display: grid; gap: 5px; min-width: 125px; }
.task-required, .task-done { display: inline-flex; width: max-content; padding: 4px 7px; border-radius: 7px; font-size: 11px; font-weight: 750; color: #9a3412; background: #ffedd5; }
.task-required.remove { color: #b91c1c; background: #fee2e2; }
.task-done { color: #166534; background: #dcfce7; }
.task-done.remove { color: #475569; background: #e2e8f0; }
.expiry-actions { display: flex; flex-wrap: wrap; gap: 5px; min-width: 190px; }
.btn.warn { color: #9a3412; border-color: #fb923c; background: #fff7ed; }

/* Stitch mobile screen 07: expiry task dashboard. Desktop keeps the dense table. */
.expiry-management-v7{--expiry-blue:#397fba;max-width:none;padding-top:22px;background:#f4f8fc}
.expiry-page-head-v7{max-width:1500px;margin-right:auto;margin-left:auto;padding:0 2px}
.expiry-page-head-v7>div{min-width:0}
.expiry-kicker-v7{display:inline-flex;margin-bottom:6px;padding:4px 9px;border-radius:999px;background:#e8f3fc;color:#397fba;font-size:11px;font-weight:900;letter-spacing:.04em}
.expiry-page-head-v7 h2{font-size:25px;line-height:1.2;color:#17283c}
.expiry-history-v7{display:flex;align-items:center;gap:9px;min-height:48px;padding:8px 13px;border-color:#cbdbe9;background:#fff;color:#28445f}
.expiry-history-v7>b{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#eaf3fb;color:#397fba;font-size:17px}
.expiry-history-v7>span{display:grid;gap:1px;text-align:left;font-weight:900;line-height:1.15;white-space:nowrap}
.expiry-history-v7 small{color:#728397;font-size:10px;font-weight:700}
.expiry-management-v7 .expiry-stat{min-height:120px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}
.expiry-management-v7 .expiry-stat:focus-visible{outline:3px solid #76aadd66;outline-offset:2px}
.expiry-list-panel-v7{max-width:1500px;margin-right:auto;margin-left:auto;border-color:#d7e4ef;border-radius:17px;box-shadow:0 7px 22px #294e7010}
.expiry-toolbar-v7{background:#f9fbfd}
.expiry-filter-groups-v7{display:grid;gap:8px;min-width:0}
.expiry-filters.primary .expiry-filter{min-height:34px;font-weight:850}
.expiry-filters.secondary .expiry-filter{border-radius:8px;padding:6px 9px;background:#fff;font-size:11px}
.expiry-search-v7{position:relative;display:flex;align-items:center;width:min(370px,100%);flex:none}
.expiry-search-v7>span{position:absolute;left:12px;z-index:1;color:#73869a;font-size:21px;line-height:1;pointer-events:none}
.expiry-search-v7 .search{width:100%;min-height:44px;padding-left:38px;border-color:#cbdbea;border-radius:12px;background:#fff}
.expiry-mobile-list-v7{display:none}
.expiry-list-summary-v7{padding:12px 15px;border-top:1px solid #e1e9f1;background:#fbfdff;color:#6d7f91;font-size:12px;text-align:right}
.expiry-list-summary-v7 strong{color:#20364c}

@media(max-width:700px){
  body:has(.expiry-management-v7){background:#f4f8fc}
  .expiry-header-v7 .topbar-title p{display:none}
  .expiry-header-v7 .topbar-title h1{font-size:20px}
  .expiry-management-v7{width:100%;max-width:460px;min-height:calc(100vh - 64px);margin:0 auto;padding:14px 12px max(24px,env(safe-area-inset-bottom))}
  .expiry-page-head-v7{align-items:center;gap:10px;margin-bottom:13px;padding:0 2px}
  .expiry-page-head-v7 h2{font-size:22px}
  .expiry-page-head-v7 p{font-size:12px;line-height:1.45}
  .expiry-kicker-v7{margin-bottom:4px}
  .expiry-history-v7{min-width:122px;min-height:47px;padding:7px 9px;gap:7px}
  .expiry-history-v7>b{width:29px;height:29px;flex:0 0 29px}
  .expiry-history-v7>span{font-size:12px}
  .expiry-management-v7 .expiry-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}
  .expiry-management-v7 .expiry-stat{min-height:106px;padding:11px 10px;border-radius:13px;box-shadow:0 3px 11px #294e700c}
  .expiry-management-v7 .expiry-stat span{color:#40566c;font-size:12px;font-weight:850;line-height:1.25}
  .expiry-management-v7 .expiry-stat strong{margin:6px 0 3px;font-size:25px;line-height:1}
  .expiry-management-v7 .expiry-stat small{font-size:10px;line-height:1.35}
  .expiry-management-v7 .mandatory-banner{align-items:stretch;flex-direction:column;margin-bottom:12px;padding:12px;border-radius:13px}
  .expiry-management-v7 .mandatory-banner .btn{min-height:44px}
  .expiry-list-panel-v7{overflow:visible;border:0;background:transparent;box-shadow:none}
  .expiry-toolbar-v7{position:sticky;top:61px;z-index:20;display:grid;gap:9px;margin:0 -12px;padding:10px 12px;border-top:1px solid #dde7f0;border-bottom:1px solid #d6e1eb;background:#f4f8fcf2;backdrop-filter:blur(10px)}
  .expiry-filter-groups-v7{gap:7px}
  .expiry-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:1px;scrollbar-width:none}
  .expiry-filters::-webkit-scrollbar{display:none}
  .expiry-filter{flex:none;min-height:34px;padding:7px 11px}
  .expiry-filters.primary .expiry-filter{font-size:12px}
  .expiry-filters.secondary .expiry-filter{min-height:30px;padding:5px 9px}
  .expiry-search-v7{width:100%}
  .expiry-search-v7 .search{min-height:43px;font-size:13px}
  .expiry-management-table{display:none}
  .expiry-mobile-list-v7{display:grid;gap:11px;padding:12px 0 0}
  .expiry-mobile-card-v7{position:relative;overflow:hidden;padding:13px;border:1px solid #d7e3ed;border-top:4px solid #5c8fbd;border-radius:16px;background:#fff;box-shadow:0 5px 16px #2c557612}
  .expiry-mobile-card-v7.expired,.expiry-mobile-card-v7.remove{border-color:#f0b0b0;border-top-color:#dc3d3d;background:linear-gradient(180deg,#fff7f7 0,#fff 38%)}
  .expiry-mobile-card-v7.report{border-color:#efc18d;border-top-color:#e98226;background:linear-gradient(180deg,#fff9f1 0,#fff 38%)}
  .expiry-mobile-card-v7.urgent{border-color:#ead492;border-top-color:#dcae22}
  .expiry-mobile-card-v7.near,.expiry-mobile-card-v7.watch{border-top-color:#4f91c9}
  .expiry-mobile-card-v7.blocked{background:#f4f6f8}
  .expiry-mobile-card-status-v7{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}
  .expiry-mobile-card-status-v7>b{color:#6b7d8e;font-size:11px;white-space:nowrap}
  .expiry-mobile-card-v7.expired .expiry-mobile-card-status-v7>b,.expiry-mobile-card-v7.remove .expiry-mobile-card-status-v7>b{color:#c02f2f}
  .expiry-mobile-product-v7{display:grid;grid-template-columns:68px minmax(0,1fr);gap:11px;align-items:start}
  .expiry-mobile-thumb-v7{display:grid;place-items:center;width:68px;height:68px;overflow:hidden;border:1px solid #dce6ef;border-radius:12px;background:#f8fafc;font-size:29px}
  .expiry-mobile-thumb-v7 img{width:100%;height:100%;object-fit:contain;background:#fff}
  .expiry-mobile-product-v7 h3{display:-webkit-box;overflow:hidden;margin:0 0 5px;color:#17283c;font-size:15px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .expiry-mobile-product-v7 p{margin:2px 0;color:#728397;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
  .expiry-mobile-product-v7 p strong{color:#41576d;font-weight:750}
  .expiry-mobile-facts-v7{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
  .expiry-mobile-facts-v7>span{display:grid;gap:2px;min-width:0;padding:8px 9px;border-radius:10px;background:#f3f7fa}
  .expiry-mobile-facts-v7 small{color:#718295;font-size:10px}
  .expiry-mobile-facts-v7 strong{overflow-wrap:anywhere;color:#20364c;font-size:13px;line-height:1.3}
  .expiry-mobile-card-v7.expired .expiry-mobile-facts-v7>span:first-child strong,.expiry-mobile-card-v7.remove .expiry-mobile-facts-v7>span:first-child strong{color:#c52e2e}
  .expiry-mobile-task-v7{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;margin-top:10px;padding:9px 10px;border:1px dashed #d5e0e9;border-radius:10px;background:#fbfdff}
  .expiry-mobile-task-v7>small{padding-top:3px;color:#66798c;font-size:10px;font-weight:800;white-space:nowrap}
  .expiry-mobile-task-v7 .task-stack{justify-items:end;min-width:0}
  .expiry-mobile-task-v7 .task-required,.expiry-mobile-task-v7 .task-done{max-width:100%;white-space:normal;text-align:right}
  .expiry-mobile-actions-v7{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px;padding-top:11px;border-top:1px solid #e5ebf1}
  .expiry-mobile-actions-v7 .btn{width:100%;min-width:0;min-height:44px;padding:7px 5px;border-radius:10px;font-size:12px;line-height:1.2;white-space:normal}
  .expiry-mobile-actions-v7 .btn:only-child{grid-column:1/-1}
  .expiry-mobile-actions-v7 .btn:nth-last-child(2):first-child,.expiry-mobile-actions-v7 .btn:nth-last-child(2):first-child~.btn{grid-column:auto;grid-column:span 1}
  .expiry-mobile-empty-v7{display:grid;place-items:center;gap:5px;padding:32px 16px;border:1px dashed #cbd9e5;border-radius:15px;background:#fff;color:#6d8092;text-align:center}
  .expiry-mobile-empty-v7>b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e8f6ef;color:#208361;font-size:22px}
  .expiry-mobile-empty-v7 strong{color:#284158;font-size:15px}
  .expiry-mobile-empty-v7 span{font-size:12px}
  .expiry-list-summary-v7{margin-top:10px;border:1px solid #dce6ef;border-radius:11px;background:#fff;text-align:center}
}

@media(max-width:370px){
  .expiry-management-v7{padding-right:9px;padding-left:9px}
  .expiry-toolbar-v7{margin-right:-9px;margin-left:-9px;padding-right:9px;padding-left:9px}
  .expiry-page-head-v7 h2{font-size:20px}
  .expiry-page-head-v7 p{display:none}
  .expiry-history-v7{min-width:116px}
  .expiry-management-v7 .expiry-stat{min-height:102px;padding:10px 8px}
  .expiry-mobile-actions-v7{grid-template-columns:1fr}
  .expiry-mobile-actions-v7 .btn,.expiry-mobile-actions-v7 .btn:only-child,.expiry-mobile-actions-v7 .btn:nth-last-child(2):first-child,.expiry-mobile-actions-v7 .btn:nth-last-child(2):first-child~.btn{grid-column:1}
}
.expiry-action-modal { width: min(650px,100%); }
.expiry-action-notice { display: grid; gap: 5px; padding: 13px; margin-top: 16px; border-radius: 11px; background: #fff7ed; border: 1px solid #fdba74; color: #9a3412; }
.expiry-action-notice.danger { background: #fff1f1; border-color: #f87171; color: #b91c1c; }
.expiry-action-notice span { font-size: 12px; }
.expiry-other-detail[hidden] { display: none; }
.expiry-audit-preview { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; padding: 12px; margin-top: 8px; border: 1px solid var(--line); border-radius: 11px; background: #f8fafc; }
.expiry-audit-preview > div { min-width: 0; }
.expiry-audit-preview .wide { grid-column: 1/-1; padding-top: 8px; border-top: 1px solid var(--line); }
.expiry-audit-preview span, .expiry-audit-preview strong { display: block; }
.expiry-audit-preview span { margin-bottom: 4px; color: var(--muted); font-size: 11px; }
.expiry-audit-preview strong { overflow: hidden; color: var(--ink); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.expiry-history-modal { width: min(1120px,100%); max-height: calc(100vh - 48px); overflow: auto; }
.expiry-history-modal table { min-width: 950px; }
.expiry-history-modal td small { display: block; margin-top: 4px; color: var(--muted); }
.batch-row.removed td { background: #f3f4f6; color: #64748b; }
.batch-status.removed { background: #e2e8f0; color: #475569; border: 1px solid #94a3b8; }

.finance-dashboard { background: #f5f7fb; min-height: calc(100vh - 76px); }
.finance-range-bar { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px; margin-bottom: 15px; width: max-content; max-width: 100%; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.finance-range { border: 0; border-radius: 9px; padding: 9px 14px; background: transparent; color: var(--muted); font-weight: 650; }
.finance-range:hover { background: #f1f5f9; color: var(--ink); }
.finance-range.active { color: #fff; background: var(--blue); box-shadow: 0 5px 12px #2563eb33; }
.finance-kpi-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 11px; margin-bottom: 16px; }
.finance-kpi { min-width: 0; padding: 16px; border: 1px solid var(--line); border-top: 4px solid #64748b; border-radius: 13px; background: #fff; box-shadow: 0 4px 16px #14213d08; }
.finance-kpi span, .finance-kpi small { display: block; color: var(--muted); }
.finance-kpi span { font-size: 12px; }
.finance-kpi strong { display: block; margin: 9px 0 6px; overflow: hidden; font-size: 25px; text-overflow: ellipsis; white-space: nowrap; }
.finance-kpi small { font-size: 11px; }
.finance-kpi.revenue { border-top-color: #16a34a; }
.finance-kpi.orders { border-top-color: #2563eb; }
.finance-kpi.average { border-top-color: #7c3aed; }
.finance-kpi.discount { border-top-color: #f59e0b; }
.finance-kpi.profit { border-top-color: #0f766e; }
.finance-kpi.waste { border-top-color: #dc2626; background: #fffafa; }
.finance-two-column { display: grid; grid-template-columns: 1fr 1.15fr; gap: 15px; margin-bottom: 15px; }
.finance-two-column.bottom { grid-template-columns: .9fr 1.1fr; }
.finance-panel { min-width: 0; }
.finance-panel .panel-title { padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.finance-panel .panel-title h2, .finance-query-head h2 { margin: 0 0 4px; font-size: 16px; }
.finance-panel .panel-title span, .finance-query-head span { color: var(--muted); font-size: 11px; }
.revenue-chart { display: grid; grid-template-columns: repeat(24,minmax(12px,1fr)); gap: 4px; height: 225px; padding: 12px 2px 0; }
.revenue-hour { display: grid; grid-template-rows: 1fr auto auto; min-width: 0; text-align: center; }
.bar-track { display: flex; align-items: flex-end; justify-content: center; min-height: 155px; border-bottom: 1px solid var(--line); }
.bar-track i { display: block; width: min(15px,75%); min-height: 2px; border-radius: 5px 5px 1px 1px; background: linear-gradient(#60a5fa,#2563eb); transition: height .2s; }
.bar-track i.negative { background: linear-gradient(#fca5a5,#dc2626); }
.revenue-hour span { margin-top: 5px; color: var(--muted); font-size: 9px; }
.revenue-hour small { min-height: 12px; color: var(--blue); font-size: 9px; }
.chart-note { margin-top: 5px; color: var(--muted); font-size: 10px; text-align: center; }
.finance-panel table small { display: block; margin-top: 3px; color: var(--muted); }
.rank { display: inline-grid; place-items: center; width: 23px; height: 23px; border-radius: 7px; background: #eef2f7; color: #64748b; font-size: 11px; font-weight: 800; }
.rank.top { color: #92400e; background: #fef3c7; }
.positive-money { color: #15803d; font-weight: 750; }
.negative-money { color: #dc2626; font-weight: 750; }
.finance-query-panel { padding: 0; margin-bottom: 15px; overflow: hidden; }
.finance-query-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.finance-query-head .search { width: min(390px,100%); }
.finance-query-table { max-height: 360px; }
.finance-query-table table { min-width: 950px; }
.finance-query-table th { position: sticky; top: 0; z-index: 2; background: #f8fafc; }

.hidden { display: none !important; }
.customer-summary, .ar-summary { display: grid; gap: 12px; margin-bottom: 16px; }
.customer-summary { grid-template-columns: repeat(3,1fr); }
.ar-summary { grid-template-columns: repeat(4,1fr); }
.customer-summary > div, .ar-summary > div { padding: 17px 19px; border: 1px solid var(--line); border-top: 4px solid var(--blue); border-radius: 13px; background: #fff; box-shadow: 0 4px 16px #14213d08; }
.customer-summary span, .ar-summary span { display: block; color: var(--muted); font-size: 12px; }
.customer-summary strong, .ar-summary strong { display: block; margin-top: 8px; font-size: 23px; }
.customer-summary .danger-text, .ar-summary .danger { border-top-color: #dc2626; background: #fffafa; }
.ar-summary .warn { border-top-color: #f59e0b; background: #fffdf7; }
.ar-summary .check { border-top-color: #7c3aed; }
.customer-table, .wholesale-table, .ar-table, .check-table { padding: 0; }
.customer-table table, .wholesale-table table, .ar-table table, .check-table table { min-width: 1080px; }
.customer-table td small, .wholesale-table td small, .ar-table td small, .check-table td small { display: block; margin-top: 4px; color: var(--muted); }
.customer-overdue td, .ar-overdue td { background: #fff3f3; }
.customer-modal { width: min(880px,100%); max-height: calc(100vh - 48px); overflow: auto; }
.wholesale-editor { width: min(1380px,100%); margin: 20px auto; max-height: calc(100vh - 40px); overflow: auto; }
.wholesale-head-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1fr .8fr 1.4fr; gap: 12px; align-items: end; }
.wholesale-head-grid .inline-check { min-height: 43px; align-items: center; }
.check-fields { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; padding: 14px; margin: 14px 0; border: 1px solid #ddd6fe; border-radius: 12px; background: #faf8ff; }
.payment-modal { width: min(720px,100%); }
.ar-table .panel-title, .check-table .panel-title { padding: 17px 20px 0; }
.ar-table .panel-title > div, .check-table .panel-title > div { min-width: 0; }
.payable-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.payable-stats .stat { padding:13px 15px; }
.payable-stats .stat-value { margin-top:7px; font-size:20px; }
.payable-stats .stat-foot { margin-top:5px; font-size:10px; }
.settings-section { margin-top:18px; padding:22px; }
.settings-section > .panel-title { margin-bottom:16px; }
.settings-section td small { display:block; margin-top:4px; color:var(--muted); }
.backup-status { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; }
.backup-status > div { padding:13px 15px; border:1px solid var(--line); border-radius:11px; background:#f8fafc; }
.backup-status span,.backup-status strong { display:block; }
.backup-status span { margin-bottom:5px; color:var(--muted); font-size:11px; }
.backup-status strong { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.backup-table table { min-width:820px; }
.danger-zone { display:flex; align-items:center; justify-content:space-between; gap:18px; border-color:#fecaca; background:#fff7f7; }
.danger-zone h2 { margin:0 0 5px; color:#b91c1c; font-size:17px; }
.danger-zone p { margin:0; color:#7f1d1d; font-size:12px; }
.danger-confirm-modal { width:min(680px,100%); }
.customer-bank-title { grid-column:1/-1; display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:8px; padding:12px 0 3px; border-top:1px solid var(--line); }
.customer-bank-title strong { color:#1d4ed8; }
.customer-bank-title span { color:var(--muted); font-size:11px; }
.payable-payment-modal { width:min(720px,100%); }
.payee-bank-card { display:grid; gap:6px; margin:16px 0 12px; padding:17px; border:1px solid #93c5fd; border-radius:13px; background:#eff6ff; }
.payee-bank-card > span,.payee-bank-card small { color:var(--muted); font-size:12px; }
.payee-bank-card strong { color:#1e3a8a; font-size:18px; }
.payee-bank-card b { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:21px; letter-spacing:.05em; }
.payee-bank-card.missing { border-color:#fca5a5; background:#fff1f2; }
.payee-bank-card.missing strong { color:#b91c1c; }
.payment-confirm-summary { display:flex; align-items:center; justify-content:space-between; padding:13px 16px; border-radius:11px; background:#f8fafc; }
.payment-confirm-summary span { color:var(--muted); }
.payment-confirm-summary strong { color:#b91c1c; font-size:24px; }
.payable-table td small { display:block; margin-top:4px; color:var(--muted); }

@media (max-width: 1350px) {
  .dashboard-overview { grid-template-columns: 1fr; }
  .finance-kpi-grid { grid-template-columns: repeat(3,1fr); }
  .finance-two-column, .finance-two-column.bottom { grid-template-columns: 1fr; }
  .wholesale-head-grid { grid-template-columns: repeat(3,1fr); }
  .manage-product-grid { grid-template-columns:repeat(auto-fill,minmax(168px,1fr)); }
}

@media (max-width: 1050px) {
  .shell { grid-template-columns: 82px 1fr; }
  .brand div:last-child, .nav-label, .nav-section, .sidebar-foot { display: none; }
  .brand { padding-left: 6px; }
  .nav-button { justify-content: center; }
  .nav-drag-handle { display: none; }
  .nav-reset { padding: 7px 4px; font-size: 10px; }
  .stats { grid-template-columns: repeat(2,1fr); }
  .payable-stats { grid-template-columns:repeat(4,minmax(130px,1fr)); overflow-x:auto; }
  .dashboard-shortcuts { grid-template-columns: repeat(2,1fr); }
  .dashboard-expiry-item { grid-template-columns: 38px 1fr 1fr; }
  .dashboard-expiry-item > span:nth-child(4) { display: none; }
  .dashboard-expiry-status { grid-column: 2/4; justify-self: start; }
  .pos-layout { grid-template-columns: 1fr 340px; }
  .pos-register-layout { grid-template-columns: 1fr; }
  .pos-payment-panel { min-height: 480px; }
  .pos-scan-panel { grid-template-columns: auto 1fr auto; }
  .pos-scan-panel > div:nth-child(2) { display: none; }
  .purchase-head-grid { grid-template-columns: 1fr 1fr; }
  .expiry-stat-grid { grid-template-columns: repeat(3,1fr); }
  .expiry-toolbar { align-items: stretch; flex-direction: column; }
  .ar-summary { grid-template-columns: repeat(2,1fr); }
  .customer-summary { grid-template-columns: 1fr; }
  .wholesale-head-grid, .check-fields { grid-template-columns: 1fr 1fr; }
  .manage-product-grid { grid-template-columns:repeat(auto-fill,minmax(158px,1fr)); }
  .product-manage-toolbar { align-items: stretch; flex-direction: column; }
  .product-manage-toolbar .search { max-width: none; }
  .product-manage-toolbar > div { justify-content: flex-start; }
  .inventory-discrepancy-stats, .discrepancy-case-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .backup-status { grid-template-columns:1fr; }
}

.smart-lookup-button { border-color:#6da1d5!important; background:#edf6ff!important; color:#356fa9!important; font-weight:800; }
.smart-lookup-button:hover { background:#dceeff!important; }
.product-lookup-modal { width:min(1120px,calc(100vw - 32px)); max-height:94vh; overflow:auto; padding:22px; }
.lookup-scan-form { padding:16px; border:1px solid #cfe0f0; border-radius:16px; background:#f4f9ff; margin:16px 0; }
.lookup-scan-form > label { display:block; font-weight:900; color:#244f78; margin-bottom:8px; }
.lookup-scan-form > div { display:grid; grid-template-columns:1fr auto; gap:10px; }
.lookup-scan-form input { font-size:20px; font-weight:800; letter-spacing:.06em; padding:13px 15px; }
.lookup-scan-form small { display:block; color:var(--muted); margin-top:7px; }
.lookup-loading,.lookup-error,.lookup-not-found { min-height:180px; border:1px dashed #adc8e2; border-radius:18px; background:#f8fbff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; text-align:center; padding:28px; }
.lookup-loading strong,.lookup-error strong,.lookup-not-found strong { font-size:18px; }
.lookup-loading small,.lookup-error span,.lookup-not-found span { color:var(--muted); }
.lookup-spinner { width:38px; height:38px; border:4px solid #d9e9f8; border-top-color:#6d9fd2; border-radius:50%; animation:lookup-spin .8s linear infinite; }
@keyframes lookup-spin { to { transform:rotate(360deg); } }
.lookup-existing { border:2px solid #ef4444; background:#fff1f2; color:#991b1b; border-radius:15px; padding:14px; display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.lookup-existing span { flex:1; }
.google-product-assist { margin-top:14px; padding:17px; border:1px solid #b9d6ef; border-radius:16px; background:linear-gradient(135deg,#f7fbff,#edf7ff); }
.google-product-assist.primary-fallback { border:2px solid #4285f4; box-shadow:0 0 0 4px rgba(66,133,244,.08); }
.google-assist-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.google-assist-head h3 { margin:0 0 4px; color:#1f4f82; }
.google-assist-head span { color:#5d7187; font-size:12px; }
.google-assist-head > strong { flex:none; padding:5px 9px; border-radius:999px; color:#fff; background:#4285f4; font-size:11px; }
.google-search-actions { display:flex; flex-wrap:wrap; gap:8px; margin:13px 0; }
.google-button { border-color:#4285f4!important; color:#1d4ed8!important; background:#fff!important; font-weight:900; }
.google-page-form { padding:13px; border:1px solid #d8e6f3; border-radius:12px; background:#fff; }
.google-page-form > label { display:block; margin-bottom:7px; color:#294e73; font-weight:800; }
.google-page-form > div { display:grid; grid-template-columns:1fr auto; gap:8px; }
.google-page-form small { display:block; margin-top:7px; color:var(--muted); }
.google-page-loading,.google-page-error { display:flex; align-items:center; gap:10px; margin-top:10px; padding:12px; border-radius:11px; background:#fff; }
.google-page-loading .lookup-spinner { width:24px; height:24px; border-width:3px; }
.google-page-error { align-items:flex-start; flex-direction:column; gap:3px; color:#b91c1c; background:#fff1f2; }
.google-page-error span { font-size:12px; }
.google-page-result { display:grid; grid-template-columns:82px 1fr auto; align-items:center; gap:12px; margin-top:11px; padding:12px; border:2px solid #86cfa6; border-radius:13px; background:#f0fdf4; }
.google-page-result.unmatched { border-color:#f59e0b; background:#fffbeb; }
.google-page-image { display:grid; place-items:center; width:82px; aspect-ratio:1; overflow:hidden; border:1px solid #dce7e1; border-radius:10px; background:#fff; font-size:28px; }
.google-page-image img { width:100%; height:100%; object-fit:contain; }
.google-page-result > div:nth-child(2) { display:flex; min-width:0; flex-direction:column; gap:3px; }
.google-page-result > div:nth-child(2) > strong { overflow:hidden; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.google-page-result small { color:var(--muted); }
.google-page-result b { color:#ef6f6c; font-size:18px; }
.google-page-result em { color:#9a3412; font-size:11px; font-style:normal; font-weight:800; }
.google-match-status { width:max-content; padding:3px 7px; border-radius:999px; color:#166534; background:#dcfce7; font-size:10px; font-weight:900; }
.google-page-result.unmatched .google-match-status { color:#92400e; background:#fef3c7; }
.lookup-image-chooser { margin-top:14px; padding:15px; border:1px solid #cfe0f0; border-radius:16px; background:#f7fbff; }
.lookup-image-chooser-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.lookup-image-chooser-head h3 { margin:0 0 3px; font-size:17px; }
.lookup-image-chooser-head span { color:var(--muted); font-size:12px; }
.lookup-image-chooser-head > strong { flex:0 0 auto; padding:5px 9px; border-radius:999px; color:#285e91; background:#dceeff; font-size:11px; }
.lookup-image-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.lookup-image-option { position:relative; min-width:0; padding:7px; overflow:hidden; border:2px solid #d8e5f0; border-radius:13px; color:var(--ink); background:#fff; cursor:pointer; }
.lookup-image-option:hover { border-color:#79a9d6; transform:translateY(-1px); }
.lookup-image-option.selected { border-color:#4f8dca; box-shadow:0 0 0 3px rgba(79,141,202,.15); background:#edf6ff; }
.lookup-image-option img { display:block; width:100%; aspect-ratio:1; object-fit:contain; border-radius:8px; background:#fff; }
.lookup-image-option small { display:block; overflow:hidden; margin-top:6px; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.lookup-image-check { position:absolute; z-index:1; top:10px; left:10px; padding:3px 6px; border-radius:999px; color:#fff; background:rgba(42,71,99,.82); font-size:9px; font-weight:900; }
.lookup-image-option.selected .lookup-image-check { background:#357bbd; }
.lookup-image-note { display:block; margin-top:9px; color:#795b20; font-size:11px; }
.lookup-field-selector { margin-top:14px; padding:16px; border:1px solid #cfe0f0; border-radius:16px; background:#fff; }
.lookup-field-group { margin-top:14px; }
.lookup-field-group h4 { margin:0 0 8px; color:#294b69; }
.lookup-field-group > small { color:var(--muted); }
.lookup-field-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:9px; }
.lookup-field-options.info { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.lookup-field-options.price { grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
.lookup-field-option { position:relative; display:flex; min-width:0; min-height:82px; flex-direction:column; align-items:flex-start; gap:5px; padding:28px 12px 11px; border:2px solid #dce7f1; border-radius:13px; color:var(--ink); background:#fff; text-align:left; cursor:pointer; }
.lookup-field-option:hover { border-color:#8bb5dc; background:#f8fbff; }
.lookup-field-option.selected { border-color:#4f8dca; background:#edf6ff; box-shadow:0 0 0 3px rgba(79,141,202,.12); }
.lookup-field-option > span { position:absolute; top:7px; right:8px; padding:2px 6px; border-radius:999px; color:#fff; background:#64748b; font-size:9px; font-weight:900; }
.lookup-field-option.selected > span { background:#357bbd; }
.lookup-field-option strong { font-size:14px; line-height:1.35; }
.lookup-field-option small { display:block; overflow:hidden; color:var(--muted); font-size:11px; line-height:1.45; }
.lookup-field-empty { padding:12px; border-radius:10px; color:var(--muted); background:#f8fafc; }
.lookup-final-preview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:16px; padding:13px; border:2px solid #86afd6; border-radius:14px; background:#edf6ff; }
.lookup-final-preview h4 { grid-column:1/-1; margin:0 0 2px; color:#214d75; }
.lookup-final-preview > div { display:flex; min-width:0; flex-direction:column; gap:3px; padding:8px; border-radius:9px; background:#fff; }
.lookup-final-preview span { color:var(--muted); font-size:10px; }
.lookup-final-preview strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.field-wide { grid-column:1/-1; }
.lookup-result-card { display:grid; grid-template-columns:180px 1fr; gap:20px; border:1px solid #cfe0f0; background:linear-gradient(135deg,#f7fbff,#edf6ff); padding:18px; border-radius:18px; }
.lookup-product-photo { width:180px; aspect-ratio:1; border-radius:14px; background:#fff; border:1px solid #dae7f3; display:grid; place-items:center; font-size:54px; overflow:hidden; }
.lookup-product-photo img { width:100%; height:100%; object-fit:contain; }
.lookup-product-main { min-width:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.lookup-product-main h3 { font-size:24px; margin:8px 0 4px; }
.lookup-product-main p { margin:0 0 6px; color:#49647d; }
.lookup-product-main small { color:var(--muted); }
.lookup-confidence { display:inline-flex; align-items:center; gap:8px; border-radius:999px; padding:6px 10px; font-size:13px; font-weight:900; }
.lookup-confidence.high { background:#dcfce7; color:#166534; }
.lookup-confidence.medium { background:#fef3c7; color:#92400e; }
.lookup-confidence.low { background:#fee2e2; color:#991b1b; }
.lookup-confidence span { opacity:.75; }
.lookup-cache { margin-top:8px; border-radius:999px; background:#e2e8f0; color:#475569; padding:4px 9px; font-size:11px; }
.lookup-section { border:1px solid #e1e9f1; border-radius:16px; padding:16px; margin-top:14px; background:#fff; }
.lookup-section h3 { margin:0 0 10px; }
.lookup-evidence-table th:first-child { width:130px; }
.lookup-evidence-table td:last-child { color:#52779b; font-weight:700; }
.lookup-conflicts { margin-top:14px; border:2px solid #f59e0b; background:#fff8e8; border-radius:16px; padding:14px; color:#854d0e; }
.lookup-conflicts > strong { display:block; margin-bottom:8px; }
.lookup-conflicts > div { display:grid; grid-template-columns:100px 1fr; gap:10px; padding:8px 0; border-top:1px solid #f6d890; }
.lookup-conflicts p { margin:0; }
.lookup-price-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:10px; margin:10px 0; }
.lookup-price-summary > div { background:#f4f9ff; border:1px solid #d8e7f5; border-radius:12px; padding:11px; display:flex; flex-direction:column; gap:4px; }
.lookup-price-summary span,.lookup-price-summary small { color:var(--muted); }
.lookup-price-table td:first-child strong { display:block; }
.lookup-price-table small { display:block; color:var(--muted); }
.lookup-discount { display:inline-block; margin-left:6px; border-radius:999px; background:#fee2e2; color:#b91c1c; font-size:11px; padding:2px 6px; font-weight:800; }
.lookup-price-empty { padding:18px; border-radius:12px; background:#f8fafc; color:#64748b; text-align:center; }
.lookup-sources { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:9px; }
.lookup-source { border:1px solid #d9e4ee; border-radius:12px; padding:10px; text-decoration:none; color:var(--ink); display:flex; flex-direction:column; gap:3px; }
.lookup-source span { font-size:12px; color:var(--muted); }
.lookup-source.success { border-color:#86cfa6; background:#f0fdf4; }
.lookup-reference-links { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.lookup-actions { position:sticky; bottom:-22px; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); padding:14px 0 2px; margin-top:12px; border-top:1px solid #e2e8f0; }
@media (max-width:760px) {
  .manage-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-work-hint { align-items:flex-start; flex-direction:column; gap:4px; }
  .product-lookup-modal { width:calc(100vw - 16px); padding:14px; }
  .lookup-result-card { grid-template-columns:100px 1fr; gap:12px; }
  .lookup-product-photo { width:100px; }
  .lookup-product-main h3 { font-size:18px; }
  .lookup-scan-form > div { grid-template-columns:1fr; }
  .lookup-existing { align-items:flex-start; flex-direction:column; }
  .google-assist-head,.google-page-result { align-items:flex-start; grid-template-columns:70px 1fr; }
  .google-assist-head { flex-direction:column; }
  .google-page-form > div { grid-template-columns:1fr; }
  .google-page-result > .btn { grid-column:1/-1; width:100%; }
  .google-page-image { width:70px; }
  .lookup-image-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lookup-image-chooser-head { flex-direction:column; }
  .lookup-final-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lookup-conflicts > div { grid-template-columns:1fr; }
  .lookup-actions { bottom:-14px; }
}
.master-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.master-option-group{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--surface-soft,#f7fbff)}.master-option-group h3{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.master-option-group h3 small{font-size:12px;color:var(--muted);font-weight:500}.master-option-form{display:flex;gap:8px}.master-option-form input{min-width:0;flex:1}.master-option-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;max-height:150px;overflow:auto}.master-option-chip{padding:5px 9px;border-radius:999px;background:#e7f2ff;color:#315f90;font-size:13px;border:1px solid #c7def7}
@media(max-width:900px){.master-option-grid{grid-template-columns:1fr}.master-option-form{align-items:stretch}}
.product-lookup-modal .google-product-assist,.product-lookup-modal .lookup-conflicts,.product-lookup-modal .lookup-section:has(.lookup-evidence-table),.product-lookup-modal .lookup-section:has(.lookup-sources){display:none!important}.product-lookup-modal .lookup-product-main>p{display:none}.lookup-name-only .lookup-field-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lookup-name-only .lookup-field-option{min-height:88px;text-align:left}.lookup-name-only .lookup-field-option strong{display:block;margin:5px 0}.lookup-name-only .lookup-field-option small{display:block}.lookup-name-only .lookup-field-option:first-child{grid-column:1/-1;border-color:var(--primary)}
@media(max-width:720px){.lookup-name-only .lookup-field-options{grid-template-columns:1fr}.lookup-name-only .lookup-field-option:first-child{grid-column:auto}}
.pos-register-main .pos-quick-bar{display:block;padding:18px;margin:0;border-radius:16px}.pos-quick-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.pos-quick-title>div{display:grid;gap:3px}.pos-quick-title strong{font-size:18px}.pos-quick-title span{color:var(--muted);font-size:12px}.pos-shortcut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pos-shortcut-button{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;align-items:center;min-height:82px;padding:13px 15px;border:2px solid #c7d8e9;border-radius:14px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.pos-shortcut-button:hover{border-color:var(--blue);background:#f2f8ff;transform:translateY(-1px)}.pos-shortcut-button i{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--blue);color:#fff;font-size:20px;font-style:normal}.pos-shortcut-button strong{font-size:15px}.pos-shortcut-button small{margin-top:3px;color:var(--muted)}.pos-shortcut-button.discount i{background:#f59e0b}.pos-shortcut-button.clear i{background:#64748b}.pos-shortcut-manager{width:min(1080px,96vw)}.pos-shortcut-manager-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:22px}.pos-shortcut-manager-layout h3{margin:0 0 13px}.pos-shortcut-manage-list{display:grid;gap:8px;max-height:540px;overflow:auto}.pos-shortcut-manage-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.pos-shortcut-manage-list article>div:first-child{display:grid;gap:3px}.pos-shortcut-manage-list small{color:var(--muted)}#pos-shortcut-form{display:grid;align-content:start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
@media(max-width:1000px){.pos-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-shortcut-manager-layout{grid-template-columns:1fr}}@media(max-width:600px){.pos-shortcut-grid{grid-template-columns:1fr}.pos-shortcut-button{min-height:72px}}

/* Mobile workspace: full-width content with an off-canvas navigation drawer. */
@media (max-width:720px) {
  html { -webkit-text-size-adjust:100%; }
  body { min-width:320px; overflow-x:hidden; }
  body.mobile-nav-visible { overflow:hidden; }
  button,input,select,textarea { font-size:16px; }

  .login-page { min-height:100dvh; display:flex; flex-direction:column; background:#fff; }
  .login-visual { min-height:auto; padding:24px 20px 22px; flex:none; gap:18px; border-radius:0 0 24px 24px; }
  .login-visual .brand { padding:0; }
  .login-visual .brand > div:last-child { display:block; }
  .login-visual h1 { margin:22px 0 0; font-size:25px; line-height:1.35; }
  .login-visual p,.login-features { display:none; }
  .login-form-wrap { min-height:0; flex:1; align-content:center; padding:28px 20px max(28px,env(safe-area-inset-bottom)); }
  .login-card { width:100%; max-width:420px; margin:auto; }
  .login-card h2 { font-size:25px; }
  .login-card > p { margin-bottom:22px; }
  .login-card .field { margin:16px 0; }
  .login-card .field label { font-size:13px; font-weight:700; }
  .login-card .field input { min-height:52px; padding:13px 14px; border-radius:13px; }
  .login-card .btn { min-height:52px; border-radius:13px; font-weight:800; }
  .demo-note { line-height:1.6; }

  .shell { min-height:100dvh; display:block; }
  .main { width:100%; min-width:0; }
  .sidebar { position:fixed; z-index:81; inset:0 auto 0 0; width:min(320px,86vw); height:100dvh; padding:20px 14px max(18px,env(safe-area-inset-bottom)); transform:translateX(-105%); transition:transform .22s ease; box-shadow:18px 0 45px #19334f40; }
  .mobile-nav-open .sidebar { transform:translateX(0); }
  .mobile-nav-backdrop { position:fixed; z-index:80; inset:0; width:100%; height:100%; border:0; background:#15283d80; backdrop-filter:blur(2px); }
  .mobile-nav-open .mobile-nav-backdrop { display:block; }
  .sidebar .brand { min-height:48px; padding:0 6px 18px; }
  .sidebar .brand div:last-of-type,.sidebar .nav-label,.sidebar .nav-section,.sidebar .sidebar-foot { display:block; }
  .sidebar .mobile-nav-close { display:grid; place-items:center; width:40px; height:40px; margin-left:auto; border:1px solid #ffffff30; border-radius:12px; color:#fff; background:#ffffff12; font-size:28px; line-height:1; }
  .sidebar .nav-button { min-height:46px; justify-content:flex-start; padding:11px 13px; }
  .sidebar .nav-reset { padding:10px; font-size:12px; }
  .sidebar .nav-drag-handle { display:none; }

  .topbar { height:auto; min-height:104px; padding:8px 12px; display:grid; grid-template-columns:44px minmax(0,1fr) 48px; grid-template-rows:48px 40px; gap:4px 9px; }
  .mobile-menu-button { display:grid; grid-column:1; grid-row:1; place-content:center; gap:4px; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:13px; background:#fff; }
  .mobile-menu-button span { display:block; width:20px; height:2px; border-radius:2px; background:var(--blue); }
  .topbar-title { grid-column:2; grid-row:1; min-width:0; align-self:center; }
  .topbar h1 { overflow:hidden; font-size:18px; text-overflow:ellipsis; white-space:nowrap; }
  .topbar p { display:none; }
  .top-actions { display:contents; }
  .connection { display:none; }
  .switcher { grid-column:1/-1; grid-row:2; width:100%; min-width:0; padding:4px; border-radius:11px; }
  .switcher button { min-width:0; flex:1; padding:7px 8px; font-size:13px; font-weight:700; }
  .workspace-switcher { grid-column:1/-1; grid-row:2; width:100%; min-width:0; min-height:40px; padding:5px 9px; border-radius:11px; grid-template-columns:auto minmax(0,1fr); }
  .workspace-switcher > span { grid-row:auto; font-size:10px; }
  .workspace-switcher select { width:100%; min-height:30px; padding:3px 26px 3px 5px; font-size:14px; }
  .account-menu { grid-column:3; grid-row:1; align-self:center; }
  .account-trigger { width:46px; min-height:44px; padding:3px; justify-content:center; border-radius:13px; }
  .account-trigger .avatar { width:36px; height:36px; }
  .account-summary,.account-chevron { display:none; }
  .account-dropdown { position:fixed; top:60px; right:8px; width:min(300px,calc(100vw - 16px)); }

  .content { padding:14px 12px max(32px,env(safe-area-inset-bottom)); }
  .panel { padding:15px; border-radius:14px; }
  .panel-title { align-items:flex-start; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
  .panel-title > .btn,.panel-title > button { min-height:42px; }
  .grid { gap:11px; }
  .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stat { min-width:0; padding:14px; }
  .stat-value { margin-top:9px; font-size:21px; }
  .stat-foot { overflow-wrap:anywhere; }
  .dashboard-overview,.dashboard-row,.finance-two-column,.finance-two-column.bottom,.settings-grid,.customer-summary { grid-template-columns:1fr; }
  .dashboard-revenue-card { padding:18px; }
  .dashboard-revenue-card strong { font-size:31px; }
  .dashboard-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .dashboard-shortcut { min-height:104px; padding:12px; grid-template-columns:38px 1fr; column-gap:8px; }
  .dashboard-shortcut-icon { width:38px; height:38px; }
  .dashboard-expiry-item { grid-template-columns:36px minmax(0,1fr) auto; gap:8px; padding:12px 10px; }
  .dashboard-expiry-item > span:nth-child(4) { display:none; }
  .dashboard-expiry-status { grid-column:2/-1; justify-self:start; white-space:normal; }
  .expiry-stat-grid,.finance-kpi-grid,.ar-summary,.inventory-discrepancy-stats,.discrepancy-case-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .expiry-stat { padding:12px; }
  .expiry-stat strong { font-size:22px; }
  .pos-task-grid,.wholesale-head-grid,.check-fields,.purchase-head-grid,.backup-status { grid-template-columns:1fr; }
  .pos-task-card { align-items:flex-start; flex-direction:column; }
  .pos-task-card .btn { width:100%; }

  .product-manage-toolbar { padding:9px; }
  .product-manage-toolbar > div { width:100%; }
  .product-manage-toolbar .btn { min-height:42px; }
  .manage-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .manage-product-card { min-width:0; }
  .manage-product-body { padding:10px; }
  .manage-product-body h3 { font-size:14px; }
  .category-tabs,.expiry-filter-tabs,.date-filter { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
  .category-tabs::-webkit-scrollbar,.expiry-filter-tabs::-webkit-scrollbar,.date-filter::-webkit-scrollbar { display:none; }
  .category-tabs .chip,.expiry-filter-tabs .chip,.date-filter .chip { flex:none; }

  .table-wrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .table-wrap > table { min-width:680px; }
  .table-wrap::after { content:'左右滑動可查看完整欄位'; display:block; position:sticky; left:0; width:max-content; margin:7px 0 0; padding:4px 8px; border-radius:999px; color:var(--muted); background:#eef4fa; font-size:10px; }
  th,td { padding:11px 10px; }

  .pos-register-layout { min-height:0; grid-template-columns:1fr; }
  .pos-register-page { padding-bottom:max(26px,env(safe-area-inset-bottom)); }
  .pos-scan-panel { grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:11px; }
  .pos-scan-panel .scan-icon,.pos-scan-panel > div:nth-child(2) { display:none; }
  .pos-scan-panel input { min-width:0; width:100%; height:48px; padding:10px 12px; font-size:16px; }
  .pos-scan-panel .btn { min-height:48px; padding:9px 14px; }
  .pos-scan-panel .camera-scan-button { grid-column:1/-1; width:100%; }
  .pos-sale-lines { padding:12px; }
  .pos-sale-head { align-items:flex-start; }
  .pos-payment-panel { min-height:0; padding:16px; }
  .checkout { min-height:58px; position:sticky; bottom:max(8px,env(safe-area-inset-bottom)); z-index:2; }
  .pos-quick-title { align-items:flex-start; flex-direction:column; }
  .pos-quick-title .btn { width:100%; }
  .pos-shortcut-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pos-shortcut-button { min-width:0; min-height:76px; padding:10px; grid-template-columns:34px 1fr; }
  .pos-shortcut-button i { width:32px; height:32px; font-size:17px; }

  .form-grid,.column-picker-grid,.master-option-grid,.pos-shortcut-manager-layout { grid-template-columns:1fr; }
  .field-wide,.customer-bank-title { grid-column:auto; }
  .modal-backdrop { align-items:end; padding:8px 8px 0; }
  .modal { width:100%; max-height:92dvh; padding:18px 16px max(18px,env(safe-area-inset-bottom)); border-radius:20px 20px 0 0; }
  .camera-scanner-backdrop { align-items:stretch; padding:0; }
  .camera-scanner-modal { display:flex; width:100%; height:100dvh; max-height:100dvh; flex-direction:column; padding:14px 12px max(14px,env(safe-area-inset-bottom)); border-radius:0; }
  .camera-scanner-viewport { flex:1; min-height:280px; aspect-ratio:auto; }
  .camera-scanner-actions .btn { flex:1 1 46%; }
  .modal-actions { position:sticky; bottom:-18px; z-index:3; margin:18px -16px -18px; padding:12px 16px max(12px,env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--line); }
  .modal-actions .btn { min-height:46px; flex:1; }
  .import-modal,.product-lookup-modal { width:100%; max-height:92dvh; }
  .lookup-result-card { grid-template-columns:78px 1fr; padding:12px; }
  .lookup-product-photo { width:78px; }
  .lookup-image-options,.lookup-final-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lookup-field-options,.lookup-field-options.info,.lookup-field-options.price { grid-template-columns:1fr; }
  .danger-zone { align-items:flex-start; flex-direction:column; }
  .danger-zone .btn { width:100%; }
}

@media (max-width:390px) {
  .topbar { grid-template-columns:42px minmax(0,1fr) 46px; padding-inline:9px; }
  .content { padding-inline:9px; }
  .stats { gap:8px; }
  .stat { padding:12px 10px; }
  .stat-value { font-size:19px; }
  .dashboard-shortcut { display:flex; min-height:94px; flex-direction:column; align-items:flex-start; }
  .dashboard-shortcut small { display:none; }
  .manage-product-grid { gap:7px; }
  .pos-shortcut-grid { grid-template-columns:1fr; }
}

.purchase-case-hint { margin:12px 0; padding:10px 12px; border:1px solid #9dc8ee; border-radius:12px; background:#eef7ff; color:#285c89; }
.purchase-converted-qty { display:inline-grid; min-width:42px; padding:6px 9px; place-items:center; border-radius:10px; background:#e5f3ff; color:#165d96; }
.case-price-note,.case-discount-note { display:block; margin-top:4px; color:#18794e; font-size:11px; font-weight:700; white-space:nowrap; }
.case-auto-discount { color:#18794e; }
.pos-custom-discount { display:grid; gap:8px; margin:10px 0 14px; padding:12px; border:1px solid #9dc8ee; border-radius:14px; background:#f3f9ff; }
.pos-custom-discount > div { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(90px,1fr) auto; gap:7px; }
.pos-custom-discount select,.pos-custom-discount input { width:100%; min-height:38px; border:1px solid var(--line); border-radius:9px; background:#fff; padding:7px 9px; }
.pos-custom-discount small { color:var(--muted); line-height:1.45; }
@media (max-width:720px) { .pos-custom-discount > div { grid-template-columns:1fr 1fr; } .pos-custom-discount > div .btn { grid-column:1/-1; } }
.pos-discount-reason { display:grid; grid-template-columns:minmax(140px,.85fr) minmax(160px,1.15fr); gap:7px; }
.pos-payment-details { display:grid; gap:8px; margin:0 18px 12px; padding:12px; border:1px solid #9dc8ee; border-radius:12px; background:#f3f9ff; }
.pos-payment-details.two { grid-template-columns:1fr 1fr; }
.pos-payment-details label { display:grid; gap:6px; color:#334155; font-size:12px; font-weight:800; }
.pos-payment-details input,.pos-payment-details select { width:100%; min-width:0; min-height:42px; padding:9px 10px; border:2px solid #cbd5e1; border-radius:9px; background:#fff; font-size:16px; font-weight:700; }
.pos-payment-details input:focus,.pos-payment-details select:focus { border-color:var(--blue); outline:none; box-shadow:0 0 0 3px #6e9cd026; }
@media (min-width:1201px) {
  body:has(.pos-register-page) { overflow:hidden; }
  body:has(.pos-register-page) .shell { height:100dvh; min-height:0; overflow:hidden; }
  body:has(.pos-register-page) .main { height:100dvh; min-height:0; overflow:hidden; }
  .pos-register-page { box-sizing:border-box; height:calc(100dvh - 76px); min-height:0; overflow:hidden; padding:14px 18px; }
  .pos-register-layout { height:100%; min-height:0; gap:12px; }
  .pos-register-main { height:100%; min-height:0; gap:9px; overflow:hidden; }
  .pos-register-main .pos-quick-bar { flex:none; margin:0; padding:8px 11px; }
  .pos-scan-panel { flex:none; padding:10px 13px; }
  .pos-sale-lines { display:flex; flex:1 1 auto; min-height:0; flex-direction:column; }
  .pos-sale-lines > .table-wrap { flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; }
  .pos-empty-sale { height:260px; }
  .pos-payment-panel { height:100%; min-height:0; }
  .pos-payment-head,.pos-payment-totals { padding:12px 15px; }
  .pos-payment-head { padding-block:9px; }
  .pos-tax-id-field { padding:7px 9px; }
  .pos-tax-id-field input { min-height:34px; padding:6px 9px; font-size:16px; }
  .pos-payment-totals { padding-block:8px; }
  .pos-payment-totals > div { margin:2px 0; }
  .pos-payment-totals .grand { padding-top:5px; margin-top:5px; }
  .pos-payment-totals .grand strong { font-size:25px; }
  .pos-custom-discount { gap:4px; margin:5px 12px; padding:7px 9px; }
  .pos-custom-discount select,.pos-custom-discount input { min-height:32px; padding:5px 7px; }
  .pos-custom-discount small { font-size:10px; }
  .pos-payment-methods { margin-top:0; padding:7px 14px; }
  .pos-payment-methods .chip { padding:6px; }
  .cash-calculator { margin:5px 14px; padding:7px 9px; }
  .cash-calculator input { padding:7px 9px; font-size:18px; }
  .cash-quick { margin:5px 0; }
  .cash-quick button { padding:5px 3px; }
  .change-display { padding:6px 9px; }
  .change-display strong { font-size:19px; }
  .pos-payment-details { margin:0 14px 8px; padding:9px; }
  .pos-payment-panel .checkout { flex:none; min-height:48px; margin:2px 14px 8px; }
  .pos-key-hint { display:none; }
  .pos-expiry-tasks { display:none; }
}
@media (max-width:720px) {
  .pos-discount-reason,.pos-payment-details.two { grid-template-columns:1fr; }
}
.pos-line-price { display:flex; min-width:108px; align-items:center; gap:4px; padding:3px 6px; border:1px solid #9dc8ee; border-radius:9px; background:#fff; }
.pos-line-price span { color:#557087; font-size:11px; font-weight:700; }
.pos-line-price input { width:72px; min-height:30px; border:0; outline:0; background:transparent; color:var(--ink); font-weight:800; text-align:right; }
.pos-line-price:focus-within { border-color:#5a91c8; box-shadow:0 0 0 3px rgba(90,145,200,.16); }
.pos-line-price.invalid { border-color:#dc2626; background:#fff1f2; }
.manual-price-note { display:block; margin-top:4px; color:#b45309; font-size:11px; font-weight:700; }
.pos-search-results-modal { width:min(760px,96vw); }
.pos-search-result-list { display:grid; gap:8px; max-height:62vh; overflow:auto; }
.pos-search-result-list > button { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); text-align:left; cursor:pointer; }
.pos-search-result-list > button:hover,.pos-search-result-list > button:focus { border-color:#6f9fd1; background:#f1f7fd; outline:none; }
.pos-search-result-list .product-thumb { width:48px; height:48px; }
.pos-search-result-list span:nth-child(2) { display:grid; gap:3px; }
.pos-search-result-list small { color:var(--muted); }
.pos-search-result-list i { color:#3f78ae; font-style:normal; font-weight:800; }
.zero-price-text { color:#dc2626; }
.match-reason { color:#2f6fa8; }
.pos-price-entry-modal { width:min(560px,96vw); }
.receiving-page{display:grid;gap:18px}.receiving-import-panel form{display:grid;gap:14px}.receiving-job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.receiving-job-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:18px;text-align:left;display:grid;gap:9px;color:inherit;cursor:pointer}.receiving-job-card:hover{border-color:var(--primary);transform:translateY(-1px)}.receiving-job-card strong{font-size:17px}.receiving-job-card small{color:var(--muted)}.receiving-job-card em{color:#b45309;font-style:normal}.receiving-progress{height:8px;border-radius:999px;overflow:hidden;background:#e5e7eb}.receiving-progress i{display:block;height:100%;background:linear-gradient(90deg,#0f766e,#22c55e)}.receiving-progress.large{height:14px}.receiving-summary{display:grid;gap:14px}.receiving-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.receiving-summary-head>div{display:flex;align-items:center;gap:12px}.receiving-summary-head strong{font-size:22px}.receiving-page .status{display:inline-flex;width:max-content;border-radius:999px;padding:4px 9px;background:#e5e7eb;font-size:12px;font-weight:700}.receiving-page .status.review{background:#fef3c7;color:#92400e}.receiving-page .status.posted{background:#dcfce7;color:#166534}.receiving-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.receiving-kpis span{background:var(--soft);border-radius:10px;padding:10px;text-align:center;font-weight:700}.receiving-scan-panel{display:grid;grid-template-columns:auto minmax(180px,1.4fr) minmax(180px,1fr) 90px 155px minmax(130px,1fr) auto auto;align-items:end;gap:10px}.receiving-scan-panel>div{align-self:center}.receiving-scan-panel label{display:block;font-weight:700}.receiving-scan-panel span{display:block;color:var(--muted);font-size:12px}.receiving-work-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px;align-items:start}.receiving-line-list{display:grid;gap:12px}.receiving-line{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:12px}.receiving-line.done{border-color:#86efac;background:#f0fdf4}.receiving-line.over{border-color:#fca5a5;background:#fef2f2}.receiving-line-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.receiving-line-main>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft);font-weight:900}.receiving-line-main>div{display:grid;gap:3px}.receiving-line-main small{color:var(--muted)}.receiving-line-main>b{font-size:18px}.receiving-map-form{display:grid;grid-template-columns:1.1fr 1.5fr .7fr .7fr auto auto auto;gap:8px;align-items:end;border-top:1px dashed var(--line);padding-top:10px}.receiving-map-form label{font-size:12px;color:var(--muted)}.receiving-map-form .inline-check{align-self:center}.receiving-scan-history{display:grid;gap:10px}.receiving-scan-history article{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.receiving-scan-history article>div{display:grid;gap:3px}.receiving-scan-history small{color:var(--muted)}.receiving-scan-history .unmatched{background:#fff1f2;border:1px solid #fecdd3;border-radius:12px;padding:10px}
@media(max-width:1050px){.receiving-scan-panel{grid-template-columns:auto 1fr 90px 150px}.receiving-scan-panel>div{grid-column:span 3}.receiving-work-layout{grid-template-columns:1fr}.receiving-map-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.receiving-summary-head{align-items:stretch;flex-direction:column}.receiving-summary-head>div{justify-content:space-between}.receiving-kpis{grid-template-columns:repeat(2,1fr)}.receiving-scan-panel{grid-template-columns:1fr 90px}.receiving-scan-panel .scan-icon{display:none}.receiving-scan-panel>div{grid-column:1/-1}.receiving-scan-panel input[name="barcode"]{grid-column:1/-1;font-size:18px}.receiving-scan-panel input[name="expiryDate"],.receiving-scan-panel input[name="batchNo"]{grid-column:1/-1}.receiving-map-form{grid-template-columns:1fr}.receiving-line-main{grid-template-columns:auto minmax(0,1fr)}.receiving-line-main>b{grid-column:2}.receiving-job-grid{grid-template-columns:1fr}}
.receiving-source-price{grid-column:1/-1;color:#7c3aed;font-weight:700;background:#f5f3ff;border-radius:8px;padding:7px 9px}
.receiving-view-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:sticky;top:8px;z-index:8;background:color-mix(in srgb,var(--bg) 92%,transparent);padding:6px;border-radius:14px}.receiving-view-tabs button{min-height:48px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);font-weight:800;cursor:pointer}.receiving-view-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.receiving-view-tabs button.needs-action:not(.active){border-color:#f59e0b;background:#fffbeb;color:#92400e}.receiving-view-tabs b{display:inline-grid;place-items:center;min-width:23px;height:23px;border-radius:999px;background:#ffffff33}.receiving-kpis{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.receiving-kpis .attention{background:#fef3c7;color:#92400e}.receiving-expiry-alert{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;border-radius:12px;padding:12px 14px;cursor:pointer}.receiving-expiry-alert span{font-size:13px}.receiving-work-layout.pending-view .receiving-scan-history,.receiving-work-layout.pending-view .receiving-expiry-pending,.receiving-work-layout.over-view .receiving-scan-history,.receiving-work-layout.over-view .receiving-expiry-pending{display:none}.receiving-work-layout.over-view{grid-template-columns:1fr}.receiving-work-layout.scanned-view,.receiving-work-layout.expiry-view{grid-template-columns:1fr}.receiving-work-layout.scanned-view>.panel:first-child,.receiving-work-layout.scanned-view .receiving-expiry-pending,.receiving-work-layout.expiry-view>.panel:first-child,.receiving-work-layout.expiry-view .receiving-scan-history{display:none}.receiving-scan-history article>i{display:grid;place-items:center;align-self:start;min-width:30px;height:30px;border-radius:50%;background:var(--soft);font-style:normal;font-weight:800}.receiving-expiry-pending{display:grid;gap:12px}.receiving-expiry-card{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.7fr) minmax(140px,.6fr) minmax(170px,.8fr) auto;gap:10px;align-items:end;border:1px solid #fbbf24;background:#fffbeb;border-radius:14px;padding:14px}.receiving-expiry-card>div{display:grid;gap:4px}.receiving-expiry-card small{color:var(--muted)}.receiving-expiry-card label{display:grid;gap:5px;font-size:12px;font-weight:700}.receiving-expiry-card .inline-check{display:flex;align-items:center;padding-bottom:10px}.receiving-expiry-empty{display:grid;place-items:center;gap:7px;padding:40px 15px;color:#166534}.receiving-expiry-empty b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#dcfce7;font-size:26px}.receiving-expiry-later-check{color:#92400e;font-weight:800;background:#fffbeb;border:1px solid #fbbf24;border-radius:10px;padding:11px}.receiving-expiry-not-required{color:#166534;background:#f0fdf4;border-radius:10px;padding:11px;font-weight:700}.receiving-review-modal{width:min(720px,96vw);max-height:94vh;overflow:auto}.receiving-review-product{display:grid;gap:5px;border:2px solid #86efac;background:#f0fdf4;border-radius:14px;padding:15px;margin:14px 0}.receiving-review-product.unmatched{border-color:#fca5a5;background:#fef2f2}.receiving-review-product>span{font-weight:800;color:#166534}.receiving-review-product.unmatched>span{color:#b91c1c}.receiving-review-product>strong{font-size:20px}.receiving-review-product>small{color:var(--muted)}.receiving-review-product>div{display:grid;gap:4px;border-top:1px dashed currentColor;margin-top:7px;padding-top:9px}.receiving-review-product label{font-size:12px;color:var(--muted)}.receiving-review-master{display:grid;gap:10px;border:1px solid #c4b5fd;background:#faf5ff;border-radius:14px;padding:14px;margin:12px 0}.receiving-price-reference{display:grid;gap:3px}.receiving-price-reference span{font-size:12px;color:#6d28d9;font-weight:800}.receiving-price-reference strong{font-size:22px;color:#5b21b6}.receiving-price-reference small{color:var(--muted)}.receiving-manual-notice{grid-column:1/-1;border:1px solid #fb923c;background:#fff7ed;color:#9a3412;border-radius:10px;padding:10px;font-weight:700}.receiving-review-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.receiving-review-progress>div{display:grid;gap:3px;text-align:center;background:var(--soft);border-radius:11px;padding:10px}.receiving-review-progress span{font-size:12px;color:var(--muted)}.receiving-review-progress strong{font-size:22px}.receiving-review-modal h3{margin:18px 0 10px}.receiving-review-modal .receiving-verify-check{margin-top:14px;padding:12px;border-radius:10px;background:#ecfeff;font-weight:700}.receiving-duplicate-check{color:#92400e;font-weight:700}.receiving-over-check{color:#b91c1c;font-weight:800}
@media(max-width:650px){.receiving-view-tabs{top:4px;gap:5px}.receiving-view-tabs button{font-size:12px;padding:5px 3px}.receiving-expiry-alert{align-items:flex-start;flex-direction:column}.receiving-expiry-card{grid-template-columns:1fr}.receiving-expiry-card .inline-check{padding-bottom:0}.receiving-review-backdrop{padding:4px 4px 0}.receiving-review-modal{width:100%;max-height:96vh}.receiving-review-progress strong{font-size:19px}.receiving-review-modal .form-grid{grid-template-columns:1fr}.receiving-scan-history article{display:grid;grid-template-columns:auto 1fr auto}.receiving-scan-history article>div{min-width:0}}
.receiving-copy-field>label{display:flex!important;align-items:center;justify-content:space-between;gap:8px}.receiving-copy-button{border:1px solid #7c3aed;background:#fff;color:#6d28d9;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.receiving-copy-button:active,.receiving-copy-button.copied{background:#6d28d9;color:#fff}
.receiving-quantity-field{grid-column:1/-1;border:3px solid #f59e0b;background:#fffbeb;border-radius:14px;padding:14px;box-shadow:0 0 0 4px #fef3c7}.receiving-quantity-field.has-value{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 4px #dbeafe}.receiving-quantity-field>label{font-size:16px!important;color:#92400e!important;font-weight:900!important}.receiving-quantity-field input{min-height:58px!important;border:3px solid #f59e0b!important;background:#fff!important;font-size:28px!important;font-weight:900!important;text-align:center}.receiving-quantity-field input::placeholder{font-size:16px;font-weight:700;color:#b45309}.receiving-quantity-field small{display:grid;gap:4px;color:#92400e}.receiving-quantity-confirm-check{display:flex!important;margin:14px 0!important;border:2px dashed #f59e0b!important;background:#fff7ed!important;color:#9a3412!important;border-radius:12px!important;padding:14px!important;font-size:15px!important;font-weight:800!important}.receiving-quantity-confirm-check.confirmed{border-style:solid!important;border-color:#22c55e!important;background:#f0fdf4!important;color:#166534!important}.receiving-quantity-confirm-check b{font-size:20px}.receiving-photo-capture{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;border:1px solid #a78bfa;background:#fff;border-radius:14px;padding:12px}.receiving-photo-preview{display:grid;place-items:center;align-content:center;gap:6px;width:150px;aspect-ratio:1;border:2px dashed #a78bfa;background:#f5f3ff;color:#6d28d9;border-radius:12px;overflow:hidden;text-align:center}.receiving-photo-preview>span{font-size:38px}.receiving-photo-preview small{padding:0 8px}.receiving-photo-preview.has-photo{border-style:solid;background:#111827}.receiving-photo-preview img{width:100%;height:100%;object-fit:cover}.receiving-photo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.receiving-photo-actions>strong,.receiving-photo-actions>span{width:100%}.receiving-photo-actions>span{font-size:13px;color:var(--muted)}.receiving-photo-button{cursor:pointer}.receiving-photo-button.loading{opacity:.65;pointer-events:none}
.receiving-touch-actions{margin:12px 0 14px;padding:13px;border:1px solid #b9d9f5;border-radius:16px;background:#f5faff}.receiving-touch-actions>p{margin:0 0 9px;color:#54738d;font-size:13px}.receiving-touch-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.receiving-touch-actions button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:74px;padding:11px;border:2px solid #bdd8ee;border-radius:13px;background:#fff;color:#183b58;text-align:left;cursor:pointer}.receiving-touch-actions button:hover,.receiving-touch-actions button:focus-visible{border-color:#297bd2;background:#eff7ff;outline:3px solid #297bd225}.receiving-touch-actions button.complete{border-color:#62bb98;background:#f0fbf6}.receiving-touch-actions button.deferred{border-color:#a4b6c6;background:#f8fafc}.receiving-touch-actions button:disabled{opacity:.58;cursor:not-allowed}.receiving-touch-actions i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#2563eb;color:#fff;font-style:normal;font-size:15px;font-weight:900}.receiving-touch-actions button.complete i{background:#16835f}.receiving-touch-actions button.deferred i{background:#64748b}.receiving-touch-actions strong,.receiving-touch-actions small{display:block}.receiving-touch-actions strong{font-size:16px}.receiving-touch-actions small{margin-top:3px;color:#667f95;font-size:12px;line-height:1.35}.receiving-touch-actions b{font-size:28px;font-weight:400;color:#3982c7}.receiving-direct-entry{margin:8px 0 13px;border:1px solid #d8e4ef;border-radius:12px;background:#fff}.receiving-direct-entry>summary{padding:11px 13px;color:#56718b;font-size:13px;font-weight:800;cursor:pointer}.receiving-direct-entry[open]>summary{border-bottom:1px solid #d8e4ef;color:#1d5f9f}.receiving-direct-entry>.form-grid{padding:12px}

/* 收貨核對：一般人只看四個動作；建檔欄位與例外資訊採漸進展開。 */
.receiving-review-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 14px}.receiving-review-steps span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid #d9e4ed;border-radius:11px;background:#f8fafc;color:#718096;font-size:13px;font-weight:850}.receiving-review-steps b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#d8e2ec;color:#526476;font-size:12px}.receiving-review-steps .active{border-color:#75add8;background:#edf7ff;color:#1e5f94}.receiving-review-steps .active b{background:#2d7cbb;color:#fff}.receiving-review-steps .complete{border-color:#8ed2b4;background:#effbf5;color:#146a4d}.receiving-review-steps .complete b{background:#18845f;color:#fff}.receiving-review-confirmation{margin:13px 0;padding:13px;border:1px solid #cbe0f0;border-radius:15px;background:#f7fbff}.receiving-review-confirmation>h3{margin:0;color:#183b58;font-size:17px}.receiving-review-confirmation>p{margin:4px 0 10px;color:#607a91;font-size:13px}.receiving-go-confirm{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin:-4px 0 13px;padding:0 15px;border:1px solid #bdd8ee;border-radius:12px;background:#fff;color:#2c6fa7;font-size:15px;font-weight:850;cursor:pointer}.receiving-go-confirm span{font-size:25px;font-weight:400}.receiving-go-confirm.ready{border-color:#6ebc99;background:#f0fbf6;color:#176b4d}.receiving-review-master{margin:12px 0;border:1px solid #d8e4ef;border-radius:14px;background:#fff}.receiving-review-master>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;color:#386a94;font-weight:850;cursor:pointer}.receiving-review-master>summary small{color:#718096;font-size:12px;font-weight:700;text-align:right}.receiving-review-master[open]>summary{border-bottom:1px solid #d8e4ef;background:#f7fbff}.receiving-review-master-body{padding:13px}
.receiving-stage-primary{position:sticky;bottom:0;z-index:4;display:grid;grid-template-columns:1fr;margin:14px -2px -2px;padding:10px 2px max(2px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#ffffffc9,#fff 35%);box-shadow:0 -8px 18px #284b6812}.receiving-stage-primary.has-back{grid-template-columns:minmax(126px,.42fr) minmax(0,1fr);gap:9px}.receiving-stage-primary .btn{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;padding:0 18px;border-radius:13px;font-size:16px;font-weight:900}.receiving-stage-primary .btn span{font-size:25px;font-weight:400}.receiving-stage-primary .btn.confirm{background:#08785d;border-color:#08785d}
.receiving-final-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.receiving-final-summary>div{display:grid;gap:3px;padding:10px 11px;border:1px solid #c9ddec;border-radius:11px;background:#fff}.receiving-final-summary dt{color:#688095;font-size:12px;font-weight:800}.receiving-final-summary dd{margin:0;color:#183b58;font-size:17px;font-weight:900}.receiving-final-summary dd b{color:#08785d;font-size:23px}
@media(max-width:650px){.receiving-review-steps{gap:5px}.receiving-review-steps span{gap:4px;min-height:39px;font-size:11px}.receiving-review-steps b{width:21px;height:21px;font-size:11px}.receiving-touch-actions>div{grid-template-columns:1fr}.receiving-touch-actions button{min-height:68px}.receiving-review-master>summary{align-items:flex-start;flex-direction:column;gap:2px}.receiving-review-master>summary small{text-align:left}.receiving-review-confirmation{padding:12px}.receiving-go-confirm{min-height:56px}}
@media(max-width:650px){.receiving-photo-capture{grid-template-columns:110px 1fr}.receiving-photo-preview{width:110px}.receiving-photo-actions .btn{width:100%;text-align:center}.receiving-quantity-field input{font-size:32px!important}}

/* Live receiving, protected commercial fields, and stable mobile editors. */
.protected-price-field,.protected-cost-field{display:grid;gap:5px;border-radius:10px;padding:9px;background:#fff7ed;border:1px solid #fdba74}.protected-cost-field{background:#f8fafc;border-color:#cbd5e1}.protected-price-field small,.protected-cost-field small{display:block;color:#7c2d12;font-size:11px;line-height:1.45}.protected-cost-field small{color:#475569}.protected-cost-section{display:grid;gap:12px;border:2px solid #cbd5e1;background:#f8fafc;border-radius:14px;padding:14px}.protected-cost-section>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.protected-cost-section>div:first-child span{font-size:12px;color:#64748b}.protected-cost-section.unlocked{border-color:#ef4444;background:#fff1f2}.cost-unlock-confirm{color:#b91c1c;font-weight:800}.receiving-supplier-source{display:grid;gap:3px;padding:11px 13px;border:1px solid #93c5fd;background:#eff6ff;border-radius:11px}.receiving-supplier-source span,.receiving-supplier-source small{font-size:12px;color:#475569}.receiving-manager-lock{grid-column:1/-1;padding:11px;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;border-radius:10px;font-weight:800}.receiving-instant-post{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) 150px auto;align-items:end;gap:10px;margin-top:10px;padding:12px;border:2px solid #60a5fa;background:#eff6ff;border-radius:13px}.receiving-instant-post>div{display:grid;gap:4px}.receiving-instant-post small{color:#475569}.receiving-instant-post label{display:grid;gap:5px;font-size:12px;font-weight:800}.receiving-instant-post input{min-height:42px}.receiving-posted-badge{align-self:center;padding:7px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:900;white-space:nowrap}.receiving-posted-time{color:#64748b}.receiving-scan-card.posted{border-color:#86efac;background:#f0fdf4}.receiving-posted-lock{grid-column:1/-1;color:#166534;font-weight:800}.receiving-summary .receiving-kpis .posted-kpi{background:#dcfce7;color:#166534;font-weight:900}.product-editor-grid{align-items:start}.product-editor-modal{width:min(820px,96vw)}

@media(max-width:650px){
  html:has(.receiving-review-backdrop),body:has(.receiving-review-backdrop),html:has(.product-editor-backdrop),body:has(.product-editor-backdrop){overflow:hidden!important;height:100%!important}
  .receiving-review-backdrop,.product-editor-backdrop{position:fixed!important;inset:0!important;display:block!important;padding:0!important;overflow:hidden!important;overscroll-behavior:none;background:#fff;z-index:100}
  .receiving-review-modal,.product-editor-modal{position:absolute!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:16px 14px max(20px,env(safe-area-inset-bottom))!important;border-radius:0!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .receiving-instant-post{grid-template-columns:1fr}.receiving-instant-post button{min-height:48px}
  .protected-cost-section>div:first-child{align-items:flex-start;flex-direction:column}
}

/* 手機工作入口：登入後先選工作，再直達進貨、點貨、POS 或查詢。 */
.mobile-home-return{display:none}
.mobile-action-home{display:grid;gap:18px;max-width:980px;margin:0 auto}
.mobile-home-welcome{padding:24px;border:1px solid #cfe0f0;border-radius:22px;background:linear-gradient(145deg,#eff7ff,#fff 60%,#ecfdf5);box-shadow:0 12px 32px #315b8612}
.mobile-home-welcome span{color:#3973aa;font-weight:900}
.mobile-home-welcome h2{margin:6px 0;font-size:30px;color:#172f49}
.mobile-home-welcome p{margin:0;color:#64748b}
.mobile-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mobile-action-card{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:1fr auto;gap:10px 13px;min-height:160px;padding:18px;border:2px solid #dbe6f1;border-radius:20px;background:#fff;color:#1e334b;text-align:left;box-shadow:0 8px 22px #315b8612;cursor:pointer}
.mobile-action-card:active{transform:scale(.985)}
.mobile-action-card>i{grid-row:1/3;display:grid;place-items:center;align-self:start;width:58px;height:58px;border-radius:17px;background:#416f9d;color:#fff;font-size:27px;font-style:normal;font-weight:950}
.mobile-action-card>span{display:grid;align-content:start;gap:5px;min-width:0}
.mobile-action-card strong{font-size:21px}
.mobile-action-card small{color:#65758a;font-size:13px;line-height:1.55}
.mobile-action-card>b{align-self:end;color:#3973aa;font-size:12px}
.mobile-action-card.green>i{background:#07966d}.mobile-action-card.orange>i{background:#ea8a08}.mobile-action-card.blue>i{background:#2563a9}.mobile-action-card.violet>i{background:#7652bd}.mobile-action-card.cyan>i{background:#078aa5}.mobile-action-card.pink>i{background:#d24f86}.mobile-action-card.slate>i{background:#526579}
.mobile-home-tip{margin:0;padding:14px 16px;border-radius:14px;background:#fff7ed;color:#92400e;font-weight:750;line-height:1.6}
.mobile-flow-steps{display:none}
.login-card-eyebrow{display:block;margin-bottom:8px;color:#3973aa;font-size:12px;font-weight:900;letter-spacing:.12em}
.login-submit{width:100%;font-size:16px;font-weight:900}

@media(max-width:720px){
  .mobile-home-topbar{min-height:64px!important;grid-template-rows:48px!important;padding-bottom:8px!important}
  .mobile-home-topbar .topbar-title{display:grid;align-content:center}
  .mobile-home-topbar .topbar-title h1{font-size:21px}
  .mobile-home-return{display:block;margin:0 0 2px;padding:0;border:0;background:transparent;color:#3973aa;font-size:10px;font-weight:900;text-align:left;cursor:pointer}
  .topbar-title:has(.mobile-home-return){display:grid;align-content:center}
  .topbar-title:has(.mobile-home-return) h1{font-size:16px;line-height:1.15}
  .mobile-action-home{gap:12px;padding-top:12px}
  .mobile-home-welcome{padding:17px 16px;border-radius:18px}
  .mobile-home-welcome h2{font-size:25px}
  .mobile-home-welcome p{font-size:13px;line-height:1.55}
  .mobile-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .mobile-action-card{grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:7px 9px;min-height:156px;padding:14px 12px;border-radius:18px}
  .mobile-action-card>i{grid-column:1;grid-row:1;width:46px;height:46px;border-radius:14px;font-size:23px}
  .mobile-action-card>span{grid-column:1/-1;grid-row:2}
  .mobile-action-card strong{font-size:19px}
  .mobile-action-card small{font-size:12px;line-height:1.45}
  .mobile-action-card>b{grid-column:1/-1;grid-row:3;font-size:11px}
  .mobile-home-tip{font-size:12px}
  .mobile-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px;border:1px solid #d9e5ef;border-radius:14px;background:#fff;box-shadow:0 5px 15px #315b8610}
  .mobile-flow-steps span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:5px;min-width:0;color:#8492a4;font-size:10px;font-weight:850}
  .mobile-flow-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#edf2f7;color:#64748b}
  .mobile-flow-steps .active{color:#1d4ed8}.mobile-flow-steps .active b{background:#2563eb;color:#fff}.mobile-flow-steps .done{color:#15803d}.mobile-flow-steps .done b{background:#16a34a;color:#fff}
  .login-page{background:linear-gradient(180deg,#eaf4ff 0,#fff 44%)}
  .login-visual{padding:22px 20px 20px!important;border-radius:0 0 28px 28px!important;background:linear-gradient(145deg,#315f91,#1f466e)!important;color:#fff}
  .login-visual .brand span{color:#dbeafe}
  .login-visual h1{margin:20px 0 4px!important;font-size:28px!important}
  .login-form-wrap{padding:24px 18px max(28px,env(safe-area-inset-bottom))!important;align-content:start!important}
  .login-card{padding:22px 18px;border:1px solid #dbe7f2;border-radius:20px;box-shadow:0 14px 36px #23476c1c}
  .login-card .field{margin:14px 0!important}
  .login-card .field input{min-height:54px!important;border:2px solid #d5e1ed!important}
  .login-card .field input:focus{border-color:#4f87bc!important;box-shadow:0 0 0 4px #dbeafe}
  .login-submit{min-height:56px!important;margin-top:4px;border-radius:14px!important}
}

@media(max-width:350px){
  .mobile-action-grid{grid-template-columns:1fr}
  .mobile-action-card{min-height:132px}
}
.receiving-summary .receiving-kpis .posted{background:#dcfce7;color:#166534;font-weight:900}

/* Stitch 02：手機功能首頁。僅更新操作皮膚，功能、權限與資料來源沿用原系統。 */
.mobile-action-home-v2{width:100%;max-width:460px;gap:14px;padding:16px;margin:0 auto;color:#17283c}
html[data-ui="operations"] .mobile-action-home-v2 .mobile-home-welcome{position:relative;overflow:hidden;padding:22px 20px;border:0;border-radius:20px;background:linear-gradient(135deg,#367ebc 0%,#4b91c7 55%,#6bb7ca 100%);box-shadow:0 10px 24px #2d6b9f2b;color:#fff}
.mobile-action-home-v2 .mobile-home-welcome::after{content:"";position:absolute;right:-42px;bottom:-62px;width:170px;height:170px;border:34px solid #ffffff12;border-radius:50%;pointer-events:none}
.mobile-action-home-v2 .mobile-home-greeting{position:relative;z-index:1;display:flex;align-items:center;gap:7px;color:#eaf6ff;font-size:14px;font-weight:850}
.mobile-action-home-v2 .mobile-home-greeting svg{width:18px;height:18px}
.mobile-action-home-v2 .mobile-home-welcome h2{position:relative;z-index:1;margin:7px 0 5px;color:#fff;font-size:28px;line-height:1.2;letter-spacing:.01em}
.mobile-action-home-v2 .mobile-home-welcome p{position:relative;z-index:1;margin:0;color:#e9f5fd;font-size:14px;line-height:1.55}
.mobile-action-home-v2 .mobile-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
html[data-ui="operations"] .mobile-action-home-v2 .mobile-action-card{display:flex;flex-direction:column;min-width:0;min-height:190px;padding:15px 14px 13px;border:1px solid #d7e4ef;border-top:4px solid var(--card-accent,#397fba);border-radius:17px;background:#fff;color:#17283c;box-shadow:0 5px 16px #33597912;text-align:left;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.mobile-action-home-v2 .mobile-action-card:hover{border-color:color-mix(in srgb,var(--card-accent,#397fba) 50%,#d7e4ef);box-shadow:0 9px 22px #3359791e}
.mobile-action-home-v2 .mobile-action-card:focus-visible{outline:3px solid color-mix(in srgb,var(--card-accent,#397fba) 32%,transparent);outline-offset:2px}
.mobile-action-home-v2 .mobile-action-card:active{transform:scale(.975)}
.mobile-action-home-v2 .mobile-action-card.green{--card-accent:#168a67;--card-soft:#e7f7f1}.mobile-action-home-v2 .mobile-action-card.amber{--card-accent:#d98b16;--card-soft:#fff5dd}.mobile-action-home-v2 .mobile-action-card.orange{--card-accent:#e2773a;--card-soft:#fff0e7}.mobile-action-home-v2 .mobile-action-card.blue{--card-accent:#397fba;--card-soft:#e9f3fc}.mobile-action-home-v2 .mobile-action-card.violet{--card-accent:#7357b6;--card-soft:#f1edfb}.mobile-action-home-v2 .mobile-action-card.cyan{--card-accent:#16879d;--card-soft:#e8f6f8}.mobile-action-home-v2 .mobile-action-card.pink{--card-accent:#c84f81;--card-soft:#fbeaf1}.mobile-action-home-v2 .mobile-action-card.slate{--card-accent:#556a7d;--card-soft:#eef2f5}
.mobile-action-home-v2 .mobile-action-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
.mobile-action-home-v2 .mobile-action-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:13px;background:var(--card-soft);color:var(--card-accent);font-style:normal}
.mobile-action-home-v2 .mobile-action-icon svg{width:25px;height:25px}
.mobile-action-home-v2 .mobile-action-card-head em{padding:4px 8px;border-radius:999px;background:var(--card-soft);color:var(--card-accent);font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}
.mobile-action-home-v2 .mobile-action-copy{display:grid;gap:5px;width:100%;min-width:0;margin-top:12px}
.mobile-action-home-v2 .mobile-action-copy strong{font-size:18px;line-height:1.25;overflow-wrap:anywhere}
.mobile-action-home-v2 .mobile-action-copy small{display:-webkit-box;overflow:hidden;color:#687b8f;font-size:13px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mobile-action-home-v2 .mobile-action-enter{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-top:auto;padding-top:10px;color:var(--card-accent);font-size:12px;line-height:1.2}
.mobile-action-home-v2 .mobile-action-enter>i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--card-soft);font-size:19px;font-style:normal;font-weight:500}
.mobile-action-home-v2 .mobile-home-tip{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:11px;padding:13px 14px;border:1px solid #f2d18c;border-radius:14px;background:#fff8e8;color:#724b13;font-size:13px;line-height:1.5}
.mobile-action-home-v2 .mobile-home-tip>svg{width:25px;height:25px;margin:2px auto;color:#d78812}
.mobile-action-home-v2 .mobile-home-tip p{display:grid;gap:2px;margin:0}.mobile-action-home-v2 .mobile-home-tip strong{font-size:14px}.mobile-action-home-v2 .mobile-home-tip span{color:#80633a}

@media(max-width:720px){
  body:has(.mobile-action-home-v2){background:#f3f7fb}
  .mobile-home-topbar-v2{position:sticky;top:0;z-index:30;display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;align-items:center;gap:8px;width:100%;min-height:70px!important;padding:9px 14px!important;border-bottom:1px solid #dbe6ef;background:#fff;box-shadow:0 3px 12px #2f557312}
  .mobile-home-topbar-v2 .mobile-menu-button{position:static!important;display:grid!important;place-content:center;width:44px;height:44px;border:1px solid #d4e1ec;border-radius:13px;background:#f8fbfd}
  .mobile-home-topbar-v2 .mobile-home-title{display:grid;place-items:center;gap:1px;min-width:0;text-align:center}
  .mobile-home-topbar-v2 .mobile-home-title>span{display:flex;align-items:center;gap:5px;color:#3883b8;font-size:10px;font-weight:850}.mobile-home-topbar-v2 .mobile-home-title>span i{width:7px;height:7px;border-radius:50%;background:#20a873;box-shadow:0 0 0 3px #dff7ee}
  .mobile-home-topbar-v2 .mobile-home-title h1{margin:0;color:#17283c;font-size:20px;line-height:1.2}
  .mobile-home-topbar-v2 .account-menu{position:relative!important;display:block!important;justify-self:end}
  .mobile-home-topbar-v2 .account-trigger{display:grid!important;place-items:center;width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border:1px solid #d4e1ec!important;border-radius:14px!important;background:#f8fbfd!important}
  .mobile-home-topbar-v2 .account-trigger .avatar{width:34px;height:34px;background:#eaf3fb;color:#397fba;font-size:16px}
  .mobile-home-topbar-v2 .account-summary,.mobile-home-topbar-v2 .account-chevron{display:none!important}
  .mobile-home-topbar-v2 .account-dropdown{right:0;left:auto;min-width:min(300px,calc(100vw - 28px))}
  .mobile-action-home-v2{padding:13px 14px max(22px,env(safe-area-inset-bottom));gap:12px}
}
@media(max-width:374px){
  .mobile-action-home-v2{padding-right:11px;padding-left:11px}
  .mobile-action-home-v2 .mobile-action-grid{gap:8px}
  .mobile-action-home-v2 .mobile-action-card{min-height:184px;padding:13px 11px 11px}
  .mobile-action-home-v2 .mobile-action-copy strong{font-size:17px}
  .mobile-action-home-v2 .mobile-action-copy small{font-size:12px}
}
@media(max-width:339px){.mobile-action-home-v2 .mobile-action-grid{grid-template-columns:1fr}.mobile-action-home-v2 .mobile-action-card{min-height:156px}}

/* 任務首頁：桌機與手機共用同一套入口，四個核心工作保留清楚的下一步。 */
.task-home-v3{max-width:1160px;padding:30px 32px 44px}
.task-home-v3 .mobile-home-welcome{padding:24px 28px}
.task-home-v3 .mobile-action-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.task-home-v3 .mobile-action-card{min-height:196px}
.task-home-more{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px;border:1px dashed #aac4d8;border-radius:14px;background:#f8fbfd;color:#356e9f;font-size:15px;font-weight:850;cursor:pointer}
.task-home-more:hover{background:#edf6fc;border-color:#6f9fc2}.task-home-more span{font-size:20px;line-height:1}
@media(min-width:721px){
  .mobile-home-topbar-v2{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;align-items:center;min-height:72px!important;padding:10px 30px!important;border-bottom:1px solid #dbe6ef;background:#fff}
  .mobile-home-topbar-v2 .mobile-menu-button{display:grid!important;place-content:center;width:44px;height:44px;border:1px solid #d4e1ec;border-radius:13px;background:#f8fbfd}
  .mobile-home-topbar-v2 .mobile-home-title{display:grid;justify-items:start;gap:2px;min-width:0}
  .mobile-home-topbar-v2 .mobile-home-title>span{display:flex;align-items:center;gap:6px;color:#3883b8;font-size:12px;font-weight:850}.mobile-home-topbar-v2 .mobile-home-title>span i{width:7px;height:7px;border-radius:50%;background:#20a873}
  .mobile-home-topbar-v2 .mobile-home-title h1{margin:0;color:#17283c;font-size:24px;line-height:1.15}
  .mobile-home-topbar-v2 .account-menu{justify-self:end}
}
@media(max-width:720px){.task-home-v3{max-width:460px;padding:13px 14px max(22px,env(safe-area-inset-bottom))}.task-home-v3 .mobile-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.task-home-v3 .mobile-action-card{min-height:184px}.task-home-v3 .mobile-home-welcome{padding:22px 20px}}
@media(max-width:339px){.task-home-v3 .mobile-action-grid{grid-template-columns:1fr}.task-home-v3 .mobile-action-card{min-height:156px}}

/* Stitch 03：手機抽屜選單；沿用既有角色權限、工作臺與路由。 */
.workspace-picker-detail{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:9px;text-align:left}
.workspace-picker-detail>span{display:grid;gap:3px}.workspace-picker-detail strong{font-size:14px;line-height:1.3}.workspace-picker-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#ffffff14;color:#dbeafe;font-size:15px;font-style:normal}
.workspace-kicker{display:flex;align-items:center;gap:6px}.workspace-kicker>i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#61a9dc;box-shadow:0 0 0 3px #4f8fcc20}
.workspace-picker>b{display:flex;align-items:center;justify-content:flex-end;gap:5px}.workspace-picker>b i{font-size:16px;font-style:normal}
.mobile-nav-arrow{display:none}
.sidebar-foot>span{display:grid;gap:2px}.sidebar-foot>span>i{display:none}.sidebar-foot strong{font-size:12px}.sidebar-foot small{font-size:11px}
.sidebar-foot>button{display:none}

@media(max-width:720px){
  html[data-ui="operations"] .mobile-nav-open .mobile-nav-backdrop{display:block;background:#080d16a3;backdrop-filter:blur(4px);cursor:pointer}
  html[data-ui="operations"] .mobile-nav-open .mobile-nav-backdrop::after{content:"";position:absolute;right:29px;top:calc(50% - 24px);width:4px;height:48px;border-radius:999px;background:#ffffff3d}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3,
  html[data-ui="operations"] body:has(.pos-register-page) .sidebar.mobile-drawer-v3{z-index:81!important;inset:0 auto 0 0!important;display:flex!important;width:min(84vw,328px)!important;height:100dvh!important;padding:0!important;overflow:hidden!important;border-right:1px solid #2a3a52!important;background:linear-gradient(180deg,#141e2e 0%,#121b29 100%)!important;box-shadow:12px 0 34px #0008!important;color:#e6edf6!important;transform:translateX(-105%);transition:transform .22s ease}
  html[data-ui="operations"] .mobile-nav-open .sidebar.mobile-drawer-v3,
  html[data-ui="operations"] body:has(.pos-register-page) .mobile-nav-open .sidebar.mobile-drawer-v3{transform:translateX(0)!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .brand{display:flex!important;flex:0 0 auto;align-items:center;gap:11px;min-height:76px!important;margin:0 16px;padding:max(16px,env(safe-area-inset-top)) 0 12px!important;border-bottom:1px solid #2a3a5273}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .brand-mark{display:grid!important;width:40px!important;height:40px!important;flex:0 0 40px;border-radius:12px;background:linear-gradient(145deg,#5f9bd2,#356aa7);box-shadow:0 7px 18px #183a5f80;color:#fff;font-size:17px}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .brand>div:nth-child(2){display:block!important;min-width:0}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .brand strong{color:#fff;font-size:18px;line-height:1.2}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .brand span{display:block;color:#7e9bbd;font-size:11px;line-height:1.3;letter-spacing:.05em}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .mobile-nav-close{display:grid!important;place-items:center;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;margin-left:auto;padding:0!important;border:1px solid #31445f!important;border-radius:50%!important;background:#1c283c!important;color:#cbd5e1!important;font-size:0!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .mobile-nav-close svg{width:17px;height:17px}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .workspace-picker{display:grid!important;flex:0 0 auto;gap:9px;margin:14px 16px 5px!important;padding:13px!important;border:1px solid #2c405e!important;border-radius:13px!important;background:linear-gradient(145deg,#1d2b40,#172233)!important;box-shadow:inset 0 1px #ffffff0a;text-align:left}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .workspace-kicker{color:#5da0d5!important;font-size:11px!important;font-weight:850;letter-spacing:.08em}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .workspace-picker-detail{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:10px!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .workspace-picker-icon{display:grid!important;width:34px;height:34px;border:1px solid #4f8fcc4d;background:#4f8fcc1f;color:#6eaddc}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .workspace-picker-detail>span{display:grid!important;gap:3px}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .workspace-picker-detail strong{display:block!important;color:#fff!important;font-size:16px!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .workspace-picker-detail small{display:block!important;color:#8ca1ba!important;font-size:11px!important;line-height:1.4!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .workspace-picker>b{display:flex!important;padding-top:8px;border-top:1px solid #ffffff0d;color:#65a6d7!important;font-size:11px!important;font-weight:800;text-align:right;opacity:1}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-groups{display:block!important;flex:1 1 auto;min-height:0;max-height:none!important;margin:0;padding:5px 16px 16px!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff22 transparent}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-group{display:block!important;margin:0!important;padding:0!important;border:0!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-section{display:block!important;padding:17px 9px 6px!important;color:#7e92ab!important;font-size:11px!important;font-weight:850;letter-spacing:.1em!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-button{display:grid!important;grid-template-columns:34px minmax(0,1fr) 16px!important;align-items:center;gap:10px;width:100%!important;min-height:48px!important;margin:2px 0!important;padding:7px 10px!important;border:1px solid transparent!important;border-radius:12px!important;background:transparent!important;color:#d7e0eb!important;text-align:left!important;box-shadow:none!important;cursor:pointer}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-button:hover{background:#1c283cbf!important;color:#fff!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-button.active{border-color:#4f8fcc42!important;background:#4f8fcc1b!important;color:#fff!important;box-shadow:none!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-icon{display:grid!important;place-items:center;width:34px!important;height:34px!important;border-radius:9px!important;background:#1c283c!important;color:#b9c8d9!important;font-size:14px!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-button.active .nav-icon{background:#4f8fcc!important;color:#fff!important;box-shadow:0 5px 13px #326b9f55}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-label{display:block!important;overflow:visible!important;color:inherit!important;font-size:14px!important;font-weight:750!important;line-height:1.35!important;text-overflow:clip!important;white-space:normal!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-drag-handle{display:none!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .mobile-nav-arrow{display:block!important;color:#60758e;font-size:20px;line-height:1;text-align:center}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-button.active .mobile-nav-arrow{color:#5fa2d5}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .nav-reset{display:none!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .sidebar-foot{display:flex!important;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;margin:0!important;padding:13px 16px max(13px,env(safe-area-inset-bottom))!important;border-top:1px solid #223044!important;background:#101724!important;color:#dbe4ee!important}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .sidebar-foot>span{position:relative;display:grid!important;grid-template-columns:10px minmax(0,1fr);gap:2px 5px;min-width:0}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .sidebar-foot>span>i{display:block;grid-row:1;width:7px;height:7px;margin-top:4px;border-radius:50%;background:#20b77b}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .sidebar-foot strong{grid-column:2;overflow:hidden;color:#e3eaf2;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .sidebar-foot small{grid-column:2;color:#7e92ab;font-size:10px}
  html[data-ui="operations"] .sidebar.mobile-drawer-v3 .sidebar-foot>button{display:block;min-width:48px;min-height:32px;padding:5px 9px;border:1px solid #2a3a52;border-radius:7px;background:#1c283c;color:#aab8c8;font-size:11px}
}

/* Stitch 04：商品資料手機卡片頁；保留真實查詢、建檔、效期與分頁行為。 */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.product-manage-toolbar-v4{display:grid;gap:10px;padding:13px;border:1px solid #dbe5ee;border-radius:16px;background:#fff;box-shadow:0 3px 13px #315c7f0d}
.product-search-v4{position:relative;display:block;width:100%}.product-search-v4>svg{position:absolute;z-index:1;left:13px;top:50%;width:18px;height:18px;color:#8c9bab;transform:translateY(-50%);pointer-events:none}.product-search-v4 .search{width:100%;max-width:none;padding-left:40px;background:#f7f9fb}
.product-manage-toolbar-v4 .product-view-row,.product-manage-toolbar-v4 .product-create-row{display:flex;align-items:center;gap:8px;justify-content:flex-start}.product-manage-toolbar-v4 .product-view-row .smart-lookup-button{margin-left:auto}.product-manage-toolbar-v4 .product-create-row>*{flex:1}
.manage-filter-stack{display:grid;gap:8px;margin:14px 0}.manage-status-filter-row,.manage-filter-stack .manage-category-row{display:flex;gap:7px;margin:0;overflow-x:auto;padding:1px 0 4px;scrollbar-width:none}.manage-status-filter-row::-webkit-scrollbar,.manage-filter-stack .manage-category-row::-webkit-scrollbar{display:none}.manage-status-filter-row .manage-category-chip,.manage-filter-stack .manage-category-row .manage-category-chip{flex:none}

@media(max-width:720px){
  html[data-ui="operations"] body:has(.product-management-v4){background:#f4f8fc}
  html[data-ui="operations"] .product-header-v4{position:sticky;top:0;z-index:30;min-height:108px;padding:max(8px,env(safe-area-inset-top)) 12px 8px;background:#fff;box-shadow:0 3px 12px #315c7f10}
  html[data-ui="operations"] .product-header-v4 .mobile-menu-button{background:#f8fafc;border-color:#d8e3ec}
  html[data-ui="operations"] .product-header-v4 .topbar-title{display:grid;align-content:center;gap:1px}
  html[data-ui="operations"] .product-header-v4 .mobile-home-return{display:block;color:#3a78b2;font-size:11px;line-height:1.2}
  html[data-ui="operations"] .product-header-v4 .topbar-title h1{margin:0;color:#17283c;font-size:19px;line-height:1.2}
  html[data-ui="operations"] .product-header-v4 .workspace-switcher{min-height:40px!important;padding:5px 9px!important;border-color:#e3eaf0;background:#fbfcfd}
  html[data-ui="operations"] .product-header-v4 .workspace-switcher>span{color:#98a5b4;font-size:10px}.product-header-v4 .workspace-switcher>strong{font-size:13px}.product-header-v4 .workspace-switcher>b{font-size:11px}
  html[data-ui="operations"] .product-management-v4{width:100%;max-width:430px;margin:0 auto;padding:12px 11px max(28px,env(safe-area-inset-bottom))}
  html[data-ui="operations"] .product-manage-toolbar-v4{gap:9px;padding:12px;border-radius:16px}
  html[data-ui="operations"] .product-search-v4 .search{min-height:46px;padding:10px 12px 10px 39px;border:1px solid #d9e3eb;border-radius:12px;background:#f7f9fb;font-size:13px}
  html[data-ui="operations"] .product-search-v4 .search:focus{border-color:#4f8fcc;background:#fff;box-shadow:0 0 0 3px #d9ebf8}
  html[data-ui="operations"] .product-manage-toolbar-v4 .product-view-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
  html[data-ui="operations"] .product-manage-toolbar-v4 .view-switch{display:flex;padding:3px;border:1px solid #dce4eb;border-radius:11px;background:#f1f4f7}
  html[data-ui="operations"] .product-manage-toolbar-v4 .view-switch .btn{min-height:36px;padding:6px 10px;border:0;background:transparent;color:#5e7083;font-size:12px;box-shadow:none}
  html[data-ui="operations"] .product-manage-toolbar-v4 .view-switch .btn.active{background:#fff;color:#2d659a;box-shadow:0 1px 4px #27394c1c}
  html[data-ui="operations"] .product-manage-toolbar-v4 .smart-lookup-button{width:100%;min-height:42px!important;margin:0;border-color:#b9d7ee;background:#eef6fc;color:#2d659a;font-size:12px;font-weight:850}
  html[data-ui="operations"] .product-manage-toolbar-v4 .product-column-button,.product-manage-toolbar-v4 .product-column-reset{display:none}
  html[data-ui="operations"] .product-manage-toolbar-v4 .product-create-row{display:grid;grid-template-columns:2fr 3fr;gap:8px;width:100%}
  html[data-ui="operations"] .product-manage-toolbar-v4 .product-create-row .btn{width:100%;min-height:44px;padding:8px 7px;border-radius:11px;font-size:13px;font-weight:850}
  html[data-ui="operations"] .product-manage-toolbar-v4 .product-create-row .primary{background:#4f8fcc;border-color:#4f8fcc;box-shadow:0 5px 12px #4f8fcc30}
  html[data-ui="operations"] .product-management-v4 .manage-filter-stack{gap:7px;margin:11px 0 9px}
  html[data-ui="operations"] .product-management-v4 .manage-status-filter-row,.product-management-v4 .manage-category-row{gap:6px;padding:1px 1px 4px}
  html[data-ui="operations"] .product-management-v4 .manage-category-chip{min-height:34px;padding:6px 10px;border-radius:999px;font-size:12px;white-space:nowrap}
  html[data-ui="operations"] .product-management-v4 .manage-category-chip span{font-size:10px}
  html[data-ui="operations"] .product-management-v4 .manage-category-chip.active{background:#4f8fcc;border-color:#4f8fcc;color:#fff;box-shadow:0 3px 8px #4f8fcc2b}
  html[data-ui="operations"] .product-management-v4 .manage-category-chip.pending-priority:not(.active){border-color:#f3a9a9;background:#fff1f2;color:#a83232}
  html[data-ui="operations"] .product-management-v4 .manage-category-chip.image-priority:not(.active){border-color:#efd18a;background:#fff8e6;color:#8a5a12}
  html[data-ui="operations"] .product-management-v4 .product-work-hint{align-items:flex-start;flex-direction:column;gap:4px;margin:2px 0 9px;padding:10px 12px;line-height:1.45}
  html[data-ui="operations"] .product-management-v4 .manage-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  html[data-ui="operations"] .product-management-v4 .manage-product-card{overflow:hidden;border-radius:15px;box-shadow:0 2px 8px #315c7f10}
  html[data-ui="operations"] .product-management-v4 .manage-product-image{margin:8px 8px 0;width:calc(100% - 16px);border:1px dashed #dce5ed;border-radius:12px;background:#f8fafc}
  html[data-ui="operations"] .product-management-v4 .manage-product-image img{padding:5px;object-fit:contain!important;background:#fff}
  html[data-ui="operations"] .product-management-v4 .manage-category-tag{left:6px;top:6px;padding:3px 6px;border:1px solid #dce5ed;border-radius:7px;font-size:10px}
  html[data-ui="operations"] .product-management-v4 .manage-image-missing-tag{right:6px;bottom:6px;padding:3px 6px;border-radius:7px;font-size:9px}
  html[data-ui="operations"] .product-management-v4 .manage-product-body{padding:9px 9px 6px}
  html[data-ui="operations"] .product-management-v4 .manage-product-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:start}
  html[data-ui="operations"] .product-management-v4 .manage-product-title>strong{display:-webkit-box;min-height:33px;overflow:hidden;font-size:13px;line-height:1.3;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  html[data-ui="operations"] .product-management-v4 .manage-status{padding:3px 5px;border:1px solid currentColor;font-size:9px}
  html[data-ui="operations"] .product-management-v4 .manage-product-body>small{margin-top:3px;font-size:10px}
  html[data-ui="operations"] .product-management-v4 .manage-missing-fields{margin-top:5px}.product-management-v4 .manage-missing-fields span,.product-management-v4 .manage-missing-fields b{font-size:9px}
  html[data-ui="operations"] .product-management-v4 .manage-price{margin-top:7px;color:#e5483f;font-size:19px;line-height:1.15}
  html[data-ui="operations"] .product-management-v4 .manage-product-meta{justify-content:space-between;gap:5px;padding-top:5px;font-size:11px}
  html[data-ui="operations"] .product-management-v4 .manage-expiry{min-height:34px;margin-top:7px;padding:6px 7px;border-radius:8px;font-size:10px}
  html[data-ui="operations"] .product-management-v4 .manage-product-actions{grid-template-columns:repeat(3,1fr);gap:0;padding:0;border-top:1px solid #edf1f4;background:#fafbfd}
  html[data-ui="operations"] .product-management-v4 .manage-product-actions .btn{min-width:0;min-height:44px;padding:6px 2px;border:0;border-radius:0;background:transparent;color:#526578;font-size:11px;box-shadow:none}
  html[data-ui="operations"] .product-management-v4 .manage-product-actions .btn+.btn{border-left:1px solid #edf1f4}.product-management-v4 .manage-product-actions .danger{color:#c83c42}
  html[data-ui="operations"] .product-management-v4 .manage-card-empty{grid-column:1/-1}
  html[data-ui="operations"] .product-management-v4 .product-pagination{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin:12px 0 0;padding:12px;border-radius:15px}
  html[data-ui="operations"] .product-management-v4 .product-pagination>span{margin:0}.product-management-v4 .product-pagination>button{min-height:38px;padding:6px 9px;font-size:11px}.product-management-v4 .product-pagination>strong{font-size:11px;white-space:nowrap}
  html[data-ui="operations"] .product-management-v4 .product-pagination>button:nth-of-type(2){grid-column:1}.product-management-v4 .product-pagination>label{grid-column:2/4;grid-row:2;justify-self:end;font-size:11px}.product-management-v4 .product-pagination select{min-height:38px;padding:5px 8px;font-size:12px}
}
.receiving-template-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.receiving-template-actions small{color:var(--muted)}.receiving-import-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;margin:12px 0 16px}.receiving-import-summary>div{display:grid;gap:4px;border:1px solid #c4b5fd;background:#faf5ff;border-radius:11px;padding:11px}.receiving-import-summary span{font-size:12px;color:#6d28d9;font-weight:700}.receiving-import-summary strong{font-size:17px;color:#4c1d95}
.receiving-cost-form{display:grid;gap:13px;margin:18px 0;padding:16px;border:2px solid #8b5cf6;border-radius:14px;background:#faf5ff}.receiving-cost-form h3,.receiving-cost-form p{margin:0}.receiving-cost-form p{color:var(--muted);font-size:13px}.receiving-cost-warning{margin:10px 0;padding:10px 12px;border:1px solid #f59e0b;border-radius:10px;background:#fffbeb;color:#92400e;font-weight:700}.receiving-cost-preview{margin:18px 0}.receiving-preview-table{max-height:430px;overflow:auto;border:1px solid #ddd6fe;border-radius:12px}.receiving-preview-table table{width:100%;border-collapse:collapse;background:#fff}.receiving-preview-table th{position:sticky;top:0;z-index:1;background:#ede9fe;color:#4c1d95}.receiving-preview-table th,.receiving-preview-table td{padding:10px;border-bottom:1px solid #ede9fe;text-align:right;white-space:nowrap}.receiving-preview-table th:first-child,.receiving-preview-table td:first-child{text-align:left;white-space:normal;min-width:240px}.receiving-preview-table td small{display:block;color:var(--muted);margin-top:3px}.receiving-create-job{margin-top:6px}.receiving-template-actions{display:block;border-top:1px dashed #d1d5db;padding-top:12px;color:var(--muted)}.receiving-template-actions summary{cursor:pointer;margin-bottom:10px;font-weight:700}
@media(max-width:650px){.receiving-cost-form{padding:12px}.receiving-preview-table th,.receiving-preview-table td{padding:8px;font-size:13px}.receiving-preview-table th:first-child,.receiving-preview-table td:first-child{min-width:190px}}
.receiving-job-card-wrap{display:grid;gap:8px;align-content:start}.receiving-job-card-wrap .receiving-job-card{width:100%;height:100%}.receiving-job-delete{justify-self:end}
.receiving-cost-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) minmax(150px,.85fr);gap:9px;padding:12px;border:1px solid #c4b5fd;border-radius:13px;background:#faf5ff}.receiving-cost-summary>div{display:grid;gap:3px}.receiving-cost-summary span{font-size:12px;color:#6d28d9;font-weight:800}.receiving-cost-summary strong{font-size:18px;color:#4c1d95}.receiving-cost-summary small{color:var(--muted)}.receiving-cost-summary .total{padding-left:10px;border-left:3px solid #7c3aed}.receiving-cost-summary .rate{place-content:center;place-items:center;min-height:74px;padding:10px;border-radius:12px;background:linear-gradient(145deg,#7c3aed,#4c1d95);text-align:center}.receiving-cost-summary .rate span,.receiving-cost-summary .rate strong,.receiving-cost-summary .rate small{color:#fff}.receiving-cost-summary .rate strong{font-size:30px;line-height:1}.receiving-cost-summary.compact{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(140px,.8fr);padding:9px;margin-top:3px}.receiving-cost-summary.compact .rate{grid-column:3;grid-row:1/3;min-height:100%}.receiving-cost-summary.compact .rate strong{font-size:32px}.receiving-cost-summary.compact>div:not(.rate) strong{font-size:14px}.receiving-cost-summary.compact small{font-size:10px}.receiving-job-card .receiving-cost-summary{width:100%;text-align:left}.receiving-persisted-cost{margin-top:-2px}
@media(max-width:650px){.receiving-cost-summary{grid-template-columns:repeat(2,1fr)}.receiving-cost-summary .total{padding-left:0;border-left:0;border-top:3px solid #7c3aed;padding-top:7px}.receiving-cost-summary .rate{grid-column:1/-1}.receiving-cost-summary.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.receiving-cost-summary.compact .rate{grid-column:1/-1;grid-row:auto;min-height:84px}}

/* Pending and overage views hide both side panels, so the item panel must fill the row. */
.receiving-work-layout.pending-view,
.receiving-work-layout.over-view{grid-template-columns:minmax(0,1fr)}

.receiving-game-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px}.receiving-game-caption strong{color:#4338ca}.receiving-game-caption span{color:var(--muted);font-size:13px;font-weight:700}.receiving-game-progress{--receiving-game-progress:0%;position:relative;height:48px!important;margin:2px 4px 12px;border:5px solid #dbeafe;border-radius:18px!important;overflow:visible!important;background:#475569!important;box-shadow:inset 0 3px 8px #0f172a55,0 7px 15px #2563eb20}.receiving-game-progress::after{content:"";position:absolute;z-index:2;left:18px;right:18px;top:50%;height:4px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,#fff 0 17px,transparent 17px 30px);opacity:.9}.receiving-game-progress>i:first-child{position:absolute;z-index:1;inset:0 auto 0 0;height:100%;border-radius:12px;background:linear-gradient(90deg,#34d399,#22c55e,#a3e635);box-shadow:inset 0 0 10px #fff7}.receiving-game-start,.receiving-game-finish{position:absolute;z-index:4;top:50%;display:grid;place-items:center;width:35px;height:35px;transform:translateY(-50%);border-radius:50%;background:#fff;box-shadow:0 3px 8px #0f172a33;font-size:21px}.receiving-game-start{left:-3px}.receiving-game-finish{right:-3px}.receiving-game-truck{position:absolute;z-index:5;left:clamp(35px,var(--receiving-game-progress),calc(100% - 35px));top:50%;display:grid;place-items:center;transform:translate(-50%,-50%);transition:left .45s ease}.receiving-game-truck i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff7ed;box-shadow:0 4px 10px #0f172a40;font-size:26px;font-style:normal}.receiving-game-truck b{position:absolute;bottom:38px;padding:3px 8px;border-radius:999px;background:#4f46e5;color:#fff;font-size:11px;white-space:nowrap;box-shadow:0 3px 7px #312e8138}.receiving-priority-pick{border:2px solid #f59e0b!important;background:linear-gradient(135deg,#fffbeb,#fff)!important;box-shadow:0 7px 18px #f59e0b20}.receiving-priority-badge{width:max-content;padding:4px 9px;border-radius:999px;background:#f59e0b;color:#fff;font-size:12px;font-weight:900}
@media(max-width:650px){.receiving-game-caption{align-items:flex-start;flex-direction:column;gap:3px}.receiving-game-progress{margin-top:20px}.receiving-game-truck b{bottom:39px}.receiving-priority-badge{font-size:11px}}

.receiving-pallet-progress{height:92px!important;margin:4px 2px 14px;border:3px solid #fde68a;border-radius:18px!important;background:linear-gradient(#e0f2fe 0 61%,#fef3c7 61% 100%)!important;box-shadow:inset 0 -10px 18px #92400e12,0 7px 16px #0f172a16}.receiving-pallet-progress::before{content:"";position:absolute;z-index:1;left:0;right:0;bottom:25px;height:3px;background:#d6a96c;box-shadow:0 6px 0 #f5d59f}.receiving-pallet-progress::after{content:"";position:absolute;z-index:1;left:18%;right:14%;top:32px;height:3px;background:repeating-linear-gradient(90deg,#60a5fa 0 10px,transparent 10px 20px);opacity:.45}.receiving-pallet-progress>i:first-child{position:absolute;z-index:0;inset:auto auto 0 0;height:36%;border-radius:0 0 14px 14px;background:linear-gradient(90deg,#fcd34d55,#86efac88);box-shadow:none}.receiving-box-pile{position:absolute;z-index:4;left:10px;bottom:20px;width:70px;height:56px}.receiving-box-pile i{position:absolute;width:30px;height:25px;border:2px solid #92400e;border-radius:4px;background:linear-gradient(135deg,#fbbf24,#d97706);box-shadow:inset 0 0 0 2px #fde68a88}.receiving-box-pile i::after,.receiving-pallet-load i::after{content:"";position:absolute;left:50%;top:0;width:4px;height:100%;transform:translateX(-50%);background:#fde68a99}.receiving-box-pile i:nth-child(1){left:0;bottom:0;transform:rotate(-5deg)}.receiving-box-pile i:nth-child(2){left:29px;bottom:0;transform:rotate(4deg)}.receiving-box-pile i:nth-child(3){left:15px;bottom:24px;transform:rotate(2deg)}.receiving-box-pile small,.receiving-pallet small{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);padding:2px 7px;border-radius:999px;background:#fff;color:#92400e;font-size:10px;font-weight:900;white-space:nowrap;box-shadow:0 2px 5px #0f172a1a}.receiving-warehouse-worker{position:absolute;z-index:6;left:clamp(92px,var(--receiving-game-progress),calc(100% - 100px));bottom:17px;display:flex;align-items:flex-end;transform:translateX(-50%);transition:left .45s ease}.receiving-warehouse-worker>span{font-size:38px;filter:drop-shadow(0 4px 3px #0f172a33)}.receiving-warehouse-worker em{margin:0 0 2px -8px;font-size:24px;font-style:normal;filter:drop-shadow(0 3px 2px #0f172a30)}.receiving-warehouse-worker b{position:absolute;left:50%;bottom:47px;transform:translateX(-50%);padding:3px 9px;border-radius:999px;background:#4f46e5;color:#fff;font-size:11px;white-space:nowrap;box-shadow:0 3px 7px #312e8138}.receiving-pallet{position:absolute;z-index:5;right:12px;bottom:18px;width:82px;height:62px}.receiving-pallet-load{position:absolute;left:7px;right:7px;bottom:10px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:21px;align-content:end;gap:2px}.receiving-pallet-load i{position:relative;border:2px solid transparent;border-radius:3px;background:transparent}.receiving-pallet-load i.loaded{border-color:#92400e;background:linear-gradient(135deg,#fb923c,#d97706);box-shadow:inset 0 0 0 1px #fed7aa}.receiving-pallet-base{position:absolute;left:0;right:0;bottom:2px;height:9px;border-top:4px solid #78350f;border-bottom:4px solid #78350f;background:repeating-linear-gradient(90deg,#b45309 0 12px,#f59e0b 12px 17px)}
@media(max-width:650px){.receiving-pallet-progress{height:100px!important;margin-top:18px}.receiving-box-pile{left:5px;transform:scale(.86);transform-origin:left bottom}.receiving-pallet{right:5px;transform:scale(.86);transform-origin:right bottom}.receiving-warehouse-worker{left:clamp(75px,var(--receiving-game-progress),calc(100% - 78px))}.receiving-warehouse-worker>span{font-size:34px}.receiving-warehouse-worker em{font-size:21px}}
.receiving-progress .receiving-pallet .receiving-pallet-base{position:absolute;left:0;right:0;bottom:2px;width:auto;height:9px;border-top:4px solid #78350f;border-bottom:4px solid #78350f;background:repeating-linear-gradient(90deg,#b45309 0 12px,#f59e0b 12px 17px)}
.receiving-warehouse-worker>img{display:block;width:68px;height:68px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 3px #0f172a33)}.receiving-warehouse-worker:has(>img){bottom:10px}.receiving-warehouse-worker:has(>img) b{bottom:68px}
@media(max-width:650px){.receiving-warehouse-worker>img{width:60px;height:60px}.receiving-warehouse-worker:has(>img){bottom:12px}.receiving-warehouse-worker:has(>img) b{bottom:59px}}
.receiving-pallet-progress{height:122px!important;padding-top:30px}.receiving-pallet-progress::after{top:51px;left:18%;right:14%}.receiving-station-label{position:absolute;z-index:8;top:7px;transform:translateX(-50%);padding:4px 9px;border:2px solid #cbd5e1;border-radius:999px;background:#fff;color:#64748b;font-size:11px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:0 2px 5px #0f172a16}.receiving-station-label.active{border-color:#7c3aed;background:#7c3aed;color:#fff;box-shadow:0 0 0 4px #ede9fe,0 3px 8px #4c1d9530}.receiving-station-count{left:10%}.receiving-station-walk{left:50%}.receiving-station-shelve{left:90%}.receiving-box-pile,.receiving-pallet{display:none!important}.receiving-station-pad{position:absolute;z-index:3;bottom:15px;width:78px;height:9px;transform:translateX(-50%);border:3px solid #475569;border-radius:2px;background:repeating-linear-gradient(90deg,#64748b 0 11px,#cbd5e1 11px 15px);box-shadow:0 5px 0 #1e293b;opacity:.5}.receiving-station-pad i{position:absolute;display:block}.receiving-station-pad.active{border-color:#6d28d9;background:repeating-linear-gradient(90deg,#f59e0b 0 11px,#fde68a 11px 15px);box-shadow:0 0 0 4px #ede9fe,0 5px 0 #4c1d95;opacity:1}.receiving-count-pad{left:10%}.receiving-count-pad i{left:8px;bottom:9px;width:13px;height:17px;border:3px solid #334155;background:#93c5fd;box-shadow:39px 0 0 -3px #93c5fd,39px 0 0 0 #334155}.receiving-count-pad i::after{content:"";position:absolute;left:17px;top:5px;width:19px;height:3px;background:repeating-linear-gradient(90deg,#0f172a 0 2px,transparent 2px 4px)}.receiving-walk-pad{left:50%;width:96px}.receiving-walk-pad i{left:13px;right:13px;bottom:11px;height:4px;background:repeating-linear-gradient(90deg,#fbbf24 0 12px,transparent 12px 21px)}.receiving-shelve-pad{left:90%}.receiving-shelve-pad i{left:13px;bottom:9px;width:46px;height:30px;border:4px solid #334155;border-top-width:5px;background:linear-gradient(#94a3b8 0 4px,transparent 4px 13px,#94a3b8 13px 17px,transparent 17px 26px,#94a3b8 26px 30px)}.receiving-warehouse-worker{bottom:9px;left:var(--receiving-worker-position);transition:left .45s ease}.receiving-warehouse-worker.phase-count{left:10%}.receiving-warehouse-worker.phase-shelve{left:90%;right:auto;transform:translateX(-50%)}.receiving-warehouse-worker.phase-count>img{width:82px;height:82px}.receiving-warehouse-worker.phase-walk>img{width:72px;height:72px}.receiving-warehouse-worker.phase-shelve>img{width:102px;height:82px}.receiving-warehouse-worker.phase-count b,.receiving-warehouse-worker.phase-walk b,.receiving-warehouse-worker.phase-shelve b{display:none}.receiving-game-caption strong{color:#4c1d95}
@media(max-width:650px){.receiving-pallet-progress{height:116px!important;margin-top:18px;padding-top:29px}.receiving-pallet-progress::after{top:48px}.receiving-station-label{top:6px;padding:4px 7px;font-size:10px}.receiving-station-count,.receiving-count-pad{left:13%}.receiving-station-walk,.receiving-walk-pad{left:50%}.receiving-station-shelve,.receiving-shelve-pad{left:87%}.receiving-station-pad{bottom:14px;width:61px}.receiving-walk-pad{width:72px}.receiving-count-pad i{left:5px;transform:scale(.8);transform-origin:left bottom}.receiving-shelve-pad i{left:8px;transform:scale(.82);transform-origin:left bottom}.receiving-warehouse-worker.phase-count{left:13%}.receiving-warehouse-worker.phase-count>img{width:68px;height:68px}.receiving-warehouse-worker.phase-walk>img{width:61px;height:61px}.receiving-warehouse-worker.phase-shelve{left:87%;right:auto;transform:translateX(-50%)}.receiving-warehouse-worker.phase-shelve>img{width:88px;height:72px}.receiving-warehouse-worker.phase-count b,.receiving-warehouse-worker.phase-walk b,.receiving-warehouse-worker.phase-shelve b{bottom:65px;font-size:10px}.receiving-phase-shelve .receiving-warehouse-worker b{bottom:69px}}
.receiving-view-tabs{grid-template-columns:repeat(6,1fr)}
.receiving-view-tabs button.active{background:var(--blue);border-color:var(--blue);color:#fff}
.receiving-work-layout.pending-view .receiving-photo-pending,.receiving-work-layout.over-view .receiving-photo-pending,.receiving-work-layout.scanned-view .receiving-photo-pending,.receiving-work-layout.expiry-view .receiving-photo-pending{display:none}
.receiving-work-layout.photo-view{grid-template-columns:1fr}
.receiving-work-layout.photo-view>.panel:first-child,.receiving-work-layout.photo-view .receiving-scan-history,.receiving-work-layout.photo-view .receiving-expiry-pending{display:none}
.receiving-work-layout.photo-view .receiving-photo-pending{display:block}
.receiving-scan-card{grid-template-columns:auto auto minmax(180px,1fr) auto auto!important;align-items:center!important;gap:10px!important}
.receiving-scan-thumb{display:grid;place-items:center;align-content:center;width:64px;height:64px;border-radius:10px;overflow:hidden;background:#f1f5f9;color:#64748b}
.receiving-scan-thumb img{width:100%;height:100%;object-fit:cover}
.receiving-scan-thumb span{font-size:25px}.receiving-scan-thumb small{font-size:10px;font-weight:800}
.receiving-scan-thumb.missing-photo{border:2px dashed #f59e0b;background:#fffbeb;color:#92400e}
.receiving-scan-quantity-form{display:grid;grid-template-columns:auto 34px 58px 34px auto;gap:5px;align-items:center}
.receiving-scan-quantity-form>span{font-size:11px;color:var(--muted);font-weight:800}.receiving-scan-quantity-form input{width:58px;min-height:34px;padding:4px;text-align:center;font-weight:900}
.receiving-scan-quantity-form>button:not(.btn){width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:20px;font-weight:900;cursor:pointer}
.receiving-scan-photo-button{cursor:pointer;white-space:nowrap}.receiving-scan-photo-button.loading,.receiving-photo-pending label.loading{opacity:.6;pointer-events:none}
.receiving-photo-pending-list{display:grid;gap:10px}.receiving-photo-pending-list>article{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:12px;align-items:center;border:1px solid #fbbf24;border-radius:13px;background:#fffbeb;padding:12px}
.receiving-photo-pending-list>article>div:nth-child(2){display:grid;gap:4px}.receiving-photo-pending-list small{color:var(--muted)}.receiving-photo-pending-list label{cursor:pointer}.receiving-photo-unmapped{padding:7px 10px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:12px;font-weight:800}
@media(max-width:760px){.receiving-view-tabs{grid-template-columns:repeat(3,1fr);position:static}.receiving-scan-card{grid-template-columns:auto 1fr auto!important}.receiving-scan-card>.receiving-scan-thumb{grid-row:1/3}.receiving-scan-card>.receiving-scan-quantity-form{grid-column:1/-1;grid-template-columns:1fr 38px 64px 38px auto}.receiving-scan-card>.receiving-scan-photo-button{grid-column:2}.receiving-photo-pending-list>article{grid-template-columns:auto 1fr}.receiving-photo-pending-list>article>label,.receiving-photo-pending-list>article>.receiving-photo-unmapped{grid-column:1/-1;text-align:center}.receiving-scan-thumb{width:58px;height:58px}}
.receiving-line[hidden]{display:none!important}.receiving-line-main>span{width:auto!important;min-width:68px!important;height:auto!important;padding:6px 10px;border-radius:999px!important;font-size:12px;white-space:nowrap}.receiving-line.done .receiving-line-main>span{background:#16a34a;color:#fff}.receiving-line.over .receiving-line-main>span{background:#dc2626;color:#fff}.receiving-over-confirmation{display:grid;gap:8px;margin:14px 0;padding:14px;border:2px solid #f97316;border-radius:14px;background:#fff7ed;color:#9a3412}.receiving-over-confirmation[hidden]{display:none!important}.receiving-over-confirmation>span{font-size:13px}.receiving-over-confirmation .receiving-over-check{padding:10px;border-radius:10px;background:#fff;font-weight:800}.receiving-over-audit{display:grid;gap:6px;padding:12px;border-top:1px dashed #fca5a5;border-radius:10px;background:#fff7ed}.receiving-over-audit>strong{color:#9a3412}.receiving-over-audit>span{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.receiving-over-audit small{color:var(--muted)}
.receiving-near-expiry{display:none}.receiving-work-layout.near-expiry-view{grid-template-columns:1fr}.receiving-work-layout.near-expiry-view>.panel:first-child,.receiving-work-layout.near-expiry-view .receiving-scan-history,.receiving-work-layout.near-expiry-view .receiving-expiry-pending,.receiving-work-layout.near-expiry-view .receiving-photo-pending{display:none}.receiving-work-layout.near-expiry-view .receiving-near-expiry{display:block}.receiving-work-layout:not(.near-expiry-view) .receiving-near-expiry{display:none}
.receiving-damage-form{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(92px,.5fr) minmax(110px,.6fr) minmax(190px,1fr) minmax(330px,1.8fr) auto;align-items:end;gap:8px;margin-top:8px;padding:12px;border:1px solid #fdba74;border-radius:12px;background:#fff7ed}.receiving-damage-form>div:first-child{display:grid;gap:3px}.receiving-damage-form label{display:grid;gap:4px;color:#7c2d12;font-size:11px;font-weight:800}.receiving-damage-form input{width:100%;min-height:38px;border:1px solid #fdba74;border-radius:8px;background:#fff;padding:7px 9px}.damage-cost-preview{display:grid;gap:6px;padding:8px;border-radius:11px;background:#ffedd5}.damage-cost-options{grid-template-columns:repeat(3,minmax(0,1fr))}.damage-cost-options>div{display:grid;align-content:start;gap:2px;min-height:78px;padding:8px;border-radius:8px;background:#fff}.damage-cost-options .damage-cost-shared{border:2px solid #16a34a;background:#f0fdf4}.damage-cost-options .damage-cost-self{border:1px solid #fdba74}.damage-cost-preview span,.damage-cost-preview small{color:#9a3412;font-size:10px}.damage-cost-preview strong{color:#c2410c;font-size:17px}.damage-cost-shared span,.damage-cost-shared small{color:#166534}.damage-cost-shared strong{color:#15803d}.damage-audit{grid-column:1/-1;color:var(--muted)}.receiving-near-expiry-list{display:grid;gap:12px}.receiving-near-expiry-list>article{display:grid;gap:8px;border:2px solid #f59e0b;border-radius:14px;background:#fffbeb;padding:14px}.receiving-near-expiry-list>article.expired{border-color:#dc2626;background:#fff1f2}.near-expiry-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.near-expiry-head>div{display:grid;gap:4px}.near-expiry-head small,.receiving-near-expiry-list p{margin:0;color:var(--muted)}.near-expiry-head>b{padding:6px 10px;border-radius:999px;background:#f59e0b;color:#fff;white-space:nowrap}.receiving-near-expiry-list>article.expired .near-expiry-head>b{background:#dc2626}
@media(max-width:900px){.receiving-damage-form{grid-template-columns:repeat(2,minmax(0,1fr))}.receiving-damage-form>div:first-child,.receiving-damage-form .damage-reason,.receiving-damage-form .damage-cost-preview,.receiving-damage-form>button{grid-column:1/-1}.receiving-damage-form>button{width:100%}.damage-cost-options{grid-template-columns:1fr}.damage-cost-options>div{min-height:0}}
.receiving-duplicate-lines{display:grid;gap:11px;margin:12px 0;padding:14px;border:2px solid #60a5fa;border-radius:14px;background:#eff6ff}.receiving-duplicate-lines>div:first-child{display:grid;gap:3px}.receiving-duplicate-lines>div:first-child strong{color:#1d4ed8;font-size:17px}.receiving-duplicate-lines>div:first-child span,.receiving-duplicate-lines>p{margin:0;color:#475569;font-size:13px}.receiving-allocation-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.receiving-allocation-choice button{display:grid;gap:3px;min-height:68px;padding:10px 12px;border:2px solid #bfdbfe;border-radius:11px;background:#fff;color:#334155;text-align:left;cursor:pointer}.receiving-allocation-choice button.active{border-color:#2563eb;background:#dbeafe;color:#1e3a8a;box-shadow:0 0 0 3px #bfdbfe}.receiving-allocation-choice small{font-size:11px}.receiving-match-line-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.receiving-match-line-list button{display:grid;gap:3px;min-height:94px;padding:10px;border:2px solid #cbd5e1;border-radius:11px;background:#fff;color:#334155;text-align:left;cursor:pointer}.receiving-match-line-list button strong{font-size:20px}.receiving-match-line-list button small{overflow-wrap:anywhere;color:#64748b}.receiving-match-line-list button.selected{border-color:#7c3aed;background:#f5f3ff;color:#5b21b6;box-shadow:0 0 0 3px #ede9fe}.receiving-match-line-list button.complete{opacity:.65}.receiving-match-line-list button:disabled{cursor:default}.receiving-match-line-list button.complete span::after{content:' · 已完成';color:#15803d;font-weight:900}
@media(max-width:650px){.receiving-allocation-choice{grid-template-columns:1fr}.receiving-match-line-list{grid-template-columns:1fr 1fr}.receiving-match-line-list button{min-height:104px}.receiving-duplicate-lines{padding:11px}}

.file-preview-list{display:grid;grid-template-columns:repeat(5,minmax(54px,1fr));gap:7px;margin-top:8px}.file-preview-list .file-preview{width:100%;height:72px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
.public-shopping-reminder{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 14px;margin-bottom:22px;padding:17px 20px;border:2px solid #f59e0b;border-radius:16px;background:#fffbeb;color:#713f12;text-align:center}.public-shopping-reminder strong,.public-shopping-reminder b{font-weight:950}.public-shopping-reminder b{color:#b91c1c}.public-catalog-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.public-catalog-toolbar>label{display:grid;gap:5px;color:#475569;font-size:12px;font-weight:900}.public-catalog-toolbar select{min-height:52px;border:2px solid #bfdbfe;border-radius:14px;background:#fff;padding:0 38px 0 14px;color:#0f172a;font-size:15px;font-weight:800}.public-product-card{display:flex!important;flex-direction:column;min-width:0}.public-product-card.urgent-expiry{border:3px solid #dc2626;box-shadow:0 0 0 4px #fee2e2,0 12px 28px #991b1b24}.public-product-gallery{background:#f8fafc}.public-product-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px}.public-product-thumbs button{aspect-ratio:1;border:2px solid transparent;border-radius:7px;overflow:hidden;background:#fff;padding:0;cursor:pointer}.public-product-thumbs button.active{border-color:#2563eb}.public-product-thumbs img{width:100%;height:100%;object-fit:cover}.public-product-info{display:grid;align-content:start;gap:7px;height:100%;padding:15px}.public-product-category{width:max-content;padding:4px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:900}.public-product-sku{overflow-wrap:anywhere;color:#94a3b8;font-size:11px}.public-product-expiry{margin-top:auto;color:#dc2626;font-size:15px;font-weight:950}.public-product-description{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.public-purchase-notices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.public-purchase-notices h2{grid-column:1/-1;margin:0 0 4px}.public-purchase-notices article{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:18px;border:1px solid #cbd5e1;border-radius:16px;background:#fff}.public-purchase-notices article>b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#0f172a;color:#fff;font-size:15px}.public-purchase-notices p{margin:0;color:#334155;line-height:1.7}.public-catalog-empty{display:grid;gap:7px}.public-catalog-empty strong{color:#334155;font-size:20px}
@media(max-width:760px){.public-catalog-toolbar{grid-template-columns:1fr}.public-catalog-toolbar>label{grid-template-columns:auto 1fr;align-items:center}.public-catalog-toolbar select{min-height:46px}.public-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-product-image{aspect-ratio:1}.public-product-info{padding:10px}.public-product-expiry{font-size:13px}.public-purchase-notices{grid-template-columns:1fr}.public-shopping-reminder{display:grid;text-align:left}.file-preview-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:420px){.public-catalog-grid{grid-template-columns:1fr}.public-product-image{aspect-ratio:4/3}.public-product-card{display:grid!important;grid-template-columns:42% 58%}.public-product-card .public-product-gallery{min-width:0}.public-product-card .public-product-info{min-width:0}.public-product-thumbs{grid-template-columns:repeat(3,1fr)}.public-product-thumbs button:nth-child(n+4){display:none}}

.public-catalog{min-height:100vh;background:linear-gradient(145deg,#eff6ff,#f8fafc 42%,#ecfdf5);color:#0f172a}.public-catalog>header{display:flex;justify-content:space-between;gap:24px;padding:44px max(24px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid #dbeafe}.public-catalog>header h1{margin:8px 0;font-size:clamp(30px,5vw,54px)}.public-catalog>header p{max-width:700px;margin:0;color:#475569;font-weight:700}.public-catalog>header>a{align-self:start;padding:10px 16px;border:1px solid #cbd5e1;border-radius:12px;color:#334155;text-decoration:none;font-weight:800}.public-catalog-badge{display:inline-block;padding:6px 11px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:900}.public-catalog>main{max-width:1180px;margin:auto;padding:28px 22px 48px}.public-catalog form{display:grid;grid-template-columns:1fr auto;gap:10px}.public-catalog form input{min-height:52px;border:2px solid #bfdbfe;border-radius:14px;background:#fff;padding:0 16px;font-size:17px}.public-catalog form button{border:0;border-radius:14px;background:#2563eb;color:#fff;padding:0 24px;font-weight:900;cursor:pointer}.public-catalog-categories{display:flex;gap:8px;overflow:auto;padding:18px 0}.public-catalog-categories button{white-space:nowrap;border:1px solid #cbd5e1;border-radius:999px;background:#fff;padding:8px 13px;color:#475569;font-weight:800;cursor:pointer}.public-catalog-categories button.active{border-color:#2563eb;background:#2563eb;color:#fff}.public-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.public-catalog-grid article{overflow:hidden;border:1px solid #dbeafe;border-radius:18px;background:#fff;box-shadow:0 8px 24px #1e3a8a12}.public-product-image{display:grid;place-items:center;aspect-ratio:4/3;background:#f1f5f9;font-size:52px}.public-product-image img{width:100%;height:100%;object-fit:cover}.public-catalog-grid article>div:last-child{display:grid;gap:7px;padding:15px}.public-catalog-grid h2,.public-catalog-grid p{margin:0}.public-catalog-grid h2{font-size:18px;line-height:1.4}.public-catalog-grid p,.public-catalog-grid small{color:#64748b}.public-catalog-grid b{font-size:24px;color:#dc2626}.public-catalog-grid strong{width:max-content;padding:5px 9px;border-radius:999px;background:#dcfce7;color:#166534;font-size:12px}.public-catalog-grid strong.low{background:#ffedd5;color:#9a3412}.public-catalog-empty{grid-column:1/-1;padding:60px 20px;text-align:center;color:#64748b;font-weight:800}.public-catalog-empty.error{color:#b91c1c}.public-catalog footer{padding-top:28px;color:#64748b;text-align:center}.public-catalog-link{white-space:nowrap;text-decoration:none}@media(max-width:700px){.public-catalog>header{padding:26px 18px;flex-direction:column}.public-catalog>header>a{align-self:stretch;text-align:center}.public-catalog>main{padding:18px 14px 36px}.public-catalog form{grid-template-columns:1fr}.public-catalog form button{min-height:48px}.public-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.public-catalog-grid article>div:last-child{padding:11px}.public-catalog-grid h2{font-size:15px}.public-catalog-grid b{font-size:20px}.top-actions>.public-catalog-link{display:none}}
.receiving-template-download{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 20px;padding:16px 18px;border:1px solid #bdd7f1;border-radius:16px;background:linear-gradient(135deg,#f4f9ff,#eef6ff)}.receiving-template-download div{display:grid;gap:4px}.receiving-template-download span{color:#5f6f82;font-size:13px}@media(max-width:720px){.receiving-template-download{align-items:stretch;flex-direction:column}.receiving-template-download .btn{justify-content:center}}

/* Public catalog overrides live at the end so the redesigned cards win over legacy rules. */
.public-catalog .public-catalog-toolbar{grid-template-columns:minmax(0,1fr) minmax(190px,auto)}
.public-catalog .public-product-card>div.public-product-info{display:grid;gap:7px;padding:15px}
.public-catalog .public-product-expiry{color:#dc2626;font-weight:950}
.receiving-instant-post.multi-price{align-items:stretch}.receiving-batch-price-list{display:grid;gap:8px;min-width:min(100%,420px)}.receiving-batch-price{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px;align-items:center;padding:9px 10px;border:1px solid #bfdbfe;border-radius:10px;background:#f8fbff}.receiving-batch-price span{font-size:12px;font-weight:850;color:#334155}.receiving-batch-price input{width:100%;min-height:42px;border:2px solid #60a5fa;border-radius:9px;padding:7px;text-align:right;font-size:18px;font-weight:900}.public-price-range{font-size:24px;color:#dc2626}.public-price-options{margin-top:5px;border-top:1px dashed #cbd5e1;padding-top:9px}.public-price-options summary{cursor:pointer;color:#1d4ed8;font-size:13px;font-weight:900}.public-price-options>div{display:grid;gap:6px;margin-top:9px}.public-price-options p{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:8px;border-radius:9px;background:#f8fafc}.public-price-options p span{display:grid;color:#334155;font-size:12px;font-weight:850}.public-price-options p small{color:#64748b;font-weight:700}.public-price-options p b{flex:0 0 auto;color:#dc2626;font-size:17px}
.public-batch-thumb{width:48px;height:48px;flex:0 0 48px;border-radius:8px;object-fit:cover;border:1px solid #dbe3ec;background:#fff}.public-price-options p span>strong{color:#0f172a;font-size:13px;line-height:1.35;margin-bottom:2px}
.receiving-listing-fix{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,2fr) auto;gap:9px;align-items:center;margin-top:10px;padding:10px;border:1px solid #8b5cf6;border-radius:12px;background:#faf5ff}.receiving-listing-fix>div{display:grid;gap:2px}.receiving-listing-fix small{font-size:11px;color:#6b7280}.receiving-listing-fix>input{width:100%;min-width:0;height:40px;padding:7px 10px;border:1px solid #c4b5fd;border-radius:9px;background:#fff}@media(max-width:700px){.receiving-listing-fix{grid-template-columns:1fr}.receiving-listing-fix .btn{width:100%;justify-content:center}}
@media(max-width:700px){.public-catalog .public-catalog-toolbar{grid-template-columns:1fr}.public-catalog .public-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.public-catalog .public-catalog-grid{grid-template-columns:1fr}.public-catalog .public-product-card{display:grid!important;grid-template-columns:42% 58%}}
/* 廠商／客戶主檔 */
.partner-master-page{display:grid;gap:16px}.partner-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.partner-kpis>div{background:#fff;border:1px solid #dfe7f1;border-radius:18px;padding:18px;display:grid;gap:5px;box-shadow:0 8px 24px #315b8610}.partner-kpis span{color:#607089;font-weight:700}.partner-kpis strong{font-size:28px;color:#20344d}.partner-kpis small{color:#8491a3}.partner-kpis .danger{border-color:#ffc8c8;background:#fff8f8}.member-tier-guide{display:flex;flex-wrap:wrap;gap:7px}.member-tier-guide span,.member-tier{padding:5px 10px;border-radius:999px;background:#edf4ff;color:#315f99;font-weight:800;font-size:12px}.member-tier.tier-VIP{background:#2e2a45;color:#fff}.member-tier.tier-金卡{background:#fff0b8;color:#775500}.member-tier.tier-銀卡{background:#e9edf3;color:#45556b}.supplier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}.supplier-card{padding:18px;display:grid;gap:15px}.supplier-card-head{display:flex;justify-content:space-between;gap:12px}.supplier-card-head h2{margin:3px 0}.supplier-card-head span,.supplier-card-head small{color:#718096}.supplier-contact{display:grid;gap:6px;padding:12px;border-radius:12px;background:#f7f9fc;color:#506179}.supplier-money{display:grid;grid-template-columns:1fr 1fr;gap:10px}.supplier-money>div{display:grid;gap:4px}.supplier-money strong{font-size:20px}.supplier-actions{display:flex;justify-content:flex-end;gap:8px}.partner-empty{grid-column:1/-1;text-align:center;padding:42px;display:grid;justify-items:center;gap:10px}.member-profile-modal{width:min(940px,94vw)}.member-profile-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.member-profile-kpis>div{background:#f5f8fc;border-radius:12px;padding:12px;display:grid;gap:4px}.pos-member-finder{width:min(620px,94vw)}.pos-member-search-row,.pos-quick-member-form>div{display:grid;grid-template-columns:1fr auto;gap:8px}.pos-member-search-row input,.pos-quick-member-form input{height:44px;min-height:44px;border:1px solid #cdd8e6;border-radius:10px;padding:0 12px}.pos-quick-member-form>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr) max-content;align-items:center}.pos-quick-member-form>div .btn{white-space:nowrap}.pos-quick-member-form{display:grid;gap:9px;padding:14px;border-radius:14px;background:#f4f8ff;margin:16px 0}.pos-member-result{width:100%;border:1px solid #dbe4ef;background:#fff;border-radius:12px;padding:12px;margin-top:8px;display:flex;justify-content:space-between;gap:12px;text-align:left}.pos-member-result span{display:grid;gap:3px}.pos-member-result:hover{border-color:#5a8ec8;background:#f5f9ff}.pos-member-not-found{padding:18px;text-align:center;color:#7a8797}.supplier-modal{width:min(820px,94vw)}
@media(max-width:760px){.partner-kpis{grid-template-columns:1fr}.supplier-grid{grid-template-columns:1fr}.member-profile-kpis{grid-template-columns:1fr 1fr}.pos-quick-member-form>div{grid-template-columns:1fr}.customer-table table{min-width:900px}}
.receiving-restore-delete{max-width:160px;white-space:normal;line-height:1.25;font-weight:900}.receiving-restore-delete::before{content:'↩ ';font-weight:900}
.receiving-scan-history{gap:14px}.receiving-scan-history .receiving-scan-card{display:grid!important;grid-template-columns:42px 72px minmax(260px,1fr) auto auto auto!important;align-items:center!important;gap:12px!important;width:100%;min-height:138px;padding:14px!important;border:1px solid #d9e4ee!important;border-radius:15px;background:#fff;box-sizing:border-box}.receiving-scan-history .receiving-scan-card.posted{border-color:#86efac!important;background:#f0fdf4}.receiving-scan-card>.receiving-scan-thumb{width:64px;height:64px}.receiving-scan-card>.receiving-posted-badge,.receiving-scan-card>.receiving-posted-time,.receiving-scan-card>.receiving-scan-photo-button,.receiving-scan-card>.receiving-reverse-post{justify-self:end}.receiving-reverse-post{white-space:nowrap;font-weight:900}.receiving-scan-card>.receiving-damage-form{grid-column:1/-1!important;width:100%;box-sizing:border-box;grid-template-columns:minmax(230px,1.2fr) 110px 120px minmax(230px,1fr) minmax(360px,1.6fr) 120px!important;margin:0!important}.receiving-scan-card>.receiving-damage-form .damage-cost-options{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.receiving-scan-card>.receiving-damage-form .damage-cost-options>div{min-height:88px}.receiving-scan-card>.receiving-damage-form .receiving-posted-lock{grid-column:1/-1}
@media(max-width:1200px){.receiving-scan-history .receiving-scan-card{grid-template-columns:42px 64px minmax(220px,1fr) auto auto!important}.receiving-scan-card>.receiving-damage-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.receiving-scan-card>.receiving-damage-form>div:first-child,.receiving-scan-card>.receiving-damage-form .damage-reason,.receiving-scan-card>.receiving-damage-form .damage-cost-preview,.receiving-scan-card>.receiving-damage-form>button{grid-column:1/-1}.receiving-scan-card>.receiving-damage-form .damage-cost-options>div{min-height:0}}
@media(max-width:700px){.receiving-scan-history .receiving-scan-card{grid-template-columns:34px 58px minmax(0,1fr)!important;align-items:start!important}.receiving-scan-card>.receiving-scan-thumb{width:54px;height:54px}.receiving-scan-card>.receiving-posted-badge,.receiving-scan-card>.receiving-posted-time,.receiving-scan-card>.receiving-scan-photo-button,.receiving-scan-card>.receiving-reverse-post,.receiving-scan-card>.receiving-scan-quantity-form{grid-column:1/-1;justify-self:stretch;width:100%}.receiving-scan-card>.receiving-reverse-post{min-height:46px}.receiving-scan-card>.receiving-damage-form{grid-template-columns:1fr!important}.receiving-scan-card>.receiving-damage-form>*{grid-column:1!important}.receiving-scan-card>.receiving-damage-form .damage-cost-options{grid-template-columns:1fr}}

/* 公開商品頁 Banner 輪播與可管理警語。 */
.public-catalog>header{min-height:auto!important;align-items:center;padding-block:13px!important}.public-site-brand{display:flex;align-items:center;gap:11px}.public-site-brand>strong{font-size:19px;color:#20344d}.public-banner-carousel{position:relative;max-width:1180px;margin:16px auto 10px;padding:0 22px}.public-banner-viewport{position:relative;overflow:hidden;aspect-ratio:3/1;border-radius:20px;background:#dcecff;box-shadow:0 10px 28px #315b8620}.public-banner-slide{position:absolute;inset:0;visibility:hidden;opacity:0;transition:opacity .45s ease}.public-banner-slide.active{visibility:visible;opacity:1}.public-banner-slide>a{display:block;width:100%;height:100%;color:inherit}.public-banner-slide img{width:100%;height:100%;object-fit:cover}.public-banner-slide>div,.public-banner-slide>a>div{position:absolute;left:0;right:0;bottom:0;display:grid;gap:3px;padding:28px 24px 17px;background:linear-gradient(transparent,#07182dbf);color:#fff}.public-banner-slide strong{font-size:clamp(19px,2.5vw,30px)}.public-banner-slide span{font-size:14px}.public-banner-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#245f9e,#4c91cf 54%,#76c8a1)}.public-banner-fallback>div{position:static;justify-items:center;padding:20px;background:none;text-align:center}.public-banner-fallback span{font-weight:900}.public-banner-fallback small{font-size:13px}.public-banner-arrow{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#fffffff0;color:#245f9e;font-size:28px;font-weight:900;box-shadow:0 4px 14px #0f29474d;cursor:pointer;transform:translateY(-50%)}.public-banner-arrow.prev{left:31px}.public-banner-arrow.next{right:31px}.public-banner-dots{position:absolute;right:0;bottom:13px;left:0;z-index:3;display:flex;justify-content:center;gap:6px}.public-banner-dots button{width:9px;height:9px;border:0;border-radius:999px;background:#ffffff8c;padding:0;cursor:pointer}.public-banner-dots button.active{width:25px;background:#fff}.public-notice-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;max-width:1136px;margin:0 auto 14px;padding:10px 13px;border:1px solid #f4c466;border-radius:12px;background:#fffaf0;color:#76501b;font-size:12px}.public-notice-strip strong{font-weight:950}.public-notice-strip span{text-align:center}.public-notice-strip b{color:#c7352b}
.public-site-settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.public-site-settings-layout>form{display:grid;align-content:start;gap:10px;padding:15px;border:1px solid #dce5ef;border-radius:14px;background:#f8fbff}.public-site-settings-layout h3,.public-banner-manage h3{margin:0}.public-banner-upload{display:grid;gap:6px;padding:15px;border:2px dashed #79a8d4;border-radius:13px;background:#fff;color:#315f91;cursor:pointer}.public-banner-upload input{width:100%}.public-banner-upload span{font-weight:900}.public-banner-upload small{color:#718096;line-height:1.45}.public-banner-manage{display:grid;gap:10px;margin-top:18px}.public-banner-manage>div{display:grid;gap:9px}.public-banner-manage article{display:grid;grid-template-columns:170px minmax(180px,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid #dce5ef;border-radius:13px;background:#fff}.public-banner-manage article.disabled{opacity:.55}.public-banner-manage article>img{width:170px;aspect-ratio:3/1;border-radius:9px;object-fit:cover;background:#edf2f7}.public-banner-manage article>span{display:grid;gap:3px}.public-banner-manage article>span small{color:#718096}.public-banner-manage article>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
@media(max-width:700px){.public-catalog>header{display:flex!important;min-height:58px!important;padding:9px 82px 9px 10px!important}.public-site-brand{display:grid;gap:2px}.public-site-brand>strong{font-size:15px}.public-site-brand .public-catalog-badge{width:max-content}.public-catalog>header>a{top:10px!important;right:10px!important}.public-banner-carousel{margin:9px auto 7px;padding:0 10px}.public-banner-viewport{aspect-ratio:2.15/1;border-radius:14px}.public-banner-slide>div,.public-banner-slide>a>div{gap:1px;padding:21px 11px 9px}.public-banner-slide strong{font-size:16px}.public-banner-slide span{font-size:10px}.public-banner-arrow{width:32px;height:32px;font-size:22px}.public-banner-arrow.prev{left:15px}.public-banner-arrow.next{right:15px}.public-banner-dots{bottom:8px}.public-notice-strip{grid-template-columns:1fr;gap:2px;margin:0 10px 9px;padding:7px 9px;font-size:9px;line-height:1.3;text-align:center}.public-notice-strip span{text-align:center}.public-site-settings-layout{grid-template-columns:1fr}.public-banner-manage article{grid-template-columns:100px 1fr}.public-banner-manage article>img{width:100px}.public-banner-manage article>div{grid-column:1/-1;justify-content:stretch}.public-banner-manage article>div .btn{flex:1}}

/* 固定收銀臺最終層：需置於既有 POS 規則之後，避免舊版滾動設定覆蓋。 */
@media(min-width:1201px){
  body:has(.pos-register-page) .nav-groups{overflow:hidden!important}
  .pos-scan-panel{grid-template-columns:165px minmax(260px,1fr) 116px!important;min-height:56px!important;padding:6px 8px!important}
  .pos-scan-panel .scan-icon{display:none!important}
  .pos-scan-panel>div:nth-child(2){display:block!important}
  .pos-scan-panel>div:nth-child(2) span{display:none!important}
  .pos-register-main>.pos-quick-bar{display:none!important}
  .pos-payment-panel{overflow:hidden!important}
  .pos-payment-head{position:static!important}
  .pos-touch-cart{min-height:116px!important;max-height:none!important;flex:1 1 auto!important;overflow:hidden!important}
  .pos-touch-cart>.table-wrap{min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important}
  .pos-touch-cart .pos-line-qty{grid-template-columns:44px 48px 44px!important}
  .pos-touch-cart .pos-line-qty button,.pos-touch-cart .pos-line-qty input{height:44px!important}
  .pos-payment-methods .chip{min-height:44px!important;flex-basis:auto!important;border-radius:9px!important;font-size:11px!important}
  .pos-payment-panel .checkout{min-height:48px!important;border-radius:10px!important;font-size:14px!important}
  .cash-quick button,.cash-touch-keypad button{min-height:42px!important;font-size:12px!important}
  .cash-touch-keypad{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* 使用者自訂配置的必要最終覆寫。 */
@media(min-width:1201px){
  .pos-payment-panel{overflow:hidden!important}
  .pos-payment-head{position:fixed!important;z-index:29!important;top:57.407vh!important;left:51.319vw!important;width:10.486vw!important;height:10.247vh!important}
  .pos-catalog-scan{grid-template-columns:130px minmax(0,1fr) 98px!important;min-height:40px!important;padding:0!important}
  .pos-payment-methods .chip{min-height:30px!important;padding:3px!important;font-size:9px!important}
  .cash-quick button,.cash-touch-keypad button{min-height:34px!important;font-size:10px!important}
  .pos-payment-panel .checkout{min-height:96px!important}
}

/* 公開商品：照片一律完整縮放進 1:1 方框，整張卡片可開啟五圖商品介紹。 */
.public-catalog .public-product-card{cursor:pointer;outline:none;transition:transform .16s ease,box-shadow .16s ease}
.public-catalog .public-product-card:hover,.public-catalog .public-product-card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px #1e3a8a22!important}
.public-catalog .public-product-gallery,.public-catalog .public-product-image{aspect-ratio:1/1!important;background:#fff!important}
.public-catalog .public-product-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff!important}
.public-card-open-hint{margin-top:auto;color:#2563eb;font-size:11px;font-weight:900}
body.public-detail-open{overflow:hidden}
.public-product-detail-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#0f172a99;backdrop-filter:blur(3px)}
.public-product-detail-modal{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(940px,100%);max-height:min(820px,calc(100dvh - 48px));overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 30px 80px #0f172a66}
.public-product-detail-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #dbeafe}
.public-product-detail-modal>header span{display:inline-block;margin-bottom:4px;padding:4px 9px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:900}
.public-product-detail-modal>header h2{margin:0;color:#17283c;font-size:24px;line-height:1.35}
.public-product-detail-modal>header button{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #d7e2ee;border-radius:50%;background:#fff;color:#475569;font-size:28px;cursor:pointer}
.public-product-detail-body{display:grid;grid-template-columns:minmax(300px,43%) minmax(0,1fr);gap:22px;min-height:0;overflow:auto;padding:20px}
.public-detail-gallery{align-self:start;min-width:0}
.public-detail-main-image{display:grid;place-items:center;width:100%;aspect-ratio:1;border:1px solid #dbeafe;border-radius:18px;overflow:hidden;background:#fff;color:#64748b;font-size:72px}
.public-detail-main-image img{width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}
.public-detail-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:9px}
.public-detail-thumbs button{aspect-ratio:1;overflow:hidden;padding:0;border:2px solid transparent;border-radius:10px;background:#fff;cursor:pointer}
.public-detail-thumbs button.active{border-color:#2563eb;box-shadow:0 0 0 2px #dbeafe}
.public-detail-thumbs img{width:100%;height:100%;object-fit:contain;background:#fff}
.public-detail-gallery>small{display:block;margin-top:8px;color:#64748b;text-align:center}
.public-detail-info{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.public-detail-price{color:#dc2626;font-size:32px;font-weight:950}
.public-detail-stock{padding:6px 11px;border-radius:999px;background:#dcfce7;color:#166534;font-size:13px}.public-detail-stock.low{background:#ffedd5;color:#9a3412}
.public-detail-info dl{display:grid;width:100%;margin:0;border:1px solid #e2e8f0;border-radius:15px;overflow:hidden}
.public-detail-info dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;padding:10px 12px;border-bottom:1px solid #e2e8f0}.public-detail-info dl>div:last-child{border-bottom:0}
.public-detail-info dt{color:#64748b;font-weight:800}.public-detail-info dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#1e293b;font-weight:800}.public-detail-info dl>.expiry dd{color:#dc2626;font-weight:950}
.public-detail-info>article{width:100%}.public-detail-info h3{margin:4px 0 7px;font-size:16px}.public-detail-info article>p{margin:0;color:#475569;line-height:1.7;white-space:pre-wrap}
.public-detail-options{display:grid;gap:8px}.public-detail-options>div{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.public-detail-options>div>img{width:54px;height:54px;border-radius:9px;object-fit:contain;background:#fff}.public-detail-options>div>span{display:grid;gap:2px;min-width:0}.public-detail-options>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-detail-options>div b{color:#b91c1c;font-size:12px}.public-detail-options>div small{color:#64748b}.public-detail-options>div em{color:#dc2626;font-size:18px;font-style:normal;font-weight:950}
@media(max-width:700px){
  .public-catalog .public-product-card{aspect-ratio:115/250!important}
  .public-catalog .public-product-gallery{flex:0 0 auto!important;width:100%!important;height:auto!important;aspect-ratio:1!important}
  .public-catalog .public-product-image{width:100%!important;height:100%!important;aspect-ratio:1!important}
  .public-card-open-hint{font-size:8px;line-height:1}
  .public-product-detail-backdrop{display:block;padding:0;background:#fff}
  .public-product-detail-modal{width:100%;height:100dvh;max-height:none;border-radius:0;box-shadow:none}
  .public-product-detail-modal>header{padding:calc(10px + env(safe-area-inset-top)) 12px 10px}
  .public-product-detail-modal>header h2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:17px}
  .public-product-detail-modal>header span{font-size:10px}
  .public-product-detail-modal>header button{flex-basis:38px;width:38px;height:38px}
  .public-product-detail-body{display:block;overflow-y:auto;padding:12px 12px calc(22px + env(safe-area-inset-bottom))}
  .public-detail-main-image{width:min(100%,390px);margin:auto;border-radius:15px}
  .public-detail-thumbs{gap:6px}.public-detail-thumbs button{border-radius:8px}
  .public-detail-gallery>small{font-size:10px}
  .public-detail-info{gap:10px;margin-top:14px}
  .public-detail-price{font-size:27px}
  .public-detail-info dl>div{grid-template-columns:82px minmax(0,1fr);padding:9px 10px;font-size:13px}
  .public-detail-options>div{grid-template-columns:48px minmax(0,1fr) auto}.public-detail-options>div>img{width:48px;height:48px}
}

/* 公開商品頁：依 390 × 1200 設計碼實作的手機 3 × 3 商品網格。 */
.public-mobile-brand{display:none}
@media(max-width:700px){
  .public-catalog>header{min-height:calc(45px + env(safe-area-inset-top))!important;padding:calc(5px + env(safe-area-inset-top)) 68px 4px 8px!important}
  .public-site-brand{display:block!important}
  .public-site-brand .public-catalog-badge,.public-site-brand>strong{display:none!important}
  .public-mobile-brand{display:block;color:#20344d;font-size:17px;font-weight:950;line-height:36px;white-space:nowrap}
  .public-catalog>header>a{top:calc(5px + env(safe-area-inset-top))!important;right:15px!important;width:54px!important;min-width:54px!important;min-height:36px!important;padding:4px!important;border-radius:9px!important;font-size:10px!important}
  .public-banner-carousel{height:auto!important;margin:6px auto 7px!important;padding:0 7px!important}
  .public-banner-viewport{height:auto!important;aspect-ratio:370/150!important;border-radius:12px!important}
  .public-banner-slide img{object-fit:cover!important}
  .public-banner-slide>div,.public-banner-slide>a>div{padding:24px 10px 9px!important}
  .public-banner-slide strong{font-size:16px!important}.public-banner-slide span{font-size:9px!important}
  .public-notice-strip{display:none!important}
  .public-catalog>main{padding:0 6px 16px!important}
  .public-catalog .public-catalog-toolbar{grid-template-columns:minmax(0,265fr) minmax(88px,97fr)!important;gap:5px!important;align-items:stretch!important;margin-top:0!important}
  .public-catalog form{grid-template-columns:minmax(0,1fr) 52px!important;gap:4px!important}
  .public-catalog form input,.public-catalog form button{min-height:36px!important;height:36px!important;border-radius:8px!important;font-size:10px!important}
  .public-catalog form input{padding:0 7px!important}.public-catalog form button{padding:0 5px!important}
  .public-catalog-toolbar>label{grid-template-columns:20px minmax(0,1fr)!important;gap:2px!important;font-size:9px!important}
  .public-catalog-toolbar select{min-height:36px!important;height:36px!important;padding:0 18px 0 4px!important;border-radius:8px!important;font-size:9px!important}
  .public-catalog-categories{height:46px;gap:5px!important;padding:5px 0!important}
  .public-catalog-categories button{height:34px;padding:4px 8px!important;font-size:9px!important}
  .public-catalog-pager{height:36px;grid-template-columns:30px minmax(0,1fr) 30px!important;gap:5px!important;margin:0 0 4px!important}
  .public-catalog-pager>button{width:30px!important;height:30px!important;font-size:20px!important}
  .public-catalog-pager b{font-size:13px!important}.public-catalog-pager small{font-size:8px!important}
  .public-catalog .public-catalog-grid{padding:2px 0 4px!important}
  .public-catalog .public-catalog-page{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:auto!important;column-gap:11px!important;row-gap:6px!important;align-content:start!important;justify-content:stretch!important;padding:0 2px!important}
  .public-catalog .public-product-card{width:100%!important;height:auto!important;aspect-ratio:115/240;border-radius:10px!important;box-shadow:0 3px 9px #1e3a8a12!important}
  .public-catalog .public-product-card.urgent-expiry{border-width:2px!important;box-shadow:0 0 0 1px #fee2e2!important}
  .public-catalog .public-product-gallery{flex:0 0 auto!important;width:100%!important;height:auto!important;aspect-ratio:115/110!important}
  .public-catalog .public-product-image{width:100%!important;height:100%!important;background:#fff!important}
  .public-catalog .public-product-image img{object-fit:cover!important}
  .public-catalog .public-product-thumbs{display:none!important}
  .public-catalog .public-product-info{gap:2px!important;height:auto!important;min-height:0!important;padding:5px!important}
  .public-catalog .public-product-category{padding:2px 4px!important;font-size:8px!important}
  .public-catalog .public-product-info h2{min-height:30px!important;font-size:12px!important;line-height:1.22!important}
  .public-catalog .public-product-info>p,.public-catalog .public-product-sku{display:none!important}
  .public-catalog .public-product-expiry{min-height:21px!important;font-size:9px!important;line-height:1.18!important}
  .public-catalog .public-price-range{font-size:16px!important;line-height:1!important}
  .public-catalog .public-product-info>strong{padding:2px 4px!important;font-size:8px!important}
  .public-catalog .public-price-options{margin-top:auto!important;padding-top:1px!important}
  .public-catalog .public-price-options summary{font-size:8px!important}
  .public-purchase-notices{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;min-height:122px;margin:8px 0 0!important;padding:6px!important;border:1px solid #f2aaaa;border-radius:10px;background:#fff6f6}
  .public-purchase-notices h2{margin:0!important;color:#8f2525;font-size:12px!important}
  .public-purchase-notices article{grid-template-columns:20px 1fr!important;gap:5px!important;padding:2px 4px!important;border:0!important;border-radius:5px!important;background:transparent!important}
  .public-purchase-notices article>b{width:20px!important;height:20px!important;font-size:8px!important}
  .public-purchase-notices p{font-size:8px!important;line-height:1.3!important}
  .public-catalog footer{padding-top:10px!important;font-size:8px!important}
}

/* POS 第二版最終覆寫：保持搜尋列、分頁及右側寬度不被舊規則覆蓋。 */
@media(min-width:1201px){
  .pos-register-layout{grid-template-columns:minmax(600px,1fr) 500px!important}
  .pos-register-main{gap:0!important}
  .pos-touch-catalog{order:1!important}
  .pos-touch-product-head{display:grid!important;grid-template-columns:145px minmax(340px,1fr) auto!important;align-items:center!important;gap:10px!important;min-height:60px!important;padding:7px 10px!important;border-bottom:1px solid #e5edf5;background:#fff}
  .pos-touch-product-head>div:first-child{display:block!important;min-width:0!important}
  .pos-touch-product-head>div:first-child strong{display:block!important;font-size:16px!important;color:#20364d;white-space:nowrap}
  .pos-touch-product-head>div:first-child span{display:block!important;overflow:hidden;margin-top:2px;font-size:10px!important;text-overflow:ellipsis;white-space:nowrap}
  .pos-catalog-scan{display:grid!important;grid-template-columns:130px minmax(180px,1fr) 104px!important;width:100%!important;min-height:44px!important;gap:6px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .pos-catalog-scan>div:nth-child(2){display:block!important}
  .pos-catalog-scan>div:nth-child(2) label{font-size:12px!important;color:#315f91;white-space:nowrap}
  .pos-catalog-scan input{height:42px!important;padding:7px 10px!important;border:1px solid #b9cade!important;border-radius:9px!important;background:#fff!important;font-size:14px!important}
  .pos-catalog-scan .btn{min-height:42px!important;padding:7px 9px!important;border-radius:9px!important;font-size:12px!important}
  .pos-touch-product-head>b{justify-self:end;white-space:nowrap}
  .pos-payment-panel{width:500px!important}
  .pos-touch-cart .pos-sale-head{display:flex!important;align-items:center!important;gap:8px!important;padding:8px 10px!important}
  .pos-touch-cart .pos-sale-head>div:first-child{min-width:0;flex:1 1 auto}
  .pos-cart-page-note{display:block!important;margin-top:2px;color:#718397;font-size:9px;white-space:nowrap}
  .pos-cart-pager{display:grid;grid-template-columns:34px auto 34px;align-items:center;gap:4px;flex:none}
  .pos-cart-pager button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #bfd0e1;border-radius:9px;background:#fff;color:#315f91;font-size:21px;font-weight:900;cursor:pointer}
  .pos-cart-pager button:disabled{opacity:.35;cursor:default}
  .pos-cart-pager strong{min-width:38px;color:#526579;font-size:10px;text-align:center;white-space:nowrap}
  .pos-touch-cart .pos-sale-head>.btn{flex:none;white-space:nowrap}
  .pos-touch-cart .pos-sale-row[hidden]{display:none!important}
  .topbar{padding-right:14px}
  .topbar-title h1{font-size:21px}
  .topbar-title p{font-size:11px}
  .top-actions{gap:7px}
  .top-actions>.btn{min-height:42px;padding:8px 11px;font-size:12px}
  .top-actions .connection{padding:5px 7px;font-size:10px}
  .top-actions .workspace-switcher{min-width:164px}
  .top-actions .account-trigger{min-height:44px}
  .top-actions .account-summary strong{font-size:12px}
  .top-actions .account-summary small{font-size:9px}
}
@media(min-width:1600px){body:has(.pos-register-page) .top-actions{transform:translateX(-64px)}}

/* 使用者於 POS 版面編輯器確認的 1440 × 810 配置。 */
@media(min-width:1201px){
  body:has(.pos-register-page) .shell{display:block!important;position:relative;width:100vw;height:100dvh}
  body:has(.pos-register-page) .sidebar{position:fixed!important;z-index:30;top:0;left:0;width:12.5vw!important;height:100dvh!important;padding:12px 10px!important}
  body:has(.pos-register-page) .main{display:block!important;width:100vw!important;height:100dvh!important}
  body:has(.pos-register-page) .topbar{position:fixed!important;z-index:24;top:0;left:13.264vw;width:59.445vw!important;height:7.778vh!important;min-height:58px;padding:0!important;border:0;background:#fff;display:grid!important;grid-template-columns:24.17% 75.83%;gap:0;justify-content:stretch;box-shadow:0 1px 0 #d9e5f1}
  body:has(.pos-register-page) .topbar-title{display:grid;align-content:center;min-width:0;padding:0 10px}
  body:has(.pos-register-page) .topbar-title h1{font-size:18px!important;line-height:1.1}
  body:has(.pos-register-page) .topbar-title p{overflow:hidden;font-size:9px!important;text-overflow:ellipsis;white-space:nowrap}
  body:has(.pos-register-page) .top-actions{min-width:0;justify-content:flex-start;gap:5px!important;overflow:hidden;padding:0 6px;transform:none!important}
  body:has(.pos-register-page) .top-actions>.btn{min-height:38px;padding:6px 9px;font-size:10px}
  body:has(.pos-register-page) .top-actions .connection{padding:4px 6px;font-size:9px}
  body:has(.pos-register-page) .top-actions .workspace-switcher{min-width:152px;max-width:180px}
  body:has(.pos-register-page) .top-actions .account-trigger{min-height:40px;padding-block:3px}

  .pos-register-page,.pos-register-layout,.pos-register-main{position:static!important;display:contents!important;padding:0!important;margin:0!important}
  .pos-touch-catalog{position:fixed!important;z-index:10;top:8.025vh;left:12.847vw;width:59.584vw;height:90.865vh!important;min-height:0!important;border-radius:10px!important;overflow:hidden!important}
  .pos-touch-categories{height:8.642vh;min-height:62px;padding:6px 8px!important}
  .pos-touch-categories button{min-height:50px!important}
  .pos-touch-product-head{height:5.432vh!important;min-height:44px!important;grid-template-columns:22.12% minmax(0,1fr)!important;padding:0 7px!important}
  .pos-touch-product-head>b{position:absolute;left:10px;bottom:-28px;z-index:3}
  .pos-touch-product-head>div:first-child{padding-left:4px}
  .pos-catalog-scan{grid-template-columns:130px minmax(0,1fr) 98px!important;min-height:40px!important}
  .pos-catalog-scan input{height:38px!important}
  .pos-catalog-scan .btn{min-height:38px!important}
  .pos-touch-products{margin-top:2.222vh;padding:0 10px 10px!important;grid-template-columns:repeat(auto-fill,minmax(164px,1fr))!important}

  .pos-payment-panel{position:fixed!important;z-index:25;inset:0!important;display:block!important;width:100vw!important;height:100dvh!important;overflow:visible!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;pointer-events:none}
  .pos-payment-panel>*{pointer-events:auto}
  .pos-payment-head{position:fixed!important;z-index:29;top:57.407vh;left:51.319vw;width:10.486vw;height:10.247vh;min-width:150px;min-height:82px;display:grid!important;align-content:start;overflow:hidden;padding:6px!important;border:2px solid #315f91!important;border-radius:10px;background:#f2f7ff!important;box-shadow:0 8px 20px #173b5e22}
  .pos-payment-head>div:first-child{display:none}
  .pos-payment-head .btn{min-height:32px!important;padding:4px 6px!important;font-size:10px!important}
  .pos-tax-id-field{display:block!important;padding:4px!important;border:0!important;background:transparent!important}
  .pos-tax-id-field label{display:block;margin-bottom:3px;font-size:9px!important}
  .pos-tax-id-field input{height:30px!important;min-height:30px!important;font-size:11px!important}
  .pos-tax-id-field small{display:none!important}

  .pos-touch-cart{position:fixed!important;z-index:27;top:1.235vh;left:73.125vw;width:25.556vw!important;height:53.086vh!important;min-height:300px!important;max-height:none!important;overflow:hidden!important;border:2px solid #7c3aed!important;border-radius:11px!important;background:#fff!important;box-shadow:0 8px 22px #45208024!important}
  .pos-touch-cart .pos-sale-head{height:58px;min-height:58px;padding:6px 8px!important;background:#f6f0ff}
  .pos-touch-cart>.table-wrap{height:calc(100% - 58px)!important;min-height:0!important;overflow-y:auto!important}
  .pos-cart-pager{margin-left:auto;grid-template-columns:28px 26px 28px!important;gap:2px!important}
  .pos-cart-pager button{width:28px!important;height:32px!important}
  .pos-cart-pager strong{min-width:26px!important;font-size:9px!important}
  .pos-touch-cart .pos-sale-head>.btn{width:50px;min-height:34px!important;padding:4px!important;font-size:9px!important;white-space:normal!important}

  .pos-payment-totals{position:fixed!important;z-index:28;top:68.148vh;left:88.958vw;width:10vw;height:17.284vh;min-width:142px;min-height:130px;display:block!important;overflow:hidden;padding:8px!important;border:2px solid #dc6b20!important;border-radius:10px;background:#fff8f1!important}
  .pos-payment-totals>div{margin:3px 0!important;font-size:9px!important}
  .pos-payment-totals .grand{margin-top:5px!important;padding-top:5px!important}
  .pos-payment-totals .grand strong{font-size:18px!important}

  .pos-custom-discount{position:fixed!important;z-index:28;top:54.321vh;left:86.597vw;width:12.5vw;height:13.333vh;min-width:180px;min-height:100px;display:block!important;overflow:hidden;margin:0!important;padding:7px!important;border:2px solid #8b5cf6!important;background:#f7f3ff!important}
  .pos-custom-discount>strong{display:block;margin-bottom:4px;font-size:10px!important}
  .pos-custom-discount>div{grid-template-columns:1fr 58px 42px!important}
  .pos-custom-discount select,.pos-custom-discount input{min-height:28px!important;padding:3px 5px!important;font-size:9px!important}
  .pos-custom-discount .pos-discount-reason{grid-template-columns:1fr!important;margin-top:3px}
  .pos-custom-discount .pos-discount-reason input{display:none}

  .pos-payment-methods{position:fixed!important;z-index:28;top:54.321vh;left:73.472vw;width:12.708vw;height:12.84vh;min-width:183px;min-height:96px;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:4px!important;overflow:hidden;margin:0!important;padding:6px!important;border:2px solid #0f766e!important;border-radius:10px;background:#effcf9!important}
  .pos-payment-methods>span{grid-column:1/-1;font-size:9px!important}
  .pos-payment-methods .chip{min-height:30px!important;padding:3px!important;font-size:9px!important}

  .cash-calculator{position:fixed!important;z-index:28;top:68.148vh;left:73.542vw;width:15.139vw;height:30.247vh;min-width:218px;min-height:230px;overflow:hidden;margin:0!important;padding:7px!important;border:2px solid #2563eb!important;background:#f1f6ff!important}
  .cash-calculator label{grid-template-columns:1fr!important;font-size:9px!important}
  .cash-calculator input{height:34px!important;min-height:34px!important;font-size:14px!important}
  .cash-quick{gap:3px!important;margin:3px 0!important}
  .cash-quick button,.cash-touch-keypad button{min-height:34px!important;font-size:10px!important}
  .cash-touch-keypad{gap:3px!important;margin:3px 0!important}
  .change-display{padding:4px 6px!important}

  .pos-payment-panel .checkout{position:fixed!important;z-index:30;top:86.049vh;left:88.958vw;width:9.931vw!important;height:12.963vh;min-width:142px;min-height:96px!important;margin:0!important;padding:7px!important;display:grid!important;place-items:center;border:2px solid #e25555!important;border-radius:10px!important;font-size:12px!important;box-shadow:0 8px 20px #8b1d1d2b}
  .pos-payment-panel .checkout strong{display:block;font-size:22px!important}
  .pos-payment-panel .expiry-warning,.pos-payment-details{position:fixed;z-index:40;right:1vw;bottom:1vh;width:25vw;margin:0!important}
}

/* POS 第二版：搜尋併入商品列、12 筆交易分頁、加寬結帳區。 */
@media(min-width:1201px){
  .pos-register-layout{grid-template-columns:minmax(600px,1fr) 500px!important}
  .pos-register-main{gap:0!important}
  .pos-touch-catalog{order:1!important}
  .pos-touch-product-head{display:grid;grid-template-columns:145px minmax(340px,1fr) auto;align-items:center;gap:10px;min-height:60px;padding:7px 10px;border-bottom:1px solid #e5edf5;background:#fff}
  .pos-touch-product-head>div:first-child{min-width:0}
  .pos-touch-product-head>div:first-child strong{display:block;font-size:16px;color:#20364d}
  .pos-touch-product-head>div:first-child span{display:block;overflow:hidden;margin-top:2px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
  .pos-catalog-scan{display:grid!important;grid-template-columns:130px minmax(180px,1fr) 104px!important;width:100%;min-height:44px!important;gap:6px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .pos-catalog-scan>div:nth-child(2){display:block!important}
  .pos-catalog-scan>div:nth-child(2) label{font-size:12px!important;color:#315f91;white-space:nowrap}
  .pos-catalog-scan input{height:42px!important;border:1px solid #b9cade!important;border-radius:9px!important;background:#fff!important;font-size:14px!important}
  .pos-catalog-scan .btn{min-height:42px!important;border-radius:9px!important;font-size:12px!important}
  .pos-touch-product-head>b{justify-self:end;white-space:nowrap}
  .pos-touch-categories{order:-1}

  .pos-payment-panel{width:500px}
  .pos-touch-cart .pos-sale-head{display:flex!important;align-items:center;gap:8px;padding:8px 10px!important}
  .pos-touch-cart .pos-sale-head>div:first-child{min-width:0;flex:1 1 auto}
  .pos-cart-page-note{display:block!important;margin-top:2px;color:#718397;font-size:9px;white-space:nowrap}
  .pos-cart-pager{display:grid;grid-template-columns:34px auto 34px;align-items:center;gap:4px;flex:none}
  .pos-cart-pager button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #bfd0e1;border-radius:9px;background:#fff;color:#315f91;font-size:21px;font-weight:900;cursor:pointer}
  .pos-cart-pager button:disabled{opacity:.35;cursor:default}
  .pos-cart-pager strong{min-width:38px;color:#526579;font-size:10px;text-align:center;white-space:nowrap}
  .pos-touch-cart .pos-sale-head>.btn{flex:none;white-space:nowrap}
  .pos-touch-cart>.table-wrap{scrollbar-gutter:auto!important}
  .pos-touch-cart .pos-sale-row[hidden]{display:none!important}

  .topbar{padding-right:14px}
  .topbar-title h1{font-size:21px}
  .topbar-title p{font-size:11px}
  .top-actions{gap:7px}
  .top-actions>.btn{min-height:42px;padding:8px 11px;font-size:12px}
  .top-actions .connection{padding:5px 7px;font-size:10px}
  .top-actions .workspace-switcher{min-width:164px}
  .top-actions .account-trigger{min-height:44px}
  .top-actions .account-summary strong{font-size:12px}
  .top-actions .account-summary small{font-size:9px}
}
@media(min-width:1600px){
  body:has(.pos-register-page) .top-actions{transform:translateX(-64px)}
}

/* 固定式觸控收銀臺：僅商品瀏覽與交易明細可捲動。 */
@media(min-width:1201px){
  body:has(.pos-register-page),body:has(.pos-register-page) .shell,body:has(.pos-register-page) .main{height:100dvh;min-height:0;overflow:hidden}
  body:has(.pos-register-page) .sidebar{height:100dvh;padding:16px 12px;overflow:hidden}
  body:has(.pos-register-page) .brand{flex:none;padding:0 8px 15px}
  body:has(.pos-register-page) .workspace-picker{flex:none;margin-bottom:8px;padding:9px 10px}
  body:has(.pos-register-page) .workspace-picker small{display:none}
  body:has(.pos-register-page) .nav-groups{flex:0 1 auto;max-height:360px;overflow-y:auto}
  body:has(.pos-register-page) .nav-section{margin-top:7px}
  body:has(.pos-register-page) .nav-button{min-height:42px;padding-block:8px}
  body:has(.pos-register-page) .sidebar-foot{flex:none;padding-top:10px;font-size:10px}

  body:has(.pos-register-page) .sidebar>.pos-quick-bar{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;align-items:stretch;gap:8px;overflow:hidden;margin:9px 3px;padding:10px;border-color:#ffffff35;background:#173b5e38;color:#fff}
  body:has(.pos-register-page) .sidebar .pos-quick-title{flex:none;align-items:center;margin:0}
  body:has(.pos-register-page) .sidebar .pos-quick-title strong{color:#fff;font-size:14px}
  body:has(.pos-register-page) .sidebar .pos-quick-title span{color:#dcebf8;font-size:9px}
  body:has(.pos-register-page) .sidebar .pos-quick-title .btn{min-height:34px;padding:6px 8px;border-color:#ffffff4d;background:#ffffff17;color:#fff;font-size:10px}
  body:has(.pos-register-page) .sidebar .pos-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:0;overflow:hidden}
  body:has(.pos-register-page) .sidebar .pos-shortcut-button{display:flex;min-width:0;min-height:62px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px;border-color:#ffffff30;background:#ffffffed;text-align:center}
  body:has(.pos-register-page) .sidebar .pos-shortcut-button i{width:28px;height:28px;flex:none;font-size:14px}
  body:has(.pos-register-page) .sidebar .pos-shortcut-button strong{overflow:hidden;width:100%;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
  body:has(.pos-register-page) .sidebar .pos-shortcut-button small{display:none}

  .pos-register-page{height:calc(100dvh - 76px);padding:10px 12px}
  .pos-register-layout{height:100%;grid-template-columns:minmax(650px,1fr) 430px;gap:10px;overflow:hidden}
  .pos-register-main{height:100%;gap:8px;overflow:hidden}
  .pos-register-main>.pos-quick-bar{display:none!important}

  .pos-scan-panel{grid-template-columns:165px minmax(260px,1fr) 116px!important;min-height:56px;gap:8px;padding:6px 8px;border-width:1px;border-radius:12px;box-shadow:0 3px 10px #416f9d12}
  .pos-scan-panel .scan-icon{display:none}
  .pos-scan-panel>div:nth-child(2){display:block}
  .pos-scan-panel>div:nth-child(2) label{font-size:14px;white-space:nowrap}
  .pos-scan-panel>div:nth-child(2) span{display:none}
  .pos-scan-panel input{height:42px;padding:8px 12px;border-width:1px;font-size:15px}
  .pos-scan-panel .btn{min-height:42px;padding:8px 11px}

  .pos-touch-catalog{border-radius:14px}
  .pos-touch-categories{gap:7px;overflow:hidden;padding:7px 9px}
  .pos-touch-categories button{min-width:0;min-height:54px;flex:1 1 0;grid-template-columns:32px minmax(0,1fr);padding:5px 7px;border-radius:11px}
  .pos-touch-categories button i{width:31px;height:31px;border-radius:8px;font-size:14px}
  .pos-touch-categories button span{overflow:hidden;font-size:11px;text-overflow:ellipsis}
  .pos-touch-product-head{padding:8px 11px}
  .pos-touch-product-head strong{font-size:15px}
  .pos-touch-products{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:9px;overflow-y:auto;padding:0 10px 10px;scrollbar-gutter:stable}
  .pos-touch-product{min-height:224px;padding:8px}
  .pos-touch-product-image{height:118px}

  .pos-payment-panel{display:flex;height:100%;min-height:0;flex-direction:column;overflow:hidden!important;background:#fff}
  .pos-payment-head{position:static;z-index:auto;flex:none;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:7px 10px}
  .pos-payment-head .btn{min-height:38px;padding:7px 10px;font-size:12px}
  .pos-tax-id-field{display:grid;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin:0;padding:5px 7px;border-radius:9px}
  .pos-tax-id-field label{font-size:10px;white-space:nowrap}
  .pos-tax-id-field input{min-height:32px;padding:4px 7px;font-size:14px}
  .pos-tax-id-field small{max-width:106px;font-size:9px;line-height:1.2}

  .pos-touch-cart{display:flex!important;min-height:116px;max-height:none;flex:1 1 auto;flex-direction:column;overflow:hidden;border:0;border-bottom:1px solid #dce5ef;border-radius:0;box-shadow:none}
  .pos-touch-cart .pos-sale-head{flex:none;padding:7px 10px}
  .pos-touch-cart .pos-sale-head h2{font-size:14px}
  .pos-touch-cart .pos-sale-head .btn{min-height:36px;padding:6px 9px}
  .pos-touch-cart>.table-wrap{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:0 7px 6px;scrollbar-gutter:stable}
  .pos-touch-cart tbody tr{margin:5px 0;padding:7px}
  .pos-touch-cart .pos-line-product>img,.pos-touch-cart .pos-line-product>span{width:48px;height:48px}
  .pos-touch-cart .pos-line-qty{grid-template-columns:38px 46px 38px}
  .pos-touch-cart .pos-line-qty button,.pos-touch-cart .pos-line-qty input{height:38px}
  .pos-touch-cart .pos-empty-sale{height:90px;padding-top:28px!important}

  .pos-payment-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:none;gap:2px 14px;padding:6px 11px}
  .pos-payment-totals>div{margin:0;font-size:11px}
  .pos-payment-totals .grand{grid-column:1/-1;margin:2px 0 0;padding-top:4px}
  .pos-payment-totals .grand strong{font-size:22px}
  .pos-custom-discount{flex:none;gap:4px;margin:4px 9px;padding:6px 7px;border-radius:9px}
  .pos-custom-discount>strong{font-size:11px}
  .pos-custom-discount>div{grid-template-columns:1fr 92px 48px;gap:4px}
  .pos-custom-discount select,.pos-custom-discount input{min-height:30px;padding:4px 6px;font-size:10px}
  .pos-custom-discount .btn{min-height:30px;padding:4px;font-size:10px}
  .pos-custom-discount small{display:none}
  .pos-payment-panel .expiry-warning{flex:none;margin:3px 9px;padding:6px;font-size:10px}
  .pos-payment-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:none;gap:5px;margin:0;padding:5px 9px}
  .pos-payment-methods>span{grid-column:1/-1;font-size:10px}
  .pos-payment-methods .chip{min-height:38px;flex-basis:auto;padding:5px;border-radius:9px;font-size:11px}
  .pos-payment-details,.pos-payment-details.two{grid-template-columns:repeat(2,minmax(0,1fr));flex:none;gap:5px;margin:3px 9px;padding:6px}
  .pos-payment-details input,.pos-payment-details select{min-height:34px;padding:5px 7px;font-size:12px}
  .cash-calculator{flex:none;margin:3px 9px;padding:6px 7px}
  .cash-calculator label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;font-size:10px}
  .cash-calculator input{min-height:34px;padding:5px 7px;font-size:16px}
  .cash-quick{gap:4px;margin:4px 0}
  .cash-quick button{min-height:31px;padding:3px;font-size:11px}
  .cash-touch-keypad{grid-template-columns:repeat(4,1fr);gap:4px;margin:4px 0}
  .cash-touch-keypad button{min-height:34px;border-radius:7px;font-size:15px}
  .change-display{padding:4px 7px;font-size:10px}
  .change-display strong{font-size:17px}
  .pos-payment-panel .checkout{flex:none;min-height:48px;margin:3px 9px 7px;border-radius:10px;font-size:14px}
  .pos-payment-panel .checkout strong{font-size:20px}
  .pos-key-hint{display:none}
}

/* 電腦 POS 觸控工作臺：分類、商品圖片、固定購物車三區操作。 */
.pos-touch-catalog{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden;border:1px solid #d9e4ef;border-radius:18px;background:#fff;box-shadow:0 8px 24px #315b8610}
.pos-touch-categories{display:flex;flex:0 0 auto;gap:9px;overflow-x:auto;padding:12px 14px;border-bottom:1px solid #e5edf5;background:#f8fbff;scrollbar-width:thin}
.pos-touch-categories button{display:grid;grid-template-columns:42px auto;grid-template-rows:auto auto;min-width:102px;min-height:68px;align-items:center;gap:1px 8px;padding:8px 11px;border:2px solid transparent;border-radius:14px;background:#fff;color:#526579;text-align:left;box-shadow:0 2px 8px #274c7712;cursor:pointer;touch-action:manipulation}
.pos-touch-categories button i{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#eaf2fb;color:#376d9f;font-size:17px;font-style:normal;font-weight:900}
.pos-touch-categories button span{font-size:13px;font-weight:900;white-space:nowrap}.pos-touch-categories button small{color:#8795a5;font-size:10px}
.pos-touch-categories button.active{border-color:#f59e0b;background:#fff8e8;color:#9a4d00}.pos-touch-categories button.active i{background:#f59e0b;color:#fff}
.pos-touch-product-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px}.pos-touch-product-head>div{display:grid;gap:2px}.pos-touch-product-head strong{font-size:17px}.pos-touch-product-head span{color:#758397;font-size:11px}.pos-touch-product-head>b{padding:5px 9px;border-radius:999px;background:#eaf8f2;color:#16805c;font-size:11px}
.pos-touch-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 14px 14px}
.pos-touch-product{position:relative;display:flex;min-width:0;min-height:210px;flex-direction:column;gap:5px;padding:9px;border:2px solid #e0e8f1;border-radius:15px;background:#fff;color:#23364a;text-align:left;box-shadow:0 4px 12px #315b8610;cursor:pointer;touch-action:manipulation;transition:.12s ease}
.pos-touch-product:hover,.pos-touch-product:active{border-color:#6da1d2;background:#f5f9ff;transform:translateY(-1px)}.pos-touch-product.in-cart{border-color:#22a06b;box-shadow:0 0 0 3px #dff7eb}
.pos-touch-product-image{position:relative;display:grid;place-items:center;width:100%;height:104px;overflow:hidden;border-radius:10px;background:#f4f7fa}.pos-touch-product-image img{width:100%;height:100%;object-fit:contain;background:#fff}.pos-touch-product-image>i{font-size:44px;font-style:normal}.pos-touch-product-image>b{position:absolute;right:5px;bottom:5px;padding:4px 7px;border-radius:999px;background:#16805c;color:#fff;font-size:10px}
.pos-touch-product-name{display:-webkit-box;min-height:34px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px;font-weight:900;line-height:1.3}.pos-touch-product>small{overflow:hidden;color:#7b8999;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.pos-touch-product>strong{margin-top:auto;color:#d85f18;font-size:19px}.pos-touch-product>em{color:#c2410c;font-size:10px;font-style:normal;font-weight:800}.pos-touch-product.today{border-color:#dc2626;background:#fff7f7}.pos-touch-product.near{border-color:#f59e0b;background:#fffdf5}
.pos-touch-empty{grid-column:1/-1;display:grid;min-height:240px;place-items:center;color:#718096;font-weight:800}
.cash-touch-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.cash-touch-keypad button{min-height:45px;border:1px solid #c9d6e4;border-radius:10px;background:#fff;color:#24384c;font-size:18px;font-weight:900;cursor:pointer;touch-action:manipulation}.cash-touch-keypad button:active{background:#dcecff}.cash-touch-keypad button.clear{color:#b42318;background:#fff4f2;font-size:13px}
@media(min-width:1201px){
  .pos-register-layout{grid-template-columns:minmax(620px,1fr) 430px}
  .pos-register-main{gap:10px}
  .pos-scan-panel{grid-template-columns:46px minmax(145px,.55fr) minmax(220px,1fr) 120px!important}
  .pos-scan-panel .camera-scan-button{display:none}
  .pos-register-main .pos-quick-bar{order:3;max-height:104px;overflow:auto}
  .pos-touch-catalog{order:2}
  .pos-scan-panel{order:1}
  .pos-payment-panel{overflow-y:auto;background:#fff}
  .pos-payment-head{position:sticky;top:0;z-index:6;background:#fff}
  .pos-payment-head .btn{min-height:48px;padding-inline:15px;font-size:14px}
  .pos-touch-cart{display:flex!important;flex:1 0 220px;min-height:170px;max-height:35vh;border:0;border-bottom:1px solid #dce5ef;border-radius:0;box-shadow:none}
  .pos-touch-cart .pos-sale-head{padding:10px 13px}.pos-touch-cart .pos-sale-head h2{font-size:15px}.pos-touch-cart .pos-sale-head .btn{min-height:42px}
  .pos-touch-cart>.table-wrap{min-height:0;overflow:auto;padding:0 9px 8px}
  .pos-touch-cart table,.pos-touch-cart tbody{display:block;min-width:0;width:100%}.pos-touch-cart thead{display:none}
  .pos-touch-cart tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'product total' 'price qty' 'expiry remove';gap:5px 8px;margin:7px 0;padding:9px;border:1px solid #dce6f0;border-radius:13px;background:#fff}
  .pos-touch-cart tbody td{display:block;padding:0!important;border:0!important}.pos-touch-cart tbody td:nth-child(1),.pos-touch-cart tbody td:nth-child(2){display:none}.pos-touch-cart tbody td:nth-child(3){grid-area:product}.pos-touch-cart tbody td:nth-child(4){grid-area:price;align-self:center}.pos-touch-cart tbody td:nth-child(5){grid-area:qty}.pos-touch-cart tbody td:nth-child(6){grid-area:expiry}.pos-touch-cart tbody td:nth-child(7){grid-area:total;align-self:center;text-align:right}.pos-touch-cart tbody td:nth-child(8){grid-area:remove;justify-self:end}
  .pos-touch-cart .pos-line-product{min-width:0}.pos-touch-cart .pos-line-product>img,.pos-touch-cart .pos-line-product>span{width:58px;height:58px}.pos-touch-cart .pos-line-product>div{min-width:0}.pos-touch-cart .pos-line-product>div>strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.3}
  .pos-touch-cart .pos-line-qty{grid-template-columns:44px 50px 44px}.pos-touch-cart .pos-line-qty button{height:44px;font-size:23px;font-weight:900;cursor:pointer;touch-action:manipulation}.pos-touch-cart .pos-line-qty input{height:44px;font-size:18px;font-weight:900}
  .pos-touch-cart [data-remove-cart]{min-height:40px;padding:8px 12px}.pos-touch-cart .pos-empty-sale{display:table-cell;height:180px;padding-top:58px!important;text-align:center}
  .pos-payment-totals{flex:0 0 auto}.pos-payment-methods .chip{min-height:50px;flex-basis:112px;border-radius:12px;font-size:14px;font-weight:900;cursor:pointer;touch-action:manipulation}.pos-payment-methods .chip.active{border:2px solid #2867a8;background:#dcecff;color:#174c80}
  .pos-payment-panel .checkout{min-height:62px;border-radius:14px;font-size:18px;cursor:pointer;touch-action:manipulation}.pos-payment-panel .checkout strong{font-size:25px}
  .cash-quick button{min-height:43px;font-size:14px;font-weight:900;cursor:pointer;touch-action:manipulation}
}

/* 公開商品頁：手機採 2 x 2 橫向分頁，避免商品愈多頁面愈長。 */
.public-catalog-pager{display:none}
.public-catalog-page{display:contents}
@media(max-width:700px){
  .public-catalog>header{position:relative;display:block;min-height:92px;padding:14px 86px 14px 14px}
  .public-catalog>header h1{margin:5px 0 2px;font-size:21px;line-height:1.2}
  .public-catalog>header p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:11px;line-height:1.35}
  .public-catalog>header>a{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:auto;min-width:64px;min-height:34px;padding:6px 9px;border-radius:10px;background:#fff;color:#315f99;font-size:11px;text-align:center;box-shadow:0 3px 10px #315f9914}
  .public-catalog-badge{padding:4px 8px;font-size:10px}
  .public-catalog>main{overflow:hidden;padding:12px 10px 30px}
  .public-shopping-reminder{margin-bottom:10px;padding:9px 11px;border-width:1px;border-radius:11px;gap:3px;font-size:10px;line-height:1.35}
  .public-catalog .public-catalog-toolbar{gap:7px}
  .public-catalog form{grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .public-catalog form input{min-width:0;min-height:40px;padding:0 10px;border-width:1px;border-radius:10px;font-size:13px}
  .public-catalog form button{min-height:40px;padding:0 12px;border-radius:10px;font-size:12px}
  .public-catalog-toolbar>label{grid-template-columns:34px minmax(0,1fr);font-size:11px}
  .public-catalog-toolbar select{min-width:0;min-height:40px;padding-left:10px;border-width:1px;border-radius:10px;font-size:12px}
  .public-catalog-categories{gap:6px;padding:9px 0}
  .public-catalog-categories button{padding:6px 10px;font-size:11px}
  .public-catalog-pager{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:7px;margin:2px 0 8px}
  .public-catalog-pager>button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #bfdbfe;border-radius:50%;background:#fff;color:#2563eb;font-size:25px;font-weight:900;cursor:pointer}
  .public-catalog-pager>span{display:grid;justify-items:center;line-height:1.2}
  .public-catalog-pager b{color:#1e3a8a;font-size:13px}
  .public-catalog-pager small{color:#64748b;font-size:10px}
  .public-catalog .public-catalog-grid{display:flex!important;grid-template-columns:none!important;gap:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:3px 0 9px}
  .public-catalog .public-catalog-grid::-webkit-scrollbar{display:none}
  .public-catalog .public-catalog-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,266px);flex:0 0 100%;gap:8px;padding:0 2px;scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box}
  .public-catalog .public-product-card{position:relative;display:flex!important;grid-template-columns:none!important;flex-direction:column;height:266px;min-width:0;border-radius:13px;scroll-snap-align:none;box-shadow:0 4px 12px #1e3a8a14}
  .public-catalog .public-product-card.urgent-expiry{border-width:2px;box-shadow:0 0 0 2px #fee2e2}
  .public-catalog .public-product-gallery{position:relative;flex:0 0 102px;min-height:0;overflow:hidden}
  .public-catalog .public-product-image{height:102px;aspect-ratio:auto}
  .public-catalog .public-product-image img{object-fit:contain;background:#fff}
  .public-catalog .public-product-thumbs{position:absolute;right:3px;bottom:3px;display:flex;gap:2px;padding:0}
  .public-catalog .public-product-thumbs button{display:none;width:18px;height:18px;border-radius:5px;background:#fff}
  .public-catalog .public-product-thumbs button:nth-child(-n+3){display:block}
  .public-catalog .public-product-info{display:flex!important;flex:1;flex-direction:column;gap:3px!important;height:auto!important;min-height:0;padding:7px!important}
  .public-catalog .public-product-category{padding:2px 5px;font-size:9px}
  .public-catalog .public-product-info h2{display:-webkit-box;min-height:32px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.3}
  .public-catalog .public-product-info>p{display:none}
  .public-catalog .public-product-sku{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}
  .public-catalog .public-product-expiry{display:-webkit-box;min-height:25px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin-top:0;font-size:10px;line-height:1.25}
  .public-catalog .public-price-range{font-size:17px;line-height:1}
  .public-catalog .public-product-info>strong{padding:3px 6px;font-size:9px}
  .public-catalog .public-price-options{margin-top:auto;padding-top:4px}
  .public-catalog .public-price-options summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
  .public-catalog .public-price-options[open]{position:absolute;inset:5px;z-index:5;overflow:auto;margin:0;padding:8px;border:1px solid #93c5fd;border-radius:10px;background:#fff;box-shadow:0 8px 28px #0f172a40}
  .public-catalog .public-price-options[open] summary{margin-bottom:6px;white-space:normal}
  .public-catalog .public-price-options p{padding:5px}
  .public-catalog .public-price-options p b{font-size:12px}
  .public-catalog .public-batch-thumb{width:32px;height:32px;flex-basis:32px}
  .public-purchase-notices{margin-top:18px}
}

/* 已清點列採固定左右欄，避免品名或狀態長度讓橘色驗收框左右位移。 */
@media(min-width:1501px){
  .receiving-scan-history .receiving-scan-card{
    grid-template-columns:42px 64px 360px minmax(0,1fr)!important;
    grid-auto-flow:row;
    align-items:start!important;
  }
  .receiving-scan-card>.receiving-damage-form{
    grid-column:4!important;
    grid-row:1/span 10!important;
    align-self:stretch;
    min-width:0;
    grid-template-columns:minmax(175px,1.1fr) 94px 108px minmax(170px,1fr) minmax(290px,1.55fr) 112px!important;
  }
}
@media(min-width:701px) and (max-width:1500px){
  .receiving-scan-history .receiving-scan-card{
    grid-template-columns:42px 64px minmax(240px,1fr) auto auto!important;
  }
  .receiving-scan-card>.receiving-damage-form{
    grid-column:1/-1!important;
    grid-row:auto!important;
  }
}

/* 收貨作業緊湊版：資訊靠近輸入欄，減少橫向與垂直空白。 */
.receiving-line-list{align-items:start}
.receiving-line{gap:8px;padding:11px 12px}
.receiving-line-main{grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:start}
.receiving-line-main>div{gap:2px;min-width:0}
.receiving-line-main strong{line-height:1.35}
.receiving-line-main>b{align-self:center;min-width:62px;text-align:right}
.receiving-map-form{grid-template-columns:minmax(150px,.9fr) minmax(220px,1.35fr) 88px 88px auto auto auto;gap:6px;padding-top:8px}
.receiving-map-form input{min-width:0}
.receiving-map-form .inline-check{white-space:nowrap}
.receiving-map-form>.btn{justify-self:end}
@media(min-width:1250px){
  .receiving-work-layout.pending-view .receiving-line-list,
  .receiving-work-layout.over-view .receiving-line-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .receiving-work-layout.pending-view .receiving-map-form,
  .receiving-work-layout.over-view .receiving-map-form{grid-template-columns:minmax(135px,.9fr) minmax(190px,1.35fr) 78px 78px}
  .receiving-work-layout.pending-view .receiving-map-form .inline-check,
  .receiving-work-layout.over-view .receiving-map-form .inline-check{align-self:center}
}
@media(min-width:701px) and (max-width:1249px){
  .receiving-map-form{grid-template-columns:minmax(150px,.9fr) minmax(220px,1.35fr) 84px 84px}
}

.receiving-scan-history .receiving-scan-card{
  display:grid!important;
  grid-template-columns:minmax(330px,.72fr) minmax(720px,2fr)!important;
  grid-template-rows:auto auto;
  gap:10px!important;
  align-items:start!important;
  min-height:0;
  padding:10px!important;
}
.receiving-scan-history .receiving-scan-card>.receiving-scan-summary{
  grid-column:1;
  grid-row:1;
  display:flex;
  align-items:center;
  align-content:flex-start;
  flex-wrap:wrap;
  gap:7px 9px;
  min-width:0;
  padding:4px;
}
.receiving-scan-summary>i{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:999px;background:var(--soft);font-style:normal;font-weight:900}
.receiving-scan-summary>.receiving-scan-thumb{flex:0 0 58px;width:58px;height:58px}
.receiving-scan-summary>div:not(.receiving-scan-thumb){flex:1 1 210px;min-width:0}
.receiving-scan-summary>.receiving-posted-badge{margin-left:auto}
.receiving-scan-summary>.receiving-posted-time{flex:1 1 auto}
.receiving-scan-summary>.receiving-scan-quantity-form{flex:1 1 100%;grid-template-columns:auto 34px 58px 34px auto}
.receiving-scan-summary>.receiving-scan-photo-button,
.receiving-scan-summary>.receiving-reverse-post{justify-self:auto;margin:0}
.receiving-scan-card>.receiving-damage-form{
  grid-column:2!important;
  grid-row:1!important;
  align-self:stretch;
  width:100%;
  min-width:0;
  margin:0!important;
  padding:9px 10px;
  gap:6px;
  grid-template-columns:minmax(165px,.9fr) 88px 100px minmax(165px,1fr) minmax(310px,1.7fr) 108px!important;
}
.receiving-scan-card>.receiving-damage-form .damage-cost-preview{padding:6px;gap:5px}
.receiving-scan-card>.receiving-damage-form .damage-cost-options>div{min-height:0;padding:6px}
.receiving-scan-card>.receiving-damage-form input{min-height:34px;padding:5px 7px}
.receiving-scan-card>.receiving-instant-post{
  grid-column:1/-1!important;
  grid-row:2!important;
  grid-template-columns:minmax(250px,.72fr) minmax(360px,1.25fr) minmax(220px,.75fr)!important;
  align-items:center;
  min-height:0;
  margin:0;
  padding:9px 11px;
  gap:9px;
}
.receiving-scan-card>.receiving-instant-post .receiving-batch-price-list{min-width:0;gap:5px}
.receiving-scan-card>.receiving-instant-post .receiving-batch-price{padding:6px 8px;grid-template-columns:minmax(0,1fr) 100px}
.receiving-scan-card>.receiving-instant-post .receiving-batch-price input{min-height:36px;font-size:16px}
.receiving-scan-card>.receiving-instant-post>.btn{min-height:46px}
@media(max-width:1250px){
  .receiving-scan-history .receiving-scan-card{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .receiving-scan-summary,.receiving-scan-card>.receiving-damage-form,.receiving-scan-card>.receiving-instant-post{grid-column:1!important;grid-row:auto!important}
  .receiving-scan-card>.receiving-damage-form{grid-template-columns:minmax(170px,1fr) 90px 100px minmax(180px,1fr)!important}
  .receiving-scan-card>.receiving-damage-form .damage-cost-preview,.receiving-scan-card>.receiving-damage-form>button,.receiving-scan-card>.receiving-damage-form .receiving-posted-lock{grid-column:1/-1}
  .receiving-scan-card>.receiving-instant-post{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr) minmax(190px,.7fr)!important}
}
@media(max-width:700px){
  .receiving-line,.receiving-scan-history .receiving-scan-card{padding:9px!important}
  .receiving-map-form{grid-template-columns:1fr!important}
  .receiving-map-form>*{grid-column:1!important}
  .receiving-map-form>.btn{justify-self:stretch;width:100%}
  .receiving-scan-history .receiving-scan-card>.receiving-scan-summary{display:grid;grid-template-columns:34px 54px minmax(0,1fr)}
  .receiving-scan-summary>.receiving-scan-thumb{grid-column:2;grid-row:1/3;width:54px;height:54px}
  .receiving-scan-summary>i{grid-column:1;grid-row:1}
  .receiving-scan-summary>div:not(.receiving-scan-thumb){grid-column:3;grid-row:1/3}
  .receiving-scan-summary>.receiving-posted-badge,.receiving-scan-summary>.receiving-posted-time,.receiving-scan-summary>.receiving-scan-quantity-form,.receiving-scan-summary>.receiving-scan-photo-button,.receiving-scan-summary>.receiving-reverse-post{grid-column:1/-1;grid-row:auto;width:100%;justify-self:stretch}
  .receiving-scan-card>.receiving-damage-form,.receiving-scan-card>.receiving-instant-post{grid-template-columns:1fr!important}
  .receiving-scan-card>.receiving-damage-form>*{grid-column:1!important}
  .receiving-scan-card>.receiving-instant-post>*{grid-column:1!important}
}

/* 使用者草圖版：待清點與已清點統一為直式商品作業卡。 */
.receiving-line-pager{
  display:grid;
  grid-template-columns:auto minmax(150px,1fr) auto auto;
  align-items:center;
  gap:10px;
  margin:12px 0;
  padding:10px 12px;
  border:1px solid #bfdbfe;
  border-radius:14px;
  background:#f7fbff;
  box-shadow:0 3px 12px #1e3a8a0d;
}
.receiving-line-pager>button{
  min-height:44px;
  padding:8px 16px;
  border:1px solid #93c5fd;
  border-radius:11px;
  background:#fff;
  color:#1d4ed8;
  font-weight:900;
  cursor:pointer;
}
.receiving-line-pager>button:not(:disabled):hover{background:#eaf3ff;border-color:#3b82f6}
.receiving-line-pager>button:disabled{opacity:.38;cursor:not-allowed}
.receiving-line-pager>span{display:grid;justify-items:center;gap:2px;color:#1e3a5f}
.receiving-line-pager>span b{font-size:16px}
.receiving-line-pager>span small{color:#64748b;font-size:12px}
.receiving-line-pager>label{display:flex;align-items:center;gap:7px;color:#526277;font-size:13px;font-weight:800}
.receiving-line-pager select{min-width:104px;min-height:44px;padding:7px 30px 7px 10px;border:1px solid #bfdbfe;border-radius:10px;background:#fff;color:#172033;font-weight:800}
@media(max-width:700px){
  .receiving-line-pager{grid-template-columns:1fr auto 1fr;gap:7px;padding:9px;margin:10px 0}
  .receiving-line-pager>span{grid-column:1/-1;grid-row:1}
  .receiving-line-pager>button:first-child{grid-column:1;grid-row:2}
  .receiving-line-pager>label{grid-column:2;grid-row:2;display:block;font-size:0}
  .receiving-line-pager>label select{min-width:94px;font-size:13px}
  .receiving-line-pager>button:last-child{grid-column:3;grid-row:2}
  .receiving-line-pager>button{min-width:0;padding:8px 9px;font-size:13px}
}
.receiving-work-layout.pending-view .receiving-line-list,
.receiving-work-layout.over-view .receiving-line-list{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  grid-auto-flow:row;
  gap:9px;
  align-items:stretch;
  width:100%;
}
.receiving-work-layout.pending-view .receiving-line,
.receiving-work-layout.over-view .receiving-line{
  display:grid;
  width:auto!important;
  min-width:0;
  grid-template-columns:1fr!important;
  grid-template-rows:auto 1fr;
  align-items:start;
  height:100%;
  gap:10px;
  min-width:0;
  padding:0 11px 12px;
  overflow:hidden;
  border-width:2px;
  border-color:#e7b321;
  background:#fffdf7;
}
.receiving-work-layout.pending-view .receiving-line-main,
.receiving-work-layout.over-view .receiving-line-main{
  grid-column:1!important;
  position:relative;
  display:grid;
  grid-template-columns:1fr!important;
  gap:7px;
  width:100%;
  text-align:center;
}
.receiving-work-layout.pending-view .receiving-line-main>span,
.receiving-work-layout.over-view .receiving-line-main>span{
  width:calc(100% + 22px)!important;
  max-width:none;
  margin-left:-11px;
  padding:7px 48px!important;
  border-radius:0!important;
  background:#ff3150!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:950;
  letter-spacing:.06em;
  text-shadow:0 2px 0 #111,1px 0 0 #111,-1px 0 0 #111,0 -1px 0 #111;
}
.receiving-work-layout.pending-view .receiving-line-main>div,
.receiving-work-layout.over-view .receiving-line-main>div{justify-items:center;gap:4px;padding:0 5px}
.receiving-work-layout.pending-view .receiving-line-main strong,
.receiving-work-layout.over-view .receiving-line-main strong{font-size:16px;line-height:1.28}
.receiving-work-layout.pending-view .receiving-line-main small,
.receiving-work-layout.over-view .receiving-line-main small{line-height:1.3}
.receiving-work-layout.pending-view .receiving-line-main>b,
.receiving-work-layout.over-view .receiving-line-main>b{position:absolute;right:0;top:9px;z-index:2;min-width:42px;color:#fff;font-size:13px;text-align:right}
.receiving-work-layout.pending-view .receiving-priority-badge,
.receiving-work-layout.over-view .receiving-priority-badge{order:-1;margin-top:1px;padding:5px 10px}
.receiving-work-layout.pending-view .receiving-map-form,
.receiving-work-layout.over-view .receiving-map-form{
  grid-column:1!important;
  display:grid;
  grid-template-columns:1fr 1fr!important;
  grid-template-areas:"sku sku" "name name" "cost sale" "reference reference" "create expiry" "save save";
  grid-template-rows:auto auto auto auto 1fr auto;
  align-content:start;
  height:100%;
  gap:8px;
  width:100%;
  min-width:0;
  padding:0;
  border:0;
}
.receiving-map-form>.receiving-map-sku{grid-area:sku}
.receiving-map-form>.receiving-map-name{grid-area:name}
.receiving-map-form>.protected-cost-field{grid-area:cost}
.receiving-map-form>.protected-price-field{grid-area:sale}
.receiving-map-form>.receiving-source-price{grid-area:reference}
.receiving-map-form>.receiving-map-create{grid-area:create}
.receiving-map-form>.receiving-map-expiry{grid-area:expiry}
.receiving-map-form>.receiving-map-save{grid-area:save}
.receiving-work-layout.pending-view .receiving-map-sku,
.receiving-work-layout.pending-view .receiving-map-name,
.receiving-work-layout.over-view .receiving-map-sku,
.receiving-work-layout.over-view .receiving-map-name{justify-items:center;color:#64748b;font-size:14px}
.receiving-map-sku>span,.receiving-map-name>span{font-weight:900}
.receiving-map-sku>.receiving-map-field-title,.receiving-map-name>.receiving-map-field-title{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:30px;text-align:left}
.receiving-map-copy-button{padding:4px 9px;font-size:11px;line-height:1.2}
.receiving-work-layout.pending-view .receiving-map-form input:not([type="checkbox"]),
.receiving-work-layout.over-view .receiving-map-form input:not([type="checkbox"]){width:100%;min-height:36px;text-align:left}
.receiving-work-layout.pending-view .receiving-map-form input[type="checkbox"],
.receiving-work-layout.over-view .receiving-map-form input[type="checkbox"]{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  min-height:0!important;
  flex:0 0 17px;
  margin:0;
}
.receiving-work-layout.pending-view .receiving-map-form .protected-cost-field,
.receiving-work-layout.pending-view .receiving-map-form .protected-price-field,
.receiving-work-layout.over-view .receiving-map-form .protected-cost-field,
.receiving-work-layout.over-view .receiving-map-form .protected-price-field{align-self:stretch;min-height:74px;padding:7px;text-align:left;box-sizing:border-box}
.receiving-work-layout.pending-view .receiving-map-form .protected-cost-field input,
.receiving-work-layout.pending-view .receiving-map-form .protected-price-field input,
.receiving-work-layout.over-view .receiving-map-form .protected-cost-field input,
.receiving-work-layout.over-view .receiving-map-form .protected-price-field input{text-align:left}
.receiving-work-layout.pending-view .receiving-map-form .protected-cost-field small,
.receiving-work-layout.pending-view .receiving-map-form .protected-price-field small,
.receiving-work-layout.over-view .receiving-map-form .protected-cost-field small,
.receiving-work-layout.over-view .receiving-map-form .protected-price-field small{display:none}
.receiving-work-layout.pending-view .receiving-source-price,
.receiving-work-layout.over-view .receiving-source-price{display:grid;place-items:center;justify-self:center;width:max-content;max-width:100%;min-height:28px;margin:0;padding:5px 10px;border-radius:999px;text-align:center;box-sizing:border-box}
.receiving-work-layout.pending-view .receiving-map-form .inline-check,
.receiving-work-layout.over-view .receiving-map-form .inline-check{
  display:grid;
  grid-template-columns:17px minmax(0,1fr);
  align-items:center;
  align-self:end;
  gap:7px;
  width:100%;
  height:58px;
  min-height:58px;
  padding:7px 9px;
  border:1px solid #dbe3ec;
  border-radius:10px;
  background:#fff;
  color:#334155;
  font-size:13px!important;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  white-space:normal;
  box-sizing:border-box;
}
.receiving-work-layout.pending-view .receiving-map-form .inline-check>span,
.receiving-work-layout.over-view .receiving-map-form .inline-check>span{display:grid;place-items:center;min-width:0;min-height:32px}
.receiving-work-layout.pending-view .receiving-map-form>.btn,
.receiving-work-layout.over-view .receiving-map-form>.btn{align-self:end;justify-self:center;width:auto;min-width:116px;height:42px;min-height:42px;font-size:12px;box-sizing:border-box}

.receiving-work-layout.scanned-view .receiving-scan-history{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:9px;width:100%}
.receiving-work-layout.scanned-view .receiving-scan-history>.panel-title,
.receiving-work-layout.scanned-view .receiving-scan-history>.empty{grid-column:1/-1}
.receiving-work-layout.scanned-view .receiving-scan-history .receiving-scan-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto!important;
  gap:9px!important;
  min-width:0;
  min-height:0;
  height:100%;
  padding:0 10px 11px!important;
  overflow:hidden;
  align-items:start!important;
}
.receiving-card-status{
  grid-column:1;
  grid-row:auto;
  width:calc(100% + 20px);
  margin-left:-10px;
  padding:7px 45px;
  background:#2563eb;
  color:#fff;
  text-align:center;
  font-size:17px;
  font-weight:950;
  letter-spacing:.08em;
}
.receiving-card-status.posted{background:#16a34a}
.receiving-work-layout.scanned-view .receiving-scan-summary{
  grid-column:1!important;
  grid-row:auto!important;
  display:grid!important;
  grid-template-columns:30px 58px minmax(0,1fr);
  gap:7px 8px;
  align-items:start;
  width:100%;
  padding:2px 0;
}
.receiving-work-layout.scanned-view .receiving-scan-summary>i{grid-column:1;grid-row:1}
.receiving-work-layout.scanned-view .receiving-scan-summary>.receiving-scan-thumb{grid-column:2;grid-row:1;width:58px;height:58px}
.receiving-work-layout.scanned-view .receiving-scan-summary>.receiving-scan-info{grid-column:3;grid-row:1;min-width:0;text-align:left}
.receiving-work-layout.scanned-view .receiving-scan-summary>.receiving-posted-badge,
.receiving-work-layout.scanned-view .receiving-scan-summary>.receiving-posted-time,
.receiving-work-layout.scanned-view .receiving-scan-summary>.receiving-scan-quantity-form,
.receiving-work-layout.scanned-view .receiving-scan-summary>.receiving-scan-actions{grid-column:1/-1;grid-row:auto;justify-self:stretch;width:100%}
.receiving-work-layout.scanned-view .receiving-scan-summary>.receiving-posted-badge,
.receiving-work-layout.scanned-view .receiving-scan-summary>.receiving-posted-time{text-align:center}
.receiving-work-layout.scanned-view .receiving-scan-summary>.receiving-scan-quantity-form{grid-template-columns:1fr 34px 58px 34px auto}
.receiving-work-layout.scanned-view .receiving-scan-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px;align-items:stretch}
.receiving-work-layout.scanned-view .receiving-scan-actions>.btn,
.receiving-work-layout.scanned-view .receiving-scan-actions>label{display:grid;place-items:center;width:100%;max-width:none;min-height:38px;margin:0;padding:6px 8px;line-height:1.2;text-align:center;white-space:normal;box-sizing:border-box}
.receiving-work-layout.scanned-view .receiving-scan-card>.receiving-damage-form{
  grid-column:1!important;
  grid-row:auto!important;
  display:grid;
  grid-template-columns:1fr 1fr!important;
  gap:7px;
  width:100%;
  min-width:0;
  min-height:0;
  padding:9px;
}
.receiving-work-layout.scanned-view .receiving-damage-form>div:first-child,
.receiving-work-layout.scanned-view .receiving-damage-form>.damage-reason,
.receiving-work-layout.scanned-view .receiving-damage-form>.damage-cost-preview,
.receiving-work-layout.scanned-view .receiving-damage-form>.damage-audit,
.receiving-work-layout.scanned-view .receiving-damage-form>.receiving-posted-lock,
.receiving-work-layout.scanned-view .receiving-damage-form>button{grid-column:1/-1}
.receiving-work-layout.scanned-view .receiving-damage-form .damage-cost-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.receiving-work-layout.scanned-view .receiving-damage-form .damage-cost-options>div{min-height:0;padding:5px}
.receiving-work-layout.scanned-view .receiving-damage-form>button{justify-self:center;min-width:130px}
.receiving-work-layout.scanned-view .receiving-scan-card>.receiving-instant-post{
  grid-column:1!important;
  grid-row:auto!important;
  display:grid;
  grid-template-columns:1fr!important;
  gap:7px;
  width:100%;
  min-height:0;
  padding:9px;
}
.receiving-work-layout.scanned-view .receiving-scan-card>.receiving-listing-fix{
  grid-column:1!important;
  grid-row:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:10px!important;
  box-sizing:border-box!important;
}
.receiving-work-layout.scanned-view .receiving-scan-card>.receiving-listing-fix>div,
.receiving-work-layout.scanned-view .receiving-scan-card>.receiving-listing-fix>input,
.receiving-work-layout.scanned-view .receiving-scan-card>.receiving-listing-fix>label{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.receiving-work-layout.scanned-view .receiving-scan-card>.receiving-listing-fix>div{line-height:1.4;overflow-wrap:anywhere}
.receiving-work-layout.scanned-view .receiving-scan-card>.receiving-listing-fix>label{display:grid!important;min-height:44px;place-items:center;white-space:normal!important;text-align:center}
.receiving-work-layout.scanned-view .receiving-instant-post>.btn{width:100%;min-height:44px}
@media(max-width:1700px){
  .receiving-work-layout.pending-view .receiving-line-list,.receiving-work-layout.over-view .receiving-line-list{grid-template-columns:repeat(4,minmax(0,1fr))}
  .receiving-work-layout.scanned-view .receiving-scan-history{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1350px){
  .receiving-work-layout.pending-view .receiving-line-list,.receiving-work-layout.over-view .receiving-line-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .receiving-work-layout.scanned-view .receiving-scan-history{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
  .receiving-work-layout.pending-view .receiving-line-list,.receiving-work-layout.over-view .receiving-line-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .receiving-work-layout.pending-view .receiving-line-list,.receiving-work-layout.over-view .receiving-line-list,.receiving-work-layout.scanned-view .receiving-scan-history{grid-template-columns:1fr}
  .receiving-work-layout.pending-view .receiving-line,.receiving-work-layout.over-view .receiving-line{padding-left:9px;padding-right:9px}
  .receiving-work-layout.pending-view .receiving-line-main>span,.receiving-work-layout.over-view .receiving-line-main>span{width:calc(100% + 18px)!important;margin-left:-9px}
  .receiving-work-layout.scanned-view .receiving-damage-form .damage-cost-options{grid-template-columns:1fr}
}

/* 收貨工作單列表：固定寬度的資訊卡，不因卡片數量少而拉滿整頁。 */
.receiving-page .receiving-job-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,380px));
  align-items:stretch;
  justify-content:start;
  gap:14px;
}
.receiving-page .receiving-job-grid>.receiving-job-card,
.receiving-page .receiving-job-grid>.receiving-job-card-wrap{width:100%;min-width:0;height:100%;box-sizing:border-box}
.receiving-page .receiving-job-card-wrap{display:grid;grid-template-rows:1fr auto;gap:8px;padding:0;border:1px solid #d9e4ef;border-radius:18px;background:#fff;box-shadow:0 8px 22px #315b8612;overflow:hidden}
.receiving-page .receiving-job-card-wrap .receiving-job-card,
.receiving-page .receiving-job-grid>.receiving-job-card{
  display:grid;
  grid-template-columns:1fr;
  align-content:start;
  gap:9px;
  width:100%;
  min-width:0;
  height:100%;
  padding:16px;
  border:1px solid #d9e4ef;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 8px 22px #315b8612;
  box-sizing:border-box;
}
.receiving-page .receiving-job-card-wrap .receiving-job-card{border:0;border-radius:0;box-shadow:none}
.receiving-page .receiving-job-card>.status{justify-self:start}
.receiving-page .receiving-job-card>strong{overflow:hidden;font-size:19px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.receiving-page .receiving-job-card>small{min-height:32px;overflow:hidden;line-height:1.4;overflow-wrap:anywhere}
.receiving-page .receiving-job-card>b{font-size:17px;color:#20344d}
.receiving-page .receiving-job-card .receiving-progress{height:10px;margin-top:2px}
.receiving-page .receiving-job-delete{justify-self:stretch;width:calc(100% - 20px);min-height:40px;margin:0 10px 10px}
.receiving-page .receiving-job-card .receiving-cost-summary.compact{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  width:100%;
  margin-top:4px;
  padding:9px;
  box-sizing:border-box;
}
.receiving-page .receiving-job-card .receiving-cost-summary.compact>div{min-width:0;padding:7px;border-radius:9px;background:#fff}
.receiving-page .receiving-job-card .receiving-cost-summary.compact>div.total{padding-left:7px;border:0;border-left:3px solid #7c3aed}
.receiving-page .receiving-job-card .receiving-cost-summary.compact .rate{grid-column:1/-1;grid-row:auto;min-height:68px;padding:9px;background:linear-gradient(145deg,#7c3aed,#4c1d95)}
.receiving-page .receiving-job-card .receiving-cost-summary.compact .rate strong{font-size:27px}
@media(max-width:720px){
  .receiving-page .receiving-job-grid{grid-template-columns:1fr}
  .receiving-page .receiving-job-grid>.receiving-job-card,.receiving-page .receiving-job-grid>.receiving-job-card-wrap{max-width:none}
}

/* 我的工作臺：用卡片清單取代下拉選單。 */
button.workspace-picker{
  width:100%;
  color:#fff;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
button.workspace-picker>span{color:#dcebf8;font-size:10px;font-weight:800;letter-spacing:.08em}
button.workspace-picker>strong{font-size:14px;line-height:1.35}
button.workspace-picker>small{color:#dcebf8;font-size:10px;line-height:1.45}
button.workspace-picker>b{color:#fff;font-size:10px;text-align:right;opacity:.9}
button.workspace-picker:hover{border-color:#ffffff66;background:#ffffff1f}
.topbar button.workspace-switcher{
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  min-width:205px;
  padding:7px 10px;
  color:var(--ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.topbar button.workspace-switcher>span{grid-column:1;grid-row:1;color:var(--muted);font-size:10px;font-weight:700}
.topbar button.workspace-switcher>strong{grid-column:1;grid-row:2;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.topbar button.workspace-switcher>b{grid-column:2;grid-row:1/3;align-self:center;color:var(--blue);font-size:11px;white-space:nowrap}
.topbar button.workspace-switcher:hover{border-color:var(--blue-light);box-shadow:0 5px 14px #416f9d16}
.workspace-card-backdrop{z-index:120}
.workspace-card-menu{width:min(820px,calc(100vw - 28px));padding:22px}
.workspace-card-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.workspace-choice-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  gap:8px 12px;
  min-width:0;
  min-height:174px;
  padding:17px;
  border:2px solid #dbe5ef;
  border-radius:18px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.workspace-choice-card:hover{transform:translateY(-2px);border-color:#8fb8df;box-shadow:0 12px 26px #315b8620}
.workspace-choice-card.active{border-color:#2563a9;background:#f5f9ff;box-shadow:0 0 0 4px #dbeafe}
.workspace-choice-card>i{grid-column:1;grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#64748b;color:#fff;font-size:20px;font-style:normal;font-weight:900}
.workspace-choice-card>span{grid-column:2;grid-row:1/3;display:grid;align-content:start;gap:7px;min-width:0}
.workspace-choice-card strong{font-size:16px}
.workspace-choice-card small{color:var(--muted);font-size:12px;line-height:1.55}
.workspace-choice-card>b{grid-column:1/-1;grid-row:3;align-self:end;padding-top:10px;border-top:1px solid #edf1f5;color:var(--blue);font-size:12px;text-align:right}
.workspace-choice-card.workspace-overview>i{background:#64748b}
.workspace-choice-card.workspace-warehouse>i{background:#0e9f6e}
.workspace-choice-card.workspace-storefront>i{background:#2563a9}
.workspace-choice-card.active>b::before{content:'✓ ';font-weight:900}
@media(max-width:720px){
  .topbar button.workspace-switcher{grid-column:1/-1;grid-row:2;width:100%;min-width:0;min-height:44px}
  .workspace-card-menu{width:100%;max-height:92dvh;overflow:auto;padding:18px 14px max(18px,env(safe-area-inset-bottom))}
  .workspace-card-list{grid-template-columns:1fr;gap:10px}
  .workspace-choice-card{min-height:122px;padding:14px}
}

/* 管理總覽紅框區：三種入口共用同一套固定尺寸卡片清單。 */
.humane-dashboard .workspace-entry-grid,
.humane-dashboard .today-task-grid,
.humane-dashboard .work-entry-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(235px,270px));
  grid-auto-rows:1fr;
  justify-content:start;
  align-items:stretch;
  gap:12px;
}
.humane-dashboard .workspace-entry,
.humane-dashboard .today-task,
.humane-dashboard .work-entry{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  grid-template-rows:auto minmax(42px,1fr) auto;
  gap:7px 12px;
  align-items:start;
  width:100%;
  min-width:0;
  min-height:154px;
  height:100%;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  box-sizing:border-box;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.humane-dashboard .workspace-entry:hover,
.humane-dashboard .today-task:hover,
.humane-dashboard .work-entry:hover{
  transform:translateY(-2px);
  border-color:var(--blue-light);
  box-shadow:0 10px 24px #416f9d18;
}
.humane-dashboard .workspace-entry>i,
.humane-dashboard .today-task>i,
.humane-dashboard .work-entry>i{
  grid-column:1;
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin:0;
  border-radius:14px;
  background:var(--blue);
  color:#fff;
  font-size:17px;
  font-style:normal;
  font-weight:900;
}
.humane-dashboard .workspace-entry>span,
.humane-dashboard .today-task>span{
  grid-column:2;
  grid-row:1/3;
  display:grid;
  align-content:start;
  gap:6px;
  min-width:0;
}
.humane-dashboard .workspace-entry strong,
.humane-dashboard .today-task strong,
.humane-dashboard .work-entry>strong{
  font-size:15px;
  line-height:1.35;
}
.humane-dashboard .workspace-entry small,
.humane-dashboard .today-task small,
.humane-dashboard .work-entry>span{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.humane-dashboard .workspace-entry>b,
.humane-dashboard .today-task>b,
.humane-dashboard .work-entry>b{
  grid-column:1/-1;
  grid-row:3;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  min-width:0;
  height:auto;
  min-height:28px;
  padding:9px 0 0;
  border-top:1px solid #e8eef4;
  border-radius:0;
  background:transparent;
  color:var(--blue);
  font-size:12px;
  line-height:1.2;
  box-sizing:border-box;
}
.humane-dashboard .today-task>b::before{content:'待處理：';font-weight:600;color:var(--muted)}
.humane-dashboard .today-task.clear{opacity:1;background:#fbfefc}
.humane-dashboard .today-task.clear>b{color:var(--green)}
.humane-dashboard .today-task.clear>b::before{content:'狀態：'}
.humane-dashboard .work-entry>strong{grid-column:2;grid-row:1;align-self:start}
.humane-dashboard .work-entry>span{grid-column:2;grid-row:2;align-self:start;min-width:0}
.humane-dashboard .workspace-entry.workspace-warehouse>i{background:#0e9f6e}
.humane-dashboard .workspace-entry.workspace-storefront>i{background:#2563a9}
@media(max-width:760px){
  .humane-dashboard .workspace-entry-grid,
  .humane-dashboard .today-task-grid,
  .humane-dashboard .work-entry-grid{grid-template-columns:1fr}
  .humane-dashboard .workspace-entry,
  .humane-dashboard .today-task,
  .humane-dashboard .work-entry{min-height:126px}
}

/* 協作收貨手機校正：解除舊版單欄規則與新版卡片網格互相覆蓋。 */
@media(max-width:760px){
  .receiving-page,
  .receiving-work-layout,
  .receiving-work-layout>.panel,
  .receiving-line-list,
  .receiving-line{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
  .receiving-page{gap:12px;overflow-x:hidden}
  .receiving-work-layout{grid-template-columns:minmax(0,1fr)!important;gap:12px}
  .receiving-work-layout.pending-view .receiving-line-list,
  .receiving-work-layout.over-view .receiving-line-list{grid-template-columns:minmax(0,1fr)!important;gap:12px}
  .receiving-work-layout.pending-view .receiving-line,
  .receiving-work-layout.over-view .receiving-line{height:auto;padding:0 10px 11px!important;border-radius:17px}
  .receiving-work-layout.pending-view .receiving-line-main>span,
  .receiving-work-layout.over-view .receiving-line-main>span{
    width:calc(100% + 20px)!important;
    margin-left:-10px;
    padding:7px 48px!important;
    font-size:17px!important;
  }
  .receiving-work-layout.pending-view .receiving-line-main>div,
  .receiving-work-layout.over-view .receiving-line-main>div{padding:0 2px;gap:3px}
  .receiving-work-layout.pending-view .receiving-line-main strong,
  .receiving-work-layout.over-view .receiving-line-main strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere}
  .receiving-work-layout.pending-view .receiving-line-main small,
  .receiving-work-layout.over-view .receiving-line-main small{font-size:12px;line-height:1.35;overflow-wrap:anywhere}
  .receiving-work-layout.pending-view .receiving-line-main>b,
  .receiving-work-layout.over-view .receiving-line-main>b{top:8px;right:1px;font-size:12px}
  .receiving-work-layout.pending-view .receiving-map-form,
  .receiving-work-layout.over-view .receiving-map-form{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:
      "sku sku"
      "name name"
      "cost sale"
      "reference reference"
      "create expiry"
      "save save"!important;
    grid-template-rows:auto!important;
    height:auto;
    gap:8px;
  }
  .receiving-work-layout .receiving-map-form>*{min-width:0;max-width:100%;grid-column:auto!important}
  .receiving-work-layout .receiving-map-form>.receiving-map-sku{grid-area:sku!important}
  .receiving-work-layout .receiving-map-form>.receiving-map-name{grid-area:name!important}
  .receiving-work-layout .receiving-map-form>.protected-cost-field{grid-area:cost!important}
  .receiving-work-layout .receiving-map-form>.protected-price-field{grid-area:sale!important}
  .receiving-work-layout .receiving-map-form>.receiving-source-price{grid-area:reference!important}
  .receiving-work-layout .receiving-map-form>.receiving-map-create{grid-area:create!important}
  .receiving-work-layout .receiving-map-form>.receiving-map-expiry{grid-area:expiry!important}
  .receiving-work-layout .receiving-map-form>.receiving-map-save{grid-area:save!important}
  .receiving-work-layout .receiving-map-form input:not([type="checkbox"]){width:100%!important;max-width:100%;min-height:42px;padding:7px 9px;font-size:16px;box-sizing:border-box}
  .receiving-work-layout.pending-view .receiving-map-form .protected-cost-field,
  .receiving-work-layout.pending-view .receiving-map-form .protected-price-field,
  .receiving-work-layout.over-view .receiving-map-form .protected-cost-field,
  .receiving-work-layout.over-view .receiving-map-form .protected-price-field{min-height:68px;padding:7px}
  .receiving-work-layout.pending-view .receiving-map-form .inline-check,
  .receiving-work-layout.over-view .receiving-map-form .inline-check{height:auto;min-height:52px;padding:7px;font-size:12px!important}
  .receiving-work-layout.pending-view .receiving-map-form>.btn,
  .receiving-work-layout.over-view .receiving-map-form>.btn{justify-self:stretch;width:100%;min-height:44px}
  .receiving-source-price{white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:340px){
  .receiving-work-layout.pending-view .receiving-map-form,
  .receiving-work-layout.over-view .receiving-map-form{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"sku" "name" "cost" "sale" "reference" "create" "expiry" "save"!important;
  }
}

/* 手機收貨：總覽與執行清單分開，清點時不必重複滾過大型統計區。 */
@media(max-width:650px){
  .receiving-summary .receiving-persisted-cost{display:none!important}
  .receiving-detail-view>.receiving-summary{display:none!important}
  .receiving-overview-view>.receiving-scan-panel,
  .receiving-overview-view>.receiving-work-layout{display:none!important}
  .receiving-view-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px}
  .receiving-view-tabs .receiving-overview-tab{grid-column:1/-1;min-height:36px}
  .receiving-view-tabs button{min-height:38px;padding:4px 3px;font-size:11px;line-height:1.2}
  .receiving-view-tabs b{min-width:19px;height:19px;font-size:10px}
  .receiving-summary{gap:8px;padding:11px}
  .receiving-summary-head{gap:7px}
  .receiving-summary-head .btn{min-height:36px;padding:6px 9px;font-size:12px}
  .receiving-summary-head strong{font-size:18px}
  .receiving-game-caption{gap:1px;margin-top:0}
  .receiving-game-caption strong{font-size:13px}
  .receiving-game-caption span{font-size:10px;line-height:1.25}
  .receiving-pallet-progress{height:82px!important;margin:10px 0 7px!important;padding-top:24px;transform:none}
  .receiving-pallet-progress::after{top:42px}
  .receiving-station-label{top:4px;padding:3px 6px;border-width:1px;font-size:9px}
  .receiving-station-pad{bottom:8px;transform:translateX(-50%) scale(.65);transform-origin:center bottom}
  .receiving-warehouse-worker,
  .receiving-warehouse-worker.phase-shelve{bottom:4px;transform:translateX(-50%) scale(.6);transform-origin:center bottom}
  .receiving-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .receiving-kpis span{min-height:30px;padding:5px 3px;border-radius:7px;font-size:10px;line-height:1.2}
  .receiving-summary>#post-receiving-job{min-height:38px;padding:7px;font-size:12px}
  .receiving-work-layout,
  .receiving-work-layout>.panel,
  .receiving-scan-history,
  .receiving-scan-history .receiving-scan-card,
  .receiving-scan-card>.receiving-damage-form,
  .receiving-scan-card>.receiving-instant-post,
  .receiving-expiry-pending,
  .receiving-near-expiry,
  .receiving-photo-pending{width:100%!important;max-width:100%;min-width:0;margin-left:0;margin-right:0;box-sizing:border-box}
  .receiving-work-layout.scanned-view .receiving-scan-card>.receiving-damage-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .receiving-work-layout.scanned-view .receiving-scan-card>.receiving-damage-form>*{grid-column:auto!important;min-width:0;max-width:100%;box-sizing:border-box}
  .receiving-work-layout.scanned-view .receiving-scan-card>.receiving-damage-form>div:first-child,
  .receiving-work-layout.scanned-view .receiving-scan-card>.receiving-damage-form>.damage-reason,
  .receiving-work-layout.scanned-view .receiving-scan-card>.receiving-damage-form>.damage-cost-preview,
  .receiving-work-layout.scanned-view .receiving-scan-card>.receiving-damage-form>.damage-audit,
  .receiving-work-layout.scanned-view .receiving-scan-card>.receiving-damage-form>.receiving-posted-lock,
  .receiving-work-layout.scanned-view .receiving-scan-card>.receiving-damage-form>button{grid-column:1/-1!important;width:100%}
  .receiving-scan-info .receiving-scan-expiry-batch{display:grid;grid-template-columns:1fr;gap:2px;margin-top:3px}
  .receiving-scan-info .receiving-scan-expiry-batch>span{display:block;line-height:1.35;overflow-wrap:anywhere}
  .receiving-batch-price .receiving-batch-price-meta{display:grid;grid-template-columns:1fr;gap:2px;align-content:center;line-height:1.25}
  .receiving-batch-price .receiving-batch-price-meta>b{display:block;font-size:12px;color:#334155;overflow-wrap:anywhere}

  /* 工作入口固定放在最上方，放大成一眼可辨識、容易點擊的任務卡片。 */
  .receiving-page>.receiving-view-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:9px;
    border:1px solid #d7e4f1;
    background:#f4f8fc;
    box-shadow:0 5px 16px rgba(52,91,130,.10);
  }
  .receiving-page>.receiving-view-tabs .receiving-overview-tab{
    grid-column:1/-1;
    min-height:54px;
    padding:10px 12px;
    font-size:17px;
    letter-spacing:.02em;
    box-shadow:0 4px 10px rgba(65,111,157,.18);
  }
  .receiving-page>.receiving-view-tabs button:not(.receiving-overview-tab){
    position:relative;
    min-height:72px;
    padding:9px 7px 24px;
    border-width:2px;
    border-color:#cbd9e7;
    font-size:14px;
    line-height:1.25;
    box-shadow:0 3px 9px rgba(52,91,130,.10);
  }
  .receiving-page>.receiving-view-tabs button:not(.receiving-overview-tab)::after{
    content:"點選進入 ›";
    position:absolute;
    right:0;
    bottom:7px;
    left:0;
    color:#5b7da0;
    font-size:10px;
    font-weight:800;
  }
  .receiving-page>.receiving-view-tabs button:not(.receiving-overview-tab).active::after{color:#eaf4ff}
  .receiving-page>.receiving-view-tabs button:not(.receiving-overview-tab) b{
    min-width:25px;
    height:25px;
    margin-left:4px;
    font-size:14px;
  }
}

/* 手機掃碼核對：只保留一層滾動，避免 iOS 鍵盤開合後視覺與觸控座標錯開。 */
@media(max-width:650px){
  .receiving-review-backdrop{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    touch-action:pan-y;
    -webkit-overflow-scrolling:touch;
  }
  .receiving-review-modal{
    position:relative!important;
    inset:auto!important;
    height:auto!important;
    min-height:100dvh!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    padding-bottom:max(110px,calc(40px + env(safe-area-inset-bottom)))!important;
    touch-action:auto;
    -webkit-overflow-scrolling:auto;
  }
  .receiving-review-modal .modal-actions{
    position:static!important;
    inset:auto!important;
    z-index:auto!important;
    margin:18px 0 0!important;
    padding:12px 0 max(8px,env(safe-area-inset-bottom))!important;
    background:#fff!important;
  }
  .receiving-review-modal .inline-check{
    position:relative;
    z-index:2;
    isolation:isolate;
    width:100%;
    min-height:54px;
    box-sizing:border-box;
    cursor:pointer;
    touch-action:manipulation;
    -webkit-tap-highlight-color:rgba(37,99,235,.16);
  }
  .receiving-review-modal .inline-check input[type="checkbox"]{
    position:relative;
    z-index:2;
    flex:0 0 22px;
    width:22px!important;
    height:22px!important;
    margin:0;
    pointer-events:auto;
    accent-color:#2563eb;
  }
  .receiving-review-modal .inline-check>*{pointer-events:none}
  .receiving-review-modal .inline-check input[type="checkbox"]{pointer-events:auto}
  .receiving-review-modal .inline-check b{
    pointer-events:none;
  }
  .receiving-review-modal .form-grid,
  .receiving-review-modal .form-grid>.field{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .receiving-review-modal .receiving-expiry-date-field{
    overflow:hidden;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .receiving-review-modal .receiving-expiry-date-field input[type="date"]{
    display:block;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    -webkit-appearance:none;
    appearance:none;
  }
}

.receiving-expiry-date-field{
  position:relative;
  border:2px solid #f59e0b!important;
  background:#fff7ed!important;
  box-shadow:0 0 0 4px rgba(245,158,11,.12);
}
.receiving-expiry-date-field>label{
  color:#9a3412!important;
  font-size:16px!important;
  font-weight:900!important;
}
.receiving-expiry-date-field input[type="date"]{
  min-height:52px;
  border:2px solid #fb923c;
  background:#fff;
  color:#7c2d12;
  font-size:18px;
  font-weight:900;
}
.receiving-expiry-date-field.required-expiry::after{
  content:"請確認包裝";
  position:absolute;
  top:10px;
  right:10px;
  padding:3px 8px;
  border-radius:999px;
  background:#dc2626;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.receiving-expiry-date-field.deferred-expiry{
  border-color:#94a3b8!important;
  background:#f8fafc!important;
  box-shadow:none;
  opacity:.78;
}
.receiving-expiry-date-field.deferred-expiry::after{content:"已列待補";background:#64748b}
.receiving-category-field small{color:#2563eb;font-weight:700}

/* 固定收銀臺最終覆寫：此段必須位於整份樣式表最後。 */
@media(min-width:1201px){
  .pos-scan-panel{grid-template-columns:165px minmax(260px,1fr) 116px!important;min-height:56px!important;padding:6px 8px!important}
  .pos-scan-panel .scan-icon{display:none!important}
  .pos-scan-panel>div:nth-child(2){display:block!important}
  .pos-scan-panel>div:nth-child(2) span{display:none!important}
  .pos-register-main>.pos-quick-bar{display:none!important}
  .pos-payment-panel{overflow:hidden!important}
  .pos-payment-head{position:static!important}
  .pos-touch-cart{min-height:116px!important;max-height:none!important;flex:1 1 auto!important;overflow:hidden!important}
  .pos-touch-cart>.table-wrap{min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important}
  .pos-touch-cart .pos-line-qty{grid-template-columns:44px 48px 44px!important}
  .pos-touch-cart .pos-line-qty button,.pos-touch-cart .pos-line-qty input{height:44px!important}
  .pos-payment-methods .chip{min-height:44px!important;flex-basis:auto!important;border-radius:9px!important;font-size:11px!important}
  .pos-payment-panel .checkout{min-height:48px!important;border-radius:10px!important;font-size:14px!important}
  body:has(.pos-register-page) .nav-groups{overflow:hidden!important}
  .cash-quick button,.cash-touch-keypad button{min-height:42px!important;font-size:12px!important}
  .cash-touch-keypad{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* 使用者自訂配置的真正最終覆寫。 */
@media(min-width:1201px){
  .pos-payment-panel{overflow:hidden!important}
  .pos-payment-head{position:fixed!important;z-index:29!important;top:57.407vh!important;left:51.319vw!important;width:10.486vw!important;height:10.247vh!important}
  .pos-catalog-scan{grid-template-columns:130px minmax(0,1fr) 98px!important;min-height:40px!important;padding:0!important}
  .pos-payment-methods .chip{min-height:44px!important;padding:3px!important;font-size:9px!important}
  .cash-quick button,.cash-touch-keypad button{min-height:42px!important;font-size:10px!important}
  .pos-payment-panel .checkout{min-height:96px!important}
}

/* 公開商品圖片最終規則：所有裝置皆為 1:1 完整呈現，不裁切包裝。 */
.public-catalog .public-product-gallery,.public-catalog .public-product-image{aspect-ratio:1/1!important;background:#fff!important}
.public-catalog .public-product-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff!important}
@media(max-width:700px){
  .public-catalog .public-product-card{height:auto!important;aspect-ratio:115/250!important}
  .public-catalog .public-product-gallery{flex:0 0 auto!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important}
  .public-catalog .public-product-image{width:100%!important;height:100%!important;aspect-ratio:1/1!important}
}

/* 手機商品詳細頁第二版：五圖導覽與資訊皆使用完整可讀寬度。 */
.public-detail-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:14px 16px;border:1px solid #dbeafe;border-radius:15px;background:linear-gradient(135deg,#f8fbff,#fff)}
.public-detail-summary>div{display:grid;gap:2px}.public-detail-summary>div>small{color:#64748b;font-weight:800}.public-detail-summary .public-detail-price{line-height:1.1}
.public-detail-description{box-sizing:border-box;padding:14px;border:1px solid #e2e8f0;border-radius:15px;background:#fff}
@media(max-width:700px){
  .public-product-detail-modal{grid-template-rows:auto minmax(0,1fr)!important}
  .public-product-detail-modal>header{position:relative;z-index:2;align-items:center;min-height:64px;box-sizing:border-box;background:#fff}
  .public-product-detail-modal>header>div{min-width:0}.public-product-detail-modal>header h2{width:100%;margin-top:2px}
  .public-product-detail-body{width:100%;box-sizing:border-box;overflow-x:hidden!important}
  .public-detail-gallery,.public-detail-info,.public-detail-info>article,.public-detail-info>dl{width:100%!important;max-width:none!important;box-sizing:border-box}
  .public-detail-main-image{width:100%!important;max-width:none!important;box-sizing:border-box}
  .public-detail-thumbs{grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%;box-sizing:border-box;margin-top:10px;padding:0 1px}
  .public-detail-thumbs button{width:100%;min-width:0;box-sizing:border-box;border-color:#dbeafe;background:#fff}
  .public-detail-thumbs button.active{border-color:#2563eb;background:#eff6ff}
  .public-detail-thumbs img{display:block;width:100%;height:100%;object-fit:contain!important}
  .public-detail-gallery>small{margin:7px 0 0;font-size:10px}
  .public-detail-info{align-items:stretch!important;width:100%;margin-top:12px}
  .public-detail-summary{box-sizing:border-box;padding:12px 13px}
  .public-detail-summary .public-detail-price{font-size:27px}
  .public-detail-summary .public-detail-stock{flex:0 0 auto;margin:0;padding:7px 11px}
  .public-detail-info dl>div{grid-template-columns:88px minmax(0,1fr)!important;align-items:start;width:100%;box-sizing:border-box}
  .public-detail-info dt,.public-detail-info dd{font-size:13px;line-height:1.45}
  .public-detail-info dd{width:auto!important;max-width:none!important;text-align:left;white-space:normal}
  .public-detail-description{padding:12px}.public-detail-description h3{margin-top:0}.public-detail-description p{width:100%;overflow-wrap:anywhere}
  .public-detail-options{display:grid!important;grid-template-columns:1fr!important;width:100%;gap:8px!important}
  .public-detail-options>h3{grid-column:1/-1;margin-bottom:0}
  .public-detail-options>div{display:grid!important;width:100%;min-width:0;box-sizing:border-box;gap:10px!important;padding:11px!important}
  .public-detail-options>div.no-image{grid-template-columns:minmax(0,1fr) auto!important}
  .public-detail-options>div.has-image{grid-template-columns:62px minmax(0,1fr) auto!important}
  .public-detail-options>div>img{width:62px!important;height:62px!important;align-self:center}
  .public-detail-options>div>span{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;width:100%;min-width:0}
  .public-detail-options>div>span strong{white-space:normal!important;line-height:1.35}
  .public-detail-options>div>span b,.public-detail-options>div>span small{display:block;width:100%;white-space:normal;line-height:1.4}
  .public-detail-options>div>em{align-self:center;justify-self:end;white-space:nowrap;font-size:20px!important}
}

/* 電腦商品前台：依 1440 × 2200 網格設計碼套用。手機版維持既有版面。 */
@media(min-width:701px){
  .public-catalog>header{
    box-sizing:border-box!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    height:54px!important;
    min-height:54px!important;
    padding:9px max(24px,calc((100vw - 1174px)/2))!important;
  }
  .public-site-brand{
    flex:0 0 243px!important;
    width:243px!important;
    height:36px!important;
    gap:8px!important;
    overflow:hidden;
    white-space:nowrap;
  }
  .public-site-brand .public-mobile-brand{display:none!important}
  .public-site-brand .public-catalog-badge{padding:4px 8px!important;font-size:12px!important}
  .public-site-brand>strong{overflow:hidden;text-overflow:ellipsis;font-size:14px!important}
  .public-header-updated{
    flex:0 0 173px;
    width:173px;
    margin-left:auto;
    overflow:hidden;
    color:#607d9b;
    font-size:18px;
    font-weight:800;
    line-height:36px;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .public-catalog>header>a{
    box-sizing:border-box;
    flex:0 0 83px;
    align-self:center!important;
    width:83px;
    height:36px;
    margin-right:16px;
    padding:7px 8px!important;
    border-radius:9px!important;
    font-size:12px;
    line-height:20px;
    text-align:center;
  }
  .public-banner-carousel{
    box-sizing:border-box;
    width:1174px!important;
    max-width:calc(100vw - 48px)!important;
    height:379px!important;
    margin:7px auto 8px!important;
    padding:0!important;
  }
  .public-banner-viewport{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,580px));
    gap:3px;
    width:1163px;
    max-width:100%;
    height:379px!important;
    aspect-ratio:auto!important;
    overflow:hidden;
    border-radius:18px!important;
  }
  .public-banner-slide{
    position:relative!important;
    inset:auto!important;
    display:none!important;
    min-width:0;
    height:379px!important;
    visibility:hidden!important;
    opacity:0!important;
  }
  .public-banner-slide.active,.public-banner-slide.companion{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .public-banner-slide.active{grid-column:1}
  .public-banner-slide.companion{grid-column:2}
  .public-banner-slide img{object-fit:cover!important}
  .public-banner-fallback.active,.public-banner-fallback.companion{display:grid!important}
  .public-banner-arrow.prev{left:10px!important}.public-banner-arrow.next{right:21px!important}
  .public-notice-strip{display:none!important}
  .public-catalog>main{
    box-sizing:border-box;
    width:1174px;
    max-width:calc(100vw - 48px)!important;
    margin:0 auto!important;
    padding:0 0 36px!important;
  }
  .public-catalog .public-catalog-toolbar{
    grid-template-columns:minmax(0,934px) 207px!important;
    gap:14px!important;
    align-items:stretch!important;
    width:1155px;
    max-width:100%;
    height:52px;
    margin:0!important;
  }
  .public-catalog form{height:52px!important}
  .public-catalog form input,.public-catalog form button{height:52px!important;min-height:52px!important}
  .public-catalog-toolbar>label{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:5px!important;
    align-items:center!important;
    height:52px!important;
    font-size:12px!important;
  }
  .public-catalog-toolbar select{
    box-sizing:border-box;
    width:160px!important;
    min-height:52px!important;
    height:52px!important;
    border-radius:10px!important;
  }
  .public-catalog-categories{
    box-sizing:border-box;
    width:1154px!important;
    max-width:100%;
    height:36px!important;
    margin:9px 0 0!important;
    padding:0!important;
    gap:8px!important;
    align-items:center;
  }
  .public-catalog-categories button{
    box-sizing:border-box;
    height:36px!important;
    padding:5px 12px!important;
    font-size:14.4px!important;
    line-height:24px;
  }
  .public-catalog-categories button small{font-size:14.4px!important}
  .public-catalog .public-catalog-grid{
    box-sizing:border-box;
    display:block!important;
    width:1154px!important;
    max-width:100%;
    margin:13px 0 0!important;
    padding:0 9px!important;
    overflow:visible!important;
  }
  .public-catalog .public-catalog-page{display:none!important}
  .public-catalog .public-catalog-page.active{
    display:grid!important;
    grid-template-columns:repeat(4,272px)!important;
    grid-auto-rows:500px!important;
    column-gap:16px!important;
    row-gap:9px!important;
  }
  .public-catalog .public-product-card{
    box-sizing:border-box;
    width:272px!important;
    min-width:272px!important;
    height:500px!important;
    min-height:500px!important;
    aspect-ratio:auto!important;
    border-radius:15px!important;
  }
  .public-catalog .public-product-gallery{
    box-sizing:border-box;
    flex:0 0 270px!important;
    width:270px!important;
    height:270px!important;
    min-height:270px!important;
    margin:0!important;
    aspect-ratio:1/1!important;
    overflow:hidden!important;
  }
  .public-catalog .public-product-image{
    width:270px!important;
    height:270px!important;
    min-height:270px!important;
    aspect-ratio:1/1!important;
  }
  .public-catalog .public-product-image img{object-fit:contain!important}
  .public-catalog .public-product-thumbs{display:none!important}
  .public-catalog .public-product-card>div.public-product-info{
    box-sizing:border-box;
    min-height:228px;
    padding:12px!important;
    gap:6px!important;
    overflow:hidden;
  }
  .public-catalog .public-product-category{font-size:12px!important}
  .public-catalog .public-product-info h2{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-size:21.6px!important;
    line-height:1.18!important;
  }
  .public-catalog .public-product-info>p{display:none!important}
  .public-catalog .public-product-sku{font-size:11px!important}
  .public-catalog .public-product-expiry{
    overflow:hidden;
    margin-top:auto!important;
    font-size:18px!important;
    line-height:1.2;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .public-catalog .public-price-range{font-size:36px!important;line-height:1!important}
  .public-catalog .public-product-info>strong{font-size:12px!important}
  .public-catalog .public-card-open-hint{font-size:12px!important}
  .public-catalog .public-catalog-pager{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 44px;
    align-items:center;
    gap:10px;
    width:559px;
    height:36px;
    margin:22px 0 0 295px;
  }
  .public-catalog .public-catalog-pager>button{display:grid;width:36px;height:36px;place-items:center;border:1px solid #bfdbfe;border-radius:50%;background:#fff;color:#2563eb;font-size:26px;font-weight:900;cursor:pointer}
  .public-catalog .public-catalog-pager>button:disabled{opacity:.35;cursor:not-allowed}
  .public-catalog .public-catalog-pager>span{display:flex;align-items:center;justify-content:center;gap:12px;color:#64748b}
  .public-catalog .public-catalog-pager b{color:#1e3a8a;font-size:16px}.public-catalog .public-catalog-pager small{font-size:11px}
  .public-purchase-notices{
    display:none!important;
  }
  .public-catalog footer{display:none!important}
}

/* 桌機商品詳細頁：效期批次卡片完整展開，不保留不存在的圖片空欄。 */
@media(min-width:701px){
  .public-detail-info{align-items:stretch!important}
  .public-detail-options{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0;
    gap:9px!important;
  }
  .public-detail-options>h3{grid-column:1/-1;margin-bottom:0!important}
  .public-detail-options>div{
    box-sizing:border-box;
    width:100%!important;
    min-width:0;
    padding:12px 14px!important;
    gap:12px!important;
  }
  .public-detail-options>div.no-image{
    grid-template-columns:minmax(0,1fr) 96px!important;
  }
  .public-detail-options>div.has-image{
    grid-template-columns:64px minmax(0,1fr) 96px!important;
  }
  .public-detail-options>div>img{width:64px!important;height:64px!important}
  .public-detail-options>div>span{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:center;
    gap:5px 14px!important;
    width:100%!important;
    min-width:0;
  }
  .public-detail-options>div>span strong{
    grid-column:1/-1;
    overflow:visible!important;
    white-space:normal!important;
  }
  .public-detail-options>div>span b,.public-detail-options>div>span small{
    display:block;
    min-width:0;
    font-size:13px!important;
    line-height:1.45;
    white-space:normal;
  }
  .public-detail-options>div>em{
    justify-self:end;
    width:96px;
    font-size:22px!important;
    text-align:right;
    white-space:nowrap;
  }
}

/* 非正方形商品照：以前景完整照片搭配延伸背景填滿 1:1，不拉扯也不裁掉商品。 */
.public-product-image,.public-detail-main-image{position:relative;isolation:isolate;overflow:hidden;background:#eef2f7!important}
.public-product-image>.public-photo-backdrop,.public-detail-main-image>.public-photo-backdrop{
  position:absolute!important;
  inset:-10%!important;
  z-index:0!important;
  width:120%!important;
  height:120%!important;
  object-fit:cover!important;
  object-position:center!important;
  background:transparent!important;
  filter:blur(18px) saturate(.82) brightness(1.08);
  opacity:.58;
  transform:scale(1.04);
  pointer-events:none;
}
.public-product-image>img:not(.public-photo-backdrop),.public-detail-main-image>img:not(.public-photo-backdrop){
  position:relative!important;
  z-index:1!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}

/* 公開頁 Banner 後台：左右兩格各自編輯與即時預覽。 */
.public-banner-slot-section{display:grid;gap:12px;margin-top:18px}.public-banner-slot-section>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:14px}.public-banner-slot-section h3,.public-banner-slot-section p{margin:0}.public-banner-slot-section p{color:#64748b;font-size:12px}
.public-banner-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.public-banner-slot-card{display:grid;align-content:start;gap:12px;min-width:0;padding:14px;border:2px solid #dbeafe;border-radius:16px;background:linear-gradient(145deg,#f8fbff,#fff);box-shadow:0 8px 22px #1e3a8a0d}
.public-banner-slot-card>header{display:flex;align-items:center;gap:9px}.public-banner-slot-card>header>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#2563eb;color:#fff;font-weight:950}.public-banner-slot-card>header>div{display:grid;min-width:0;margin-right:auto}.public-banner-slot-card>header>div strong{font-size:16px}.public-banner-slot-card>header>div small{color:#64748b}.public-banner-slot-card>header>b{padding:4px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:11px}.public-banner-slot-card>header>b.empty{background:#f1f5f9;color:#64748b}
.public-banner-slot-preview{position:relative;display:grid;place-items:center;overflow:hidden;width:100%;aspect-ratio:580/379;border:2px dashed #79a8d4;border-radius:13px;background:#edf5ff;cursor:pointer}.public-banner-slot-preview img{display:block;width:100%;height:100%;object-fit:cover}.public-banner-slot-preview>span{display:grid;justify-items:center;gap:5px;color:#2563eb;font-size:38px;font-weight:800}.public-banner-slot-preview>span small{color:#64748b;font-size:12px;font-weight:700}.public-banner-slot-preview::after{content:"點選更換圖片";position:absolute;right:9px;bottom:9px;padding:5px 8px;border-radius:8px;background:#0f172acc;color:#fff;font-size:11px;font-weight:800}
.public-banner-slot-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.public-banner-slot-fields .field-wide{grid-column:1/-1}.public-banner-slot-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.public-banner-slot-card>footer>small{color:#64748b;line-height:1.4}.public-banner-slot-card>footer>div{display:flex;gap:7px;white-space:nowrap}
@media(max-width:900px){.public-banner-slot-grid{grid-template-columns:1fr}.public-banner-slot-section>div:first-child,.public-banner-slot-card>footer{align-items:stretch;flex-direction:column}.public-banner-slot-card>footer>div{display:grid;grid-template-columns:1fr 1fr}.public-banner-slot-card>footer>div .btn:only-child{grid-column:1/-1}.public-banner-slot-fields{grid-template-columns:1fr}.public-banner-slot-fields .field-wide{grid-column:auto}}

/* 獨立「前台版面素材」工作頁採緊湊尺寸，避免兩個上傳格過度放大。 */
.public-site-materials-page{padding-top:18px!important}.public-site-materials-page>.public-site-settings{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:start;gap:14px;max-width:1080px;margin:0 auto}.public-site-materials-page>.public-site-settings>.panel-title{grid-column:1/-1}.public-site-materials-page .public-site-settings-layout{grid-column:1;grid-template-columns:1fr!important;margin:0}.public-site-materials-page .public-site-settings-layout>form{padding:12px!important;gap:8px!important}.public-site-materials-page .public-banner-slot-section{grid-column:2;margin:0}.public-site-materials-page .public-banner-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.public-site-materials-page .public-banner-slot-card{gap:8px;padding:10px;border-radius:13px}.public-site-materials-page .public-banner-slot-preview{width:100%;max-width:none}.public-site-materials-page .public-banner-slot-fields{gap:6px}.public-site-materials-page .public-banner-slot-card .field{gap:3px}.public-site-materials-page .public-banner-slot-card input{min-height:36px;padding:5px 8px;font-size:12px}.public-site-materials-page .public-banner-slot-card>footer{align-items:flex-end;gap:6px}.public-site-materials-page .public-banner-slot-card>footer>small{max-width:165px;font-size:9px}.public-site-materials-page .public-banner-slot-card>footer .btn{padding:7px 9px;font-size:11px}.public-site-materials-page .public-banner-manage{grid-column:1/-1}
.public-banner-rotation-list{display:grid;gap:10px}.public-banner-rotation-row{display:grid;gap:7px;padding:8px;border:1px solid #dbeafe;border-radius:13px;background:#f8fbff}.public-banner-rotation-row>header{display:flex;align-items:center;gap:8px}.public-banner-rotation-row>header>b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#0f766e;color:#fff;font-size:12px}.public-banner-rotation-row>header>span{display:flex;align-items:baseline;gap:7px}.public-banner-rotation-row>header>span strong{font-size:13px}.public-banner-rotation-row>header>span small{color:#64748b;font-size:10px}.public-banner-rotation-row .public-banner-slot-card{background:#fff}.public-banner-rotation-row .public-banner-slot-card>header>span{width:25px;height:25px;flex-basis:25px;font-size:10px}.public-banner-rotation-row .public-banner-slot-card>header>div strong{font-size:13px}.public-banner-rotation-row .public-banner-slot-card>header>div small,.public-banner-rotation-row .public-banner-slot-card>header>b{font-size:9px}
@media(max-width:1050px){.public-site-materials-page>.public-site-settings{grid-template-columns:1fr}.public-site-materials-page .public-site-settings-layout,.public-site-materials-page .public-banner-slot-section{grid-column:1}.public-site-materials-page .public-site-settings-layout{max-width:420px}.public-site-materials-page .public-banner-slot-grid{grid-template-columns:repeat(2,minmax(0,360px))}}
@media(max-width:700px){.public-site-materials-page .public-banner-slot-grid{grid-template-columns:1fr}.public-site-materials-page .public-site-settings-layout{max-width:none}.public-site-materials-page .public-banner-slot-card>footer{align-items:stretch}}

/* 收貨頁最終覆寫：避免後續舊版規則重新套用。 */
.receiving-page>.receiving-view-tabs{position:static!important;top:auto!important}
.receiving-scan-info .receiving-scan-expiry-batch{display:flex!important;flex-wrap:wrap!important;align-items:center;gap:4px 8px!important;margin-top:5px!important;line-height:1.35!important}
.receiving-scan-info .receiving-scan-expiry-batch>span{display:inline-flex!important;align-items:center;min-width:0;white-space:nowrap}
.receiving-scan-info .receiving-scan-batch-quantity{font-weight:850;color:#334155}
.receiving-batch-price{grid-template-columns:minmax(0,1fr) minmax(150px,.65fr)!important;align-items:stretch!important}
.receiving-batch-price .receiving-batch-price-meta{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;align-content:center;line-height:1.35!important}
.receiving-batch-price .receiving-batch-price-meta>b{display:block!important;overflow-wrap:anywhere}
.receiving-batch-price input{width:100%!important;min-width:150px!important;min-height:46px!important;padding:8px 10px!important;font-size:15px!important;text-align:center!important;box-sizing:border-box}
.receiving-batch-price input::placeholder{font-size:13px!important;font-weight:750;opacity:.85}
@media(max-width:700px){.receiving-batch-price{grid-template-columns:1fr!important}.receiving-batch-price input{min-width:0!important;width:100%!important}}

/* 已清點商品卡：商品、清點者、效期批號及數量分層閱讀。 */
.receiving-work-layout.scanned-view .receiving-scan-history .receiving-scan-card{border:1px solid #cddbea!important;box-shadow:0 7px 20px rgba(45,82,116,.09);background:#fff}
.receiving-card-status{padding:8px 12px!important;letter-spacing:.04em}
.receiving-scan-info{display:grid!important;gap:9px!important;min-width:0}
.receiving-scan-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid #e5edf5}
.receiving-scan-title>strong{min-width:0;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.receiving-scan-title>b{flex:0 0 auto;padding:5px 8px;border-radius:9px;background:#e8f2ff;color:#1768d7;font-size:14px;white-space:nowrap}
.receiving-scan-identity{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:6px!important}
.receiving-scan-identity>span,.receiving-scan-info .receiving-scan-expiry-batch>span{display:grid!important;align-content:center;gap:2px;min-width:0;padding:7px 8px;border:1px solid #dce7f2;border-radius:9px;background:#f8fbfe;white-space:normal!important}
.receiving-scan-identity small,.receiving-scan-info .receiving-scan-expiry-batch small{display:block;color:#718397;font-size:10px;line-height:1.2}
.receiving-scan-identity b,.receiving-scan-info .receiving-scan-expiry-batch b{display:block;min-width:0;color:#263d53;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.receiving-scan-info .receiving-scan-expiry-batch{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr) minmax(0,.7fr);gap:6px!important;margin:0!important}
.receiving-scan-info .receiving-scan-expiry-batch>span:first-child{border-color:#a7d8c6;background:#effbf6}
.receiving-scan-info .receiving-scan-expiry-batch>span.missing{border-color:#f4c26b;background:#fff8e8}
.receiving-scan-info .receiving-scan-batch-quantity{color:inherit}
.receiving-package-breakdown{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px!important;width:100%;box-sizing:border-box}
.receiving-package-breakdown>span{display:block;padding:5px 7px;border-radius:7px;background:rgba(255,255,255,.72);line-height:1.35;overflow-wrap:anywhere}
.receiving-scan-summary>.receiving-scan-quantity-form{padding:8px;border:1px solid #dce7f2;border-radius:10px;background:#f8fbfe}
.receiving-scan-summary>.receiving-scan-quantity-form>span{font-size:12px;font-weight:850;color:#526a81}
.receiving-work-layout.scanned-view .receiving-scan-actions{margin-top:1px}
.receiving-work-layout.scanned-view .receiving-scan-actions>.btn,.receiving-work-layout.scanned-view .receiving-scan-actions>label{min-height:44px;border-radius:10px;font-weight:850}
.receiving-work-layout.scanned-view .receiving-scan-card>.receiving-instant-post,
.receiving-work-layout.scanned-view .receiving-scan-card>.receiving-damage-form,
.receiving-work-layout.scanned-view .receiving-scan-card>.receiving-listing-fix{border-radius:12px!important;box-shadow:none!important}
@media(max-width:700px){
  .receiving-work-layout.scanned-view .receiving-scan-summary{grid-template-columns:30px 64px minmax(0,1fr)!important;gap:9px!important}
  .receiving-work-layout.scanned-view .receiving-scan-summary>.receiving-scan-thumb{width:64px!important;height:64px!important}
  .receiving-scan-title{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .receiving-scan-identity{grid-template-columns:1fr!important}
  .receiving-scan-info .receiving-scan-expiry-batch{grid-template-columns:1fr 1fr!important}
  .receiving-scan-info .receiving-scan-expiry-batch>span:first-child{grid-column:1/-1}
  .receiving-package-breakdown{grid-template-columns:1fr 1fr!important}
}

/* 使用者 POS 萬能編輯器配置：1440 x 810 正式桌面皮膚。 */
@media(min-width:1201px){
  body:has(.pos-register-page),
  body:has(.pos-register-page) .shell,
  body:has(.pos-register-page) .main{
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body:has(.pos-register-page) .shell,
  body:has(.pos-register-page) .main{display:block!important;position:static!important}
  body:has(.pos-register-page) .pos-register-page,
  body:has(.pos-register-page) .pos-register-layout,
  body:has(.pos-register-page) .pos-register-main{
    display:contents!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
  }

  /* 104px 左側功能列 */
  body:has(.pos-register-page) .sidebar{
    position:fixed!important;
    z-index:40!important;
    inset:0 auto 0 0!important;
    width:7.222vw!important;
    height:100dvh!important;
    min-width:104px!important;
    padding:8px!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:#082b4c!important;
  }
  body:has(.pos-register-page) .sidebar .brand{justify-content:center;padding:0 0 8px!important}
  body:has(.pos-register-page) .sidebar .brand>div:nth-child(2),
  body:has(.pos-register-page) .sidebar .workspace-picker span,
  body:has(.pos-register-page) .sidebar .workspace-picker small,
  body:has(.pos-register-page) .sidebar .workspace-picker b,
  body:has(.pos-register-page) .sidebar .nav-section,
  body:has(.pos-register-page) .sidebar .nav-drag-handle,
  body:has(.pos-register-page) .sidebar .nav-reset,
  body:has(.pos-register-page) .sidebar .sidebar-foot{display:none!important}
  body:has(.pos-register-page) .sidebar .workspace-picker{display:grid!important;place-items:center;min-height:64px;margin:0 0 8px;padding:5px!important;text-align:center}
  body:has(.pos-register-page) .sidebar .workspace-picker strong{font-size:12px!important;line-height:1.3!important}
  body:has(.pos-register-page) .sidebar .nav-groups{display:grid!important;gap:3px;max-height:calc(100dvh - 150px)!important;overflow-y:auto!important}
  body:has(.pos-register-page) .sidebar .nav-group{display:grid!important;gap:3px}
  body:has(.pos-register-page) .sidebar .nav-button{display:grid!important;grid-template-columns:25px minmax(0,1fr)!important;gap:3px;min-height:47px!important;padding:5px 3px!important;border-radius:7px!important}
  body:has(.pos-register-page) .sidebar .nav-icon{font-size:15px!important}
  body:has(.pos-register-page) .sidebar .nav-label{font-size:10px!important;line-height:1.2!important;white-space:normal!important}

  /* 編輯器中的門店標題縮進左列；帳號保留在左下角，仍可登出。 */
  body:has(.pos-register-page) .topbar{
    position:fixed!important;
    z-index:43!important;
    top:16.79vh!important;
    left:0!important;
    display:block!important;
    width:6.667vw!important;
    min-width:96px!important;
    height:13.827vh!important;
    min-height:112px!important;
    padding:10px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    color:#172033!important;
    box-shadow:none!important;
  }
  body:has(.pos-register-page) .topbar-title{display:grid!important;align-content:center;height:100%;padding:0!important;text-align:left}
  body:has(.pos-register-page) .topbar-title h1{font-size:18px!important;font-weight:900!important;line-height:1.2!important;white-space:normal!important}
  body:has(.pos-register-page) .topbar-title p{margin-top:5px;font-size:10px!important;font-weight:600!important;line-height:1.35!important;white-space:normal!important}
  body:has(.pos-register-page) .topbar-title .mobile-home-return{display:none!important}
  body:has(.pos-register-page) .top-actions>a,
  body:has(.pos-register-page) .top-actions>.connection,
  body:has(.pos-register-page) .top-actions>.workspace-switcher{display:none!important}
  body:has(.pos-register-page) .top-actions .account-menu{position:fixed!important;z-index:70;left:8px;bottom:8px;width:88px}
  body:has(.pos-register-page) .top-actions .account-trigger{width:88px!important;min-width:0!important;min-height:42px!important;padding:4px!important;border-color:#ffffff55!important;background:#ffffff14!important;color:#fff!important}
  body:has(.pos-register-page) .top-actions .account-summary{display:none!important}
  body:has(.pos-register-page) .top-actions .account-chevron{margin-left:auto}
  body:has(.pos-register-page) .top-actions .account-dropdown{position:absolute!important;right:auto!important;bottom:48px!important;left:0!important;width:260px!important}

  /* 左中：會員／統編與 12 筆交易明細。 */
  body:has(.pos-register-page) .pos-payment-panel{
    position:fixed!important;
    z-index:20!important;
    inset:0!important;
    display:block!important;
    width:100vw!important;
    height:100dvh!important;
    padding:0!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    pointer-events:none!important;
  }
  body:has(.pos-register-page) .pos-payment-panel>*{pointer-events:auto}
  body:has(.pos-register-page) .pos-payment-head{
    position:fixed!important;
    z-index:31!important;
    top:0!important;
    left:7.222vw!important;
    display:grid!important;
    grid-template-columns:minmax(82px,1fr) minmax(100px,1.25fr)!important;
    align-items:center!important;
    gap:5px!important;
    width:20vw!important;
    min-width:288px!important;
    height:6.914vh!important;
    min-height:56px!important;
    padding:5px 7px!important;
    overflow:hidden!important;
    border:1px solid #082b4c!important;
    border-radius:3px!important;
    background:#eef2f5!important;
    color:#172033!important;
    box-shadow:none!important;
  }
  body:has(.pos-register-page) .pos-payment-head>div:first-child{display:grid!important;gap:1px}
  body:has(.pos-register-page) .pos-payment-head>div:first-child span{font-size:9px!important}
  body:has(.pos-register-page) .pos-payment-head>div:first-child strong{font-size:13px!important}
  body:has(.pos-register-page) .pos-payment-head>.btn{min-height:34px!important;padding:4px 6px!important;font-size:10px!important}
  body:has(.pos-register-page) .pos-tax-id-field{grid-column:1/-1;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center;gap:4px;padding:0!important;border:0!important;background:transparent!important}
  body:has(.pos-register-page) .pos-tax-id-field label{margin:0;font-size:8px!important}
  body:has(.pos-register-page) .pos-tax-id-field input{height:24px!important;min-height:24px!important;padding:2px 5px!important;font-size:10px!important}
  body:has(.pos-register-page) .pos-tax-id-field small{display:none!important}

  body:has(.pos-register-page) .pos-touch-cart{
    position:fixed!important;
    z-index:30!important;
    top:6.914vh!important;
    left:7.222vw!important;
    width:41.667vw!important;
    min-width:600px!important;
    height:60.247vh!important;
    min-height:488px!important;
    max-height:none!important;
    margin:0!important;
    overflow:hidden!important;
    border:1px solid #cbd5e1!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  body:has(.pos-register-page) .pos-touch-cart .pos-sale-head{height:56px!important;min-height:56px!important;padding:7px 9px!important;background:#fff!important}
  body:has(.pos-register-page) .pos-touch-cart .pos-sale-head h2{font-size:13px!important}
  body:has(.pos-register-page) .pos-touch-cart .pos-sale-head span{font-size:10px!important}
  body:has(.pos-register-page) .pos-touch-cart>.table-wrap{height:calc(100% - 56px)!important;overflow:auto!important;scrollbar-gutter:stable}
  body:has(.pos-register-page) .pos-touch-cart table{min-width:570px!important;font-size:10px!important}
  body:has(.pos-register-page) .pos-touch-cart th,
  body:has(.pos-register-page) .pos-touch-cart td{padding:5px 4px!important}
  body:has(.pos-register-page) .pos-line-product img,
  body:has(.pos-register-page) .pos-line-product>span{width:42px!important;height:42px!important;object-fit:contain!important}

  /* 掃描列放在會員區右側；避免與直式快捷列互相重疊。 */
  body:has(.pos-register-page) .pos-catalog-scan{
    position:fixed!important;
    z-index:35!important;
    top:3px!important;
    left:27.222vw!important;
    display:grid!important;
    grid-template-columns:220px 92px!important;
    gap:0!important;
    width:312px!important;
    min-height:48px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body:has(.pos-register-page) .pos-catalog-scan>.scan-icon,
  body:has(.pos-register-page) .pos-catalog-scan>div:nth-child(2),
  body:has(.pos-register-page) .pos-catalog-scan>.camera-scan-button{display:none!important}
  body:has(.pos-register-page) .pos-catalog-scan input{grid-column:1!important;width:220px!important;height:48px!important;min-height:48px!important;padding:8px!important;border:1px solid #95a9bc!important;border-radius:3px 0 0 3px!important;font-size:13px!important}
  body:has(.pos-register-page) .pos-catalog-scan>.btn.primary{grid-column:2!important;width:92px!important;height:48px!important;min-height:48px!important;padding:6px!important;border:0!important;border-radius:0 3px 3px 0!important;background:#0d3c66!important;color:#fff!important;font-size:13px!important;font-weight:900!important}

  /* 中央 136px 直式快捷鍵。 */
  body:has(.pos-register-page) .pos-register-main>.pos-quick-bar{
    position:fixed!important;
    z-index:34!important;
    top:0!important;
    left:48.889vw!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:5px!important;
    width:9.444vw!important;
    min-width:136px!important;
    height:100dvh!important;
    min-height:810px!important;
    margin:0!important;
    padding:8px!important;
    overflow-y:auto!important;
    border:3px solid #b7c1ca!important;
    border-radius:3px!important;
    background:#fff!important;
    color:#172033!important;
  }
  body:has(.pos-register-page) .pos-quick-title{display:grid!important;gap:5px!important;margin:0!important}
  body:has(.pos-register-page) .pos-quick-title strong{font-size:15px!important;line-height:1.2!important}
  body:has(.pos-register-page) .pos-quick-title span{font-size:10px!important;line-height:1.25!important}
  body:has(.pos-register-page) .pos-quick-title .btn{min-height:34px!important;padding:5px!important;font-size:10px!important}
  body:has(.pos-register-page) .pos-shortcut-grid{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;min-height:0!important;overflow:visible!important}
  body:has(.pos-register-page) .pos-shortcut-button{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;gap:7px!important;min-height:82px!important;padding:7px!important;border-radius:3px!important;text-align:left!important}
  body:has(.pos-register-page) .pos-shortcut-button i{width:34px!important;height:34px!important;font-size:16px!important}
  body:has(.pos-register-page) .pos-shortcut-button strong{font-size:11px!important;white-space:normal!important}
  body:has(.pos-register-page) .pos-shortcut-button small{grid-column:2;font-size:9px!important}

  /* 右側：6 分類、標題與每列三格商品。 */
  body:has(.pos-register-page) .pos-touch-catalog{
    position:fixed!important;
    z-index:22!important;
    top:0!important;
    left:58.333vw!important;
    display:block!important;
    width:41.667vw!important;
    min-width:600px!important;
    height:57.284vh!important;
    min-height:464px!important;
    margin:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:#edf1f4!important;
    box-shadow:none!important;
  }
  body:has(.pos-register-page) .pos-touch-categories{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:0!important;height:8.889vh!important;min-height:72px!important;padding:0!important;overflow:hidden!important;border:1px solid #9eabb7!important;border-radius:3px!important;background:#fff!important}
  body:has(.pos-register-page) .pos-touch-categories button{display:grid!important;place-items:center!important;min-width:0!important;min-height:70px!important;padding:4px!important;border:0!important;border-right:1px solid #cbd5e1!important;border-radius:0!important;background:#fff!important}
  body:has(.pos-register-page) .pos-touch-categories button:last-child{border-right:0!important}
  body:has(.pos-register-page) .pos-touch-categories button.active{background:#0d3c66!important;color:#fff!important}
  body:has(.pos-register-page) .pos-touch-categories button i{display:none!important}
  body:has(.pos-register-page) .pos-touch-categories button span{font-size:13px!important;font-weight:900!important;text-align:center!important;white-space:normal!important}
  body:has(.pos-register-page) .pos-touch-product-head{position:relative!important;display:flex!important;align-items:center!important;height:6.914vh!important;min-height:56px!important;padding:8px!important;border:1px solid #9eabb7!important;border-radius:0!important;background:#f4f7f9!important}
  body:has(.pos-register-page) .pos-touch-product-head>div:first-child strong{font-size:17px!important;font-weight:900!important}
  body:has(.pos-register-page) .pos-touch-product-head>div:first-child span{font-size:11px!important}
  body:has(.pos-register-page) .pos-touch-product-head>b{margin-left:auto!important;position:static!important;font-size:11px!important}
  body:has(.pos-register-page) .pos-touch-products{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-content:start!important;
    gap:4px!important;
    height:41.481vh!important;
    min-height:336px!important;
    margin:0!important;
    padding:4px!important;
    overflow-y:auto!important;
    border:1px solid #9eabb7!important;
    border-top:0!important;
    background:#edf1f4!important;
    scrollbar-gutter:stable;
  }
  body:has(.pos-register-page) .pos-touch-product{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;grid-template-rows:auto auto 1fr!important;gap:3px 7px!important;min-width:0!important;min-height:104px!important;height:104px!important;padding:6px!important;border-radius:3px!important;background:#fff!important}
  body:has(.pos-register-page) .pos-touch-product-image{grid-row:1/-1;width:58px!important;height:58px!important;align-self:center!important;border-radius:3px!important;background:#fff!important}
  body:has(.pos-register-page) .pos-touch-product-image img{width:100%!important;height:100%!important;object-fit:contain!important}
  body:has(.pos-register-page) .pos-touch-product h3{font-size:11px!important;line-height:1.25!important;-webkit-line-clamp:2!important}
  body:has(.pos-register-page) .pos-touch-product p{font-size:9px!important}
  body:has(.pos-register-page) .pos-touch-product strong{font-size:15px!important}

  /* 下半部收款：付款列、數字鍵、現金、總額、確認收款。 */
  body:has(.pos-register-page) .pos-payment-methods{
    position:fixed!important;
    z-index:32!important;
    top:56.296vh!important;
    left:59.306vw!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;
    width:40.694vw!important;
    min-width:586px!important;
    height:10.864vh!important;
    min-height:88px!important;
    margin:0!important;
    padding:8px!important;
    overflow:hidden!important;
    border:1px solid #cbd5e1!important;
    border-radius:0!important;
    background:#fff!important;
  }
  body:has(.pos-register-page) .pos-payment-methods>span{grid-column:1/-1;font-size:12px!important;font-weight:900!important}
  body:has(.pos-register-page) .pos-payment-methods .chip{min-height:40px!important;padding:5px!important;font-size:11px!important}
  body:has(.pos-register-page) .cash-touch-keypad{
    position:fixed!important;
    z-index:33!important;
    top:67.407vh!important;
    left:59.167vw!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
    width:20vw!important;
    min-width:288px!important;
    height:32.593vh!important;
    min-height:264px!important;
    margin:0!important;
    padding:6px!important;
    overflow:hidden!important;
    border:1px solid #bfdbfe!important;
    border-radius:3px!important;
    background:#eff6ff!important;
  }
  body:has(.pos-register-page) .cash-touch-keypad button{min-height:0!important;height:auto!important;border-radius:3px!important;background:#082b4c!important;color:#fff!important;font-size:17px!important;font-weight:900!important}
  body:has(.pos-register-page) .cash-touch-keypad button.clear{background:#dc4040!important}
  body:has(.pos-register-page) .cash-calculator{
    position:fixed!important;
    z-index:32!important;
    top:73.086vh!important;
    left:79.444vw!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.4fr) minmax(90px,1fr)!important;
    align-items:center!important;
    gap:6px!important;
    width:20.556vw!important;
    min-width:296px!important;
    height:7.901vh!important;
    min-height:64px!important;
    margin:0!important;
    padding:8px!important;
    overflow:hidden!important;
    border:1px solid #bfdbfe!important;
    border-radius:3px!important;
    background:#eff6ff!important;
  }
  body:has(.pos-register-page) .cash-calculator label{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:5px!important;font-size:11px!important}
  body:has(.pos-register-page) .cash-calculator input{height:38px!important;min-height:38px!important;padding:5px 7px!important;font-size:15px!important}
  body:has(.pos-register-page) .cash-calculator>.cash-quick{display:none!important}
  body:has(.pos-register-page) .cash-calculator>.change-display{display:grid!important;gap:1px;height:46px;padding:4px 7px!important;border-radius:3px!important}
  body:has(.pos-register-page) .cash-calculator>.change-display span{font-size:9px!important}
  body:has(.pos-register-page) .cash-calculator>.change-display strong{font-size:16px!important}
  body:has(.pos-register-page) .pos-payment-totals{
    position:fixed!important;
    z-index:32!important;
    top:80.988vh!important;
    left:79.444vw!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:center!important;
    gap:2px 7px!important;
    width:20.556vw!important;
    min-width:296px!important;
    height:8.889vh!important;
    min-height:72px!important;
    padding:8px!important;
    overflow:hidden!important;
    border:1px solid #cbd5e1!important;
    border-radius:0!important;
    background:#f4f6f8!important;
  }
  body:has(.pos-register-page) .pos-payment-totals>div{display:grid!important;gap:1px!important;margin:0!important;font-size:8px!important}
  body:has(.pos-register-page) .pos-payment-totals .grand{grid-column:1/-1;display:flex!important;align-items:center;justify-content:space-between;padding-top:3px!important;border-top:1px solid #cbd5e1;font-size:12px!important}
  body:has(.pos-register-page) .pos-payment-totals .grand strong{font-size:18px!important}
  body:has(.pos-register-page) .pos-payment-panel .checkout{
    position:fixed!important;
    z-index:34!important;
    top:89.877vh!important;
    left:79.444vw!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:20.556vw!important;
    min-width:296px!important;
    height:10.123vh!important;
    min-height:82px!important;
    margin:0!important;
    padding:12px!important;
    border:0!important;
    border-radius:3px!important;
    background:#f97316!important;
    color:#fff!important;
    font-size:17px!important;
    font-weight:900!important;
    box-shadow:none!important;
  }
  body:has(.pos-register-page) .pos-payment-panel .checkout strong{font-size:22px!important}

  /* 折扣區使用設計中的兩個 100px 方塊合併，保留全部必要欄位。 */
  body:has(.pos-register-page) .pos-custom-discount{
    position:fixed!important;
    z-index:32!important;
    top:67.16vh!important;
    left:7.222vw!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
    width:13.889vw!important;
    min-width:200px!important;
    height:12.469vh!important;
    min-height:101px!important;
    margin:0!important;
    padding:8px!important;
    overflow:hidden!important;
    border:1px solid #a5b4fc!important;
    border-radius:3px!important;
    background:#f5f3ff!important;
  }
  body:has(.pos-register-page) .pos-custom-discount>strong{font-size:11px!important}
  body:has(.pos-register-page) .pos-custom-discount>div{display:grid!important;grid-template-columns:minmax(0,1fr) 52px 42px!important;gap:3px!important}
  body:has(.pos-register-page) .pos-custom-discount select,
  body:has(.pos-register-page) .pos-custom-discount input,
  body:has(.pos-register-page) .pos-custom-discount .btn{height:27px!important;min-height:27px!important;padding:2px 4px!important;font-size:8px!important}
  body:has(.pos-register-page) .pos-custom-discount .pos-discount-reason{grid-template-columns:1fr 1fr!important;margin:0!important}
  body:has(.pos-register-page) .pos-custom-discount small{display:none!important}

  body:has(.pos-register-page) .pos-key-hint,
  body:has(.pos-register-page) .pos-expiry-tasks{display:none!important}
  body:has(.pos-register-page) .pos-payment-panel .expiry-warning,
  body:has(.pos-register-page) .pos-payment-details{position:fixed!important;z-index:80;right:8px;bottom:90px;width:292px;margin:0!important}
}

/* 新版營運中台主題具有較高選擇器權重，這兩處需明確沿用使用者配置。 */
@media(min-width:1201px){
  html[data-ui="operations"] body:has(.pos-register-page) .topbar{
    position:fixed!important;
    z-index:43!important;
    top:16.79vh!important;
    left:0!important;
    display:block!important;
    width:6.667vw!important;
    min-width:96px!important;
    height:13.827vh!important;
    min-height:112px!important;
    padding:10px!important;
    overflow:visible!important;
    border:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .pos-register-main>.pos-quick-bar .pos-shortcut-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .topbar-title{
    display:grid!important;
    align-content:center!important;
    width:100%!important;
    min-width:0!important;
    height:100%!important;
    padding:0!important;
    overflow:hidden!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .topbar-title h1{
    font-size:14px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .topbar-title p{
    display:block!important;
    margin-top:4px!important;
    font-size:8px!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .pos-register-main>.pos-quick-bar{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    grid-template-columns:none!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .pos-register-main>.pos-quick-bar .pos-quick-title,
  html[data-ui="operations"] body:has(.pos-register-page) .pos-register-main>.pos-quick-bar .pos-shortcut-grid{
    width:100%!important;
    min-width:0!important;
    flex:none!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .pos-register-main>.pos-quick-bar .pos-shortcut-grid{
    flex:1 1 auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .top-actions .account-menu{
    position:fixed!important;
    z-index:70!important;
    top:auto!important;
    right:auto!important;
    bottom:8px!important;
    left:8px!important;
    width:88px!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .sidebar>.pos-sidebar-account{
    position:absolute!important;
    z-index:70!important;
    top:auto!important;
    right:auto!important;
    bottom:8px!important;
    left:8px!important;
    width:88px!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .sidebar>.pos-sidebar-account .account-trigger{
    width:88px!important;
    min-width:0!important;
    min-height:42px!important;
    padding:4px!important;
    border-color:#ffffff55!important;
    background:#ffffff14!important;
    color:#fff!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .sidebar>.pos-sidebar-account .account-summary{display:none!important}
  html[data-ui="operations"] body:has(.pos-register-page) .sidebar>.pos-sidebar-account .account-dropdown{
    position:absolute!important;
    right:auto!important;
    bottom:48px!important;
    left:0!important;
    width:260px!important;
  }

  /* 傳統 POS 的一格一功能，搭配現代狀態與觸控尺寸。 */
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-launcher{
    position:fixed!important;
    z-index:31!important;
    top:67.16vh!important;
    left:21.111vw!important;
    display:grid!important;
    grid-template-rows:44px minmax(0,1fr)!important;
    width:27.778vw!important;
    min-width:400px!important;
    height:32.84vh!important;
    min-height:266px!important;
    overflow:hidden!important;
    border:1px solid #b8c8d8!important;
    border-radius:4px!important;
    background:#f7fafc!important;
    color:#172033!important;
    box-shadow:none!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-launcher>header{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    padding:6px 10px!important;
    border-bottom:1px solid #cbd5e1!important;
    background:#fff!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-launcher>header>div{display:grid!important;gap:1px!important}
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-launcher>header strong{font-size:14px!important;font-weight:900!important}
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-launcher>header span{font-size:9px!important;color:#667085!important}
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-launcher>header>b{padding:4px 8px;border-radius:999px;background:#e8f2ff;color:#1768d7;font-size:9px!important}
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    min-height:0!important;
    padding:7px!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid>button{
    display:grid!important;
    grid-template-rows:34px auto!important;
    place-items:center!important;
    gap:5px!important;
    min-width:0!important;
    min-height:0!important;
    padding:7px 5px!important;
    border:1px solid #c5d2df!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#183550!important;
    box-shadow:0 2px 6px rgba(15,45,71,.07)!important;
    cursor:pointer!important;
    transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid>button:hover{
    transform:translateY(-1px)!important;
    border-color:#6f9fc9!important;
    box-shadow:0 5px 12px rgba(15,45,71,.12)!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid>button:active{transform:translateY(1px)!important}
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid>button:focus-visible{outline:3px solid #60a5fa!important;outline-offset:1px!important}
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid>button>i{
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    height:34px!important;
    border-radius:9px!important;
    background:#e7f0f8!important;
    color:#174b78!important;
    font-size:15px!important;
    font-style:normal!important;
    font-weight:950!important;
  }
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid>button>span{display:grid!important;gap:2px!important;min-width:0!important;text-align:center!important}
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid>button strong{font-size:13px!important;font-weight:900!important;line-height:1.2!important;white-space:normal!important}
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid>button small{font-size:9px!important;line-height:1.25!important;color:#667085!important;white-space:normal!important}
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid>button.primary>i{background:#dbeafe!important;color:#1d4ed8!important}
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid>button.warning>i{background:#fff1cc!important;color:#a65f00!important}
  html[data-ui="operations"] body:has(.pos-register-page) .pos-function-grid>button.danger>i{background:#fee2e2!important;color:#c42f2f!important}
}

@media(max-width:1200px){.pos-function-launcher{display:none!important}}

/* =====================================================================
   POS 統一工作區 v1
   桌面版不再使用 1440x810 的 fixed 座標；所有主要區塊共享同一個 Grid。
   ===================================================================== */
@media (min-width:1201px){
  html[data-ui="operations"] body:has(.pos-desktop-board){
    --pos-sidebar-width:clamp(120px,8.4vw,176px);
    --pos-gap:clamp(8px,.65vw,12px);
    --pos-surface:#fff;
    --pos-canvas:#eaf0f5;
    --pos-ink:#13243a;
    --pos-muted:#657589;
    overflow:hidden!important;
    background:var(--pos-canvas)!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .shell{
    display:block!important;
    width:100vw!important;
    min-height:100dvh!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    z-index:80!important;
    width:var(--pos-sidebar-width)!important;
    min-width:0!important;
    height:100dvh!important;
    box-sizing:border-box!important;
    padding:14px 10px 12px!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .sidebar nav{min-width:0!important;overflow:hidden!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .sidebar nav a,
  html[data-ui="operations"] body:has(.pos-desktop-board) .sidebar .workspace-card{min-width:0!important;max-width:100%!important;overflow:hidden!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .main{
    display:grid!important;
    grid-template-rows:68px minmax(0,1fr)!important;
    width:calc(100vw - var(--pos-sidebar-width))!important;
    height:100dvh!important;
    min-width:0!important;
    margin-left:var(--pos-sidebar-width)!important;
    overflow:hidden!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .topbar{
    position:static!important;
    z-index:10!important;
    width:auto!important;
    height:68px!important;
    min-height:68px!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:0 clamp(14px,1.5vw,26px)!important;
    border-bottom:1px solid #c9d5e1!important;
    background:#ffffffee!important;
    box-shadow:0 1px 5px #193b5b12!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .topbar h1{font-size:clamp(18px,1.35vw,23px)!important;line-height:1.15!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .topbar p{font-size:clamp(11px,.78vw,13px)!important;white-space:nowrap!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .content.pos-register-page{
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:var(--pos-gap)!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    background:var(--pos-canvas)!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-register-layout[hidden]{display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board{
    display:grid!important;
    grid-template-columns:minmax(430px,1.08fr) minmax(132px,.24fr) minmax(500px,1.2fr)!important;
    grid-template-rows:minmax(0,1fr) clamp(220px,23vh,258px)!important;
    gap:var(--pos-gap)!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>*{min-width:0!important;min-height:0!important;box-sizing:border-box!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-touch-cart,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-touch-catalog,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-quick-bar,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-function-launcher,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-payment-panel{position:static!important;inset:auto!important;z-index:auto!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-touch-cart,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-touch-catalog,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-quick-bar,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-function-launcher,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-payment-panel{align-self:stretch!important;justify-self:stretch!important}

  /* 左：交易明細 */
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-touch-cart{
    grid-column:1!important;grid-row:1!important;
    display:flex!important;flex-direction:column!important;
    width:auto!important;height:auto!important;max-height:none!important;
    margin:0!important;padding:0!important;overflow:hidden!important;
    border:1px solid #b9c8d7!important;border-radius:12px!important;
    background:var(--pos-surface)!important;box-shadow:0 3px 12px #1e466315!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart .pos-sale-head{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;
    gap:8px!important;min-height:56px!important;height:56px!important;padding:8px 12px!important;
    border-bottom:1px solid #d8e1ea!important;background:#f8fafc!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart .pos-sale-head h2{font-size:clamp(15px,1.05vw,18px)!important;white-space:nowrap!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart .pos-sale-head span,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-cart-page-note{font-size:11px!important;color:var(--pos-muted)!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart .pos-sale-head>.btn{min-height:34px!important;padding:5px 9px!important;font-size:11px!important;white-space:nowrap!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart>.table-wrap{min-height:0!important;flex:1 1 auto!important;overflow:auto!important;padding:0 7px 7px!important;scrollbar-gutter:stable!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart table{min-width:680px!important;width:100%!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart th{position:sticky!important;top:0!important;z-index:1!important;padding:8px 6px!important;font-size:11px!important;background:#eef3f8!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart td{padding:7px 6px!important;font-size:12px!important;vertical-align:middle!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart .pos-line-product>img,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart .pos-line-product>span{width:42px!important;height:42px!important;object-fit:contain!important;flex:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart .pos-line-product>div{min-width:0!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart .pos-line-product>div>strong{display:-webkit-box!important;overflow:hidden!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-height:1.25!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart .pos-line-qty{grid-template-columns:30px 42px 30px!important;gap:2px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart .pos-line-qty button,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-cart .pos-line-qty input{width:auto!important;height:32px!important;min-height:32px!important;padding:2px!important;font-size:14px!important}

  /* 中：快捷鍵整列，按鈕保持可觸控但不再把主畫面撐歪。 */
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-quick-bar{
    grid-column:2!important;grid-row:1 / span 2!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:8px!important;
    overflow:hidden!important;border:1px solid #b9c8d7!important;border-radius:12px!important;
    background:#113e66!important;color:#fff!important;box-shadow:0 3px 12px #1e466315!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-quick-title{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:6px!important;min-height:42px!important;margin:0 0 7px!important;padding:1px 3px 8px!important;border-bottom:1px solid #ffffff35!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-quick-title strong{font-size:14px!important;color:#fff!important;line-height:1.2!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-quick-title span{display:block!important;margin-top:2px!important;color:#dbeafe!important;font-size:9px!important;line-height:1.25!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-quick-title .btn{min-height:28px!important;padding:4px 6px!important;font-size:9px!important;white-space:nowrap!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-shortcut-grid{display:grid!important;grid-template-columns:1fr!important;grid-auto-rows:minmax(48px,1fr)!important;gap:6px!important;width:100%!important;min-width:0!important;min-height:0!important;flex:1 1 auto!important;overflow:auto!important;padding:1px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-shortcut-button{display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-items:center!important;gap:1px 6px!important;width:100%!important;min-width:0!important;min-height:48px!important;height:auto!important;padding:5px 6px!important;border:1px solid #ffffff45!important;border-radius:8px!important;background:#1d557f!important;color:#fff!important;text-align:left!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-shortcut-button i{grid-row:1/3!important;width:28px!important;height:28px!important;font-size:14px!important;background:#2c78ac!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-shortcut-button strong{font-size:11px!important;line-height:1.15!important;white-space:normal!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-shortcut-button small{font-size:8px!important;line-height:1.15!important;color:#dbeafe!important;white-space:normal!important}

  /* 右上：商品分類、搜尋與商品卡。 */
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-touch-catalog{
    grid-column:3!important;grid-row:1!important;
    display:flex!important;flex-direction:column!important;
    width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;
    overflow:hidden!important;border:1px solid #b9c8d7!important;border-radius:12px!important;
    background:#f5f8fb!important;box-shadow:0 3px 12px #1e466315!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-categories{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:0!important;flex:none!important;height:54px!important;min-height:54px!important;padding:0!important;overflow:hidden!important;border:0!important;border-bottom:1px solid #c8d5e2!important;border-radius:0!important;background:#fff!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-categories button{display:grid!important;place-items:center!important;gap:2px!important;min-width:0!important;min-height:54px!important;height:54px!important;padding:4px!important;border:0!important;border-right:1px solid #d5e0ea!important;border-radius:0!important;background:#fff!important;color:var(--pos-ink)!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-categories button.active{background:#123f67!important;color:#fff!important;box-shadow:inset 0 -3px #2db3a8!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-categories button i{display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-categories button span{font-size:12px!important;font-weight:900!important;line-height:1.1!important;text-align:center!important;white-space:normal!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-categories button small{font-size:9px!important;opacity:.7!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product-head{display:grid!important;grid-template-columns:minmax(150px,.4fr) minmax(0,1.6fr)!important;align-items:center!important;gap:8px!important;flex:none!important;min-height:82px!important;height:82px!important;padding:8px 10px!important;border:0!important;border-bottom:1px solid #c8d5e2!important;border-radius:0!important;background:#eef3f8!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product-head>div:first-child{min-width:0!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product-head>div:first-child strong{display:block!important;font-size:16px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product-head>div:first-child span{display:block!important;margin-top:4px!important;font-size:10px!important;color:var(--pos-muted)!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product-head>b{display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-catalog-scan{display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;align-items:center!important;gap:7px!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-catalog-scan .scan-icon{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border-radius:7px!important;background:#dbeafe!important;color:#155eaa!important;font-size:14px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-catalog-scan>div{display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-catalog-scan input{min-width:0!important;width:auto!important;height:40px!important;min-height:40px!important;padding:7px 9px!important;border:1px solid #9bb8d0!important;border-radius:7px!important;font-size:13px!important;background:#fff!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-catalog-scan .btn{height:40px!important;min-height:40px!important;padding:6px 10px!important;font-size:12px!important;white-space:nowrap!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-catalog-scan input,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-catalog-scan .btn{grid-column:auto!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-catalog-scan .camera-scan-button{display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-content:start!important;gap:7px!important;min-height:0!important;flex:1 1 auto!important;height:auto!important;margin:0!important;padding:8px!important;overflow:auto!important;border:0!important;background:#eaf0f5!important;scrollbar-gutter:stable!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;grid-template-rows:auto auto 1fr auto!important;gap:2px 7px!important;min-width:0!important;min-height:112px!important;height:112px!important;padding:7px!important;border:1px solid #c5d3df!important;border-radius:8px!important;background:#fff!important;color:var(--pos-ink)!important;text-align:left!important;box-shadow:0 1px 3px #23466010!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product-image{grid-row:1/-1!important;width:58px!important;height:58px!important;align-self:center!important;border-radius:6px!important;background:#f8fafc!important;overflow:hidden!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product-image img{width:100%!important;height:100%!important;object-fit:contain!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product-image i{font-size:26px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product-name{display:-webkit-box!important;overflow:hidden!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;font-size:12px!important;font-weight:900!important;line-height:1.18!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product small{font-size:9px!important;color:var(--pos-muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product strong{font-size:16px!important;line-height:1!important;color:#d9342b!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product em{font-size:9px!important;color:#c4342e!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* 左下：功能方格；同一格寬度，避免按鈕依內容自行漂移。 */
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-function-launcher{
    grid-column:1!important;grid-row:2!important;
    display:grid!important;grid-template-rows:38px minmax(0,1fr)!important;
    width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;
    border:1px solid #b9c8d7!important;border-radius:12px!important;background:#f7fafc!important;color:var(--pos-ink)!important;box-shadow:0 3px 12px #1e466315!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-function-launcher>header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:5px 10px!important;border-bottom:1px solid #cbd8e4!important;background:#fff!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-function-launcher>header strong{font-size:14px!important;line-height:1.1!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-function-launcher>header span{font-size:9px!important;color:var(--pos-muted)!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-function-launcher>header>b{padding:3px 7px!important;border-radius:999px!important;background:#e8f2ff!important;color:#1768d7!important;font-size:9px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-function-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:6px!important;min-height:0!important;padding:7px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-function-grid>button{display:grid!important;grid-template-rows:26px minmax(0,1fr)!important;place-items:center!important;gap:3px!important;min-width:0!important;min-height:0!important;padding:5px!important;border:1px solid #c4d3e0!important;border-radius:8px!important;background:#fff!important;color:#183550!important;box-shadow:0 1px 4px #163f5f10!important;cursor:pointer!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-function-grid>button>i{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;border-radius:7px!important;background:#e2eef9!important;color:#174b78!important;font-size:13px!important;font-style:normal!important;font-weight:950!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-function-grid>button>span{display:grid!important;gap:1px!important;min-width:0!important;text-align:center!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-function-grid>button strong{font-size:11px!important;line-height:1.1!important;white-space:normal!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-function-grid>button small{font-size:8px!important;line-height:1.1!important;color:var(--pos-muted)!important;white-space:normal!important}

  /* 右下：付款與數字鍵盤，同一張卡內再切成固定列。 */
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-payment-panel{
    grid-column:3!important;grid-row:2!important;
    display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;grid-template-rows:40px 40px minmax(64px,1fr) 30px 44px!important;gap:5px!important;
    width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:7px!important;overflow:hidden!important;
    border:1px solid #b9c8d7!important;border-radius:12px!important;background:#fff!important;box-shadow:0 3px 12px #1e466315!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-head{grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;min-width:0!important;margin:0!important;padding:4px 7px!important;border:1px solid #d5e0e9!important;border-radius:7px!important;background:#f8fafc!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-head>div{display:grid!important;gap:1px!important;min-width:0!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-head span{font-size:9px!important;color:var(--pos-muted)!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-head strong{font-size:13px!important;white-space:nowrap!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-head .btn{min-height:28px!important;padding:3px 6px!important;font-size:10px!important;white-space:nowrap!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount{grid-column:2!important;grid-row:1!important;display:grid!important;grid-template-columns:1fr!important;gap:3px!important;min-width:0!important;margin:0!important;padding:4px 6px!important;overflow:hidden!important;border:1px solid #c7d2fe!important;border-radius:7px!important;background:#f5f3ff!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount>strong{font-size:9px!important;line-height:1!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount>div{display:grid!important;grid-template-columns:minmax(0,1fr) 48px 38px!important;gap:3px!important;min-width:0!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount select,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount input,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount .btn{height:25px!important;min-height:25px!important;min-width:0!important;padding:2px 4px!important;font-size:8px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount .pos-discount-reason{grid-template-columns:1fr 1fr!important;margin:0!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount small{display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-methods{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:center!important;gap:4px!important;min-width:0!important;margin:0!important;padding:3px 4px!important;border:1px solid #d5e0e9!important;border-radius:7px!important;background:#f8fafc!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-methods>span{grid-column:1/-1!important;display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-methods .chip{min-width:0!important;min-height:30px!important;padding:3px!important;font-size:10px!important;white-space:nowrap!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-panel>.cash-calculator{grid-column:1/-1!important;grid-row:3!important;display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;grid-template-rows:1fr 1fr!important;gap:4px!important;min-width:0!important;margin:0!important;padding:4px!important;overflow:hidden!important;border:1px solid #b8d4ee!important;border-radius:7px!important;background:#eef6ff!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .cash-calculator label{grid-column:2!important;grid-row:1!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:4px!important;min-width:0!important;font-size:10px!important;font-weight:800!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .cash-calculator input{width:100%!important;height:32px!important;min-height:32px!important;padding:4px 6px!important;font-size:15px!important;text-align:right!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .cash-calculator>.cash-quick{display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .cash-calculator>.cash-touch-keypad{grid-column:1!important;grid-row:1/3!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .cash-touch-keypad button{min-width:0!important;min-height:24px!important;height:auto!important;padding:1px!important;border:1px solid #9eb9d2!important;border-radius:5px!important;background:#fff!important;color:#173d61!important;font-size:13px!important;font-weight:900!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .cash-touch-keypad button.clear{background:#fee2e2!important;color:#c42f2f!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .cash-calculator>.change-display{grid-column:2!important;grid-row:2!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:4px!important;min-width:0!important;height:auto!important;margin:0!important;padding:3px 7px!important;border-radius:5px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .change-display span{font-size:9px!important;white-space:nowrap!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .change-display strong{font-size:15px!important;white-space:nowrap!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals{grid-column:1/-1!important;grid-row:4!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:center!important;gap:3px!important;min-width:0!important;margin:0!important;padding:3px 6px!important;overflow:hidden!important;border:1px solid #d5e0e9!important;border-radius:6px!important;background:#f8fafc!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals>div{display:grid!important;gap:1px!important;min-width:0!important;margin:0!important;font-size:8px!important;white-space:nowrap!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals>div span{overflow:hidden!important;text-overflow:ellipsis!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals>div strong{font-size:10px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals .grand{grid-column:5!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding-left:5px!important;border-left:1px solid #d5e0e9!important;font-size:10px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals .grand strong{font-size:17px!important;color:#d9342b!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-panel .checkout{grid-column:1/-1!important;grid-row:5!important;display:flex!important;align-items:center!important;justify-content:space-between!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:5px 12px!important;border:0!important;border-radius:7px!important;background:#1b5f91!important;color:#fff!important;font-size:13px!important;font-weight:900!important;box-shadow:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-panel .checkout strong{font-size:20px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-panel .expiry-warning,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-details,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-key-hint{display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-member-info{display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-touch-catalog .pos-catalog-scan,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-payment-panel>*{position:static!important;inset:auto!important;z-index:auto!important;float:none!important;transform:none!important;pointer-events:auto!important;width:auto!important;height:auto!important;max-width:none!important;min-width:0!important;margin:0!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-payment-panel .cash-touch-keypad{position:static!important;inset:auto!important;z-index:auto!important;float:none!important;transform:none!important;width:auto!important;height:auto!important;min-width:0!important;max-width:none!important;min-height:0!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-panel{grid-template-rows:32px 34px minmax(44px,1fr) 28px 36px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-head,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-methods,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-panel>.cash-calculator,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals,
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-panel .checkout{min-height:0!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-catalog-scan{grid-template-columns:minmax(0,1fr) auto!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-catalog-scan .scan-icon{display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-catalog-scan input{width:100%!important;min-width:0!important}
}

/* Stitch mobile login v1
   The visual language follows the approved mock-up while authentication remains on the existing API. */
.login-page.login-stitch-v1{
  min-height:100vh;
  min-height:100dvh;
  grid-template-columns:minmax(360px,1.04fr) minmax(420px,.96fr);
  background:#f0f6fb;
  color:#1e293b;
  font-family:system-ui,-apple-system,"Noto Sans TC","Microsoft JhengHei",sans-serif;
}
.login-stitch-v1 .login-visual{
  position:relative;
  align-items:center;
  padding:clamp(42px,7vw,82px);
  overflow:hidden;
  background:linear-gradient(150deg,#173454 0%,#234f79 58%,#356d9d 100%);
  color:#fff;
  text-align:center;
}
.login-stitch-v1 .login-visual::before,
.login-stitch-v1 .login-visual::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.login-stitch-v1 .login-visual::before{width:360px;height:360px;top:-210px;right:-130px;background:#72aee12e}
.login-stitch-v1 .login-visual::after{width:260px;height:260px;bottom:-150px;left:-110px;background:#4f8fcc24}
.login-brand-center{position:relative;z-index:1;display:grid;justify-items:center}
.login-brand-icon{
  display:grid;
  place-items:center;
  width:66px;
  height:66px;
  margin-bottom:16px;
  border-radius:20px;
  background:#4f8fcc;
  box-shadow:0 14px 30px #071b3038,0 0 0 1px #ffffff1f inset;
}
.login-brand-icon svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-stitch-v1 .login-brand-center h1{margin:0;font-size:34px;line-height:1.15;letter-spacing:.08em;color:#fff}
.login-stitch-v1 .login-brand-center>p{display:block;margin:9px 0 0;color:#d8e8f7;font-size:14px;font-weight:600;letter-spacing:.16em}
.login-entry-label{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin-top:20px;padding:5px 17px;border:1px solid #ffffff26;border-radius:999px;background:#ffffff12;color:#f8fbff;font-size:14px;font-weight:800;letter-spacing:.08em}
.login-stitch-v1 .login-features{position:relative;z-index:1;width:min(520px,100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.login-stitch-v1 .login-feature{display:grid;justify-items:center;gap:6px;padding:18px 14px;border:1px solid #ffffff24;border-radius:16px;background:#ffffff0d;color:#fff}
.login-stitch-v1 .login-feature b{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#ffffff17;font-size:17px}
.login-stitch-v1 .login-feature strong{font-size:15px}
.login-stitch-v1 .login-form-wrap{position:relative;z-index:2;padding:40px;background:#f0f6fb}
.login-stitch-v1 .login-card{width:min(440px,100%);padding:30px;border:1px solid #e2ebf3;border-radius:26px;background:#fff;box-shadow:0 22px 55px #1c3e5d1a}
.login-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:24px}
.login-stitch-v1 .login-card-header h2{margin:0 0 6px;color:#172033;font-size:28px;line-height:1.2;letter-spacing:-.03em}
.login-stitch-v1 .login-card-header p{margin:0;color:#667085;font-size:14px;line-height:1.55}
.login-stitch-v1 .login-card-eyebrow{flex:none;margin:1px 0 0;padding:6px 11px;border-radius:999px;background:#eaf4fd;color:#3979b5;font-size:12px;letter-spacing:.08em}
.login-stitch-v1 .login-field{gap:8px;margin:17px 0}
.login-stitch-v1 .login-field>label{color:#475467;font-size:14px;font-weight:800}
.login-input-shell{position:relative;display:flex;align-items:center;min-width:0}
.login-input-icon{position:absolute;z-index:1;left:15px;display:grid;place-items:center;width:22px;height:22px;color:#8291a3;pointer-events:none}
.login-input-icon svg,.login-password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-stitch-v1 .login-input-shell input{
  width:100%;
  min-width:0;
  min-height:54px;
  margin:0;
  padding:12px 48px 12px 48px;
  border:2px solid #dbe5ee;
  border-radius:14px;
  background:#f8fafc;
  color:#172033;
  font-size:16px;
  font-weight:600;
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.login-stitch-v1 .login-input-shell input:hover{border-color:#bfd3e5;background:#fff}
.login-stitch-v1 .login-input-shell input:focus{border-color:#4f8fcc;box-shadow:0 0 0 4px #4f8fcc24;background:#fff;outline:none}
.login-stitch-v1 .login-input-shell input::placeholder{color:#98a2b3;font-weight:500}
.login-password-toggle{position:absolute;z-index:2;right:5px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:11px;background:transparent;color:#7a899b;cursor:pointer}
.login-password-toggle:hover,.login-password-toggle:focus-visible{background:#eaf4fd;color:#315f91;outline:none}
.login-password-toggle .eye-closed{display:none}
.login-password-toggle[aria-pressed="true"] .eye-open{display:none}
.login-password-toggle[aria-pressed="true"] .eye-closed{display:block}
.login-caps-warning{display:block;margin-top:7px;color:#b45309;font-size:12px;font-weight:700}
.login-error{margin:14px 0 2px;padding:11px 13px;border:1px solid #fecaca;border-radius:12px;background:#fff1f2;color:#b42318;font-size:14px;font-weight:750;line-height:1.45}
.login-error[hidden],.login-caps-warning[hidden]{display:none}
.login-stitch-v1 .login-submit{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;margin-top:20px;border:0;border-radius:14px;background:#4f8fcc;color:#fff;font-size:17px;font-weight:900;box-shadow:0 12px 24px #4f8fcc35;transition:transform .12s,background .12s,box-shadow .12s}
.login-stitch-v1 .login-submit:hover{background:#3979b5;box-shadow:0 14px 27px #3979b53d}
.login-stitch-v1 .login-submit:active{transform:scale(.985)}
.login-stitch-v1 .login-submit:focus-visible{outline:3px solid #9dc7ea;outline-offset:3px}
.login-stitch-v1 .login-submit:disabled{cursor:wait;opacity:.72;box-shadow:none}
.login-stitch-v1 .login-submit b{font-size:23px;line-height:1}
.login-stitch-v1 .login-submit.loading b{animation:login-arrow-pulse .8s ease-in-out infinite alternate}
@keyframes login-arrow-pulse{to{transform:translateX(4px)}}
.login-stitch-v1 .demo-note{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:13px 14px;border:1px solid #e1e9f0;border-radius:14px;background:#f8fafc;color:#667085;font-size:12px;line-height:1.6}
.login-stitch-v1 .demo-note>span{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;margin-top:1px;border-radius:50%;background:#fff2cc;color:#a15c00;font-size:12px;font-weight:900}
.login-stitch-v1 .demo-note p{margin:0}

@media(max-width:720px){
  .login-page.login-stitch-v1{display:flex;min-height:100dvh;background:linear-gradient(180deg,#eaf4fd 0,#f5f9fc 45%,#f0f6fb 100%)}
  .login-stitch-v1 .login-visual{
    flex:none;
    min-height:254px;
    padding:max(28px,env(safe-area-inset-top)) 20px 54px!important;
    border-radius:0 0 40px 40px!important;
    background:linear-gradient(150deg,#173454 0%,#234f79 62%,#356d9d 100%)!important;
  }
  .login-stitch-v1 .login-brand-icon{width:58px;height:58px;margin-bottom:12px;border-radius:18px}
  .login-stitch-v1 .login-brand-icon svg{width:31px;height:31px}
  .login-stitch-v1 .login-brand-center h1{font-size:27px!important}
  .login-stitch-v1 .login-brand-center>p{margin-top:6px;font-size:12px;letter-spacing:.13em}
  .login-entry-label{min-height:30px;margin-top:15px;padding:4px 14px;font-size:13px}
  .login-stitch-v1 .login-features{display:none}
  .login-stitch-v1 .login-form-wrap{flex:1;align-content:start;margin-top:-34px;padding:0 18px max(24px,env(safe-area-inset-bottom))!important;background:transparent!important}
  .login-stitch-v1 .login-card{width:100%;max-width:430px;margin:0 auto;padding:23px 18px 17px;border-radius:24px;box-shadow:0 18px 45px #17345420}
  .login-card-header{margin-bottom:18px}
  .login-stitch-v1 .login-card-header h2{font-size:24px!important}
  .login-stitch-v1 .login-card-header p{font-size:13px}
  .login-stitch-v1 .login-card-eyebrow{padding:6px 10px;font-size:11px}
  .login-stitch-v1 .login-field{margin:14px 0!important}
  .login-stitch-v1 .login-field>label{font-size:14px!important}
  .login-stitch-v1 .login-input-shell input{min-height:54px!important;padding-left:47px!important;border:2px solid #dbe5ee!important;border-radius:14px!important;font-size:16px}
  .login-stitch-v1 .login-input-shell input:focus{border-color:#4f8fcc!important;box-shadow:0 0 0 4px #4f8fcc24!important}
  .login-stitch-v1 .login-submit{min-height:56px!important;margin-top:18px!important;border-radius:14px!important}
  .login-stitch-v1 .demo-note{margin-top:15px;padding:12px;font-size:11.5px}
}

@media(max-width:370px){
  .login-stitch-v1 .login-visual{min-height:236px;padding-bottom:48px!important}
  .login-stitch-v1 .login-brand-icon{width:52px;height:52px;margin-bottom:9px}
  .login-stitch-v1 .login-brand-center h1{font-size:25px!important}
  .login-entry-label{margin-top:11px}
  .login-stitch-v1 .login-form-wrap{padding-inline:13px!important}
  .login-stitch-v1 .login-card{padding:20px 15px 15px}
  .login-stitch-v1 .login-card-header h2{font-size:22px!important}
  .login-stitch-v1 .login-card-eyebrow{font-size:10px}
  .login-stitch-v1 .demo-note{line-height:1.45}
}

@media (min-width:1201px) and (max-width:1450px){
  html[data-ui="operations"] body:has(.pos-desktop-board){--pos-sidebar-width:120px}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board{grid-template-columns:minmax(380px,1.05fr) minmax(150px,.26fr) minmax(450px,1.18fr)!important;grid-template-rows:minmax(0,1fr) 218px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product{grid-template-columns:48px minmax(0,1fr)!important;min-height:98px!important;height:98px!important;padding:5px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product-image{width:48px!important;height:48px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-touch-product-name{font-size:11px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-function-grid>button strong{font-size:10px!important}
}

/* POS 統一工作區 v2：右下結帳分層、中央快捷鍵固定節奏。
   保留既有 DOM 與交易規則，只重新分配桌面版可視空間，避免內容被壓在同一列。 */
@media (min-width:1201px){
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board{
    grid-template-rows:minmax(0,1fr) clamp(314px,31vh,330px)!important;
  }

  /* 中央快捷鍵：不再把七個按鈕拉伸填滿整條高度，維持固定觸控節奏。 */
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-quick-bar{
    padding:10px!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-shortcut-grid{
    grid-auto-rows:62px!important;
    align-content:start!important;
    gap:8px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:2px 1px 4px!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-shortcut-button{
    height:62px!important;
    min-height:62px!important;
    padding:6px 7px!important;
  }

  /* 右下結帳：左側收款鍵盤、右側金額摘要，底部固定確認收款。 */
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-payment-panel{
    grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr)!important;
    grid-template-rows:82px 40px minmax(90px,1fr) 44px!important;
    gap:6px!important;
    padding:8px!important;
    overflow:hidden!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-head{
    grid-column:1!important;grid-row:1!important;
    min-height:0!important;height:auto!important;
    padding:6px 8px!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount{
    grid-column:2!important;grid-row:1!important;
    grid-template-rows:15px 25px 25px!important;
    gap:3px!important;
    min-height:0!important;height:auto!important;
    padding:4px 6px!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount>strong{
    grid-row:1!important;display:block!important;overflow:hidden!important;white-space:nowrap!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount>div{
    grid-row:2!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount>input[name="discountReason"]{
    grid-row:3!important;display:block!important;width:100%!important;height:25px!important;min-height:25px!important;
    padding:2px 5px!important;font-size:8px!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-custom-discount small{display:none!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-methods{
    grid-column:1/-1!important;grid-row:2!important;
    min-height:0!important;height:auto!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-desktop-board>.pos-payment-panel>.cash-calculator{
    grid-column:1!important;grid-row:3!important;
    min-height:0!important;height:auto!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals{
    grid-column:2!important;grid-row:3!important;
    display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(5,minmax(0,1fr))!important;
    align-content:stretch!important;min-height:0!important;height:auto!important;padding:0 6px!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals>div{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    min-height:0!important;padding:1px 0!important;border-bottom:1px dashed #d5e0e9!important;font-size:9px!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals>div:last-child{border-bottom:0!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals .grand{
    grid-column:auto!important;padding:2px 0 0!important;border-left:0!important;border-top:1px solid #b9c8d7!important;
    font-size:10px!important;line-height:1!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-totals .grand strong{font-size:17px!important;line-height:1!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-panel .checkout{
    grid-column:1/-1!important;grid-row:4!important;
    min-height:0!important;height:auto!important;margin:0!important;padding:6px 12px!important;
  }
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-panel .checkout strong{font-size:20px!important}
  html[data-ui="operations"] body:has(.pos-desktop-board) .pos-payment-panel:not(:has(.cash-calculator)) .pos-payment-totals{grid-column:1/-1!important}
}

/* Keep the Stitch 05 shell authoritative after legacy modal rules. */
#product-form.product-editor-v5{width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0!important;overflow:auto}
#product-form.product-editor-v5>.product-editor-actions-v5{display:grid!important;grid-template-columns:1fr 1.4fr!important;position:sticky!important;bottom:0!important;margin:0!important}
#product-form.product-editor-v5>.product-editor-actions-v5 .btn{flex:auto!important;min-height:50px!important}
#product-form.product-editor-v5 .product-file-picker-v5 input[type="file"]{position:absolute!important;width:1px!important;min-width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
#product-form.product-editor-v5 .product-photo-slots-v5 .file-preview{width:100%!important;height:auto!important;aspect-ratio:1!important;object-fit:contain!important;background:#fff!important}
@media(max-width:650px){
  #product-form.product-editor-v5{position:absolute!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow-y:auto!important}
}

/* Stitch 06 — 庫存管理：沿用正式庫存、商品、差異審核與欄位設定功能。 */
html[data-ui="operations"] body:has(.inventory-management-v6){background:#f4f7fb}
html[data-ui="operations"] .inventory-management-v6{display:grid;gap:14px;background:#f4f7fb}
.inventory-toolbar-v6{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:10px;padding:14px;border:1px solid #dce6ef;border-radius:14px;background:#fff;box-shadow:0 3px 12px #294d6e0a}
.inventory-search-v6{position:relative;display:block;min-width:0}
.inventory-search-v6>span:first-child{position:absolute;left:13px;top:50%;z-index:1;transform:translateY(-50%);color:#8b9aab;font-size:20px}
.inventory-search-v6 .search{width:100%;min-height:46px;padding-left:40px;border:1px solid #d7e1eb;border-radius:10px;background:#f8fafc;font-size:14px}
.inventory-tool-grid-v6{display:grid;grid-template-columns:repeat(4,auto);gap:7px}
.inventory-tool-grid-v6 .btn,.inventory-add-product-v6{min-height:46px;border-radius:10px;white-space:nowrap}
.inventory-add-product-v6{padding-inline:19px!important;background:#4f8fcc!important;border-color:#4f8fcc!important}
.inventory-discrepancy-v6{display:grid;gap:12px;padding:16px!important;border:1px solid #dce6ef!important;border-radius:14px!important;background:#fff!important;box-shadow:0 3px 12px #294d6e0a}
.inventory-discrepancy-v6 .panel-title{align-items:flex-start;margin:0}
.inventory-discrepancy-v6 .panel-title h2{font-size:17px;color:#1d2c3d}
.inventory-discrepancy-v6 .panel-title span{display:block;max-width:720px;margin-top:4px;color:#6b7c8e;font-size:12px;line-height:1.45}
.inventory-discrepancy-v6 .discrepancy-open-count{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid #f3d49b;border-radius:999px;background:#fff8e8;color:#96601b;font-size:12px;white-space:nowrap}
.inventory-discrepancy-v6 .discrepancy-open-count i{width:7px;height:7px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 3px #fef3c7}
.inventory-discrepancy-v6 .inventory-discrepancy-stats{gap:9px;margin:0}
.inventory-discrepancy-v6 .inventory-discrepancy-stats>div{min-height:74px;padding:11px;border-radius:11px}
.inventory-discrepancy-v6 .inventory-discrepancy-stats span{font-size:12px}
.inventory-discrepancy-v6 .inventory-discrepancy-stats strong{font-size:21px;line-height:1.1}
.inventory-discrepancy-v6 .discrepancy-filters{gap:7px;margin:0;overflow-x:auto;scrollbar-width:none}
.inventory-discrepancy-v6 .discrepancy-filters::-webkit-scrollbar{display:none}
.inventory-discrepancy-v6 .discrepancy-filters .chip{min-height:34px;padding:6px 13px;border-radius:999px;white-space:nowrap}
.inventory-discrepancy-v6 .inventory-discrepancy-table-wrap-v6{margin:0;border:1px solid #e6ebf0;border-radius:10px;background:#fbfcfe}
.inventory-discrepancy-v6 .inventory-discrepancy-table{min-width:900px}
.inventory-discrepancy-v6 .inventory-discrepancy-table th{padding:8px 10px;background:#f3f6f9;color:#667688;font-size:11px}
.inventory-discrepancy-v6 .inventory-discrepancy-table td{padding:9px 10px;font-size:12px}
.inventory-slide-hint-v6{justify-self:start;padding:4px 9px;border:1px solid #e0e6ec;border-radius:999px;background:#f7f9fb;color:#8794a3;font-size:10px}
.inventory-management-v6>.column-help{margin:-2px 2px 0;padding:0;color:#7a8998;font-size:11px;line-height:1.5}
.inventory-product-table-v6{margin:0!important;padding:0!important;border:1px solid #dce6ef!important;border-radius:14px!important;background:#fff;box-shadow:0 3px 12px #294d6e0a}
.inventory-product-table-v6>table{min-width:1120px}
.inventory-product-table-v6 th{padding:10px 11px;background:#f7f9fb;color:#607084;font-size:12px}
.inventory-product-table-v6 td{padding:9px 11px;font-size:12px}
.inventory-product-table-v6 .product-thumb{width:38px;height:38px;border-radius:9px}
.inventory-product-table-v6 .product-thumb img{object-fit:contain;background:#fff}
.inventory-table-foot-v6{position:sticky;left:0;display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(100vw,100%);padding:9px 11px;border-top:1px solid #edf1f5;background:#f8fafc;color:#8693a2;font-size:10px}
.inventory-table-foot-v6 span{padding:3px 8px;border:1px solid #dfe6ed;border-radius:999px;background:#fff}
.inventory-table-foot-v6 b{color:#748395;font-size:11px}
.inventory-pagination-v6{margin:0;padding:12px 14px;border-radius:13px;box-shadow:0 3px 12px #294d6e08}
.inventory-pagination-v6 .btn{min-height:40px}

@media(max-width:700px){
  html[data-ui="operations"] .inventory-management-v6{width:100%;max-width:430px;margin:0 auto;padding:12px 12px max(30px,env(safe-area-inset-bottom));gap:13px}
  .inventory-toolbar-v6{grid-template-columns:1fr;padding:13px;gap:10px;border-radius:15px}
  .inventory-search-v6 .search{min-height:43px;font-size:13px}
  .inventory-toolbar-v6 .inventory-tool-grid-v6{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .inventory-tool-grid-v6 .btn{min-width:0;min-height:42px;padding:7px 5px;font-size:12px;white-space:normal}
  .inventory-add-product-v6{width:100%;min-height:46px}
  .inventory-discrepancy-v6{padding:13px!important;border-radius:15px!important}
  .inventory-discrepancy-v6 .panel-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .inventory-discrepancy-v6 .panel-title h2{font-size:15px}
  .inventory-discrepancy-v6 .panel-title span{font-size:11px;line-height:1.4}
  .inventory-discrepancy-v6 .discrepancy-open-count{align-self:start;padding:4px 8px;font-size:10px}
  .inventory-discrepancy-v6 .inventory-discrepancy-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .inventory-discrepancy-v6 .inventory-discrepancy-stats>div{min-height:67px;padding:9px}
  .inventory-discrepancy-v6 .inventory-discrepancy-stats span{font-size:11px}
  .inventory-discrepancy-v6 .inventory-discrepancy-stats strong{font-size:19px}
  .inventory-discrepancy-v6 .discrepancy-filters{flex-wrap:nowrap;padding-bottom:2px}
  .inventory-discrepancy-v6 .discrepancy-filters .chip{min-height:32px;padding:5px 12px;font-size:11px}
  .inventory-discrepancy-v6 .inventory-discrepancy-table{min-width:760px}
  .inventory-discrepancy-v6 .inventory-discrepancy-table th,.inventory-discrepancy-v6 .inventory-discrepancy-table td{font-size:11px}
  .inventory-discrepancy-v6 .inventory-discrepancy-table:has(tbody td.empty){min-width:100%;table-layout:fixed}
  .inventory-discrepancy-v6 .inventory-discrepancy-table:has(tbody td.empty) th:nth-child(n+4){display:none}
  .inventory-discrepancy-v6 .inventory-discrepancy-table:has(tbody td.empty) th:nth-child(-n+3){width:33.333%!important;min-width:0!important;padding:8px 4px!important;text-align:center!important;white-space:nowrap!important}
  .inventory-discrepancy-v6 .inventory-discrepancy-table td.empty{position:static;box-sizing:border-box;width:auto;max-width:none;padding:24px 14px;text-align:center;white-space:normal}
  .inventory-management-v6>.column-help{padding-inline:2px}
  .inventory-product-table-v6{border-radius:15px!important}
  .inventory-product-table-v6>table{min-width:980px}
  .inventory-product-table-v6 th{padding:9px 10px;font-size:11px}
  .inventory-product-table-v6 td{padding:8px 10px;font-size:11px}
  .inventory-table-foot-v6{width:calc(100vw - 26px)}
  .inventory-pagination-v6{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:11px}
  .inventory-pagination-v6>span{margin:0}
  .inventory-pagination-v6>strong{font-size:11px;white-space:nowrap}
  .inventory-pagination-v6>.btn{min-height:38px;padding:6px 9px;font-size:11px}
  .inventory-pagination-v6>.btn:nth-of-type(2){grid-column:1}
  .inventory-pagination-v6>label{grid-column:2/4;grid-row:2;justify-self:end;font-size:11px}
  .inventory-pagination-v6 select{min-height:38px;padding:5px 8px;font-size:12px}
}

@media(max-width:370px){
  html[data-ui="operations"] .inventory-management-v6{padding-inline:9px}
  .inventory-discrepancy-v6 .panel-title{grid-template-columns:1fr}
  .inventory-discrepancy-v6 .discrepancy-open-count{justify-self:start}
  .inventory-table-foot-v6{width:calc(100vw - 20px)}
}

/* Screen 25 final cascade guard: isolate the Stitch catalog from legacy 3-column rules. */
@media(max-width:700px){
  .public-catalog.public-catalog-v25>header{
    position:sticky!important;top:0!important;z-index:30!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"brand login" "updated sync"!important;
    align-items:center!important;gap:3px 8px!important;width:100%!important;
    min-height:calc(63px + env(safe-area-inset-top))!important;
    padding:calc(8px + env(safe-area-inset-top)) 14px 8px!important;
    background:#fff!important;box-sizing:border-box!important;
  }
  .public-catalog.public-catalog-v25 .public-site-brand{grid-area:brand!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;min-width:0!important}
  .public-catalog.public-catalog-v25 .public-site-brand::before{content:"";display:block!important;flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px #d1fae5}
  .public-catalog.public-catalog-v25 .public-mobile-brand{display:block!important;overflow:hidden!important;color:#0f172a!important;font-size:17px!important;font-weight:900!important;line-height:24px!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .public-catalog.public-catalog-v25 .public-header-updated{grid-area:updated!important;display:block!important;width:auto!important;margin:0 0 0 16px!important;color:#94a3b8!important;font-size:10px!important;font-weight:500!important;line-height:15px!important;text-align:left!important;white-space:nowrap!important}
  .public-catalog.public-catalog-v25 .public-header-sync{grid-area:sync!important;display:block!important;justify-self:end!important;padding:2px 6px!important;border-radius:999px!important;background:#eff6ff!important;color:#2563eb!important;font-size:9px!important;font-weight:800!important;white-space:nowrap!important}
  .public-catalog.public-catalog-v25>header>a{position:static!important;grid-area:login!important;align-self:center!important;width:auto!important;min-width:62px!important;min-height:30px!important;margin:0!important;padding:5px 9px!important;border:1px solid #e2e8f0!important;border-radius:999px!important;background:#f8fafc!important;color:#475569!important;font-size:11px!important;box-shadow:none!important}
  .public-catalog.public-catalog-v25>main{width:100%!important;max-width:390px!important;margin-inline:auto!important;padding:0 12px calc(20px + env(safe-area-inset-bottom))!important;overflow:hidden!important}
  .public-catalog.public-catalog-v25 .public-catalog-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) 107px!important;gap:6px!important;width:100%!important;height:38px!important}
  .public-catalog.public-catalog-v25 #public-catalog-search{display:grid!important;grid-template-columns:minmax(0,1fr) 52px!important;gap:5px!important;width:100%!important;height:38px!important}
  .public-catalog.public-catalog-v25 .public-catalog-toolbar>label{display:grid!important;grid-template-columns:27px minmax(0,1fr)!important;gap:3px!important;width:107px!important;height:38px!important}
  .public-catalog.public-catalog-v25 .public-catalog-grid{display:flex!important;width:100%!important;gap:0!important;overflow-x:auto!important;overflow-y:hidden!important;padding:1px 0 4px!important}
  .public-catalog.public-catalog-v25 .public-catalog-page{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:auto!important;flex:0 0 100%!important;gap:9px!important;padding:0 1px!important}
  .public-catalog.public-catalog-v25 .public-product-card{display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important;height:auto!important;min-height:281px!important;aspect-ratio:auto!important}
  .public-catalog.public-catalog-v25 .public-product-gallery{flex:0 0 auto!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1/1!important}
  .public-catalog.public-catalog-v25 .public-product-image{width:100%!important;height:100%!important;aspect-ratio:1/1!important}
  .public-catalog.public-catalog-v25 .public-product-image>.public-photo-backdrop{display:none!important}
  .public-catalog.public-catalog-v25 .public-product-image>img:not(.public-photo-backdrop){width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
  .public-catalog.public-catalog-v25 .public-product-info{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;gap:4px!important;height:auto!important;min-height:126px!important;padding:8px!important}
  .public-catalog.public-catalog-v25 .public-product-info h2{min-height:34px!important;font-size:13px!important;line-height:1.3!important}
  .public-catalog.public-catalog-v25 .public-product-expiry{min-height:27px!important;font-size:10px!important;line-height:1.3!important}
  .public-catalog.public-catalog-v25 .public-price-range{margin-top:auto!important;font-size:20px!important}
  .public-catalog.public-catalog-v25 .public-card-open-hint{display:block!important;align-self:flex-end!important;font-size:10px!important}
}

/* Google Stitch 畫面 26：公開商品詳情；沿用真實商品、批次、圖片及庫存資料。 */
.public-product-detail-v26>header>nav{display:flex;align-items:center;gap:8px}
.public-product-detail-v26>header>nav>button{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid #d7e2ee;border-radius:50%;background:#f8fafc;color:#475569;font-size:24px;line-height:1;cursor:pointer}
.public-product-detail-v26>header>nav>button>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.public-detail-image-counter{position:absolute;right:10px;bottom:10px;z-index:3;padding:4px 8px;border-radius:7px;background:#0f172a99;color:#fff;font-size:11px;line-height:1;font-weight:800}
.public-detail-summary>span{display:grid;justify-items:end;gap:5px}.public-detail-summary>span>small{color:#94a3b8;font-size:10px}
.public-detail-recommendations,.public-detail-warnings,.public-detail-footer{grid-column:1/-1;box-sizing:border-box}
.public-detail-recommendations>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.public-detail-recommendations h3{margin:0;color:#1e293b;font-size:16px}.public-detail-recommendations>header>span{color:#3a74ad;font-size:12px;font-weight:800}
.public-detail-recommendations>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.public-detail-recommend-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:15px;background:#fff;color:#1e293b;text-align:left;cursor:pointer}
.public-detail-recommend-photo{display:grid;place-items:center;width:110px;aspect-ratio:1;border-radius:11px;overflow:hidden;background:#f4f8fc}.public-detail-recommend-photo img{width:100%;height:100%;object-fit:contain}.public-detail-recommend-photo>i{font-size:38px;font-style:normal}
.public-detail-recommend-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px}.public-detail-recommend-copy>small{padding:2px 6px;border-radius:999px;background:#f0f6fd;color:#3a74ad;font-size:9px;font-weight:800}.public-detail-recommend-copy>strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px;line-height:1.35}.public-detail-recommend-copy>em{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#e11d48;font-size:10px;font-style:normal;line-height:1.3}.public-detail-recommend-copy>b{margin-top:auto;color:#e11d48;font-size:19px}.public-detail-recommend-copy>i{padding:2px 5px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:9px;font-style:normal;font-weight:800}.public-detail-recommend-copy>u{align-self:flex-end;color:#3a74ad;font-size:10px;font-weight:800;text-decoration:none}
.public-detail-warnings{display:grid;gap:7px;padding:14px;border:1px solid #fecdd3;border-radius:15px;background:#fff7f8}.public-detail-warnings h3{margin:0 0 2px;color:#881337;font-size:13px}.public-detail-warnings article{display:grid;grid-template-columns:23px minmax(0,1fr);gap:8px;align-items:start}.public-detail-warnings article>b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#0f172a;color:#fff;font-size:8px}.public-detail-warnings p{margin:0;color:#475569;font-size:10px;line-height:1.5}
.public-detail-footer{padding:4px 0 0;color:#94a3b8;font-size:10px;line-height:1.5;text-align:center}

/* 收貨逐步彈窗：一個畫面只處理一個大動作，手機不必反覆長滑。 */
.receiving-stage-next{margin:14px 0}
.receiving-stage-next .btn{width:100%;min-height:52px;font-size:16px}
.receiving-review-modal [hidden]{display:none!important}
.receiving-review-modal[data-receiving-stage="item"] .receiving-review-master{margin-top:10px}
.receiving-review-modal[data-receiving-stage="entry"] .receiving-touch-actions{margin-top:8px}
.receiving-review-modal[data-receiving-stage="confirm"] .receiving-review-confirmation{margin-top:10px}
.receiving-review-modal .receiving-review-steps span.complete{opacity:.8}
.receiving-photo-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:8px 0}
.receiving-photo-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #d7e4f0;border-radius:8px;background:#f7fafc}
.receiving-case-choice-title{display:grid;gap:3px;margin:0 0 10px;color:#173a5e}.receiving-case-choice-title b{font-size:17px}.receiving-case-choice-title small{color:#61758a;font-size:12px;line-height:1.45}
@media(max-width:650px){
  .receiving-review-backdrop{align-items:stretch!important;padding:0!important}
  .receiving-review-modal{width:100%!important;max-width:430px!important;height:100dvh!important;max-height:none!important;margin:0 auto!important;border-radius:0!important;overflow:auto!important;padding:calc(12px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important}
  .receiving-review-modal .panel-title h2{font-size:20px!important}
  .receiving-stage-next{margin:12px 0}
  .receiving-review-product,.receiving-touch-actions,.receiving-review-confirmation,.receiving-case-conversion{margin-bottom:12px!important}
  .receiving-review-modal .modal-actions{position:sticky;bottom:0;z-index:5;margin:12px -14px -18px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fffffff2;border-top:1px solid #dce7f2}
  .receiving-review-modal .modal-actions .btn{min-height:50px;font-size:16px}
}
@media(max-width:700px){
  .public-product-detail-backdrop:has(.public-product-detail-v26){display:block!important;padding:0!important;background:#f4f8fc!important;overflow:hidden!important}
  .public-product-detail-modal.public-product-detail-v26{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;width:100%!important;max-width:390px!important;height:100dvh!important;max-height:none!important;margin:0 auto!important;border-radius:0!important;background:#f4f8fc!important;box-shadow:none!important}
  .public-product-detail-v26>header{position:sticky!important;top:0!important;z-index:20!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;min-height:calc(61px + env(safe-area-inset-top))!important;padding:calc(9px + env(safe-area-inset-top)) 14px 9px!important;border-bottom:1px solid #e2e8f0!important;background:#fffffffa!important;box-sizing:border-box!important}
  .public-product-detail-v26>header>div{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:7px!important;min-width:0!important}
  .public-product-detail-v26>header>div>span{margin:0!important;padding:3px 7px!important;font-size:10px!important;white-space:nowrap}
  .public-product-detail-v26>header h2{display:block!important;min-width:0!important;margin:0!important;overflow:hidden!important;color:#1e293b!important;font-size:16px!important;line-height:28px!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .public-product-detail-v26>header>nav{gap:6px!important}.public-product-detail-v26>header>nav>button{flex-basis:36px!important;width:36px!important;height:36px!important;border:0!important;background:#f1f5f9!important;font-size:20px!important}
  .public-product-detail-v26 .public-product-detail-body{display:block!important;width:100%!important;padding:12px 14px calc(30px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important;overflow-y:auto!important;box-sizing:border-box!important}
  .public-product-detail-v26 .public-detail-gallery{width:100%!important;padding:11px!important;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-sizing:border-box!important}
  .public-product-detail-v26 .public-detail-main-image{width:100%!important;max-width:none!important;aspect-ratio:1/1!important;margin:0!important;border:1px solid #edf2f7!important;border-radius:13px!important;background:#f3f6fa!important}
  .public-product-detail-v26 .public-detail-main-image>.public-photo-backdrop{display:none!important}
  .public-product-detail-v26 .public-detail-main-image>img:not(.public-photo-backdrop){width:100%!important;height:100%!important;padding:12px;object-fit:contain!important;object-position:center!important;background:#f3f6fa!important;box-sizing:border-box}
  .public-product-detail-v26 .public-detail-thumbs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important;width:100%!important;margin:10px 0 0!important;padding:0!important}
  .public-product-detail-v26 .public-detail-thumbs button{display:block!important;width:100%!important;min-width:0!important;aspect-ratio:1/1!important;padding:3px!important;border:1px solid #e2e8f0!important;border-radius:9px!important;background:#f8fafc!important;box-sizing:border-box!important}.public-product-detail-v26 .public-detail-thumbs button.active{border:2px solid #4f8fcc!important;background:#f0f6fd!important;box-shadow:none!important}.public-product-detail-v26 .public-detail-thumbs img{object-fit:contain!important}
  .public-product-detail-v26 .public-detail-gallery>small{display:block!important;margin:8px 0 0!important;color:#94a3b8!important;font-size:10px!important;text-align:center!important}
  .public-product-detail-v26 .public-detail-info{display:flex!important;align-items:stretch!important;gap:11px!important;width:100%!important;margin-top:12px!important}
  .public-product-detail-v26 .public-detail-summary{width:100%!important;padding:13px 14px!important;border:1px solid #e2e8f0!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important}.public-product-detail-v26 .public-detail-summary .public-detail-price{color:#e11d48!important;font-size:31px!important}.public-product-detail-v26 .public-detail-summary>span{justify-items:end!important}.public-product-detail-v26 .public-detail-stock{padding:6px 10px!important;font-size:11px!important}
  .public-product-detail-v26 .public-detail-info>dl{width:100%!important;border:1px solid #e2e8f0!important;border-radius:16px!important;background:#fff!important}.public-product-detail-v26 .public-detail-info dl>div{display:grid!important;grid-template-columns:86px minmax(0,1fr)!important;gap:9px!important;padding:10px 12px!important}.public-product-detail-v26 .public-detail-info dt,.public-product-detail-v26 .public-detail-info dd{font-size:12px!important;line-height:1.45!important}.public-product-detail-v26 .public-detail-info dd{text-align:right!important}
  .public-product-detail-v26 .public-detail-options,.public-product-detail-v26 .public-detail-description{width:100%!important;padding:13px!important;border:1px solid #e2e8f0!important;border-radius:16px!important;background:#fff!important;box-sizing:border-box!important}.public-product-detail-v26 .public-detail-options>h3,.public-product-detail-v26 .public-detail-description>h3{margin:0 0 8px!important;font-size:14px!important}
  .public-product-detail-v26 .public-detail-options>div{padding:10px!important;border-color:#e1edfb!important;background:#f8fbff!important}.public-product-detail-v26 .public-detail-options>div.no-image{grid-template-columns:minmax(0,1fr) auto!important}.public-product-detail-v26 .public-detail-options>div.has-image{grid-template-columns:56px minmax(0,1fr) auto!important}.public-product-detail-v26 .public-detail-options>div>img{width:56px!important;height:56px!important}.public-product-detail-v26 .public-detail-options>div>em{font-size:19px!important}
  .public-product-detail-v26 .public-detail-description p{font-size:12px!important;line-height:1.65!important}
  .public-product-detail-v26 .public-detail-recommendations{margin-top:14px!important}.public-product-detail-v26 .public-detail-recommendations h3{font-size:14px!important}.public-product-detail-v26 .public-detail-recommendations>div{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.public-product-detail-v26 .public-detail-recommend-card{display:flex!important;min-width:0!important;flex-direction:column!important;gap:7px!important;padding:9px!important}.public-product-detail-v26 .public-detail-recommend-photo{width:100%!important;aspect-ratio:1/1!important}.public-product-detail-v26 .public-detail-recommend-copy{width:100%!important}.public-product-detail-v26 .public-detail-recommend-copy>strong{min-height:34px!important}
  .public-product-detail-v26 .public-detail-warnings{margin-top:14px!important;padding:12px!important}.public-product-detail-v26 .public-detail-footer{margin-top:10px!important}
}
