/* Compact solution inputs; keep meaningful controls and results visible. */
body .dilution-app,body .molarity-app,body .mastermix-app{border:0;box-shadow:none;background:transparent;padding-top:20px}
body .dilution-app .tool-hero,body .molarity-app .tool-hero{margin-bottom:24px}
body .dilution-app .tool-flow-step,body .molarity-app .tool-flow-step{border:0;background:transparent;padding:16px 0}
body .dilution-app .calc-mode-tabs,.solution-modes{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px;border:0}
body .dilution-app .tool-tab-btn,.solution-mode{flex:0 1 auto;width:auto;min-height:44px;border:0;border-radius:6px;background:#eeeef0;padding:10px 16px;font:inherit;color:#343438;cursor:pointer}
body .dilution-app .tool-tab-btn.active,.solution-mode[aria-selected=true]{background:#fbe7f2;color:#9b2165}
.solution-mode:focus-visible,.solution-unit:focus-visible{outline:2px solid #d42b8c;outline-offset:3px}
.solution-unit{font:inherit;color:inherit;background:white;border:1px solid #d7d7db;border-radius:6px;padding:8px;min-height:44px;width:100px;flex:0 0 100px;max-width:100%}
body .dilution-app .input-group,body .molarity-app .input-group{gap:8px;max-width:270px;align-items:stretch}
body .dilution-app .input-group .tool-input,body .molarity-app .input-group .tool-input{width:12ch;min-width:0;flex:1}
body .dilution-app .calc-result-panel,body .molarity-app .calc-result-panel{border:0;border-radius:6px;background:#f3f4f4;padding:18px;margin-top:20px}
body .dilution-app .calc-result-main,body .molarity-app .calc-result-main{color:#29292e;font-variant-numeric:tabular-nums}
body .dilution-app .lab-method-note,body .molarity-app .lab-method-note{font-size:16px;max-width:65ch;color:#666}
body .dilution-app .calc-example,body .molarity-app .calc-example{background:transparent;border:0;text-align:left;padding:8px 0;color:#56565c;font:inherit;text-decoration:underline;text-underline-offset:3px}
.solution-error{color:#a12236;min-height:1.5em;margin:10px 0}
.solution-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}
.solution-toolbar button{min-height:44px}
@media(max-width:600px){body .dilution-app .calc-field-grid,body .molarity-app .calc-field-grid{grid-template-columns:minmax(0,1fr)}body .dilution-app .calc-mode-tabs,.solution-modes{gap:6px}body .dilution-app .tool-tab-btn,.solution-mode{padding:9px 12px}body .dilution-app .input-group,body .molarity-app .input-group{max-width:100%}}
body .molarity-app [hidden],body .mastermix-app [hidden]{display:none!important}
.solution-mode[aria-pressed=true]{background:#fbe7f2;color:#9b2165}
/* Match field length to expected input; do not stretch short values across the page. */
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app,.mastermix-app){border:0;box-shadow:none;padding:20px 24px;background:#fff}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .tool-hero{margin-bottom:12px}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .tool-flow-step{padding:12px 0;margin:0;border:0}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .calc-field-grid{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:flex-start}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .calc-field{flex:0 1 auto;width:auto;max-width:100%;min-width:0}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .calc-field-grid .tool-input[type=number]{width:11ch;max-width:11ch;flex:0 1 11ch;min-width:0}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .calc-field-grid .input-group{width:auto;max-width:260px}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .mm-select-control{max-width:100%;width:auto;flex:0 1 auto}
body.modules-page.modules-system.modules-tool .molarity-app .calc-preset-row{max-width:380px}
body.modules-page.modules-system.modules-tool .molarity-app .calc-save-row{max-width:400px;margin-top:12px;gap:12px}
body.modules-page.modules-system.modules-tool .molarity-app #mol_custom_name{width:25ch;max-width:100%}
body.modules-page.modules-system.modules-tool .molarity-app #mol_mw{width:25ch;max-width:100%}
body.modules-page.modules-system.modules-tool .molarity-app #mol_purity{width:8ch;max-width:8ch}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .calc-result-panel{max-width:600px;width:auto;background:#f3f4f4;border:0;color:#303035}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) :is(.calc-result-value,.calc-result-main,.calc-result-label){color:#303035}
body.modules-page.modules-system.modules-tool .molarity-app .calc-result-value{font-size:30px;line-height:1.15}
body.modules-page.modules-system.modules-tool .molarity-app .calc-result-recipe{font-size:16px;color:#626267;margin-top:8px}
body.modules-page.modules-system.modules-tool .molarity-app #mol_output_unit_field{display:inline-flex;gap:8px;align-items:center;margin:0 0 8px}
body.modules-page.modules-system.modules-tool .molarity-app #mol_output_unit_field .mm-select-control{width:90px}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .calc-step-head{margin-bottom:12px}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .calc-example{margin:4px 0}
@media(min-width:1000px){body.modules-page.modules-system.modules-tool .molarity-app section:first-of-type .tool-flow-content{display:grid;grid-template-columns:380px auto;column-gap:24px}body.modules-page.modules-system.modules-tool .molarity-app section:first-of-type .calc-step-head{grid-column:1/-1}body.modules-page.modules-system.modules-tool .molarity-app .calc-save-row{margin:0}}
@media(max-width:600px){body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app,.mastermix-app){padding:14px 12px}body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .calc-field-grid{gap:14px}body.modules-page.modules-system.modules-tool .molarity-app .calc-save-row{flex-wrap:wrap}body.modules-page.modules-system.modules-tool .molarity-app #mol_mw{width:23ch}}

/* Concentration recipe: short inputs, output in the same row. */
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-settings{display:flex;flex-wrap:wrap;gap:12px 20px;margin:16px 0 20px}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-field{display:flex;flex-direction:column;gap:6px;font-size:14px;width:auto}
body.modules-page.modules-system.modules-tool .mastermix-app :is(.mmc-number,.mmc-name,.mmc-unit){box-sizing:border-box;min-height:42px;padding:8px 10px;border:0;border-radius:4px;background:#f2f3f4;color:#303035;font:inherit;max-width:100%}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-number{width:10ch}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-name{width:19ch}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-unit{width:8ch}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table{width:100%;border-collapse:collapse;font-size:15px}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table :is(th,td){padding:8px 6px;border-bottom:1px solid #e6e6e8;text-align:left;font-variant-numeric:tabular-nums}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table button{border:0;background:transparent;font:inherit;font-size:24px;min-width:36px;min-height:40px;color:#666}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-summary{padding:16px;background:#f3f4f4;max-width:65ch;border-radius:6px;color:#303035}
body.modules-page.modules-system.modules-tool .mastermix-app .solution-toolbar button{border:0;border-bottom:1px solid #777;background:transparent;padding:8px 4px;font:inherit;color:#444}
body.modules-page.modules-system.modules-tool .mastermix-app .solution-toolbar button:disabled{opacity:.45}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-summary:empty{display:none}
body.modules-page.modules-system.modules-tool .mastermix-app #mmc-dilutions{font-size:15px;max-width:75ch;color:#666}
@media(max-width:760px){
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table thead{display:none}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table :is(tbody,tr){display:block}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table tr{position:relative;padding:12px 0;border-bottom:1px solid #ddd}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table td{display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;padding:4px 0}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table td[data-label]::before{content:attr(data-label);font-size:13px;color:#65656a}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table td:last-child{position:absolute;top:7px;right:0}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table td:first-child{padding-right:32px}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table .mmc-name{width:17ch}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table tfoot tr{display:flex;gap:16px}
}

body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app) .calc-field-grid .tool-input[type=number]{flex:none;height:44px;background:#f3f4f4}
body.modules-page.modules-system.modules-tool .molarity-app .formula-hint-wrapper{position:static;width:auto}
body.modules-page.modules-system.modules-tool .molarity-app .formula-hint{font-size:12px;color:#666}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app,.mastermix-app) .back-link-wrapper{margin-bottom:16px}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app,.mastermix-app) .tool-title{margin-bottom:8px}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app,.mastermix-app) .tool-hero{margin-bottom:12px}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app,.mastermix-app) .solution-modes{margin:12px 0}
body.modules-page.modules-system.modules-tool .molarity-app .calc-save-row{padding:0;border:0}

body.modules-page.modules-system.modules-tool .mastermix-app .mm-flow-step{padding:12px 0;margin:0;border:0}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-step-head{margin-bottom:12px}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-setup-grid{display:flex;flex-wrap:wrap;gap:16px 24px;border:0;align-items:center}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-setting-field{padding:0;border:0;flex:0 1 auto}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-value-input input{width:9ch;font-size:18px;font-weight:500;min-height:44px}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-run-total{padding:10px 16px;background:#f3f4f4;border:0;border-radius:6px;color:#444}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-run-total :is(strong,span,small){color:#444}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-table :is(td,th){padding-top:8px;padding-bottom:8px}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-input{width:10ch;max-width:10ch}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-select-control{width:24ch;max-width:100%}

/* On a phone, keep the three concentration inputs beside each other. */
@media(max-width:760px){
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table .mmc-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;padding:12px 0}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table .mmc-row td{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table .mmc-row td:first-child{grid-column:1/-1;flex-direction:row;align-items:center}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table .mmc-row td:last-child{display:block}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table .mmc-row :is(.mmc-number,.mmc-unit){width:100%;padding:8px 4px}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table .mmc-row td[data-output]{font-size:17px}
}

body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app,.mastermix-app) .back-link-wrapper{padding:0}

/* Owner review 2026-09-30: common modes, aligned fields and clear selected state. */
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app,.mastermix-app) :is(.solution-mode,.tool-tab-btn){background:#eeeef0!important;color:#343438!important;font-weight:600;border-radius:6px;min-height:44px;border:0!important;box-shadow:none!important}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app,.mastermix-app) :is(.solution-mode[aria-pressed=true],.tool-tab-btn.active){background:#df0089!important;color:#fff!important}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app,.mastermix-app) :is(.solution-mode,.tool-tab-btn):hover{background:#e0e0e3!important}
body.modules-page.modules-system.modules-tool :is(.molarity-app,.dilution-app,.mastermix-app) :is(.solution-mode[aria-pressed=true],.tool-tab-btn.active):hover{background:#bb0073!important;color:white!important}
body.modules-page.modules-system.modules-tool .molarity-app section:first-of-type .tool-flow-content{align-items:start}
body.modules-page.modules-system.modules-tool .molarity-app :is(.calc-preset-row,.calc-save-row){margin:0;padding:0;border:0;align-self:start;align-items:end}
body.modules-page.modules-system.modules-tool .molarity-app .calc-save-row .calc-field{margin:0}
body.modules-page.modules-system.modules-tool .molarity-app .calc-save-row label{white-space:normal}
body.modules-page.modules-system.modules-tool .molarity-app #btn_save_preset{min-height:44px;margin:0;align-self:end}
body.modules-page.modules-system.modules-tool .molarity-app #mol_output_unit_field{flex-direction:row;font-size:14px;align-items:center;gap:12px}
body.modules-page.modules-system.modules-tool .molarity-app #mol_output_unit_field label{margin:0}
body.modules-page.modules-system.modules-tool .molarity-app #mol_status:empty{display:none}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-field{font-size:.76rem;font-weight:800;color:#64748b;gap:6px}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-settings{gap:16px 24px;margin:0;align-items:start}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-field .mmc-number{width:9ch;font-size:18px;font-weight:500;color:#292932;padding:0;min-height:44px}
body.modules-page.modules-system.modules-tool .mastermix-app :is(.mmc-table,.mm-table){font-size:16px;border-collapse:collapse;border-top:2px solid #343438}
body.modules-page.modules-system.modules-tool .mastermix-app :is(.mmc-table,.mm-table) :is(th,td){text-align:left;vertical-align:middle;padding:8px 10px}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table :is(.mmc-number,.mmc-name,.mmc-unit){font:inherit;font-weight:600}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-control-note{color:#666;font-size:16px;margin:8px 0 0}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-summary{margin-top:12px;font-weight:600;font-size:16px}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-step-head p{font-size:16px}
@media(max-width:760px){body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table .mmc-row td{padding:4px 0}body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table .mmc-row td:first-child{padding-right:32px}}

body.modules-page.modules-system.modules-tool .molarity-app .calc-save-row{padding:0!important;border:0!important}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-summary.mm-recipe-summary{max-width:none;background:transparent;border-radius:0;padding:4px 0 4px 16px;border-left:3px solid #df0089;display:grid}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-summary:empty{display:none}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table td[data-output=batch],body.modules-page.modules-system.modules-tool .mastermix-app #mmc-batch-water{background:#fff5fb;font-weight:700}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-working-dilutions{font-size:16px;color:#666}

body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table th{width:auto}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table{table-layout:auto}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table td[data-output]{white-space:nowrap}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table th:nth-child(1){width:24%}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table th:nth-child(2),body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table th:nth-child(3){width:15%}
body.modules-page.modules-system.modules-tool .molarity-app #custom_save_block{padding:0!important;border:0!important}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-recipe-summary{grid-template-columns:1fr auto;gap:6px 16px;align-items:center}
body.modules-page.modules-system.modules-tool .mastermix-app .mm-recipe-summary small{grid-column:1/-1;font-size:16px;line-height:1.45}
body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table td:last-child{background:transparent}
@media(max-width:760px){body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table td[data-output]{white-space:normal}body.modules-page.modules-system.modules-tool .mastermix-app .mmc-table td[data-output]::before{font-size:12px;white-space:normal}}
