:root{--paper: #f2f6f5;--surface: #ffffff;--ink: #15302f;--ink-soft: #5b716f;--line: #d7e2e0;--brand: #1f8a70;--brand-ink: #ffffff;--low: #e9a400;--low-soft: #fff3cf;--out: #d64545;--out-soft: #fde4e4;--ok-soft: #dcf2ea;--focus: #1f6fd1;--radius-row: 14px;--radius-pill: 999px;--gutter: 16px;font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,Hiragino Sans,system-ui,sans-serif;color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%}@media (prefers-color-scheme: dark){:root{--paper: #0f1f22;--surface: #172b2e;--ink: #e4efed;--ink-soft: #9db3b0;--line: #2a4245;--brand: #38b593;--brand-ink: #062019;--low: #f2c14e;--low-soft: #3a3012;--out: #f07171;--out-soft: #3b1d1d;--ok-soft: #173a31;--focus: #7fb4ff}}*{box-sizing:border-box}html,body{margin:0;background:var(--paper)}body{font-size:16px;line-height:1.6;font-weight:500}button,input,select,textarea{font:inherit;color:inherit}img{display:block;max-width:100%}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.boot{min-height:100dvh;display:grid;place-items:center}.boot-mark{font-size:28px;font-weight:900;letter-spacing:.02em}.boot-mark span{color:var(--brand)}.app{min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.top{position:sticky;top:0;z-index:5;background:var(--paper);padding:12px var(--gutter) 8px;border-bottom:1px solid var(--line)}.top-row{display:flex;gap:10px;align-items:center}.wordmark{font-weight:900;font-size:20px;white-space:nowrap}.wordmark span{color:var(--brand)}.search{flex:1;min-width:0;height:44px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);padding:0 16px}.tabs{display:flex;gap:6px;overflow-x:auto;margin-top:10px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:none;height:36px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--line);background:transparent;color:var(--ink-soft)}.tab[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.notice{margin:12px var(--gutter) 0;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px dashed var(--line);color:var(--ink-soft);font-size:15px;display:flex;gap:8px;justify-content:space-between;align-items:center}.notice button{border:0;background:none;color:var(--brand);font-weight:700;min-height:44px}.rows{list-style:none;margin:12px 0 0;padding:0 var(--gutter);display:grid;gap:8px}.row{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;background:var(--surface);border-radius:var(--radius-row);padding:8px 10px 8px 8px;border:1px solid var(--line)}.row-main{min-width:0;border:0;background:none;text-align:left;padding:0;min-height:56px}.thumb{width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--paper);display:grid;place-items:center;color:var(--ink-soft);font-size:12px}.row-name{font-weight:700;overflow-wrap:anywhere;line-height:1.35}.row-meta{font-size:13px;color:var(--ink-soft);margin-top:2px}.owner{color:var(--brand);font-weight:700}.badge-req{display:inline-block;font-size:12px;padding:0 8px;border-radius:var(--radius-pill);background:var(--ok-soft);color:var(--brand);margin-left:6px}.gauge{min-width:64px;min-height:52px;border:0;border-radius:12px;display:grid;justify-items:center;gap:4px;padding:6px 8px;cursor:pointer;background:var(--ok-soft);color:var(--brand)}.gauge-bars{display:flex;gap:3px;align-items:flex-end;height:22px}.gauge-bars i{width:9px;border-radius:3px;background:currentColor;opacity:.22;transition:opacity .2s,height .2s}.gauge-bars i:nth-child(1){height:10px}.gauge-bars i:nth-child(2){height:16px}.gauge-bars i:nth-child(3){height:22px}.gauge[data-stock=ok] .gauge-bars i{opacity:1}.gauge[data-stock=low]{background:var(--low-soft);color:var(--low)}.gauge[data-stock=low] .gauge-bars i:nth-child(1){opacity:1}.gauge[data-stock=out]{background:var(--out-soft);color:var(--out)}.gauge-label{font-size:12px;font-weight:700;line-height:1}.empty{padding:48px var(--gutter);text-align:center;color:var(--ink-soft)}.empty strong{display:block;color:var(--ink);font-size:18px;margin-bottom:8px}.bar{position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--surface);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.bar button{min-height:56px;border:0;background:none;color:var(--ink-soft);display:grid;justify-items:center;align-content:center;gap:2px;font-size:12px;border-radius:12px}.bar button[aria-current=page]{color:var(--ink);font-weight:700}.bar .bar-icon{font-size:20px;line-height:1;font-weight:900}.bar .bar-add{background:var(--brand);color:var(--brand-ink);font-weight:700;margin:2px 4px}.page{padding:12px var(--gutter) 24px;display:grid;gap:16px;max-width:640px;margin:0 auto}.page h1{font-size:22px;margin:4px 0 0;font-weight:900}.page h2{font-size:17px;margin:0 0 8px;font-weight:700}.section{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:12px}.field{display:grid;gap:6px}.field>span{font-size:14px;color:var(--ink-soft)}.input,.select,.textarea{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:10px 12px;font-size:16px}.textarea{min-height:80px;resize:vertical}.hint{font-size:13px;color:var(--ink-soft);margin:0}.error{color:var(--out);font-size:14px;margin:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:40px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--paper);color:var(--ink)}.chip[aria-pressed=true]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:700}.photo{width:100%;aspect-ratio:4 / 3;border-radius:14px;border:2px dashed var(--line);background:var(--paper);display:grid;place-items:center;color:var(--ink-soft);overflow:hidden;position:relative}.photo img{width:100%;height:100%;object-fit:cover}.photo input{position:absolute;inset:0;opacity:0;cursor:pointer}.btn{min-height:48px;padding:0 18px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:700}.btn-primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.btn-danger{color:var(--out);border-color:var(--out-soft)}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.btn-row .btn{flex:1 1 140px}.sticky-actions{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));z-index:4;background:linear-gradient(transparent,var(--paper) 30%);padding-top:16px}.scope{display:grid;grid-template-columns:1fr 1fr;gap:8px}.scope label{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;gap:8px;align-items:flex-start;background:var(--paper);font-size:15px}.scope label:has(input:checked){border-color:var(--brand);background:var(--ok-soft)}.scope label:has(input:disabled){opacity:.5}.sheet-backdrop{position:fixed;inset:0;background:#00000059;z-index:20;display:flex;align-items:flex-end}.sheet{width:100%;background:var(--surface);border-radius:20px 20px 0 0;padding:18px var(--gutter) calc(18px + env(safe-area-inset-bottom));display:grid;gap:10px;animation:rise .18s ease-out}.sheet p{margin:0 0 4px}@keyframes rise{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.shop-store{font-weight:900;font-size:18px;margin:0}.shop-item{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;min-height:52px;border-top:1px solid var(--line);padding-top:6px}.shop-item:first-of-type{border-top:0}.check{width:44px;height:44px;border-radius:12px;border:2px solid var(--line);background:var(--paper)}.check[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.qty{color:var(--ink-soft);font-size:14px}.scanner{position:fixed;inset:0;background:#000;z-index:30;display:grid;grid-template-rows:1fr auto}.scanner video{width:100%;height:100%;object-fit:cover}.scanner-frame{position:absolute;left:10%;right:10%;top:38%;height:18%;border:3px solid #fff;border-radius:12px;pointer-events:none}.scanner-bar{background:var(--surface);padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));display:grid;gap:8px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(88px + env(safe-area-inset-bottom));background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:12px;z-index:40;font-size:15px;max-width:calc(100% - 32px)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
