.library-toolbar{display:flex;gap:12px;align-items:center;padding:0 16px 12px}.library-toolbar>span{font-size:12px;color:var(--muted);max-width:320px}.library-toolbar .button{flex-shrink:0}.row-tool{display:block;border:0;background:transparent;color:var(--accent);padding:5px 0;font-size:12px;min-height:30px;text-align:left;text-decoration:underline;text-underline-offset:3px}.row-tool:hover{color:var(--accent-hover)}.stock-equivalent{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.mw-reference{color:var(--muted);font-size:12px;line-height:1.6;margin-top:7px;overflow-wrap:anywhere}.mw-reference strong{font-weight:550;color:var(--ink)}.ref-form{display:block;font-size:12px}.library-filters{display:grid;grid-template-columns:1fr 150px;gap:20px}.library-filters .field{min-width:0}#library-dialog{max-width:760px}#library-target{margin-block:12px}.library-results{border-top:1px solid var(--line);max-height:45dvh;overflow-y:auto}.library-entry{display:flex;justify-content:space-between;gap:20px;padding:12px 3px;border-bottom:1px solid var(--line)}.library-entry>div:first-child{min-width:0;overflow-wrap:anywhere}.library-entry h3{margin:4px 0}.library-entry p{font-size:13px;color:var(--muted);margin:4px 0}.library-entry .library-source{font-size:12px}.library-pick{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0;padding-top:4px}.library-pick strong{font-size:17px;font-weight:550;font-variant-numeric:tabular-nums}.library-pick small{display:block;color:var(--muted);font-size:12px;font-weight:400;text-align:right}.custom-lipid-form{padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.custom-lipid-form summary{color:var(--ink);font-size:14px;padding:5px 0;margin-bottom:12px}.average-check{display:flex;align-items:center;gap:8px;font-size:13px;margin:16px 0}.stock-preview{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-block:1px solid var(--line);padding:16px 0;margin:20px 0}.stock-preview span{font-size:10px;letter-spacing:1px;color:var(--muted)}.stock-preview strong{display:block;font-size:24px;font-weight:550;font-variant-numeric:tabular-nums;margin-top:5px}.stock-preview small{font-size:14px;font-weight:400}.lab-stock .mw-reference{margin-top:12px}
@media(max-width:600px){.library-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.library-toolbar>span{max-width:100%}.library-filters{grid-template-columns:minmax(0,1fr) 100px;gap:12px}.library-entry{gap:12px}.library-pick .button{font-size:12px;min-height:40px;padding-inline:8px}.library-results{max-height:40dvh}.stock-preview{gap:12px}.stock-preview strong{font-size:22px}}
@media(max-width:360px){.stock-preview{grid-template-columns:1fr}}
@media print{.library-toolbar,.row-tool{display:none!important}.mw-reference a{color:var(--ink);text-decoration:none}}
.cell-hint{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;margin-top:4px;font-size:12px;line-height:1.5;color:var(--muted)}.cell-hint:empty{display:none}.cell-hint .stock-equivalent{display:inline;margin:0}.cell-hint .row-tool{display:inline;padding:0;min-height:0;font-size:12px}
.mw-source{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mw-source a{color:var(--muted);text-decoration:underline dotted;text-underline-offset:3px}.mw-source a:hover{color:var(--ink)}.mw-source strong{font-weight:550;color:var(--ink)}
.batch-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;margin-top:5px;color:var(--muted)}.batch-inputs input,.field .batch-inputs input{margin-top:0}.batch-inputs .input-unit input{padding-right:28px}
.mw-fixed{display:flex;align-items:center;gap:2px;min-height:36px;padding:0 2px 0 7px;font-size:13px;font-variant-numeric:tabular-nums}.mw-edit,.mw-reset{border:0;background:transparent;padding:0;min-height:0;font-size:12px;color:var(--accent);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.mw-edit{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border-radius:6px;color:var(--muted);text-decoration:none;opacity:.7}.mw-edit svg{width:14px;height:14px}.mw-edit:hover,.mw-edit:focus-visible{opacity:1;background:var(--select-bg-quiet)}.mw-edit:hover,.mw-reset:hover{color:var(--accent-hover)}
@media(max-width:600px){.mw-fixed{min-height:40px;font-size:16px}}
@media print{.mw-edit,.mw-reset{display:none!important}}
.heading-tools{display:flex;align-items:baseline;gap:14px}.heading-tools .text-button{margin:0;white-space:nowrap}
/* Name first so a formulation is recognised at a glance; composition and parts sit under it. */
/* No gap between entries: the three lines of one entry sit tight and the padding
   around them is the only whitespace, so a hover band reads as exactly one template. */
.template-menu .menu-list{left:auto;right:0;min-width:306px;max-height:min(60vh,460px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.template-menu .menu-button{margin:0}
.template-menu .menu-list button{min-height:0;padding:9px 11px;line-height:1.35}
.template-menu .menu-list button:hover,.template-menu .menu-list button:focus-visible{background:var(--select-bg)}
.template-menu .menu-list button strong{display:block;font-weight:600}
.template-menu .menu-list button small{display:block;color:var(--muted);font-size:12px}
.template-menu .menu-list button small:last-child{font-variant-numeric:tabular-nums}
.blank-row-button{margin:0 0 8px}
.details-card .detail-fields{grid-template-columns:1fr}.details-card textarea{min-height:88px}
.results-column .save-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:16px}.results-column .save-strip .button-group{display:contents}.results-column .save-strip #save-recipe{grid-column:1/-1;order:1}.results-column .save-strip p{grid-column:1/-1;order:2;max-width:none;text-align:center}
