:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1e2c36;background:#f3f5f6;font-size:16px;line-height:1.5;--ink:#1d2b38;--muted:#52616c;--line:#cfd7db;--gold:#edb84b;--blue:#15526c}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:#165b78;text-underline-offset:3px}button{padding:.65rem .9rem;border:1px solid var(--ink);border-radius:5px;background:white;color:var(--ink);font-weight:650;cursor:pointer;min-height:44px}button:hover{background:#f1f4f6}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--ink);color:white}.primary:hover{background:#354a5b}.quiet{background:transparent;border-color:#bac6cd;font-size:.9rem}.remove{font-size:.875rem;padding:.4rem .65rem;min-height:40px;color:#823620;border-color:#dec5bd;align-self:end}input,select{display:block;width:100%;min-width:0;min-height:44px;margin-top:.3rem;padding:.55rem .65rem;background:#fff;border:1px solid #aebbc3;border-radius:4px;color:var(--ink)}input:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #007a9b;outline-offset:3px}input[type=checkbox]{width:22px;height:22px;min-height:22px;flex:0 0 22px;margin:.2rem 0;accent-color:var(--blue)}label{display:block;font-size:.875rem;font-weight:650}h1,h2,h3,p{margin:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:2.05rem;line-height:1.15;letter-spacing:-.04em}h2{font-size:1.25rem;line-height:1.3}h3{font-size:1rem;margin:1.4rem 0 .4rem}.mast{background:var(--ink);color:white;padding:1.5rem max(1.5rem,calc((100vw - 1440px)/2));display:flex;justify-content:space-between;gap:1.5rem;align-items:center;border-bottom:5px solid var(--gold)}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#d3dde4;margin-bottom:.35rem}.toplinks{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.toplinks a{color:#fff;font-size:.875rem}.private{font-size:.7rem;letter-spacing:.1em;border:1px solid #647580;padding:.35rem .55rem;border-radius:3px}main{max-width:1440px;padding:1.8rem 1.5rem;margin:auto}.intro{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.2rem}.intro h2{font-size:1.5rem}.intro p{max-width:650px;color:var(--muted);margin-top:.4rem}.file-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;max-width:440px}.file-actions button{font-size:.875rem}.status-strip{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;margin-bottom:1.1rem;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(330px, .86fr) minmax(0,1.3fr);gap:1.25rem;align-items:start}.panel{background:#fff;border:1px solid var(--line);padding:1.35rem;border-radius:8px;margin-bottom:1.25rem;min-width:0}.section-head{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1.2rem}.section-head p{font-size:.875rem;color:var(--muted);margin-top:.2rem}.step{font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:750;background:#e9eef1;padding:.3rem .55rem;border-radius:4px}.hint{font-size:.875rem;color:var(--muted);margin:.5rem 0 .85rem}.ingredient{border-top:1px solid #dde3e7;padding:.8rem 0;display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:.6rem}.ingredient .name{grid-column:1/-1}.ingredient .remove{grid-column:2}.preferment{padding:1rem;background:#f3f6f7;border:1px solid #d8e0e4;border-radius:5px;margin:.8rem 0}.pref-fields,.target-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.preferment>.remove{margin-top:.7rem}.pref-fields{margin:.6rem 0}.ledger{background:#f3f6f7;border-left:4px solid var(--blue);margin-top:1.3rem;padding:1rem;font-size:.875rem}.ledger p+p{margin-top:.4rem}.error{color:#962e1b;margin-top:.8rem}.warning,.message{padding:.9rem 1rem;background:#fff1ca;border:1px solid #bd9340;border-radius:5px;font-size:.9rem;margin-bottom:1rem}.message.success{background:#e8f2f0;border-color:#80aaa2}.restore-panel{background:white;border:2px solid var(--blue);padding:1.5rem;border-radius:8px;margin-bottom:1.2rem;max-width:900px}.restore-panel p{margin:.7rem 0}.actions{display:flex;gap:.7rem;margin-top:.7rem;flex-wrap:wrap}.badge{font-size:.75rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase;background:#e8f2f0;color:#23594f;padding:.35rem .6rem;margin-left:auto;border-radius:4px}.badge.blocked{background:#fff1ca;color:#795507}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin-bottom:1rem}.metric{padding:1rem .7rem;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{border:0}.metric strong{display:block;font-size:1.75rem;font-family:Georgia,serif;font-weight:normal;font-variant-numeric:tabular-nums;line-height:1.2}.metric span{display:block;font-size:.8rem;color:var(--muted);margin-top:.25rem}.bowl-map{display:flex;gap:5px;flex-wrap:wrap;margin:.5rem 0 1.25rem}.bowl-tile{background:#eff3f5;border:1px solid #d3dde2;padding:.5rem .65rem;min-width:80px;font-size:.85rem}.bowl-tile strong{display:block;color:var(--ink)}.bowl-picker{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.8rem}.bowl-picker label{min-width:140px}#bowl-meta{font-size:.875rem;text-align:right;color:var(--muted)}.weigh-card{border:1px solid var(--line);border-radius:5px;margin:.6rem 0;overflow:hidden}.weigh-top{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;align-items:center;background:#f7f9fa}.check-label{display:flex;align-items:flex-start;gap:.7rem;font-size:1rem;font-weight:600;overflow-wrap:anywhere}.weigh-amount{font-size:1.4rem;white-space:nowrap;font-weight:750;font-variant-numeric:tabular-nums}.audit-line{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding:.5rem 1rem;font-size:.8125rem;color:var(--muted);border-top:1px solid #e1e7eb;overflow-wrap:anywhere}.zero{border:2px solid #ad4429}.composition{margin:.5rem 0 1rem;padding:.9rem 1rem;border-left:3px solid var(--gold);background:#fffaee;font-size:.875rem}.composition p+p{margin-top:.35rem}.bowl-total{display:flex;justify-content:space-between;border-block:2px solid var(--ink);padding:.65rem 0;font-weight:750;margin:1rem 0}.reconcile{font-size:.875rem;color:var(--muted)}details{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:1rem}summary{font-weight:650;cursor:pointer;min-height:44px}.total-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid #e2e7ea;font-size:.9rem;overflow-wrap:anywhere}.total-row strong{white-space:nowrap}.review{border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1rem}.review p{font-size:.875rem;color:var(--muted);margin:.6rem 0}.print-range{display:flex;gap:1rem;margin-top:1rem;max-width:320px}.limits{max-width:950px;margin:1.4rem 0;color:var(--muted)}.limits h2{color:var(--ink);font-size:1rem}.limits p{margin-top:.6rem;font-size:.9rem}footer{max-width:1440px;margin:auto;padding:1.5rem;display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;border-top:1px solid var(--line)}footer nav{display:flex;gap:1rem;flex-wrap:wrap}.skip{position:absolute;left:1rem;top:-80px;padding:1rem;background:white;z-index:10}.skip:focus{top:1rem}#print-area{display:none}[hidden]{display:none!important}.document{max-width:800px;margin:auto;background:white;padding:2rem}.document h1{margin-bottom:1.2rem}.document h2{margin:1.5rem 0 .5rem}.document p,.document li{margin-bottom:.8rem}.document pre{white-space:pre-wrap;overflow-wrap:anywhere}.document nav{margin-bottom:2rem}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(290px,.85fr) minmax(0,1fr)}.intro{display:block}.file-actions{justify-content:flex-start;max-width:none;margin-top:1rem}.metrics .metric strong{font-size:1.5rem}.weigh-top{padding:.7rem}.weigh-amount{font-size:1.2rem}.packet.panel{padding:1rem}}
@media(max-width:760px){.mast{padding:1.2rem;display:block}.toplinks{margin-top:1rem;gap:1rem}.workspace{display:block}main{padding:1.2rem 1rem}.intro h2{font-size:1.35rem}.panel{padding:1rem}.status-strip{flex-direction:column;gap:.3rem}.metric strong{font-size:1.5rem}.weigh-top{align-items:flex-start;flex-wrap:wrap}.weigh-amount{margin-left:auto}.bowl-picker{align-items:center}footer{display:block;padding:1.2rem 1rem}footer nav{margin-top:.8rem}.document{padding:1.3rem}}
@media print{@page{size:auto;margin:12mm}html,body{background:#fff;color:#000;font-size:10pt}#screen,.skip,noscript{display:none!important}#print-area{display:block!important}#print-area[aria-hidden]{display:block}.print-page{break-after:page;page-break-after:always;min-height:235mm;position:relative;font-family:Arial,sans-serif;padding-bottom:12mm}.print-page:last-child{break-after:auto;page-break-after:auto}.print-page h1{font-size:20pt;margin-bottom:3mm;font-family:Georgia,serif;letter-spacing:0}.print-page h2{font-size:15pt;margin-bottom:3mm}.print-page p{font-size:10pt;margin:2mm 0;overflow-wrap:anywhere}.print-page table{border-collapse:collapse;width:100%;table-layout:fixed;margin:4mm 0;font-size:9pt}.print-page th,.print-page td{padding:2mm 1.5mm;border:1px solid #aaa;text-align:left;vertical-align:top;overflow-wrap:anywhere}.print-page th{background:#eee}.print-page tr{break-inside:avoid}.print-page th:nth-child(1){width:7%}.print-page th:nth-child(2){width:29%}.print-page th:nth-child(3){width:23%}.print-page th:nth-child(4){width:19%}.print-page th:nth-child(5){width:22%}.print-page .print-foot{position:absolute;bottom:0;font-size:8pt;border-top:1px solid #888;width:100%;padding-top:2mm}.print-page .audit-box{border:1px solid #aaa;padding:2.5mm;margin-top:3mm;font-size:9pt}.print-page .audit-box p{font-size:9pt}.print-page .print-total{font-size:13pt;font-weight:bold;border-block:2px solid #000;padding:2mm 0;break-inside:avoid}}
/* Reflow at enlarged text sizes: no fixed-height controls or minimum-width panels. */
.section-head{flex-wrap:wrap}.section-head>div{flex:1;min-width:0}.section-head h2,.metric strong,.bowl-total span,.total-row strong{overflow-wrap:anywhere}.bowl-picker{flex-wrap:wrap}.total-row{flex-wrap:wrap}.print-range label{min-width:0;flex:1}button{max-width:100%}.weigh-amount{white-space:normal;overflow-wrap:anywhere}.bowl-total{gap:1rem;flex-wrap:wrap}
@media(max-width:440px){.metrics{grid-template-columns:1fr}.metric,.metric:first-child{padding:.65rem 0;border-right:0;border-bottom:1px solid var(--line)}.ingredient,.target-grid,.pref-fields{grid-template-columns:1fr}.ingredient .remove{grid-column:1}.ingredient .name{grid-column:1}.weigh-top{gap:.6rem}.private{max-width:100%;overflow-wrap:anywhere}}
