
    :root{--ink:#182820;--muted:#758078;--forest:#183b31;--forest2:#235647;--mint:#e7f1ea;--sand:#faf8f3;--border:#e5e8e1;--gold:#d6a65b;--white:#fff;--shadow:0 8px 24px rgba(28,47,37,.06)}
    *{box-sizing:border-box} html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--sand);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}a{color:var(--forest2)}
    .layout{min-height:100vh;display:grid;grid-template-columns:295px minmax(0,1fr)}.sidebar{background:var(--forest);color:#fff;padding:30px 20px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:26px}.brand{display:flex;gap:11px;align-items:center;padding:0 9px}.brandIcon{width:43px;height:43px;background:#f1e0bf;color:var(--forest);border-radius:14px;display:grid;place-items:center;font-size:24px;font-weight:700}.brand strong{display:block;font-family:Georgia,serif;font-size:24px;letter-spacing:-.7px;line-height:1}.brand small{font-size:9px;letter-spacing:2.1px;text-transform:uppercase;color:#adccbd;display:block;margin-top:5px}
    .navhead{font-size:10px;text-transform:uppercase;letter-spacing:1.8px;color:#9bbcaa;font-weight:800;padding:0 13px;margin:0 0 12px}.navitem{width:100%;border:0;color:#d6e6db;background:transparent;border-radius:12px;text-align:left;padding:13px 13px;display:flex;align-items:center;justify-content:space-between;gap:9px;font-weight:600;font-size:14px;margin:3px 0}.navitem:hover,.navitem.active{background:#2e594a;color:#fff}.navitem span:first-child{display:flex;align-items:center;gap:12px}.navitem em{font-size:11px;font-style:normal;background:#45695b;color:#e0eee5;border-radius:7px;padding:2px 6px}
    .sideBottom{margin-top:auto;border-top:1px solid #456356;padding-top:20px}.loc{font-size:12px;font-weight:600;color:#b5d0be;display:flex;gap:8px;align-items:center}.user{margin-top:12px;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#527361;font-weight:700}.user strong{display:block;font-size:12px}.user small{display:block;font-size:11px;color:#bacdbf;margin-top:2px}.small-link{background:transparent;color:#c5d8ca;border:0;text-decoration:underline;padding:0;font-size:11px}
    .main{padding:30px clamp(20px,4vw,58px) 60px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:30px}.eyebrow{color:#5a866d;letter-spacing:2px;font-size:10px;text-transform:uppercase;font-weight:800}.headline{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,3.5vw,46px);letter-spacing:-1.35px;font-weight:500;margin:8px 0 6px}.subtle{color:var(--muted);font-size:13px;line-height:1.55}.topactions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pill{border-radius:999px;background:#f1f5ed;color:#366349;border:1px solid #dde9dc;padding:7px 12px;font-weight:750;font-size:11px;white-space:nowrap}.pill.warn{background:#fff0d8;border-color:#f1d8a7;color:#825b20}.pill.gray{background:#f1f2ee;color:#617064;border-color:#e3e5df}
    .btn{border-radius:11px;border:1px solid var(--border);padding:11px 16px;background:white;color:#24463a;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px}.btn:hover{border-color:#9bbcaa}.btn.primary{background:var(--forest);border-color:var(--forest);color:white}.btn.primary:hover{background:var(--forest2)}.btn.ghost{background:transparent}.btn.danger{color:#9e3939;border-color:#edd9d9}.btn.sm{padding:7px 11px;min-height:32px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between;margin:0 0 19px}.searchbox{height:48px;width:min(430px,100%);display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--border);border-radius:12px;padding:0 14px;box-shadow:var(--shadow);color:#819184}.searchbox input{border:0;outline:0;flex:1;min-width:0;color:var(--ink);font-size:14px;background:transparent}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--border);background:#fff;padding:10px 13px;border-radius:10px;font-size:12px;font-weight:750;color:#68786c}.filter.active{background:#e5efe6;border-color:#b9d0be;color:#1e5b3b}
    .content{display:grid;grid-template-columns:minmax(230px,350px) minmax(0,1fr);gap:20px;align-items:start}.listpanel,.recipepanel,.simplepanel{border:1px solid var(--border);border-radius:18px;background:white;box-shadow:var(--shadow);overflow:hidden}.listhead{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;font-size:12px;font-weight:800;letter-spacing:.2px;color:#52665a}.listbody{max-height:calc(100vh - 290px);min-height:365px;overflow-y:auto}.recipeItem{border:0;border-bottom:1px solid #f1f2ed;width:100%;padding:14px 17px;background:white;display:flex;text-align:left;align-items:center;gap:12px;min-height:72px}.recipeItem:hover{background:#f7faf6}.recipeItem.active{background:#edf6ee;box-shadow:inset 3px 0 #3b7555}.itemIcon{height:39px;width:39px;border-radius:12px;background:#f1e5ce;color:#8e663a;display:grid;place-items:center;font-size:17px;flex-shrink:0}.itemIcon.sorbet{background:#f7e1e2;color:#a45a61}.itemIcon.sugar{background:#e8e7f7;color:#615ba1}.recipeItem strong{display:block;font-size:13px;line-height:1.3}.recipeItem small{display:block;color:#94a095;font-size:11px;margin-top:4px}.recipeItem .arr{margin-left:auto;color:#92a497}.detailTop{background:#f3f7f1;padding:26px 28px 23px;position:relative;border-bottom:1px solid #e0e8df}.detailTitle{font-family:Georgia,serif;font-weight:500;font-size:clamp(28px,3vw,39px);letter-spacing:-.9px;margin:10px 0 7px}.detailBtns{display:flex;gap:8px;margin-top:19px;flex-wrap:wrap}.detailBody{padding:25px 28px 30px}.label{color:#6b8373;text-transform:uppercase;letter-spacing:1.5px;font-size:10px;font-weight:800;margin-bottom:10px}.scale{border:1px solid var(--border);border-radius:14px;background:#fafcf9;padding:19px;margin-bottom:24px}.scaleMain{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap}.batchinput{display:flex;align-items:center;gap:5px}.batchinput input{border:1px solid #cbd9cc;background:white;border-radius:10px;height:45px;width:125px;font-weight:800;font-size:22px;text-align:right;padding:0 12px}.batchinput small{font-weight:700;color:#81948a;margin-right:5px}.chiprow{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.chip{border:1px solid #dbe5db;border-radius:8px;padding:7px 11px;background:white;color:#4d6654;font-size:11px;font-weight:700}.chip.active{color:#28593b;background:#e5f0e7;border-color:#a4c7ae}.help{color:#8c9a8d;font-size:11px;margin-top:11px}.inhead{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.inhead h3{font-size:16px;margin:0;font-weight:800}.ingredientTable{width:100%;border-collapse:collapse;font-size:13px}.ingredientTable th{color:#789181;text-transform:uppercase;letter-spacing:1px;font-weight:800;font-size:10px;text-align:left;padding:11px 4px;border-bottom:1px solid #dce6da}.ingredientTable td{padding:12px 4px;border-bottom:1px solid #eef1ec;vertical-align:top}.ingredientTable td:last-child,.ingredientTable th:last-child{text-align:right;white-space:nowrap}.ingredientTable td:last-child{font-weight:800;font-variant-numeric:tabular-nums}.totalRow{background:#f5f8f3;font-weight:800}.inote{display:block;font-size:11px;color:#8b988c;margin-top:3px;font-weight:400}.noteBox{background:#f9f7ef;border-left:3px solid #d5b471;border-radius:8px;padding:13px;margin-top:18px;font-size:12px;color:#6d6d60;line-height:1.65}.noresult{text-align:center;padding:35px 15px;color:#819183;font-size:13px}.emptyDetail{padding:80px 22px;text-align:center;color:#6e8070}
    .formGrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}.field label{font-size:11px;color:#637666;font-weight:750}.field input,.field select,.field textarea{border:1px solid #d8e2d8;background:white;border-radius:9px;padding:11px;font-size:13px;width:100%;color:#203d2d;outline-color:#7ea48c}.field textarea{min-height:94px;resize:vertical}.editrow{display:grid;grid-template-columns:minmax(130px,1fr) 105px 90px 32px;gap:7px;align-items:center;margin-bottom:7px}.editrow input{width:100%;border:1px solid #dbe3d9;border-radius:8px;padding:9px;min-width:0;font-size:12px}.editrow button{border:0;background:#f8e6e4;color:#a33e3b;border-radius:7px;height:33px}.divider{height:1px;background:var(--border);margin:17px 0}.footnote{margin-top:20px;font-size:11px;color:#97a197;line-height:1.6}
    .login-wrap{min-height:100vh;background:linear-gradient(135deg,#16372e 0%,#24503e 60%,#587157 100%);display:flex;align-items:center;justify-content:center;padding:25px}.login-card{max-width:430px;width:100%;background:#fff;border-radius:24px;padding:34px;box-shadow:0 24px 90px #06251966}.login-card h1{font:normal 40px/1.1 Georgia,serif;margin:22px 0 11px;letter-spacing:-1px}.login-card p{color:#718073;line-height:1.6;font-size:13px}.login-card select,.login-card input{font-size:15px;min-height:50px}.notice{padding:12px 15px;border-radius:10px;background:#fff3e2;color:#86612d;font-size:12px;line-height:1.5;margin:15px 0}.error{padding:12px;border:1px solid #efd1cd;color:#aa4242;background:#fff4f2;border-radius:9px;font-size:12px;margin:14px 0}.toast{position:fixed;bottom:20px;right:25px;background:#183b31;color:#fff;border-radius:12px;padding:13px 18px;box-shadow:0 10px 36px #213b2b33;font-size:13px;z-index:100;max-width:330px}
    @media(max-width:1050px){.layout{grid-template-columns:220px 1fr}.sidebar{padding:24px 13px}.content{grid-template-columns:minmax(210px,.8fr) minmax(0,1.3fr)}.main{padding:26px 20px}.detailTop{padding:22px}.detailBody{padding:22px}.brand strong{font-size:20px}}
    @media(max-width:760px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px 18px;gap:6px;flex-direction:row;justify-content:space-between;align-items:center}.sidebar .nav,.sidebar .sideBottom,.sidebar .navhead{display:none}.brand strong{font-size:20px}.brandIcon{width:37px;height:37px}.main{padding:24px 13px 70px}.topbar{margin-bottom:20px}.content{grid-template-columns:1fr}.listbody{max-height:none;min-height:200px}.listpanel{display:block}.listpanel.hidemobile{display:none}.recipepanel.hidemobile{display:none}.detailBtns .btn{flex:1}.formGrid{grid-template-columns:1fr 1fr}.editrow{grid-template-columns:minmax(85px,1fr) 85px 70px 26px}.editrow input{padding:6px}.topactions{gap:5px}.toolbar{flex-direction:column;align-items:stretch}.searchbox{width:100%}.recipepanel{margin-bottom:20px}.filter{padding:9px}}
    @media print{body{background:white}.sidebar,.topbar,.toolbar,.listpanel,.detailBtns,.scale .chiprow,.scale .help,.no-print,.footnote{display:none!important}.layout,.content{display:block}.main{padding:0}.recipepanel{border:0;box-shadow:none}.detailTop{padding:14px 0;background:transparent}.detailBody{padding:16px 0}.scale{padding:8px 0;border:0}.batchinput input{border:0;width:130px} }
  
/* v2: production queue, ingredient confirmations, sorting and responsive header */
.brandLogo{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:10px;padding:5px;flex-shrink:0}.loginLogo{width:84px;height:84px;object-fit:contain;background:white;padding:5px}.sortbox{border:1px solid var(--border);border-radius:10px;padding:9px;color:#365543;background:white;font-size:12px;max-width:225px}.prodCard{border-bottom:1px solid #e8ede7;background:#fff;padding:13px 16px}.prodCard.active{box-shadow:inset 3px 0 var(--forest2);background:#f0f7f0}.prodCard.done{opacity:.72}.prodCardTitle{font-weight:800;font-size:13px;line-height:1.4}.prodCardInfo{font-size:11px;color:#7b8c80;margin-top:5px}.prodCardButtons{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.prodSummary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#e8f0e9;border:1px solid #dce6dc;padding:14px;border-radius:14px;margin:0 0 16px}.prodSummary strong{font-size:14px}.addBar{border:1px solid #dce6da;border-radius:13px;padding:15px;background:#fbfdf9;margin-bottom:14px}.addBarFields{display:grid;grid-template-columns:minmax(140px,1fr) 112px auto;gap:9px;align-items:end}.addBarFields select,.addBarFields input,.prodsize{padding:11px;border:1px solid #d4ded4;border-radius:9px;background:white;min-width:0;width:100%}.addBarFields label{font-size:11px;color:#687f6c;display:block;margin-bottom:6px}.batchRow{display:flex;align-items:center;gap:12px;padding:13px 9px;border-bottom:1px solid #edf1ec;font-size:13px}.batchRow input[type=checkbox]{width:20px;height:20px;accent-color:var(--forest2);cursor:pointer;flex-shrink:0}.batchRow.checked .batchName{text-decoration:line-through;color:#97a59a}.batchName{flex:1;min-width:0;font-weight:600}.batchAmount{font-weight:800;white-space:nowrap;min-width:80px;text-align:right}.progressbar{height:8px;background:#e1e9e0;border-radius:40px;overflow:hidden}.progressbar>div{height:100%;background:#498260;border-radius:40px}.checkControls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 18px}.prodField{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.prodField input{max-width:145px}.prodField label{font-size:12px;font-weight:800;color:#657a69}.adminHint{font-size:11px;color:#87968a}.logoName{margin:0}.brand .brandIcon{display:none}
@media(max-width:700px){.addBarFields{grid-template-columns:minmax(0,1fr) 100px}.addBarFields .btn{grid-column:1/-1}.prodSummary{align-items:flex-start}.prodField input{max-width:125px}.brandLogo{width:40px;height:40px}}
@media print{.addBar,.prodSummary,.prodCardButtons,.checkControls button,.prodField,.prodCard,.prodHeader{display:none!important}}


/* v3: independent panels and large touch targets */
@media(min-width:761px){.content>.listpanel,.content>.recipepanel{height:calc(100vh - 300px);min-height:460px;overflow-y:auto;overscroll-behavior:contain}.content>.listpanel{display:flex;flex-direction:column}.content>.listpanel .listhead{flex:none;position:sticky;top:0;z-index:2;background:white}.content>.listpanel .listbody{min-height:0;max-height:none;flex:1;overflow:auto}.content>.recipepanel .detailTop{position:sticky;top:0;z-index:1}}
.batchRow[data-act]{width:100%;cursor:pointer;text-align:left;border:0;background:transparent}.batchRow[data-act]:hover{background:#f2f8f0}.batchRow[data-act]:focus-visible{outline:3px solid #9ccca6;outline-offset:-3px}.batchRow input{pointer-events:none}
.rinseCard{background:#eef6ff}.rinseCard .prodCardTitle{color:#205f93}.recycleFlag{color:#aa2626;font-weight:900;letter-spacing:.1em}.recycleToggle{color:#ab2c2c;border-color:#e9a5a5;background:white}.recycleToggle.active{background:#bd2929;color:white;border-color:#bd2929}.sortTools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:9px 0}.moveButtons{display:flex;gap:4px}.moveButtons .btn{padding:5px 8px;min-height:30px}.prodCard.busy{background-image:linear-gradient(90deg,transparent,#f3f9f5,transparent)}

.reportsPanel .detailBody{padding:24px}.reportFilters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.reportFilters .field{margin-bottom:0}.reportActions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.reportPeriod{font-size:12px;color:var(--muted);margin:22px 0 14px}.reportMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.reportMetric{border:1px solid var(--border);border-radius:14px;padding:16px;background:#f3f7f1}.reportMetric span{display:block;font-size:11px;color:#627769;line-height:1.5}.reportMetric strong{display:block;font-size:clamp(22px,2.5vw,30px);margin-top:8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.reportHeading{font-family:Georgia,serif;font-size:25px;font-weight:500;margin:28px 0 12px}.reportTableWrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.reportTable{border-collapse:collapse;width:100%;min-width:610px;font-size:12px}.reportTable th,.reportTable td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums}.reportTable th:first-child{text-align:left;min-width:170px}.reportTable thead th{background:#f3f7f1;color:#536e5c;font-size:10px;text-transform:uppercase;letter-spacing:.4px}.reportTable tbody th{font-weight:600}.reportTable tbody tr:last-child td,.reportTable tbody tr:last-child th{border-bottom:0}.mobileReportsNav{display:none}@media(max-width:1000px){.reportFilters,.reportMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.reportsPanel .detailBody{padding:16px}.mobileReportsNav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.reportMetric{padding:13px}.reportFilters input,.reportFilters select{min-width:0;max-width:100%}}@media print{.reportFilters,.reportActions,.mobileReportsNav{display:none!important}.reportTableWrap{overflow:visible}.reportTable{min-width:0;font-size:10px}.reportMetrics{grid-template-columns:repeat(4,1fr)}}

  
/* Update 1: approved iPad production layout, batch counts and gram display. */
.recycleToggle{color:#68716d;border-color:#d7dcd8;background:#f1f3f1}
.recycleToggle.active{color:#fff;background:#bd2929;border-color:#bd2929}
.batchAmount{font-size:21px;font-weight:850;font-variant-numeric:tabular-nums;min-width:100px;text-align:right;line-height:1.2}
.passwordField{position:relative}.passwordField input{padding-right:54px}.passwordEye{position:absolute;right:4px;top:3px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#426451}.passwordEye:focus-visible{outline:3px solid #7ea48c}
.productionContent{grid-template-columns:330px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:16px}
.queueColumn{display:flex;flex-direction:column;min-width:0;min-height:0;gap:10px}
.queueColumn .addBar{margin:0;padding:10px;border-radius:12px}
.queueColumn .addBarFields{grid-template-columns:minmax(0,1fr) 90px;gap:8px}
.queueColumn .addBarFields .btn{grid-column:auto;min-height:42px;padding:8px 5px;font-size:11px;white-space:nowrap;gap:4px}
.queueColumn .addBarFields input,.queueColumn .addBarFields select{padding:9px 8px;min-height:42px}
.queueColumn .listpanel{display:flex;flex-direction:column;min-height:0;flex:1}
.queueColumn .listhead{padding:12px;flex:none}.queueColumn .listbody{min-height:0;max-height:none;flex:1;overflow:auto}
.productionContent>.recipepanel{height:auto;min-height:0}
.productionLayout .detailTop{padding:13px 18px;position:static;display:flex;align-items:center;flex-wrap:wrap;column-gap:16px}
.productionLayout .detailTop>.label{width:100%;margin-bottom:3px}
.productionLayout .detailTitle{font-size:30px;margin:0;flex:1}
.productionLayout .detailBtns{margin:0;gap:5px}.productionLayout .detailBtns .btn{padding:6px 9px}
.productionLayout .detailBtns [data-act=back]{display:none}
.productionLayout .detailBody{padding:12px 18px 16px}
.productionLayout .scale{padding:9px 12px;margin-bottom:12px}
.productionLayout .scale>.label{display:none}.productionLayout .prodField{gap:8px;flex-wrap:nowrap}
.productionLayout .prodField input{width:110px;padding:7px 10px;font-size:18px;font-weight:800}
.productionLayout .prodField .pill{font-size:10px;padding:6px 8px;white-space:normal}
.productionLayout .inhead{margin-bottom:5px}.productionLayout .checkControls{margin:5px 0 9px}
.productionLayout .batchRow{min-height:44px;padding:9px 3px;gap:10px;font-size:14px}
.productionLayout .batchName{font-weight:600}.productionLayout .ingredients+.help{line-height:1.45}
.productionLayout .prodSummary{padding:9px 12px;margin-bottom:10px;gap:9px}
.productionLayout .prodSummary .sortbox{padding:7px}
.productionLayout .prodSaveStatus{margin:0 0 8px}
@media(min-width:761px){.productionContent{height:calc(100dvh - 215px);min-height:440px}.productionContent>.recipepanel{height:100%;overflow:auto}.queueColumn{height:100%}}
@media(min-width:761px) and (max-width:1180px){
 .productionLayout{display:block}.productionLayout .sidebar{position:static;height:56px;padding:8px 16px;display:flex;flex-direction:row;gap:16px;align-items:center;overflow:visible}
 .productionLayout .brand{padding:0;gap:8px}.productionLayout .brandLogo{width:36px;height:36px;padding:2px}.productionLayout .brand strong{font-size:20px}.productionLayout .brand small{display:none}
 .productionLayout .nav{display:flex;gap:6px;margin-left:auto}.productionLayout .navhead,.productionLayout .sideBottom,.productionLayout .navitem[data-act=new],.productionLayout .navitem[data-act=backup],.productionLayout .navitem[data-act=favorites]{display:none}
 .productionLayout .navitem{width:auto;padding:9px 11px;font-size:12px;margin:0}.productionLayout .main{padding:14px 16px 22px}
 .productionLayout .topbar{margin-bottom:10px;align-items:center}.productionLayout .headline{font-size:30px;margin:4px 0 0}.productionLayout .topbar .subtle{display:none}.productionLayout .topactions{gap:6px}
 .productionContent{grid-template-columns:300px minmax(0,1fr);height:calc(100dvh - 215px);min-height:440px}
 .productionLayout .prodSummary strong{font-size:12px}.productionLayout .prodSummary .pill{padding:6px 8px}
 .productionLayout .footnote{margin-top:10px}
}
@media(min-width:900px) and (max-height:850px){.productionLayout .ingredients.longList{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(var(--ingredient-rows),auto);column-gap:20px}.productionLayout .longList .batchRow{font-size:12px}.productionLayout .longList .batchAmount{font-size:20px;min-width:72px}.productionLayout .longList .batchName{overflow-wrap:anywhere}}
@media(min-width:761px) and (max-width:899px){.productionContent{grid-template-columns:280px minmax(0,1fr);gap:12px}.productionLayout .navitem{padding:8px;font-size:11px}.productionLayout .detailTop{padding:13px 14px}.productionLayout .detailBody{padding:12px 14px}.productionLayout .detailBtns{margin-top:7px}.productionLayout .detailTitle{font-size:29px}.productionLayout .batchAmount{font-size:22px;min-width:90px}.productionLayout .navitem em{font-size:10px}}
@media(max-width:760px){.productionContent{grid-template-columns:1fr}.queueColumn .listbody{max-height:420px}.queueColumn:has(.listpanel.hidemobile){display:none}.productionLayout .detailBtns [data-act=back]{display:inline-flex}.productionLayout .prodField{flex-wrap:wrap}.productionLayout .recipepanel.hidemobile{display:none}}
@media(min-width:761px){.productionLayout .main{height:100dvh;display:flex;flex-direction:column;padding-bottom:16px}.productionLayout .topbar,.productionLayout .prodHeader,.productionLayout .main>p[role=status],.productionLayout .footnote{flex:none}.productionLayout .main>p[role=status]{margin:2px 0 8px}.productionContent{flex:1;height:auto;min-height:0}.productionLayout .footnote{margin-top:10px}.productionLayout .prodField label{white-space:nowrap}}
@media(min-width:761px) and (max-width:1180px){.productionLayout .main{height:calc(100dvh - 56px)}}
@media(min-width:761px) and (max-width:899px) and (max-height:980px){.productionLayout .detailTop>.label{display:none}.productionLayout .detailBtns{margin-top:0}}
@media(min-width:900px) and (max-height:760px){.productionLayout .main{padding-top:8px}.productionLayout .topbar{margin-bottom:6px}.productionLayout .headline{font-size:26px}.productionLayout .detailTop>.label{display:none}.productionLayout .detailTop{padding-top:10px;padding-bottom:10px}.productionLayout .scale{margin-bottom:8px}.productionLayout .ingredients.compactList{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(var(--ingredient-rows),auto);column-gap:20px}.productionLayout .compactList .batchAmount{font-size:20px;min-width:72px}.productionLayout .compactList .batchRow{font-size:12px}}
@media(min-width:900px) and (max-height:760px){.productionLayout .topbar .eyebrow{display:none}}
@media(min-width:900px) and (max-height:670px){.productionLayout .footnote{display:none}.productionLayout .main{padding-top:4px}.productionLayout .topbar{margin-bottom:4px}.productionLayout .headline{font-size:24px}.productionLayout .detailBody{padding-top:8px}.productionLayout .scale{margin-bottom:6px}}
@media(min-width:761px) and (max-width:899px) and (max-height:940px){.productionLayout .topbar .eyebrow,.productionLayout .footnote{display:none}.productionLayout .main{padding-top:10px}.productionLayout .headline{font-size:28px}.productionLayout .detailBody{padding-top:10px}}
@media print{.productionLayout .sidebar,.queueColumn{display:none!important}.productionContent{display:block;height:auto}.productionContent>.recipepanel{height:auto;overflow:visible}}


/* Shared workspace header and accessible portrait navigation drawer. */
.layout{display:block}
.appHeader{height:56px;background:var(--forest);color:white;display:flex;align-items:center;gap:8px;padding:6px 16px;position:sticky;top:0;z-index:30;flex:none}
.appHeader .appBrand{padding:0;gap:8px}.appHeader .brandLogo{width:36px;height:36px;padding:2px}.appHeader .brand strong{font-size:20px}.appHeader .brand small{display:none}
.menuButton,.drawerClose{width:44px;height:44px;border:0;border-radius:9px;color:white;background:transparent;display:grid;place-items:center;flex:none}
.menuButton:hover,.drawerClose:hover{background:#2e594a}.menuButton:focus-visible,.drawerClose:focus-visible{outline:3px solid #d6a65b;outline-offset:-3px}
.headerTabs{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0}
.headerTabs .navitem{width:auto;margin:0;padding:9px 11px;font-size:12px;min-height:44px;white-space:nowrap}
.headerTabs .navhead,.headerTabs .navitem[data-act=favorites],.headerTabs .navitem[data-act=new],.headerTabs .navitem[data-act=backup]{display:none}
.layout .sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,calc(100vw - 40px));height:100vh;height:100dvh;padding:12px 18px max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:18px;z-index:60;overflow-y:auto;overscroll-behavior:contain;background:var(--forest);transform:translateX(-110%);visibility:hidden;box-shadow:8px 0 40px #061b2944}
.layout.navigation-open .sidebar{transform:translateX(0);visibility:visible}
.drawerHeading{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;letter-spacing:1px;color:#c5d8ca}
.drawerClose{font-size:30px}.layout .sidebar .brand{padding:0;gap:10px}.layout .sidebar .brandLogo{width:44px;height:44px}.layout .sidebar .brand strong{font-size:23px}.layout .sidebar .brand small{display:block}
.layout .sidebar .nav{display:block;margin:0}.layout .sidebar .navhead{display:block;margin:0 0 8px;padding:0 12px}
.layout .sidebar .navitem{display:flex;width:100%;font-size:14px;min-height:44px;padding:11px 12px;margin:3px 0;white-space:normal}
.layout .sidebar .sideBottom{display:block;margin-top:auto;padding-top:14px}.layout .sidebar .small-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;padding:10px 0}
.navigationBackdrop{position:fixed;inset:0;width:100%;height:100%;background:#061c1a88;border:0;z-index:50;cursor:default}.navigationBackdrop[hidden]{display:none}
html.navigationLocked{overflow:hidden}.layout .main{min-width:0}
@media(min-width:761px){.layout:not(.productionLayout) .main{padding:18px 20px 24px}.layout:not(.productionLayout) .topbar{margin-bottom:16px}.layout:not(.productionLayout) .headline{font-size:32px}.layout .content{grid-template-columns:minmax(230px,320px) minmax(0,1fr)}.layout .productionContent{grid-template-columns:300px minmax(0,1fr)}.layout .productionContent>.recipepanel{height:100%}.productionLayout .main{height:calc(100dvh - 56px)}.layout .content:not(.productionContent)>.recipepanel,.layout .content:not(.productionContent)>.listpanel{height:calc(100dvh - 300px);min-height:400px}}
@media(min-width:761px) and (max-width:899px){.layout .productionContent{grid-template-columns:280px minmax(0,1fr)}}
@media(orientation:portrait),(max-width:760px){.appHeader .headerTabs{display:none}}
@media(max-width:760px){.appHeader{padding:6px 12px}.layout .main{padding:18px 13px 30px}.layout .headline{font-size:29px}.topactions{justify-content:flex-end}.layout .topbar{gap:8px}.layout .topbar .subtle{font-size:12px}.productionLayout .prodSummary{gap:7px}.productionLayout .detailBtns [data-act=back]{display:inline-flex}.layout .mobileReportsNav{display:none}}
@media print{.appHeader,.layout .sidebar,.navigationBackdrop{display:none!important}.layout .main,.productionLayout .main{height:auto;display:block}.layout .content:not(.productionContent)>.recipepanel{height:auto;min-height:0}}


.readerNav{display:none}
@media(orientation:portrait),(max-width:760px),(max-height:600px){
 .layout .headerTabs{display:none}
 .layout .appHeader{height:44px;padding:0 8px;gap:6px}.layout .appHeader .brandLogo{width:30px;height:30px}.layout .appHeader .brand strong{font-size:18px}
 .layout .main,.productionLayout .main{height:auto;min-height:calc(100dvh - 44px);display:block;padding:10px max(8px,env(safe-area-inset-right)) 20px max(8px,env(safe-area-inset-left))}
 .layout .content,.layout .productionContent{display:block;height:auto;min-height:0}
 .layout .content>.listpanel,.layout .content>.recipepanel,.layout .queueColumn,.layout .queueColumn .listpanel{height:auto;min-height:0;max-height:none;overflow:visible}
 .layout .content:not(.productionContent)>.recipepanel,.layout .content:not(.productionContent)>.listpanel{height:auto;min-height:0;max-height:none;overflow:visible}
 .layout .content .listbody,.layout .queueColumn .listbody{height:auto;min-height:0;max-height:none;overflow:visible}
 .layout .listpanel.hidemobile,.layout .recipepanel.hidemobile{display:none}
 .layout.readerPage .queueColumn{display:none}
 .layout.readerPage .main{padding-top:6px}
 .layout.readerPage .topbar,.layout.readerPage .prodHeader,.layout.readerPage .toolbar,.layout.readerPage .footnote{display:none}
 .layout.readerPage .recipepanel{display:block;height:auto;min-height:0;overflow:visible;margin:0;border-radius:12px}
 .layout.readerPage .readerNav{display:flex;align-items:center;gap:10px;padding:4px 10px;background:#f2f7f0;border-bottom:1px solid #dce6da;min-height:52px}
 .readerBack{min-height:44px;padding:7px 10px;flex:none}.readerHeading{flex:1;min-width:0}.readerHeading h2{font:500 25px/1.1 Georgia,serif;letter-spacing:-.5px;margin:0;overflow-wrap:anywhere}.readerHeading span{display:block;font-size:11px;color:#697f70;margin-top:3px}
 .readerTools{position:relative;flex:none}.readerTools summary{list-style:none;display:grid;place-items:center;width:44px;min-height:44px;border-radius:9px;border:1px solid #dce6da;background:white;font-size:20px;font-weight:800;cursor:pointer}.readerTools summary::-webkit-details-marker{display:none}.readerTools>div{position:absolute;right:0;top:48px;width:180px;z-index:15;padding:8px;background:white;border:1px solid #dce6da;border-radius:12px;box-shadow:0 12px 30px #183b3122;display:flex;flex-direction:column;gap:6px}
 .layout.readerPage .detailTop{display:none}
 .layout.readerPage .detailBody{padding:8px 12px 12px}
 .layout.readerPage .scale{padding:7px 10px;margin:0 0 5px}
 .layout.readerPage .scale>.label{display:none}.layout.readerPage .prodField{flex-wrap:nowrap;gap:8px}.layout.readerPage .prodField input{width:110px;padding:6px 10px;font-size:19px;font-weight:800}.layout.readerPage .prodField .pill{display:none}
 .layout.readerPage .inhead{display:none}.layout.readerPage .checkControls{margin:4px 0 6px;gap:8px}
 .layout.readerPage .batchRow{min-height:44px;padding:8px 3px;font-size:14px;gap:10px}.layout.readerPage .batchAmount{font-size:23px;min-width:94px;font-variant-numeric:tabular-nums}.layout.readerPage .batchName{font-weight:600}
 .layout.readerPage .main>p[role=status]{position:fixed;top:8px;left:106px;right:12px;z-index:31;margin:0;color:#dbeadf;text-align:right;font-size:11px;line-height:14px}
 .layout.readerPage .appHeader .appBrand strong{display:none}
 .layout.readerPage .ingredients+.help{font-size:10px;line-height:1.4;margin-top:8px}
 .layout .productionLayout .detailBtns [data-act=back]{display:inline-flex}
}
@media(orientation:landscape) and (max-height:600px) and (min-width:650px){
 .layout.readerPage .ingredients{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-flow:column;grid-template-rows:repeat(var(--ingredient-rows),auto);column-gap:24px}
 .layout.readerPage .readerNav{min-height:48px;padding:2px 10px}.readerHeading h2{font-size:25px}.readerHeading span{display:inline;margin-left:8px}.readerHeading{display:flex;align-items:baseline;flex-wrap:wrap}
 .layout.readerPage .batchRow{font-size:14px}.layout.readerPage .batchAmount{font-size:23px}
}
@media print{.readerNav{display:none!important}.layout.readerPage .detailTop{display:block}.layout.readerPage .main>p[role=status]{position:static;color:var(--ink)}}


/* Always-reachable completion controls, with reserved space instead of overlap. */
.batchCompletionBar{position:fixed;left:0;right:0;bottom:0;z-index:35;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:8px 16px max(8px,env(safe-area-inset-bottom));background:#f8faf6;border-top:1px solid #dce6da;box-shadow:0 -4px 18px #183b3110;min-height:64px}
.batchCompletionBar .btn{min-height:44px}.completionContext{margin-right:auto;font-weight:750;font-size:14px;overflow-wrap:anywhere}
.productionLayout .main{padding-bottom:80px}.productionLayout.readerPage .main{padding-bottom:max(84px,calc(72px + env(safe-area-inset-bottom)))}
@media(orientation:portrait),(max-width:760px),(max-height:600px){.productionLayout:not(.readerPage) .batchCompletionBar{display:none}}
@media(max-width:600px){.completionContext{display:none}.batchCompletionBar{padding-left:10px;padding-right:10px}.batchCompletionBar [data-act=prod-complete],.batchCompletionBar [data-act=prod-reopen]{flex:1}}
/* Tablet landscape: put the freed header space into the ingredient panel. */
@media(min-width:761px) and (orientation:landscape) and (min-height:601px){
 .productionLayout .appHeader{height:44px;padding-top:0;padding-bottom:0}.productionLayout .appHeader .brandLogo{width:30px;height:30px}
 .productionLayout .main{height:calc(100dvh - 44px);padding:8px 16px 76px}.productionLayout .topbar,.productionLayout .footnote{display:none}
 .productionLayout .main>p[role=status]{position:fixed;top:10px;left:220px;right:16px;z-index:31;margin:0;color:#dbeadf;text-align:right;font-size:11px;line-height:14px}
 .productionLayout .prodSummary{padding:6px 10px;margin-bottom:8px}.productionLayout .prodSummary .pill{padding:5px 8px}.productionLayout .prodSummary .sortbox{padding:5px 8px}
 .productionLayout .detailTop{padding:6px 16px}.productionLayout .detailTop>.label{display:none}.productionLayout .detailTitle{font-size:29px;margin:0}
 .productionLayout .detailBody{padding:8px 16px}.productionLayout .scale{padding:6px 10px;margin-bottom:7px}.productionLayout .prodField input{height:44px;font-size:20px}.productionLayout .prodField .pill{display:none}
 .productionLayout .inhead{display:none}.productionLayout .inhead h3{font-size:14px}.productionLayout .inhead .pill{display:none}.productionLayout .checkControls{margin:3px 0 4px}.productionLayout .checkControls .btn{min-height:32px;padding:5px 8px}
 .productionLayout .ingredients+.help{display:none}.productionLayout .noteBox{padding:6px 10px;margin-top:6px;font-size:11px;line-height:1.3}
}
@media print{.batchCompletionBar{display:none!important}.productionLayout .main{height:auto;padding-bottom:0}.productionLayout .main>p[role=status]{position:static;color:var(--ink)}}

.sortTools select{min-height:44px;max-width:155px;border:1px solid #d4ded4;border-radius:9px;padding:7px 10px;background:white;color:#183b31;font:inherit}.sortTools [data-act=prod-reset-order]{min-height:44px}
.recipeRecycleFlag{margin-left:.35em;vertical-align:middle;line-height:1;letter-spacing:0}.readerHeading .recipeRecycleFlag,.detailTitle .recipeRecycleFlag{display:inline-block;color:#aa2626;font-weight:900;font-size:.7em}
.accountRow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.accountsPanel{max-width:1000px}.accountsPanel .field small{display:block;margin-top:6px;color:#657a69}.accountsPanel form input,.accountsPanel form select{min-height:44px}
.copyright{font-size:11px;line-height:1.5;color:#c5d8ca;margin:10px 0 14px}#eProductionAfter{min-height:44px} .field:has(#eProductionAfter){margin-bottom:18px}

.developmentBanner{background:#fff1ce;color:#5c441b;padding:8px 16px;text-align:center;font-size:12px}

.authCard form>.btn,.authCard>.btn{width:100%;margin-top:10px;min-height:44px}.authCard .passwordEyeSlash{display:none}.authCard .passwordEye[aria-pressed="true"] .passwordEyeSlash{display:inline}
