:root{--green:#2f7d5b;--bg:#f4f8f5;--card:#fff;--ink:#1f2a24;--sub:#526158;--line:#dce7df;--good:#1f7a4d;--warn:#805000;--ng:#b3261e}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-size:1rem;line-height:1.6}.page{max-width:560px;padding:calc(env(safe-area-inset-top) + 24px) calc(env(safe-area-inset-right) + 16px) calc(env(safe-area-inset-bottom) + 9rem) calc(env(safe-area-inset-left) + 16px);margin:0 auto}.head h1{color:var(--green);align-items:center;gap:12px;margin:0;font-size:1.625rem;line-height:1.4;display:flex}.brand-mark{flex:none;width:1.4em;height:1.4em}.sub{color:var(--sub);margin:8px 0 0;font-size:.875rem}.card,.badge{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:16px;margin-bottom:16px;padding:16px}.card{background:var(--card);box-shadow:0 2px 8px #1f2a240a}.card h2{color:var(--green);margin:0 0 12px;font-size:1rem;font-weight:700}.badge.good{color:var(--good);background:#eaf5ed;border-color:#bfdcc9}.badge.warn{color:var(--warn);background:#fff6e5;border-color:#e4cfaa}.badge-title{font-size:1rem;font-weight:700}.badge-body{color:var(--ink);margin-top:8px;font-size:.875rem}.row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;padding:12px 0;font-size:.875rem;display:flex}.card h2+.row{border-top:none}.label{min-width:0;color:var(--sub)}.value{text-align:right;overflow-wrap:anywhere;flex:7rem;min-width:0;font-weight:600}.value.ok{color:var(--good)}.value.ng{color:var(--ng)}.actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}button{background:var(--green);color:#fff;overflow-wrap:anywhere;cursor:pointer;border:2px solid #0000;border-radius:12px;flex:9rem;min-width:44px;min-height:44px;padding:10px 12px;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.5}button.ghost{color:var(--green);background:#edf5ef;border-color:#c9dfd0}button:disabled{color:var(--sub);cursor:not-allowed;background:#eef1ef;border-style:dashed;border-color:#829087}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--green);outline-offset:3px}button,input,select,summary,[tabindex="-1"]{scroll-margin-block:16px}dialog{border:1px solid var(--line);width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 32px);color:var(--ink);background:var(--card);overflow-wrap:anywhere;border-radius:16px;padding:24px;overflow:auto;box-shadow:0 16px 48px #1f2a2429}dialog::backdrop{background:#1f2a2473}dialog h2{color:var(--green);margin:0 0 12px;font-size:1.125rem}dialog p{margin:0 0 16px}dialog .actions{flex-direction:column}dialog .actions button{flex-basis:auto}.foot{text-align:center;color:var(--sub);overflow-wrap:anywhere;margin-top:16px;font-size:.875rem}.add{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.add-controls{flex-wrap:wrap;gap:8px;display:flex}.initial-level{color:var(--sub);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.875rem;display:flex}.add input,.add select,.search input,.rename input{min-width:0;min-height:44px;color:var(--ink);background:var(--card);border:1px solid #819a8a;border-radius:12px;flex:8rem;padding:10px 12px;font-family:inherit;font-size:max(16px,1rem);line-height:1.5}input::placeholder{color:var(--sub);opacity:1}input:disabled,select:disabled{color:var(--sub);opacity:1;background:#eef1ef;border-style:dashed}.search{margin:16px 0}.search label{color:var(--sub);margin-bottom:8px;font-size:.875rem;display:block}.search-controls{flex-wrap:wrap;gap:8px;display:flex}.search-controls button,.add button{flex:0 auto}.error,.note{overflow-wrap:anywhere;border-left:4px solid;border-radius:8px;margin:12px 0 0;padding:12px;font-size:.875rem}.error{color:var(--ng);background:#fff1ef}.note{color:var(--good);background:#edf7f0}.empty{color:var(--sub);margin:12px 0;font-size:.875rem}.tobuy{color:var(--warn)}.items{margin:0;padding:0;list-style:none}.item{border-top:1px solid var(--line);padding:16px 0}.card h2+.items .item:first-child,.card .empty+.items .item:first-child{border-top:none}.shop{margin:12px 0;display:flex}button.ghost.on{color:var(--green);border-color:var(--green);box-shadow:inset 0 -3px 0 var(--green);background:#e3f2e8;font-weight:700}.shop-hint{color:var(--warn);margin:0 0 12px;font-size:.875rem}.card .shop+.items .item:first-child,.card .shop-hint+.items .item:first-child{border-top:none}.item-head{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin-bottom:12px;display:grid}.rename{margin-bottom:16px}.rename label{color:var(--sub);gap:8px;font-size:.875rem;display:grid}.item-name{overflow-wrap:anywhere;min-width:0;font-size:1rem;font-weight:600}button.link{min-width:44px;min-height:44px;color:var(--sub);text-underline-offset:3px;background:0 0;flex:none;padding:8px;font-size:.875rem;font-weight:600;text-decoration:underline}.levels{flex-wrap:wrap;gap:8px;display:flex}button.level{min-height:44px;color:var(--sub);background:#f2f6f3;flex:4rem;font-size:.875rem;position:relative}button.level.on{border-color:currentColor;padding-left:24px;font-weight:700}button.level.on:before{content:"";border:2px solid;border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;top:calc(50% - 6px);left:10px;transform:rotate(45deg)}button.level.on.level-enough{color:var(--good);background:#e7f4ec}button.level.on.level-low{color:var(--warn);background:#fff3dc}button.level.on.level-out{color:var(--ng);background:#fff0ee}.diag{margin:0 0 16px}.diag summary{min-height:44px;color:var(--sub);cursor:pointer;overflow-wrap:anywhere;padding:12px 0;font-size:.875rem}.diag[open] summary{margin-bottom:12px}.hint{color:var(--sub);overflow-wrap:anywhere;margin:8px 0;font-size:.875rem}.hint.remind{color:var(--warn);background:#fff6e5;border:1px solid #e4cfaa;border-radius:12px;padding:12px}.hint.remind button.link{color:var(--warn)}.panel{border:1px solid var(--line);background:#f4f8f5;border-radius:16px;margin-top:16px;padding:16px}.panel-title{overflow-wrap:anywhere;margin:0 0 8px;font-size:1rem;font-weight:700}.reasons{color:var(--sub);overflow-wrap:anywhere;margin:8px 0;padding-left:24px;font-size:.875rem}[hidden]{display:none!important}.page{padding-top:calc(env(safe-area-inset-top) + 16px)}.head{margin-bottom:16px}.head h1{letter-spacing:.04em;gap:6px}.head .sub{margin-top:4px;font-size:.875rem}.stock-overview{overflow-wrap:anywhere;background:#fff9e9;border:1px solid #e9e4cb;border-radius:16px;margin-bottom:16px;padding:10px 12px}.overview-heading{align-items:center;gap:10px;display:flex}.overview-heading>div{min-width:0}.overview-icon{width:32px;height:32px;color:var(--green);flex:0 0 32px}.eyebrow{color:var(--sub);margin:0;font-size:.875rem;line-height:1.4}.stock-overview h2{color:var(--ink);margin:0;font-size:1rem;line-height:1.5}.overview-copy{color:var(--sub);margin:8px 0;font-size:.875rem}.stock-summary{flex-wrap:wrap;gap:4px 8px;margin:8px 0 0;display:flex}.stock-summary>div{background:#fff;border-radius:20px;flex-wrap:wrap;align-items:baseline;gap:4px;padding:2px 8px;display:flex}.stock-summary dt,.stock-summary dd{margin:0;font-size:.875rem;line-height:1.5}.stock-summary dd{font-weight:700}.stock-summary dd span{font-weight:400}.summary-enough,.stock-enough{color:var(--good)}.summary-low,.stock-low{color:var(--warn)}.summary-out,.stock-out{color:var(--ng)}.inventory-card{box-shadow:none;padding:8px 12px}.list-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;display:flex}.list-title h2{flex:8rem;margin:0}.add-shortcut{border:1px solid var(--green);min-width:44px;min-height:44px;color:var(--green);border-radius:24px;justify-content:center;align-items:center;padding:4px 10px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.add-shortcut:focus-visible{outline:3px solid var(--green);outline-offset:2px}.inventory-card .list-toolbar{gap:8px;margin-top:4px}.inventory-card .list-toolbar button{color:var(--sub);text-underline-offset:3px;background:0 0;border-color:#0000;flex:6rem;padding:6px 8px;font-size:.875rem;font-weight:500;text-decoration:underline}.inventory-card .list-toolbar button[aria-pressed=true]{border-color:var(--green);color:var(--green);box-shadow:inset 0 -2px 0 var(--green);background:#e7f4ec;font-weight:700}.inventory-card .list-toolbar button:disabled{background:#eef1ef;border-style:dashed;border-color:#829087}.inventory-card .search{margin:4px 0 8px}.inventory-card .search label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.inventory-card .search input{background:#fbfdfb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23526158' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='6'/%3E%3Cpath d='m15 15 5 5'/%3E%3C/svg%3E") 10px/18px no-repeat;border-radius:24px;padding-left:34px}.inventory-card .search-controls button{border-radius:24px;padding:6px 10px;font-size:.875rem}.items{margin-top:4px}.item{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;margin:0;padding:4px 0}.item:first-child{border-top:0}.item:last-child{padding-bottom:4px}.item-head{flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:0;display:flex}.item-identity{flex:9rem;align-items:center;gap:8px;min-width:min(9rem,100%);display:flex}.product-art{background:#f1f6e9;border-radius:8px;flex:0 0 36px;width:36px;height:40px}.product-art-carton{background:#eef7fc}.product-art-paper{background:#f6f6ef}.product-art-bottle{background:#edf7f0}.item-copy{flex-direction:column;align-items:flex-start;gap:0;min-width:0;display:flex}.item-name{line-height:1.4;display:block}.stock-badge{border-radius:20px;padding:2px 8px;font-size:.875rem;font-weight:600;line-height:1.2;display:inline-block}.stock-enough{background:#e7f4ec}.stock-low{background:#fff3dc}.stock-out{background:#fce8e5}.item-head button.link{padding:0;font-weight:500}.item .levels{background:#f7f9f6;border-radius:12px;gap:2px}.item .level{background:0 0;border-radius:24px;flex-basis:3rem;padding:4px;font-weight:500}.item .level.on{border-width:1px;padding-left:22px;font-weight:700}.item .level.on:before{left:9px}.item .level:disabled{background:#eef1ef;border-style:dashed;border-color:#829087}.add-card{box-shadow:none;margin-top:16px}.add-card .hint{margin-bottom:12px}.settings-head h2{color:var(--green);margin:0;font-size:1.5rem}.settings-head{margin-bottom:24px}.bottom-nav{z-index:2;width:min(100%,560px);padding:4px calc(16px + env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));border-top:1px solid var(--line);background:#fff;gap:8px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -2px 12px #1f2a240a}.bottom-nav button{color:var(--sub);background:#fff;flex-direction:column;flex:1 1 0;align-items:center;gap:0;padding:6px 4px 2px;font-size:.875rem;font-weight:500;display:flex;position:relative}.bottom-nav svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.bottom-nav button[aria-current=page]{color:var(--green);font-weight:700}.bottom-nav button[aria-current=page]:before{content:"";background:currentColor;border-radius:4px;width:32px;height:3px;position:absolute;top:0;left:calc(50% - 16px)}.bottom-nav button:disabled{color:var(--sub);background:#eef1ef;border-style:dashed;border-color:#829087}html{scroll-padding-bottom:calc(9rem + env(safe-area-inset-bottom))}input,select,.rename,#add-item{scroll-margin-bottom:calc(9rem + env(safe-area-inset-bottom))}
