:root{--bg:#f6f7f9;--fg:#16181d;--muted:#5f6672;--surface:#fff;--surface-2:#f0f2f5;--border:#dfe2e7;--accent:#2f6b4f;--accent-hover:#26593f;--accent-fg:#fff;--ring:#2f6b4f59;--danger:#b42318;--ok-bg:#e5f4ea;--ok-fg:#1d6b3a;--warn-bg:#fdf1dc;--warn-fg:#8a5300;--bad-bg:#fde8e7;--bad-fg:#a12a20;--radius:8px;--shadow:0 1px 2px #1018280d, 0 1px 3px #1018280f;--shadow-pop:0 8px 24px #1018281f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--fg:#e7e9ee;--muted:#9aa1ad;--surface:#171a20;--surface-2:#1f232b;--border:#2b303a;--accent:#4fae80;--accent-hover:#63c293;--accent-fg:#0b1a12;--ring:#4fae8073;--danger:#f2756a;--ok-bg:#4fae8029;--ok-fg:#7fd3a6;--warn-bg:#eaaa3c29;--warn-fg:#f0c06b;--bad-bg:#f2756a29;--bad-fg:#f59a91;--shadow:0 1px 2px #0006;--shadow-pop:0 8px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}main{max-width:960px;margin:0 auto;padding:2rem 1.25rem 3rem}h1{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.5rem}h2{letter-spacing:-.01em}p{color:var(--fg)}a{color:var(--accent)}.muted{color:var(--muted);font-size:.9rem}label{margin:.75rem 0 .25rem;font-size:.875rem;font-weight:600;display:block}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--fg);font:inherit;padding:.5rem .65rem;font-size:.95rem;transition:border-color .12s,box-shadow .12s}input[type=radio],input[type=checkbox]{accent-color:var(--accent)}input:hover,select:hover,textarea:hover{border-color:var(--muted)}:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent)}button{background:var(--accent);color:var(--accent-fg);border-radius:var(--radius);font:inherit;cursor:pointer;border:1px solid #0000;margin-top:1rem;padding:.5rem .95rem;font-size:.9rem;font-weight:600;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{color:var(--fg);border-color:var(--border);background:0 0;margin:0}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{color:var(--danger);border-color:var(--border);background:0 0}.btn-danger:hover:not(:disabled){background:var(--bad-bg);border-color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);margin:1rem 0;padding:1rem 1.25rem}table{border-collapse:collapse;width:100%;margin-top:.5rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.5rem;font-size:.9rem}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem;font-weight:600}tbody tr:last-child td{border-bottom:none}.table-compact td{vertical-align:middle;padding:.4rem .5rem}tr.row-link{cursor:pointer}tr.row-link:hover td{background:var(--surface-2)}td select{width:auto}td .error,td .success{margin-top:.25rem;display:block}.pill{text-transform:capitalize;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.pill-complete{background:var(--ok-bg);color:var(--ok-fg)}.pill-pending{background:var(--warn-bg);color:var(--warn-fg)}.pill-incomplete{background:var(--bad-bg);color:var(--bad-fg)}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.toolbar-search{flex:220px;width:auto}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{color:var(--fg);border-color:var(--border);background:0 0;border-radius:999px;margin:0;padding:.3rem .7rem;font-size:.8rem}.chip:hover:not(:disabled){background:var(--surface-2)}.chip[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.chip-count{opacity:.65;margin-left:.15rem;font-weight:500}.combobox{position:relative}.combobox-status{color:var(--muted);pointer-events:none;font-size:.8rem;position:absolute;bottom:.55rem;right:.65rem}.combobox-list{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:320px;box-shadow:var(--shadow-pop);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combobox-option{border-radius:calc(var(--radius) - 2px);cursor:pointer;flex-wrap:wrap;align-items:baseline;column-gap:.25rem;padding:.4rem .6rem;font-size:.9rem;display:flex}.combobox-option[aria-selected=true]{background:var(--surface-2)}.combobox-meta{color:var(--muted);flex-basis:100%;font-size:.78rem}.error{color:var(--danger);margin-top:.75rem;font-size:.9rem}.success{color:var(--accent);margin-top:.75rem;font-size:.9rem}.topbar{z-index:30;background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:saturate(180%)blur(8px);backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.55rem 1.25rem;display:flex;position:sticky;top:0}.topbar-brand{letter-spacing:-.01em;color:var(--fg);font-weight:700;text-decoration:none}.topbar nav{background:0 0;border:none;flex-wrap:wrap;gap:.15rem;padding:0;display:flex}.topbar nav a{border-radius:var(--radius);color:var(--muted);padding:.35rem .65rem;font-size:.9rem;font-weight:500}.topbar nav a:hover,.topbar nav a[aria-current=page]{color:var(--fg);background:var(--surface-2)}.topbar-user{color:var(--muted);font-size:.85rem}.topbar .spacer{flex:1}.topbar form{margin:0}.topbar .btn-ghost{padding:.3rem .7rem;font-size:.85rem}@media (max-width:640px){.topbar{flex-wrap:wrap;gap:.5rem}.topbar nav{order:3;width:100%;overflow-x:auto}}.tabs{border-bottom:1px solid var(--border);background:0 0;gap:.25rem;margin:1rem 0;padding:0;display:flex}.tabs a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.45rem .85rem;font-size:.9rem;font-weight:500}.tabs a:hover{color:var(--fg)}.tabs a[aria-current=page]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.warnings{background:var(--warn-bg);color:var(--warn-fg);border:1px solid color-mix(in srgb, var(--warn-fg) 30%, transparent);border-radius:var(--radius);margin:1rem 0;padding:.75rem 1rem .75rem 2rem;font-size:.9rem}.warnings li+li{margin-top:.25rem}main.wide{max-width:1240px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.8rem}.ws-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.ws-pn{gap:1rem;display:flex}.ws-summary{z-index:5;background:var(--bg);grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem;padding:.5rem 0;display:grid;position:sticky;top:56px}.ws-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--fg);text-align:left;font:inherit;flex-direction:column;align-items:flex-start;gap:.25rem;margin:0;padding:.75rem 1rem;display:flex}button.ws-tile{cursor:pointer}button.ws-tile:hover{border-color:var(--accent);background:var(--surface);color:var(--fg)}.ws-tile.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--ring)}.ws-tile .label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem}.ws-tile .num{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:650}.ws-tile .num small{color:var(--muted);font-size:.75rem;font-weight:400}.ws-usual{background:var(--ok-bg)}.probes{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:.75rem 0;padding:.6rem .9rem}.probes summary{cursor:pointer;font-weight:600}.probe-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.35rem 1rem;margin-top:.5rem;display:grid}.probe-list label{align-items:center;gap:.5rem;margin:0;font-weight:400;display:flex}.probe-list input{width:auto;margin:0}.meal-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));gap:.75rem;display:grid}.meal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.75rem}.meal-panel>header{justify-content:space-between;align-items:baseline;margin-bottom:.4rem;display:flex}.meal-panel h3{margin:0;font-size:1rem}.item-line{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.5rem;padding:.35rem 0;display:grid}.item-line.is-pending{opacity:.55}.item-name{flex-wrap:wrap;align-items:baseline;gap:.35rem;min-width:0;display:flex}.item-cf{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;font-size:.85rem}.item-warn{color:var(--warn-fg);grid-column:1/-1;font-size:.85rem}.tag{background:var(--ok-bg);color:var(--ok-fg);border-radius:999px;padding:.05rem .4rem;font-size:.7rem}.tag-bad{background:var(--bad-bg);color:var(--bad-fg)}input.measure{margin:0;padding:.35rem .5rem}.item-qty{white-space:nowrap;align-items:center;gap:.35rem;display:flex}.item-qty input.measure{width:64px}.unit{white-space:nowrap;align-self:center;font-size:.9rem;font-weight:600}.inline-select{width:auto;font-size:inherit;margin:0;padding:.1rem .3rem;display:inline-block}.badge{border:1px solid;border-radius:999px;margin-right:.4rem;padding:.05rem .45rem;font-size:.7rem}.badge-dish{color:var(--accent,#2563eb)}.badge-food{color:#c2410c}.combobox-cf{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.add-row{border-top:1px dashed var(--border);align-items:flex-start;gap:.5rem;padding-top:.5rem;display:flex}.add-row input.measure{width:110px}.add-row button{white-space:nowrap;margin:0}.add-row .combobox input{margin:0}.icon-btn{color:var(--muted);border:1px solid var(--border);background:0 0;margin:0;padding:.2rem .5rem}.icon-btn:hover{color:var(--danger);border-color:var(--danger);background:0 0}.preview{margin:.25rem 0 0;font-size:.85rem}@media (max-width:640px){.ws-summary{grid-template-columns:1fr 1fr}.ws-usual{grid-column:1/-1}.item-line{grid-template-columns:minmax(0,1fr) auto}.item-qty{grid-column:1/2}}
