:root{--cream:#fbf6ea;--cream-deep:#f3ead3;--surface:#fffdf7;--green:#2f6b3a;--green-dark:#1f4a28;--green-soft:#e3eedc;--text:#24301f;--muted:#5d6656;--border:#ddd3ba;--warn:#8a4b0f;--warn-bg:#fbe9cf;--danger:#a12f2a;--danger-bg:#f9dfdc;--use:#7a4a12;--radius:14px;--tap:52px;--nav-h:68px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--cream);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;font-size:17px;line-height:1.45}*{box-sizing:border-box}body{background:var(--cream);min-height:100dvh;margin:0}h1,h2,h3{color:var(--green-dark);margin:0 0 .4em;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1.05rem}p{margin:0 0 .6em}button,input,select{font:inherit;color:inherit}:focus-visible{outline-offset:2px;outline:3px solid #c58a1b}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.muted{color:var(--muted)}.small{font-size:.9rem}.center-text{text-align:center}.warn-text{color:var(--warn);font-weight:600}.danger-text{color:var(--danger);font-weight:700}.error{color:var(--danger);margin:0;font-weight:600}.stack{flex-direction:column;gap:14px;display:flex}.btn{min-height:var(--tap);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:2px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.btn-small{min-height:44px;padding:6px 14px;font-size:.95rem}.btn-primary{background:var(--green);color:#fff}.btn-primary:not(:disabled):active{background:var(--green-dark)}.btn-use{background:var(--use);color:#fff}.btn-secondary{background:var(--surface);color:var(--green-dark);border-color:var(--green)}.btn-ghost{color:var(--green-dark);background:0 0}.btn-danger-outline{background:var(--surface);color:var(--danger);border-color:var(--danger)}.button-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.back{align-self:flex-start;padding-left:0}.field{flex-direction:column;gap:6px;font-weight:600;display:flex}.field.grow{flex:1}.field input,.field select{min-height:var(--tap);border:2px solid var(--border);background:#fff;border-radius:12px;width:100%;padding:10px 14px;font-size:1.05rem;font-weight:400}.field input:focus,.field select:focus{border-color:var(--green)}.field input[aria-invalid=true]{border-color:var(--danger)}.field small{font-weight:400}.field.compact select{min-height:44px;padding:6px 10px}.chip-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip{border:2px solid var(--green);background:var(--surface);min-width:56px;min-height:44px;color:var(--green-dark);cursor:pointer;border-radius:999px;padding:6px 16px;font-weight:700}.chip-active{background:var(--green);color:#fff}.center-screen{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-screen{min-height:100dvh;padding:24px 16px calc(24px + env(safe-area-inset-bottom));place-items:center;display:grid}.login-brand{text-align:center;margin-bottom:18px}.login-brand h1{margin-top:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 1px 2px #3c32140f}.card.narrow{width:100%;max-width:440px}.demo-entry{border-top:1px dashed var(--border);margin-top:26px;padding-top:18px}.notice{background:var(--green-soft);border-radius:12px;padding:12px 14px}.error-box{background:var(--danger-bg);color:var(--danger);border-radius:12px;padding:12px 14px;font-weight:600}.app{min-height:100dvh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px)}.demo-banner{color:#3b2a00;text-align:center;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));background:#f2c94c;font-size:.95rem}.demo-banner strong{letter-spacing:.04em;margin-right:6px}.offline-banner{background:var(--danger);color:#fff;text-align:center;padding:10px 12px;font-weight:600}.app-header{z-index:5;padding:10px 16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));background:var(--cream);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky;top:0}.app-title{flex-direction:column;flex:1;min-width:0;display:flex}.app-name{color:var(--green-dark);font-size:1.1rem;font-weight:800}.app-user{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.app-main{max-width:760px;padding:16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));margin:0 auto}.screen-title{margin-bottom:12px}.filters{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.empty{text-align:center;color:var(--muted);padding:28px 12px}.card-list{flex-direction:column;gap:12px;margin:0 0 16px;padding:0;list-style:none;display:flex}.item-card{background:var(--surface);border:1px solid var(--border);border-left:6px solid var(--green);border-radius:var(--radius);padding:14px 14px 16px}.item-card.is-low{border-left-color:#d08a1e}.item-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.item-name{margin:0 0 2px;font-size:1.15rem}.item-meta{color:var(--muted);margin:0;font-size:.92rem}.item-qty{text-align:right;white-space:nowrap}.qty-number{color:var(--green-dark);font-size:1.7rem;font-weight:800;line-height:1.1;display:block}.qty-unit{color:var(--muted);font-size:.9rem}.tags{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.tag{border-radius:999px;padding:3px 10px;font-size:.85rem;font-weight:700;display:inline-block}.tag-warn{background:var(--warn-bg);color:var(--warn)}.tag-danger{background:var(--danger-bg);color:var(--danger)}.tag-plain{background:var(--green-soft);color:var(--green-dark)}.batches{margin:0 0 12px;font-size:.95rem}.batches summary{cursor:pointer;min-height:36px;color:var(--green-dark);align-items:center;font-weight:600;display:flex}.batches ol{margin:4px 0 0;padding-left:22px}.line-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.line-card.is-expired{border-color:var(--danger);background:#fff7f5}.line-main{flex:200px;min-width:0}.line-side{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.need{color:var(--warn);font-weight:800}.activity-list{margin:0 0 16px;padding:0;list-style:none}.activity{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:12px 4px;display:flex}.activity-main{flex-direction:column;gap:2px;min-width:0;display:flex}.activity-who{color:var(--muted);font-size:.9rem}.activity-note{font-size:.9rem;font-style:italic}.activity-time{color:var(--muted);white-space:nowrap;font-size:.85rem}.act-add_stock .activity-what strong:first-child{color:var(--green)}.act-use_stock .activity-what strong:first-child{color:var(--use)}.demo-card{border-color:#e2b93b}.preview{background:var(--green-soft);border-radius:12px;padding:12px 14px;font-size:.95rem}.preview ul{margin:4px 0 8px;padding-left:20px}.preview p{margin:0}.bottom-nav{z-index:10;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav-btn{height:var(--nav-h);color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.nav-btn.active{color:var(--green-dark);font-weight:800}.nav-btn.active:before{content:"";background:var(--green);border-radius:0 0 4px 4px;height:4px;position:absolute;top:0;left:25%;right:25%}.nav-icon{font-size:1.35rem;line-height:1}.nav-label{font-size:.8rem}.nav-badge{color:#fff;background:#c4711a;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;font-weight:800;display:grid;position:absolute;top:8px;left:calc(50% + 8px)}.toast-region{left:0;right:0;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 12px);pointer-events:none;z-index:20;justify-content:center;padding:0 16px;display:flex;position:fixed}.toast{background:var(--green-dark);color:#fff;border-radius:12px;max-width:520px;padding:12px 18px;font-weight:600;box-shadow:0 6px 18px #0003}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;color:var(--text);border:0;border-radius:20px 20px 0 0;margin:auto auto 0;padding:0}.sheet::backdrop{background:#1e281973}.sheet-inner{padding:18px 18px calc(22px + env(safe-area-inset-bottom))}.sheet-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.sheet-head h2{margin:0}@media (width>=640px){.sheet{border-radius:20px;margin:auto}.app-main{padding-top:24px}}@media (prefers-reduced-motion:no-preference){.toast{animation:.2s ease-out rise}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}}
