:root{--bg:#f3f6fa;--card:#fff;--text:#152030;--muted:#5a6778;--line:#dde4ee;--accent:#1d5fa8;--accent-ink:#fff;--accent-soft:#e6f0fb;--danger:#b42318;--ok:#157f3b;--warn:#9a6700;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000f;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0e141c;--card:#17202b;--text:#e7edf5;--muted:#98a6b8;--line:#283445;--accent:#5aa2ee;--accent-ink:#06203d;--accent-soft:#18304b;--danger:#ff7b6e;--ok:#5fd38b;--warn:#e3b341;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);padding-bottom:calc(100px + env(safe-area-inset-bottom));margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0;line-height:1.2}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.pad-top{padding-top:40vh}.error{color:var(--danger);margin:0}.topbar{z-index:5;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--accent);color:var(--accent-ink);align-items:center;gap:8px;display:flex;position:sticky;top:0}.icon-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:inline-grid}.icon-btn:hover{background:#7f7f7f26}.icon-btn.danger{color:var(--danger)}main{max-width:760px;margin:0 auto;padding:16px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);padding:16px}.btn{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:10px 14px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.ghost{background:0 0}.btn.danger{color:var(--danger)}.btn.small{min-height:34px;padding:6px 10px;font-size:.85rem}.btn:disabled{opacity:.6;cursor:progress}.auth{place-items:center;min-height:100vh;padding:16px;display:grid}.auth-card{text-align:center;flex-direction:column;gap:14px;width:min(380px,100%);display:flex}.auth-card img{border-radius:14px;margin:0 auto}.auth-card label{text-align:left}.empty{text-align:center;padding:48px 16px}.empty-icon{font-size:56px}.empty h1{margin:12px 0 8px}.empty p{color:var(--muted);max-width:360px;margin:0 auto 20px}.small-empty{padding:32px 16px}.small-empty p{margin:4px auto}.fab{right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:4;background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:14px 20px 14px 16px;font-weight:700;display:inline-flex;position:fixed;box-shadow:0 6px 20px #1d5fa859}dialog.sheet{background:var(--card);width:min(560px,100% - 32px);max-height:min(92vh,100%);color:var(--text);border:0;border-radius:18px;padding:0;box-shadow:0 20px 60px #0000004d}dialog.small-sheet{width:min(400px,100% - 32px)}dialog::backdrop{background:#0a101c73}@media (width<=600px){dialog.sheet{width:100%;max-width:100%;max-height:94vh;padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0;margin:auto 0 0}}dialog.sheet[open],dialog.sheet>form{flex-direction:column;min-height:0;display:flex}dialog.sheet>form{flex:1;overflow:hidden}.dlg-head{justify-content:space-between;align-items:center;padding:14px 12px 6px 18px;display:flex}.dlg-head h2{font-size:1.15rem}.dlg-body{flex-direction:column;flex:1;gap:12px;padding:6px 18px 14px;display:flex;overflow-y:auto}.dlg-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px 16px;display:flex}.spacer{flex:1}label{color:var(--muted);flex-direction:column;gap:5px;font-size:.85rem;font-weight:600;display:flex}label.inline{flex-flow:wrap;align-items:center;gap:8px}label.check{color:var(--text);flex-direction:row;align-items:center;gap:10px;font-size:1rem;font-weight:500}label.check input{width:20px;height:20px;accent-color:var(--accent)}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;min-width:0;padding:10px 12px;font-size:1rem;font-weight:400}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}input[readonly]{opacity:.7}textarea{resize:vertical}fieldset{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;margin:0;padding:10px 12px 12px;display:flex}legend{padding:0 4px;font-weight:600}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.menu-list{flex-direction:column;margin:0 -10px;display:flex}.menu-list button,.menu-list a{text-align:left;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:14px 12px;text-decoration:none}.menu-list button:hover,.menu-list a:hover{background:var(--accent-soft)}.people{margin:0;padding:0;list-style:none}.people li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 0;display:flex}#toast{left:50%;bottom:calc(90px + env(safe-area-inset-bottom));color:#fff;opacity:0;pointer-events:none;z-index:100;background:#1c2635;border-radius:10px;max-width:calc(100% - 32px);padding:10px 16px;font-size:.92rem;transition:all .2s;position:fixed;transform:translate(-50%,20px)}#toast.show{opacity:1;transform:translate(-50%)}.brand{letter-spacing:.01em;flex:1;font-size:1.2rem}.link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.stats{grid-template-columns:repeat(4,1fr);gap:6px;padding:10px;display:grid}.stat{font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;display:flex}button.stat{cursor:pointer}button.stat:hover,.stat[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.stat strong{font-variant-numeric:tabular-nums;color:var(--accent);font-size:1.5rem;line-height:1.1}.stat span{color:var(--muted);white-space:nowrap;font-size:.78rem}.stat.warn strong{color:var(--warn)}.stat.bad strong{color:var(--danger)}.filters{flex-direction:column;gap:8px;margin:14px 0 4px;display:flex}.filters input,.filters select{background:var(--card)}.filter-row{flex-wrap:wrap;gap:8px;display:flex}.filter-row>*{flex:160px}.seg{border:1px solid var(--line);background:var(--card);border-radius:10px;display:flex;overflow:hidden}.seg button{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:1;padding:10px 8px;font-size:.95rem;font-weight:600}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--accent);color:var(--accent-ink)}.seg.compact button{padding:8px 6px;font-size:.85rem}.match-line{margin:10px 4px 0}.group{margin-top:16px}.group-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;padding:0 4px 6px;font-size:.85rem;font-weight:700;display:flex}.group ul{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);margin:0;padding:0;list-style:none;overflow:hidden}.group li+li{border-top:1px solid var(--line)}.item{align-items:stretch;display:flex}.item-main{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:12px 10px 12px 14px;display:flex}.item-main:hover{background:var(--accent-soft)}.diet{border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:1.1rem;display:grid}.diet.vegetarian{background:color-mix(in srgb, var(--ok) 16%, transparent)}.diet.meat{background:color-mix(in srgb, var(--danger) 14%, transparent)}.item-text{flex-direction:column;flex:1;align-items:flex-start;gap:1px;min-width:0;display:flex}.item-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.item-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.82rem;overflow:hidden}.badge{background:var(--accent-soft);color:var(--muted);border-radius:999px;margin-top:3px;padding:1px 7px;font-size:.75rem;font-weight:600}.badge.soon{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.badge.expired{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.qty{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.92rem;font-weight:700}.use-btn{border:0;border-left:1px solid var(--line);width:58px;font:inherit;color:var(--accent);cursor:pointer;background:0 0;flex:none;font-weight:700}.use-btn:hover{background:var(--accent-soft)}.list-row{align-items:center;gap:4px;display:flex}.list-row input{flex:1}.icon-btn:disabled{opacity:.3;cursor:default}.small-link{color:var(--accent);font-size:.9rem}.tag{background:var(--accent-soft);color:var(--accent);vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:.72rem;font-weight:700;display:inline-block}.center-tag{margin:-6px auto 0}.notice{background:color-mix(in srgb, var(--warn) 15%, transparent);color:var(--text);text-align:left;border-radius:10px;margin:0;padding:8px 10px;font-size:.9rem}.auth-admin{background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 22%, var(--bg)), var(--bg) 60%)}.admin-bar{color:#fff;background:#233042}.btn.on-accent{color:inherit;background:#ffffff26;border-color:#0000}.admin-who{margin:2px 4px 12px}.tabs{margin-bottom:14px}.panel{flex-direction:column;gap:12px;display:flex}.panel h2{font-size:1.15rem}.panel p{margin:0}.panel-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.people li{flex-wrap:wrap;gap:6px;padding:10px 0}.person-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.list-row .icon-btn{width:32px}.sync-status{width:100%;font:inherit;text-align:center;cursor:pointer;top:calc(60px + env(safe-area-inset-top));z-index:4;border:0;padding:6px 16px;font-size:.85rem;font-weight:600;display:block;position:sticky}.sync-status.offline{color:#fff;background:#3a4556}.sync-status.pending{background:color-mix(in srgb, var(--warn) 18%, var(--card));color:var(--text)}.pending{color:var(--warn)}.sync-note{margin:12px 0 0}.file-ready{background:var(--accent-soft);word-break:break-word;border-radius:10px;margin:0;padding:10px 12px}.choices{flex-direction:column;gap:8px;display:flex}.choice{cursor:pointer;border:1px solid var(--line);color:var(--text);border-radius:10px;flex-direction:row;align-items:flex-start;gap:10px;padding:10px 12px;font-size:1rem;font-weight:400}.choice.on{border-color:var(--accent);background:var(--accent-soft)}.choice input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin-top:2px}.choice>span{flex-direction:column;gap:2px;display:flex}.with-btn{align-items:center;gap:6px;display:flex}.with-btn select{flex:1}
