/* Pizza Style Profiler v119E.3.6.85.1.1.1 — extracted from frozen v119C.17.6.4 index.html. CSS-only asset; no formula/timeline/library behavior. */
:root{--blue:#1f4e78;--mid:#d9eaf7;--line:#ccd6dd;--text:#1d1d1f;--card:#fff}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:#f7f7f8}
header{position:sticky;top:0;z-index:10;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:var(--blue);color:white;box-shadow:0 2px 8px rgba(0,0,0,.15)}
header h1{margin:0;font-size:20px} header p{margin:4px 0 0;font-size:13px;opacity:.9}
main{padding:12px;max-width:760px;margin:auto}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:12px 0;box-shadow:0 1px 4px rgba(0,0,0,.05);overflow:hidden}
.card summary{list-style:none;cursor:pointer;padding:15px 14px;font-weight:800;color:var(--blue);font-size:17px;display:flex;justify-content:space-between;align-items:center}
.card summary::-webkit-details-marker{display:none}.card summary::after{content:"▾";font-size:18px;transition:.2s}.card[open] summary::after{transform:rotate(180deg)}
.inner{padding:0 14px 14px}
label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px}
select,input{width:100%;padding:11px;border:1px solid #b9c4cc;border-radius:10px;font-size:16px;background:white}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0f2;padding:9px 0;font-size:14px}
.row strong{text-align:right}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--mid);color:#123a59;font-size:12px;font-weight:700}
.step{padding:10px 0;border-bottom:1px solid #edf0f2;line-height:1.35}.step b{color:var(--blue)}
.time{display:inline-block;background:#eaf3fb;border:1px solid #c7ddec;border-radius:8px;padding:2px 6px;margin:0 0 4px;font-size:12px;font-weight:700;color:#123a59}
.note{background:#fff8df;border:1px solid #efd98a;padding:10px;border-radius:10px;font-size:13px;line-height:1.35;margin:8px 0}
button{width:100%;border:0;border-radius:12px;padding:13px;background:var(--blue);color:white;font-weight:700;font-size:16px;margin-top:10px}
@media print{header,.controls,button,.install{display:none}main{max-width:none;padding:0}.card{break-inside:avoid;box-shadow:none;border:1px solid #aaa}.card:not([open]) .inner{display:block}.card summary::after{display:none}}

textarea.commentBox{
  width:100%;
  min-height:44px;
  resize:none;
  overflow:hidden;
  border:1px solid #b9c4cc;
  border-radius:10px;
  padding:10px;
  font-size:15px;
  font-family:inherit;
  margin-top:6px;
}
.savedRecipeDetails{
  background:#f7f7f8;
  border:1px solid #ccd6dd;
  border-radius:10px;
  padding:8px;
  margin-top:8px;
  font-size:12px;
  line-height:1.35;
  white-space:pre-wrap;
}
.libraryButtons{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}


.overrideMeta{
  font-size:12px;
  color:#555;
  line-height:1.35;
  margin:4px 0 6px;
}
.overrideRow{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
}
.resetBtn{
  width:auto;
  min-width:66px;
  padding:10px;
  margin-top:0;
  background:#6c757d;
}


#savedSnapshotViewer{
  margin-top:14px;
}
.snapshotFrame{
  width:100%;
  min-height:520px;
  border:1px solid #ccd6dd;
  border-radius:12px;
  background:white;
}
.snapshotActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:10px 0;
}

.infoBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid var(--blue);
  background:#eef6fb;
  color:var(--blue);
  font-weight:800;
  font-size:12px;
  margin-left:6px;
  cursor:pointer;
  vertical-align:middle;
}
.infoBtn:hover{background:#d9eaf7}
.infoOverlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.infoBox{
  max-width:420px;
  width:100%;
  background:white;
  border-radius:14px;
  border:1px solid var(--line);
  box-shadow:0 8px 30px rgba(0,0,0,.25);
  padding:16px;
}
.infoBox h3{margin:0 0 8px;color:var(--blue);font-size:18px}
.infoBox p{margin:0;font-size:14px;line-height:1.45}
.infoClose{
  width:auto;
  min-width:90px;
  padding:10px 14px;
  margin-top:14px;
  float:right;
}

.ctxHelp{
  border-bottom:1px dotted var(--blue);
  color:var(--blue);
  cursor:help;
  font-weight:700;
  text-decoration:none;
  touch-action:manipulation;
  white-space:normal;
}
.ctxHelp::after{
  content:" ⓘ";
  font-size:.78em;
  font-weight:800;
}
.contextHelpPopover{
  position:fixed;
  z-index:10000;
  display:none;
  max-width:min(390px, calc(100vw - 24px));
  background:#fffefa;
  border:1px solid #b8d4c0;
  border-radius:14px;
  box-shadow:0 8px 28px rgba(0,0,0,.22);
  padding:12px 14px;
  color:#222;
  line-height:1.35;
  font-size:14px;
}
.contextHelpPopover strong{
  display:block;
  color:var(--blue);
  margin-bottom:6px;
  font-size:15px;
}
.contextHelpPopover .ctxBody{
  white-space:normal;
}
.contextHelpPopover .ctxBody b{
  color:#1d5f32;
}
@media print{
  .ctxHelp{
    color:inherit;
    border-bottom:0;
    font-weight:inherit;
  }
  .ctxHelp::after{content:"";}
  .contextHelpPopover,.infoOverlay,.guideModal{display:none !important;}
}

.smallControlBtn{
  width:auto;
  min-width:130px;
  padding:9px 11px;
  font-size:13px;
  margin-top:6px;
}
.resetAllBtn{
  width:auto;
  min-width:180px;
  padding:9px 12px;
  font-size:13px;
  margin-top:8px;
  background:#6c757d;
}
.controlsMiniGrid{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}


select{
  font-size:15px;
}
@media (max-width:768px){
  select{
    font-size:14px;
    padding-right:34px;
  }
}


.infoBtn{
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  border-width:1px !important;
  font-size:9px !important;
  margin-left:4px !important;
  vertical-align:middle !important;
  line-height:1 !important;
  padding:0 !important;
}

label{
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:nowrap;
}

label .infoBtn{
  flex-shrink:0;
}

.smallControlBtn{
  min-width:105px !important;
  padding:7px 9px !important;
  font-size:12px !important;
}

.resetAllBtn{
  min-width:150px !important;
  padding:7px 10px !important;
  font-size:12px !important;
}

.controlsMiniGrid{
  margin-bottom:4px;
}

@media (max-width:768px){
  .grid{
    gap:10px;
  }

  .card{
    padding:12px;
  }

  section{
    padding:12px;
  }

  select,input,button{
    font-size:14px;
  }
}


.procedureList li{
  margin-bottom:8px;
}

.procedureModeBanner{
  border:1px solid #d9c88c;
  background:#fff8df;
  border-radius:10px;
  padding:10px 12px;
  margin:0 0 12px 0;
  font-size:14px;
  line-height:1.35;
}
.procedureModeBanner b{color:#1f4e2b;}
.guidedCue{
  display:block;
  margin-top:6px;
  font-size:0.95em;
}


.toolbarLine{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:6px !important;
  align-items:center !important;
  justify-content:flex-start !important;
  margin-bottom:8px !important;
}
.toolbarLine button{
  margin-top:0 !important;
  flex:0 1 auto !important;
}
.toolbarLine .resetAllBtn{
  min-width:112px !important;
}
.toolbarLine .smallControlBtn{
  min-width:92px !important;
}
.grid{
  align-items:start;
}
.grid > div{
  display:flex;
  flex-direction:column;
  height:100%;
}
.grid input,
.grid select,
.grid button:not(.infoBtn):not(.resetBtn){
  min-height:48px;
}
.overrideRow{
  display:flex;
  align-items:stretch;
  gap:6px;
}
.overrideRow input{
  flex:1 1 auto;
}

.thicknessHelperCard{margin-top:8px;border:1px solid #ead8b7;background:#fffaf0;border-radius:10px;padding:10px}
.thicknessHelperCard label{margin-top:0}
.thicknessHelperMeta{font-size:.86rem;color:#6b4a22;line-height:1.28;margin-top:6px}
.thicknessHelperMeta b{color:#3b2710}
.overrideRow .resetBtn{
  min-height:48px;
  align-self:stretch;
}
@media (max-width:768px){
  .toolbarLine{
    gap:5px !important;
  }
  .toolbarLine .resetAllBtn,
  .toolbarLine .smallControlBtn{
    min-width:0 !important;
    flex:1 1 0 !important;
    padding:7px 6px !important;
    font-size:11px !important;
    white-space:nowrap;
  }
}


html{
  scroll-behavior:smooth;
}
.stickyControlBar{
  position:sticky;
  top:0;
  z-index:999;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  align-items:center;
  padding:6px 10px;
  margin:0 auto 8px auto;
  max-width:1100px;
  background:rgba(255,248,235,.98);
  border:1px solid rgba(130,80,30,.22);
  border-radius:0 0 12px 12px;
  box-shadow:0 2px 8px rgba(0,0,0,.10);
  backdrop-filter:blur(6px);
}
.stickyControlBar .stickyLabel{
  font-size:12px;
  font-weight:700;
  margin-right:3px;
  color:#6b3d17;
  white-space:nowrap;
}
.stickyControlBar button,
.guideActions button{
  min-height:0 !important;
  padding:6px 8px !important;
  font-size:12px !important;
  line-height:1.1 !important;
  border-radius:8px !important;
  white-space:nowrap;
}
.guideCard{
  scroll-margin-top:64px;
}
.guideCard > summary{
  padding:7px 10px !important;
  font-size:14px !important;
  line-height:1.15 !important;
}
.guideCard .inner{
  padding-top:8px !important;
}
.guideActions{
  display:flex;
  justify-content:flex-end;
  gap:6px;
  margin:0 0 8px 0;
}
@media (max-width:768px){
  .stickyControlBar{
    gap:4px;
    padding:5px 6px;
    border-radius:0 0 10px 10px;
  }
  .stickyControlBar .stickyLabel{
    width:100%;
    margin-bottom:1px;
    font-size:11px;
  }
  .stickyControlBar button{
    flex:1 1 30%;
    padding:6px 5px !important;
    font-size:11px !important;
  }
  .guideCard > summary{
    font-size:13px !important;
    padding:6px 8px !important;
  }
  .guideActions{
    justify-content:flex-start;
  }
}
@media print{
  .stickyControlBar,
  header,
  .guideActions,
  .controls,
  button{
    display:none !important;
  }
  .guideCard{
    box-shadow:none !important;
    border:0 !important;
  }
}


/* v84 Italian flag theme + tiny pizza info buttons + color-coded indicators */
:root{
  --italy-green:#0b6b35;
  --italy-green-dark:#064d27;
  --italy-red:#c62828;
  --italy-red-dark:#9f1f1f;
  --italy-cream:#fffdf7;
  --italy-soft-green:#edf7ef;
  --italy-soft-red:#fff0ef;
  --blue:var(--italy-green);
  --mid:#e7f4ea;
  --line:#d6ded3;
  --card:#fffefa;
}
body{
  background:linear-gradient(90deg,rgba(11,107,53,.07),#fff 48%,rgba(198,40,40,.06));
}
header{
  background:linear-gradient(135deg,var(--italy-green-dark),var(--italy-green)) !important;
  border-bottom:4px solid #fff;
}
header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:4px;
  background:linear-gradient(90deg,var(--italy-green) 0 33.33%,#fff 33.33% 66.66%,var(--italy-red) 66.66% 100%);
}
.card{
  background:var(--italy-cream);
  border-color:#d9dfd6;
}
.card summary{
  color:var(--italy-green-dark) !important;
}
.card[open] > summary{
  border-bottom:1px solid rgba(11,107,53,.14);
}
button{
  background:var(--italy-green) !important;
}
button:hover{
  filter:brightness(.96);
}
.resetBtn,.resetAllBtn{
  background:#7a8278 !important;
}
.stickyControlBar{
  background:rgba(255,253,247,.98) !important;
  border-color:rgba(11,107,53,.25) !important;
  border-top:3px solid transparent;
  background-image:linear-gradient(90deg,var(--italy-green) 0 33.33%,#fff 33.33% 66.66%,var(--italy-red) 66.66% 100%),linear-gradient(rgba(255,253,247,.98),rgba(255,253,247,.98)) !important;
  background-size:100% 3px,100% 100% !important;
  background-repeat:no-repeat !important;
  background-position:top left,center !important;
}
.stickyControlBar button{
  border:1px solid rgba(11,107,53,.25) !important;
  background:#fffefa !important;
  color:var(--italy-green-dark) !important;
}
.stickyControlBar button:nth-of-type(3),
.stickyControlBar button:nth-of-type(4){
  border-color:rgba(198,40,40,.28) !important;
  color:var(--italy-red-dark) !important;
}
.note{
  background:#fff9e9;
  border-color:#ead59c;
}
.time,.badge{
  background:#eef8f0 !important;
  border-color:#c7e2cc !important;
  color:var(--italy-green-dark) !important;
}

/* Pizza info button replaces the old letter i while preserving button semantics */
.infoBtn{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  border-radius:50% !important;
  border:1px solid var(--italy-red) !important;
  background-color:#fff !important;
  background-image:url("../../icon-192.png") !important;
  background-size:18px 18px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  padding:0 !important;
  box-shadow:0 1px 2px rgba(0,0,0,.18);
  vertical-align:middle !important;
}
.infoBtn:hover,.infoBtn:focus{
  outline:2px solid rgba(11,107,53,.25);
  outline-offset:2px;
  background-color:#fff9f0 !important;
}
label .infoBtn{
  flex-shrink:0;
}

/* Color-coded fermentation/status dots */
.statusDot{
  display:inline-block;
  width:14px;
  height:14px;
  border-radius:50%;
  margin-right:6px;
  vertical-align:-2px;
  border:1px solid rgba(0,0,0,.22);
  box-shadow:inset 0 1px 2px rgba(255,255,255,.75),0 1px 2px rgba(0,0,0,.12);
}
.status-inactive{background:#d8d8d8;}
.status-young{background:#b9ddb0;}
.status-peak{background:#39a845;border-color:#0b6b35;}
.status-late{background:#f5aa2e;border-color:#c37b00;}
.status-risk{background:#e53935;border-color:#b71c1c;}
.status-safe{background:#39a845;border-color:#0b6b35;}
.status-balanced{background:#8bcf64;border-color:#4a9231;}
.status-assertive{background:#f5aa2e;border-color:#c37b00;}
.status-aggressive{background:#ef6c00;border-color:#bf5000;}
.status-danger{background:#e53935;border-color:#b71c1c;}
.status-over{background:#8e0000;border-color:#4a0000;}
.status-info{background:#3f8fd2;border-color:#1f5c94;}
.statusDot.large{
  width:16px;
  height:16px;
}
.statusLegend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:center;
  font-size:12px;
  line-height:1.2;
  padding:8px;
  border:1px solid #e5e0d3;
  border-radius:10px;
  background:#fffaf0;
  margin:8px 0;
}
.statusLegend span{
  white-space:nowrap;
}
.curveDots{
  display:inline-flex;
  align-items:center;
  gap:2px;
  margin-right:5px;
  vertical-align:middle;
}
.curveDots .statusDot{
  width:10px;
  height:10px;
  margin:0;
}
@media (max-width:768px){
  .infoBtn{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    background-size:16px 16px !important;
  }
  .statusDot{
    width:13px;
    height:13px;
  }
  .statusLegend{
    font-size:11px;
    gap:6px 8px;
  }
}

.panModeNote{background:#fff7e6;border:1px solid #ead59c;border-radius:10px;padding:9px;margin:8px 0;font-size:13px;}

.hiddenGuide{display:none !important;}
.guideModal{
  position:fixed;
  inset:0;
  z-index:2000;
  background:rgba(0,0,0,.45);
  align-items:center;
  justify-content:center;
  padding:14px;
}
.guideModalPanel{
  width:min(920px,96vw);
  max-height:88vh;
  overflow:auto;
  background:#fffefa;
  border-radius:14px;
  border:2px solid rgba(11,107,53,.35);
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.guideModalHeader{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  background:linear-gradient(90deg,var(--italy-green),#fff,var(--italy-red));
  border-bottom:1px solid #ddd;
}
.guideModalHeader strong{
  color:#1d1d1d;
  background:rgba(255,255,255,.82);
  border-radius:8px;
  padding:4px 8px;
}
.guideModalBody{
  padding:14px;
  line-height:1.45;
}
.advancedGroup > summary{
  background:#f3f6ef;
}
.systemAlertWarn{
  background:#fff7e6;
  border:1px solid #e6bd5c;
  border-radius:10px;
  padding:9px;
}
.systemAlertGood{
  background:#edf7ef;
  border:1px solid #b7d7bd;
  border-radius:10px;
  padding:9px;
}


/* v99 mobile and diagnostics cleanup */
.workflowHint{background:#eef7ef;border:1px solid #b9d8bf;border-radius:12px;padding:10px;margin:8px 0;font-size:13px;line-height:1.4}
.advancedNote{background:#f3f6f8;border:1px solid #ccd6dd;border-radius:10px;padding:9px;margin:8px 0;font-size:12.5px;line-height:1.35}
@media (max-width:640px){
  main{padding:8px}
  .grid{grid-template-columns:1fr;gap:6px}
  .row{display:block;font-size:13px;line-height:1.35}
  .row strong{display:block;text-align:left;margin-top:3px;overflow-wrap:anywhere}
  .card summary{font-size:15px;padding:12px}
  .inner{padding:0 10px 12px}
  label{font-size:12.5px}
  select,input{font-size:15px;padding:10px}
  button{font-size:14px;padding:11px}
  .controlsMiniGrid{gap:5px}
  .smallControlBtn,.resetAllBtn{min-width:0;width:auto;font-size:12px;padding:8px}
  .snapshotActions{grid-template-columns:1fr}
  .infoBtn{width:16px;height:16px;font-size:11px}
}

/* v102 top schedule preview and active conflict handling */
.schedulePreviewCard{border:2px solid #b9d8bf;background:#fffdf7}
/* v118C: iOS/PWA paint safeguard for open schedule details populated by render(). */
.schedulePreviewCard > .inner{display:block !important;min-height:0 !important;contain:none !important;visibility:visible !important;}
.schedulePreviewCard.paintReady > .inner{-webkit-transform:translateZ(0);transform:translateZ(0);}
.schedulePreviewCard summary{color:#155b2f}
.dateInputShell{position:relative;width:100%;margin:6px 0 8px;border:1px solid #bfc7d1;background:#fff !important;border-radius:12px;box-shadow:0 1px 0 rgba(0,0,0,.02);overflow:hidden}
.dateInputShell:focus-within,.dateInputShell:active{background:#f1fbf3 !important;border-color:#b9d8bf}
.dateDisplayButton{display:block;width:100%;padding:14px 12px;color:#111 !important;font-weight:800;text-align:center;font-size:1.02rem;line-height:1.25;pointer-events:none}
.nativeDateTap{position:absolute;inset:0;width:100%;height:100%;opacity:.01;color:transparent;background:transparent;border:0;padding:0;margin:0;appearance:none;-webkit-appearance:none;cursor:pointer}
.subLabel{font-size:12px;color:#5b6b60;margin-top:6px}
.schedulePreviewCard summary{white-space:normal}
.schedulePreviewCard .scheduleLine{display:block;margin:4px 0}
.schedulePreviewCard .durationToken{white-space:nowrap;font-weight:800}

.scheduleStatusGood{background:#eef8ef;border:1px solid #b9d8bf;border-radius:12px;padding:10px;margin:8px 0;line-height:1.35}
.scheduleStatusWarn{background:#fff4e5;border:1px solid #d9a23f;border-radius:12px;padding:10px;margin:8px 0;line-height:1.35}
.scheduleStatusHard{background:#fdecec;border:1px solid #d88;border-radius:12px;padding:10px;margin:8px 0;line-height:1.35}
.missedStep{color:#9b1c1c;font-weight:800}
.scheduleMiniList{margin:8px 0 0 0;padding-left:18px}
.scheduleMiniList li{margin:3px 0}
.timelineMissed strong,.timelineMissed span{color:#9b1c1c}

/* v118C flour-blend-audit-snapshot-validation */
.card[open] > summary{background:linear-gradient(90deg,rgba(11,107,53,.10),rgba(255,255,255,.65));}
.tabPurpose{background:#eef8f0;border:1px solid #c7e2cc;border-radius:12px;padding:9px 10px;margin:8px 0 12px;font-size:13px;line-height:1.35;color:#173f22;}
.tabPurpose b{color:var(--italy-green-dark,#064d27)}
.tabPurpose .impact{display:inline-block;margin-top:6px;padding:3px 7px;border-radius:999px;background:#fff;border:1px solid #bcd8c4;font-size:12px;font-weight:800;color:#064d27;}
.kitchenPrintActions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 2px;}
.kitchenPrintActions button,.backQuickBtn{width:auto;min-width:130px;padding:8px 10px !important;font-size:13px !important;margin-top:4px !important;}
.backQuickBtn{background:#fffefa !important;color:var(--italy-green-dark,#064d27) !important;border:1px solid #bcd8c4 !important;}
.printExportWrap,.guideHelpWrap{position:relative;display:inline-flex;align-items:stretch;}
.printExportWrap > button,.guideHelpWrap > button{height:100%;}
.printExportMenu,.guideHelpMenu{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:3000;min-width:240px;background:#fffefa;border:1px solid #bcd8c4;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:7px;}
.printExportMenu.open,.guideHelpMenu.open{display:block;}
.printExportMenu button,.guideHelpMenu button{display:block;width:100%;text-align:left;margin:2px 0 !important;border:0 !important;background:#fffefa !important;color:var(--italy-green-dark,#064d27) !important;padding:9px 10px !important;}
.printExportMenu button:hover,.guideHelpMenu button:hover{background:#eef8f0 !important;}
.glossarySearchBox{background:#eef8f0;border:1px solid #c7e2cc;border-radius:12px;padding:10px;margin:0 0 12px;}
.glossarySearchBox label{margin:0 0 6px;font-size:13px;font-weight:800;color:var(--italy-green-dark,#064d27);}
.glossarySearchBox input{margin:0;background:#fff;}
.glossarySearchHint{font-size:12px;color:#4d6353;margin-top:6px;line-height:1.35;}
.glossaryNoResults{display:none;background:#fff8df;border:1px solid #efd98a;border-radius:10px;padding:8px;margin:8px 0;font-size:13px;}
.defaultHint{display:block;font-size:12px;color:#52606b;font-weight:600;margin-top:2px;}
.envDefaultsPanel{background:#eef8f0;border:1px solid #c7e2cc;border-radius:12px;padding:10px;margin:0 0 10px;font-size:13px;line-height:1.35;}
.envDefaultsActions{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 0;}
.envDefaultsActions button{width:auto;min-width:150px;padding:8px 10px !important;font-size:13px !important;margin-top:4px !important;}
.fieldHelp{display:block;font-size:12px;line-height:1.3;color:#586574;margin-top:4px;}

@media (max-width:768px){
  .printExportWrap,.guideHelpWrap{flex:1 1 30%;}
  .printExportWrap > button,.guideHelpWrap > button{width:100%;}
  .printExportMenu,.guideHelpMenu{left:0;right:auto;min-width:min(280px,92vw);}
  .kitchenPrintActions button,.backQuickBtn{width:100%;}
}
@media print{.tabPurpose,.kitchenPrintActions,.backQuickBtn,.printExportMenu,.guideHelpMenu,#quickControls,.stickyControlBar,.printExportWrap,.guideHelpWrap{display:none !important;}}


.comparePanel{margin:12px 0;padding:12px;border:1px solid #d9c36b;border-radius:14px;background:#fffaf0;max-width:100%;overflow:hidden;}
.compareGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0;}
.compareTableWrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #eadb9a;border-radius:10px;background:#fffdf3;margin-top:10px;}
.compareTableWrap:focus{outline:2px solid #bcd8c4;outline-offset:2px;}
.compareScrollHint{font-size:12px;color:#6b5a2e;margin:6px 0 0;display:none;}
.compareTable{width:100%;min-width:760px;border-collapse:collapse;font-size:.92rem;table-layout:fixed;}
.compareTable th,.compareTable td{border-bottom:1px solid #e8e0c0;padding:7px;text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:normal;}
.compareTable th{background:#fff3c7;color:#5b3b14;}
.compareChanged{background:#fff7df;font-weight:700;}
.compareSame{color:#3c5f3c;}
.compareSummary{margin:8px 0;padding:10px;border:1px solid #e6d68e;border-radius:10px;background:#fffdf3;}
.compareCards{display:none;gap:8px;margin-top:10px;}
.compareCard{border:1px solid #e8d899;border-radius:10px;background:#fffdf3;padding:9px;}
.compareCard.changed{background:#fff7df;font-weight:700;}
.compareCard .compareCardField{font-weight:900;color:#5b3b14;margin-bottom:6px;}
.compareCard .compareCardPair{display:grid;grid-template-columns:78px 1fr;gap:6px;border-top:1px solid #eee2b6;padding-top:6px;margin-top:6px;}
.compareCard .compareCardPair span:first-child{font-weight:800;color:#6a5b34;}
.compareActions{margin:10px 0;display:flex;gap:8px;flex-wrap:wrap;}
.compareSnapshotConfirm{margin:10px 0;padding:10px;border:1px solid #d9c36b;border-radius:10px;background:#fffdf3;}
.compareSnapshotConfirm .snapshotGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;}
.compareSnapshotConfirm .snapshotBox{border:1px solid #e6d68e;border-radius:9px;background:#fffaf0;padding:8px;}
.compareSnapshotConfirm .snapshotBox strong{display:block;color:#5b3b14;margin-bottom:4px;}
.compareSnapshotConfirm .snapshotMeta{font-size:.92rem;line-height:1.25;}
.compareSectionRow th{background:#f4e6aa!important;color:#5b3b14;font-weight:900;text-transform:none;}
.compareCardSection{font-weight:900;color:#5b3b14;background:#f4e6aa;border:1px solid #e8d899;border-radius:8px;padding:6px;margin:8px 0 2px;}
.inlineCheck{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-weight:800;color:#5b3b14;line-height:1.25;}
.inlineCheck input[type="checkbox"]{width:22px!important;height:22px!important;min-width:22px!important;flex:0 0 22px;margin:2px 0 0 0;padding:0;border-radius:5px;}
.inlineCheck .checkText{display:block;flex:1;min-width:0;}

#savedComparePrintRoot{display:none;}
@media print{
  body.printSavedCompare > *:not(#savedComparePrintRoot){display:none!important;}
  body.printSavedCompare #savedComparePrintRoot{display:block!important;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#111;padding:0;margin:0;}
  body.printSavedCompare #savedComparePrintRoot h1{font-size:20px;margin:0 0 8px;}
  body.printSavedCompare #savedComparePrintRoot h2{font-size:15px;margin:12px 0 6px;}
  body.printSavedCompare #savedComparePrintRoot .printMeta{font-size:11px;color:#555;margin-bottom:8px;}
  body.printSavedCompare #savedComparePrintRoot .printSummary{border:1px solid #d7c78a;border-radius:8px;padding:8px;margin:8px 0;background:#fffaf0;}
  body.printSavedCompare #savedComparePrintRoot .printCompareItem{break-inside:avoid;page-break-inside:avoid;border:1px solid #e1d4a0;border-radius:8px;padding:7px;margin:7px 0;background:#fffdf3;}
  body.printSavedCompare #savedComparePrintRoot .printCompareItem.changed{background:#fff6d8;font-weight:600;}
  body.printSavedCompare #savedComparePrintRoot .printCompareField{font-weight:900;color:#5b3b14;margin-bottom:4px;}
  body.printSavedCompare #savedComparePrintRoot .printCompareLine{margin:3px 0;word-break:normal;overflow-wrap:normal;}
  body.printSavedCompare #savedComparePrintRoot .printCompareLine strong{display:block;min-width:0;margin-bottom:1px;}
  body.printSavedCompare #savedComparePrintRoot .printCompareValue{display:block;max-width:100%;word-break:normal;overflow-wrap:normal;hyphens:none;white-space:normal;}.printCompareValue .dateTimeNoWrap,.printCompareValue .timeNoWrap{white-space:nowrap!important;display:inline!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;}
  body.printSavedCompare #savedComparePrintRoot .timeNoWrap, body.printSavedCompare #savedComparePrintRoot .dateTimeNoWrap{white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;display:inline-block!important;max-width:none!important;hyphens:none!important;}
  body.printSavedCompare #savedComparePrintRoot ul{margin:5px 0 0 18px;padding:0;}
}
@media(max-width:680px){.compareGrid{grid-template-columns:1fr}.compareTableWrap{display:none}.compareScrollHint{display:none}.compareCards{display:grid}.comparePanel{padding:10px}.compareCard{font-size:.94rem}.compareCard .compareCardPair{grid-template-columns:72px 1fr}.compareSnapshotConfirm .snapshotGrid{grid-template-columns:1fr}.inlineCheck{font-size:.95rem}.inlineCheck input[type="checkbox"]{width:24px!important;height:24px!important;min-width:24px!important}}
@media(min-width:681px){.compareScrollHint{display:block}}


/* v118C Glossary Filter Hard Fix: visible link/cache tools removed; keep conservative print cleanup. */
@media print{@page{margin:.32in;}html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;}a[href]::after{content:""!important}}

.thickness-preview-card{margin:12px 0 16px;padding:14px 16px;border:2px solid var(--green2,#b7d8c2);border-radius:16px;background:#f7fbf4;line-height:1.35;}
.thickness-preview-card b{color:#174f2a;}

/* v119E.3.6.85.1.1.1 Thickness Control Layout Fix */
.thicknessIntegrated{margin-top:6px;border:0;background:transparent;border-radius:0;padding:0}
.thicknessIntegrated .thicknessHelperMeta{font-size:.84rem;color:#6b4a22;line-height:1.28;margin-top:6px}
.thicknessInlineSelect{min-width:230px;flex:1.25}
.overrideRow input#ballOverride{min-width:110px;max-width:150px}
@media(max-width:640px){.thicknessInlineSelect{min-width:100%;}.overrideRow input#ballOverride{max-width:none;min-width:100%;}}


/* v119E.3.6.85.1.1.1 Quick Controls mobile layout lock
   Locks iPhone/PWA Quick Controls to the intended 3-column layout with Reset full-width.
   Display-only: no formula, timing, library, print, snapshot, or profile-selection logic mutation. */
@media (max-width:768px){
  .stickyControlBar{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important;align-items:stretch !important;padding:8px 10px 10px !important;}
  .stickyControlBar .stickyLabel{grid-column:1 / -1 !important;width:auto !important;margin:0 !important;font-size:12px !important;line-height:1.05 !important;}
  .stickyControlBar > button,.stickyControlBar > .guideHelpWrap,.stickyControlBar > .printExportWrap{width:100% !important;min-width:0 !important;max-width:none !important;margin:0 !important;display:block !important;}
  .stickyControlBar > button,.stickyControlBar > .guideHelpWrap > button,.stickyControlBar > .printExportWrap > button{width:100% !important;min-width:0 !important;margin:0 !important;flex:none !important;white-space:nowrap !important;text-align:center !important;padding:7px 6px !important;font-size:11px !important;line-height:1.1 !important;}
  .stickyControlBar > button:last-of-type{grid-column:1 / -1 !important;}
  .guideHelpMenu,.printExportMenu{min-width:min(92vw,360px) !important;}
}


.v119c17BlendWarning,.v119c17BlendNote.warning{border-color:#e0b34d!important;background:#fff8df!important;color:#3f2d00!important}.v119c17BlendWarning b,.v119c17BlendNote.warning b{color:#4a3400}

/* v119E.3.6.85.1.1.1 Contextual Touch Help / Procedure Glossary */
.v119e01ContextHelpHint{
  max-width:980px;margin:8px auto 10px;padding:8px 12px;border:1px solid #c7e2cc;border-radius:12px;background:#eef8f0;color:#174d2a;font-size:13px;line-height:1.35;
}
.contextHelpTermGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:10px;}
.contextualTouchHelpGuide .glossaryItem{background:#fff;border:1px solid #e0ece2;border-radius:12px;padding:10px;}
@media print{.v119e01ContextHelpHint{display:none!important}.contextHelpTermGrid{display:block}.contextualTouchHelpGuide .glossaryItem{break-inside:avoid;page-break-inside:avoid}}

.contextHelpTermGrid .ctxGuideHelp{display:inline-block;margin-bottom:2px;}
.contextHelpTermGrid .glossaryItem b{line-height:1.35;}

/* v119E.3.6.85.1.1.1 — make entire dotted contextual-help term a dependable mobile tap target, not only the ⓘ glyph. */
.ctxHelp,
.ctxGuideHelp{
  display:inline-block;
  position:relative;
  padding:0 .08em .10em .02em;
  margin:0 .02em .04em 0;
  line-height:1.12;
  cursor:pointer;
  -webkit-tap-highlight-color:rgba(11,107,53,.18);
  touch-action:manipulation;
}
.ctxHelp::after,
.ctxGuideHelp::after{
  display:inline-block;
  margin-left:.18em;
  pointer-events:none;
}


/* v119E.3.6.85.1.1.1 — Print-safe contextual help cleanup. Screen help remains active; print/PDF renders help chips as plain text. */
@media print{
  .ctxHelp,
  .ctxGuideHelp,
  .ctxLiveOutputHelp{
    color:inherit !important;
    border-bottom:0 !important;
    text-decoration:none !important;
    font-weight:inherit !important;
    display:inline !important;
    padding:0 !important;
    margin:0 !important;
    line-height:inherit !important;
    cursor:inherit !important;
    box-shadow:none !important;
    background:transparent !important;
    -webkit-tap-highlight-color:transparent !important;
  }
  .ctxHelp::after,
  .ctxGuideHelp::after,
  .ctxLiveOutputHelp::after{
    content:"" !important;
    display:none !important;
  }
  .contextHelpPopover,
  .infoOverlay,
  .guideModal,
  .v119e01ContextHelpHint{
    display:none !important;
    visibility:hidden !important;
  }
}


/* v119E.3.6.85.1.1.1 Learning Center Training Module */
.learningCenterInner h2{margin:0 0 10px;color:#0b6b35;font-size:1.28rem;line-height:1.2}
.learningCenterInner h3{margin:14px 0 6px;color:#064d27;font-size:1.02rem;line-height:1.2}
.learningCenterInner p{margin:7px 0;line-height:1.42}
.learningCenterInner ul,.learningCenterInner ol{margin:7px 0 9px 20px;padding:0}
.learningCenterInner li{margin:4px 0;line-height:1.35}
.learningCenterInner table{width:100%;border-collapse:collapse;margin:8px 0 12px;font-size:.92rem}
.learningCenterInner th,.learningCenterInner td{border:1px solid #dce9dd;padding:6px 7px;text-align:left;vertical-align:top}
.learningCenterInner th{background:#eef8f0;color:#064d27}
.learningCenterIntro h3{margin-top:14px;border-bottom:1px solid #dce9dd;padding-bottom:3px}
.learningTocList{columns:1;list-style:disc;margin-left:20px}
.learningTocList a,.learningNav a{color:#0b6b35;text-decoration:none;border-bottom:1px dotted #0b6b35;font-weight:700}
.learningNav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:8px;border:1px solid #dce9dd;border-radius:10px;background:#f7fff8}
.learningNav a{display:inline-block;padding:4px 7px;border:1px solid #bcd8c4;border-radius:999px;background:#fffefa}
@media print{.learningNav{display:none!important}.learningTocList a{border-bottom:0!important;color:inherit!important}}

/* v119E.3.6.85.1.1.1 consolidated polish: iPhone safe area, Learning Center nav, and Quick Controls navigation. */
.stickyControlBar{
  padding-top:calc(8px + env(safe-area-inset-top, 0px)) !important;
}
.quickResetBtn{border-color:rgba(122,130,120,.45) !important;color:#4b5548 !important;}
.quickTopBtn,.quickHomeBtn{border-color:rgba(11,107,53,.28) !important;color:var(--italy-green-dark) !important;}
.learningNav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px 0;padding:8px 0;border-bottom:1px solid #e4eadf;}
.learningCenterInner > .learningNav:last-child{margin:14px 0 0 0;border-top:1px solid #e4eadf;border-bottom:0;padding-top:10px;}
.learningNav a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid #c8ddcc;border-radius:10px;background:#fffefa;color:#164f2a;text-decoration:none;font-weight:800;font-size:13px;line-height:1.1;}
.learningNav a[data-learn-print]{border-color:#e0c376;color:#6b3d17;background:#fff8e8;}
@media(max-width:768px){
  .stickyControlBar{padding:calc(10px + env(safe-area-inset-top, 0px)) 10px 10px !important;}
  .stickyControlBar > button:last-of-type{grid-column:auto !important;}
  .stickyControlBar > button.quickResetBtn,
  .stickyControlBar > button.quickTopBtn,
  .stickyControlBar > button.quickHomeBtn{grid-column:auto !important;}
  .learningNav{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .learningNav a{width:auto;min-height:36px;font-size:12px;padding:7px 8px;}
}
@media print{.learningNav{display:none!important}}

/* v119E.3.6.85.1.1.1 compact navigation/search/sections polish.
   Display-only: keeps full Quick Controls at top, adds a compact fixed nav after scrolling,
   improves Learning Center topic navigation, and trims mobile safe-area spacing slightly. */
@media(max-width:768px){
  .stickyControlBar{padding:calc(2px + env(safe-area-inset-top, 0px)) 10px 10px !important;}
}
.compactStickyNav{
  position:fixed;
  left:8px;
  right:8px;
  bottom:calc(8px + env(safe-area-inset-bottom, 0px));
  z-index:2600;
  display:none;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  padding:7px;
  background:rgba(255,253,247,.98);
  border:1px solid rgba(11,107,53,.28);
  border-radius:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
}
body.compactNavActive .compactStickyNav{display:grid;}
.compactStickyNav button{
  margin:0 !important;
  width:100% !important;
  min-height:34px !important;
  padding:7px 6px !important;
  font-size:12px !important;
  line-height:1.05 !important;
  border-radius:10px !important;
  background:#fffefa !important;
  color:var(--italy-green-dark) !important;
  border:1px solid rgba(11,107,53,.25) !important;
  white-space:nowrap;
}
body.compactNavActive main{padding-bottom:92px;}
body.compactNavActive .guideModalBody{padding-bottom:96px;}
.learningCenterSearch{
  margin:8px 0 12px;
  padding:10px;
  border:1px solid #dce9dd;
  border-radius:12px;
  background:#f7fff8;
}
.learningCenterSearch label{display:block;margin:0 0 6px;color:#064d27;font-weight:800;font-size:13px;}
.learningCenterSearch input{width:100%;padding:10px;border:1px solid #bfd7c6;border-radius:10px;font-size:15px;background:#fff;}
.learningSearchResults{margin-top:8px;font-size:13px;line-height:1.35;}
.learningSearchResults a{display:block;color:#0b6b35;text-decoration:none;font-weight:800;border-bottom:1px dotted #0b6b35;padding:5px 0;}
.learningSearchResults .muted{color:#5c665e;font-size:12px;}
.learningSectionMenu{
  margin:8px 0 12px;
  padding:0;
  border:1px solid #dce9dd;
  border-radius:12px;
  background:#fffefa;
  overflow:hidden;
}
.learningSectionMenu > summary{
  padding:9px 10px !important;
  font-size:13px !important;
  color:#064d27 !important;
  font-weight:900 !important;
  background:#f0f8f2;
}
.learningSectionLinks{display:grid;grid-template-columns:1fr;gap:5px;padding:9px 10px;}
.learningSectionLinks a{color:#0b6b35;text-decoration:none;border-bottom:1px dotted #0b6b35;font-weight:800;font-size:13px;line-height:1.25;}
@media(min-width:720px){.compactStickyNav{left:50%;right:auto;transform:translateX(-50%);width:min(680px,calc(100vw - 24px));grid-template-columns:repeat(6,minmax(0,1fr));}}
@media print{.compactStickyNav,.learningCenterSearch,.learningSectionMenu{display:none!important}}

/* v119E.3.6.85.1.1.1 Learning Center topic action bar polish.
   Display-only: compact sticky topic controls under the guide header. */
.learningNav.learningTopicActionBar{
  position:sticky;
  top:var(--guide-header-offset, 88px);
  z-index:5;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:6px !important;
  align-items:center;
  margin:0 0 12px 0 !important;
  padding:6px !important;
  border:1px solid rgba(11,107,53,.18) !important;
  border-radius:12px !important;
  background:rgba(255,253,247,.98) !important;
  box-shadow:0 3px 14px rgba(0,0,0,.12);
  backdrop-filter:blur(8px);
}
.learningNav.learningTopicActionBar a,
.learningNav.learningTopicActionBar .learnNavDisabled{
  display:flex !important;
  align-items:center;
  justify-content:center;
  min-height:32px !important;
  width:auto !important;
  padding:6px 5px !important;
  border:1px solid rgba(11,107,53,.24) !important;
  border-radius:10px !important;
  background:#fffefa !important;
  color:var(--italy-green-dark) !important;
  font-weight:900 !important;
  font-size:12px !important;
  line-height:1.05 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(11,107,53,.24) !important;
  white-space:nowrap;
}
.learningNav.learningTopicActionBar a[data-learn-print]{
  border-color:#e0c376 !important;
  color:#6b3d17 !important;
  background:#fff8e8 !important;
}
.learningNav.learningTopicActionBar .learnNavDisabled{
  opacity:.42;
  color:#667066 !important;
  background:#f6f5ef !important;
  border-color:#d8ddd4 !important;
}
.learningCenterInner > .learningNav:last-child{display:grid !important;}
@media(max-width:768px){
  .learningNav.learningTopicActionBar{
    top:var(--guide-header-offset, 96px);
    gap:5px !important;
    padding:5px !important;
  }
  .learningNav.learningTopicActionBar a,
  .learningNav.learningTopicActionBar .learnNavDisabled{
    min-height:31px !important;
    font-size:11px !important;
    padding:6px 3px !important;
  }
}
@media print{.learningTopicActionBar{display:none!important}}


/* v119E.3.6.85.1.1.1 Safari open stability recovery.
   Conservative display-only patch: avoid blank lower viewport and keep fixed nav from covering content. */
html,body{min-height:100%;}
body{overflow-x:hidden;}
main{min-height:100vh;}
body.compactNavActive main{
  padding-bottom:calc(var(--psp-compact-nav-h, 112px) + 40px + env(safe-area-inset-bottom, 0px)) !important;
  scroll-padding-bottom:calc(var(--psp-compact-nav-h, 112px) + 40px + env(safe-area-inset-bottom, 0px)) !important;
}
body.compactNavActive .guideModalBody{
  padding-bottom:calc(var(--psp-compact-nav-h, 112px) + 48px + env(safe-area-inset-bottom, 0px)) !important;
  scroll-padding-bottom:calc(var(--psp-compact-nav-h, 112px) + 48px + env(safe-area-inset-bottom, 0px)) !important;
}
.pspShortcutBackBar{display:none!important;visibility:hidden!important;pointer-events:none!important;height:0!important;max-height:0!important;overflow:hidden!important;}
.pspPrintTopicFrame{position:fixed!important;left:-9999px!important;top:-9999px!important;width:1px!important;height:1px!important;border:0!important;opacity:0!important;pointer-events:none!important;}
@media(max-width:768px){
  .stickyControlBar{padding:calc(2px + env(safe-area-inset-top,0px)) 10px 10px!important;}
}
@media print{.compactStickyNav,.pspShortcutBackBar,.pspPrintTopicFrame{display:none!important;}}


/* v119E.3.6.85.1.1.1 Mobile Guide Back Return Restore Safe Rollback
   Built from confirmed-opening v119E.3.6.85.1.1.1 via v119E.3.6.85.1.1.1. CSS/HTML-only cleanup plus tiny inline Guide menu bridge.
   UI-only: no formula, yeast, flour, timeline, library, import/export, or print engine changes. */
@media(max-width:768px){
  /* Bottom Quick Nav owns mobile section navigation. Top Quick Controls keep utilities only. */
  .stickyControlBar .pspMobileNavDuplicate,
  .stickyControlBar .pspMobileGuideDuplicate{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  .stickyControlBar{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    align-items:stretch !important;
    padding:calc(6px + env(safe-area-inset-top,0px)) 10px 10px !important;
    margin-bottom:10px !important;
  }
  .stickyControlBar .stickyLabel{
    grid-column:1 / -1 !important;
    width:auto !important;
    margin:0 !important;
    font-size:12px !important;
    line-height:1.05 !important;
  }
  .stickyControlBar > button:not(.pspMobileNavDuplicate),
  .stickyControlBar > .printExportWrap{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    grid-column:auto !important;
  }
  .stickyControlBar > button:not(.pspMobileNavDuplicate),
  .stickyControlBar > .printExportWrap > button{
    width:100% !important;
    min-width:0 !important;
    padding:8px 6px !important;
    font-size:11px !important;
    line-height:1.12 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }
  .printExportMenu{left:0 !important;right:auto !important;min-width:min(92vw,360px) !important;}
  /* Give the floating bottom nav more air without touching its creation/show logic. */
  html,body{
    scroll-padding-bottom:calc(var(--psp-compact-nav-h,112px) + 104px + env(safe-area-inset-bottom,0px)) !important;
  }
  main{
    padding-bottom:calc(var(--psp-compact-nav-h,112px) + 104px + env(safe-area-inset-bottom,0px)) !important;
    scroll-padding-bottom:calc(var(--psp-compact-nav-h,112px) + 104px + env(safe-area-inset-bottom,0px)) !important;
  }
  .guideModalBody{
    padding-bottom:calc(var(--psp-compact-nav-h,112px) + 112px + env(safe-area-inset-bottom,0px)) !important;
    scroll-padding-bottom:calc(var(--psp-compact-nav-h,112px) + 112px + env(safe-area-inset-bottom,0px)) !important;
  }
}
@media print{
  .pspMobileNavDuplicate,.pspMobileGuideDuplicate{display:none!important;}
}


/* v119E.3.6.85.1.1.1 mobile Guide / Help choice screen restore. */
.pspMobileGuideHub{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:12px 0 4px;
}
.pspMobileGuideHub button{
  width:100% !important;
  min-height:42px !important;
  padding:10px 12px !important;
  border-radius:12px !important;
  text-align:left !important;
  font-weight:900 !important;
  color:var(--italy-green-dark) !important;
  background:#fffefa !important;
  border:1px solid rgba(11,107,53,.28) !important;
}
@media(min-width:769px){.pspMobileGuideHub{grid-template-columns:1fr 1fr;}}
@media print{.pspMobileGuideHub{display:none!important;}}


/* v119E.3.6.85.1.1.1 Mobile Guide Back Return Restore Safe Rollback
   Restores a small in-modal Back button for guide/help hyperlink return without reviving the old full-width overlay. */
.guideModalHeader .pspGuideReturnBackBtn{
  margin-left:auto;
  margin-right:8px;
  min-height:32px;
  padding:6px 12px;
  font-size:13px;
  border-radius:999px;
}
.guideModalHeader #pspGuideReturnBackBtn[aria-hidden="true"]{display:none!important;}
@media(max-width:768px){
  .guideModalHeader{gap:8px;}
  .guideModalHeader .pspGuideReturnBackBtn{margin-left:auto;margin-right:4px;min-width:64px;}
}
@media print{.pspGuideReturnBackBtn{display:none!important;}}


/* v119E.3.6.85.1.1.1 — Core Setup Organization Corrected Safe Hotfix
   Display/layout only. Normal print hides developer diagnostics and detailed builder controls;
   generated preferment, formula, temperature, sauce/cheese, procedure, and timeline outputs remain printable. */
.pspSetupMovedNote{font-size:12px;color:#5b3b14;background:#fff8e8;border:1px solid #ead7a0;border-radius:10px;padding:8px;margin:8px 0;}
.pspDeveloperDiagnostics > summary,.pspAdvancedBuilderControls > summary{color:#6b3d17;}
.pspAdvancedBuilderControls:not([open]) > .inner{display:none;}
@media print{
  .pspDeveloperDiagnostics,.pspAdvancedBuilderControls,.pspSetupMovedNote{display:none!important;}
}

/* v119E.3.6.85.1.1.1: hide normal Good System Alert from normal full-report print; warnings stay visible. */
@media print{
  details.pspNormalGoodSystemAlert, details.pspNormalGoodSystemAlert *{display:none!important;visibility:hidden!important;}
  details.pspNormalGoodSystemAlert{height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;break-inside:avoid!important;page-break-inside:avoid!important;}
}


/* v119E.3.6.85.1.1.1: controlled full-report print/export alert cleanup.
   Normal Good System Alert is hidden from full-report print. True Review/warning alerts remain visible. */
@media print{
  details.pspV36NormalGoodSystemAlert,
  details[data-psp-v36-system-alert="normal-good"],
  body.pspV36FullReportPrint details.pspV36NormalGoodSystemAlert,
  body.pspV36FullReportPrint details[data-psp-v36-system-alert="normal-good"],
  body.pspV36FullReportPrint details.card:has(#systemAlert .systemAlertGood):not(:has(#systemAlert .systemAlertWarn)):not(:has(#systemAlert .warn)):not(:has(#systemAlert .warning)):not(:has(#systemAlert .review)){
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  details.pspV36WarningSystemAlert,
  details[data-psp-v36-system-alert="warning-visible"]{
    display:block!important;
    visibility:visible!important;
  }
}


/* v119E.3.6.99.4.1 — Crispness Bias Suggested Changes Preview */
.pspCrispnessPreviewV885{margin-top:14px;border:1px solid #bfd4c3;border-radius:14px;background:#f8fbf8;padding:12px;overflow:hidden}
.pspCrispnessPreviewTitleV885{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px;font-size:1rem}
.pspCrispnessPreviewTitleV885 span{font-size:.82rem;font-weight:800;padding:5px 9px;border-radius:999px;background:#edf4ee;border:1px solid #c5d8c8}
.pspCrispnessNoticeV885,.pspCrispnessScopeV885,.pspCrispnessDhiV885,.pspCrispnessFootV885{padding:9px 10px;border-radius:10px;margin:8px 0;font-size:.88rem;line-height:1.35}
.pspCrispnessNoticeV885{background:#fff5d9;border:1px solid #e6ca7a}
.pspCrispnessScopeV885{background:#f7f2e8;border:1px solid #dac9a7}
.pspCrispnessDhiV885{background:#eef6f0;border:1px solid #c4d9c8}
.pspCrispnessFootV885{background:#f3f3f3;border:1px solid #d6d6d6}
.pspCrispnessRowsV885{display:grid;gap:8px;margin-top:10px}
.pspCrispnessRowV885{border:1px solid #d6e1d8;border-radius:10px;background:#fff;padding:9px 10px;min-width:0}
.pspCrispnessRowHeadV885{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.pspCrispnessDeltaV885{font-weight:800;margin-top:4px;overflow-wrap:anywhere}
.pspCrispnessEffectiveV885,.pspCrispnessDetailV885{font-size:.82rem;line-height:1.35;margin-top:4px;overflow-wrap:anywhere}
.pspCrispnessDetailV885{color:#37463b}
.pspCrispnessStatusV885{display:inline-block;font-size:.72rem;font-weight:900;line-height:1.15;padding:4px 7px;border-radius:999px;border:1px solid #bdc9bf;background:#f2f5f2;white-space:normal;text-align:center;max-width:100%}
.pspCrispnessStatusV885[data-status="Auto-applied"]{background:#e5f5ea;border-color:#9fc6aa}
.pspCrispnessStatusV885[data-status="Protected by manual override"]{background:#eaf2fa;border-color:#9dbbd6}
.pspCrispnessStatusV885[data-status="Indirectly recalculated"]{background:#fff2d5;border-color:#dfbf6d}
@media (min-width:760px){.pspCrispnessRowsV885{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.pspCrispnessPreviewV885{padding:10px}.pspCrispnessRowHeadV885{display:block}.pspCrispnessStatusV885{margin-top:5px}.pspCrispnessPreviewTitleV885{display:block}.pspCrispnessPreviewTitleV885 span{display:inline-block;margin-top:6px}}
@media print{.pspCrispnessPreviewV885{display:none!important}}

