:root{color-scheme:light;--ink:#183d34;--green:#174e40;--cream:#f4f3ed;--muted:#627169;--border:#dbe2d8;--orange:#a45b19}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.4 system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.5;cursor:wait}header{max-width:720px;margin:auto;padding:calc(18px + env(safe-area-inset-top)) 20px 12px;display:flex;align-items:center;gap:14px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:750}h1{font-size:30px;letter-spacing:-.04em;margin:2px 0}h2{font-size:22px;letter-spacing:-.02em;margin:0 0 14px}h3{font-size:18px;margin:0 0 6px}p{margin:8px 0 16px}small,.muted{color:var(--muted);font-size:14px}#account{margin-left:auto}.avatar,.icon{border:1px solid var(--border);background:white;border-radius:50%;width:48px;height:48px;font-weight:700;color:var(--green);font-size:21px}#network{max-width:680px;margin:0 auto;padding:8px 20px;color:var(--muted);font-size:13px}#network.offline{background:#fff0d9;color:#753e12}main{max-width:720px;padding:14px 20px 110px;margin:auto}.card{background:white;border:1px solid var(--border);border-radius:18px;padding:20px;margin-bottom:14px}.hero{background:var(--green);color:#fff;border:0;padding:24px}.hero p,.hero small{color:#d6e8df}.hero .primary{background:#fff;color:var(--green)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.tile{min-height:128px;border:1px solid var(--border);border-radius:18px;background:white;padding:18px;text-align:left;color:var(--ink);font-size:17px;font-weight:700;display:flex;flex-direction:column;gap:10px}.glyph{font-size:26px;line-height:1}.tile small{font-size:12px;font-weight:400}.primary,.secondary,.danger{display:block;width:100%;min-height:54px;border:0;border-radius:12px;padding:13px 16px;background:var(--green);color:white;font-weight:650;margin-top:14px}.secondary{background:#e8eee8;color:var(--green)}.danger{background:#fff0e9;color:#8e351f}.inline{display:flex;gap:10px}.inline>*{flex:1}.badge{font-size:12px;display:inline-block;border-radius:20px;padding:5px 9px;background:#eaf0e8;color:var(--green);font-weight:650}.badge.amber{background:#fff1dd;color:#85501b}.badge.red{background:#fce6df;color:#8b3024}.tagline{font-size:13px;color:var(--muted)}label{display:block;font-size:15px;font-weight:600;margin:16px 0 6px}input,select,textarea{display:block;border:1px solid #b6c8bb;background:#fff;width:100%;padding:13px;border-radius:10px;min-height:52px;color:var(--ink);font-size:17px}input[type=checkbox]{width:24px;min-height:24px;accent-color:var(--green);flex-shrink:0}.check{display:flex;align-items:center;gap:10px;font-weight:400}.check input{margin:0}textarea{resize:vertical;min-height:82px}.hint{font-size:13px;color:var(--muted);margin-top:6px}.warn{border-left:4px solid #bf8541;background:#fff5e4;padding:14px;border-radius:8px;margin:14px 0;font-size:14px}.error{color:#942e1e}.steps{display:flex;gap:8px;margin:4px 0 20px}.steps span{height:4px;flex:1;border-radius:4px;background:#d7e1d6}.steps .active{background:var(--green)}.count{font-size:42px;letter-spacing:-.05em;font-weight:650}.task{border-left:4px solid #bf8541}.task .primary{margin-top:12px}nav{position:fixed;bottom:0;left:0;right:0;max-width:720px;margin:auto;display:flex;background:#fff;border-top:1px solid var(--border);padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:10}nav button{border:0;background:transparent;flex:1;color:var(--muted);min-height:52px;font-size:23px}nav span{display:block;font-size:11px;margin-top:2px}nav button.active{color:var(--green);font-weight:750}#notice{position:fixed;bottom:100px;left:16px;right:16px;max-width:680px;margin:auto;background:#fff5dc;border:1px solid #ca9c50;padding:16px;border-radius:12px;z-index:20;box-shadow:0 5px 30px #0002}#demo{padding:10px;text-align:center;font-size:11px;letter-spacing:.08em;background:#e6c58b;color:#4a3417}details{margin:12px 0}summary{min-height:48px;padding:12px 0;cursor:pointer}.details-line{padding:7px 0;border-bottom:1px solid var(--border);font-size:14px;overflow-wrap:anywhere}.label-sheet{background:white;border:2px solid #172e23;padding:20px;font-size:18px;overflow-wrap:anywhere}.label-sheet h2{font-size:26px}.label-sheet strong{display:block;margin-top:12px}a{color:var(--green)}[hidden]{display:none!important}@media(min-width:600px){.grid{grid-template-columns:repeat(3,1fr)}header{padding-top:30px}.tile{min-height:140px}}@media print{body>*:not(main),header,#network,nav,#notice{display:none!important}main{padding:0;max-width:100%}main>*:not(.label-sheet){display:none!important}.label-sheet{width:90mm;max-width:100%;page-break-inside:avoid}main{display:block}}
/* Daily Prep Planner: large touch targets, a scrollable timeline and equivalent list. */
.gantt-scroll{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--border);border-radius:12px;padding:12px 16px}.gantt-canvas{position:relative;min-width:680px}.gantt-axis{position:relative;height:35px;margin-top:8px}.gantt-axis span{position:absolute;font-size:12px;white-space:nowrap}.gantt-row{height:98px;position:relative;border-top:1px solid var(--border);background:repeating-linear-gradient(to right,transparent 0,transparent 99px,#dce5dd 100px)}.gantt-row-label{display:block;font-size:12px;padding-top:5px}.gantt-bar{position:absolute;top:30px;min-height:52px;min-width:48px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:8px;background:#285f50;color:white;padding:10px;font-size:14px;text-align:left}.gantt-bar.running{background:#1a587f}.gantt-bar.issue{background:#9e482a}.gantt-bar.completed{background:#687870}.gantt-bar.cancelled{background:#747474}.schedule-warning{border-left:4px solid #ae7622;padding:12px;background:#fff3dc;color:#513807}.schedule-task button{margin-top:8px}dialog{width:min(94vw,640px);max-height:90dvh;overflow:auto;border:0;border-radius:20px;padding:8px;background:#f4f3ed}dialog::backdrop{background:#102b25b3}textarea{width:100%;min-height:220px;font:14px monospace;padding:12px;box-sizing:border-box}button:disabled{opacity:.5;cursor:not-allowed}.gantt-scroll:focus-visible,button:focus-visible{outline:3px solid #d19b35;outline-offset:3px}

.recipe-source{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem} .card>button.secondary{margin:4px 4px 4px 0} input,select{font-size:16px;min-height:48px} button{min-height:48px}
