@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Serif:wght@600&display=swap");:root{--bg:#ebe6dc;--panel:#f7f3ea;--ink:#1c242c;--muted:#5f6b75;--line:#d2cbbd;--accent:#e85d04;--accent-soft:#fce8d8;--occupied:#9aa7b5;--shadow:0 12px 40px rgba(28,36,44,0.08);font-family:IBM Plex Sans,sans-serif;line-height:1.45;font-weight:400;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body,html{margin:0;width:100%;height:100%}html{scrollbar-gutter:stable}body{min-width:320px;min-height:100%;background:radial-gradient(ellipse 80% 50% at 70% 0,#f4efe4 0,transparent 55%),linear-gradient(160deg,#e7e1d4,#ebe6dc 45%,#ddd6c8)}.login{display:grid;place-items:center;min-height:100dvh;padding:1.5rem}.login__panel{width:min(100%,400px);display:grid;grid-gap:.75rem;gap:.75rem;padding:1.75rem 1.5rem 1.5rem;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 94%,white);box-shadow:var(--shadow)}.login__eyebrow{margin:0;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}.login__title{margin:0;font-family:"IBM Plex Serif",serif;font-size:clamp(1.6rem,4vw,2rem);font-weight:600;line-height:1.2}.login__subtitle{margin:0 0 .35rem;color:var(--muted);font-size:.95rem}.login__form{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:.35rem}.ship1688{width:min(1100px,100%);margin:0 auto;padding:1.25rem 1.25rem 2rem;display:grid;grid-gap:1rem;gap:1rem}.ship1688--with-sidebar{width:100%;max-width:none;margin:0;padding:0;min-height:100vh;display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-gap:0;gap:0;align-items:stretch}.ship1688__sidebar{display:flex;flex-direction:column;gap:.85rem;padding:1.25rem 1rem 1.5rem;background:color-mix(in srgb,var(--panel) 92%,white);border-right:1px solid var(--line);box-shadow:var(--shadow);min-height:100vh;max-height:100vh;overflow:hidden;position:-webkit-sticky;position:sticky;top:0}.ship1688__sidebar-brand{display:grid;grid-gap:.25rem;gap:.25rem;padding:0 .25rem}.ship1688__sidebar-title{margin:0;font-family:"IBM Plex Serif",serif;font-size:1.25rem;font-weight:600}.ship1688__sidebar-subtitle{margin:0;color:var(--muted);font-size:.8rem}.ship1688__sidebar-empty{margin:.5rem .25rem}.ship1688__main{min-width:0;padding:1.25rem 1.25rem 2rem;display:grid;grid-gap:1rem;gap:1rem;align-content:start}.ship1688__header,.ship1688__main .ship1688__layout{width:min(1100px,100%)}.ship1688__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ship1688__title{margin:.15rem 0 0;font-family:"IBM Plex Serif",serif;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:600}.ship1688__subtitle{margin:.35rem 0 0;color:var(--muted);font-size:.92rem}.ship1688__layout{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem;align-items:start}.ship1688__card{display:grid;grid-gap:.75rem;gap:.75rem;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 94%,white);box-shadow:var(--shadow)}.ship1688__card-title{margin:0;align-items:baseline;font-size:1.05rem}.ship1688__card-head,.ship1688__card-title{display:flex;justify-content:space-between;gap:.75rem}.ship1688__card-head{align-items:center;flex-wrap:wrap}.ship1688__card-head .ship1688__card-title{flex:1 1;min-width:0}.ship1688__count{color:var(--muted);font-size:.82rem;font-weight:500}.ship1688__textarea{min-height:160px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.45;white-space:pre-wrap}.ship1688__result{display:grid;grid-gap:1rem;gap:1rem}.ship1688__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem 1rem;gap:.65rem 1rem;margin:0}.ship1688__meta--totals{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:560px){.ship1688__meta,.ship1688__meta--totals{grid-template-columns:1fr}}.ship1688__meta dt{margin:0;color:var(--muted);font-size:.78rem}.ship1688__meta dd{margin:.15rem 0 0;font-weight:600;word-break:break-word}.ship1688__items{list-style:none;margin:0;padding:0;display:grid;grid-gap:.65rem;gap:.65rem}.ship1688__item{padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.ship1688__item-row{display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:.7rem;gap:.7rem;align-items:start}.ship1688__item-row--no-thumb{grid-template-columns:minmax(0,1fr)}.ship1688__item-thumb-btn{display:grid;place-items:center;padding:0;margin:0;border:none;background:transparent;cursor:zoom-in;border-radius:10px;line-height:0}.ship1688__item-thumb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ship1688__item-thumb{width:72px;height:72px;border-radius:10px;object-fit:cover;background:#efe9df;border:1px solid var(--line);display:block;pointer-events:none}.ship1688__item-main{min-width:0}.ship1688__item--low{border-color:color-mix(in srgb,#b42318 40%,var(--line));background:color-mix(in srgb,#f8e8e6 75%,white)}.ship1688__item-head{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.9rem}.ship1688__item-head span{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ship1688__item-name{margin:.35rem 0 0;white-space:pre-wrap;font-size:.88rem}.ship1688__item-money,.ship1688__item-spec{margin:.25rem 0 0;color:var(--muted);font-size:.82rem}.ship1688__match{margin-top:.55rem;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,white)}.ship1688__match--ok{border-color:color-mix(in srgb,#2f6b4f 28%,var(--line));background:color-mix(in srgb,#e8f3ec 70%,white)}.ship1688__match--warn{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent-soft) 70%,white)}.ship1688__match--miss{border-color:color-mix(in srgb,#b42318 22%,var(--line));background:color-mix(in srgb,#f8e8e6 65%,white)}.ship1688__match--low{border-color:color-mix(in srgb,#b42318 45%,var(--line));background:color-mix(in srgb,#f3c5c0 55%,white)}.ship1688__match--miss p,.ship1688__match-empty{margin:0;color:var(--muted);font-size:.82rem}.ship1688__match-row{display:flex;align-items:flex-start;gap:.55rem}.ship1688__match-badge{flex-shrink:0;padding:.12rem .4rem;border-radius:999px;font-size:.72rem;font-weight:700}.ship1688__match-badge--ok{background:#2f6b4f;color:#f4faf6}.ship1688__match-badge--warn{background:var(--accent);color:#fff8f2}.ship1688__match-badge--low,.ship1688__match-badge--miss{background:#b42318;color:#fff6f5}.ship1688__match-body{display:grid;grid-gap:.15rem;gap:.15rem;min-width:0}.ship1688__match-body strong{font-size:.88rem}.ship1688__item-link{display:inline;border:none;padding:0;background:none;color:var(--accent);font:inherit;font-size:.88rem;font-weight:700;text-align:left;text-decoration:underline;text-underline-offset:.15em;cursor:pointer}.ship1688__item-link:hover{color:color-mix(in srgb,var(--accent) 80%,var(--ink))}.ship1688__match-body span{color:var(--muted);font-size:.8rem;word-break:break-word}.ship1688__match-candidates{list-style:none;margin:.45rem 0 0;padding:.4rem 0 0;border-top:1px dashed var(--line);display:grid;grid-gap:.25rem;gap:.25rem;font-size:.8rem;color:var(--muted)}.ship1688__candidate-btn{display:block;width:100%;border:none;padding:.25rem 0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.ship1688__candidate-btn:hover{color:var(--ink)}.ship1688__match-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}.ship1688__match-actions .btn{padding:.28rem .55rem;font-size:.78rem}.ship1688__picker{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:.55rem;padding-top:.55rem;border-top:1px dashed var(--line)}.ship1688__picker-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fffdf8}.ship1688__picker-row{display:grid;grid-template-columns:52px minmax(0,1fr);grid-gap:.2rem;gap:.2rem;align-items:center;border-bottom:1px solid var(--line);padding:.3rem .35rem .3rem .45rem}.ship1688__picker-row:last-child{border-bottom:none}.ship1688__picker-row--active,.ship1688__picker-row:hover{background:color-mix(in srgb,var(--accent-soft) 55%,white)}.ship1688__picker-thumb-btn{display:grid;place-items:center;padding:0;border:none;background:transparent;cursor:zoom-in;border-radius:8px}.ship1688__picker-thumb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ship1688__picker-item{display:grid;align-items:center;width:100%;min-width:0;border:none;padding:.35rem .45rem;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:8px}.ship1688__picker-item--active,.ship1688__picker-item:hover{background:transparent}.ship1688__picker-thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#efe9df;border:1px solid var(--line)}.ship1688__picker-thumb,.ship1688__picker-thumb--empty{display:block;pointer-events:none}.ship1688__picker-meta{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.ship1688__picker-name{font-size:.86rem;font-weight:600}.ship1688__picker-name,.ship1688__picker-sku{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ship1688__picker-sku{color:var(--muted);font-size:.78rem}.ship1688__img-preview{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1.25rem;background:color-mix(in srgb,#1a1510 72%,transparent);cursor:zoom-out}.ship1688__img-preview-img{max-width:min(92vw,560px);max-height:min(84vh,560px);width:auto;height:auto;border-radius:12px;object-fit:contain;background:#fff;box-shadow:0 16px 48px color-mix(in srgb,#000 35%,transparent);cursor:default}.ship1688__img-preview-close{position:absolute;top:1rem;right:1rem;border:1px solid color-mix(in srgb,#fff 35%,transparent);border-radius:999px;padding:.35rem .85rem;background:color-mix(in srgb,#1a1510 55%,transparent);color:#fff;font:inherit;font-size:.85rem;cursor:pointer}.ship1688__img-preview-close:hover{background:color-mix(in srgb,#1a1510 75%,transparent)}.ship1688__ship{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:.65rem;padding-top:.65rem;border-top:1px dashed var(--line)}.ship1688__ship-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.ship1688__ship-warn{color:#b42318;font-size:.8rem}.ship1688__hint{margin:0;color:var(--muted);font-size:.85rem}.ship1688__dropzone{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.45rem;padding:1.1rem 1rem;border:1.5px dashed color-mix(in srgb,var(--line) 85%,var(--accent));border-radius:12px;background:color-mix(in srgb,var(--panel) 70%,#fffdf8);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.ship1688__dropzone--dragging{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.ship1688__dropzone--busy{opacity:.72;pointer-events:none}.ship1688__dropzone-title{margin:0;font-size:.95rem;font-weight:600}.ship1688__dropzone-hint{margin:0;color:var(--muted);font-size:.8rem}.ship1688__overwrite{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.75rem;padding:.75rem .85rem;border:1px solid color-mix(in srgb,#b42318 35%,var(--line));border-radius:12px;background:color-mix(in srgb,#f8e8e6 55%,white)}.ship1688__history{list-style:none;margin:0;padding:0;display:grid;align-content:start;grid-gap:.4rem;gap:.4rem;overflow:auto;min-height:0;flex:1 1}.ship1688__history-item{display:grid;grid-gap:.15rem;gap:.15rem;width:100%;border:1px solid transparent;border-radius:10px;padding:.55rem .65rem;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.ship1688__history-item:hover{background:color-mix(in srgb,var(--accent-soft) 45%,white)}.ship1688__history-item--active{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent-soft) 55%,white)}.ship1688__history-date{font-size:.88rem;font-weight:700}.ship1688__history-name{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ship1688__history-meta{color:var(--muted);font-size:.74rem}@media (max-width:860px){.ship1688--with-sidebar{grid-template-columns:1fr}.ship1688__sidebar{position:relative;min-height:0;max-height:280px;border-right:none;border-bottom:1px solid var(--line)}}.ship1688__placeholder{min-height:180px;place-items:center}.ship-ae__raw{margin-top:.35rem;color:var(--muted);font-size:.85rem}.ship-ae__raw summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ship-ae__raw-text{margin:.5rem 0 0;max-height:220px;overflow:auto;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:#fffdf8;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;color:var(--ink)}button,input{font:inherit}.app{display:grid;grid-template-columns:minmax(280px,360px) 1fr;width:100%;height:100dvh;min-height:100dvh}.app--no-scene{grid-template-columns:1fr;height:auto;min-height:100dvh}.app--no-scene .sidebar{border-right:none;width:100%;max-width:none;overflow:visible;height:auto}.sidebar{gap:1rem;padding:1.4rem 1.25rem 1rem;background:color-mix(in srgb,var(--panel) 92%,white);border-right:1px solid var(--line);box-shadow:var(--shadow);min-height:0;overflow-y:auto;z-index:2}.sidebar,.sidebar__brand{display:flex;flex-direction:column}.sidebar__brand{gap:.35rem}.sidebar__eyebrow{margin:0;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}.sidebar__title{margin:0;font-family:"IBM Plex Serif",serif;font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.sidebar__subtitle{margin:0;color:var(--muted);font-size:.92rem}.search{display:flex;flex-direction:column;gap:.4rem}.list-filters{display:grid;grid-template-columns:minmax(0,1fr) 6.25rem auto auto;grid-gap:.55rem;gap:.55rem;align-items:end}.list-filters__shelf-select{padding:.55rem .45rem;font-size:.82rem}.list-filters__actions{display:contents}.list-filters__quick{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.4rem}.list-filters__chip{padding:.3rem .75rem;border:1px solid rgba(28,31,34,.16);border-radius:999px;background:rgba(255,255,255,.7);color:inherit;font-size:.78rem;cursor:pointer;white-space:nowrap}.list-filters__chip:hover{border-color:rgba(28,31,34,.32)}.list-filters__chip--active{border-color:#d9480f;background:rgba(217,72,15,.1);color:#d9480f;font-weight:600}.list-filters__btn{min-width:3.75rem;padding:.55rem .7rem;font-size:.82rem;white-space:nowrap}@media (max-width:640px){.list-filters{grid-template-columns:minmax(0,1fr) 6.25rem}.list-filters__actions{display:flex;grid-column:1/-1;justify-content:flex-end;gap:.45rem}}.search__label{font-size:.78rem;font-weight:600;color:var(--muted)}.search__input{width:100%;border:1px solid var(--line);background:#fffdf8;color:var(--ink);border-radius:10px;padding:.75rem .9rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.search__input:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 3px var(--accent-soft)}.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:2.9rem;border:1px solid var(--line);background:#fffdf8;border-radius:10px;padding:.4rem .55rem;cursor:text;transition:border-color .15s ease,box-shadow .15s ease}.tag-input:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 3px var(--accent-soft)}.tag-input--disabled{opacity:.6;cursor:default}.tag-input__field{flex:1 1 6rem;min-width:6rem;border:none;background:transparent;color:var(--ink);outline:none;padding:.3rem .2rem;font:inherit}.tag-chip{display:inline-flex;align-items:center;gap:.2rem;max-width:100%;padding:.15rem .3rem .15rem .55rem;border-radius:999px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--ink);font-size:.8rem;line-height:1.4}.tag-chip__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-chip__remove{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.95rem;line-height:1;padding:0 .2rem;border-radius:999px}.tag-chip__remove:hover:not(:disabled){color:var(--ink);background:color-mix(in srgb,var(--accent) 20%,transparent)}.tag-chip--static{padding:.05rem .5rem;font-size:.74rem}.tag-list{display:inline-flex;flex-wrap:wrap;gap:.3rem}.tag-list--empty{color:var(--muted)}.detail{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft);border-radius:12px;padding:.85rem .95rem}.detail__row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.detail__name{margin:0;font-size:1.05rem;font-weight:600}.detail__close{border:none;background:transparent;color:var(--muted);font-size:1.35rem;line-height:1;cursor:pointer;padding:0 .15rem}.detail__meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem .75rem;gap:.55rem .75rem;margin:.75rem 0 0}.detail__meta dt{margin:0;font-size:.72rem;color:var(--muted);font-weight:600}.detail__meta dd{margin:.1rem 0 0;font-size:.9rem;font-weight:500}.detail__meta>div:last-child{grid-column:1/-1}.detail__action,.detail__actions{margin-top:.85rem}.detail__actions{display:flex;flex-wrap:wrap;gap:.5rem}.detail__actions .btn{flex:1 1 auto}.item-detail{gap:.9rem}.item-detail__hero{display:grid;grid-template-columns:5.5rem minmax(0,1fr);grid-gap:.85rem;gap:.85rem;align-items:start}.item-detail__hero:has(.item-photo-field--detail){grid-template-columns:1fr}.item-photo-field--detail{width:100%}.item-detail__photo{width:5.5rem;height:5.5rem;border-radius:12px;object-fit:cover;background:#efe9df;border:1px solid var(--line)}.item-detail__photo--empty{display:block}.item-detail__intro{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.item-detail__name{margin:0;font-family:"IBM Plex Serif",serif;font-size:1.2rem;font-weight:600;line-height:1.25}.item-detail__name--editable{display:block;width:100%;border:none;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer;border-radius:6px}.item-detail__name--editable:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.18em}.item-detail__edit{display:grid;grid-gap:.55rem;gap:.55rem}.item-detail__edit-actions{display:flex;flex-wrap:wrap;gap:.5rem}.item-detail__sku{margin:0;color:var(--muted);font-size:.85rem}.item-detail__locs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.item-detail__loc{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.45rem;gap:.45rem;align-items:center;padding:.35rem .45rem .35rem .35rem;border-radius:10px;border:1px solid var(--line);background:#fffdf8;transition:border-color .15s ease,background .15s ease}.item-detail__loc--active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent-soft)}.item-detail__loc-select{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.45rem;gap:.45rem;align-items:center;width:100%;min-width:0;border:none;background:transparent;padding:.35rem .4rem;text-align:left;cursor:pointer;font:inherit;color:inherit;border-radius:8px}.item-detail__loc-select:disabled{cursor:not-allowed;opacity:.7}.item-detail__loc-label{font-size:.85rem;font-weight:500;min-width:0}.item-detail__loc-qty{font-size:.85rem;font-weight:650}.item-detail__loc-actions{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end}.item-detail__loc-actions .btn{font-size:.78rem;padding:.35rem .55rem}.item-detail__loc-dd{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.item-detail__loc-dd .btn{padding:.3rem .65rem;font-size:.78rem}.item-detail__bind{display:grid;grid-gap:.55rem;gap:.55rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,#efe9df)}.item-detail__bind-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem}@media (max-width:560px){.item-detail__bind-grid{grid-template-columns:1fr}}.item-detail__stock{display:grid;grid-gap:.55rem;gap:.55rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.item-detail__stock-lead{margin:0;font-size:.85rem;font-weight:600;color:var(--ink)}.item-detail__stock-actions{display:flex;flex-wrap:wrap;gap:.5rem}.item-detail__stock-actions--grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.item-detail__stock-actions .btn{flex:1 1 auto}.item-detail__stock-actions--grid .btn{flex:none;width:100%}.item-detail__stock-set{width:100%}.item-detail__stock-hint{margin:0;color:var(--muted);font-size:.8rem}.item-detail__stock-ok{margin:0;color:#2f6b3a;font-size:.85rem}.item-detail__history{display:grid;grid-gap:.55rem;gap:.55rem}.item-detail__history-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.item-detail__history-title{margin:0;font-size:.92rem;font-weight:650}.item-detail__history-head .btn{padding:.3rem .65rem;font-size:.78rem}.item-detail__history-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.45rem;gap:.45rem;max-height:220px;overflow:auto}.item-detail__history-item{display:grid;grid-gap:.2rem;gap:.2rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:10px;background:#fffdf8}.item-detail__history-main{display:flex;flex-wrap:wrap;gap:.45rem .75rem;align-items:baseline;font-size:.86rem}.item-detail__history-main strong{font-weight:650}.item-detail__history-meta{display:flex;flex-wrap:wrap;gap:.35rem .75rem;color:var(--muted);font-size:.78rem}.item-detail__history-delta{font-weight:650;color:var(--ink)}.item-detail__history-delta--up{color:#2f6b3a}.item-detail__history-delta--down{color:#a33b2b}.item-detail__footer{display:flex;justify-content:flex-end;padding-top:.35rem;border-top:1px solid var(--line);margin-top:.25rem}@media (max-width:560px){.item-detail__loc{grid-template-columns:minmax(0,1fr) auto}.item-detail__loc-actions{grid-column:1/-1;justify-content:flex-start}}.list-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.78rem;font-weight:600;color:var(--muted);padding:0 .15rem}.list-header__meta{gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.list-header__meta,.list-sort{display:inline-flex;align-items:center}.list-sort{gap:.35rem;font-weight:600}.list-sort__label{color:var(--muted)}.list-sort__select{border:1px solid var(--line);border-radius:8px;background:#fffdf8;padding:.28rem .45rem;font:inherit;font-size:.78rem;font-weight:500;color:var(--ink);cursor:pointer;max-width:11.5rem}.list-pager{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap;flex-shrink:0;padding:.15rem 0}.list-pager__size{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--muted)}.list-pager__size-label{font-weight:600}.list-pager__select{border:1px solid var(--line);border-radius:8px;background:#fffdf8;padding:.28rem .45rem;font:inherit;font-size:.78rem;color:var(--ink);cursor:pointer}.list-pager__nav{display:inline-flex;align-items:center;gap:.55rem;margin-left:auto}.list-pager__btn{min-width:4.5rem;padding:.35rem .7rem;font-size:.78rem}.list-pager__btn:disabled{opacity:.4;cursor:not-allowed}.list-pager__status{font-size:.78rem;font-weight:600;color:var(--muted);min-width:3.5rem;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.item-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));grid-gap:.55rem;gap:.55rem;align-content:start}.item-row{display:flex;flex-direction:column;gap:.35rem;min-width:0}.item-row__qty{display:flex;align-items:center;gap:.4rem}.item-row__qty-input{width:100%;border:1px solid var(--line);border-radius:8px;background:#fffdf8;padding:.4rem .55rem;font:inherit;font-size:.85rem}.item-row__unbind{width:100%;font-size:.78rem;padding:.4rem .55rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.item{width:100%;height:100%;text-align:left;border:1px solid transparent;background:#fffdf8;border-radius:12px;padding:.55rem;display:flex;flex-direction:column;gap:.45rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.item__thumb{width:100%;aspect-ratio:1;height:auto;border-radius:8px;object-fit:cover;background:#efe9df;border:1px solid var(--line)}.item__thumb--empty{display:block}.item__body{display:grid;grid-gap:.12rem;gap:.12rem;min-width:0}.item:hover{border-color:var(--line);transform:translateY(-1px)}.item--active{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:var(--accent-soft)}.item__name{font-weight:600;font-size:.9rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item__sku{color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item__loc{color:var(--ink);font-size:.72rem;opacity:.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-list__empty{grid-column:1/-1;color:var(--muted);font-size:.9rem;padding:1rem .25rem}.app--no-scene .item-list{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.7rem}.sidebar__hint{font-size:.72rem;color:var(--muted);padding-top:.5rem}.sidebar__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.sidebar__toolbar .btn{display:inline-flex;align-items:center;gap:.55rem;width:auto;padding:.55rem .85rem}.sidebar__toolbar .btn--ghost{border-color:var(--line);background:#fffdf8;color:var(--ink)}.sidebar__toolbar-count{color:var(--muted);font-size:.78rem;font-weight:500}.sidebar__toolbar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:#1f6b46;color:#fff;font-size:.72rem;font-weight:700;line-height:1}.sidebar__toolbar .btn--primary .sidebar__toolbar-count{color:color-mix(in srgb,#f7f3ea 78%,transparent)}.modal-root{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1.25rem}.modal-backdrop{position:absolute;inset:0;border:none;padding:0;margin:0;background:rgba(28,36,44,.42);cursor:pointer}.modal{position:relative;z-index:1;width:min(520px,100%);max-height:min(80vh,720px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 64px rgba(28,36,44,.18);overflow:hidden}.modal--wide{width:min(680px,100%)}.modal--plan{width:min(960px,100%);max-height:min(88vh,860px)}.modal--scan{width:min(420px,100%)}.scan-reader-wrap{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#111827;aspect-ratio:1;width:min(100%,360px);margin-inline:auto}.scan-reader,.scan-reader__video{position:absolute;inset:0;width:100%;height:100%}.scan-reader__video{display:block;object-fit:cover;background:#111827}.scan-reader__canvas{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.scan-reader__status{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:1rem;font-size:.9rem}.scan-reader__phase,.scan-reader__status{margin:0;text-align:center;color:#f7f3ea;pointer-events:none}.scan-reader__phase{position:absolute;left:.65rem;right:.65rem;bottom:.65rem;z-index:3;padding:.45rem .6rem;border-radius:8px;background:color-mix(in srgb,#111827 78%,transparent);font-size:.78rem}.scan-reader__phase--ok{background:color-mix(in srgb,#1f6f4a 85%,transparent)}.scan-manual{gap:.65rem}.scan-actions,.scan-manual{display:flex;flex-direction:column}.scan-actions{gap:.5rem}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.15rem 1.2rem .9rem;border-bottom:1px solid var(--line)}.modal__header-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.modal__title{margin:0;font-family:"IBM Plex Serif",serif;font-size:1.35rem;font-weight:600}.modal__subtitle{margin:.3rem 0 0;color:var(--muted);font-size:.88rem}.modal__close{border:none;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .2rem}.modal__close:hover{color:var(--ink)}.modal__body{gap:.85rem;padding:1rem 1.2rem 1.2rem;min-height:0;overflow:auto}.modal__body,.shelf-list{display:flex;flex-direction:column}.shelf-list{list-style:none;margin:0;padding:0;gap:.4rem}.shelf-list--modal{max-height:none}.shelf-row{display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.55rem .65rem;background:#fffdf8;border:1px solid transparent;border-radius:10px}.shelf-row--with-thumb{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;justify-content:normal}.shelf-row__thumb{width:2.6rem;height:2.6rem;border-radius:8px;object-fit:cover;background:#efe9df;border:1px solid var(--line)}.shelf-row__thumb--empty{display:block}.shelf-row__info{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.shelf-row__label{font-weight:600;font-size:.9rem}.shelf-row__meta{color:var(--muted);font-size:.72rem}.shelf-row--active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft)}.shelf-row__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem;flex-shrink:0;justify-content:flex-end}.shelf-plan{gap:1rem}.shelf-plan__split{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem;align-items:start}.shelf-plan__face{display:flex;flex-direction:column;gap:.55rem;min-width:0;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.shelf-plan__face-head h3{margin:0;font-size:.95rem;font-weight:650}.shelf-plan__levels{display:flex;flex-direction:column;gap:.45rem}.shelf-plan__level{display:grid;grid-template-columns:3.6rem minmax(0,1fr);grid-gap:.45rem;gap:.45rem;align-items:stretch}.shelf-plan__level-label{display:grid;place-items:center;font-size:.72rem;font-weight:600;color:var(--muted);background:color-mix(in srgb,var(--panel) 55%,#efe9df);border-radius:8px;padding:.25rem;text-align:center;line-height:1.2}.shelf-plan__row{display:flex;flex-wrap:wrap;gap:.35rem;min-height:3.2rem;padding:.3rem;border-radius:8px;border:1px dashed color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,#ebe6dc 55%,white)}.shelf-plan__empty{display:grid;place-items:center;flex:1 1 auto;min-width:3.5rem;color:var(--muted);font-size:.78rem}.shelf-plan__add{flex:0 0 2.4rem;min-height:3rem;align-self:stretch;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent-soft) 70%,white);color:var(--accent);font-size:1.25rem;font-weight:600;line-height:1;cursor:pointer}.shelf-plan__add:hover:not(:disabled){background:var(--accent-soft)}.shelf-plan__add:disabled{opacity:.45;cursor:not-allowed}.shelf-plan__cell{position:relative;flex:1 1 4.5rem;min-width:4.2rem;max-width:7.5rem;display:flex;flex-direction:column;border-radius:8px;border:1px solid var(--line);background:#e8e4db;color:var(--ink);overflow:hidden}.shelf-plan__cell:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.shelf-plan__cell--occupied{background:#9aa7b5;border-color:color-mix(in srgb,#5c6670 35%,var(--line));color:#1f2933}.shelf-plan__cell--selected{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 2px var(--accent-soft)}.shelf-plan__cell-main{display:flex;flex-direction:column;gap:.12rem;align-items:flex-start;width:100%;padding:.4rem 1.6rem .4rem .45rem;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.shelf-plan__cell-top{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.shelf-plan__cell-index{font-size:.68rem;font-weight:650;opacity:.8}.shelf-plan__cell-remove{position:absolute;top:.15rem;right:.1rem;border:none;background:transparent;color:inherit;opacity:.55;font-size:1rem;line-height:1;padding:.15rem .25rem;cursor:pointer;border-radius:4px;z-index:1}.shelf-plan__cell-remove:hover:not(:disabled){opacity:1;background:color-mix(in srgb,#b42318 18%,transparent);color:#b42318}.shelf-plan__cell-remove:disabled{opacity:.3;cursor:not-allowed}.shelf-plan__cell-label{font-size:.78rem;font-weight:600;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.shelf-plan__cell-qty{font-size:.68rem;font-weight:600;opacity:.85}.shelf-plan__detail{margin-top:.15rem}.shelf-plan__bound-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.shelf-plan__bound-item{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;grid-gap:.55rem;gap:.55rem;align-items:center;padding:.4rem .5rem;border-radius:8px;background:color-mix(in srgb,white 70%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.shelf-plan__bound-thumb{width:2.2rem;height:2.2rem;border-radius:6px;object-fit:cover;background:#efe9df;border:1px solid var(--line)}.shelf-plan__bound-thumb--empty{display:block}.shelf-plan__bound-body{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.shelf-plan__bound-body strong{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shelf-plan__bound-body span{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shelf-plan__bound-qty{font-size:.8rem;font-weight:650}@media (max-width:720px){.shelf-plan__split{grid-template-columns:1fr}}.shelf-form{display:flex;flex-direction:column;gap:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.shelf-form__title{margin:0;font-size:.88rem;font-weight:600}.item-photo-field{display:grid;grid-gap:.35rem;gap:.35rem;border-radius:12px;transition:background-color .15s ease,box-shadow .15s ease}.item-photo-field--dragging{background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 55%,transparent);padding:.55rem .65rem;margin:-.55rem -.65rem}.item-photo-field__row{display:grid;grid-template-columns:5.5rem minmax(0,1fr);grid-gap:.75rem;gap:.75rem;align-items:center}.item-photo-field__placeholder,.item-photo-field__preview{width:5.5rem;height:5.5rem;border-radius:10px;border:1px solid var(--line);background:#efe9df;object-fit:cover}.item-photo-field__placeholder{display:grid;place-items:center;color:var(--muted);font-size:.75rem;text-align:center;padding:.4rem}.item-photo-field__actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.item-photo-field__hint{margin:0;width:100%;color:var(--muted);font-size:.75rem}.shelf-form__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem}.shelf-form__grid--3{grid-template-columns:1.2fr 1fr 1fr}.level-columns{display:flex;flex-direction:column;gap:.45rem}.level-columns__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.45rem;gap:.45rem}.level-columns__item{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;color:var(--muted)}.level-columns__item-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.level-columns__delete{font-size:.72rem;padding:.2rem .45rem}.shelf-form__hint{margin:0;font-size:.78rem;color:var(--muted);line-height:1.45}.box-levels{display:flex;flex-direction:column;gap:.75rem}.box-levels__add{align-self:stretch;width:100%}.face-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:.35rem;gap:.35rem;padding:.25rem;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 72%,#efe9df)}.face-tabs__tab{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:8px;padding:.45rem .65rem;background:transparent;color:var(--muted);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}.face-tabs__tab:hover{color:var(--ink);background:color-mix(in srgb,white 55%,transparent)}.face-tabs__tab--active{color:var(--ink);background:color-mix(in srgb,white 88%,var(--panel));box-shadow:0 1px 2px rgba(28,36,44,.08)}.face-tabs__count{display:inline-grid;place-items:center;min-width:1.35rem;height:1.2rem;padding:0 .3rem;border-radius:999px;background:color-mix(in srgb,var(--line) 55%,white);color:var(--muted);font-size:.72rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.face-tabs__tab--active .face-tabs__count{background:var(--accent-soft);color:var(--accent)}.box-level__face{display:grid;grid-gap:.4rem;gap:.4rem;padding:.45rem .55rem;border-radius:8px;background:rgba(255,255,255,.45);min-width:0}.box-level{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem;border:1px solid var(--line);border-radius:10px;padding:.65rem .75rem;background:color-mix(in srgb,var(--panel) 88%,white)}.box-level--single{grid-template-columns:1fr}.box-level>.box-level__head{grid-column:1/-1;margin-bottom:0}@media (max-width:720px){.box-level{grid-template-columns:1fr}}.box-level__head{display:flex;align-items:center;gap:.55rem;margin-bottom:.45rem;font-size:.82rem;flex-wrap:wrap}.box-level__head>.btn--danger{margin-left:auto}.box-level__count{color:var(--muted);flex:1 1;min-width:0}.box-level__add-btn{flex-shrink:0;position:relative;z-index:1}.box-level__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.box-level__item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8rem;padding:.35rem .45rem;border-radius:8px;background:color-mix(in srgb,white 70%,var(--panel))}.box-level__item-actions{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end;flex-shrink:0}.box-level__item-actions .btn{font-size:.75rem;padding:.3rem .5rem}.search__input,select.search__input{-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (max-width:640px){.shelf-form__grid,.shelf-form__grid--3{grid-template-columns:1fr}}.shelf-form__error{margin:0;color:#b42318;font-size:.78rem;font-weight:500}.shelf-form__actions{display:flex;gap:.45rem}.btn{border:1px solid var(--line);background:#fffdf8;color:var(--ink);border-radius:8px;padding:.45rem .75rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn:hover{border-color:color-mix(in srgb,var(--ink) 20%,var(--line))}.btn--primary{background:var(--ink);border-color:var(--ink);color:#f7f3ea}.btn--primary:hover{background:#2a3540;border-color:#2a3540}.btn--success{background:#1f6b46;border-color:#1f6b46;color:#fff}.btn--success:hover{background:#185739;border-color:#185739}.btn--danger-fill{background:#b42318;border-color:#b42318;color:#fff}.btn--danger-fill:hover{background:#912018;border-color:#912018}.btn--danger{background:transparent;border-color:transparent;color:#b42318;padding-inline:.45rem}.btn--danger:hover{background:#fdecea;border-color:#f5c2c0}.btn--ghost{background:transparent}.btn--block{width:100%}.data-badge{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,white);box-shadow:var(--shadow);font-size:.75rem;font-weight:600;letter-spacing:.02em;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-badge--ok{color:#1f6b3a;border-color:color-mix(in srgb,#1f6b3a 28%,var(--line))}.data-badge--muted{color:var(--muted)}.data-badge--error{color:#9b2c2c;border-color:color-mix(in srgb,#9b2c2c 30%,var(--line))}.mobile-bar{display:none}.app--mobile{grid-template-columns:1fr}.app--mobile,.app--mobile.app--no-scene{grid-template-rows:auto 1fr}.app--mobile.app--no-scene .sidebar{max-width:none;margin-inline:0}.app--mobile .mobile-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.65rem;gap:.65rem;padding:calc(.55rem + env(safe-area-inset-top, 0px)) .75rem .55rem;background:color-mix(in srgb,var(--panel) 94%,white);border-bottom:1px solid var(--line);z-index:30}.mobile-bar__menu{border:1px solid var(--line);background:#fffdf8;border-radius:999px;padding:.45rem .8rem;font-size:.8rem;font-weight:600;cursor:pointer}.mobile-bar__menu--spacer{visibility:hidden;pointer-events:none}.mobile-bar__title{display:flex;flex-direction:column;min-width:0}.mobile-bar__eyebrow{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600}.mobile-bar__title strong{font-family:"IBM Plex Serif",serif;font-size:1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-bar__scan{border:1px solid var(--line);background:var(--ink);color:#f7f3ea;border-radius:999px;padding:.45rem .85rem;font-size:.8rem;font-weight:600;cursor:pointer}.mobile-bar__scan:hover{filter:brightness(1.08)}.sidebar__brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.sidebar__toolbar .sidebar__page-controls{margin-left:auto}.sidebar__page-controls{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;flex-shrink:0}.app--mobile .item-list{max-height:none}html.mobile-ui,html.mobile-ui body{overscroll-behavior:none;touch-action:manipulation}.app--mobile .modal{width:min(100%,100vw);max-height:min(92dvh,100%);margin:0;border-radius:16px 16px 0 0;align-self:end}.app--mobile .modal-root{place-items:end center;padding:0}.app--mobile .box-context-menu{max-width:calc(100vw - 1.5rem)}.stocktake{width:min(640px,100%);margin:0 auto;padding:1rem 1rem 2rem;display:grid;grid-gap:1rem;gap:1rem}.stocktake__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.stocktake__eyebrow{margin:0;color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.stocktake__title{margin:.15rem 0 0;font-family:"IBM Plex Serif",serif;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:600}.stocktake__subtitle{margin:.35rem 0 0;color:var(--muted);font-size:.92rem;max-width:36rem}.stocktake__header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.stocktake__card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:1rem;display:grid;grid-gap:.85rem;gap:.85rem}.stocktake__card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.stocktake__card-title{margin:0;font-size:1.05rem;font-weight:600}.stocktake__filters{display:flex;gap:.35rem}.stocktake__filter--active{border-color:var(--accent,#2a6f6a);color:var(--accent,#2a6f6a)}.stocktake__error{margin:0;color:#b42318;font-size:.9rem}.stocktake__empty{margin:.25rem 0;color:var(--muted);font-size:.92rem}.stocktake__list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.85rem;gap:.85rem}.stocktake__item{display:grid;grid-gap:.75rem;gap:.75rem;padding:.9rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 88%,white)}.stocktake__item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.stocktake__item-main{display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:.75rem;gap:.75rem;text-align:left;border:none;background:transparent;padding:0;cursor:pointer;color:inherit;min-width:0;flex:1 1}.stocktake__thumb{width:64px;height:64px;object-fit:cover;border-radius:10px;background:#e8eceb}.stocktake__thumb--empty{display:block}.stocktake__item-body{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0;align-content:start}.stocktake__item-name{font-weight:600;font-size:1.05rem;line-height:1.3}.stocktake__item-loc,.stocktake__item-meta,.stocktake__item-sku{color:var(--muted);font-size:.86rem;overflow-wrap:anywhere;margin:0}.stocktake__badge{flex-shrink:0;font-size:.8rem;font-weight:600;padding:.35rem .65rem;border-radius:999px;border:1px solid var(--line);line-height:1.2;text-align:center}.stocktake__status{display:grid;grid-gap:.3rem;gap:.3rem;justify-items:end;flex-shrink:0;max-width:9.5rem}.stocktake__last{color:var(--muted);font-size:.75rem;line-height:1.25;text-align:right}.stocktake__badge--pending{color:#8a5a00;background:#fff6e5;border-color:#f0d6a0}.stocktake__badge--done{color:#1f6b46;background:#e9f7ef;border-color:#b7e0c6}.stocktake__badge--skipped{color:#b42318;background:#fdecea;border-color:#f5c2c0}.stocktake__item-actions{display:grid;grid-gap:.65rem;gap:.65rem}.stocktake__qty-row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.65rem;gap:.65rem;align-items:end}.stocktake__qty-chip{display:grid;grid-gap:.25rem;gap:.25rem;min-width:4.5rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:#fff}.stocktake__qty-label{color:var(--muted);font-size:.78rem;font-weight:600}.stocktake__qty-value{font-size:1.15rem;font-weight:700;line-height:1.1}.stocktake__count{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.stocktake__count-input{width:100%;min-height:2.75rem;padding:.55rem .75rem;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:1.15rem;font-weight:700;text-align:center;background:#fff}.stocktake__buttons{display:flex;gap:.5rem}.stocktake__complete{flex:1 1;min-height:2.85rem;font-size:1rem}.stocktake__skip{min-width:5rem;min-height:2.85rem;font-size:1rem}@media (max-width:520px){.stocktake{padding:.85rem .75rem 1.75rem}.stocktake__qty-row{grid-template-columns:1fr}.stocktake__qty-chip{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.stocktake__complete,.stocktake__count-input,.stocktake__skip{min-height:3rem;font-size:1.1rem}}.replenish{width:min(720px,100%);margin:0 auto;padding:1rem 1rem 2rem;display:grid;grid-gap:1rem;gap:1rem}.replenish__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.replenish__eyebrow{margin:0;color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.replenish__title{margin:.15rem 0 0;font-family:"IBM Plex Serif",serif;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:600}.replenish__subtitle{margin:.35rem 0 0;color:var(--muted);font-size:.92rem;max-width:36rem}.replenish__header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.replenish__manual-tag{padding:.05rem .35rem;border-radius:999px;border:1px solid var(--line);font-weight:500;color:var(--muted)}.replenish__manual-tag,.replenish__status{display:inline-block;margin-left:.4rem;font-size:.7rem;vertical-align:middle}.replenish__status{padding:.05rem .45rem;border-radius:999px;font-weight:600}.replenish__status--done{background:#e3f1e8;color:#1f6b46}.replenish__status--skipped{background:#fde8e6;color:#b42318}.replenish__item--closed{opacity:.82}.replenish__closed-meta{margin:0;color:var(--muted);font-size:.85rem}.replenish__manual-tag--urgent{border-color:#b42318;color:#b42318}.replenish__tabs{display:flex;gap:.25rem;flex-wrap:wrap;border-bottom:1px solid var(--line)}.replenish__tab{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .9rem;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--muted);font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}.replenish__tab:hover{color:var(--ink)}.replenish__tab--active{color:var(--accent,#2a6f6a);border-bottom-color:var(--accent,#2a6f6a)}.replenish__tab-badge{min-width:1.25rem;padding:0 .35rem;border-radius:999px;background:#b42318;color:#fff;font-size:.7rem;line-height:1.25rem;text-align:center}.replenish-request__urgency{margin:0;padding:0;border:none;display:grid;grid-gap:.4rem;gap:.4rem}.replenish-request__urgency-options{display:flex;gap:.5rem;flex-wrap:wrap}.replenish-request__urgency-option{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border:1px solid var(--line);border-radius:10px;background:#fffdf8;cursor:pointer;font-size:.9rem}.replenish-request__urgency-option--active{border-color:var(--accent,#2a6f6a);box-shadow:0 0 0 3px var(--accent-soft)}.modal--replenish-request{width:min(420px,100%)}.modal--confirm{width:min(380px,100%)}.confirm-dialog__message{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:1rem;color:var(--ink);font-size:.92rem;line-height:1.5}.confirm-dialog__message p{margin:0}.item-detail__replenish-row{display:flex;justify-content:flex-end}.replenish__card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:1rem;display:grid;grid-gap:.85rem;gap:.85rem}.replenish__card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.replenish__card-title{margin:0;font-size:1.05rem;font-weight:600}.replenish__filters{display:flex;gap:.35rem}.replenish__filter--active{border-color:var(--accent,#2a6f6a);color:var(--accent,#2a6f6a)}.replenish__error{margin:0;color:#b42318;font-size:.9rem}.replenish__empty{margin:.25rem 0;color:var(--muted);font-size:.92rem}.replenish__list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.85rem;gap:.85rem}.replenish__item{display:grid;grid-gap:.75rem;gap:.75rem;padding:.9rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 88%,white)}.replenish__item-main{display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:.75rem;gap:.75rem;text-align:left;border:none;background:transparent;padding:0;cursor:pointer;color:inherit}.replenish__thumb{width:64px;height:64px;object-fit:cover;border-radius:10px;background:#e8eceb}.replenish__thumb--empty{display:block}.replenish__item-body{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0;align-content:start}.replenish__item-name{font-weight:600;font-size:1.05rem;line-height:1.3}.replenish__item-loc,.replenish__item-sku{color:var(--muted);font-size:.86rem;overflow-wrap:anywhere}.replenish__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.replenish__stat{display:grid;grid-gap:.2rem;gap:.2rem;padding:.55rem .6rem;border:1px solid var(--line);border-radius:10px;background:#fff}.replenish__stat--need{border-color:#f0d6a0;background:#fff6e5}.replenish__stat-label{color:var(--muted);font-size:.72rem;font-weight:600}.replenish__stat-value{font-size:1.1rem;font-weight:700;line-height:1.1}.replenish__actions{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.65rem;gap:.65rem;align-items:end}.replenish__qty{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.replenish__qty-label{color:var(--muted);font-size:.78rem;font-weight:600}.replenish__qty-input{width:100%;min-height:2.75rem;padding:.55rem .75rem;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:1.15rem;font-weight:700;text-align:center;background:#fff}.replenish__note{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .65rem;border:1px dashed var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 85%,white)}.replenish__note-text{flex:1 1;min-width:0;margin:0;font-size:.88rem;line-height:1.5;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.replenish__note-text--empty{color:var(--muted)}.replenish__note-label{margin-right:.45rem;font-size:.75rem;font-weight:600;color:var(--muted)}.replenish__note-btn{flex:0 0 auto;padding:.25rem .6rem;font-size:.82rem}.replenish-note__input{resize:vertical;min-height:4.5rem;font:inherit;line-height:1.5}.replenish__buttons{display:flex;gap:.5rem}.replenish__done,.replenish__skip{min-height:2.75rem;min-width:6.5rem;font-size:1rem}.replenish__skip{min-width:4.5rem}@media (max-width:560px){.replenish{padding:.85rem .75rem 1.75rem}.replenish__stats{grid-template-columns:1fr 1fr}.replenish__actions{grid-template-columns:1fr}.replenish__done,.replenish__qty-input,.replenish__skip{min-height:3rem;font-size:1.1rem}.replenish__done,.replenish__qty-input{width:100%}.replenish__done{flex:1 1}}.ship-trace{min-height:100dvh;padding:1.25rem 1.5rem 2rem;display:grid;grid-gap:1rem;gap:1rem;align-content:start;background:radial-gradient(ellipse 80% 50% at 10% 0,#f3e7d4 0,transparent 55%),linear-gradient(180deg,#f7f3ea,#efe9df)}.ship-trace__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.ship-trace__eyebrow{margin:0 0 .25rem;color:var(--accent);font-size:.78rem;font-weight:600;letter-spacing:.04em}.ship-trace__title{margin:0;font-size:1.65rem;line-height:1.2}.ship-trace__subtitle{margin:.35rem 0 0;color:var(--muted);max-width:40rem;line-height:1.45}.ship-trace__header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.ship-trace__card{background:color-mix(in srgb,var(--panel) 94%,white);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;box-shadow:var(--shadow);display:grid;grid-gap:.85rem;gap:.85rem}.ship-trace__card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap}.ship-trace__card-title{margin:0;font-size:1.05rem}.ship-trace__steps{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.ship-trace__step{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.9rem}.ship-trace__step+.ship-trace__step:before{content:"";width:2rem;height:1px;background:var(--line);margin-right:.1rem}.ship-trace__step-no{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:999px;border:1px solid var(--line);background:#fffdf8;font-size:.8rem;font-weight:700}.ship-trace__step--active{color:var(--ink);font-weight:600}.ship-trace__step--active .ship-trace__step-no{background:var(--ink);border-color:var(--ink);color:#f7f3ea}.ship-trace__step--done .ship-trace__step-no{background:#1f6b46;border-color:#1f6b46;color:#fff}.ship-trace__summary{display:grid;grid-gap:.4rem;gap:.4rem}.ship-trace__form{display:grid;grid-gap:.85rem;gap:.85rem}.ship-trace__form-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:.65rem;gap:.65rem}.ship-trace__form-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.ship-trace__form-actions .btn{min-width:8rem;min-height:2.85rem;padding:.65rem 1.4rem;font-size:1rem}.ship-trace__search{display:flex;gap:.45rem;align-items:center}.ship-trace__search .search__input{min-width:12rem}.ship-trace__dates{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.55rem .75rem}.ship-trace__date{display:grid;grid-gap:.25rem;gap:.25rem}.ship-trace__date .search__input{min-width:10rem}.ship-trace__date-quick{display:flex;flex-wrap:wrap;gap:.4rem}.ship-trace__total{margin-left:auto;color:var(--muted);font-size:.86rem}.ship-trace__error{margin:0;color:#9b2c2c;font-size:.9rem}.ship-trace__empty{margin:0;color:var(--muted)}.ship-trace__list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.ship-trace__item{display:flex;justify-content:space-between;gap:.85rem;align-items:flex-start;padding:.85rem;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.ship-trace__item-main{min-width:0;flex:1 1;display:grid;grid-gap:.4rem;gap:.4rem}.ship-trace__item-top{display:flex;flex-wrap:wrap;gap:.55rem .85rem;align-items:baseline}.ship-trace__tracking{font-size:1.05rem}.ship-trace__no-photo,.ship-trace__note,.ship-trace__when{margin:0;color:var(--muted);font-size:.86rem}.ship-trace__note{color:var(--ink);white-space:pre-wrap;word-break:break-word}.ship-trace__note-label{display:inline-block;margin-right:.4rem;padding:0 .4rem;border-radius:6px;background:#efe9df;color:var(--muted);font-size:.75rem;font-weight:600}.ship-trace__item-actions{display:flex;gap:.45rem;flex-shrink:0}.ship-trace__thumbs{display:flex;flex-wrap:wrap;gap:.45rem}.ship-trace__thumb-btn{padding:0;border:none;background:transparent;cursor:pointer;border-radius:8px}.ship-trace__thumb{width:3.5rem;height:3.5rem;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block;background:#efe9df}.ship-trace__preview{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1.25rem;background:rgba(20,24,28,.72)}.ship-trace__preview-img{max-width:min(96vw,56rem);max-height:88vh;object-fit:contain;border-radius:10px;background:#111}.zoom-preview{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:rgba(20,24,28,.82);overflow:hidden;touch-action:none}.zoom-preview__stage{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden}.zoom-preview__img{max-width:min(96vw,56rem);max-height:88vh;object-fit:contain;border-radius:10px;background:#111;transform-origin:center center;will-change:transform;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;transition:transform .05s linear}.zoom-preview__img--zoomed{cursor:-webkit-grab;cursor:grab}.zoom-preview__img--dragging{cursor:-webkit-grabbing;cursor:grabbing;transition:none}.zoom-preview__close{position:absolute;top:.85rem;right:.85rem;z-index:2;padding:.4rem .8rem;border:0;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:.85rem;cursor:pointer}.zoom-preview__close:hover{background:rgba(255,255,255,.24)}.zoom-preview__hint{position:absolute;left:50%;bottom:1rem;z-index:2;margin:0;padding:.35rem .75rem;border-radius:999px;background:rgba(0,0,0,.45);color:rgba(255,255,255,.88);font-size:.78rem;transform:translateX(-50%);pointer-events:none;white-space:nowrap}.multi-photo{display:grid;grid-gap:.55rem;gap:.55rem;border-radius:12px;transition:background-color .15s ease,box-shadow .15s ease}.multi-photo--dragging{background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 55%,transparent);padding:.55rem .65rem;margin:-.55rem -.65rem}.multi-photo--disabled{opacity:.7}.multi-photo__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.multi-photo__action{min-width:9rem;min-height:3rem;padding:.7rem 1.5rem;font-size:1.05rem}.multi-photo__dropzone-text{margin:0}.multi-photo__grid{width:100%;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));grid-gap:.55rem;gap:.55rem}.multi-photo__tile{position:relative;aspect-ratio:1}.multi-photo__img{width:100%;height:100%;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#efe9df;display:block}.multi-photo__remove{position:absolute;top:.2rem;right:.2rem;width:1.5rem;height:1.5rem;border:none;border-radius:999px;background:rgba(40,28,20,.72);color:#fff;font-size:1rem;line-height:1;cursor:pointer}.multi-photo__dropzone{min-height:9rem;display:grid;place-items:center;align-content:center;grid-gap:.85rem;gap:.85rem;border:1.5px dashed var(--line);border-radius:12px;color:var(--muted);font-size:.88rem;text-align:center;padding:.85rem;background:#fffdf8}.multi-photo__hint{margin:0;color:var(--muted);font-size:.75rem}.camera-capture{width:min(96vw,44rem)}.camera-capture__stage{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#111}.camera-capture__video{width:100%;height:100%;object-fit:contain;display:block}.camera-capture__status{position:absolute;inset:0;margin:0;display:grid;place-items:center;padding:1rem;color:#f7f3ea;text-align:center;font-size:.92rem}.camera-capture__hint{margin:.6rem 0 0;color:var(--muted);font-size:.82rem}.multi-photo__error{margin:0;color:#9b2c2c;font-size:.82rem}@media (max-width:720px){.ship-trace__form-grid{grid-template-columns:1fr}.ship-trace__item{flex-direction:column}.ship-trace__item-actions{width:100%}.ship-trace__item-actions .btn{flex:1 1}}@media (max-width:560px){.ship-trace{padding:.85rem .75rem 1.75rem}}.ship1688__head-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pick-qr{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}.pick-qr__hint,.pick-qr__note{margin:0;color:var(--muted);font-size:.85rem;text-align:center}.pick-qr__code{display:grid;place-items:center;align-self:center;width:256px;height:256px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff}.pick-qr__code img{display:block;width:240px;height:240px}.pick-qr__placeholder{color:var(--muted);font-size:.85rem}.pick-qr__url{margin:0;padding:.5rem .65rem;border-radius:8px;background:rgba(28,36,44,.05);font-size:.75rem;word-break:break-all;color:var(--muted)}.pick{max-width:640px;margin:0 auto;padding:.85rem .75rem 2rem}.pick__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.pick__eyebrow{margin:0;color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.08em}.pick__title{margin:.1rem 0 0;font-size:1.25rem}.pick__home{flex-shrink:0}.pick__status{padding:2rem 0;color:var(--muted);text-align:center}.pick__progress{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.65rem;gap:.65rem;margin:0 -.75rem .75rem;padding:.6rem .75rem;border-bottom:1px solid var(--line);background:var(--bg);font-size:.9rem}.pick__progress-text strong{color:var(--accent);font-size:1.1rem}.pick__progress-bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.pick__progress-bar span{display:block;height:100%;background:#2f9e44;transition:width .25s ease}.pick__toggle{display:inline-flex;align-items:center;gap:.3rem;color:var(--muted);font-size:.8rem;white-space:nowrap}.pick__list{display:flex;flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none}.pick__item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-gap:.65rem;gap:.65rem;align-items:center;padding:.65rem;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.pick__item--done{opacity:.6;background:rgba(47,158,68,.06)}.pick__thumb-btn{padding:0;border:0;background:none;cursor:zoom-in}.pick__thumb{display:block;width:64px;height:64px;border-radius:8px;object-fit:cover;background:#fff}.pick__thumb--empty{border:1px dashed var(--line)}.pick__main{min-width:0}.pick__main p{margin:0}.pick__name{font-weight:600;font-size:.95rem;line-height:1.3;word-break:break-all}.pick__sku{margin-top:.15rem!important;color:var(--muted);font-size:.78rem;word-break:break-all}.pick__loc{margin-top:.3rem!important;color:var(--ink);font-size:.85rem;font-weight:500}.pick__loc span{color:var(--muted);font-weight:400}.pick__box-select{width:100%;margin-top:.3rem;padding:.35rem .4rem;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.85rem}.pick__warn{margin-top:.3rem!important;color:#c92a2a;font-size:.8rem}.pick__side{display:flex;flex-direction:column;align-items:center;gap:.4rem}.pick__qty{font-size:1.3rem;font-weight:700;color:var(--accent)}.pick__ship-btn{font-size:.95rem}.pick__done-btn,.pick__ship-btn{min-width:4.5rem;min-height:2.6rem}.pick__done-btn{padding:0 .6rem;border:1px solid rgba(47,158,68,.5);border-radius:10px;background:rgba(47,158,68,.1);color:#2f9e44;font-size:.9rem;font-weight:600;cursor:pointer}