:root{--bg: #fbf8f4;--surface: #ffffff;--text: #2a211b;--muted: #6f625a;--line: #e6ddd4;--accent: #b5541b;--accent-text: #ffffff;--ok: #2f7d4a;--ok-bg: #eef7f1;--error: #b42318;--warning-bg: #fff4e0;--text-xs: .75rem;--text-sm: .9rem;--text-lg: 1.1rem;--text-xl: 1.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--gutter: 16px;--radius-sm: 8px;--radius: 10px;--radius-card: 12px;--radius-sheet: 16px;--radius-pill: 999px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #171310;--surface: #221c18;--text: #f3ece6;--muted: #b3a69c;--line: #3a302a;--accent: #e07a3c;--accent-text: #1a120c;--ok: #6fcf8f;--ok-bg: #1d2b22;--error: #ff8a80;--warning-bg: #3a2a12;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}h1{font-size:var(--text-xl);margin:0 0 var(--space-2)}h2{font-size:var(--text-lg);margin:var(--space-6) 0 var(--space-2)}h3{font-size:1rem;margin:var(--space-6) 0 var(--space-2)}h4{font-size:var(--text-sm);color:var(--muted);margin:var(--space-4) 0 var(--space-1)}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.centered{text-align:center;margin-top:30vh}.error{color:var(--error);margin:var(--space-1) 0}.danger-text{color:var(--error)}.flag,.edited-note{color:var(--accent);font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.card,.tile,.count-row,.grind-item,.shift-row,.shift-editor,.product-card,.labor-summary,.confirm{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.card{padding:var(--space-3) var(--space-4)}.note,.warning,.saved-note,.editing-note{background:var(--warning-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.note.ok,.saved-note{background:var(--ok-bg);color:var(--ok)}.saved-note,.editing-note{margin:0}.badge{font-size:var(--text-xs);font-weight:600;padding:.1rem var(--space-2);border-radius:var(--radius-pill);background:var(--warning-bg);color:var(--text)}.shell{min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--gutter);background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-weight:700;text-decoration:none;color:var(--text)}.who{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--muted)}.page{max-width:720px;margin:0 auto;padding:var(--gutter) var(--gutter) 96px}.page.narrow{max-width:420px;padding-top:12vh}.stack{display:grid;gap:var(--space-4)}.two-up{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.toolbar{display:flex;align-items:center;gap:.6rem;margin:var(--space-2) 0 var(--space-4);flex-wrap:wrap}.app-tabs{display:flex;gap:var(--space-1);padding:0 var(--gutter);overflow-x:auto;scrollbar-width:none;background:var(--surface);border-bottom:1px solid var(--line)}.app-tabs::-webkit-scrollbar{display:none}.app-tab{flex:0 0 auto;padding:.6rem .8rem;text-decoration:none;color:var(--muted);font-weight:600;border-bottom:3px solid transparent;white-space:nowrap}.app-tab.active{color:var(--text);border-bottom-color:var(--accent)}label{display:grid;gap:.35rem;font-weight:600}input,select,textarea{font:inherit;width:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}input{font-size:var(--text-lg)}select{font-size:1.05rem}textarea{padding:.6rem .8rem;resize:vertical}input:focus{outline:2px solid var(--accent);outline-offset:1px}input[aria-invalid=true]{border-color:var(--error)}.cell-input{width:5.5rem;padding:.4rem var(--space-2);font-size:.95rem}.inline-label{display:flex;align-items:center;gap:var(--space-2);font-weight:500;margin:.4rem 0}button,.button{font:inherit;font-weight:600;padding:.7rem 1.1rem;border-radius:var(--radius);cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--text);text-decoration:none;display:inline-block;text-align:center}button:disabled{opacity:.55;cursor:default}button.big{font-size:1.2rem;padding:var(--space-4)}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.danger{background:var(--error);border-color:var(--error);color:var(--surface)}.link-button{background:none;border:none;padding:var(--space-1);color:var(--accent);font-weight:600}.row-actions{display:flex;gap:var(--space-1);justify-content:flex-end}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-pill);overflow:hidden}.segmented button{border:none;border-radius:0;padding:.45rem .9rem}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.table-scroll{overflow-x:auto;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter)}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}th,td{padding:var(--space-2) .4rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:baseline;white-space:nowrap}thead th{color:var(--muted);font-weight:600}tbody th{font-weight:500}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.wrap{white-space:normal}tr.total th,tr.total td{font-weight:600}tbody tr:last-child>th,tbody tr:last-child>td{border-bottom:none}dialog.sheet{width:min(560px,100vw);max-width:100vw;max-height:100dvh;margin:auto;padding:var(--gutter);border:none;border-radius:var(--radius-sheet);background:var(--bg);color:var(--text)}dialog.sheet::backdrop{background:#00000073}@media(max-width:600px){dialog.sheet{width:100vw;height:100dvh;border-radius:0;margin:0}}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.sheet-head h2{margin:0}.confirm{border-color:var(--error);padding:var(--space-3);margin-bottom:var(--space-3)}.confirm p{margin:0 0 .6rem}.confirm-actions{display:flex;gap:var(--space-2)}.tiles{display:grid;gap:var(--space-3);margin:var(--space-4) 0}.tile{display:grid;gap:.2rem;padding:var(--space-4);color:var(--text);text-decoration:none}.tile span{color:var(--muted);font-size:var(--text-sm)}.dash-grid{display:grid;gap:var(--space-4);margin:var(--space-6) 0;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dash-grid .card h2{margin-top:0}.big-figure{font-size:var(--text-xl);font-weight:700;margin:0 0 var(--space-3);font-variant-numeric:tabular-nums}.count-head{position:sticky;top:49px;background:var(--bg);padding-bottom:var(--space-2);z-index:5}.progress{display:grid;gap:var(--space-1);margin:var(--space-2) 0;font-weight:600}.progress progress{width:100%;height:.6rem;accent-color:var(--accent)}.search{margin-top:var(--space-1)}.count-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.count-row{display:grid;gap:.4rem;padding:var(--space-3)}.count-row .label{font-weight:600}.count-row.saved{background:var(--ok-bg);border-color:transparent;grid-template-columns:1fr auto;align-items:center}.count-row.saved .label{grid-column:1 / -1}.count-row.saved .result{display:grid}.count-row.saved .result strong{color:var(--ok)}.entry{display:grid;grid-template-columns:1fr auto;gap:var(--space-2)}.pack-count{margin-bottom:var(--space-6)}.pack-count caption{text-align:left;font-size:var(--text-lg);font-weight:600;padding:var(--space-2) 0}.pack-count td,.pack-count th{vertical-align:middle}.pack-count td input{width:6rem}.pack-count tr.saved strong{color:var(--ok)}.pack-count tr.saved>*{background:var(--ok-bg)}.finish{display:grid;gap:var(--space-3);margin-top:2rem}.tabs{display:flex;gap:.4rem;margin:.6rem calc(-1 * var(--gutter)) 0;padding:0 var(--gutter) .4rem;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap;padding:.55rem .9rem;border-radius:var(--radius-pill);font-size:.95rem}.tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.tab-count{font-weight:500;opacity:.8;margin-left:.2rem;font-variant-numeric:tabular-nums}.tab.complete:not(.active){border-color:var(--ok);color:var(--ok)}.tab-summary{margin:var(--space-3) 0}.spice-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.spice-row{width:100%;text-align:left;display:grid;gap:.15rem;font-weight:400;padding:var(--space-3);border-radius:var(--radius-card)}.spice-row .label{font-weight:600;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.ticks{border:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.ticks legend{font-weight:600;margin-bottom:.4rem;padding:0}.tick{display:inline-flex;align-items:center;gap:.4rem;padding:var(--space-2) .8rem;border:1px solid var(--line);border-radius:var(--radius-pill);font-weight:500;cursor:pointer}.tick.on{border-color:var(--accent);background:var(--warning-bg)}.tick input{width:auto;margin:0;accent-color:var(--accent)}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:var(--space-2) 0}.week-nav button{padding:.4rem .9rem;font-size:1.2rem}.shift-list{list-style:none;margin:var(--space-2) 0;padding:0;display:grid;gap:var(--space-2)}.shift-row{display:grid;gap:var(--space-1);padding:.7rem .8rem}.shift-row.edited{border-color:var(--accent)}.shift-main{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:baseline}.shift-editor{padding:.8rem;border-color:var(--accent)}.team-person{margin-top:var(--space-6)}.team-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.team-head h2{margin:0}.deleted-shifts{margin-block:var(--space-2);padding:var(--space-2) var(--space-3);border-left:3px solid var(--line)}.deleted-shifts ul{margin:var(--space-1) 0 0;padding-left:var(--space-4)}.labor-summary{margin-block:var(--space-4);padding:var(--space-3) var(--space-4)}.labor-summary h2{margin:0 0 var(--space-2);font-size:1rem}.entry-panel{padding:var(--space-4) 0}.grind-item{display:grid;gap:.15rem;padding:.6rem var(--space-3)}.recent-list{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.parts-list{list-style:none;padding:0;margin:var(--space-1) 0;display:grid;gap:.3rem}.parts-list li.short{color:var(--error)}.product-card{padding:.8rem;margin-bottom:.8rem}.part-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.add-part{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-top:.4rem}.add-part select{width:auto;flex:1 1 12rem}
