:root{--ground:#F6F3EC;--surface:#FFFFFF;--surface-2:#EFEBE1;--line:#DDD7C8;--ink:#22261D;--muted:#6C7161;--accent:#C94E1B;--accent-ink:#FFFFFF;--accent-soft:#F7E3D7;--stock:#4A6B4F;--hold:#A87A22;--sold:#838875;--shadow:0 1px 2px rgba(34,38,29,.06),0 8px 24px rgba(34,38,29,.07);--radius:14px;--logo-bg:transparent;--font-ja:system-ui,-apple-system,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root{--ground:#15170F;--surface:#1E211A;--surface-2:#272B21;--line:#363A2B;--ink:#EAE7DA;--muted:#99A088;--accent:#FF7A3C;--accent-ink:#1A1207;--accent-soft:#3A2416;--stock:#84A883;--hold:#D7AC4E;--sold:#7A7F6C;--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);--logo-bg:#F2EDE4}}:root[data-theme=dark]{--ground:#15170F;--surface:#1E211A;--surface-2:#272B21;--line:#363A2B;--ink:#EAE7DA;--muted:#99A088;--accent:#FF7A3C;--accent-ink:#1A1207;--accent-soft:#3A2416;--stock:#84A883;--hold:#D7AC4E;--sold:#7A7F6C;--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);--logo-bg:#F2EDE4}:root[data-theme=light]{--ground:#F6F3EC;--surface:#FFFFFF;--surface-2:#EFEBE1;--line:#DDD7C8;--ink:#22261D;--muted:#6C7161;--accent:#C94E1B;--accent-ink:#FFFFFF;--accent-soft:#F7E3D7;--stock:#4A6B4F;--hold:#A87A22;--sold:#838875;--shadow:0 1px 2px rgba(34,38,29,.06),0 8px 24px rgba(34,38,29,.07);--logo-bg:transparent}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-ja);line-height:1.6;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{max-width:1080px;margin:0 auto;padding:0 16px 128px}.top{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--ground) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.top-in{max-width:1080px;margin:0 auto;padding:12px 16px;gap:12px}.brand,.top-in{display:flex;align-items:center}.brand{gap:10px;min-width:0}.brand-logo{width:34px;height:34px;object-fit:contain;flex:none;background:var(--logo-bg);border-radius:50%}.brand-text{display:flex;flex-direction:column;gap:1px;min-width:0}.eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.brand h1{margin:0;font-size:17px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.top-actions{margin-left:auto;display:flex;gap:8px}.icon-btn{background:var(--surface);border:1px solid var(--line);border-radius:10px;width:38px;height:38px;display:grid;place-items:center;cursor:pointer;color:var(--ink)}.icon-btn:hover{background:var(--surface-2)}.icon-btn svg{width:18px;height:18px}.summary{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:16px 0}@media(min-width:620px){.summary{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;gap:2px}.stat-label{font-size:11px;color:var(--muted);letter-spacing:.04em}.stat-value{font-size:21px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1.25}.stat-value .u{font-size:12px;font-weight:500;color:var(--muted);margin-left:2px}.stat-sub{font-size:11px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:0 12px}.search svg{width:16px;height:16px;color:var(--muted);flex:none}.search input{border:0;background:transparent;padding:10px 0;width:100%}.search input:focus{outline:none}.filters{display:flex;flex-wrap:wrap}.chip,.filters{gap:6px;align-items:center}.chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;display:inline-flex}.chip .n{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.chip[aria-pressed=true]{background:var(--ink);color:var(--ground);border-color:var(--ink)}.chip[aria-pressed=true] .n{color:var(--ground);opacity:.7}.sort{margin-left:auto;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:13px;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}@media(min-width:560px){.grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:860px){.grid{grid-template-columns:repeat(4,1fr)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;text-align:left;padding:0;box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease}.card:hover{transform:translateY(-2px);border-color:var(--muted)}.card .stripe{height:3px;background:var(--stock)}.card[data-status="取り置き"] .stripe{background:var(--hold)}.card[data-status="販売済"] .stripe{background:var(--sold)}.thumb{aspect-ratio:1/1;background:var(--surface-2);display:grid;place-items:center;overflow:hidden;position:relative}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .noimg{font-size:11px;color:var(--muted)}.card[data-status="販売済"] .thumb img{filter:grayscale(.55) opacity(.75)}.card-body{padding:9px 11px 12px;display:flex;flex-direction:column;gap:3px}.sku{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--muted)}.cname{font-size:13.5px;font-weight:600;line-height:1.35}.cmeta{display:flex;align-items:baseline;gap:8px;margin-top:2px}.price{font-size:14px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{font-size:10.5px;padding:1px 7px;border-radius:999px;border:1px solid;color:var(--stock);margin-left:auto}.card[data-status="取り置き"] .badge{color:var(--hold)}.card[data-status="販売済"] .badge{color:var(--sold)}.empty{border:1px dashed var(--line);border-radius:var(--radius);padding:44px 20px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:6px;align-items:center}.empty strong{color:var(--ink);font-size:15px}.empty[hidden]{display:none}.fab{position:fixed;right:max(16px,calc(50vw - 524px));bottom:20px;z-index:40;background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:14px 22px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.22);display:flex;align-items:center;gap:8px}.fab svg{width:18px;height:18px}.scrim{position:fixed;inset:0;z-index:50;background:rgba(20,22,16,.55);display:none;align-items:flex-end;justify-content:center}.scrim.open{display:flex}@media(min-width:640px){.scrim{align-items:center}}.sheet{background:var(--ground);width:100%;max-width:560px;max-height:92vh;border-radius:18px 18px 0 0;overflow:auto;animation:rise .22s ease}@media(min-width:640px){.sheet{border-radius:18px;max-height:88vh}}@keyframes rise{0%{transform:translateY(14px);opacity:.6}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.sheet{animation:none}.card{transition:none}}.sheet-head{position:-webkit-sticky;position:sticky;top:0;background:var(--ground);z-index:2;padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.sheet-head h2{margin:0;font-size:16px;font-weight:700}.sheet-body{padding:16px 18px 24px;gap:14px}.field,.sheet-body{display:flex;flex-direction:column}.field{gap:5px}.field label{font-size:12px;color:var(--muted);letter-spacing:.03em}.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}.field textarea{min-height:64px;resize:vertical}.row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.hint{font-size:11px;color:var(--muted)}.photo-pick{border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface);padding:0;overflow:hidden;display:grid;place-items:center;aspect-ratio:4/3;cursor:pointer;width:100%;color:var(--muted);grid-gap:6px;gap:6px;position:relative}.photo-pick img{width:100%;height:100%;object-fit:cover}.photo-pick .ph{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px}.photo-pick svg{width:26px;height:26px}.photo-actions{display:flex;gap:8px}.seg{display:flex;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{flex:1 1;background:var(--surface);border:0;padding:10px 4px;font-size:13.5px;cursor:pointer;border-right:1px solid var(--line)}.seg button:last-child{border-right:0}.seg button[aria-pressed=true]{background:var(--ink);color:var(--ground);font-weight:700}.btn{border-radius:10px;padding:12px 16px;font-size:14.5px;font-weight:600;cursor:pointer;border:1px solid var(--line);background:var(--surface)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.ghost{background:transparent}.btn.danger{color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.sheet-foot{display:flex;gap:10px;padding-top:4px}.sheet-foot .btn{flex:1 1}.detail-hero{border-radius:var(--radius);overflow:hidden;background:var(--surface-2);aspect-ratio:1/1;display:grid;place-items:center}.detail-hero img{width:100%;height:100%;object-fit:cover}.kv{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 16px;gap:6px 16px;font-size:14px}.kv dt{color:var(--muted);font-size:12.5px}.kv dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.menu-list{gap:8px}.menu-item,.menu-list{display:flex;flex-direction:column}.menu-item{text-align:left;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer}.menu-item strong{font-size:14px;font-weight:600}.menu-item span{font-size:11.5px;color:var(--muted)}.notice{background:var(--accent-soft);border:1px solid var(--accent);color:var(--ink);border-radius:12px;padding:10px 14px;font-size:12.5px;margin:14px 0 0}.notice[hidden]{display:none}.toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);background:var(--ink);color:var(--ground);padding:10px 18px;border-radius:999px;font-size:13px;z-index:80;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}.csvbox{width:100%;min-height:180px;font-family:var(--font-mono);font-size:11px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px}