/* =======================================================================
   PFS App-Shell Redesign Prototype
   Loaded only by frontend-appshell-redesign-20260712.
   ======================================================================= */

:root{
  --pfs-shell-navy:#071727;
  --pfs-shell-navy-2:#0a2137;
  --pfs-shell-navy-3:#0f3151;
  --pfs-shell-blue:#0b5eea;
  --pfs-shell-blue-dark:#084ec2;
  --pfs-shell-green:#1fac55;
  --pfs-shell-bg:#f5f7fb;
  --pfs-shell-ink:#111827;
  --pfs-shell-muted:#667085;
  --pfs-shell-line:#d8dee8;
  --pfs-shell-usage-warning:#a65f00;
  --pfs-shell-usage-danger:#b42318;
  --pfs-shell-sidebar:236px;
  --pfs-shell-sidebar-collapsed:76px;
}

/* Phase 1 readiness contracts */
body.pfs-redesign .pfs-cutplan-readiness-reason{
  max-width:540px;
  color:#5f6f82;
  font-size:11px;
  font-weight:750;
  line-height:1.35;
}
body.pfs-redesign .pfs-cutplan-readiness-reason.is-attention{ color:#8a5a13; }
body.pfs-redesign .btn-optimize-roll:disabled,
body.pfs-redesign .btn-mobile-optimize:disabled{
  cursor:not-allowed;
  opacity:.58;
}
body.pfs-redesign .window-row.is-measurement-invalid{
  border-color:#d7952b !important;
  box-shadow:0 0 0 2px rgba(215,149,43,.14);
}
body.pfs-redesign .window-row.is-measurement-invalid [aria-invalid="true"]{
  border-color:#bd7410 !important;
  background:#fffaf0 !important;
}
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-state{
  grid-column:1/-1;
  margin-top:2px;
  color:#68788c;
  font-size:10.5px;
  font-weight:800;
  line-height:1.35;
}
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-state.is-attention{ color:#8a5a13; }
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-state.is-error{ color:#a13d32; }
body.pfs-redesign #quoteMetaInline.is-empty{
  border-color:#d8dee8 !important;
  background:#f8fafc !important;
  color:#667085 !important;
}
body.pfs-redesign #quoteMetaInline.is-info{
  border-color:#bdd3f7 !important;
  background:#f2f7ff !important;
  color:#1758ad !important;
}
body.pfs-redesign #quoteMetaInline.is-attention{
  border-color:#e7c98e !important;
  background:#fff8e8 !important;
  color:#8a5a13 !important;
}
body.pfs-redesign details.pfs-mobile-card-repaint,
body.pfs-redesign details.pfs-mobile-card-repaint > summary.job-details-header{
  transform:translateZ(0);
  backface-visibility:hidden;
  will-change:transform,opacity;
}

@media(max-width:768px){
  body.pfs-redesign .mobile-optimize-bar .pfs-cutplan-readiness-reason{
    width:100%;
    margin:0;
    text-align:center;
    font-size:10px;
  }

  body.pfs-redesign .mobile-optimize-bar .pfs-cutplan-readiness-reason.is-attention{
    box-sizing:border-box;
    padding:8px 10px;
    border:1px solid #e7c98e;
    border-radius:8px;
    background:#fff8e8;
    color:#71420a;
    box-shadow:0 6px 16px rgba(97,61,9,.14);
  }
}

/* Optimization empty state
   A mode-first launcher that keeps the existing Build Cut Plan modal intact. */
body.pfs-redesign .results-section #resultsPlaceholder{
  padding:0;
  border:0 !important;
  border-radius:0;
  background:transparent;
  color:var(--pfs-shell-ink);
  text-align:left;
}

body.pfs-redesign .pfs-plan-launcher{
  position:relative;
  overflow:hidden;
  border:1px solid #d8dee8;
  border-style:solid !important;
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 40px rgba(15,23,42,.065);
}

body.pfs-redesign .pfs-plan-launcher::before{
  display:none;
}

body.pfs-redesign .pfs-plan-launcher-intro{
  max-width:720px;
  padding:25px 26px 18px;
}

body.pfs-redesign .pfs-plan-eyebrow,
body.pfs-redesign .pfs-plan-mode-kicker{
  display:block;
  margin:0 0 7px;
  color:#0b5eea;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1.2;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-plan-launcher-intro h3{
  margin:0;
  color:#132238 !important;
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size:clamp(20px, 2vw, 27px);
  font-weight:900;
  letter-spacing:-.035em;
  line-height:1.08;
}

body.pfs-redesign .pfs-plan-launcher-intro p{
  max-width:650px;
  margin:9px 0 0;
  color:#657083;
  font-size:13px;
  font-weight:600;
  line-height:1.55;
}

body.pfs-redesign .pfs-plan-mode-tabs{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:4px;
  margin:0 20px 12px;
  padding:4px;
  border:1px solid #dce2ea;
  border-radius:8px;
  background:#f4f6f9;
}

body.pfs-redesign .pfs-plan-mode-tab{
  position:relative;
  min-width:0;
  min-height:76px;
  display:grid;
  grid-template-columns:32px minmax(0, 1fr);
  grid-template-rows:auto auto;
  align-content:center;
  align-items:center;
  gap:2px 10px;
  padding:11px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:#243348;
  box-shadow:none;
  cursor:pointer;
  text-align:left;
  transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

body.pfs-redesign .pfs-plan-mode-tab:hover{
  transform:none;
  border-color:#d2dae5;
  background:rgba(255,255,255,.72);
  box-shadow:none;
}

body.pfs-redesign .pfs-plan-mode-tab:focus-visible{
  outline:none;
  border-color:#0b5eea;
  box-shadow:0 0 0 4px rgba(11,94,234,.13);
}

body.pfs-redesign .pfs-plan-mode-tab.is-active{
  border-color:#cfd8e5;
  background:#fff;
  box-shadow:0 2px 7px rgba(15,23,42,.08), inset 0 -3px 0 #0b5eea;
}

body.pfs-redesign .pfs-plan-mode-tab > span:nth-child(2){
  min-width:0;
}

body.pfs-redesign .pfs-plan-mode-tab strong{
  display:block;
  overflow:hidden;
  color:#16253a;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.pfs-redesign .pfs-plan-mode-tab small{
  display:block;
  margin-top:3px;
  color:#798497 !important;
  font-size:9px;
  font-weight:800;
  line-height:1.2;
}

body.pfs-redesign .pfs-plan-mode-tab em{
  grid-column:2;
  color:#0b5eea;
  font-size:8px;
  font-style:normal;
  font-weight:900;
  letter-spacing:.06em;
  line-height:1.1;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-plan-mode-tab em:empty{ display:none; }

body.pfs-redesign .pfs-plan-mode-tab.is-locked:not(.is-active){
  border-style:solid;
  background:rgba(255,255,255,.45);
}

body.pfs-redesign .pfs-plan-mode-tab.is-locked{
  opacity:.58;
  filter:grayscale(.45) saturate(.45);
}

body.pfs-redesign .pfs-plan-mode-tab.is-locked:hover{
  border-color:transparent;
  background:rgba(255,255,255,.45);
}

body.pfs-redesign .pfs-plan-mode-tab.is-locked em{
  color:#687386;
}

body.pfs-redesign .pfs-plan-mode-mark{
  position:relative;
  grid-row:1 / 3;
  width:30px;
  height:30px;
  display:block;
  border:1px solid #d8e2ef;
  border-radius:7px;
  background:#f5f8fc;
}

body.pfs-redesign .pfs-plan-mode-mark i{
  position:absolute;
  display:block;
  border-radius:2px;
  background:#0b5eea;
}

body.pfs-redesign .pfs-plan-mode-mark-single i:first-child{ inset:7px 6px 15px; }
body.pfs-redesign .pfs-plan-mode-mark-single i:last-child{ inset:17px 10px 6px 6px; background:#d7a94c; }
body.pfs-redesign .pfs-plan-mode-mark-multi i:first-child{ inset:7px 6px 16px; }
body.pfs-redesign .pfs-plan-mode-mark-multi i:last-child{ inset:17px 6px 6px 11px; background:#169a52; }
body.pfs-redesign .pfs-plan-mode-mark-inventory i{
  width:9px;
  height:9px;
  top:9px;
  border:3px solid #0b5eea;
  border-radius:50%;
  background:transparent;
}
body.pfs-redesign .pfs-plan-mode-mark-inventory i:first-child{ left:4px; }
body.pfs-redesign .pfs-plan-mode-mark-inventory i:last-child{ right:4px; border-color:#d7a94c; }

body.pfs-redesign .pfs-plan-mode-panel{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(210px, .92fr);
  gap:18px;
  margin:0 20px 20px;
  padding:24px;
  border:1px solid #dce2ea;
  border-radius:8px;
  background:#f8fafc;
}

body.pfs-redesign .pfs-plan-mode-copy{
  min-width:0;
  align-self:center;
}

body.pfs-redesign .pfs-plan-mode-copy h4{
  margin:0;
  color:#142238;
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:19px;
  font-weight:900;
  letter-spacing:-.025em;
  line-height:1.16;
}

body.pfs-redesign .pfs-plan-mode-copy > p{
  margin:9px 0 13px;
  color:#687386;
  font-size:12px;
  font-weight:600;
  line-height:1.55;
}

body.pfs-redesign .pfs-plan-mode-facts{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:16px;
}

body.pfs-redesign .pfs-plan-mode-facts span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:26px;
  padding:5px 8px;
  border:1px solid #e0e6ee;
  border-radius:6px;
  background:#f8fafc;
  color:#526075;
  font-size:9px;
  font-weight:850;
  line-height:1.2;
}

body.pfs-redesign .pfs-plan-mode-facts span::before{
  content:"";
  width:5px;
  height:5px;
  flex:0 0 5px;
  border-radius:50%;
  background:#169a52;
  box-shadow:0 0 0 3px rgba(22,154,82,.11);
}

body.pfs-redesign .pfs-plan-open-button{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:10px 14px 10px 16px;
  border:1px solid #0749b4;
  border-radius:8px;
  background:linear-gradient(180deg, #1269f0, #0b55ca);
  color:#fff;
  box-shadow:0 12px 25px rgba(11,94,234,.22);
  cursor:pointer;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}

body.pfs-redesign .pfs-plan-open-button:hover{
  transform:translateY(-1px);
  background:linear-gradient(180deg, #1b72f5, #074ebf);
  box-shadow:0 16px 30px rgba(11,94,234,.28);
}

body.pfs-redesign .pfs-plan-open-button:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(11,94,234,.16), 0 14px 28px rgba(11,94,234,.24);
}

body.pfs-redesign .pfs-plan-open-button.is-tier-locked{
  color:#687386;
  border:1px solid #cbd2dc;
  background:#e7eaf0;
  box-shadow:none;
  filter:grayscale(.35);
  cursor:help;
}

body.pfs-redesign .pfs-plan-open-button.is-tier-locked:hover{
  transform:none;
  color:#687386;
  background:#e7eaf0;
  box-shadow:none;
}

body.pfs-redesign .pfs-plan-open-button.is-tier-locked .pfs-plan-open-arrow{
  display:none;
}

body.pfs-redesign .pfs-plan-open-arrow{
  width:22px;
  height:22px;
  display:inline-grid;
  place-items:center;
  border-radius:5px;
  background:rgba(255,255,255,.15);
  font-size:14px;
}

body.pfs-redesign .pfs-plan-workflow-note{
  display:block;
  max-width:460px;
  margin-top:10px;
  color:#8993a3 !important;
  font-size:9px;
  font-weight:700;
  line-height:1.45;
}

body.pfs-redesign .pfs-plan-overview{
  align-self:stretch;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid #d9e0e9;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.055);
}

body.pfs-redesign .pfs-plan-overview-head{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 13px;
  border-bottom:1px solid #e3e8ef;
  color:#26364b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-plan-overview-head small{
  padding:4px 6px;
  border:1px solid #dfe5ed;
  border-radius:5px;
  background:#f6f8fa;
  color:#7a8697 !important;
  font-size:7px;
  font-weight:900;
}

body.pfs-redesign .pfs-plan-overview-flow{
  flex:1;
  display:grid;
  align-content:center;
  padding:7px 13px;
}

body.pfs-redesign .pfs-plan-overview-flow > div{
  position:relative;
  min-height:58px;
  display:grid;
  grid-template-columns:27px minmax(0, 1fr);
  align-items:center;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid #edf0f4;
}

body.pfs-redesign .pfs-plan-overview-flow > div:last-child{
  border-bottom:0;
}

body.pfs-redesign .pfs-plan-overview-flow > div > i{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border:1px solid #cbd8e9;
  border-radius:6px;
  background:#eef4fc;
  color:#0b5eea;
  font-size:9px;
  font-style:normal;
  font-weight:950;
}

body.pfs-redesign .pfs-plan-overview-flow strong{
  display:block;
  color:#25354a;
  font-size:10px;
  font-weight:900;
  line-height:1.25;
}

body.pfs-redesign .pfs-plan-overview-flow small{
  display:block;
  margin-top:3px;
  color:#778396 !important;
  font-size:8px;
  font-weight:700;
  line-height:1.35;
}

body.pfs-redesign .pfs-plan-overview-note{
  display:flex;
  align-items:center;
  gap:7px;
  padding:10px 13px;
  border-top:1px solid #e3e8ef;
  background:#f8fafc;
  color:#667386;
  font-size:8px;
  font-weight:800;
  line-height:1.35;
}

body.pfs-redesign .pfs-plan-overview-note > span{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#169a52;
  box-shadow:0 0 0 3px rgba(22,154,82,.10);
}

body.pfs-redesign .results-section #error.error-message{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0, 1fr) auto;
  align-items:center;
  gap:13px;
  margin:0 0 14px;
  padding:13px 13px 13px 14px;
  border:1px solid #e2d5cc;
  border-left:4px solid #c95b44;
  border-radius:8px;
  background:#fff;
  color:#2a3442;
  box-shadow:0 10px 26px rgba(85,45,34,.075);
}

body.pfs-redesign .results-section #error.error-message.hidden{
  display:none !important;
}

body.pfs-redesign .pfs-error-mark{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid #efd4cb;
  border-radius:8px;
  background:#fff3ef;
  color:#b84732;
  font-size:18px;
  font-weight:950;
}

body.pfs-redesign .pfs-error-copy{
  min-width:0;
}

body.pfs-redesign .pfs-error-kicker{
  display:block;
  margin-bottom:3px;
  color:#b14d39;
  font-size:8px;
  font-weight:950;
  letter-spacing:.10em;
  line-height:1.2;
  text-transform:uppercase;
}

body.pfs-redesign .results-section #error h3{
  margin:0;
  color:#293646 !important;
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size:13px;
  font-weight:900;
  line-height:1.25;
}

body.pfs-redesign .results-section #error p{
  margin:3px 0 0;
  color:#697486;
  font-size:10px;
  font-weight:650;
  line-height:1.4;
}

body.pfs-redesign .results-section #error .btn-error{
  min-height:34px;
  margin:0;
  padding:8px 12px;
  border:1px solid #d4dbe5;
  border-radius:7px;
  background:#fff;
  color:#304057;
  box-shadow:none;
  cursor:pointer;
  font-size:9px;
  font-weight:900;
}

body.pfs-redesign .results-section #error .btn-error:hover{
  border-color:#aebbcf;
  background:#f7f9fb;
}

body.pfs-redesign .pfs-plan-preview{
  position:relative;
  min-height:250px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:9px;
  color:#fff;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(145deg, #09243e, #061827 72%);
  background-size:22px 22px, 22px 22px, auto;
  box-shadow:0 18px 34px rgba(7,24,39,.20);
}

body.pfs-redesign .pfs-plan-preview::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-70px;
  bottom:-80px;
  border:1px solid rgba(215,169,76,.22);
  border-radius:50%;
  box-shadow:0 0 0 24px rgba(215,169,76,.035), 0 0 0 48px rgba(215,169,76,.025);
}

body.pfs-redesign .pfs-plan-preview-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:13px;
  color:#eef6ff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-plan-preview-head small{
  padding:4px 6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:5px;
  color:#aabdd2 !important;
  font-size:7px;
  font-weight:900;
}

body.pfs-redesign .pfs-plan-preview-body{
  position:relative;
  z-index:1;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:9px;
}

body.pfs-redesign .pfs-plan-sheet{
  position:relative;
  min-height:120px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-left:5px solid #d7a94c;
  border-radius:5px;
  background:
    linear-gradient(rgba(11,94,234,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,94,234,.06) 1px, transparent 1px),
    #f7fbff;
  background-size:16px 16px;
  box-shadow:0 12px 24px rgba(0,0,0,.16);
}

body.pfs-redesign .pfs-plan-sheet-label{
  position:absolute;
  top:7px;
  left:8px;
  z-index:2;
  color:#42617e;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-plan-cut{
  position:absolute;
  display:block;
  border:2px solid #0b5eea;
  border-radius:3px;
  background:linear-gradient(135deg, rgba(11,94,234,.20), rgba(11,94,234,.06));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72);
}

body.pfs-redesign .pfs-plan-cut::after{
  content:"";
  position:absolute;
  inset:4px;
  border:1px solid rgba(11,94,234,.18);
  border-radius:1px;
}

body.pfs-redesign .pfs-plan-cut-a{ left:7%; top:30%; width:24%; height:54%; }
body.pfs-redesign .pfs-plan-cut-b{ left:35%; top:26%; width:18%; height:65%; border-color:#169a52; background:rgba(22,154,82,.12); }
body.pfs-redesign .pfs-plan-cut-c{ left:57%; top:40%; width:32%; height:42%; }
body.pfs-redesign .pfs-plan-cut-d{ left:72%; top:19%; width:18%; height:17%; border-color:#d7a94c; background:rgba(215,169,76,.16); }

body.pfs-redesign .pfs-plan-preview[data-mode="multi"] .pfs-plan-sheet{
  min-height:66px;
}

body.pfs-redesign .pfs-plan-preview[data-mode="multi"] .pfs-plan-sheet:nth-child(2){
  width:82%;
  align-self:flex-end;
  border-left-color:#169a52;
}

body.pfs-redesign .pfs-plan-stock-row{
  min-height:54px;
  display:grid;
  grid-template-columns:35px minmax(0, 1fr) auto;
  align-items:center;
  gap:9px;
  padding:8px 9px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;
  background:rgba(255,255,255,.07);
}

body.pfs-redesign .pfs-plan-stock-disc{
  width:30px;
  height:30px;
  display:block;
  border:7px solid #d7a94c;
  border-radius:50%;
  background:#0b2238;
  box-shadow:0 0 0 2px rgba(255,255,255,.16);
}

body.pfs-redesign .pfs-plan-stock-row:nth-child(2) .pfs-plan-stock-disc{ border-color:#169a52; }

body.pfs-redesign .pfs-plan-stock-bar{
  height:9px;
  display:block;
  overflow:hidden;
  border-radius:3px;
  background:rgba(255,255,255,.12);
}

body.pfs-redesign .pfs-plan-stock-bar::before{
  content:"";
  display:block;
  width:74%;
  height:100%;
  background:linear-gradient(90deg, #d7a94c, #f1cd7b);
}

body.pfs-redesign .pfs-plan-stock-row:nth-child(2) .pfs-plan-stock-bar::before{
  width:48%;
  background:linear-gradient(90deg, #169a52, #65c98d);
}

body.pfs-redesign .pfs-plan-stock-row small{
  color:#b8c8d9 !important;
  font-size:8px;
  font-weight:900;
}

body.pfs-redesign .pfs-plan-preview-steps{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:5px;
  margin-top:13px;
}

body.pfs-redesign .pfs-plan-preview-steps span{
  display:flex;
  align-items:center;
  gap:5px;
  color:#b5c6d8;
  font-size:7px;
  font-weight:850;
  white-space:nowrap;
}

body.pfs-redesign .pfs-plan-preview-steps i{
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:4px;
  background:rgba(255,255,255,.07);
  color:#fff;
  font-size:7px;
  font-style:normal;
}

@media (max-width:1180px) and (min-width:861px){
  body.pfs-redesign .pfs-plan-mode-panel{
    grid-template-columns:1fr;
  }

  body.pfs-redesign .pfs-plan-preview{
    min-height:218px;
  }
}

@media (max-width:860px){
  body.pfs-redesign .results-section #resultsPlaceholder{
    padding:0;
    font-size:inherit;
    line-height:inherit;
  }

  body.pfs-redesign .pfs-plan-launcher-intro{
    padding:20px 16px 14px;
  }

  body.pfs-redesign .pfs-plan-launcher-intro h3{
    font-size:21px;
  }

  body.pfs-redesign .pfs-plan-launcher-intro p{
    font-size:12px;
  }

  body.pfs-redesign .pfs-plan-mode-tabs{
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
    overflow:visible;
    margin:0 12px 10px;
    padding:4px;
  }

  body.pfs-redesign .pfs-plan-mode-tab{
    width:100%;
    min-height:58px;
    grid-template-columns:30px minmax(0, 1fr) auto;
    grid-template-rows:auto;
    padding:9px 10px;
  }

  body.pfs-redesign .pfs-plan-mode-tab .pfs-plan-mode-mark{
    grid-row:auto;
  }

  body.pfs-redesign .pfs-plan-mode-tab em{
    grid-column:auto;
    justify-self:end;
  }

  body.pfs-redesign .pfs-plan-mode-panel{
    display:block;
    margin:0 12px 12px;
    padding:18px 16px;
  }

  body.pfs-redesign .pfs-plan-mode-copy h4{
    font-size:18px;
  }

  body.pfs-redesign .pfs-plan-open-button{
    width:100%;
  }

  body.pfs-redesign .pfs-plan-overview{
    margin-top:16px;
    box-shadow:none;
  }

  body.pfs-redesign .results-section #error.error-message{
    grid-template-columns:34px minmax(0, 1fr);
    gap:10px;
  }

  body.pfs-redesign .results-section #error .btn-error{
    grid-column:1 / -1;
    width:100%;
  }
}

/* These result actions previously inherited both the legacy gold CTA and the
   generic white output-button rule. Keep the final result controls blue at
   every roll count with enough specificity to win that older cascade. */
body.pfs-redesign .results-section.results-section [data-opt-action].btn-output.fy-actions-btn{
  border-color:rgba(7,66,168,.72) !important;
  background:linear-gradient(180deg,#0b5eea,#084aa8) !important;
  color:#fff !important;
  box-shadow:0 9px 20px rgba(11,94,234,.20) !important;
  text-shadow:none !important;
}

body.pfs-redesign .results-section.results-section [data-opt-action].btn-output.fy-actions-btn:hover{
  border-color:#084aa8 !important;
  background:linear-gradient(180deg,#176cf4,#0754d8) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(11,94,234,.26) !important;
}

/* =========================================================
   2026-07-28 layout corrections from device review
   ========================================================= */

/* Installation details uses one continuous form surface. Section labels and
   choice groups carry the hierarchy without a card around every field. */
body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-pane{
  overflow:hidden;
}

body.pfs-redesign #appMainContent #jobInfoCard .pfs-scope-material-setup{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .pfs-material-catalog-picker{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .pfs-film-guidance{
  margin-top:14px !important;
  border:0 !important;
  border-left:3px solid #8ab7f4 !important;
  border-radius:0 8px 8px 0 !important;
  background:#f4f8fe !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid{
  gap:0 20px !important;
  padding:0 16px;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field{
  padding:16px 0 !important;
  border:0 !important;
  border-bottom:1px solid #e4e9f0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field:nth-child(2),
body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field:nth-child(4){
  border-bottom:0 !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-check-chip{
  min-height:44px !important;
  padding:9px 11px !important;
  border-color:#d7dfe9 !important;
  background:#fff !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-notes-section{
  margin:0 16px 16px !important;
  padding:16px 0 0 !important;
  border:0 !important;
  border-top:1px solid #e4e9f0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

/* Film Catalog begins with one balanced toolbar row. Its count and import
   actions share the same vertical rhythm, and numeric warranty inputs retain
   comfortable inset space. */
body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings{
  padding-top:0 !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings-actions{
  top:0;
  height:40px;
  align-items:center;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-dashboard{
  min-height:40px;
  display:flex !important;
  align-items:center;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-dashboard .fy-film-metric:first-child{
  min-height:30px !important;
  box-sizing:border-box;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-workspace{
  margin-top:10px;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-warranty-inline input[type="number"]{
  min-width:0 !important;
  width:100% !important;
  min-height:42px !important;
  padding-left:12px !important;
  padding-right:12px !important;
  box-sizing:border-box;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-warranty-tiles{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-warranty-tile{
  min-width:0;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-warranty-inline{
  display:flex !important;
  flex-direction:column;
  align-items:stretch !important;
  gap:8px;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-warranty-lifetime{
  align-self:flex-start;
  margin:0 !important;
}

/* Reset Number belongs to the number it changes. */
body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-quote-next-band{
  grid-template-columns:minmax(0,1fr) auto auto !important;
  align-items:center;
  gap:10px;
}

body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-reset-estimate-inline{
  min-height:36px !important;
  padding:0 11px !important;
  white-space:nowrap;
}

/* On phones, flatten Film Handler into a single document with dividers.
   Inputs remain grouped, but nested card outlines no longer consume the
   narrow content width. */
@media (max-width:600px){
  body.pfs-redesign .pfs-workspace-film-handler .pfs-workspace-body{
    padding:0 !important;
    background:#fff !important;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-settings{
    gap:0 !important;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-production-equipment-card{
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-hero{
    padding:18px 16px !important;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-capability-list{
    display:none;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-enable-toggle{
    margin-top:2px;
    padding:11px 12px;
    border-radius:9px;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-layout{
    display:block;
    padding:0 !important;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot :is(.fy-handler-defaults-card,.fy-handler-machines-card){
    padding:18px 16px !important;
    border:0 !important;
    border-bottom:1px solid #dfe6ef !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-rule-note{
    margin-top:14px;
    padding:11px 0 0;
    border:0;
    border-top:1px solid #e2e8f0;
    border-radius:0;
    background:transparent;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-machine-list{
    gap:0;
    margin-top:14px;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-machine-row{
    gap:14px;
    padding:16px 0 0 !important;
    border:0 !important;
    border-top:1px solid #dfe6ef !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-machine-profile-head{
    padding-bottom:0;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-changeover-calibration{
    gap:0;
    margin:2px 0 0;
    padding:16px 0 0 !important;
    border:0 !important;
    border-top:1px solid #dfe6ef !important;
    border-radius:0 !important;
    background:#fff !important;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-changeover-heading{
    padding-bottom:12px;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-changeover-fields{
    gap:0;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot :is(.fy-handler-calibration-field,.fy-handler-changeover-total){
    gap:7px;
    padding:14px 0 !important;
    border:0 !important;
    border-top:1px solid #e5eaf1 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  body.pfs-redesign .pfs-workspace-film-handler #settingsRoot :is(.fy-handler-calibration-field,.fy-handler-changeover-total) > span{
    min-height:0;
  }
}

/* Studio 14: operations board, connection center, and document workspaces. */
.pfs-workspace-connections .pfs-workspace-body{
  padding:18px;
  background:#f3f5f3;
}

.pfs-connections-page{
  color:#242b27;
}

.pfs-connections-hero{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:28px;
  padding:26px 28px;
  border:1px solid #dce1dc;
  border-radius:14px;
  background:linear-gradient(135deg,#fff 0 58%,#f6f1e6 100%);
  box-shadow:0 12px 34px rgba(28,36,30,.045);
}

.pfs-connections-kicker,
.pfs-connections-section > header span,
.pfs-connection-copy small{
  display:block;
  color:#98701f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.pfs-connections-hero h2{
  margin:5px 0 7px;
  color:#1c221e;
  font-size:28px;
  font-weight:950;
  letter-spacing:-.045em;
}

.pfs-connections-hero p{
  max-width:680px;
  margin:0;
  color:#6d766f;
  font-size:12px;
  line-height:1.6;
}

.pfs-connections-security{
  display:grid;
  flex:0 0 290px;
  align-content:center;
  gap:5px;
  padding:17px 19px;
  border:1px solid #ddd3bd;
  border-radius:11px;
  background:rgba(255,255,255,.78);
}

.pfs-connections-security strong{ color:#2d342f; font-size:12px; font-weight:900; }
.pfs-connections-security span{ color:#747d76; font-size:10px; line-height:1.45; }
.pfs-connections-security small{ margin-top:5px; color:#99701f; font-size:9px; font-weight:850; }

.pfs-connections-notice{
  min-height:0;
  margin:12px 2px 0;
  color:#795f2b;
  font-size:10px;
  font-weight:750;
}

.pfs-connections-notice:empty{ display:none; }
.pfs-connections-notice.is-success{ color:#24724b; }
.pfs-connections-notice.is-error{ color:#a33f36; }

.pfs-connections-sections{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}

.pfs-connections-section{
  min-width:0;
  padding:17px;
  border:1px solid #dce1dc;
  border-radius:13px;
  background:#fff;
  box-shadow:0 7px 22px rgba(28,36,30,.035);
}

.pfs-connections-section > header{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(160px,.8fr);
  gap:18px;
  align-items:end;
  min-height:58px;
  padding:0 2px 13px;
  border-bottom:1px solid #e7eae7;
}

.pfs-connections-section > header h3{
  margin:4px 0 0;
  color:#252c28;
  font-size:15px;
  font-weight:950;
  letter-spacing:-.025em;
}

.pfs-connections-section > header p{
  margin:0;
  color:#818983;
  font-size:9px;
  line-height:1.45;
}

.pfs-connection-grid{ display:grid; gap:8px; margin-top:10px; }

.pfs-connection-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-width:0;
  min-height:78px;
  padding:10px 11px;
  border:1px solid #e0e4e0;
  border-radius:10px;
  background:#fbfcfb;
}

.pfs-connection-card.is-connected{
  border-color:#bcd9c9;
  background:#f6fbf8;
}

.pfs-connection-mark{
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border-radius:10px;
  background:#343b37;
  color:#fff;
  font-size:14px;
  font-weight:950;
  box-shadow:0 5px 13px rgba(27,34,29,.12);
}

.pfs-connection-mark.is-google{ background:linear-gradient(135deg,#4285f4 0 45%,#34a853 45% 70%,#fbbc05 70%); }
.pfs-connection-mark.is-microsoft{ background:linear-gradient(135deg,#1267b1,#45a6e8); }
.pfs-connection-mark.is-quickbooks{ background:#2ca01c; }
.pfs-connection-mark.is-stripe{ background:#635bff; }
.pfs-payment-settings-card{margin-top:14px;padding:18px;border:1px solid #d9e0db;border-radius:14px;background:#f9fbfa}.pfs-payment-settings-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.pfs-payment-settings-head span{color:#718078;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pfs-payment-settings-head h4{margin:3px 0;font-size:17px}.pfs-payment-settings-head p{margin:0;color:#758078;font-size:11px}.pfs-payment-settings-head button,.pfs-payment-settings-actions button{padding:9px 12px;border:1px solid #2d6b4d;border-radius:8px;background:#fff;color:#235a41;font:inherit;font-size:11px;font-weight:850;cursor:pointer}.pfs-payment-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:17px}.pfs-payment-settings-grid label{display:flex;align-items:center;gap:8px;color:#405047;font-size:12px;font-weight:700}.pfs-payment-settings-actions{margin-top:15px}.pfs-payment-settings-actions button{background:#285f45;color:#fff}.pfs-payment-activity{margin-top:18px;padding-top:14px;border-top:1px solid #e1e6e3}.pfs-payment-activity>strong{font-size:12px}.pfs-payment-activity>p{color:#78847d;font-size:11px}.pfs-payment-activity ul{list-style:none;margin:8px 0 0;padding:0}.pfs-payment-activity li{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:7px 0;border-top:1px solid #e7ebe8;font-size:11px}.pfs-payment-activity li span{text-transform:capitalize}.pfs-payment-activity li b{text-transform:capitalize}.pfs-payment-activity li small{grid-column:1/-1;color:#829087}@media(max-width:700px){.pfs-payment-settings-grid{grid-template-columns:1fr}.pfs-payment-settings-head{align-items:flex-start;flex-direction:column}}
.pfs-connection-mark.is-salesforce{ background:#0d9dda; }
.pfs-connection-mark.is-hubspot{ background:#ff6846; }
.pfs-connection-mark.is-jobber{ background:#7b3ff2; }
.pfs-connection-mark.is-housecall{ background:#0879d1; }
.pfs-connection-mark.is-servicetitan{ background:#223bbf; }

.pfs-connection-copy{ min-width:0; }
.pfs-connection-name-row{ display:flex; align-items:center; gap:8px; min-width:0; }
.pfs-connection-name-row h4{ overflow:hidden; margin:0; color:#29302c; font-size:11px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.pfs-connection-name-row > span{ flex:0 0 auto; padding:3px 6px; border-radius:999px; background:#ecefec; color:#717a74; font-size:7px; font-weight:900; text-transform:uppercase; }
.pfs-connection-card.is-connected .pfs-connection-name-row > span{ background:#dbf1e4; color:#267149; }
.pfs-connection-copy p{ margin:4px 0; color:#747d76; font-size:9px; line-height:1.4; }
.pfs-connection-copy small{ overflow:hidden; color:#8c928e; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }

body.pfs-redesign .pfs-connection-card > button{
  min-height:32px;
  margin:0;
  padding:0 10px;
  border:1px solid #d5dad5 !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#343c37 !important;
  font-size:9px;
  font-weight:900;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-connection-card.is-connected > button{
  border-color:#afd0bc !important;
  color:#236443 !important;
}

/* Flat, two-pane desktop editors matching Customer and Windows. */
@media (min-width:861px){
  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-layout,
  body.pfs-redesign #appMainContent #quoteCard .fy-quote-sections{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    align-items:start;
    gap:0 !important;
    padding:8px 26px 28px !important;
  }

  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane){
    min-width:0;
    padding:6px 30px 20px;
  }

  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane):first-child{
    padding-left:0;
    border-right:1px solid #dfe3df;
  }

  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane):nth-child(2){
    padding-right:0;
  }

  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .pfs-editor-pane-heading{
    min-height:66px;
    margin:0 0 18px;
    padding:0 0 14px;
    border-bottom:1px solid #e5e8e5;
  }

  .pfs-editor-pane-heading > span{
    color:#98701f;
    font-size:8px;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
  }

  .pfs-editor-pane-heading h4{
    margin:4px 0 3px;
    color:#1e2521;
    font-size:16px;
    font-weight:950;
    letter-spacing:-.03em;
  }

  .pfs-editor-pane-heading p{
    margin:0;
    color:#7a837d;
    font-size:9px;
    line-height:1.45;
  }

  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .fy-job-section{
    margin:0 !important;
    padding:17px 0 !important;
    border:0 !important;
    border-bottom:1px solid #e8ebe8 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .fy-job-section:last-child{ border-bottom:0 !important; }
  body.pfs-redesign #appMainContent #jobInfoCard .fy-sun-preview-section{ padding-top:0 !important; }
  body.pfs-redesign #appMainContent #quoteCard .fy-quote-discount-section{ padding-top:0 !important; }
  body.pfs-redesign #appMainContent #jobInfoCard .fy-notes-section textarea{ min-height:126px; }

  body.pfs-redesign #appMainContent #quoteSummaryCard #fyQuoteSummary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:12px;
  }

  body.pfs-redesign #appMainContent #quoteSummaryCard :is(.fy-summary-total-band,.fy-summary-metrics,.fy-summary-empty){ grid-column:1/-1; }
  body.pfs-redesign #appMainContent #quoteSummaryCard .fy-summary-section{ min-width:0; margin:0 !important; }
  body.pfs-redesign #appMainContent #quoteSummaryCard .fy-summary-note{ grid-column:1/-1; }
}

/* Groups becomes an always-visible operational view with cut-plan coverage. */
.pfs-groups-workspace-grid{
  display:grid;
  gap:13px;
  padding:4px 0 18px;
}

.pfs-group-operations-empty{
  display:grid;
  min-height:250px;
  align-content:center;
  justify-items:center;
  padding:32px;
  border:1px solid #dce1dc;
  border-radius:12px;
  background:linear-gradient(135deg,#fff,#f5f7f5);
  text-align:center;
}

.pfs-group-operations-empty > span{ color:#98701f; font-size:8px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.pfs-group-operations-empty h4{ max-width:560px; margin:7px 0 6px; color:#252c28; font-size:19px; font-weight:950; letter-spacing:-.035em; }
.pfs-group-operations-empty p{ max-width:570px; margin:0; color:#78817b; font-size:10px; line-height:1.55; }
.pfs-group-operations-empty > div{ display:flex; align-items:center; gap:8px; margin-top:19px; }
.pfs-group-operations-empty > div small{ padding:5px 8px; border:1px solid #dce1dc; border-radius:999px; background:#fff; color:#69726c; font-size:8px; font-weight:850; }
.pfs-group-operations-empty > div i{ width:18px; border-top:1px solid #b9c0bb; }

.pfs-group-operations-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid #dce1dc;
  border-radius:11px;
  background:#fff;
  box-shadow:0 7px 22px rgba(27,35,29,.04);
}

.pfs-group-operations-card::before{
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--group-color,#c79a3b);
  content:"";
}

.pfs-group-operations-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:58px;
  padding:9px 15px 9px 18px;
  border-bottom:1px solid #e8ebe8;
  background:#fbfcfb;
}

.pfs-group-operations-head > div{ display:flex; align-items:center; min-width:0; gap:10px; }
.pfs-group-operations-head i{ width:9px; height:9px; flex:0 0 auto; border-radius:50%; background:var(--group-color,#c79a3b); box-shadow:0 0 0 4px color-mix(in srgb,var(--group-color,#c79a3b) 16%,transparent); }
.pfs-group-operations-head > div > span{ display:grid; min-width:0; gap:2px; }
.pfs-group-operations-head small{ color:#8b938e; font-size:7px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.pfs-group-operations-head strong{ overflow:hidden; color:#252c28; font-size:13px; font-weight:950; text-overflow:ellipsis; white-space:nowrap; }
.pfs-group-operations-head > span{ color:#78817b; font-size:9px; font-weight:850; }

.pfs-group-operations-metrics{
  display:grid;
  grid-template-columns:.7fr 1fr .7fr 1.3fr;
  gap:1px;
  border-bottom:1px solid #e7eae7;
  background:#e7eae7;
}

.pfs-group-operations-metrics > div{ display:grid; gap:4px; min-width:0; padding:13px 16px; background:#fff; }
.pfs-group-operations-metrics span{ color:#8a928d; font-size:7px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.pfs-group-operations-metrics strong{ overflow:hidden; color:#2b332e; font-size:12px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }

.pfs-group-plan-band{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:50px;
  padding:8px 15px 8px 18px;
  border-bottom:1px solid #e5e8e5;
  background:#f7f8f7;
}

.pfs-group-plan-band > span:first-child{ display:grid; grid-template-columns:9px auto; column-gap:9px; align-items:center; }
.pfs-group-plan-band i{ grid-row:1/3; width:8px; height:8px; border:2px solid #a2aaa4; border-radius:50%; }
.pfs-group-plan-band small{ color:#8a928c; font-size:7px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pfs-group-plan-band strong{ color:#59625c; font-size:10px; font-weight:900; }
.pfs-group-plan-band > span:last-child{ padding:4px 7px; border-radius:99px; background:#e9ece9; color:#68716b; font-size:8px; font-weight:900; }
.pfs-group-plan-band.is-complete{ background:#f3faf6; }
.pfs-group-plan-band.is-complete i{ border-color:#2d9461; background:#2d9461; box-shadow:0 0 0 3px rgba(45,148,97,.12); }
.pfs-group-plan-band.is-complete strong{ color:#267149; }
.pfs-group-plan-band.is-partial{ background:#fff9ef; }
.pfs-group-plan-band.is-partial i{ border-color:#bd8d2e; }
.pfs-group-plan-band.is-partial strong{ color:#825e18; }

.pfs-group-operations-table{ padding:6px 14px 10px; }
.pfs-group-operations-table .summary-row{ min-height:43px; }

/* Outputs: readiness across the top, delivery actions below. */
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-outputs-workspace{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.pfs-output-intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:14px 16px;
  border:1px solid #dce1dc;
  border-radius:11px;
  background:#f8f9f8;
}

.pfs-output-intro > div:first-child > span{ color:#98701f; font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.pfs-output-intro h4{ margin:4px 0 3px; color:#202723; font-size:15px; font-weight:950; letter-spacing:-.025em; }
.pfs-output-intro p{ margin:0; color:#79827c; font-size:9px; }
.pfs-output-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px !important;
  margin-top:10px;
}
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-grid{ grid-template-columns:minmax(0,1fr) !important; min-width:0; width:100%; }

.pfs-output-item{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  min-width:0;
  min-height:82px;
  padding:12px 13px;
  border:1px solid #dce1dc;
  border-radius:11px;
  background:#fff;
  box-shadow:none;
}
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-item{ min-width:0; width:100%; }

.pfs-output-item.is-customer-output{
  grid-column:1/-1;
  grid-template-columns:46px minmax(0,1fr);
  min-height:90px;
  border-color:#d8c99f;
  background:linear-gradient(115deg,#fff 0%,#fff 64%,#fbf8ef 100%);
}
.pfs-output-item.is-customer-output .pfs-output-icon{ border-color:#e2d3aa; background:#faf5e7; color:#8e671e; }
.pfs-output-item.is-project-output .pfs-output-icon{ border-color:#c8d7ed; background:#edf4ff; color:#0b58d0; }
.pfs-output-item.is-field-output .pfs-output-icon{ border-color:#c9dfd2; background:#eff8f3; color:#267149; }

.pfs-output-icon{ display:grid; width:42px; height:42px; place-items:center; border:1px solid #c8d7ed; border-radius:10px; background:#edf4ff; color:#0b58d0; font-size:13px; font-weight:950; }
.pfs-output-copy{ min-width:0; }
.pfs-output-copy > span{ color:#8a928c; font-size:7px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.pfs-output-copy h5{ margin:3px 0 3px; color:#2a322d; font-size:11px; font-weight:950; }
.pfs-output-copy p{ margin:0; color:#7e8781; font-size:8px; line-height:1.4; }
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-item .btn-output{ min-width:92px; min-height:36px; margin:0; padding:0 10px; border-radius:8px !important; font-size:8px; }
.pfs-estimate-actions{ display:grid; grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; min-width:0; width:100%; }
.pfs-output-item.is-customer-output .pfs-output-packet-tools{ grid-column:1/-1; }
.pfs-estimate-response{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 13px;
  border:1px solid #c8d7ed;
  border-radius:10px;
  background:#f3f7ff;
}
.pfs-estimate-response[hidden]{ display:none !important; }
.pfs-estimate-response.is-approved{ border-color:#b9ddc6; background:#f1faf4; }
.pfs-estimate-response.is-declined{ border-color:#ebc4bf; background:#fff5f3; }
.pfs-estimate-response-copy{ min-width:0; }
.pfs-estimate-response-copy>span{ color:#667085; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pfs-estimate-response-copy>span strong{ display:inline-block; margin-left:5px; padding:3px 6px; border-radius:999px; background:#0b5eea; color:#fff; font-size:7px; }
.pfs-estimate-response-copy>span strong[hidden]{ display:none !important; }
.pfs-estimate-response-copy h6{ margin:4px 0 2px; color:#182230; font-size:11px; line-height:1.35; }
.pfs-estimate-response-copy p{ margin:0; color:#667085; font-size:8px; }
.pfs-estimate-response-copy blockquote{ margin:8px 0 0; padding:7px 9px; border-left:3px solid #d5a63f; background:rgba(255,255,255,.72); color:#344054; font-size:9px; line-height:1.45; }
.pfs-estimate-response>button{ flex:0 0 auto; min-height:36px; padding:0 12px; border:1px solid #b8c6d8; border-radius:8px; background:#fff; color:#253247; font-size:8px; font-weight:900; }
.pfs-estimate-name-field{ max-width:420px; margin:18px 0; }
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-estimate-actions .btn-output{ min-width:0; }

/* Job board: compact command surface and quieter cards on desktop. */
@media (min-width:861px){
  .pfs-workspace-jobs .pfs-workspace-body{ padding:14px; }
  .pfs-workspace-jobs .jobmgr-top{ gap:12px; margin-bottom:10px; padding:15px 17px; }
  .pfs-workspace-jobs .jobmgr-overview{ min-height:48px; }
  .pfs-workspace-jobs .jobmgr-title-text{ font-size:21px; }
  .pfs-workspace-jobs .jobmgr-command-row{
    display:grid;
    grid-template-columns:auto minmax(210px,1fr) 174px auto;
    align-items:center;
    gap:9px;
    padding-top:11px;
    border-top:1px solid #e8ebe8;
  }
  .pfs-workspace-jobs .jobmgr-search-wrap{ min-width:0; }
  .pfs-workspace-jobs .jobmgr-summary{
    grid-template-columns:1.35fr repeat(3,minmax(0,1fr));
    gap:0;
    overflow:hidden;
    margin-bottom:11px;
    border:1px solid #dce1dc;
    border-radius:11px;
    background:#fff;
    box-shadow:0 7px 22px rgba(29,35,31,.035);
  }
  .pfs-workspace-jobs .jobmgr-stat{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    min-height:63px;
    padding:10px 14px;
    border:0;
    border-right:1px solid #e5e8e5;
    border-radius:0;
    box-shadow:none;
  }
  .pfs-workspace-jobs .jobmgr-stat:last-child{ border-right:0; }
  .pfs-workspace-jobs .jobmgr-stat-label{ grid-column:1; margin:0; }
  .pfs-workspace-jobs .jobmgr-stat strong{ grid-column:2; grid-row:1/3; font-size:18px; }
  .pfs-workspace-jobs .jobmgr-stat > span:last-child{ grid-column:1; margin-top:3px; }
  .pfs-workspace-jobs .jobmgr-stat-primary{ border-color:#222824; }
  .pfs-workspace-jobs .job-board{ gap:12px; }
  .pfs-workspace-jobs .job-col{ min-height:390px; border-color:#dde2dd !important; background:#f1f3f1 !important; }
  .pfs-workspace-jobs .job-col-head{ min-height:51px; padding:9px 11px; }
  .pfs-workspace-jobs .job-col-list{ gap:9px; padding:9px; }
  .pfs-workspace-jobs .job-card{ padding:10px 11px 11px; box-shadow:0 4px 14px rgba(28,35,30,.045) !important; }
  .pfs-workspace-jobs .job-card-customer{ margin-top:7px; }
  .pfs-workspace-jobs .job-card-location{ margin-top:7px; }
  .pfs-workspace-jobs .job-card-appointment{ margin-top:8px; padding:7px; }
  .pfs-workspace-jobs .job-card-metrics{ margin-top:8px; padding-top:8px; }
  .pfs-workspace-jobs .job-card-actions{ margin-top:8px; }
}

@media (max-width:1180px) and (min-width:861px){
  .pfs-connections-sections{ grid-template-columns:1fr; }
  .pfs-workspace-jobs .jobmgr-command-row{ grid-template-columns:auto minmax(180px,1fr) 160px; }
  .pfs-workspace-jobs .jobmgr-viewtoggle{ grid-column:1/-1; justify-self:end; }
}

@media (max-width:860px){
  .pfs-workspace-connections .pfs-workspace-body{ padding:10px; }
  .pfs-connections-hero{ align-items:stretch; flex-direction:column; gap:14px; padding:19px 17px; }
  .pfs-connections-security{ flex-basis:auto; }
  .pfs-connections-sections{ grid-template-columns:1fr; }
  .pfs-connections-section{ padding:14px; }
  .pfs-connections-section > header{ grid-template-columns:1fr; gap:5px; }
  .pfs-connection-card{ grid-template-columns:38px minmax(0,1fr); }
  .pfs-connection-mark{ width:38px; height:38px; }
  body.pfs-redesign .pfs-connection-card > button{ grid-column:1/-1; width:100%; }

  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .pfs-editor-pane-heading{ display:none; }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane){ display:contents; }

  .pfs-groups-workspace-grid{ gap:10px; }
  .pfs-group-operations-metrics{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pfs-group-operations-metrics > div{ padding:10px 12px; }
  .pfs-group-plan-band{ align-items:flex-start; flex-direction:column; }
  .pfs-group-operations-table{ overflow-x:auto; padding:5px 8px 9px; }
  .pfs-group-operations-table :is(.summary-group-table-header,.summary-row){ min-width:620px; }

  .pfs-output-intro{ align-items:flex-start; flex-direction:column; gap:13px; padding:16px; }
  .pfs-output-grid{ grid-template-columns:1fr; }
  .pfs-output-item,.pfs-output-item.is-customer-output{ grid-template-columns:40px minmax(0,1fr); }
  .pfs-output-item .btn-output{ grid-column:1/-1; width:100%; }
  .pfs-output-item .pfs-estimate-actions{ grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); min-width:0; width:100%; }
  .pfs-output-item .pfs-estimate-actions .btn-output{ grid-column:auto; }

  .pfs-workspace-jobs .jobmgr-command-row{ display:grid; grid-template-columns:1fr; gap:8px; }
  .pfs-workspace-jobs .jobmgr-command-row .jobmgr-tabs{ display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pfs-workspace-jobs .jobmgr-command-row .jobmgr-viewtoggle{ display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.pfs-workspace-connections .pfs-connections-section > header{
  background:transparent !important;
  color:#242b27 !important;
  box-shadow:none !important;
}
.pfs-workspace-connections .pfs-connections-section > header h3{ color:#252c28 !important; }

@media (min-width:861px){
  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-layout,
  body.pfs-redesign #appMainContent #quoteCard .fy-quote-sections{ align-items:stretch !important; }
}

body.pfs-redesign details.pfs-card-workspace-open > summary,
body.pfs-redesign details.pfs-mobile-card-open > summary{
  cursor:default !important;
}

/* =======================================================================
   Customer + Window workspaces - 2026-07-17
   ======================================================================= */

.pfs-command-membership{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
}

.pfs-command-tier,
.pfs-command-credits{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 11px;
  border:1px solid #dcdedb;
  border-radius:999px;
  background:#fff;
  color:#4d5651;
  font-size:11px;
  font-weight:850;
  white-space:nowrap;
}

.pfs-command-tier{
  border-color:#302c23;
  background:#1e211f;
  color:#f6e4b4;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 5px 12px rgba(25,28,26,.12);
}

.pfs-command-tier i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#d4aa4e;
  box-shadow:0 0 0 3px rgba(212,170,78,.14);
}

.pfs-command-credits{
  border-color:#eadcb9;
  background:#fffaf0;
  color:#72591e;
}

.pfs-command-credits.is-warning{ border-color:#e5c66e; background:#fff7dd; color:#72520b; }
.pfs-command-credits.is-danger{ border-color:#e5a6a0; background:#fff1ef; color:#9c2f25; }
.pfs-command-credits[hidden]{ display:none !important; }

.pfs-customer-navigate{
  display:none;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:0 10px;
  border:1px solid #d6dbd7;
  border-radius:8px;
  background:#fff;
  color:#303733;
  font-size:11px;
  font-weight:850;
}

.pfs-customer-navigate svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pfs-customer-workspace{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.pfs-customer-pane,
.pfs-windows-control-pane,
.pfs-windows-entry-pane,
.pfs-windows-overview-pane{
  min-width:0;
  border:1px solid #dde1dd;
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 30px rgba(24,28,27,.06);
}

.pfs-customer-pane{
  padding:20px;
}

.pfs-pane-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid #e7e9e6;
}

.pfs-pane-heading h4,
.pfs-overview-heading h4{
  margin:4px 0 0;
  color:#1e2421;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.025em;
  line-height:1.2;
}

.pfs-pane-kicker{
  display:block;
  color:#90733b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1.2;
  text-transform:uppercase;
}

.pfs-pane-number{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 auto;
  border:1px solid #e2d6b9;
  border-radius:9px;
  background:#fffaf0;
  color:#8a6925;
  font-size:10px;
  font-weight:900;
}

body.pfs-redesign #appMainContent .pfs-customer-site-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:13px 12px !important;
}

body.pfs-redesign #appMainContent .pfs-customer-site-grid > .job-field,
body.pfs-redesign #appMainContent .customer-billing-fields > .job-field{
  grid-area:auto !important;
  min-width:0;
}

.pfs-customer-site-grid .field-customer,
.pfs-customer-site-grid .field-phone,
.pfs-customer-site-grid .field-street,
.pfs-customer-site-grid .field-email{ grid-column:span 3; }
.pfs-customer-site-grid .field-city{ grid-column:span 3; }
.pfs-customer-site-grid .field-state{ grid-column:span 1; }
.pfs-customer-site-grid .field-zip{ grid-column:span 2; }
.pfs-customer-site-grid .field-job-site-notes{ grid-column:1/-1; }

body.pfs-redesign #appMainContent .field-job-site-notes textarea{
  width:100%;
  min-height:122px;
  resize:vertical;
  padding:11px 12px;
  border:1px solid #d7dfeb !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#17201b !important;
  font:inherit;
  line-height:1.45;
  box-sizing:border-box;
}

body.pfs-redesign #appMainContent .field-job-site-notes textarea:focus{
  outline:none;
  border-color:#8ab4f8 !important;
  box-shadow:0 0 0 4px rgba(11,94,234,.13) !important;
}

.field-job-site-notes small{
  display:block;
  margin-top:6px;
  color:#7c8580;
  font-size:10px;
  line-height:1.35;
}

body.pfs-redesign #appMainContent .pfs-customer-billing-pane .customer-billing-toggle{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 12px;
  border:1px solid #d9ddda;
  border-radius:9px;
  background:#f7f8f6;
  color:#303733;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
}

.pfs-billing-link-status{
  margin:8px 0 14px;
  color:#7c8580;
  font-size:10px;
  font-weight:700;
}

body.pfs-redesign #appMainContent .customer-billing-fields{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:13px 12px;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.customer-billing-fields .field-billing-contact,
.customer-billing-fields .field-billing-phone{ grid-column:span 3; }
.customer-billing-fields .field-billing-email,
.customer-billing-fields .field-billing-street{ grid-column:1/-1; }
.customer-billing-fields .field-billing-city{ grid-column:span 3; }
.customer-billing-fields .field-billing-state{ grid-column:span 1; }
.customer-billing-fields .field-billing-zip{ grid-column:span 2; }

body.pfs-redesign #appMainContent .pfs-customer-billing-pane.is-linked .customer-billing-fields input[readonly]{
  border-color:#e3e6e3 !important;
  background:#f5f6f4 !important;
  color:#737b76 !important;
  cursor:default;
  box-shadow:none !important;
}

.pfs-customer-billing-pane.is-linked .pfs-billing-link-status{
  color:#347253;
}

.pfs-windows-workspace{
  display:grid;
  grid-template-columns:minmax(270px,.34fr) minmax(0,.66fr);
  gap:16px;
  padding:0 22px 22px;
  box-sizing:border-box;
}

.pfs-windows-control-pane,
.pfs-windows-entry-pane{
  align-self:start;
  padding:18px;
}

.pfs-windows-overview-pane{
  grid-column:1/-1;
  padding:18px;
}

.pfs-windows-pane-heading{ margin-bottom:14px; }

.pfs-live-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:26px;
  padding:0 8px;
  border-radius:999px;
  background:#eef8f2;
  color:#317452;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pfs-live-label i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#2e9d69;
  box-shadow:0 0 0 3px rgba(46,157,105,.11);
}

.pfs-window-entry-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

body.pfs-redesign #pfsAddWindowEntryBtn{
  min-height:34px;
  padding:0 13px;
  border:1px solid #1559c7;
  border-radius:8px;
  background:#1764d9;
  color:#fff;
  box-shadow:0 5px 12px rgba(23,100,217,.18);
  font-family:inherit;
  font-size:12px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}

body.pfs-redesign #pfsAddWindowEntryBtn:hover:not(:disabled){
  border-color:#0e4cad;
  background:#1258c5;
}

body.pfs-redesign #pfsAddWindowEntryBtn:disabled{
  border-color:#cbd5e1;
  background:#e2e8f0;
  color:#8390a2;
  box-shadow:none;
  cursor:not-allowed;
}

body.pfs-redesign #summaryCard > .pfs-groups-overview-pane{
  width:auto;
  margin:16px 18px 18px;
  grid-column:auto;
}

body.pfs-redesign #summaryCard > .pfs-groups-summary-data[hidden]{
  display:none !important;
}

body.pfs-redesign #appMainContent .pfs-windows-control-pane .pfs-window-settings-strip{
  display:grid;
  gap:9px;
  margin:0 0 14px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

body.pfs-redesign #appMainContent .pfs-windows-control-pane .pfs-rot-toggle{
  margin:0 !important;
  padding:13px !important;
  border:1px solid #e0e4e0 !important;
  border-radius:9px !important;
  background:#f8f9f7 !important;
  box-shadow:none !important;
}

.pfs-windows-control-pane .window-controls-bottom{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

body.pfs-redesign .pfs-windows-control-pane .window-controls-bottom .btn-add-window{
  width:100% !important;
  min-height:41px;
  margin:0 !important;
  padding:0 12px !important;
  border:1px solid #d5dad6 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#303733 !important;
  box-shadow:none !important;
  font-size:12px;
  font-weight:850;
}

body.pfs-redesign .pfs-windows-control-pane #pfsAddWindowBtn{
  border-color:#0a55c7 !important;
  background:#0b58d0 !important;
  color:#fff !important;
  box-shadow:0 7px 16px rgba(11,88,208,.16) !important;
}

body.pfs-redesign .pfs-windows-control-pane .btn-delete-selected:not(:disabled){
  border-color:#e6c5c1 !important;
  background:#fff7f6 !important;
  color:#9a352d !important;
}

.pfs-windows-control-help{
  margin:11px 2px 0;
  color:#7c8580;
  font-size:10px;
  line-height:1.45;
}

body.pfs-redesign #windowsCard .pfs-windows-entry-pane > .table-header{
  min-height:38px;
  grid-template-columns:var(--window-cols) !important;
  gap:var(--window-gap) !important;
  margin:0 !important;
  padding:9px 10px !important;
  border:1px solid #dfe3df !important;
  border-bottom:0 !important;
  border-radius:9px 9px 0 0 !important;
  background:#f2f4f1 !important;
  color:#68716c !important;
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body.pfs-redesign #windowsCard .pfs-windows-entry-pane > .windows-list{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  border:1px solid #dfe3df !important;
  border-radius:0 0 9px 9px !important;
  background:#fff !important;
  box-sizing:border-box;
}

.pfs-windows-entry-pane .windows-inline-notice{
  margin:8px 0 0 !important;
}

.pfs-overview-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}

.pfs-overview-heading p{
  max-width:430px;
  margin:0;
  color:#78817c;
  font-size:10px;
  line-height:1.45;
  text-align:right;
}

.pfs-windows-overview-container{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.pfs-windows-overview-container .summary-groups{
  display:grid;
  gap:9px;
  padding:0 !important;
}

.pfs-windows-overview-container .summary-group{
  overflow:hidden;
  border:1px solid #dfe3df !important;
  border-left:3px solid var(--group-color,#a5aaa6) !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.pfs-windows-overview-container .summary-group-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:50px;
  padding:9px 12px !important;
  color:#242b27 !important;
  cursor:pointer;
}

.pfs-windows-overview-container .summary-group-left,
.pfs-windows-overview-container .summary-group-right{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}

.pfs-windows-overview-container .summary-group-left{ flex:1 1 auto; }
.pfs-windows-overview-container .summary-group-right{ justify-content:flex-end; flex-wrap:wrap; }
.pfs-windows-overview-container .summary-group-name{ font-size:12px; font-weight:900; }
.pfs-windows-overview-container .summary-pill{
  padding:5px 7px;
  border:1px solid #e0e4e0;
  border-radius:999px;
  background:#f7f8f6;
  color:#59625d;
  font-size:9px;
  font-weight:850;
}
.pfs-windows-overview-container .summary-chevron{ color:#87908b; }
.pfs-windows-overview-container .summary-group-body{ padding:0 10px 10px !important; }
.pfs-windows-overview-container .summary-table{ display:grid; gap:5px; }
.pfs-windows-overview-container .summary-group-table-header,
.pfs-windows-overview-container .summary-row{
  display:grid;
  grid-template-columns:minmax(120px,1.3fr) 54px 100px 92px 100px 70px;
  gap:8px;
  align-items:center;
}
.pfs-windows-overview-container .summary-group-table-header{
  padding:6px 9px;
  color:#858d88;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.pfs-windows-overview-container .summary-row{
  padding:8px 9px;
  border:1px solid #e7e9e7;
  border-radius:7px;
  background:#fbfcfa;
  color:#3a433e;
  font-size:10px;
}
.pfs-windows-overview-container .summary-window-name{ color:#242b27; font-weight:850; }

.pfs-overview-empty{
  display:grid;
  min-height:96px;
  place-items:center;
  padding:16px;
  border:1px solid #e3e6e3;
  border-radius:9px;
  background:#f8f9f7;
  color:#7f8782;
  font-size:11px;
  text-align:center;
}

.pfs-overview-empty-groups{
  display:grid;
  gap:7px;
  margin-top:10px;
  padding-top:12px;
  border-top:1px solid #e7e9e6;
}

.pfs-overview-empty-groups-head{
  color:#8b938e;
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.pfs-overview-empty-group{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 11px;
  border:1px solid #e2e5e2;
  border-radius:8px;
  background:#fafbf9;
  color:#414944;
  font-size:10px;
  font-weight:850;
}

.pfs-overview-empty-group span{ display:flex; align-items:center; gap:8px; }
.pfs-overview-empty-group i{ width:7px; height:7px; border-radius:50%; background:#c69b42; }
.pfs-overview-empty-group small{ color:#8a928d; font-size:9px; }

.pfs-navigation-chooser,
.pfs-group-builder{
  color:#242b27;
}

.pfs-navigation-address{
  margin:9px 0 0;
  color:#28302b;
  font-size:13px;
  font-weight:850;
  line-height:1.45;
}

.pfs-navigation-help,
.pfs-group-builder-intro{
  margin:7px 0 16px;
  color:#747d78;
  font-size:11px;
  line-height:1.5;
}

.pfs-navigation-options{ display:grid; gap:8px; }

.pfs-navigation-choice{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 13px;
  border:1px solid #dfe3df;
  border-radius:9px;
  background:#fff;
  color:#29312c;
  text-decoration:none;
  box-shadow:0 6px 16px rgba(24,28,27,.045);
}

.pfs-navigation-choice:hover{ border-color:#b9c0bb; background:#f8faf7; }
.pfs-navigation-choice span{ display:flex; flex-direction:column; gap:3px; }
.pfs-navigation-choice strong{ font-size:12px; }
.pfs-navigation-choice small{ color:#7d8680; font-size:9px; }
.pfs-navigation-choice i{ color:#8a6925; font-size:16px; font-style:normal; }

.pfs-group-builder-kicker{
  margin-bottom:4px;
  color:#8c6c2e;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.pfs-group-builder-field{ display:grid; gap:7px; }
.pfs-group-builder-field span{ color:#4a534e; font-size:10px; font-weight:850; }
.pfs-group-builder-field input{
  width:100%;
  min-height:46px;
  padding:0 12px;
  border:1px solid #cfd5d0;
  border-radius:9px;
  background:#fff;
  color:#202723;
  font:inherit;
  box-sizing:border-box;
}
.pfs-group-builder-field input:focus{ outline:none; border-color:#759fe3; box-shadow:0 0 0 4px rgba(11,88,208,.11); }
.pfs-group-builder-error{ min-height:20px; padding-top:5px; color:#a43b31; font-size:10px; font-weight:750; }
.pfs-group-builder-queue{ display:grid; gap:7px; margin-top:5px; }
.pfs-group-builder-queue-head{ display:flex; align-items:center; justify-content:space-between; color:#727b76; font-size:9px; font-weight:850; }
.pfs-group-builder-queue-head strong{ color:#8a6925; }
.pfs-group-builder-empty{
  min-height:58px;
  display:grid;
  place-items:center;
  border:1px dashed #daddda;
  border-radius:9px;
  background:#f8f9f7;
  color:#8a928d;
  font-size:10px;
}
.pfs-group-builder-queue-row{
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 9px 0 11px;
  border:1px solid #e0e3e0;
  border-radius:8px;
  background:#fff;
  color:#303833;
  font-size:11px;
  font-weight:850;
}
.pfs-group-builder-queue-row span{ display:flex; align-items:center; gap:9px; }
.pfs-group-builder-queue-row i{
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  border-radius:6px;
  background:#f6ecd3;
  color:#80601e;
  font-size:8px;
  font-style:normal;
}
.pfs-group-builder-queue-row button{
  width:29px;
  height:29px;
  border:0;
  border-radius:7px;
  background:#f4f5f3;
  color:#7c8580;
  font-size:17px;
  cursor:pointer;
}
.pfs-group-builder-actions{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
  margin-top:16px;
}
.pfs-group-builder-actions button{ min-height:41px; }

body.pfs-plan-credits-hidden .account-cutplans-summary-pane .account-subscription-fact:nth-child(-n+3){
  display:none !important;
}

@media (min-width:861px){
  body.pfs-redesign #jobDetailsCard.pfs-card-workspace-open > .locked-content{
    padding:0 0 22px !important;
  }

  body.pfs-redesign #jobDetailsCard.pfs-card-workspace-open .pfs-customer-workspace{
    min-height:calc(100vh - 152px);
    align-items:start;
  }

  body.pfs-redesign #windowsCard.pfs-card-workspace-open > .pfs-windows-workspace{
    width:calc(100% - 44px) !important;
    max-width:1440px !important;
    margin-right:auto !important;
    margin-left:auto !important;
  }

  .pfs-windows-control-pane{
    position:sticky;
    top:92px;
  }
}

@media (max-width:1040px) and (min-width:861px){
  .pfs-command-membership{ display:none; }
}

/* Studio 29: worklist-first Job Manager and multi-day scheduling. */
.pfs-workspace-jobs .job-worklist-tools{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 10px;
}

.pfs-workspace-jobs .job-status-filters{
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
  overflow-x:auto;
  scrollbar-width:thin;
}

.pfs-workspace-jobs .job-status-filters button{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 11px;
  border:1px solid #d9dfda;
  border-radius:7px;
  background:#fff;
  color:#5b665f;
  font:inherit;
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
}

.pfs-workspace-jobs .job-status-filters button strong{
  min-width:20px;
  padding:2px 5px;
  border-radius:999px;
  background:#eef1ee;
  color:#6e7871;
  font-size:9px;
  text-align:center;
}

.pfs-workspace-jobs .job-status-filters button:is(:hover,.is-active){
  border-color:#0b5bd3;
  background:#edf4ff;
  color:#084daF;
}

.pfs-workspace-jobs .job-status-filters button.is-active strong{
  background:#0b5bd3;
  color:#fff;
}

.pfs-workspace-jobs .job-worklist-result{
  flex:0 0 auto;
  color:#78827b;
  font-size:10px;
  font-weight:800;
}

.pfs-workspace-jobs .job-worklist .job-list-head,
.pfs-workspace-jobs .job-worklist .job-list-row{
  grid-template-columns:minmax(260px,2.2fr) 118px minmax(205px,1.55fr) 112px 78px 100px !important;
  gap:12px !important;
}

.pfs-workspace-jobs .job-worklist .job-list-row{
  min-height:76px;
  padding-block:9px !important;
}

.pfs-workspace-jobs .job-worklist .job-list-customer{
  min-width:0;
}

.pfs-workspace-jobs .job-worklist .job-list-customer > span:last-child{
  min-width:0;
}

.pfs-workspace-jobs .job-worklist .job-list-customer small{
  overflow:hidden;
  display:block;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-workspace-jobs .job-worklist .job-list-value{
  display:grid;
  gap:2px;
}

.pfs-workspace-jobs .job-worklist .job-list-value small,
.pfs-workspace-jobs .job-worklist .job-list-updated{
  color:#8a938d;
  font-size:9px;
  font-weight:750;
}

.pfs-workspace-jobs .job-worklist .job-list-value.is-missing strong{
  color:#a65b00;
  font-size:11px;
}

.pfs-workspace-jobs .job-worklist .job-list-updated strong{
  color:#677169;
  font-size:10px;
  font-weight:800;
}

.pfs-workspace-jobs .job-worklist .job-appointment-edit strong{
  overflow:visible;
  white-space:normal;
  line-height:1.35;
}

.pfs-workspace-jobs .jobmgr-calendar-refresh{
  justify-self:start;
  min-height:34px;
  margin-top:10px;
  padding:0 12px;
  border:1px solid #b8cbe6;
  border-radius:7px;
  background:#fff;
  color:#0b5bd3;
  font:inherit;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}

.pfs-workspace-jobs .jobmgr-calendar-refresh:hover{
  border-color:#0b5bd3;
  background:#0b5bd3;
  color:#fff;
}

body.pfs-redesign .pfs-schedule-editor-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

body.pfs-redesign .pfs-schedule-editor-grid label:nth-child(5),
body.pfs-redesign .pfs-schedule-editor-grid label:nth-child(6){
  padding-top:11px;
  border-top:1px solid #e1e5e1;
}

@media (max-width:1120px) and (min-width:761px){
  .pfs-workspace-jobs .job-worklist .job-list-head,
  .pfs-workspace-jobs .job-worklist .job-list-row{
    grid-template-columns:minmax(200px,1.7fr) 108px minmax(170px,1.25fr) 100px 88px !important;
  }

  .pfs-workspace-jobs .job-worklist :is(.job-list-head,.job-list-row) > :nth-child(5){ display:none; }
}

@media (max-width:760px){
  .pfs-workspace-jobs .job-worklist-tools{ align-items:flex-start; flex-direction:column; gap:7px; }
  .pfs-workspace-jobs .job-status-filters{ width:100%; padding-bottom:3px; }
  .pfs-workspace-jobs .job-worklist-result{ padding-left:2px; }
  .pfs-workspace-jobs .job-worklist .job-list-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:11px 12px !important;
    padding:14px !important;
  }
  .pfs-workspace-jobs .job-worklist .job-list-customer{ grid-column:1/-1; }
  .pfs-workspace-jobs .job-worklist .job-list-status{ grid-column:1; }
  .pfs-workspace-jobs .job-worklist .job-list-appointment{ grid-column:1/-1; }
  .pfs-workspace-jobs .job-worklist .job-list-value{ grid-column:1; }
  .pfs-workspace-jobs .job-worklist .job-list-updated{ display:none; }
  .pfs-workspace-jobs .job-worklist .job-list-actions{ grid-column:2; grid-row:4; }
  .pfs-workspace-jobs .job-worklist .job-list-row > *::before{ display:none !important; }
  body.pfs-redesign .pfs-schedule-editor-grid{ grid-template-columns:1fr; }
  body.pfs-redesign .pfs-schedule-editor-grid label:nth-child(5){ padding-top:11px; border-top:1px solid #e1e5e1; }
  body.pfs-redesign .pfs-schedule-editor-grid label:nth-child(6){ padding-top:0; border-top:0; }
}

/* Calendar 1: real appointment editing and one-way provider sync. */
body.pfs-schedule-editor-open{ overflow:hidden; }

.pfs-workspace-jobs .job-card-appointment{
  width:100%;
  color:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
}

.pfs-workspace-jobs .job-card-appointment:hover{
  border-color:#d6b872;
  background:#fff9e9;
}

.pfs-workspace-jobs .job-appointment-edit{
  display:flex;
  width:100%;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
}

.pfs-workspace-jobs .job-appointment-edit strong{ color:#343a36; font-size:10px; }
.pfs-workspace-jobs .job-appointment-edit small{ color:#7a827c; font-size:8px; }
.pfs-workspace-jobs .job-agenda-sync.is-synced{ color:#216b47; }
.pfs-workspace-jobs .job-agenda-sync.is-synced .job-sync-dot{ background:#22a563; box-shadow:0 0 0 4px rgba(34,165,99,.12); }

.pfs-schedule-editor{
  position:fixed;
  z-index:10050;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
}

.pfs-schedule-editor[hidden]{ display:none; }

.pfs-schedule-editor-backdrop{
  position:absolute;
  inset:0;
  background:rgba(14,19,16,.64);
  backdrop-filter:blur(5px);
}

.pfs-schedule-editor-dialog{
  position:relative;
  width:min(680px, calc(100vw - 32px));
  max-height:calc(100vh - 40px);
  overflow:auto;
  border:1px solid rgba(255,255,255,.72);
  border-radius:18px;
  background:#f8f9f7;
  box-shadow:0 30px 90px rgba(0,0,0,.32);
}

.pfs-schedule-editor-dialog > header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:24px 26px 21px;
  border-bottom:1px solid #e0e4df;
  background:#fff;
}

.pfs-schedule-editor-dialog > header span{
  display:block;
  margin-bottom:5px;
  color:#9a752c;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.pfs-schedule-editor-dialog > header h2{
  margin:0;
  color:#202521;
  font-size:22px;
  line-height:1.1;
}

.pfs-schedule-editor-dialog > header p{
  margin:7px 0 0;
  color:#707a73;
  font-size:12px;
}

.pfs-schedule-editor-dialog > header > button{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid #dfe3df;
  border-radius:10px;
  background:#fff;
  color:#59625c;
  font-size:22px;
  cursor:pointer;
}

.pfs-schedule-editor-dialog form{ padding:24px 26px 26px; }

.pfs-schedule-editor-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.pfs-schedule-editor-grid label > span{
  display:block;
  margin-bottom:7px;
  color:#59625c;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-schedule-editor-grid :is(input,select){
  width:100%;
  min-height:44px;
  padding:0 12px;
  border:1px solid #d7ddd8;
  border-radius:9px;
  background:#fff;
  color:#252b27;
  font-size:13px;
  box-shadow:none;
}

.pfs-schedule-timezone,
.pfs-schedule-sync-preview{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:3px 10px;
  margin-top:18px;
  padding:14px 15px;
  border:1px solid #e0e4df;
  border-radius:10px;
  background:#fff;
}

.pfs-schedule-timezone > span{ color:#7a827c; font-size:10px; font-weight:850; text-transform:uppercase; }
.pfs-schedule-timezone > strong{ color:#303733; font-size:12px; text-align:right; }
.pfs-schedule-timezone > small{ grid-column:1/-1; color:#7a827c; font-size:10px; }

.pfs-schedule-invite{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:14px;
  padding:15px;
  border:1px solid #e0e4df;
  border-radius:10px;
  background:#fff;
}

.pfs-schedule-invite input{ width:18px; height:18px; margin:1px 0 0; accent-color:#176a43; }
.pfs-schedule-invite span{ display:flex; flex-direction:column; gap:3px; }
.pfs-schedule-invite strong{ color:#303733; font-size:11px; }
.pfs-schedule-invite small{ color:#788079; font-size:10px; line-height:1.4; }

.pfs-schedule-sync-preview{
  position:relative;
  grid-template-columns:10px minmax(0,1fr);
  padding-left:17px;
  background:#f5f8f5;
}

.pfs-schedule-sync-preview > span{ width:8px; height:8px; margin-top:3px; border-radius:50%; background:#a4aaa6; }
.pfs-schedule-sync-preview > span.is-connected{ background:#22a563; box-shadow:0 0 0 4px rgba(34,165,99,.12); }
.pfs-schedule-sync-preview strong{ color:#344039; font-size:11px; }
.pfs-schedule-sync-preview small{ grid-column:2; color:#758078; font-size:10px; }
.pfs-schedule-status{ min-height:18px; margin:12px 0 0; color:#a23f36; font-size:10px; font-weight:750; }

.pfs-schedule-editor-dialog footer{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  padding-top:8px;
}

body.pfs-redesign .pfs-schedule-editor-dialog footer button{
  min-height:40px;
  padding:0 15px;
  border:1px solid #d5dad6;
  border-radius:9px;
  background:#fff;
  color:#3b433e;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  box-shadow:none;
}

body.pfs-redesign .pfs-schedule-editor-dialog footer button.is-primary{
  border-color:#176a43;
  background:#176a43;
  color:#fff;
}

body.pfs-redesign .pfs-schedule-editor-dialog footer button.is-danger{
  order:-1;
  margin-right:auto;
  border-color:#e3bbb6;
  background:#fff7f6;
  color:#9d352c;
}

body.pfs-redesign .pfs-schedule-editor-dialog footer button:disabled{ opacity:.48; cursor:not-allowed; }

@media (max-width:620px){
  .pfs-schedule-editor{ padding:10px; align-items:end; }
  .pfs-schedule-editor-dialog{ width:100%; max-height:calc(100vh - 20px); border-radius:17px 17px 8px 8px; }
  .pfs-schedule-editor-dialog > header{ padding:19px 18px 17px; }
  .pfs-schedule-editor-dialog form{ padding:19px 18px 20px; }
  .pfs-schedule-editor-grid{ grid-template-columns:1fr; gap:12px; }
  .pfs-schedule-editor-dialog footer{ display:grid; grid-template-columns:1fr 1fr; }
  .pfs-schedule-editor-dialog footer button:first-child{ grid-column:1/-1; order:3; }
  body.pfs-redesign .pfs-schedule-editor-dialog footer button.is-danger{ grid-column:1/-1; order:4; margin-right:0; }
}

@media (max-width:860px){
  .pfs-customer-navigate{ display:inline-flex; }

  body.pfs-redesign #jobDetailsCard > summary .meta-inline{
    display:none !important;
  }

  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .locked-content,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .pfs-windows-workspace{
    width:auto !important;
    margin-right:10px !important;
    margin-left:10px !important;
  }

  .pfs-customer-workspace,
  .pfs-windows-workspace{
    grid-template-columns:1fr;
    gap:11px;
  }

  .pfs-customer-workspace{ padding-bottom:10px; }
  .pfs-customer-pane{ padding:15px; border-radius:10px; box-shadow:none; }
  .pfs-pane-heading{ margin-bottom:14px; padding-bottom:11px; }
  .pfs-pane-heading h4,.pfs-overview-heading h4{ font-size:15px; }

  body.pfs-redesign #appMainContent .pfs-customer-site-grid,
  body.pfs-redesign #appMainContent .customer-billing-fields{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:11px 9px !important;
  }

  .pfs-customer-site-grid .field-customer,
  .pfs-customer-site-grid .field-phone,
  .pfs-customer-site-grid .field-street,
  .pfs-customer-site-grid .field-email,
  .pfs-customer-site-grid .field-city,
  .pfs-customer-site-grid .field-job-site-notes,
  .customer-billing-fields .field-billing-contact,
  .customer-billing-fields .field-billing-phone,
  .customer-billing-fields .field-billing-email,
  .customer-billing-fields .field-billing-street,
  .customer-billing-fields .field-billing-city{
    grid-column:1/-1 !important;
  }

  .pfs-customer-site-grid .field-state,
  .pfs-customer-site-grid .field-zip,
  .customer-billing-fields .field-billing-state,
  .customer-billing-fields .field-billing-zip{
    grid-column:span 1 !important;
  }

  .pfs-windows-workspace{
    width:100%;
    min-width:0;
    padding:0 0 16px;
    overflow:visible;
    box-sizing:border-box;
  }

  .pfs-windows-control-pane,
  .pfs-windows-entry-pane,
  .pfs-windows-overview-pane{
    width:100%;
    min-width:0;
    padding:13px;
    border-radius:10px;
    box-shadow:none;
    box-sizing:border-box;
  }

  .pfs-windows-overview-pane{ grid-column:auto; }

  body.pfs-redesign #summaryCard > .pfs-groups-overview-pane{
    width:auto;
    margin:10px 12px 18px;
  }

  .pfs-windows-control-pane .window-controls-bottom{
    grid-template-columns:1fr 1fr !important;
  }

  .pfs-windows-control-pane .window-controls-bottom #pfsAddWindowBtn{ grid-column:1/-1; }
  .pfs-windows-control-pane .window-controls-bottom .pfs-window-action-hidden{ display:none !important; }
  .pfs-windows-entry-pane{ overflow:hidden; }

  body.pfs-redesign #windowsCard .pfs-windows-entry-pane > .table-header,
  body.pfs-redesign #windowsCard .pfs-windows-entry-pane > .windows-list{
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .pfs-overview-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }

  .pfs-overview-heading p{ max-width:none; text-align:left; }

  .pfs-windows-overview-container .summary-group-summary{
    align-items:flex-start;
    flex-direction:column;
  }

  .pfs-windows-overview-container .summary-group-right{ justify-content:flex-start; }
  .pfs-windows-overview-container .summary-group-body{ overflow:hidden; }
  .pfs-windows-overview-container .summary-table{ overflow:visible; }
  .pfs-windows-overview-container .summary-group-table-header{ display:none; }

  .pfs-windows-overview-container .summary-row{
    grid-template-columns:1fr auto;
    gap:6px 10px;
    padding:10px;
  }

  .pfs-windows-overview-container .summary-row > div{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .pfs-windows-overview-container .summary-row > div:nth-child(n+2){ text-align:right; }
  .pfs-windows-overview-container .summary-row > div:nth-child(2)::before{ content:"Qty "; color:#8a928d; }
  .pfs-windows-overview-container .summary-row > div:nth-child(3)::before{ content:"Size "; color:#8a928d; }
  .pfs-windows-overview-container .summary-row > div:nth-child(4)::before{ content:"Each "; color:#8a928d; }
  .pfs-windows-overview-container .summary-row > div:nth-child(5)::before{ content:"Total "; color:#8a928d; }
  .pfs-windows-overview-container .summary-row > div:nth-child(6)::before{ content:"Removal "; color:#8a928d; }

  .pfs-group-builder-actions{ grid-template-columns:1fr 1fr; }
  .pfs-group-builder-actions [data-group-batch-cancel]{ grid-column:1/-1; grid-row:2; }
}

/* Studio 14 final cascade guards. */
@media (min-width:861px){
  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-layout,
  body.pfs-redesign #appMainContent #quoteCard .fy-quote-sections{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    align-items:start !important;
    gap:0 !important;
    padding:8px 26px 28px !important;
  }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane){ min-width:0; padding:6px 30px 20px; }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane):first-child{ padding-left:0; border-right:1px solid #dfe3df; }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane):nth-child(2){ padding-right:0; }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .fy-job-section{
    margin:0 !important;
    padding:17px 0 !important;
    border:0 !important;
    border-bottom:1px solid #e8ebe8 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .fy-job-section:last-child{ border-bottom:0 !important; }
  body.pfs-redesign #appMainContent #quoteSummaryCard #fyQuoteSummary{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; align-items:start; gap:12px; }
  body.pfs-redesign #appMainContent #quoteSummaryCard :is(.fy-summary-total-band,.fy-summary-metrics,.fy-summary-empty,.fy-summary-note){ grid-column:1/-1; }

  .pfs-workspace-jobs .jobmgr-top{ gap:12px; margin-bottom:10px; padding:15px 17px; }
  .pfs-workspace-jobs .jobmgr-command-row{ display:grid; grid-template-columns:auto minmax(210px,1fr) 174px auto; align-items:center; gap:9px; padding-top:11px; border-top:1px solid #e8ebe8; }
  .pfs-workspace-jobs .jobmgr-summary{ grid-template-columns:1.35fr repeat(3,minmax(0,1fr)); gap:0; overflow:hidden; margin-bottom:11px; border:1px solid #dce1dc; border-radius:11px; background:#fff; box-shadow:0 7px 22px rgba(29,35,31,.035); }
  .pfs-workspace-jobs .jobmgr-stat{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; min-height:63px; padding:10px 14px; border:0; border-right:1px solid #e5e8e5; border-radius:0; box-shadow:none; }
  .pfs-workspace-jobs .jobmgr-stat:last-child{ border-right:0; }
  .pfs-workspace-jobs .jobmgr-stat-label{ grid-column:1; margin:0; }
  .pfs-workspace-jobs .jobmgr-stat strong{ grid-column:2; grid-row:1/3; font-size:18px; }
  .pfs-workspace-jobs .jobmgr-stat > span:last-child{ grid-column:1; margin-top:3px; }
  .pfs-workspace-jobs .job-board{ gap:12px; }
  .pfs-workspace-jobs .job-col{ min-height:390px; background:#f1f3f1 !important; }
  .pfs-workspace-jobs .job-col-head{ min-height:51px; padding:9px 11px; }
  .pfs-workspace-jobs .job-col-list{ gap:9px; padding:9px; }
  .pfs-workspace-jobs .job-card{ padding:10px 11px 11px; box-shadow:0 4px 14px rgba(28,35,30,.045) !important; }
  .pfs-workspace-jobs .job-card-customer{ margin-top:7px; }
  .pfs-workspace-jobs .job-card-appointment{ margin-top:8px; padding:7px; }
  .pfs-workspace-jobs .job-card-metrics{ margin-top:8px; padding-top:8px; }
  .pfs-workspace-jobs .job-card-actions{ margin-top:8px; }
}

@media (max-width:1180px) and (min-width:861px){
  .pfs-workspace-jobs .jobmgr-command-row{ grid-template-columns:auto minmax(180px,1fr) 160px; }
  .pfs-workspace-jobs .jobmgr-viewtoggle{ grid-column:1/-1; justify-self:end; }
}

@media (max-width:860px){
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .pfs-editor-pane-heading{ display:none; }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane){ display:contents; }
  .pfs-workspace-jobs .jobmgr-command-row{ display:grid; grid-template-columns:1fr; gap:8px; }
  .pfs-workspace-jobs .jobmgr-command-row .jobmgr-tabs{ display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pfs-workspace-jobs .jobmgr-command-row .jobmgr-viewtoggle{ display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Studio 10: familiar grouping plus bulk presets and detailed overview cards. */
body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-job-type{
  grid-column:1/-1 !important;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,290px);
  align-items:center;
  gap:5px 16px;
  margin:0 0 2px;
  padding:11px 12px;
  border:1px solid #dde3dd;
  border-radius:9px;
  background:#f8faf8;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-job-type > label{
  align-self:end;
  color:#3e4742;
  font-size:9px;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-job-type > small{
  grid-column:1;
  color:#7d8680;
  font-size:8px;
  line-height:1.35;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-job-type .fy-segmented{
  grid-column:2;
  grid-row:1/3;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  width:100%;
  margin:0;
  padding:4px;
  border:1px solid #d7ddd8;
  border-radius:9px;
  background:#eef1ee;
  box-sizing:border-box;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-job-type .fy-segment-option{
  position:relative;
  min-width:0;
  margin:0;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-job-type .fy-segment-option input{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  opacity:0;
  pointer-events:none;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-job-type .fy-segment-option span{
  display:grid;
  min-height:34px;
  place-items:center;
  padding:0 8px;
  border:0;
  border-radius:6px;
  color:#66706a;
  font-size:9px;
  font-weight:900;
  box-sizing:border-box;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-job-type .fy-segment-option input:checked + span{
  background:#fff;
  color:#0b58d0;
  box-shadow:0 1px 5px rgba(28,39,31,.12);
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane .window-controls-bottom{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane .window-controls-bottom #pfsAddWindowBtn,
body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane .window-controls-bottom #deleteSelectedBtn{
  grid-column:1/-1;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane .window-controls-bottom #groupSelectedBtn,
body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane .window-controls-bottom #pfsBulkGroupsBtn{
  min-width:0;
  padding-right:8px !important;
  padding-left:8px !important;
  white-space:normal;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane #pfsBulkGroupsBtn{
  border-color:#d8c49b !important;
  background:#fbf7ed !important;
  color:#76571f !important;
}

.pfs-group-builder-presets{
  display:grid;
  gap:9px;
  margin:0 0 17px;
  padding:12px;
  border:1px solid #dfe4df;
  border-radius:10px;
  background:#f8faf8;
}

.pfs-group-builder-presets-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.pfs-group-builder-presets-head > span{
  color:#3d4641;
  font-size:9px;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.pfs-group-builder-presets-head button{
  padding:0;
  border:0;
  background:transparent;
  color:#0b58d0;
  font-size:8px;
  font-weight:900;
  cursor:pointer;
}

.pfs-group-preset-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}

.pfs-group-preset-option{
  position:relative;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:7px 9px;
  border:1px solid #d7ded9;
  border-radius:9px;
  background:#fff;
  cursor:pointer;
  box-sizing:border-box;
  transition:border-color .14s ease,background .14s ease,box-shadow .14s ease;
}

.pfs-group-preset-option:hover{
  border-color:#a9c0e3;
  background:#f8fbff;
}

.pfs-group-preset-option:has(input:checked){
  border-color:#8eafe0;
  background:#eef5ff;
  box-shadow:0 0 0 2px rgba(11,88,208,.08);
}

.pfs-group-preset-option > input{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

.pfs-group-preset-check{
  position:relative;
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  border:1px solid #bfc8c2;
  border-radius:6px;
  background:#fff;
  box-sizing:border-box;
}

.pfs-group-preset-option input:focus-visible + .pfs-group-preset-check{
  outline:3px solid rgba(11,88,208,.18);
  outline-offset:2px;
}

.pfs-group-preset-option input:checked + .pfs-group-preset-check{
  border-color:#0b58d0;
  background:#0b58d0;
}

.pfs-group-preset-option input:checked + .pfs-group-preset-check::after{
  width:8px;
  height:4px;
  border-bottom:2px solid #fff;
  border-left:2px solid #fff;
  content:"";
  transform:translateY(-1px) rotate(-45deg);
}

.pfs-group-preset-copy{
  display:grid;
  min-width:0;
  gap:2px;
}

.pfs-group-preset-copy strong{
  overflow:hidden;
  color:#303a34;
  font-size:9px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-group-preset-copy small{
  color:#818a84;
  font-size:7px;
  font-weight:700;
}

.pfs-group-preset-option.is-unavailable{
  border-color:#e3e6e3;
  background:#f4f5f4;
  cursor:not-allowed;
  opacity:.68;
}

.pfs-group-presets-empty{
  padding:9px 10px;
  border:1px dashed #d7ddd8;
  border-radius:8px;
  color:#858e88;
  font-size:8px;
  text-align:center;
}

@media (max-width:520px){
  .pfs-group-preset-options{ grid-template-columns:1fr; }
}

.pfs-presets-page{
  width:100%;
  min-height:100%;
  padding:0;
  color:#252c28;
  box-sizing:border-box;
}

.pfs-presets-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(230px,320px);
  align-items:center;
  gap:24px;
  margin-bottom:16px;
  padding:22px 24px;
  border:1px solid #dce2dc;
  border-radius:12px;
  background:linear-gradient(135deg,#fff,#f5f8f5);
}

.pfs-presets-kicker{
  display:block;
  margin-bottom:5px;
  color:#8b6a29;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.pfs-presets-hero h2{
  margin:0;
  color:#1d2420;
  font-size:21px;
  font-weight:950;
  letter-spacing:-.035em;
}

.pfs-presets-hero p{
  max-width:720px;
  margin:7px 0 0;
  color:#707973;
  font-size:10px;
  line-height:1.5;
}

.pfs-presets-device-note{
  display:grid;
  gap:4px;
  padding:13px 14px;
  border:1px solid #c9d9f0;
  border-radius:9px;
  background:#eef5ff;
}

.pfs-presets-device-note strong{ color:#244c82; font-size:9px; font-weight:900; }
.pfs-presets-device-note span{ color:#6480a5; font-size:8px; line-height:1.4; }

.pfs-preset-type-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.pfs-preset-type-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #dce1dc;
  border-radius:11px;
  background:#fff;
  box-shadow:0 8px 24px rgba(26,35,29,.045);
}

.pfs-preset-type-card > header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:66px;
  padding:12px 16px;
  border-bottom:1px solid #e6e9e6;
  background:#fafbfa;
}

.pfs-preset-type-card > header span{
  display:block;
  margin-bottom:3px;
  color:#8c6b2b;
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.pfs-preset-type-card > header h3{
  margin:0;
  color:#282f2b;
  font-size:14px;
  font-weight:900;
}

.pfs-preset-type-card > header small{
  padding:5px 8px;
  border-radius:999px;
  background:#edf3fc;
  color:#315f9e;
  font-size:8px;
  font-weight:900;
}

.pfs-preset-add{
  display:grid;
  gap:7px;
  padding:14px 16px;
  border-bottom:1px solid #e8ebe8;
}

.pfs-preset-add > label{
  color:#48514c;
  font-size:8px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.pfs-preset-add > div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

body.pfs-redesign .pfs-preset-add input{
  width:100%;
  min-width:0;
  min-height:42px;
  padding:0 11px;
  border:1px solid #d4dad5;
  border-radius:8px;
  background:#fff;
  color:#222925;
  font:inherit;
  box-sizing:border-box;
}

body.pfs-redesign .pfs-preset-add button{
  min-height:42px;
  padding:0 13px;
  border:1px solid #0a55c7;
  border-radius:8px;
  background:#0b58d0;
  color:#fff;
  font-size:8px;
  font-weight:900;
  cursor:pointer;
}

.pfs-preset-add > p{
  min-height:13px;
  margin:0;
  color:#347253;
  font-size:8px;
  font-weight:800;
}

.pfs-preset-add > p.is-error{ color:#a13e35; }
.pfs-preset-list{ display:grid; gap:7px; padding:10px 16px 16px; }
.pfs-preset-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:43px;
  padding:0 8px 0 11px;
  border:1px solid #e0e4e0;
  border-radius:8px;
  background:#fff;
}

.pfs-preset-row > span{
  display:flex;
  align-items:center;
  min-width:0;
  gap:9px;
  overflow:hidden;
  color:#363f39;
  font-size:9px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-preset-row i{
  flex:0 0 auto;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#2e9d69;
}

.pfs-preset-row button{
  flex:0 0 auto;
  width:28px;
  height:28px;
  border:0;
  border-radius:7px;
  background:#f2f4f2;
  color:#747d77;
  font-size:16px;
  cursor:pointer;
}

.pfs-preset-empty{
  display:grid;
  min-height:108px;
  place-items:center;
  align-content:center;
  gap:4px;
  border:1px dashed #dce1dc;
  border-radius:9px;
  background:#fafbfa;
  text-align:center;
}

.pfs-preset-empty strong{ color:#616a64; font-size:10px; }
.pfs-preset-empty span{ color:#8b938e; font-size:8px; }

.pfs-overview-window{
  display:grid;
  grid-template-columns:1fr;
  align-items:stretch;
  gap:7px;
  min-height:80px;
  padding:9px 0;
}

.pfs-overview-window-title{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  text-align:left !important;
}

.pfs-overview-window-title strong{ font-size:9px; }
.pfs-overview-window-title > span{
  flex:0 0 auto;
  color:#747e78;
  font-size:7px;
  font-weight:800;
}

.pfs-overview-window-facts{
  display:grid !important;
  grid-template-columns:.65fr 1fr 1fr .8fr;
  align-items:stretch;
  gap:0 !important;
  overflow:hidden;
  border:1px solid #e7eae7;
  border-radius:7px;
  background:#fafbfa;
  text-align:left !important;
}

.pfs-overview-window-facts > span{
  display:grid;
  min-width:0;
  gap:2px;
  padding:6px;
  border-left:1px solid #e7eae7;
}

.pfs-overview-window-facts > span:first-child{ border-left:0; }
.pfs-overview-window-facts small{
  overflow:hidden;
  color:#8a928d;
  font-size:6px;
  font-weight:900;
  letter-spacing:.035em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.pfs-overview-window-facts strong{
  color:#343c37;
  font-size:8px;
  font-weight:900;
}

.pfs-overview-row-removal.is-required{
  background:#fff5f3;
}

.pfs-overview-row-removal.is-required small,
.pfs-overview-row-removal.is-required strong{
  color:#9b3a32;
}

.pfs-overview-window-list{ max-height:270px; }

@media (max-width:860px){
  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-job-type{
    grid-template-columns:1fr;
    gap:6px;
  }

  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-job-type > small{ grid-column:1; }
  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-job-type .fy-segmented{
    grid-column:1;
    grid-row:auto;
    margin-top:3px;
  }

  .pfs-presets-hero{
    grid-template-columns:1fr;
    gap:14px;
    padding:17px;
  }

  .pfs-preset-type-grid{ grid-template-columns:1fr; }
  .pfs-overview-window-list{ max-height:none; }
}

@media (max-width:420px){
  body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane .window-controls-bottom{
    grid-template-columns:1fr !important;
  }

  body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane .window-controls-bottom > button{
    grid-column:auto !important;
  }

  .pfs-preset-add > div{ grid-template-columns:1fr; }
  .pfs-overview-window-facts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pfs-overview-window-facts > span:nth-child(3){ border-left:0; border-top:1px solid #e7eae7; }
  .pfs-overview-window-facts > span:nth-child(4){ border-top:1px solid #e7eae7; }
}

@media (max-width:420px){
  .pfs-customer-navigate span{ display:none; }
  .pfs-customer-navigate{ width:36px; padding:0; }
  .pfs-windows-control-pane .window-controls-bottom{ grid-template-columns:1fr !important; }
  .pfs-windows-control-pane .window-controls-bottom #pfsAddWindowBtn{ grid-column:auto; }
}

body.pfs-redesign{
  --pfs-appshell-banner-offset:0px;
  padding:0;
  background:var(--pfs-shell-bg);
  color:var(--pfs-shell-ink);
  min-height:100vh;
}

body.pfs-redesign,
body.pfs-redesign input,
body.pfs-redesign select,
body.pfs-redesign textarea,
body.pfs-redesign button{
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

body.pfs-redesign .navbar{
  display:none;
}

body.pfs-redesign .header-menu{
  position:relative;
}

body.pfs-redesign .menu-dropdown{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:224px;
  padding:6px;
  border:1px solid #d8dee8 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:var(--pfs-shell-ink) !important;
  box-shadow:0 22px 54px rgba(7,23,39,.20) !important;
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

body.pfs-redesign .menu-dropdown.hidden{
  display:none !important;
}

body.pfs-redesign .menu-dropdown button,
body.pfs-redesign .menu-dropdown .menu-link{
  display:flex !important;
  align-items:center;
  width:100%;
  min-height:38px;
  margin:0;
  padding:9px 10px;
  border:0 !important;
  border-radius:8px !important;
  background:transparent !important;
  color:var(--pfs-shell-ink) !important;
  box-shadow:none !important;
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size:13px !important;
  font-weight:850 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}

body.pfs-redesign .menu-dropdown button:hover,
body.pfs-redesign .menu-dropdown .menu-link:hover{
  background:#eef5ff !important;
  color:var(--pfs-shell-blue-dark) !important;
}

body.pfs-redesign .menu-dropdown .menu-divider{
  height:1px;
  margin:6px 4px;
  background:#e4e9f2;
}

body.pfs-redesign #optUsageMobile{
  display:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

body.pfs-redesign #optUsageInline{
  display:block !important;
  min-height:16px !important;
  margin:7px 0 0 !important;
  padding:0 !important;
  color:#667085 !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

body.pfs-redesign > .container{
  width:auto;
  max-width:none;
  margin:0;
  padding:24px 28px 0 calc(var(--pfs-shell-sidebar) + 28px);
  transition:padding-left .2s ease;
}

body.pfs-redesign.pfs-sidebar-collapsed > .container{
  padding-left:calc(var(--pfs-shell-sidebar-collapsed) + 28px);
}

@media (min-width:861px){
  body.pfs-redesign{
    min-height:100vh;
    display:flex;
    flex-direction:column;
  }

  body.pfs-redesign > .container{
    flex:1 0 auto;
    display:flex;
    flex-direction:column;
  }

  body.pfs-redesign #appMain{
    flex:1 0 auto;
  }

  body.pfs-redesign #appFooter{
    margin-top:auto !important;
    flex-shrink:0;
  }

  body.pfs-redesign #appFooter .footer{
    margin-top:0 !important;
  }
}

/* Studio 31: every primary job workspace follows Customer & Site's flat panes. */
@media (min-width:861px){
  body.pfs-redesign #appMainContent #windowsCard .pfs-windows-workspace{
    grid-template-columns:minmax(285px,.34fr) minmax(0,.66fr);
    gap:0;
    padding:8px 26px 28px;
  }

  body.pfs-redesign #appMainContent #windowsCard :is(.pfs-windows-control-pane,.pfs-windows-entry-pane){
    min-width:0;
    padding:6px 30px 20px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane{
    padding-left:0 !important;
    border-right:1px solid #dfe3df !important;
  }

  body.pfs-redesign #appMainContent #windowsCard .pfs-windows-entry-pane{
    padding-right:0 !important;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-job-details-panel{
    padding:0 !important;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-layout{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:0 !important;
    padding:8px 26px 28px !important;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-pane{
    min-width:0;
    padding:6px 30px 20px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-pane:first-child{
    padding-left:0 !important;
    border-right:1px solid #dfe3df !important;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-pane:nth-child(2){
    padding-right:0 !important;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .pfs-editor-pane-heading,
  body.pfs-redesign #appMainContent #quoteCard .pfs-editor-pane-heading{
    min-height:48px;
    margin:0 0 18px;
    padding:0 0 13px;
    border-bottom:1px solid #e5e8e5;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .pfs-section-heading-copy{
    display:block;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .pfs-section-heading-copy h4{
    margin:0;
  }

  body.pfs-redesign #appMainContent #jobMediaCard .pfs-job-media-workspace{
    padding:8px 26px 28px !important;
  }

  body.pfs-redesign #appMainContent #jobMediaCard .pfs-media-hero{
    grid-template-columns:minmax(320px,1fr) auto;
    gap:16px 30px;
    padding:6px 0 18px;
    border:0;
    border-bottom:1px solid #e5e8e5;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  body.pfs-redesign #appMainContent #jobMediaCard .pfs-media-hero::after{
    display:none;
  }

  body.pfs-redesign #appMainContent #jobMediaCard .pfs-media-hero-copy h3{
    margin-top:4px;
    font-size:17px;
    letter-spacing:-.025em;
  }

  body.pfs-redesign #appMainContent #jobMediaCard .pfs-media-hero-copy p{
    max-width:650px;
    margin-top:5px;
    font-size:10px;
  }

  body.pfs-redesign #appMainContent #jobMediaCard .pfs-media-connection{
    position:static;
    grid-column:1/-1;
  }

  body.pfs-redesign #appMainContent #summaryCard > .pfs-groups-overview-pane{
    width:auto;
    margin:0 !important;
    padding:8px 26px 28px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body.pfs-redesign #appMainContent #summaryCard .pfs-overview-heading{
    margin:0 0 18px;
    padding:6px 0 14px;
    border-bottom:1px solid #e5e8e5;
  }

  body.pfs-redesign #appMainContent #quoteSummaryCard > .locked-content > .fy-panel-card{
    margin:0 !important;
    padding:8px 26px 28px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-outputs-workspace{
    padding:8px 26px 28px !important;
  }

  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-intro{
    padding:6px 0 18px;
    border:0;
    border-bottom:1px solid #e5e8e5;
    border-radius:0;
    background:transparent;
  }
}

/* Studio 30: Job Details is the single job-level material and installation workspace. */
.pfs-film-selection-bridge{
  display:none !important;
}

body.pfs-redesign #jobInfoCard .pfs-film-guidance{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:10px;
  margin-top:14px;
  padding:12px 13px;
  border:1px solid #dbe5f2;
  border-radius:9px;
  background:#f5f9ff;
}

body.pfs-redesign #jobInfoCard .pfs-film-guidance-mark{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e2edff;
  color:#0b58d0;
  font-size:12px;
  font-weight:900;
}

body.pfs-redesign #jobInfoCard .pfs-film-guidance > div{
  min-width:0;
  display:grid;
  gap:3px;
}

body.pfs-redesign #jobInfoCard .pfs-film-guidance .fy-help{
  margin:0;
  color:#667487;
  font-size:11px;
  line-height:1.45;
}

body.pfs-redesign #jobInfoCard .pfs-film-guidance #fyFilmManufacturerLine:not(:empty),
body.pfs-redesign #jobInfoCard .pfs-film-guidance #fyFilmWarrantyLine:not(:empty){
  color:#35445a;
  font-weight:800;
}

body.pfs-redesign #jobInfoCard .fy-section-head > div{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

body.pfs-redesign #jobInfoCard .fy-section-head h4{
  margin:0;
}

body.pfs-redesign #jobInfoCard .fy-section-head p{
  margin:3px 0 0;
  color:#7b847e;
  font-size:11px;
  line-height:1.4;
}

body.pfs-redesign #jobInfoCard .pfs-section-index{
  flex:0 0 26px;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border:1px solid #d9ded9;
  border-radius:7px;
  background:#f4f6f4;
  color:#7a837d;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
}

@media (min-width:861px){
  body.pfs-redesign #appMainContent #jobInfoCard .fy-job-details-panel{
    padding:0 26px 30px;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-layout{
    grid-template-columns:minmax(360px,.88fr) minmax(500px,1.12fr) !important;
    align-items:start !important;
    gap:18px !important;
    padding:0 !important;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-pane{
    min-width:0;
    padding:20px !important;
    border:1px solid #dfe3df;
    border-radius:12px;
    background:#fff;
    box-shadow:0 8px 24px rgba(25,31,27,.045);
  }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-pane:first-child{
    padding-left:20px !important;
    border-right:1px solid #dfe3df;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-pane:nth-child(2){
    padding-right:20px !important;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .pfs-editor-pane-heading{
    min-height:0;
    margin:0 0 16px;
    padding:0 0 15px;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .pfs-job-film-setup,
  body.pfs-redesign #appMainContent #jobInfoCard .fy-window-section{
    padding:0 !important;
    border:0 !important;
  }

  body.pfs-redesign #jobInfoCard #pfsScopeMaterialSetup{
    gap:14px;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
  }

  body.pfs-redesign #jobInfoCard .pfs-scope-material-head{
    min-height:58px;
    padding:12px 13px;
    border:1px solid #e0e4e0;
    border-radius:9px;
    background:#f7f9f7;
  }

  body.pfs-redesign #jobInfoCard .pfs-material-source-switch{
    gap:6px;
    padding:5px;
    border:1px solid #dfe4df;
    border-radius:10px;
    background:#edf1ed;
  }

  body.pfs-redesign #jobInfoCard .pfs-material-source-switch button{
    min-height:40px;
    border-radius:7px;
    font-size:12px;
  }

  body.pfs-redesign #jobInfoCard .pfs-scope-material-fields{
    gap:11px;
    padding:14px;
    border:1px solid #e1e5e1;
    border-radius:10px;
    background:#fafbfa;
  }

  body.pfs-redesign #jobInfoCard .pfs-scope-material-fields :is(input,select){
    min-height:44px;
    border-radius:8px;
    font-size:13px;
  }

  body.pfs-redesign #jobInfoCard .fy-window-section > .fy-section-head,
  body.pfs-redesign #jobInfoCard .fy-notes-section > .fy-section-head{
    margin-bottom:13px;
    padding-bottom:12px;
    border-bottom:1px solid #e5e8e5;
  }

  body.pfs-redesign #jobInfoCard .fy-jobdetails-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:11px;
  }

  body.pfs-redesign #jobInfoCard .fy-jobdetails-grid > .fy-field{
    min-width:0;
    margin:0;
    padding:13px;
    border:1px solid #e1e5e1;
    border-radius:10px;
    background:#fafbfa;
  }

  body.pfs-redesign #jobInfoCard .fy-jobdetails-grid > .fy-field:first-child{
    padding:0;
    border:0;
    background:transparent;
  }

  body.pfs-redesign #jobInfoCard .fy-jobdetails-grid > .fy-field:first-child select{
    min-height:44px;
  }

  body.pfs-redesign #jobInfoCard .fy-group-label,
  body.pfs-redesign #jobInfoCard .fy-jobdetails-grid > .fy-field:first-child > label,
  body.pfs-redesign #jobInfoCard .fy-notes-section label{
    display:block;
    margin:0 0 8px;
    color:#59635d;
    font-size:10px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
  }

  body.pfs-redesign #jobInfoCard .fy-check-grid,
  body.pfs-redesign #jobInfoCard .fy-check-grid-tight{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(124px,1fr));
    gap:7px !important;
  }

  body.pfs-redesign #jobInfoCard .fy-check-chip{
    min-height:38px;
    padding:8px 10px !important;
    border-radius:8px !important;
    font-size:11px !important;
    line-height:1.2;
  }

  body.pfs-redesign #jobInfoCard .fy-check-chip input{
    width:16px;
    min-width:16px;
    height:16px;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-notes-section{
    margin-top:15px !important;
    padding:16px 0 0 !important;
    border-top:1px solid #e5e8e5 !important;
    border-bottom:0 !important;
  }

  body.pfs-redesign #jobInfoCard .fy-notes-section textarea{
    min-height:108px !important;
    resize:vertical;
  }
}

@media (max-width:860px){
  body.pfs-redesign #jobInfoCard #pfsScopeMaterialSetup{
    margin:0;
  }

  body.pfs-redesign #jobInfoCard .pfs-film-guidance{
    margin-top:10px;
  }

  body.pfs-redesign #jobInfoCard .fy-section-head > div{
    align-items:center;
  }
}

body.pfs-redesign #appMainContent{
  grid-template-columns:minmax(420px, .86fr) minmax(540px, 1.14fr);
  gap:22px;
  align-items:start;
  max-width:1540px;
  margin:0 auto 22px;
}

.pfs-side-nav{
  position:fixed;
  inset:0 auto 0 0;
  z-index:2100;
  width:var(--pfs-shell-sidebar);
  display:flex;
  flex-direction:column;
  color:#edf7ff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), transparent 32%),
    linear-gradient(180deg, var(--pfs-shell-navy), #05111f 72%, #030b15);
  box-shadow:18px 0 50px rgba(8,17,29,.16);
  transition:width .2s ease;
}

body.pfs-redesign .pfs-side-nav{
  top:var(--pfs-appshell-banner-offset, 48px);
}

body.pfs-sidebar-collapsed .pfs-side-nav{
  width:var(--pfs-shell-sidebar-collapsed);
}

.pfs-side-brand{
  min-height:76px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:18px 18px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.pfs-side-brand img{
  width:160px;
  height:auto;
  max-height:42px;
  object-fit:contain;
  object-position:left center;
  transition:opacity .16s ease, width .16s ease;
}

body.pfs-sidebar-collapsed .pfs-side-brand{
  justify-content:center;
  padding-left:10px;
  padding-right:10px;
}

body.pfs-sidebar-collapsed .pfs-side-brand img{
  width:38px;
  content:url("./pfs-mark-gold.svg");
}

.pfs-side-section{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:14px 12px;
}

.pfs-side-section.pfs-side-bottom{
  margin-top:auto;
  padding-bottom:16px;
}

.pfs-side-divider{
  height:1px;
  margin:8px 10px;
  background:rgba(255,255,255,.08);
}

.pfs-side-btn{
  position:relative;
  width:100%;
  height:42px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 12px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#cbd7e6;
  font-weight:800;
  font-size:14px;
  text-align:left;
  cursor:pointer;
  text-decoration:none;
  transition:background .15s ease, color .15s ease, transform .15s ease;
}

.pfs-side-btn svg{
  flex:0 0 20px;
  width:20px;
  height:20px;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
}

.pfs-side-btn:hover,
.pfs-side-btn:focus-visible{
  outline:none;
  color:#fff;
  background:rgba(255,255,255,.105);
}

.pfs-side-btn.is-active{
  color:#fff;
  background:linear-gradient(90deg, rgba(11,94,234,.92), rgba(11,94,234,.56));
}

.pfs-side-btn.is-danger:hover{
  background:rgba(239,68,68,.18);
}

.pfs-side-btn.pfs-feature-action-locked{
  opacity:.52;
  color:#9aa3ae;
  filter:grayscale(.5) saturate(.35);
}

.pfs-side-btn.pfs-feature-action-locked:hover,
.pfs-side-btn.pfs-feature-action-locked:focus-visible{
  color:#aab2bc;
  background:rgba(255,255,255,.035);
}

.pfs-side-btn .pfs-feature-lock-chip{
  min-height:18px;
  padding:2px 5px;
  color:#aab2bc;
  background:rgba(255,255,255,.035);
  font-size:8px;
}

.pfs-side-btn .pfs-feature-lock-glyph{
  width:7px;
  height:6px;
}

.pfs-side-btn .pfs-feature-lock-glyph::before{
  left:1px;
  top:-5px;
  width:3px;
  height:4px;
}

body.pfs-sidebar-collapsed .pfs-side-btn .pfs-feature-lock-chip span{
  display:none;
}

body.pfs-sidebar-collapsed .pfs-side-btn .pfs-feature-lock-chip{
  position:absolute;
  right:5px;
  top:5px;
  min-width:14px;
  justify-content:center;
  padding:2px;
}

.pfs-mobile-more-item.pfs-feature-action-locked,
.pfs-mobile-more-subitem.pfs-feature-action-locked{
  opacity:.58;
  filter:grayscale(.45) saturate(.4);
}

.pfs-mobile-more-item .pfs-feature-lock-chip,
.pfs-mobile-more-subitem .pfs-feature-lock-chip{
  margin-left:auto;
}

body.pfs-redesign details.pfs-feature-locked > summary{
  opacity:.58;
  filter:grayscale(.45) saturate(.4);
  cursor:help;
}

body.pfs-redesign details.pfs-feature-locked > summary:hover{
  background:inherit;
}

.pfs-side-menu{
  display:grid;
  gap:2px;
}

.pfs-side-parent-btn{
  position:relative;
}

.pfs-side-menu.has-active-child > .pfs-side-parent-btn{
  color:#fff;
  background:rgba(255,255,255,.075);
}

.pfs-side-menu-chevron{
  display:grid;
  width:18px;
  height:18px;
  margin-left:auto;
  place-items:center;
  color:#8fa0b4;
  transition:transform .16s ease,color .16s ease;
}

.pfs-side-menu-chevron svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}

.pfs-side-menu.is-open .pfs-side-menu-chevron{
  color:#fff;
  transform:rotate(180deg);
}

.pfs-side-submenu{
  display:grid;
  gap:2px;
  padding:2px 0 5px 35px;
}

.pfs-side-submenu[hidden]{ display:none; }

.pfs-side-sub-btn{
  height:34px;
  gap:9px;
  padding:0 10px;
  border-radius:7px;
  color:#aebdce;
  font-size:12px;
}

.pfs-side-sub-marker{
  width:6px;
  height:6px;
  flex:0 0 6px;
  border:1px solid currentColor;
  border-radius:50%;
  opacity:.7;
}

.pfs-side-sub-btn.is-active{
  color:#fff;
  background:rgba(38,112,230,.28);
}

.pfs-side-sub-btn.is-active .pfs-side-sub-marker{
  border-color:#68a2ff;
  background:#68a2ff;
  box-shadow:0 0 0 3px rgba(104,162,255,.14);
  opacity:1;
}

.pfs-side-label{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.pfs-side-count{
  min-width:21px;
  height:21px;
  display:inline-grid;
  margin-left:auto;
  padding:0 6px;
  place-items:center;
  border:1px solid rgba(242,201,104,.28);
  border-radius:999px;
  background:rgba(199,154,59,.12);
  color:#f2c968;
  font-size:9px;
  font-weight:900;
  line-height:1;
}

.pfs-scope-nav{ position:relative; }

.pfs-side-count[hidden],
body.pfs-scopes-hidden [data-shell-action="scopes"],
body.pfs-scopes-hidden [data-pfs-more-action="scopes"],
body.pfs-scopes-hidden #menuScopes{
  display:none !important;
}

body.pfs-sidebar-collapsed .pfs-side-label{
  width:0;
  opacity:0;
}

body.pfs-sidebar-collapsed .pfs-side-count{
  position:absolute;
  right:4px;
  top:3px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  font-size:7px;
}

body.pfs-sidebar-collapsed .pfs-side-btn{
  justify-content:center;
  padding-left:0;
  padding-right:0;
}

body.pfs-sidebar-collapsed .pfs-side-menu-chevron,
body.pfs-sidebar-collapsed .pfs-side-submenu{
  display:none;
}

.pfs-sidebar-toggle{
  margin-top:4px;
}

body.pfs-redesign .card,
body.pfs-redesign details.job-details,
body.pfs-redesign .fy-panel-card,
body.pfs-redesign .jobmgr-page,
body.pfs-redesign .groups-summary-container.active{
  border-radius:8px !important;
  border-color:var(--pfs-shell-line) !important;
  background:#fff !important;
  box-shadow:0 14px 40px rgba(15,23,42,.075) !important;
}

body.pfs-redesign .card.input-section{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card{
  border-radius:8px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98)) !important;
  border-color:#d9e1ec !important;
  box-shadow:0 10px 28px rgba(15,23,42,.06) !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card::before{
  display:none;
}

body.pfs-redesign .job-details-header h3,
body.pfs-redesign .results-title h2,
body.pfs-redesign .settings-header-row h2,
body.pfs-redesign .jobmgr-title-text{
  color:var(--pfs-shell-ink) !important;
}

body.pfs-redesign .meta-inline,
body.pfs-redesign .fy-mini,
body.pfs-redesign .fy-panel-subtitle,
body.pfs-redesign .jobmgr-count,
body.pfs-redesign .summary-meta{
  color:var(--pfs-shell-muted) !important;
}

body.pfs-redesign input,
body.pfs-redesign select,
body.pfs-redesign textarea,
body.pfs-redesign .job-field input,
body.pfs-redesign .select-wrapper select,
body.pfs-redesign .fy-field input,
body.pfs-redesign .fy-field select,
body.pfs-redesign .fy-field textarea,
body.pfs-redesign .jobmgr-search,
body.pfs-redesign .jobmgr-sort{
  border-radius:8px !important;
  border-color:#d8dee8 !important;
  background:#fff !important;
  color:var(--pfs-shell-ink) !important;
}

body.pfs-redesign input:focus,
body.pfs-redesign select:focus,
body.pfs-redesign textarea:focus{
  border-color:rgba(11,94,234,.72) !important;
  box-shadow:0 0 0 4px rgba(11,94,234,.13) !important;
}

body.pfs-redesign .btn-primary,
body.pfs-redesign .fy-btn-primary,
body.pfs-redesign .btn-output-primary,
body.pfs-redesign .pfs-auth-btn-primary,
body.pfs-redesign .checkout-terms-btn.primary,
body.pfs-redesign .account-addon-option,
body.pfs-redesign .btn-manage,
body.pfs-redesign #fySettingsSaveBtn,
body.pfs-redesign #fyAccountSaveBtn,
body.pfs-redesign #accountRoot .fy-btn-primary,
body.pfs-redesign #accountPage .fy-btn-primary,
body.pfs-redesign #settingsRoot .fy-films-panel #fyAddFilmBtn,
body.pfs-redesign #settingsRoot .fy-settings-actions-right-catalog #fySettingsSaveBtn,
body.pfs-redesign #settingsRoot .fy-settings-actions-right-pricing #fySettingsSaveBtn,
body.pfs-redesign .pfs-sunmap-cta #pfsCustomerSunMapBtn,
body.pfs-redesign #fySunPreviewOpen{
  background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark)) !important;
  border-color:rgba(7,66,168,.72) !important;
  color:#fff !important;
  border-radius:8px !important;
  box-shadow:0 12px 24px rgba(11,94,234,.22) !important;
  text-shadow:none !important;
}

body.pfs-redesign .btn-primary:hover,
body.pfs-redesign .fy-btn-primary:hover,
body.pfs-redesign .btn-output-primary:hover,
body.pfs-redesign .pfs-auth-btn-primary:hover,
body.pfs-redesign .checkout-terms-btn.primary:hover,
body.pfs-redesign .account-addon-option:hover,
body.pfs-redesign .btn-manage:hover,
body.pfs-redesign #fySettingsSaveBtn:hover,
body.pfs-redesign #fyAccountSaveBtn:hover{
  background:linear-gradient(180deg, #176cf4, #0754d8) !important;
  box-shadow:0 16px 30px rgba(11,94,234,.28) !important;
}

body.pfs-redesign .btn-primary:active,
body.pfs-redesign .fy-btn-primary:active,
body.pfs-redesign .btn-output-primary:active,
body.pfs-redesign .pfs-auth-btn-primary:active,
body.pfs-redesign .checkout-terms-btn.primary:active,
body.pfs-redesign .account-addon-option:active,
body.pfs-redesign .btn-manage:active,
body.pfs-redesign #fySettingsSaveBtn:active,
body.pfs-redesign #fyAccountSaveBtn:active{
  background:linear-gradient(180deg, #0754d8, #0845ad) !important;
  box-shadow:0 1px 3px rgba(7,23,39,.22) inset, 0 8px 18px rgba(11,94,234,.18) !important;
}

body.pfs-redesign .btn-primary:disabled,
body.pfs-redesign .fy-btn-primary:disabled,
body.pfs-redesign .btn-output-primary:disabled,
body.pfs-redesign .pfs-auth-btn-primary:disabled,
body.pfs-redesign .checkout-terms-btn.primary:disabled,
body.pfs-redesign .account-addon-option:disabled,
body.pfs-redesign .btn-manage:disabled,
body.pfs-redesign #fySettingsSaveBtn:disabled,
body.pfs-redesign #fyAccountSaveBtn:disabled{
  background:linear-gradient(180deg, #e8edf5, #d9e0eb) !important;
  border-color:#cfd7e3 !important;
  color:#7a8494 !important;
  box-shadow:none !important;
}

body.pfs-redesign .btn-optimize-roll,
body.pfs-redesign .btn-mobile-optimize,
body.pfs-redesign #pfsCutPlanBtnDesktop,
body.pfs-redesign #pfsCutPlanBtnMobile{
  background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark)) !important;
  border-color:rgba(7,66,168,.72) !important;
  color:#fff !important;
  border-radius:8px !important;
  box-shadow:0 12px 24px rgba(11,94,234,.22) !important;
  text-shadow:none !important;
}

body.pfs-redesign .btn-optimize-roll:hover,
body.pfs-redesign .btn-mobile-optimize:hover,
body.pfs-redesign #pfsCutPlanBtnDesktop:hover,
body.pfs-redesign #pfsCutPlanBtnMobile:hover{
  background:linear-gradient(180deg, #176cf4, #0754d8) !important;
  box-shadow:0 16px 30px rgba(11,94,234,.28) !important;
}

body.pfs-redesign .btn-optimize-roll.pfs-cutplan-view,
body.pfs-redesign .btn-mobile-optimize.pfs-cutplan-view,
body.pfs-redesign #pfsCutPlanBtnDesktop.pfs-cutplan-view,
body.pfs-redesign #pfsCutPlanBtnMobile.pfs-cutplan-view{
  background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark)) !important;
  border-color:rgba(7,66,168,.72) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(11,94,234,.22) !important;
}

body.pfs-redesign .btn-optimize-roll.pfs-cutplan-view:hover,
body.pfs-redesign .btn-mobile-optimize.pfs-cutplan-view:hover,
body.pfs-redesign #pfsCutPlanBtnDesktop.pfs-cutplan-view:hover,
body.pfs-redesign #pfsCutPlanBtnMobile.pfs-cutplan-view:hover{
  background:linear-gradient(180deg, #176cf4, #0754d8) !important;
  box-shadow:0 16px 30px rgba(11,94,234,.28) !important;
}

body.pfs-redesign .window-controls-bottom .btn-add-window,
body.pfs-redesign .window-controls-bottom .btn-group-selected,
body.pfs-redesign .window-controls-bottom .btn-delete-selected,
body.pfs-redesign .btn-secondary,
body.pfs-redesign .fy-btn-secondary,
body.pfs-redesign .btn-output,
body.pfs-redesign .jobmgr-tab,
body.pfs-redesign .jobmgr-viewbtn{
  border-radius:8px !important;
  background:#fff !important;
  border-color:#d8dee8 !important;
  color:var(--pfs-shell-ink) !important;
}

body.pfs-redesign .results-section,
body.pfs-redesign .results-section .result-stat,
body.pfs-redesign .results-section .savings-notice,
body.pfs-redesign .results-section .rotation-notice,
body.pfs-redesign .results-section .cut-sheet-section,
body.pfs-redesign .results-section .cut-sheet-toggle,
body.pfs-redesign .results-section .cut-sheet,
body.pfs-redesign .results-section .fy-plan-rollcard,
body.pfs-redesign .results-section .fy-quote-card,
body.pfs-redesign .results-section .job-outputs{
  background:#fff !important;
  border-color:#d8dee8 !important;
  color:var(--pfs-shell-ink) !important;
  box-shadow:0 12px 30px rgba(15,23,42,.065) !important;
}

body.pfs-redesign .results-section .result-stat small,
body.pfs-redesign .results-section .stat-label,
body.pfs-redesign .results-section .cut-details,
body.pfs-redesign .results-section .fy-plan-rollwindows{
  color:var(--pfs-shell-muted) !important;
}

body.pfs-redesign .results-section .result-stat.stat-highlight{
  background:linear-gradient(180deg, #effaf2, #ffffff) !important;
  border-color:rgba(31,172,85,.24) !important;
  color:var(--pfs-shell-ink) !important;
}

body.pfs-redesign .results-section .result-stat.stat-highlight .stat-value{
  color:var(--pfs-shell-green) !important;
}

body.pfs-redesign .results-section [data-opt-action].btn-output:not(.btn-output-primary),
body.pfs-redesign .results-section [data-opt-action="open-cut-diagram"].btn-output,
body.pfs-redesign .results-section [data-opt-action="open-window-list"].btn-output,
body.pfs-redesign .results-section [data-opt-action="view-plan-roll"][data-view="diagram"].btn-output,
body.pfs-redesign .results-section [data-opt-action="view-plan-roll"][data-view="windows"].btn-output,
body.pfs-redesign .results-section .fy-project-sheet-btn{
  background:#fff !important;
  border-color:#d8dee8 !important;
  color:var(--pfs-shell-ink) !important;
  box-shadow:0 10px 22px rgba(15,23,42,.055) !important;
}

body.pfs-redesign .results-section [data-opt-action].btn-output:not(.btn-output-primary):hover,
body.pfs-redesign .results-section [data-opt-action="open-cut-diagram"].btn-output:hover,
body.pfs-redesign .results-section [data-opt-action="open-window-list"].btn-output:hover,
body.pfs-redesign .results-section [data-opt-action="view-plan-roll"][data-view="diagram"].btn-output:hover,
body.pfs-redesign .results-section [data-opt-action="view-plan-roll"][data-view="windows"].btn-output:hover,
body.pfs-redesign .results-section .fy-project-sheet-btn:hover{
  background:#f8fbff !important;
  border-color:rgba(11,94,234,.32) !important;
  color:var(--pfs-shell-blue-dark) !important;
  box-shadow:0 14px 26px rgba(15,23,42,.08) !important;
}

body.pfs-redesign .results-section [data-opt-action].btn-output:not(.btn-output-primary):focus-visible,
body.pfs-redesign .results-section .fy-project-sheet-btn:focus-visible{
  outline:none !important;
  border-color:rgba(11,94,234,.62) !important;
  box-shadow:0 0 0 4px rgba(11,94,234,.13) !important;
}

body.pfs-redesign #accountRoot .account-cutplan-usage{
  margin-top:12px;
  padding:11px 12px;
  border:1px solid #d8dee8;
  border-radius:8px;
  background:#f8fafc;
}

body.pfs-redesign #accountRoot .account-cutplan-usage .account-overview-kicker{
  margin-bottom:4px;
}

body.pfs-redesign #accountRoot .account-cutplan-usage-value{
  color:var(--pfs-shell-muted);
  font-size:14px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:0;
}

body.pfs-redesign #accountRoot .account-cutplan-usage-sub{
  margin-top:4px;
  color:var(--pfs-shell-muted);
  font-size:12px;
  line-height:1.35;
  font-weight:800;
}

body.pfs-redesign #accountRoot .account-cutplan-usage-warning .account-cutplan-usage-value,
body.pfs-redesign #accountRoot .account-cutplan-usage-warning .account-cutplan-usage-sub{
  color:var(--pfs-shell-usage-warning);
}

body.pfs-redesign #accountRoot .account-cutplan-usage-danger .account-cutplan-usage-value,
body.pfs-redesign #accountRoot .account-cutplan-usage-danger .account-cutplan-usage-sub{
  color:var(--pfs-shell-usage-danger);
}

body.pfs-redesign #accountRoot .account-billing-hero-grid{
  align-items:stretch;
}

body.pfs-redesign #accountRoot .account-billing-side-stack{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}

body.pfs-redesign #accountRoot .account-billing-side-stack .account-billing-portal-panel{
  height:auto;
}

body.pfs-redesign #accountRoot .account-cutplans-summary-root{
  min-width:0;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}

body.pfs-redesign #accountRoot .account-billing-side-stack .account-billing-portal-panel{
  min-height:0;
}

body.pfs-redesign #accountRoot .account-cutplans-summary-pane{
  display:grid;
  gap:10px;
  height:auto !important;
}

body.pfs-redesign #accountRoot.account-flex-account .account-billing-hero-grid{
  align-items:start;
  grid-template-areas:
    "flex-subscription"
    "flex-credits"
    "flex-purchase"
    "flex-billing"
    "flex-portal";
}

body.pfs-redesign #accountRoot.account-flex-account :is(.account-current-subscription-panel,.account-next-payment-card,.account-billing-portal-panel){
  height:auto !important;
}

body.pfs-redesign #accountRoot.account-flex-account :is(.account-billing-side-stack,.account-cutplans-summary-root){
  display:contents;
}

body.pfs-redesign #accountRoot.account-flex-account .account-current-subscription-root{ grid-area:flex-subscription; }
body.pfs-redesign #accountRoot.account-flex-account .account-flex-credit-summary{ grid-area:flex-credits; }
body.pfs-redesign #accountRoot.account-flex-account .account-flex-purchase-pane{ grid-area:flex-purchase; }
body.pfs-redesign #accountRoot.account-flex-account .account-next-payment-root{ grid-area:flex-billing; }
body.pfs-redesign #accountRoot.account-flex-account .account-billing-portal-panel{ grid-area:flex-portal; }

body.pfs-redesign #accountRoot .account-flex-credit-balance{
  display:flex;
  align-items:baseline;
  gap:9px;
  padding:13px 14px;
  border:1px solid rgba(11,94,234,.22);
  border-radius:9px;
  background:linear-gradient(135deg, #eef5ff, #fff);
  color:var(--pfs-shell-ink);
}

body.pfs-redesign #accountRoot .account-flex-credit-balance strong{
  color:var(--pfs-studio-blue);
  font-size:34px;
  line-height:1;
  font-weight:950;
}

body.pfs-redesign #accountRoot .account-flex-credit-balance span{
  font-size:13px;
  line-height:1.25;
  font-weight:900;
}

body.pfs-redesign #accountRoot .account-flex-credit-balance-copy{
  color:#667085;
  font-size:12px;
  line-height:1.4;
  font-weight:750;
}

body.pfs-redesign #accountRoot .account-flex-billing-card{
  min-height:132px;
}

body.pfs-redesign #accountRoot.account-flex-account .account-flex-purchase-pane{
  display:grid;
  grid-template-columns:minmax(0, 1.25fr) minmax(300px, .75fr);
  gap:12px 18px;
}

body.pfs-redesign #accountRoot.account-flex-account .account-flex-purchase-pane > :is(.account-overview-kicker,.account-plan-change-note){
  grid-column:1 / -1;
}

body.pfs-redesign #accountRoot.account-flex-account .account-flex-purchase-options{
  align-self:start;
  margin:0;
}

body.pfs-redesign #accountRoot .account-billing-portal-panel .account-portal-action{
  flex-wrap:wrap;
  gap:8px;
}

body.pfs-redesign #accountRoot .account-cutplans-summary-pane .account-subscription-facts{
  margin-top:0;
}

body.pfs-redesign #accountRoot .account-lifetime-activity{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(11,94,234,.18);
  border-radius:8px;
  background:linear-gradient(180deg, #fff, #f8fbff);
}

body.pfs-redesign #accountRoot .account-lifetime-activity-head{
  display:grid;
  gap:3px;
}

body.pfs-redesign #accountRoot .account-lifetime-activity-label{
  color:var(--pfs-shell-ink);
  font-size:14px;
  line-height:1.2;
  font-weight:950;
}

body.pfs-redesign #accountRoot .account-lifetime-activity-copy{
  color:#667085;
  font-size:12px;
  line-height:1.35;
  font-weight:800;
}

body.pfs-redesign #accountRoot .account-lifetime-activity-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

body.pfs-redesign #accountRoot .account-lifetime-activity-stat{
  display:grid;
  align-content:center;
  gap:4px;
  min-height:66px;
  padding:10px;
  border:1px solid #dfe7f3;
  border-radius:7px;
  background:#fff;
}

body.pfs-redesign #accountRoot .account-lifetime-activity-stat-label{
  color:#667085;
  font-size:10px;
  line-height:1.25;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.035em;
}

body.pfs-redesign #accountRoot .account-lifetime-activity-stat-value{
  color:var(--pfs-shell-ink);
  font-size:18px;
  line-height:1.15;
  font-weight:950;
}

@media (min-width:1020px){
  body.pfs-redesign #accountRoot .account-billing-hero-grid{
    grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr) minmax(430px, 2fr) !important;
  }

  body.pfs-redesign #accountRoot.account-flex-account .account-billing-hero-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    grid-template-areas:
      "flex-subscription flex-credits"
      "flex-purchase flex-purchase"
      "flex-billing flex-portal";
  }
}

@media (min-width:860px) and (max-width:1019px){
  body.pfs-redesign #accountRoot .account-billing-side-stack{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body.pfs-redesign #accountRoot.account-flex-account :is(.account-billing-side-stack,.account-cutplans-summary-root){
    display:contents;
  }
}

@media (max-width:760px){
  body.pfs-redesign #accountRoot.account-flex-account .account-flex-purchase-pane{
    grid-template-columns:minmax(0, 1fr);
  }

  body.pfs-redesign #accountRoot.account-flex-account .account-flex-purchase-pane > *{
    grid-column:1;
  }
}

body.pfs-redesign .pfs-workspace-account #accountRoot .account-global-actions{
  display:none !important;
}

body.pfs-redesign .pfs-workspace-estimate-packets :is([data-save-library-page],[data-save-packet-default]){
  display:none !important;
}

body.pfs-redesign #accountRoot .account-tier-option,
body.pfs-redesign .account-modal-panel .account-tier-option{
  background:#fff !important;
  border-color:#d8dee8 !important;
  color:var(--pfs-shell-ink) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.06) !important;
}

body.pfs-redesign #accountRoot .account-tier-option:hover,
body.pfs-redesign .account-modal-panel .account-tier-option:hover{
  border-color:rgba(11,94,234,.32) !important;
  background:#f8fbff !important;
  box-shadow:0 16px 34px rgba(15,23,42,.09) !important;
}

body.pfs-redesign #accountRoot .account-tier-option-current,
body.pfs-redesign #accountRoot .account-tier-option-current:hover,
body.pfs-redesign .account-modal-panel .account-tier-option-current,
body.pfs-redesign .account-modal-panel .account-tier-option-current:hover{
  border-color:rgba(11,94,234,.40) !important;
  background:#eef5ff !important;
}

body.pfs-redesign #accountRoot .account-addon-option{
  background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark)) !important;
  border-color:rgba(7,66,168,.72) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(11,94,234,.22) !important;
}

body.pfs-redesign #accountRoot .account-addon-option:hover{
  background:linear-gradient(180deg, #176cf4, #0754d8) !important;
  box-shadow:0 16px 30px rgba(11,94,234,.28) !important;
}

body.pfs-redesign .account-tier-card-feature::before{
  background:var(--pfs-shell-blue) !important;
}

body.pfs-redesign .account-tier-card-action{
  background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark)) !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(11,94,234,.20) !important;
}

body.pfs-redesign .account-tier-card-offer,
body.pfs-redesign .checkout-offer-copy{
  border-color:rgba(11,94,234,.24) !important;
  background:#eef5ff !important;
  color:#084ec2 !important;
}

body.pfs-redesign .checkout-terms-check input{
  accent-color:var(--pfs-shell-blue);
}

body.pfs-redesign #settingsRoot .fy-pricing-chip-gold{
  border-color:rgba(11,94,234,.22) !important;
  background:#eef5ff !important;
  color:#084ec2 !important;
}

body.pfs-redesign #settingsRoot .fy-quote-next-band{
  border-color:rgba(11,94,234,.18) !important;
  background:linear-gradient(90deg, rgba(11,94,234,.08), rgba(255,255,255,.94) 42%, #f8fafc) !important;
}

body.pfs-redesign #settingsRoot .fy-quote-next-band::before{
  background:var(--pfs-shell-blue) !important;
}

.pfs-workspace-overlay{
  position:fixed;
  inset:0;
  z-index:2600;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(7,23,39,.42);
  backdrop-filter:blur(8px);
}

body.pfs-redesign .pfs-workspace-overlay{
  top:var(--pfs-appshell-banner-offset, 48px);
}

.pfs-workspace-dialog{
  width:min(1180px, calc(100vw - 56px));
  max-height:calc(100vh - 56px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(216,222,232,.92);
  border-radius:12px;
  background:#fff;
  box-shadow:0 36px 90px rgba(7,23,39,.28);
}

.pfs-workspace-head{
  min-height:60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px 14px 20px;
  border-bottom:1px solid #d8dee8;
  background:#fff;
}

.pfs-workspace-title{
  margin:0;
  font-size:18px;
  line-height:1.2;
  font-weight:900;
  color:var(--pfs-shell-ink);
}

.pfs-workspace-close,
.pfs-workspace-save,
.pfs-mobile-sheet-close,
.pfs-mobile-results-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 13px;
  border-radius:8px;
  border:1px solid #d8dee8;
  background:#fff;
  color:var(--pfs-shell-ink);
  font-weight:900;
  cursor:pointer;
}

.pfs-workspace-save{
  border-color:rgba(7,66,168,.72);
  background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark));
  color:#fff;
}

.pfs-workspace-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.pfs-workspace-body{
  min-height:0;
  overflow:auto;
  padding:16px;
  background:#f7f9fc;
}

.pfs-workspace-page.hidden{
  display:block !important;
}

.pfs-workspace-page > .main-content{
  display:block;
  max-width:none;
  margin:0;
}

.pfs-workspace-page > .main-content > .card{
  width:100%;
  max-width:none;
  margin:0;
}

.pfs-workspace-page .settings-home-btn,
.pfs-workspace-page .jobmgr-backlink{
  display:none !important;
}

html.pfs-shell-scroll-locked,
html.pfs-shell-scroll-locked body,
body.pfs-workspace-open{
  overflow:hidden;
  overscroll-behavior:none;
}

.pfs-mobile-tabs{
  display:none;
}

@media (max-width:860px){
  body.pfs-redesign #optUsageInline,
  body.pfs-redesign #optUsageMobile{
    display:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.pfs-redesign{
    padding:0;
    background:#f5f7fb;
  }

  body.pfs-redesign .navbar{
    display:block;
    position:relative;
    top:auto;
    z-index:1500;
    border-radius:0 !important;
    background:var(--pfs-shell-navy) !important;
    box-shadow:0 8px 24px rgba(7,23,39,.16) !important;
  }

  body.pfs-redesign .navbar .nav-inner{
    height:54px !important;
    min-height:54px !important;
  }

  body.pfs-redesign .menu-btn{
    background:transparent !important;
    border-color:rgba(255,255,255,.18) !important;
    color:#fff !important;
    font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-weight:900;
  }

  body.pfs-redesign > .container{
    padding:12px 10px 168px;
  }

  body.pfs-redesign #appMainContent{
    display:block;
    max-width:none;
    margin:0;
  }

  .pfs-side-nav{
    display:none;
  }

  body.pfs-redesign #menuActionNew,
  body.pfs-redesign #menuActionSave,
  body.pfs-redesign #menuActionLoad,
  body.pfs-redesign #menuJobManager,
  body.pfs-redesign #headerMenu .menu-divider:first-of-type{
    display:none !important;
  }

  body.pfs-redesign #appMainContent .input-section > .main-actions-left{
    display:none !important;
  }

  body.pfs-redesign .mobile-optimize-bar{
    position:fixed;
    left:14px;
    right:14px;
    bottom:calc(68px + env(safe-area-inset-bottom));
    z-index:1790;
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:5px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }

  body.pfs-redesign .btn-mobile-optimize{
    width:100%;
    min-height:52px;
    padding:14px 18px;
    border:1px solid rgba(7,66,168,.72) !important;
    border-radius:10px !important;
    background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark)) !important;
    color:#fff !important;
    box-shadow:0 14px 28px rgba(11,94,234,.24) !important;
    font-size:15px;
    font-weight:950;
    letter-spacing:0;
  }

  body.pfs-redesign .btn-mobile-optimize:hover,
  body.pfs-redesign .btn-mobile-optimize:focus-visible{
    background:linear-gradient(180deg, #176cf4, #0754d8) !important;
    box-shadow:0 16px 32px rgba(11,94,234,.28) !important;
  }

  body.pfs-redesign .btn-mobile-optimize.pfs-cutplan-view{
    border-color:rgba(7,66,168,.72) !important;
    background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark)) !important;
    box-shadow:0 14px 28px rgba(11,94,234,.24) !important;
  }

  body.pfs-redesign .btn-mobile-optimize.pfs-cutplan-view:hover,
  body.pfs-redesign .btn-mobile-optimize.pfs-cutplan-view:focus-visible{
    background:linear-gradient(180deg, #176cf4, #0754d8) !important;
    box-shadow:0 16px 32px rgba(11,94,234,.28) !important;
  }

  body.pfs-redesign .opt-usage-note-mobile{
    display:block;
    min-height:16px;
    color:#475467 !important;
    font-size:11px;
    font-weight:850;
    line-height:1.2;
    text-align:center;
  }

  body.pfs-redesign .results-section .placeholder{
    padding:12px 12px 10px;
    font-size:13px;
    line-height:1.2;
  }

  body.pfs-redesign .results-section .placeholder-icon{
    font-size:2.25rem;
    margin-bottom:6px;
  }

  body.pfs-redesign .results-section .placeholder p{
    margin:0;
    font-size:13.5px;
    line-height:1.2;
  }

  .pfs-mobile-tabs{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1800;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:2px;
    min-height:66px;
    padding:7px 8px calc(7px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(216,222,232,.92);
    background:rgba(255,255,255,.96);
    box-shadow:0 -14px 34px rgba(15,23,42,.12);
    backdrop-filter:blur(14px);
  }

  .pfs-mobile-tab{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-width:0;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#475467;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
    touch-action:manipulation;
  }

  .pfs-mobile-tab svg{
    width:20px;
    height:20px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .pfs-mobile-tab.is-primary{
    color:#fff;
    background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark));
    box-shadow:0 10px 20px rgba(11,94,234,.24);
  }

  body.pfs-mobile-sheet-open,
  body.pfs-mobile-results-active{
    overflow:hidden;
  }

  body.pfs-mobile-sheet-open #appMain,
  body.pfs-mobile-sheet-open #appMainContent,
  body.pfs-mobile-sheet-open .card.input-section,
  body.pfs-mobile-results-active #appMain,
  body.pfs-mobile-results-active #appMainContent{
    transform:none !important;
    animation:none !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-mobile-card-open{
    position:fixed !important;
    inset:0 !important;
    z-index:2300 !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 0 92px !important;
    overflow:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    border-radius:0 !important;
    border:0 !important;
    background:#f5f7fb !important;
    box-shadow:none !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-mobile-card-open,
  body.pfs-redesign .results-section.pfs-mobile-results-open,
  body.pfs-redesign .pfs-workspace-overlay{
    top:var(--pfs-appshell-banner-offset, 48px) !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-mobile-card-open > summary.job-details-header{
    position:sticky;
    top:0;
    z-index:2;
    min-height:58px;
    padding:0 12px 0 16px !important;
    background:#fff !important;
    border-bottom:1px solid #d8dee8 !important;
    box-shadow:0 8px 20px rgba(15,23,42,.08) !important;
  }

  details.pfs-mobile-card-open .collapse-indicator{
    display:none;
  }

  .pfs-mobile-sheet-close{
    margin-left:8px;
    min-width:68px;
    background:var(--pfs-shell-navy);
    border-color:var(--pfs-shell-navy);
    color:#fff;
  }

  details.collapsible-card:not(.pfs-mobile-card-open) .pfs-mobile-sheet-close{
    display:none !important;
  }

  details.collapsible-card.pfs-mobile-card-open .pfs-mobile-sheet-close{
    display:inline-flex !important;
  }

  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .locked-content,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .job-details-body,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .groups-summary-container,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .pfs-rot-toggle,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .table-header,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .windows-list,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .windows-inline-notice,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .window-controls-bottom{
    margin-left:10px !important;
    margin-right:10px !important;
  }

  body.pfs-redesign .results-section.pfs-mobile-results-open{
    position:fixed !important;
    inset:0 !important;
    z-index:2350 !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 10px 92px !important;
    overflow:auto !important;
    border-radius:0 !important;
    border:0 !important;
    background:#f5f7fb !important;
    box-shadow:none !important;
  }

  .pfs-mobile-results-head{
    position:sticky;
    top:0;
    z-index:3;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 -10px 12px;
    padding:0 12px 0 16px;
    background:#fff;
    border-bottom:1px solid #d8dee8;
    box-shadow:0 8px 20px rgba(15,23,42,.08);
  }

  .results-section:not(.pfs-mobile-results-open) > .pfs-mobile-results-head{
    display:none;
  }

  .pfs-mobile-results-title{
    font-size:17px;
    font-weight:900;
    color:var(--pfs-shell-ink);
  }

  .pfs-mobile-results-close{
    background:var(--pfs-shell-navy);
    border-color:var(--pfs-shell-navy);
    color:#fff;
  }

  .pfs-workspace-overlay{
    align-items:stretch;
    justify-content:stretch;
    padding:0;
  }

  .pfs-workspace-dialog{
    width:100vw;
    max-height:none;
    height:100vh;
    border:0;
    border-radius:0;
  }

  .pfs-workspace-body{
    padding:10px;
  }
}

@media (min-width:861px){
  .pfs-mobile-results-head{
    display:none;
  }
}

/* =========================
   App Prompt + Job Modals
   ========================= */
body.pfs-redesign .modal-overlay{
  z-index:2550;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(7,23,39,.46) !important;
  backdrop-filter:blur(10px);
}

body.pfs-redesign .modal-content{
  width:min(540px, calc(100vw - 42px)) !important;
  max-width:540px !important;
  max-height:calc(100vh - 56px) !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(216,222,232,.94) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--pfs-shell-ink) !important;
  box-shadow:0 34px 90px rgba(7,23,39,.28) !important;
}

body.pfs-redesign .modal-content.modal-content-wide,
body.pfs-redesign .modal-content:has(.jobpick){
  width:min(980px, calc(100vw - 56px)) !important;
  max-width:980px !important;
}

body.pfs-redesign .modal-content.modal-content-wide:has(.fy-modal):not(:has(.jobpick)):not(:has(.fy-opt-modal)){
  width:min(540px, calc(100vw - 42px)) !important;
  max-width:540px !important;
}

body.pfs-redesign .modal-content .fy-modal{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:20px;
  color:var(--pfs-shell-ink) !important;
}

body.pfs-redesign .modal-content .fy-modal > div[style]{
  color:var(--pfs-shell-muted) !important;
  line-height:1.45 !important;
}

body.pfs-redesign .modal-content .fy-modal > div:first-child,
body.pfs-redesign .pfs-modal-title{
  margin:0 0 2px !important;
  color:var(--pfs-shell-ink) !important;
  font-size:19px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
}

body.pfs-redesign .pfs-modal-body{
  margin:0 !important;
  color:var(--pfs-shell-muted) !important;
  opacity:1 !important;
  font-size:14px;
  line-height:1.45;
  font-weight:750;
}

body.pfs-redesign .pfs-modal-input{
  width:100%;
  min-height:42px;
  margin:0 !important;
  padding:10px 12px;
  border:1px solid #d8dee8 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:var(--pfs-shell-ink) !important;
  font:inherit;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-modal-input:focus{
  outline:none;
  border-color:rgba(11,94,234,.72) !important;
  box-shadow:0 0 0 4px rgba(11,94,234,.13) !important;
}

body.pfs-redesign .pfs-modal-actions,
body.pfs-redesign .modal-content .fy-modal > div[style*="justify-content"]{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:4px !important;
}

body.pfs-redesign .jobpick{
  width:100%;
  max-width:none;
  max-height:calc(100vh - 56px);
  display:flex;
  flex-direction:column;
  min-height:0;
  color:var(--pfs-shell-ink);
}

body.pfs-redesign .jobpick-head{
  flex:0 0 auto;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0;
  padding:18px 20px 16px;
  border-bottom:1px solid #d8dee8;
  background:
    linear-gradient(90deg, rgba(11,94,234,.08), transparent 52%),
    #fff;
}

body.pfs-redesign .jobpick-title{
  min-width:0;
  color:var(--pfs-shell-ink);
  font-size:20px;
  line-height:1.15;
  font-weight:950;
  letter-spacing:0;
}

body.pfs-redesign .pfs-recover-drafts-copy{
  padding:12px 20px;
  border-bottom:1px solid #e4e9f2;
  background:#f8fafc;
  color:var(--pfs-shell-muted);
  font-size:13px;
  line-height:1.45;
  font-weight:780;
}

body.pfs-redesign .jobpick-tabs{
  margin-left:auto;
  gap:6px;
}

body.pfs-redesign .pfs-modal-close-btn{
  flex:0 0 auto;
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d8dee8 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#475467 !important;
  box-shadow:none !important;
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size:18px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
}

body.pfs-redesign .pfs-modal-close-btn:hover{
  border-color:rgba(11,94,234,.34) !important;
  background:#eef5ff !important;
  color:var(--pfs-shell-blue) !important;
  box-shadow:0 0 0 4px rgba(11,94,234,.10) !important;
}

body.pfs-redesign .jobpick-tab{
  min-height:34px;
  padding:7px 12px;
  border:1px solid #d8dee8;
  border-radius:999px;
  background:#fff;
  color:var(--pfs-shell-muted);
  box-shadow:none;
}

body.pfs-redesign .jobpick-tab:hover{
  border-color:rgba(11,94,234,.30);
  background:#f8fbff;
  color:var(--pfs-shell-blue-dark);
}

body.pfs-redesign .jobpick-tab.active{
  border-color:rgba(11,94,234,.44);
  background:#eef5ff;
  color:var(--pfs-shell-blue-dark);
}

body.pfs-redesign .jobpick-controls{
  display:grid;
  grid-template-columns:minmax(240px, 1fr) minmax(148px, auto) minmax(190px, auto) auto;
  gap:10px;
  margin:0;
  padding:14px 16px;
  border-bottom:1px solid #e4e9f2;
  background:#f8fafc;
}

body.pfs-redesign .jobpick-search,
body.pfs-redesign .jobpick-status,
body.pfs-redesign .jobpick-sort{
  min-height:40px;
  border:1px solid #d8dee8 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:var(--pfs-shell-ink) !important;
  box-shadow:none !important;
}

body.pfs-redesign .jobpick-search:focus,
body.pfs-redesign .jobpick-status:focus,
body.pfs-redesign .jobpick-sort:focus{
  outline:none;
  border-color:rgba(11,94,234,.72) !important;
  box-shadow:0 0 0 4px rgba(11,94,234,.13) !important;
}

body.pfs-redesign .jobpick-list{
  flex:1 1 auto;
  min-height:170px;
  max-height:min(58vh, 560px);
  overflow:auto;
  padding:14px 16px;
  gap:10px;
  background:#f7f9fc;
}

body.pfs-redesign .jobpick-row{
  align-items:center;
  border:1px solid #d8dee8;
  border-radius:10px;
  background:#fff;
  color:var(--pfs-shell-ink);
  box-shadow:0 10px 22px rgba(15,23,42,.045);
}

body.pfs-redesign .jobpick-row-name{
  color:var(--pfs-shell-ink);
  font-size:14px;
  line-height:1.25;
  font-weight:950;
}

body.pfs-redesign .jobpick-row-meta{
  color:var(--pfs-shell-muted);
  opacity:1;
  font-size:12px;
  font-weight:780;
}

body.pfs-redesign .job-status-pill{
  border-color:rgba(11,94,234,.22);
  background:#eef5ff;
  color:var(--pfs-shell-blue-dark);
  font-weight:900;
}

body.pfs-redesign .jobpick-row-actions{
  gap:7px;
}

body.pfs-redesign .btn-mini{
  min-height:32px;
  padding:6px 10px;
  border-radius:8px !important;
  border:1px solid #d8dee8 !important;
  background:#fff !important;
  color:var(--pfs-shell-ink) !important;
  box-shadow:none !important;
}

body.pfs-redesign .btn-mini:hover{
  border-color:rgba(11,94,234,.30) !important;
  background:#f8fbff !important;
  color:var(--pfs-shell-blue-dark) !important;
}

body.pfs-redesign .btn-mini.btn-primary,
body.pfs-redesign .jobpick-row-actions .btn-primary{
  border-color:rgba(7,66,168,.72) !important;
  background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark)) !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(11,94,234,.18) !important;
}

body.pfs-redesign .btn-mini.btn-primary:hover,
body.pfs-redesign .jobpick-row-actions .btn-primary:hover{
  background:linear-gradient(180deg, #176cf4, #0754d8) !important;
}

body.pfs-redesign .btn-mini.btn-danger,
body.pfs-redesign .jobpick-row-actions .btn-danger{
  border-color:rgba(180,35,24,.24) !important;
  background:#fff !important;
  color:#b42318 !important;
}

body.pfs-redesign .btn-mini.btn-danger:hover,
body.pfs-redesign .jobpick-row-actions .btn-danger:hover{
  background:#fff1f0 !important;
  border-color:rgba(180,35,24,.36) !important;
}

body.pfs-redesign .jobpick-footer{
  flex:0 0 auto;
  margin:0;
  padding:14px 16px 16px;
  border-top:1px solid #e4e9f2;
  background:#fff;
}

body.pfs-redesign .job-pick-cancel{
  min-height:38px;
  padding:8px 13px;
  border:1px solid #d8dee8 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:var(--pfs-shell-ink) !important;
  font-weight:900;
}

body.pfs-redesign .job-pick-cancel:hover{
  border-color:rgba(11,94,234,.30) !important;
  background:#f8fbff !important;
  color:var(--pfs-shell-blue-dark) !important;
}

body.pfs-redesign .job-col-empty{
  margin:0 !important;
  padding:18px;
  border:1px dashed #cfd7e3;
  border-radius:10px;
  background:#fff;
  color:var(--pfs-shell-muted);
  text-align:center;
  font-weight:850;
}

@media (max-width:700px){
  body.pfs-redesign .modal-overlay{
    padding:14px;
    align-items:center;
  }

  body.pfs-redesign .modal-overlay:has(.jobpick){
    padding:0;
    align-items:stretch;
  }

  body.pfs-redesign .modal-content{
    width:min(540px, calc(100vw - 28px)) !important;
    max-width:540px !important;
    min-height:0;
    max-height:calc(100vh - 28px) !important;
    border-radius:12px !important;
  }

  body.pfs-redesign .modal-content.modal-content-wide:has(.fy-modal):not(:has(.jobpick)):not(:has(.fy-opt-modal)){
    width:min(540px, calc(100vw - 28px)) !important;
    max-width:540px !important;
  }

  body.pfs-redesign .modal-content:has(.jobpick){
    width:100vw !important;
    max-width:100vw !important;
    min-height:100vh;
    max-height:100vh !important;
    border:0 !important;
    border-radius:0 !important;
  }

  body.pfs-redesign .jobpick{
    min-height:100vh;
    max-height:100vh;
  }

  body.pfs-redesign .jobpick-controls{
    grid-template-columns:1fr;
  }

  body.pfs-redesign .jobpick-list{
    max-height:none;
  }

  body.pfs-redesign .jobpick-row{
    align-items:stretch;
    flex-direction:column;
  }

  body.pfs-redesign .jobpick-row-actions{
    justify-content:stretch;
  }

  body.pfs-redesign .jobpick-row-actions .btn-mini{
    flex:1 1 0;
  }
}

/* =========================
   Build Cut Plan Modal
   ========================= */
body.pfs-redesign .modal-overlay:has(.fy-opt-modal){
  z-index:2550;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(7,23,39,.50);
  backdrop-filter:blur(10px);
}

body.pfs-redesign .modal-content:has(.fy-opt-modal){
  width:min(1140px, calc(100vw - 56px)) !important;
  max-width:none !important;
  max-height:calc(100vh - 56px) !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(216,222,232,.92) !important;
  border-radius:12px !important;
  background:#f7f9fc !important;
  box-shadow:0 36px 90px rgba(7,23,39,.30) !important;
}

body.pfs-redesign .fy-opt-modal{
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - 56px);
  min-height:0;
  color:var(--pfs-shell-ink);
}

body.pfs-redesign .fy-opt-modal .fy-modal-header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:66px;
  padding:16px 18px 15px 22px;
  border-bottom:1px solid #d8dee8;
  background:
    linear-gradient(90deg, rgba(11,94,234,.08), transparent 50%),
    #fff;
}

body.pfs-redesign .fy-opt-modal .fy-modal-header::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg, var(--pfs-shell-blue), #22c55e);
}

body.pfs-redesign .fy-opt-modal .fy-modal-heading{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

body.pfs-redesign .fy-opt-modal .fy-modal-title{
  margin:0;
  font-size:20px;
  line-height:1.15;
  font-weight:950;
  letter-spacing:0;
  color:var(--pfs-shell-ink);
}

body.pfs-redesign .fy-opt-modal .fy-cutplan-usage{
  color:var(--pfs-shell-muted);
  font-size:12px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:0;
}

body.pfs-redesign .fy-opt-modal .fy-cutplan-usage-warning{
  color:var(--pfs-shell-usage-warning);
}

body.pfs-redesign .fy-opt-modal .fy-cutplan-usage-danger{
  color:var(--pfs-shell-usage-danger);
}

body.pfs-redesign .fy-opt-modal .fy-close{
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:8px;
  border-color:#d8dee8;
  background:#fff;
  color:#475467;
  font-size:24px;
  box-shadow:none;
}

body.pfs-redesign .fy-opt-modal .fy-close:hover{
  border-color:rgba(11,94,234,.34);
  background:#eef5ff;
  color:var(--pfs-shell-blue);
  box-shadow:0 0 0 4px rgba(11,94,234,.10);
}

body.pfs-redesign .fy-opt-modal .modal-body{
  min-height:0;
  overflow:auto;
  padding:16px 18px 18px;
  background:#f7f9fc;
}

body.pfs-redesign .fy-opt-modal .fy-tabbar{
  position:sticky;
  top:0;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:4px;
  margin:0 0 12px;
  padding:4px;
  overflow:visible;
  border:1px solid #d8dee8;
  border-radius:10px;
  background:#edf2f8;
}

body.pfs-redesign .fy-opt-modal .fy-tab-btn{
  min-width:0;
  min-height:42px;
  padding:0 12px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#475467;
  font-size:13px;
  font-weight:950;
  box-shadow:none;
}

body.pfs-redesign .fy-opt-modal .fy-tab-btn:hover{
  background:rgba(255,255,255,.74);
  color:var(--pfs-shell-ink);
}

body.pfs-redesign .fy-opt-modal .fy-tab-btn:focus{
  outline:none;
}

body.pfs-redesign .fy-opt-modal .fy-tab-btn:focus-visible{
  box-shadow:0 0 0 3px rgba(11,94,234,.16);
}

body.pfs-redesign .fy-opt-modal .fy-tab-btn.active{
  background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark));
  color:#fff;
  box-shadow:0 8px 18px rgba(11,94,234,.22);
}

body.pfs-redesign .fy-opt-modal .fy-tab-btn.active:focus-visible{
  box-shadow:
    0 8px 18px rgba(11,94,234,.22),
    0 0 0 3px rgba(11,94,234,.18);
}

body.pfs-redesign .fy-opt-modal .fy-tab-btn:disabled{
  opacity:.54;
  cursor:not-allowed;
}

body.pfs-redesign .fy-opt-modal .fy-mode-description{
  margin:0 0 14px;
  padding:11px 13px;
  border:1px solid #d8dee8;
  border-radius:8px;
  background:#fff;
  color:#667085;
  font-size:13px;
  font-weight:800;
}

body.pfs-redesign .fy-opt-modal .fy-opt-section{
  min-height:0;
}

body.pfs-redesign .fy-opt-modal .fy-card{
  margin:0 0 14px;
  padding:16px;
  border:1px solid #d8dee8;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.055);
}

body.pfs-redesign .fy-opt-modal .fy-card-title{
  margin:0 0 12px;
  font-size:16px;
  line-height:1.2;
  font-weight:950;
  color:var(--pfs-shell-ink);
}

body.pfs-redesign .fy-opt-modal .roll-options{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}

body.pfs-redesign .fy-opt-modal .fy-rollcard{
  min-width:0;
  padding:15px;
  border:1px solid #d8dee8;
  border-radius:8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
  box-shadow:0 10px 26px rgba(15,23,42,.055);
  transform:none;
}

body.pfs-redesign .fy-opt-modal .fy-rollcard:hover,
body.pfs-redesign .fy-opt-modal .fy-rollcard:focus-visible{
  outline:none;
  border-color:rgba(11,94,234,.38);
  background:#fff;
  box-shadow:0 16px 34px rgba(15,23,42,.10);
  transform:translateY(-1px);
}

body.pfs-redesign .fy-opt-modal .fy-rollcard.is-error:hover{
  border-color:#d8dee8;
  background:linear-gradient(180deg, #fff, #fbfcfe);
  box-shadow:0 10px 26px rgba(15,23,42,.055);
  transform:none;
}

body.pfs-redesign .fy-opt-modal .fy-rollcard.is-error .fy-rollcard-badge{
  color:#475569;
  background:#eef2f7;
}

body.pfs-redesign .fy-opt-modal .fy-rollcard.is-best{
  border-color:rgba(31,172,85,.48);
  background:
    linear-gradient(180deg, rgba(239,250,242,.98), rgba(255,255,255,.98));
  box-shadow:
    0 0 0 1px rgba(31,172,85,.12) inset,
    0 16px 34px rgba(31,172,85,.10);
}

body.pfs-redesign .fy-opt-modal .fy-rollcard-top{
  align-items:flex-start;
  min-height:36px;
  padding-bottom:10px;
  border-bottom:1px solid #e6ebf2;
}

body.pfs-redesign .fy-opt-modal .fy-rollcard-width{
  font-size:28px;
  line-height:1;
  font-weight:950;
  letter-spacing:0;
  color:var(--pfs-shell-ink);
}

body.pfs-redesign .fy-opt-modal .fy-rollcard.is-best .fy-rollcard-width{
  color:#116c38;
}

body.pfs-redesign .fy-opt-modal .fy-rollcard-badge{
  position:static;
  align-self:flex-start;
  max-width:112px;
  padding:5px 8px;
  border-radius:999px;
  background:#e9f8ee;
  border:1px solid rgba(31,172,85,.22);
  color:#14783e;
  box-shadow:none;
  font-size:10px;
  line-height:1.1;
  letter-spacing:.02em;
}

body.pfs-redesign .fy-opt-modal .fy-rollcard-grid{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:0;
}

body.pfs-redesign .fy-opt-modal .fy-rollstat{
  min-height:46px;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid #edf1f6;
}

body.pfs-redesign .fy-opt-modal .fy-rollstat:last-child{
  border-bottom:0;
  padding-bottom:0;
}

body.pfs-redesign .fy-opt-modal .fy-rollstat-purchase{
  align-items:stretch;
  flex-direction:column;
  gap:7px;
  min-height:0;
  padding-top:10px;
}

body.pfs-redesign .fy-opt-modal .fy-rollstat-label{
  max-width:54%;
  color:#667085;
  font-size:11px;
  line-height:1.15;
  font-weight:900;
  text-transform:none;
  letter-spacing:0;
}

body.pfs-redesign .fy-opt-modal .fy-rollstat-purchase .fy-rollstat-label{
  max-width:100%;
}

body.pfs-redesign .fy-opt-modal .fy-rollstat-value{
  color:var(--pfs-shell-ink);
  font-size:17px;
  line-height:1.05;
  font-weight:950;
}

body.pfs-redesign .fy-opt-modal .fy-rollstat-value-purchase{
  width:100%;
  padding:8px 10px;
  border:1px solid rgba(11,94,234,.14);
  border-radius:8px;
  background:#eef5ff;
  color:#31557c;
  font-size:12px;
  line-height:1.25;
  font-weight:900;
}

body.pfs-redesign .fy-opt-modal .fy-rollcard.is-best .fy-rollstat:first-child .fy-rollstat-value{
  color:var(--pfs-shell-green);
}

body.pfs-redesign .fy-opt-modal .fy-rollstat-unit{
  margin-top:2px;
  color:#667085;
  font-size:10px;
  font-weight:900;
}

body.pfs-redesign .fy-opt-modal .fy-rollcard-sub{
  margin-top:10px;
  padding:8px 10px;
  border-radius:8px;
  background:#eef5ff;
  color:#31557c;
  font-size:12px;
}

body.pfs-redesign .fy-opt-modal .rollfit-warning{
  margin-top:10px;
  border-radius:8px;
  border-color:rgba(239,68,68,.22);
  background:#fff1f2;
  color:#b42318;
  font-size:11px;
}

body.pfs-redesign .fy-opt-modal .fy-width-toggle{
  border-radius:8px;
  border-color:#d8dee8;
  background:#fff;
  color:var(--pfs-shell-ink);
  box-shadow:none;
}

body.pfs-redesign .fy-opt-modal .fy-width-toggle.active,
body.pfs-redesign .fy-opt-modal .fy-width-toggle[aria-pressed="true"]{
  background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark));
  border-color:rgba(7,66,168,.72);
  color:#fff;
  box-shadow:0 10px 22px rgba(11,94,234,.22);
}

body.pfs-redesign .fy-opt-modal .fy-btn-blue{
  min-height:42px;
  border:0;
  border-radius:8px;
  background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark));
  color:#fff;
  box-shadow:0 10px 22px rgba(11,94,234,.20);
}

body.pfs-redesign .fy-opt-modal .fy-btn-blue:hover:not(:disabled){
  filter:brightness(1.02);
  transform:translateY(-1px);
}

body.pfs-redesign .fy-opt-modal .fy-btn-blue:disabled{
  opacity:1;
  border:1px solid #d8dee8;
  background:#eef2f7;
  color:#8a96a8;
  box-shadow:none;
  cursor:not-allowed;
}

body.pfs-redesign .fy-opt-modal .fy-btn-blue:focus{
  outline:none;
}

body.pfs-redesign .fy-opt-modal .fy-btn-blue:focus-visible{
  box-shadow:
    0 10px 22px rgba(11,94,234,.20),
    0 0 0 3px rgba(11,94,234,.18);
}

body.pfs-redesign .fy-opt-modal .fy-candidate-table-wrap,
body.pfs-redesign .fy-opt-modal .fy-inv-list,
body.pfs-redesign .fy-opt-modal .fy-plan-empty{
  border-radius:8px;
}

body.pfs-redesign .fy-opt-modal .fy-candidate-table-wrap{
  border:1px solid #d8dee8;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}

body.pfs-redesign .fy-opt-modal .fy-candidate-table{
  min-width:620px;
  background:#fff;
}

body.pfs-redesign .fy-opt-modal .fy-candidate-table th,
body.pfs-redesign .fy-opt-modal .fy-candidate-table td{
  border-bottom:1px solid #e6ebf2;
  color:var(--pfs-shell-ink) !important;
}

body.pfs-redesign .fy-opt-modal .fy-candidate-table th{
  background:#f3f6fa;
  color:#475467 !important;
}

body.pfs-redesign .fy-opt-modal .fy-candidate-table tbody tr:nth-child(even) td{
  background:#f9fbfd;
}

body.pfs-redesign .fy-opt-modal .fy-plan-meta-row{
  color:#475467;
}

body.pfs-redesign .fy-opt-modal .fy-overall-eff,
body.pfs-redesign .fy-opt-modal .fy-eff-green{
  color:#14783e !important;
}

body.pfs-redesign .fy-opt-modal .fy-unit-btn{
  border-radius:7px;
  color:#475467;
}

body.pfs-redesign .fy-opt-modal .fy-unit-btn.active{
  background:#eaf2ff;
  color:var(--pfs-shell-blue-dark);
}

body.pfs-redesign .fy-opt-modal .fy-inv-item-compact{
  margin-top:8px;
  padding:10px;
  border:1px solid #d8dee8;
  border-radius:8px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.045);
}

body.pfs-redesign .fy-opt-modal .fy-inv-item-left{
  min-width:0;
}

body.pfs-redesign .fy-opt-modal .fy-inv-pill{
  min-width:50px;
  justify-content:center;
  padding:6px 9px;
  border:1px solid rgba(11,94,234,.16);
  border-radius:8px;
  background:#eef5ff;
  color:var(--pfs-shell-blue-dark);
  box-shadow:none;
}

body.pfs-redesign .fy-opt-modal .fy-inv-meta{
  color:#475467;
}

body.pfs-redesign .fy-opt-modal .fy-btn-ghost-danger{
  border-radius:8px;
  background:#fff;
  color:#b42318;
}

@media (max-width:980px){
  body.pfs-redesign .fy-opt-modal .roll-options{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:860px){
  body.pfs-redesign .modal-overlay:has(.fy-opt-modal){
    align-items:stretch;
    justify-content:stretch;
    padding:0;
  }

  body.pfs-redesign .modal-content:has(.fy-opt-modal){
    width:100vw !important;
    min-width:100vw !important;
    height:100vh !important;
    min-height:100vh !important;
    max-height:100vh !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
  }

  body.pfs-redesign .fy-opt-modal{
    min-height:100vh;
    max-height:100vh;
  }

  body.pfs-redesign .fy-opt-modal .fy-modal-header{
    min-height:58px;
    padding:10px 12px 10px 16px;
  }

  body.pfs-redesign .fy-opt-modal .fy-modal-title{
    font-size:18px;
  }

  body.pfs-redesign .fy-opt-modal .fy-cutplan-usage{
    font-size:11.5px;
  }

  body.pfs-redesign .fy-opt-modal .modal-body{
    padding:10px 10px 88px;
  }

  body.pfs-redesign .fy-opt-modal .fy-tabbar{
    grid-template-columns:repeat(3, max-content);
    overflow-x:auto;
    padding:4px;
  }

  body.pfs-redesign .fy-opt-modal .fy-tab-btn{
    min-width:112px;
  }

  body.pfs-redesign .fy-opt-modal .roll-options{
    grid-template-columns:1fr;
  }

  body.pfs-redesign .fy-opt-modal .fy-rollcard{
    padding:14px;
  }

body.pfs-redesign .fy-opt-modal .fy-opt-section{
    min-height:360px;
  }
}

/* App-shell large workspaces: Film Catalog, Film Handler, Pricing Defaults, and Account */
body.pfs-redesign .pfs-workspace-film .pfs-workspace-dialog,
body.pfs-redesign .pfs-workspace-film-handler .pfs-workspace-dialog,
body.pfs-redesign .pfs-workspace-pricing .pfs-workspace-dialog,
body.pfs-redesign .pfs-workspace-account .pfs-workspace-dialog{
  width:min(1360px, calc(100vw - 48px));
}

body.pfs-redesign .pfs-workspace-film .pfs-workspace-body,
body.pfs-redesign .pfs-workspace-film-handler .pfs-workspace-body,
body.pfs-redesign .pfs-workspace-pricing .pfs-workspace-body,
body.pfs-redesign .pfs-workspace-account .pfs-workspace-body{
  padding:14px;
  background:
    linear-gradient(180deg, rgba(248,250,252,.98), rgba(242,246,251,.96));
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings{
  display:grid;
  gap:12px;
  color:var(--pfs-shell-ink);
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-tabpanels,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-tab-panel,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-panel{
  min-width:0;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-actions{
  position:sticky;
  top:0;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:50px;
  padding:8px;
  border:1px solid rgba(216,222,232,.88);
  border-radius:10px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 28px rgba(15,23,42,.07);
  backdrop-filter:blur(10px);
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-actions-right{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
  flex:1 1 auto;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-action-btn,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-btn{
  min-height:38px;
  border-radius:8px !important;
  font-weight:900;
  letter-spacing:0;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-action-btn{
  width:auto !important;
  min-width:88px;
  flex:0 0 auto;
  justify-content:center;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-import-input{
  display:none !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot #fySettingsSaveBtn,
body.pfs-redesign .pfs-workspace-film-handler #settingsRoot #fySettingsSaveBtn,
body.pfs-redesign .pfs-workspace-pricing #settingsRoot #fySettingsSaveBtn{
  display:none !important;
}

body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-settings-actions,
body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-settings-actions{
  display:none !important;
}

body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-input-suffix input{
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
}

body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-enable-toggle > input{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  min-height:1px !important;
  margin:0 !important;
  opacity:0 !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-action-btn,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-btn-secondary,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-btn-ghost,
body.pfs-redesign .pfs-workspace-page #settingsRoot #fyResetEstimateBtn,
body.pfs-redesign .pfs-workspace-page #settingsRoot #fyAddTaxRateBtn,
body.pfs-redesign .pfs-workspace-page #settingsRoot #fyAddPresetBtn,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-panel #fyAddMfrBtn{
  border:1px solid #d8dee8 !important;
  background:#fff !important;
  color:#172033 !important;
  box-shadow:0 1px 0 rgba(255,255,255,.86) inset, 0 8px 18px rgba(15,23,42,.04) !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-action-btn:hover,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-btn-secondary:hover,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-btn-ghost:hover,
body.pfs-redesign .pfs-workspace-page #settingsRoot #fyResetEstimateBtn:hover,
body.pfs-redesign .pfs-workspace-page #settingsRoot #fyAddTaxRateBtn:hover,
body.pfs-redesign .pfs-workspace-page #settingsRoot #fyAddPresetBtn:hover,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-panel #fyAddMfrBtn:hover{
  border-color:rgba(11,94,234,.26) !important;
  background:#f8fbff !important;
  color:#084ec2 !important;
  transform:translateY(-1px);
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-btn-primary,
body.pfs-redesign .pfs-workspace-page #settingsRoot #fySettingsSaveBtn,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-panel #fyAddFilmBtn{
  border:1px solid rgba(7,66,168,.72) !important;
  background:linear-gradient(180deg, var(--pfs-shell-blue), var(--pfs-shell-blue-dark)) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(11,94,234,.22) !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-btn-primary:hover,
body.pfs-redesign .pfs-workspace-page #settingsRoot #fySettingsSaveBtn:hover,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-panel #fyAddFilmBtn:hover{
  background:linear-gradient(180deg, #176cf4, #0754d8) !important;
  color:#fff !important;
  box-shadow:0 16px 30px rgba(11,94,234,.28) !important;
  transform:translateY(-1px);
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-unsaved-badge{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border:1px solid rgba(245,158,11,.24);
  border-radius:999px;
  background:#fff7ed;
  color:#9a4b15;
  font-size:12px;
  font-weight:900;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot :is(input, select, textarea, .fy-wysiwyg){
  min-height:40px;
  border:1px solid #d8dee8 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#172033 !important;
  box-shadow:none !important;
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot :is(input, select, textarea, .fy-wysiwyg):focus,
body.pfs-redesign .pfs-workspace-page #settingsRoot :is(input, select, textarea, .fy-wysiwyg):focus-visible{
  border-color:rgba(11,94,234,.52) !important;
  box-shadow:0 0 0 3px rgba(11,94,234,.14) !important;
  outline:none !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-field label,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-warranty-label{
  color:#526173 !important;
  font-size:11px;
  font-weight:900;
  letter-spacing:.01em;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-help,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-muted{
  color:#667085 !important;
  font-size:12px;
  line-height:1.45;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-panel-card,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-panel-card{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-stack,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  min-width:0;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-dashboard,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-dashboard{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-metric,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-metric{
  position:relative;
  min-width:0;
  min-height:98px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:8px;
  padding:14px 14px 13px 16px;
  overflow:hidden;
  border:1px solid rgba(216,222,232,.92) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.055) !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-metric::before,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-metric::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--metric-accent, var(--pfs-shell-blue));
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-metric:nth-child(2),
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-metric:nth-child(2){
  --metric-accent:#14783e;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-metric:nth-child(3),
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-metric:nth-child(3){
  --metric-accent:#d97706;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-metric:nth-child(4),
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-metric:nth-child(4){
  --metric-accent:#475467;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-metric-label,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-metric-label{
  color:#667085 !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-metric strong,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-metric strong{
  min-width:0;
  overflow:hidden;
  color:#111827 !important;
  font-size:23px !important;
  font-weight:950 !important;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-metric-note,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-metric-note{
  color:#667085 !important;
  font-size:12px !important;
  font-weight:750;
  line-height:1.25;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-workspace,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-workspace{
  display:grid;
  grid-template-columns:minmax(300px, 360px) minmax(0, 1fr);
  gap:12px;
  align-items:start;
  min-width:0;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-rail,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-rail{
  position:sticky;
  top:64px;
  display:grid;
  gap:10px;
  min-width:0;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-filter-card,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-film-list,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-list,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-empty,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor{
  border:1px solid rgba(216,222,232,.92) !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 12px 28px rgba(15,23,42,.055) !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-filter-card{
  padding:12px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-filter-grid{
  display:grid;
  gap:10px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-filter-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:12px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-film-list,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-list{
  max-height:calc(100vh - 330px);
  min-height:430px;
  overflow:auto;
  padding:10px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-group + .fy-film-group{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #edf1f6;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-group-title,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-title{
  margin:0 0 8px;
  padding:0 2px;
  color:#667085 !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-group-list{
  display:grid;
  gap:8px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-item,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-item{
  position:relative;
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  overflow:hidden;
  border:1px solid #e3e8ef !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#172033 !important;
  box-shadow:none !important;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-item{
  cursor:pointer;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-item:hover,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-item:hover{
  border-color:rgba(11,94,234,.22) !important;
  background:#f8fbff !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-item:focus-visible{
  outline:none;
  border-color:rgba(11,94,234,.48) !important;
  box-shadow:0 0 0 3px rgba(11,94,234,.14) !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-item.active,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-item.active{
  border-color:rgba(11,94,234,.42) !important;
  background:linear-gradient(90deg, rgba(11,94,234,.10), #fff 38%) !important;
  box-shadow:0 12px 24px rgba(11,94,234,.10) !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-item::before,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-item::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:transparent;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-item.active::before,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-item.active::before{
  background:var(--pfs-shell-blue);
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-item-name,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-name{
  color:#111827 !important;
  font-size:14px !important;
  font-weight:950 !important;
  line-height:1.18;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-item-meta,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-note{
  color:#667085 !important;
  font-size:12px !important;
  font-weight:750;
  line-height:1.35;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-item-actions .fy-btn,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-btn-remove-text,
body.pfs-redesign .pfs-workspace-page #settingsRoot #fyDeleteFilmBtn{
  min-height:30px;
  padding:6px 9px;
  border-color:rgba(180,35,24,.16) !important;
  background:#fff !important;
  color:#b42318 !important;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-chip,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-chip,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-status-chip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:24px;
  padding:5px 8px;
  overflow:hidden;
  border:1px solid #d8dee8 !important;
  border-radius:999px !important;
  background:#f8fafc !important;
  color:#475467 !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-chip-default,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-status-chip.good,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-chip-green{
  border-color:rgba(20,120,62,.18) !important;
  background:#ecfdf3 !important;
  color:#14783e !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-chip-warning{
  border-color:rgba(217,119,6,.22) !important;
  background:#fff7ed !important;
  color:#b45309 !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-status-chip.info,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-chip-gold{
  border-color:rgba(11,94,234,.18) !important;
  background:#eef5ff !important;
  color:#084ec2 !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-empty{
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  text-align:center;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor{
  min-height:100%;
  overflow:hidden;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-head,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-head{
  position:sticky;
  top:64px;
  z-index:3;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  border-bottom:1px solid #e3e8ef !important;
  background:rgba(255,255,255,.95) !important;
  backdrop-filter:blur(10px);
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-heading,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-heading{
  min-width:0;
  display:grid;
  gap:6px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-kicker,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-kicker{
  min-width:0;
  overflow:hidden;
  color:#084ec2 !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-title,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-title{
  color:#111827 !important;
  font-size:18px !important;
  font-weight:950 !important;
  line-height:1.15;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-summary,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-summary{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-actions,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot #fySetDefaultFilmBtn:disabled{
  border-color:rgba(20,120,62,.18) !important;
  background:#ecfdf3 !important;
  color:#14783e !important;
  opacity:1 !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-body,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-body{
  display:grid;
  grid-template-columns:minmax(260px, .88fr) minmax(300px, 1.12fr);
  gap:12px;
  padding:12px;
  align-items:start;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-cardlet,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-cardlet,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-tax-scope,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-inline-add,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-rate-tile{
  min-width:0;
  padding:14px;
  border:1px solid #e3e8ef !important;
  border-radius:8px !important;
  background:#f8fafc !important;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-cardlet-wide,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-cardlet-wide{
  grid-column:1 / -1;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-section-title{
  margin-bottom:8px;
  color:#172033 !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-meta-stack,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-warranty-tiles,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-rate-tiles{
  display:grid;
  gap:10px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-warranty-inline,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-warranty-tile{
  border-color:#e3e8ef !important;
  border-radius:8px !important;
  background:#fff !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-check input,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-tax-check input{
  accent-color:var(--pfs-shell-blue);
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-card{
  overflow:auto;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-grid{
  display:grid;
  gap:7px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-grid-header,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-row{
  display:grid;
  grid-template-columns:82px minmax(92px, 1fr) minmax(92px, 1fr) minmax(78px, .72fr) 68px;
  gap:8px;
  align-items:center;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-grid-header,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-tax-row-head,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-addon-preset-head{
  color:#667085 !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-row{
  min-height:48px;
  padding:6px;
  border:1px solid #e3e8ef;
  border-radius:8px;
  background:#fff;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-row.locked{
  background:#f8fafc;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-cell input{
  width:100%;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-row.locked input[data-field="rollWidth"]{
  background:#eef2f7 !important;
  color:#475467 !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-margin{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:8px 10px;
  border:1px solid rgba(20,120,62,.16);
  border-radius:8px;
  background:#ecfdf3;
  color:#14783e;
  font-size:12px;
  font-weight:950;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-quote-next-band{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 14px 12px 18px;
  border:1px solid rgba(11,94,234,.18) !important;
  border-radius:8px !important;
  background:linear-gradient(90deg, rgba(11,94,234,.08), #fff 44%, #f8fafc) !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-quote-next-band::before{
  background:var(--pfs-shell-blue) !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-quote-next-label{
  color:#667085 !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-quote-next-value{
  color:#111827 !important;
  font-size:20px !important;
  font-weight:950 !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-rate-tile{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(130px, 150px);
  gap:12px;
  align-items:end;
  background:#fff !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-rate-title{
  color:#172033 !important;
  font-size:13px;
  font-weight:950;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-tax-scope,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-inline-add{
  background:#fff !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-tax-scope-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-check-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-tax-check{
  min-height:40px;
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:8px 10px;
  border:1px solid #e3e8ef !important;
  border-radius:8px !important;
  background:#f8fafc !important;
  color:#172033 !important;
  font-size:12px !important;
  font-weight:900 !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-inline-add .fy-form-grid{
  align-items:end;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-row-head{
  margin-top:12px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-tax-row-head,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-tax-rate-row{
  display:grid;
  grid-template-columns:minmax(150px, 1fr) 78px 90px;
  gap:8px;
  align-items:center;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-addon-preset-head,
body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-addon-preset-row{
  display:grid;
  grid-template-columns:minmax(150px, 1fr) 88px 112px 90px;
  gap:8px;
  align-items:center;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-addons{
  display:grid;
  gap:8px;
  margin:8px 0 0;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-saved-row{
  min-height:46px;
  padding:8px;
  border:1px solid #e3e8ef !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-saved-cell{
  min-width:0;
  overflow:hidden;
  color:#172033 !important;
  font-size:13px !important;
  font-weight:850 !important;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-saved-value{
  color:#14783e !important;
  font-weight:950 !important;
  text-align:right;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-rich-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-locked-card{
  border-style:dashed !important;
  background:#f8fafc !important;
}

@media (max-width:1120px){
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-dashboard,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-dashboard{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-workspace,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-workspace{
    grid-template-columns:1fr;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-rail,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-rail,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-head,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-head{
    position:static;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-film-list,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-list{
    min-height:0;
    max-height:42vh;
  }
}

@media (max-width:860px){
  body.pfs-redesign .pfs-workspace-film .pfs-workspace-dialog,
  body.pfs-redesign .pfs-workspace-film-handler .pfs-workspace-dialog,
  body.pfs-redesign .pfs-workspace-pricing .pfs-workspace-dialog,
  body.pfs-redesign .pfs-workspace-account .pfs-workspace-dialog{
    width:100vw;
    max-height:100vh;
    border:0;
    border-radius:0;
  }

  body.pfs-redesign .pfs-workspace-film .pfs-workspace-body,
  body.pfs-redesign .pfs-workspace-film-handler .pfs-workspace-body,
  body.pfs-redesign .pfs-workspace-pricing .pfs-workspace-body,
  body.pfs-redesign .pfs-workspace-account .pfs-workspace-body{
    padding:10px;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-actions{
    top:0;
    align-items:flex-start;
    flex-direction:column;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-actions-right{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-actions-right-pricing{
    grid-template-columns:1fr;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-action-btn{
    width:100%;
    justify-content:center;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-dashboard,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-dashboard{
    display:flex;
    gap:10px;
    margin:0 -2px;
    padding:0 2px 4px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-metric,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-metric{
    flex:0 0 min(78vw, 230px);
    min-height:92px;
    scroll-snap-align:start;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-workspace,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-workspace{
    gap:10px;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-filter-actions{
    grid-template-columns:1fr 1fr;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-film-list,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-list{
    max-height:44vh;
    padding:8px;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-list{
    min-height:0;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-empty{
    min-height:220px;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-head,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-head{
    flex-direction:column;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-actions,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-actions{
    grid-template-columns:1fr;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-actions .fy-btn,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-actions .fy-btn{
    width:100%;
    justify-content:center;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-body,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-editor-body,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-rich-grid{
    grid-template-columns:1fr;
    padding:10px;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-cardlet-wide,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-cardlet-wide{
    grid-column:auto;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-check-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-rate-tile,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-quote-next-band{
    grid-template-columns:1fr;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-quote-next-value{
    white-space:normal;
    overflow-wrap:anywhere;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-card,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-table-card{
    overflow-x:auto;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-grid-header,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-row{
    min-width:390px;
    grid-template-columns:64px minmax(76px, 1fr) minmax(76px, 1fr) 66px 54px;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-tax-row-head,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-tax-rate-row{
    min-width:340px;
    grid-template-columns:minmax(130px, 1fr) 62px 82px;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-addon-preset-head,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-addon-preset-row{
    min-width:430px;
    grid-template-columns:minmax(130px, 1fr) 70px 94px 82px;
  }
}

@media (max-width:560px){
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-actions-right,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-films-filter-actions{
    grid-template-columns:1fr;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-settings-actions-right-catalog{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-item,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-nav-item{
    flex-direction:column;
    gap:10px;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-item-actions{
    width:100%;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-item-actions .fy-btn{
    width:100%;
    justify-content:center;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-editor-actions{
    grid-template-columns:1fr;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-check-grid{
    grid-template-columns:1fr;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-tax-scope-head,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-roll-card-head{
    flex-direction:column;
  }

  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-film-metric,
  body.pfs-redesign .pfs-workspace-page #settingsRoot .fy-pricing-metric{
    flex-basis:82vw;
  }
}

/* Field App Cards
   Main job cards are tuned for fast scan, large tap targets, and stable field use. */
body.pfs-redesign #appMainContent .input-section{
  display:grid !important;
  gap:12px !important;
  align-content:start;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card{
  --pfs-card-accent:var(--pfs-shell-blue);
  --pfs-card-accent-soft:rgba(11,94,234,.08);
  position:relative !important;
  overflow:hidden !important;
  padding:0 !important;
  border:1px solid #d7dfeb !important;
  border-radius:8px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.90) inset,
    0 10px 28px rgba(15,23,42,.06) !important;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card::before{
  display:block !important;
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  z-index:1;
  width:5px;
  background:var(--pfs-card-accent);
  opacity:.82;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb, var(--pfs-card-accent) 36%, #d7dfeb 64%) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 16px 36px rgba(15,23,42,.09) !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card[open]{
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 62px, #f8fafc 100%) !important;
  border-color:color-mix(in srgb, var(--pfs-card-accent) 42%, #d7dfeb 58%) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.94) inset,
    0 18px 44px rgba(15,23,42,.10) !important;
}

body.pfs-redesign #appMainContent .input-section #jobDetailsCard{
  --pfs-card-accent:#0b5eea;
  --pfs-card-accent-soft:rgba(11,94,234,.08);
}

body.pfs-redesign #appMainContent .input-section #windowsCard{
  --pfs-card-accent:#169a52;
  --pfs-card-accent-soft:rgba(22,154,82,.09);
}

body.pfs-redesign #appMainContent .input-section #summaryCard{
  --pfs-card-accent:#b7791f;
  --pfs-card-accent-soft:rgba(183,121,31,.10);
}

body.pfs-redesign #appMainContent .input-section #pfsHistoryCard{
  --pfs-card-accent:#64748b;
  --pfs-card-accent-soft:rgba(100,116,139,.10);
}

body.pfs-redesign #appMainContent .input-section #jobInfoCard{
  --pfs-card-accent:#7c3aed;
  --pfs-card-accent-soft:rgba(124,58,237,.08);
}

body.pfs-redesign #appMainContent .input-section #quoteCard{
  --pfs-card-accent:#d04437;
  --pfs-card-accent-soft:rgba(208,68,55,.08);
}

body.pfs-redesign #appMainContent .input-section #quoteSummaryCard{
  --pfs-card-accent:#0f766e;
  --pfs-card-accent-soft:rgba(15,118,110,.09);
}

body.pfs-redesign #appMainContent .input-section #jobOutputsCard{
  --pfs-card-accent:#475467;
  --pfs-card-accent-soft:rgba(71,84,103,.09);
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header{
  position:relative;
  z-index:2;
  min-height:62px;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:14px;
  margin:0 !important;
  padding:12px 14px 12px 20px !important;
  list-style:none;
  cursor:pointer;
  background:
    linear-gradient(90deg, var(--pfs-card-accent-soft), rgba(255,255,255,0) 36%),
    transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header::-webkit-details-marker{
  display:none;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header h3{
  min-width:0;
  margin:0 !important;
  color:#111827 !important;
  font-size:15px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header .header-right{
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  min-width:0;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card .meta-inline{
  max-width:190px;
  min-height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 8px;
  border:1px solid color-mix(in srgb, var(--pfs-card-accent) 20%, #dbe3ef 80%);
  border-radius:8px;
  background:#fff !important;
  color:#475467 !important;
  font-size:12px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  letter-spacing:0 !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card .collapse-indicator{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 30px;
  border:1px solid #dbe3ef;
  border-radius:8px;
  background:#f8fafc;
  color:#667085 !important;
  font-size:13px !important;
  line-height:1;
  transform:rotate(-90deg);
  transition:transform .16s ease, color .16s ease, background .16s ease, border-color .16s ease;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card[open] .collapse-indicator{
  transform:rotate(0deg);
  border-color:color-mix(in srgb, var(--pfs-card-accent) 25%, #dbe3ef 75%);
  background:var(--pfs-card-accent-soft);
  color:var(--pfs-card-accent) !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > .locked-content,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .job-details-body,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .groups-summary-container,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .pfs-window-settings-strip,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .pfs-rot-toggle,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .table-header,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .windows-list,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .windows-inline-notice,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .window-controls-bottom{
  position:relative;
  z-index:2;
  margin-left:16px !important;
  margin-right:16px !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > .locked-content,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .job-details-body{
  padding:12px 0 16px !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > .groups-summary-container{
  margin-bottom:16px !important;
}

body.pfs-redesign #appMainContent .customer-grid{
  gap:12px !important;
}

body.pfs-redesign #appMainContent .customer-section-title,
body.pfs-redesign #appMainContent .customer-billing-title,
body.pfs-redesign #appMainContent .fy-section-head h4,
body.pfs-redesign #appMainContent .fy-group-label{
  color:#344054 !important;
  font-size:12px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
  text-transform:uppercase;
}

body.pfs-redesign #appMainContent .job-field label,
body.pfs-redesign #appMainContent .fy-field label{
  color:#475467 !important;
  font-size:12px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  letter-spacing:0 !important;
}

body.pfs-redesign #appMainContent .job-field input,
body.pfs-redesign #appMainContent .fy-field input,
body.pfs-redesign #appMainContent .fy-field select,
body.pfs-redesign #appMainContent .fy-field textarea,
body.pfs-redesign #appMainContent .select-wrapper select{
  min-height:44px;
  border:1px solid #d6deea !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#111827 !important;
  box-shadow:0 1px 0 rgba(16,24,40,.02);
}

body.pfs-redesign #appMainContent .job-field input:focus,
body.pfs-redesign #appMainContent .fy-field input:focus,
body.pfs-redesign #appMainContent .fy-field select:focus,
body.pfs-redesign #appMainContent .fy-field textarea:focus,
body.pfs-redesign #appMainContent .select-wrapper select:focus{
  border-color:var(--pfs-card-accent) !important;
  box-shadow:0 0 0 4px color-mix(in srgb, var(--pfs-card-accent) 15%, transparent) !important;
}

body.pfs-redesign #appMainContent .fy-job-section,
body.pfs-redesign #appMainContent .fy-quote-sections > section,
body.pfs-redesign #appMainContent .fy-quote-summary-panel,
body.pfs-redesign #appMainContent .pfs-sunmap-cta,
body.pfs-redesign #appMainContent .customer-billing-fields{
  border:0 !important;
  border-left:4px solid color-mix(in srgb, var(--pfs-card-accent) 56%, #dbe3ef 44%) !important;
  border-radius:8px !important;
  background:
    linear-gradient(180deg, #fff, #f8fafc) !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent .fy-check-chip{
  min-height:38px;
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid #dbe3ef !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#344054 !important;
  font-size:12px !important;
  font-weight:850 !important;
}

body.pfs-redesign #appMainContent .fy-check-chip:has(input:checked){
  border-color:color-mix(in srgb, var(--pfs-card-accent) 42%, #dbe3ef 58%) !important;
  background:var(--pfs-card-accent-soft) !important;
  color:#111827 !important;
}

body.pfs-redesign #appMainContent .fy-segmented,
body.pfs-redesign #appMainContent .pfs-window-settings-strip{
  border:1px solid #dbe3ef !important;
  border-radius:8px !important;
  background:#f8fafc !important;
}

body.pfs-redesign #appMainContent .pfs-window-settings-strip{
  display:grid;
  gap:10px;
  padding:12px !important;
  margin-top:0 !important;
  margin-bottom:12px !important;
}

body.pfs-redesign #appMainContent .pfs-window-settings-strip .pfs-rot-toggle{
  margin:0 !important;
  border:1px solid #dbe3ef !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.pfs-redesign #windowsCard > .table-header{
  min-height:38px;
  margin-top:2px !important;
  border:1px solid #dbe3ef !important;
  border-bottom:0 !important;
  border-radius:8px 8px 0 0 !important;
  background:#eef3f9 !important;
  color:#475467 !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
  text-transform:uppercase;
}

body.pfs-redesign #windowsCard > .windows-list{
  border:1px solid #dbe3ef !important;
  border-radius:0 0 8px 8px !important;
  background:#fff !important;
}

body.pfs-redesign #windowsCard .window-row{
  min-height:54px;
  border-bottom:1px solid #eef2f7 !important;
  background:#fff !important;
}

body.pfs-redesign #windowsCard .window-row:hover{
  background:#f8fbff !important;
}

body.pfs-redesign #windowsCard .window-input,
body.pfs-redesign #windowsCard .window-quantity-input{
  min-height:38px !important;
  border-color:#d6deea !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#111827 !important;
}

body.pfs-redesign #windowsCard > .window-controls-bottom{
  margin-top:12px !important;
  margin-bottom:16px !important;
  padding:0 !important;
  border:0 !important;
}

body.pfs-redesign #summaryCard .summary-group,
body.pfs-redesign #quoteSummaryCard .fy-summary-item,
body.pfs-redesign #jobOutputsCard .job-output-row{
  border-radius:8px !important;
  border-color:#dbe3ef !important;
  background:#fff !important;
  box-shadow:0 8px 18px rgba(15,23,42,.045) !important;
}

@media (max-width:860px){
  body.pfs-redesign #appMainContent .input-section{
    gap:10px !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card{
    min-height:66px;
    box-shadow:0 8px 22px rgba(15,23,42,.065) !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header{
    min-height:66px;
    padding:12px 12px 12px 18px !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card .meta-inline{
    max-width:138px;
    font-size:11px !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-mobile-card-open{
    background:#f5f7fb !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-mobile-card-open::before{
    display:none !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-mobile-card-open > summary.job-details-header{
    min-height:60px;
    padding:0 12px 0 16px !important;
    background:
      linear-gradient(90deg, var(--pfs-card-accent-soft), #fff 48%),
      #fff !important;
    border-bottom:1px solid #dbe3ef !important;
  }

  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .locked-content,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .job-details-body,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .groups-summary-container,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .pfs-window-settings-strip,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .pfs-rot-toggle,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .table-header,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .windows-list,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .windows-inline-notice,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .window-controls-bottom{
    margin-left:12px !important;
    margin-right:12px !important;
  }

  body.pfs-redesign #appMainContent .fy-job-section,
  body.pfs-redesign #appMainContent .fy-quote-sections > section,
  body.pfs-redesign #appMainContent .fy-quote-summary-panel,
  body.pfs-redesign #appMainContent .pfs-sunmap-cta,
  body.pfs-redesign #appMainContent .customer-billing-fields{
    box-shadow:none !important;
  }

  body.pfs-redesign #windowsCard > .table-header{
    min-height:34px;
    font-size:10px !important;
  }

  body.pfs-redesign #windowsCard .window-row{
    min-height:58px;
  }

  body.pfs-redesign #windowsCard > .window-controls-bottom{
    display:grid !important;
    grid-template-columns:1fr;
  }
}

/* Clean App Cards V2
   Softer tile system inspired by modern mobile app panels, without colored side rails. */
body.pfs-redesign #appMainContent .input-section{
  gap:14px !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card{
  --pfs-card-accent:var(--pfs-shell-blue);
  --pfs-card-accent-soft:rgba(11,94,234,.08);
  overflow:hidden !important;
  border:1px solid rgba(210,218,230,.92) !important;
  border-radius:8px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.94)) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.92) inset,
    0 12px 30px rgba(16,24,40,.065) !important;
  backdrop-filter:saturate(120%) blur(10px);
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card::before{
  display:none !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card:hover{
  transform:translateY(-1px);
  border-color:#c7d2e1 !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,
    0 18px 42px rgba(16,24,40,.095) !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card[open]{
  border-color:#bfcbda !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 60px, #f6f9fd 100%) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.98) inset,
    0 22px 46px rgba(16,24,40,.10) !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header{
  min-height:64px;
  padding:12px 14px 12px 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,253,.74)) !important;
  border-bottom:1px solid transparent !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card[open] > summary.job-details-header{
  border-bottom-color:#e4eaf3 !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header h3{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:15px !important;
  font-weight:900 !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header h3::before{
  content:"";
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:1px solid #dfe6f0;
  border-radius:8px;
  background:
    linear-gradient(180deg, #ffffff, #edf3fb);
  box-shadow:0 5px 12px rgba(16,24,40,.055);
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card .meta-inline{
  min-height:28px;
  border-color:#dfe6f0 !important;
  background:rgba(255,255,255,.82) !important;
  color:#5d697b !important;
  box-shadow:0 1px 0 rgba(255,255,255,.82) inset;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card .collapse-indicator{
  width:32px;
  height:32px;
  flex-basis:32px;
  border-color:#dfe6f0 !important;
  background:#fff !important;
  color:#667085 !important;
  box-shadow:0 5px 12px rgba(16,24,40,.045);
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card[open] .collapse-indicator{
  border-color:#ccd7e6 !important;
  background:#eef4fb !important;
  color:#344054 !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > .locked-content,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .job-details-body{
  padding:16px 0 18px !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > .locked-content,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .job-details-body,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .groups-summary-container,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .pfs-window-settings-strip,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .pfs-rot-toggle,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .table-header,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .windows-list,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .windows-inline-notice,
body.pfs-redesign #appMainContent .input-section details.collapsible-card > .window-controls-bottom{
  z-index:1;
  margin-left:18px !important;
  margin-right:18px !important;
}

body.pfs-redesign #appMainContent .customer-grid{
  gap:14px !important;
}

body.pfs-redesign #appMainContent .job-field input,
body.pfs-redesign #appMainContent .fy-field input,
body.pfs-redesign #appMainContent .fy-field select,
body.pfs-redesign #appMainContent .fy-field textarea,
body.pfs-redesign #appMainContent .select-wrapper select{
  min-height:46px;
  border-color:#d7dfeb !important;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(16,24,40,.025);
}

body.pfs-redesign #appMainContent .job-field input:focus,
body.pfs-redesign #appMainContent .fy-field input:focus,
body.pfs-redesign #appMainContent .fy-field select:focus,
body.pfs-redesign #appMainContent .fy-field textarea:focus,
body.pfs-redesign #appMainContent .select-wrapper select:focus{
  border-color:#8ab4f8 !important;
  box-shadow:0 0 0 4px rgba(11,94,234,.13) !important;
}

body.pfs-redesign #appMainContent .fy-job-section,
body.pfs-redesign #appMainContent .fy-quote-sections > section,
body.pfs-redesign #appMainContent .fy-quote-summary-panel,
body.pfs-redesign #appMainContent .pfs-sunmap-cta,
body.pfs-redesign #appMainContent .customer-billing-fields{
  border:1px solid #e0e7f0 !important;
  border-left:1px solid #e0e7f0 !important;
  border-radius:8px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.92)) !important;
  box-shadow:0 8px 20px rgba(16,24,40,.045) !important;
}

body.pfs-redesign #appMainContent .fy-check-grid{
  gap:10px !important;
}

body.pfs-redesign #appMainContent .fy-check-chip{
  min-height:42px;
  padding:10px 12px !important;
  gap:9px;
  border-color:#dfe6f0 !important;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(16,24,40,.02);
}

body.pfs-redesign #appMainContent .fy-check-chip input{
  width:18px;
  min-width:18px;
  height:18px;
  margin:0;
  accent-color:var(--pfs-shell-blue);
}

body.pfs-redesign #appMainContent .fy-check-chip:has(input:checked){
  border-color:#9fc1f7 !important;
  background:#f0f6ff !important;
  box-shadow:0 0 0 1px rgba(11,94,234,.08) inset;
}

body.pfs-redesign #appMainContent .pfs-sunmap-cta{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:14px;
  padding:14px !important;
  background:
    linear-gradient(135deg, rgba(239,250,255,.96), rgba(255,255,255,.96) 54%, rgba(245,248,255,.96)) !important;
}

body.pfs-redesign #appMainContent .pfs-sunmap-cta #pfsCustomerSunMapBtn,
body.pfs-redesign #appMainContent #fySunPreviewOpen{
  min-height:40px;
  padding:0 14px !important;
  border:1px solid #cfd9e8 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#1d2939 !important;
  box-shadow:0 6px 14px rgba(16,24,40,.06) !important;
  font-size:13px !important;
  font-weight:900 !important;
}

body.pfs-redesign #appMainContent .pfs-sunmap-cta #pfsCustomerSunMapBtn:hover,
body.pfs-redesign #appMainContent #fySunPreviewOpen:hover{
  border-color:#9fc1f7 !important;
  background:#f7fbff !important;
  color:var(--pfs-shell-blue-dark) !important;
  box-shadow:0 10px 20px rgba(16,24,40,.08) !important;
}

body.pfs-redesign #appMainContent .pfs-window-settings-strip{
  border-color:#e0e7f0 !important;
  background:
    linear-gradient(180deg, rgba(248,251,255,.98), rgba(255,255,255,.96)) !important;
}

body.pfs-redesign #appMainContent .pfs-window-settings-strip .pfs-rot-toggle{
  border-color:#dfe6f0 !important;
  background:#fff !important;
  padding:12px !important;
}

body.pfs-redesign #windowsCard > .table-header{
  border-color:#dfe6f0 !important;
  background:#f1f5f9 !important;
}

body.pfs-redesign #windowsCard > .windows-list{
  border-color:#dfe6f0 !important;
}

body.pfs-redesign #windowsCard .window-row{
  min-height:56px;
}

body.pfs-redesign #windowsCard .window-input,
body.pfs-redesign #windowsCard .window-quantity-input{
  min-height:40px !important;
}

@media (min-width:861px){
  body.pfs-redesign #appMainContent{
    align-items:start;
  }

  body.pfs-redesign #appMainContent .input-section{
    position:sticky;
    top:24px;
    align-self:start;
    max-height:calc(100vh - 48px - var(--pfs-appshell-banner-offset, 0px));
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding:0 6px 8px 0 !important;
  }

  body.pfs-redesign #appMainContent .input-section::-webkit-scrollbar{
    width:10px;
  }

  body.pfs-redesign #appMainContent .input-section::-webkit-scrollbar-track{
    background:transparent;
  }

  body.pfs-redesign #appMainContent .input-section::-webkit-scrollbar-thumb{
    border:3px solid transparent;
    border-radius:999px;
    background:#cbd5e1;
    background-clip:content-box;
  }
}

@media (max-width:860px){
  body.pfs-redesign #appMainContent .input-section details.collapsible-card{
    border-color:#d9e2ee !important;
    background:#fff !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header{
    background:linear-gradient(180deg, #fff, #f7faff) !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header h3::before{
    width:30px;
    height:30px;
    flex-basis:30px;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-mobile-card-open{
    padding-bottom:118px !important;
    overflow:auto !important;
    background:#f5f7fb !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-mobile-card-open > summary.job-details-header{
    z-index:40 !important;
    min-height:62px;
    background:#fff !important;
    box-shadow:0 10px 24px rgba(16,24,40,.12) !important;
  }

  details.collapsible-card.pfs-mobile-card-open .pfs-mobile-sheet-close{
    position:relative;
    z-index:41;
    min-width:72px;
    min-height:40px;
    border:1px solid #d1dbe8 !important;
    border-radius:8px !important;
    background:#fff !important;
    color:#111827 !important;
    box-shadow:0 6px 16px rgba(16,24,40,.08);
  }

  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .locked-content,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .job-details-body,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .groups-summary-container,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .pfs-window-settings-strip,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .pfs-rot-toggle,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .table-header,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .windows-list,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .windows-inline-notice,
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .window-controls-bottom{
    z-index:1 !important;
    margin-left:14px !important;
    margin-right:14px !important;
  }

  body.pfs-redesign #appMainContent .pfs-sunmap-cta{
    grid-template-columns:1fr;
  }

  body.pfs-redesign #appMainContent .pfs-sunmap-cta #pfsCustomerSunMapBtn{
    width:100%;
  }
}

/* =======================================================================
   PFS Studio Shell - 2026-07-16
   A restrained native-app layer over the production workflow.
   ======================================================================= */

:root{
  --pfs-studio-rail:#171918;
  --pfs-studio-rail-deep:#101211;
  --pfs-studio-gold:#c79a3b;
  --pfs-studio-gold-soft:#f4e6bf;
  --pfs-studio-blue:#0b58d0;
  --pfs-studio-blue-hover:#0849ad;
  --pfs-studio-canvas:#f4f3ef;
  --pfs-studio-paper:#ffffff;
  --pfs-studio-ink:#171918;
  --pfs-studio-muted:#67707c;
  --pfs-studio-line:#dedfdc;
  --pfs-studio-line-strong:#cfd2d0;
  --pfs-studio-shadow:0 18px 48px rgba(24,28,27,.10);
  --pfs-studio-shadow-strong:0 30px 90px rgba(17,20,19,.24);
}

body.pfs-redesign{
  background:
    radial-gradient(circle at 82% 5%, rgba(255,255,255,.9), transparent 34%),
    var(--pfs-studio-canvas);
  color:var(--pfs-studio-ink);
}

body.pfs-redesign :is(button, input, select, textarea, summary, a):focus-visible{
  outline:3px solid rgba(11,88,208,.24) !important;
  outline-offset:2px;
}

.pfs-side-nav{
  background:
    radial-gradient(circle at 18% 0%, rgba(199,154,59,.12), transparent 30%),
    linear-gradient(180deg, var(--pfs-studio-rail), var(--pfs-studio-rail-deep));
  box-shadow:14px 0 44px rgba(17,20,19,.14);
}

.pfs-side-brand{
  min-height:72px;
  border-color:rgba(255,255,255,.07);
}

.pfs-side-brand img{
  opacity:.94;
}

.pfs-side-brand .pfs-side-brand-mark{
  flex:0 0 34px;
  width:34px !important;
  height:34px;
  object-fit:contain;
}

.pfs-side-brand-copy{
  display:flex;
  flex-direction:column;
  color:#fff;
  font-size:16px;
  font-weight:900;
  letter-spacing:.025em;
  line-height:.92;
  text-transform:uppercase;
  white-space:nowrap;
}

.pfs-side-brand-copy small{
  margin-top:5px;
  color:#d6d8d5;
  font-size:9.5px;
  font-weight:750;
  letter-spacing:.2em;
}

body.pfs-sidebar-collapsed .pfs-side-brand .pfs-side-brand-mark{
  width:36px !important;
  height:36px;
  content:none;
}

body.pfs-sidebar-collapsed .pfs-side-brand-copy{
  display:none;
}

.pfs-side-btn{
  height:44px;
  border-radius:8px;
  color:#d5d8d5;
  font-size:13.5px;
  letter-spacing:-.01em;
}

.pfs-side-btn:hover,
.pfs-side-btn:focus-visible{
  background:rgba(255,255,255,.075);
  color:#fff;
  transform:none;
}

.pfs-side-btn.is-active{
  background:linear-gradient(90deg, rgba(199,154,59,.22), rgba(199,154,59,.09));
  color:#f2c968;
  box-shadow:inset 3px 0 0 var(--pfs-studio-gold);
}

.pfs-side-divider{
  background:rgba(255,255,255,.09);
}

.pfs-commandbar{
  position:fixed;
  top:0;
  left:var(--pfs-shell-sidebar);
  right:0;
  z-index:2050;
  height:72px;
  display:grid;
  grid-template-columns:minmax(180px, auto) minmax(240px, 1fr) auto auto;
  align-items:center;
  gap:22px;
  padding:0 22px 0 26px;
  border-bottom:1px solid rgba(207,210,208,.92);
  background:rgba(255,255,255,.93);
  box-shadow:0 8px 30px rgba(24,28,27,.055);
  backdrop-filter:blur(18px) saturate(150%);
  transition:left .2s ease;
}

body.pfs-redesign .pfs-commandbar{
  top:var(--pfs-appshell-banner-offset, 48px);
}

body.pfs-sidebar-collapsed .pfs-commandbar{
  left:var(--pfs-shell-sidebar-collapsed);
}

.pfs-command-context{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.pfs-command-kicker{
  color:#8a7140;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}

.pfs-command-title{
  overflow:hidden;
  color:var(--pfs-studio-ink);
  font-size:18px;
  font-weight:850;
  letter-spacing:-.03em;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-command-status{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:0 11px;
  border:1px solid #e0e4df;
  border-radius:999px;
  background:#f8faf7;
  color:#59645d;
  font-size:12px;
  font-weight:750;
}

.pfs-command-status-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#2ca66f;
  box-shadow:0 0 0 4px rgba(44,166,111,.11);
}

.pfs-command-actions{
  display:flex;
  align-items:center;
  gap:9px;
}

.pfs-command-actions button{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 15px;
  border-radius:8px;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}

.pfs-command-actions svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pfs-command-secondary{
  border:1px solid var(--pfs-studio-line-strong);
  background:#fff;
  color:#303734;
}

.pfs-command-secondary:hover{
  background:#f5f6f4;
  border-color:#b9beb9;
}

.pfs-command-primary{
  border:1px solid #0849ad;
  background:var(--pfs-studio-blue);
  color:#fff;
  box-shadow:0 8px 18px rgba(11,88,208,.19);
}

.pfs-command-primary:hover{
  background:var(--pfs-studio-blue-hover);
}

body.pfs-redesign .pfs-card-workspace-close{
  display:none;
}

@media (min-width:861px){
  body.pfs-redesign > .container{
    padding-top:94px;
    padding-right:22px;
    padding-left:calc(var(--pfs-shell-sidebar) + 22px);
  }

  body.pfs-redesign.pfs-sidebar-collapsed > .container{
    padding-left:calc(var(--pfs-shell-sidebar-collapsed) + 22px);
  }

  body.pfs-redesign #appMainContent{
    grid-template-columns:minmax(390px, .82fr) minmax(520px, 1.18fr);
    gap:18px;
    max-width:1660px;
    margin-bottom:18px;
  }

  body.pfs-redesign .card.input-section{
    gap:10px;
  }

  body.pfs-redesign #appMainContent .input-section > .main-actions-left{
    display:none !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card{
    border:1px solid var(--pfs-studio-line) !important;
    border-radius:9px !important;
    background:#fff !important;
    box-shadow:0 5px 15px rgba(24,28,27,.045) !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card::before{
    width:3px;
    opacity:.72;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card:hover{
    border-color:#c7cbc7 !important;
    box-shadow:0 10px 24px rgba(24,28,27,.07) !important;
    transform:translateY(-1px);
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header{
    min-height:62px;
    padding:0 14px 0 18px !important;
    background:#fff !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header h3{
    color:#1b1f1d !important;
    font-size:15px !important;
    letter-spacing:-.02em;
  }

  body.pfs-redesign .results-section{
    min-height:calc(100vh - 118px);
    border:1px solid var(--pfs-studio-line) !important;
    border-radius:10px !important;
    background:#fff !important;
    box-shadow:0 10px 30px rgba(24,28,27,.065) !important;
  }

  body.pfs-card-workspace-active{
    overflow:hidden;
  }

  body.pfs-card-workspace-active #appMainContent,
  body.pfs-card-workspace-active #appMainContent .card.input-section{
    position:static !important;
    overflow:visible !important;
    transform:none !important;
    animation:none !important;
  }

  body.pfs-card-workspace-active #appMainContent .card.input-section{
    z-index:2500;
  }

  body.pfs-card-workspace-active::after{
    content:"";
    position:fixed;
    inset:0 0 0 var(--pfs-shell-sidebar);
    z-index:2490;
    background:rgba(22,25,24,.46);
    backdrop-filter:blur(6px);
    transition:left .2s ease;
  }

  body.pfs-sidebar-collapsed.pfs-card-workspace-active::after{
    left:var(--pfs-shell-sidebar-collapsed);
  }

body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-card-workspace-open{
    position:fixed !important;
    top:14px;
    right:14px;
    bottom:14px;
    left:calc(var(--pfs-shell-sidebar) + 14px);
    z-index:2510 !important;
    width:auto !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 0 26px !important;
    overflow:auto !important;
    overscroll-behavior:contain;
    border:1px solid rgba(216,219,216,.96) !important;
    border-radius:14px !important;
    background:#f4f5f2 !important;
    box-shadow:var(--pfs-studio-shadow-strong) !important;
    transform:none !important;
    transition:left .2s ease !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-card-workspace-open{
    top:calc(var(--pfs-appshell-banner-offset, 48px) + 14px);
  }

  body.pfs-sidebar-collapsed #appMainContent .input-section details.collapsible-card.pfs-card-workspace-open{
    left:calc(var(--pfs-shell-sidebar-collapsed) + 14px);
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-card-workspace-open::before{
    display:none;
  }

  body.pfs-redesign #appMainContent .input-section details.pfs-card-workspace-open > summary.job-details-header{
    position:sticky;
    top:0;
    z-index:12;
    min-height:70px;
    margin:0 0 22px !important;
    padding:0 18px 0 24px !important;
    border-bottom:1px solid var(--pfs-studio-line) !important;
    border-radius:14px 14px 0 0 !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:0 8px 24px rgba(24,28,27,.065) !important;
    backdrop-filter:blur(16px);
    cursor:default !important;
  }

  body.pfs-redesign #appMainContent .input-section details.pfs-card-workspace-open > summary.job-details-header h3{
    font-size:20px !important;
    font-weight:900 !important;
  }

  body.pfs-redesign details.pfs-card-workspace-open .collapse-indicator{
    display:none !important;
  }

  body.pfs-redesign details.pfs-card-workspace-open .pfs-card-workspace-close{
    min-height:40px;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-left:6px;
    padding:0 13px;
    border:1px solid var(--pfs-studio-line-strong) !important;
    border-radius:8px !important;
    background:#fff !important;
    color:#262c29 !important;
    font-size:13px;
    font-weight:850;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(24,28,27,.05);
  }

  body.pfs-redesign details.pfs-card-workspace-open .pfs-card-workspace-close:hover{
    border-color:#acb2ad !important;
    background:#f5f6f4 !important;
  }

  body.pfs-redesign details.pfs-card-workspace-open .pfs-card-workspace-close svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
  }

  body.pfs-redesign #appMainContent .input-section details.pfs-card-workspace-open > :not(summary){
    position:relative;
    z-index:1;
    width:calc(100% - 44px) !important;
    max-width:1440px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.pfs-redesign #appMainContent .input-section details.pfs-card-workspace-open > :is(.locked-content, .job-details-body, .groups-summary-container, .pfs-window-settings-strip, .pfs-rot-toggle, .table-header, .windows-list, .windows-inline-notice, .window-controls-bottom){
    border-radius:10px;
  }

  body.pfs-redesign #appMainContent .input-section details.pfs-card-workspace-open .job-details-grid,
  body.pfs-redesign #appMainContent .input-section details.pfs-card-workspace-open .fy-job-details-grid{
    max-width:none !important;
  }

  .pfs-workspace-overlay{
    inset:0 0 0 var(--pfs-shell-sidebar);
    align-items:stretch;
    justify-content:stretch;
    padding:14px;
    background:rgba(22,25,24,.46);
    transition:left .2s ease;
  }

  body.pfs-sidebar-collapsed .pfs-workspace-overlay{
    left:var(--pfs-shell-sidebar-collapsed);
  }

  .pfs-workspace-dialog,
  body.pfs-redesign .pfs-workspace-film .pfs-workspace-dialog,
  body.pfs-redesign .pfs-workspace-film-handler .pfs-workspace-dialog,
  body.pfs-redesign .pfs-workspace-pricing .pfs-workspace-dialog,
  body.pfs-redesign .pfs-workspace-account .pfs-workspace-dialog{
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    border-radius:14px;
    box-shadow:var(--pfs-studio-shadow-strong);
  }

  .pfs-workspace-head{
    min-height:68px;
    padding:13px 16px 13px 22px;
  }

  .pfs-workspace-title{
    font-size:20px;
    letter-spacing:-.025em;
  }

  .pfs-workspace-body,
  body.pfs-redesign .pfs-workspace-film .pfs-workspace-body,
  body.pfs-redesign .pfs-workspace-film-handler .pfs-workspace-body,
  body.pfs-redesign .pfs-workspace-pricing .pfs-workspace-body,
  body.pfs-redesign .pfs-workspace-account .pfs-workspace-body{
    padding:18px;
    background:#f4f5f2;
  }
}

.pfs-workspace-close,
.pfs-workspace-save{
  min-height:40px;
  border-radius:8px;
}

.pfs-workspace-save{
  border-color:#0849ad;
  background:var(--pfs-studio-blue);
  box-shadow:0 8px 18px rgba(11,88,208,.16);
}

.pfs-workspace-close{
  border-color:var(--pfs-studio-line-strong);
  background:#fff;
}

.pfs-support-page{
  min-height:100%;
  color:var(--pfs-studio-ink);
}

.pfs-support-hero{
  padding:clamp(28px, 4vw, 54px);
  border:1px solid #ded8c9;
  border-radius:12px;
  background:
    radial-gradient(circle at 86% 24%, rgba(199,154,59,.17), transparent 28%),
    linear-gradient(135deg, #fff, #faf7ef);
}

.pfs-support-kicker{
  color:#8a6c2c;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.pfs-support-hero h2{
  margin:8px 0 10px;
  color:#171918;
  font-size:clamp(28px, 4vw, 48px);
  letter-spacing:-.045em;
}

.pfs-support-hero p{
  max-width:720px;
  margin:0;
  color:#5f6862;
  font-size:15px;
  line-height:1.65;
}

.pfs-support-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:14px;
}

.pfs-support-card{
  min-height:190px;
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:22px;
  border:1px solid var(--pfs-studio-line);
  border-radius:11px;
  background:#fff;
  box-shadow:0 7px 20px rgba(24,28,27,.045);
}

.pfs-support-card > svg{
  flex:0 0 38px;
  width:38px;
  height:38px;
  padding:9px;
  border-radius:9px;
  background:#f5ead0;
  fill:none;
  stroke:#9a742b;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pfs-support-card h3{
  margin:2px 0 7px;
  font-size:16px;
}

.pfs-support-card p{
  margin:0 0 17px;
  color:#68716b;
  font-size:13px;
  line-height:1.55;
}

.pfs-support-card :is(a, button){
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 13px;
  border:1px solid var(--pfs-studio-line-strong);
  border-radius:8px;
  background:#fff;
  color:#2c3530;
  font-size:12px;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
}

.pfs-support-card :is(a, button):hover{
  border-color:#aeb4af;
  background:#f6f7f5;
}

/* Jobs workspace */
.pfs-workspace-jobs .jobmgr,
.pfs-workspace-jobs .jobmgr-page,
.pfs-workspace-jobs #jobMgrBody{
  width:100% !important;
  max-width:none !important;
  color:var(--pfs-studio-ink) !important;
}

.pfs-workspace-jobs .jobmgr-page{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.pfs-workspace-jobs .jobmgr-top{
  gap:12px;
  margin:0 0 14px;
  padding:16px;
  border:1px solid var(--pfs-studio-line);
  border-radius:10px;
  background:#fff;
}

.pfs-workspace-jobs .jobmgr-title{
  align-items:center;
}

.pfs-workspace-jobs .jobmgr-title-text{
  color:var(--pfs-studio-ink) !important;
  font-size:18px;
  letter-spacing:-.025em;
}

.pfs-workspace-jobs .jobmgr-tabs,
.pfs-workspace-jobs .jobmgr-viewtoggle{
  gap:5px;
  padding:4px;
  border:1px solid #dfe2df;
  border-radius:9px;
  background:#f3f4f2;
}

body.pfs-redesign .pfs-workspace-jobs :is(.jobmgr-tab, .jobmgr-viewbtn){
  min-height:34px;
  padding:0 11px;
  border:0 !important;
  border-radius:6px !important;
  background:transparent !important;
  color:#68716b !important;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-workspace-jobs :is(.jobmgr-tab, .jobmgr-viewbtn).active{
  background:#fff !important;
  color:#1e2421 !important;
  box-shadow:0 2px 8px rgba(24,28,27,.08) !important;
}

.pfs-workspace-jobs .jobmgr-controls{
  display:grid;
  grid-template-columns:minmax(260px, 1fr) auto;
  gap:10px;
}

.pfs-workspace-jobs :is(.jobmgr-search, .jobmgr-sort){
  min-height:42px;
  border:1px solid #d9ddda !important;
  background:#fff !important;
  color:#252b28 !important;
}

.pfs-workspace-jobs .job-board{
  grid-template-columns:repeat(4, minmax(190px, 1fr));
  gap:12px;
  min-width:0;
}

.pfs-workspace-jobs .job-col{
  min-width:0;
  min-height:360px;
  border:1px solid var(--pfs-studio-line) !important;
  border-radius:11px;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(24,28,27,.045);
}

.pfs-workspace-jobs .job-col-head{
  min-height:52px;
  padding:10px 12px;
  border-bottom:1px solid #e1e3e0 !important;
  background:#f6f7f5 !important;
  color:#252b28 !important;
}

.pfs-workspace-jobs .job-col-title{
  color:#2b322e !important;
  font-size:13px;
}

.pfs-workspace-jobs .job-col-count{
  min-width:25px;
  height:25px;
  border-color:#d6dad6 !important;
  background:#fff;
  color:#667069 !important;
}

.pfs-workspace-jobs .job-col-list{
  padding:10px;
}

.pfs-workspace-jobs .job-col-empty{
  padding:18px 10px;
  border:1px dashed #d7dbd7 !important;
  border-radius:8px;
  background:#fafbf9 !important;
  color:#7a837d !important;
  text-align:center;
}

.pfs-workspace-jobs .job-card{
  border-color:#dce0dc !important;
  border-radius:9px;
  background:#fff !important;
  color:#202622 !important;
  box-shadow:0 6px 16px rgba(24,28,27,.055);
}

.pfs-workspace-jobs :is(.job-card-meta, .job-card-when, .job-card-sub){
  color:#6b746e !important;
}

.pfs-workspace-jobs :is(.job-list, .job-arch){
  border-color:var(--pfs-studio-line) !important;
  background:#fff !important;
  color:#252b28 !important;
}

.pfs-workspace-jobs :is(.job-list-head, .job-arch-head){
  border-color:#e1e4e1 !important;
  background:#f6f7f5 !important;
}

.pfs-workspace-jobs :is(.job-list-row, .job-arch-row){
  border-color:#eceeec !important;
  background:#fff !important;
  color:#252b28 !important;
}

@media (max-width:1040px) and (min-width:861px){
  .pfs-command-status{
    display:none;
  }

  .pfs-commandbar{
    grid-template-columns:1fr auto;
  }

  .pfs-command-secondary span{
    display:none;
  }

  body.pfs-redesign #appMainContent{
    grid-template-columns:minmax(350px, .9fr) minmax(420px, 1.1fr);
  }
}

@media (max-width:860px){
  .pfs-commandbar{
    display:none;
  }

  body.pfs-redesign .navbar{
    background:
      radial-gradient(circle at 10% 0%, rgba(199,154,59,.13), transparent 45%),
      linear-gradient(180deg, var(--pfs-studio-rail), var(--pfs-studio-rail-deep)) !important;
  }

  body.pfs-redesign > .container,
  body.pfs-redesign.pfs-sidebar-collapsed > .container{
    padding:12px 10px 168px !important;
  }

  body.pfs-redesign .navbar .logo{
    display:flex;
    align-items:center;
    gap:8px;
    color:#fff;
    text-decoration:none;
  }

  body.pfs-redesign .navbar .logo .pfs-mobile-brand-mark{
    width:29px !important;
    height:29px !important;
    object-fit:contain;
  }

  .pfs-mobile-credit-status{
    max-width:150px;
    margin-left:auto;
    padding:6px 9px;
    overflow:hidden;
    border:1px solid rgba(229,199,124,.35);
    border-radius:999px;
    background:rgba(255,255,255,.10);
    color:#f6e4b4;
    font-size:10px;
    line-height:1;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .pfs-mobile-credit-status.is-warning{ color:#ffe09a; }
  .pfs-mobile-credit-status.is-danger{ border-color:rgba(255,150,142,.5); color:#ffc1bb; }
  .pfs-mobile-credit-status[hidden]{ display:none !important; }

  body.pfs-redesign .navbar .menu-btn,
  body.pfs-redesign .navbar #headerMenu{
    display:none !important;
  }

  .pfs-mobile-brand-copy{
    display:flex;
    flex-direction:column;
    color:#fff;
    font-size:13px;
    font-weight:900;
    letter-spacing:.035em;
    line-height:.9;
    text-transform:uppercase;
  }

  .pfs-mobile-brand-copy small{
    margin-top:4px;
    color:#d6d8d5;
    font-size:7.5px;
    font-weight:750;
    letter-spacing:.2em;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card{
    border-radius:10px !important;
    box-shadow:0 6px 18px rgba(24,28,27,.05) !important;
  }

  .pfs-mobile-tabs{
    min-height:70px;
    border-color:#d8dcd8;
    background:rgba(255,255,255,.97);
    box-shadow:0 -12px 30px rgba(24,28,27,.11);
  }

  body.pfs-redesign .modal-overlay:has(.pfs-mobile-more-menu){
    z-index:2700 !important;
    align-items:flex-end !important;
    justify-content:stretch !important;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom)) !important;
    background:rgba(18,22,20,.50) !important;
    backdrop-filter:blur(10px);
  }

  body.pfs-redesign .modal-content-wide:has(.pfs-mobile-more-menu){
    width:100% !important;
    max-width:none !important;
    border:1px solid rgba(224,226,223,.96) !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 24px 70px rgba(17,20,19,.28) !important;
  }

  .pfs-mobile-more-menu{
    padding:16px;
  }

  .pfs-mobile-more-menu .pfs-modal-title{
    margin:0 0 14px;
    color:#1c211e;
    font-size:21px;
    font-weight:900;
    letter-spacing:-.035em;
  }

  .pfs-mobile-more-menu .pfs-panel-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .pfs-mobile-presets-menu{
    display:grid;
    grid-column:1 / -1;
    gap:8px;
  }

  body.pfs-redesign .pfs-mobile-more-menu .pfs-mobile-presets-toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 15px !important;
    border-color:#c9d7eb !important;
    background:#f3f7fd !important;
    color:#244d83 !important;
  }

  .pfs-mobile-presets-toggle i{
    font-size:18px;
    font-style:normal;
    transition:transform .16s ease;
  }

  .pfs-mobile-presets-toggle[aria-expanded="true"] i{ transform:rotate(180deg); }

  .pfs-mobile-presets-submenu{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .pfs-mobile-presets-submenu[hidden]{ display:none; }

  body.pfs-redesign .pfs-mobile-more-menu .pfs-mobile-presets-submenu .btn-output{
    border-color:#d7e1ef !important;
    background:#fff !important;
    color:#355170 !important;
  }

  body.pfs-redesign .pfs-mobile-more-menu .btn-output{
    width:100%;
    min-height:48px;
    margin:0 !important;
    border:1px solid #d9ddda !important;
    border-radius:9px !important;
    background:#f8f9f7 !important;
    color:#29302c !important;
    box-shadow:none !important;
  }

  .pfs-mobile-more-menu .pfs-modal-actions{
    display:block;
    margin-top:12px;
  }

  body.pfs-redesign .pfs-mobile-more-menu .pfs-modal-actions button{
    width:100%;
    min-height:46px;
    border-radius:9px !important;
  }

  .pfs-mobile-tab{
    border-radius:9px;
    color:#5d665f;
  }

  .pfs-mobile-tab:active{
    background:#f0f1ee;
    color:#1e2421;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-mobile-card-open{
    height:100dvh !important;
    padding-bottom:calc(94px + env(safe-area-inset-bottom)) !important;
    background:#f4f5f2 !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-mobile-card-open > summary.job-details-header{
    min-height:64px;
    border-bottom-color:#d7dad7 !important;
  }

  details.collapsible-card.pfs-mobile-card-open .pfs-mobile-sheet-close{
    border-color:#cdd1cd !important;
    background:#fff !important;
    color:#252b28 !important;
  }

  .pfs-workspace-overlay{
    background:#f4f5f2;
  }

  .pfs-workspace-dialog,
  body.pfs-redesign .pfs-workspace-film .pfs-workspace-dialog,
  body.pfs-redesign .pfs-workspace-film-handler .pfs-workspace-dialog,
  body.pfs-redesign .pfs-workspace-pricing .pfs-workspace-dialog,
  body.pfs-redesign .pfs-workspace-account .pfs-workspace-dialog{
    height:100dvh;
  }

  .pfs-workspace-head{
    min-height:62px;
    padding:10px 10px 10px 15px;
  }

  .pfs-workspace-title{
    font-size:17px;
  }

  .pfs-workspace-actions{
    gap:6px;
  }

  .pfs-workspace-save,
  .pfs-workspace-close{
    min-height:40px;
    padding:0 11px;
  }

  .pfs-support-hero{
    padding:25px 20px;
    border-radius:10px;
  }

  .pfs-support-hero h2{
    font-size:30px;
  }

  .pfs-support-grid{
    grid-template-columns:1fr;
  }

  .pfs-support-card{
    min-height:0;
    padding:18px;
  }

  .pfs-workspace-jobs .jobmgr-top{
    padding:12px;
  }

  .pfs-workspace-jobs .jobmgr-title{
    align-items:stretch;
  }

  .pfs-workspace-jobs .jobmgr-tabs{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .pfs-workspace-jobs .jobmgr-controls{
    grid-template-columns:1fr;
  }

  .pfs-workspace-jobs .jobmgr-viewtoggle{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .pfs-workspace-jobs .job-board{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding:0 1px 12px;
    scroll-snap-type:x mandatory;
  }

  .pfs-workspace-jobs .job-col{
    flex:0 0 min(82vw, 330px);
    min-height:390px;
    scroll-snap-align:start;
  }
}

@media (prefers-reduced-motion:reduce){
  .pfs-side-nav,
  .pfs-commandbar,
  .pfs-workspace-overlay,
  body.pfs-redesign #appMainContent .input-section details.collapsible-card{
    scroll-behavior:auto !important;
    transition:none !important;
  }
}

/* Job Manager Studio — operations pipeline + calendar-ready scheduling */
.pfs-workspace-jobs .pfs-workspace-body{
  padding:16px;
  background:#f4f5f2;
}

.pfs-workspace-jobs .jobmgr-top{
  display:grid;
  gap:14px;
  margin:0 0 14px;
  padding:18px;
  border:1px solid #dee2dc;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 30px rgba(28,33,29,.04);
}

.pfs-workspace-jobs .jobmgr-overview,
.pfs-workspace-jobs .jobmgr-nav-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.pfs-workspace-jobs .jobmgr-eyebrow,
.pfs-workspace-jobs .jobmgr-calendar-kicker{
  display:block;
  margin:0 0 4px;
  color:#9a7120;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1.2;
  text-transform:uppercase;
}

.pfs-workspace-jobs .jobmgr-title-text{
  margin:0;
  color:#1c211e !important;
  font-size:24px;
  font-weight:950;
  letter-spacing:-.045em;
  line-height:1.1;
}

.pfs-workspace-jobs .jobmgr-overview-copy{
  margin-top:5px;
  color:#707971;
  font-size:12px;
  font-weight:650;
}

.pfs-workspace-jobs .jobmgr-primary-actions{
  display:flex;
  align-items:center;
  gap:9px;
}

body.pfs-redesign .pfs-workspace-jobs :is(.jobmgr-calendar-button,.jobmgr-new-button){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  margin:0;
  padding:0 13px;
  border-radius:9px !important;
  font-size:12px;
  font-weight:850;
  line-height:1;
  cursor:pointer;
}

body.pfs-redesign .pfs-workspace-jobs .jobmgr-calendar-button{
  border:1px solid #d8ddd7 !important;
  background:#fff !important;
  color:#2a322d !important;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-workspace-jobs .jobmgr-new-button{
  border:1px solid #202622 !important;
  background:#202622 !important;
  color:#fff !important;
  box-shadow:0 7px 18px rgba(28,33,30,.14) !important;
}

.pfs-workspace-jobs .jobmgr-calendar-mark{
  position:relative;
  width:17px;
  height:17px;
  border:1.5px solid #59635d;
  border-radius:5px;
}

.pfs-workspace-jobs .jobmgr-calendar-mark::before{
  content:"";
  position:absolute;
  inset:4px -1.5px auto;
  border-top:1.5px solid #59635d;
}

.pfs-workspace-jobs .jobmgr-calendar-state{
  padding-left:8px;
  border-left:1px solid #e1e4e0;
  color:#8a928c;
  font-size:10px;
}

.pfs-workspace-jobs .jobmgr-tabs,
.pfs-workspace-jobs .jobmgr-viewtoggle{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:4px;
  border:1px solid #dfe3de;
  border-radius:9px;
  background:#f3f5f2;
}

body.pfs-redesign .pfs-workspace-jobs :is(.jobmgr-tab,.jobmgr-viewbtn){
  min-height:34px;
  margin:0;
  padding:0 11px;
  border:0 !important;
  border-radius:6px !important;
  background:transparent !important;
  color:#737c75 !important;
  font-size:11px;
  font-weight:850;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-workspace-jobs :is(.jobmgr-tab,.jobmgr-viewbtn).active{
  background:#fff !important;
  color:#1e2521 !important;
  box-shadow:0 2px 9px rgba(25,31,27,.08) !important;
}

.pfs-workspace-jobs .jobmgr-count{
  display:inline-grid;
  place-items:center;
  min-width:19px;
  height:19px;
  margin-left:5px;
  padding:0 5px;
  border:0;
  border-radius:99px;
  background:#e8ebe7;
  color:#59625c;
  font-size:9px;
  font-weight:900;
}

.pfs-workspace-jobs .jobmgr-tab.active .jobmgr-count{
  background:#f0e4c8;
  color:#7e5a13;
}

.pfs-workspace-jobs .jobmgr-controls{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 190px;
  gap:10px;
}

.pfs-workspace-jobs .jobmgr-search-wrap{
  position:relative;
  display:flex;
  align-items:center;
  min-width:0;
}

.pfs-workspace-jobs .jobmgr-search-wrap kbd{
  position:absolute;
  right:10px;
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border:1px solid #d9ddd8;
  border-radius:5px;
  background:#f7f8f6;
  color:#879089;
  font:800 10px/1 inherit;
  pointer-events:none;
}

.pfs-workspace-jobs .jobmgr-search-icon{
  position:absolute;
  left:13px;
  width:13px;
  height:13px;
  border:1.7px solid #7d867f;
  border-radius:50%;
  pointer-events:none;
}

.pfs-workspace-jobs .jobmgr-search-icon::after{
  content:"";
  position:absolute;
  right:-4px;
  bottom:-3px;
  width:6px;
  border-top:1.7px solid #7d867f;
  transform:rotate(45deg);
  transform-origin:left center;
}

.pfs-workspace-jobs :is(.jobmgr-search,.jobmgr-sort){
  width:100%;
  min-height:42px;
  margin:0;
  border:1px solid #d9ddd8 !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#242b27 !important;
  font-size:12px;
  font-weight:650;
  box-shadow:none !important;
}

.pfs-workspace-jobs .jobmgr-search{
  padding:0 44px 0 38px !important;
}

.pfs-workspace-jobs .jobmgr-sort{
  padding:0 34px 0 12px !important;
}

.pfs-workspace-jobs .jobmgr-control-hidden{
  visibility:hidden;
  pointer-events:none;
}

.pfs-workspace-jobs .jobmgr-calendar-drawer{
  display:none;
  grid-template-columns:minmax(220px,.85fr) minmax(340px,1.35fr);
  gap:16px;
  padding:16px;
  border:1px solid #dfd6c3;
  border-radius:10px;
  background:linear-gradient(135deg,#fbf8f1,#f6f2e8);
}

.pfs-workspace-jobs .jobmgr-calendar-drawer.is-open{
  display:grid;
}

.pfs-workspace-jobs .jobmgr-calendar-intro strong{
  display:block;
  color:#252c28;
  font-size:15px;
  line-height:1.25;
}

.pfs-workspace-jobs .jobmgr-calendar-intro p{
  margin:6px 0 0;
  color:#6f766f;
  font-size:11px;
  line-height:1.5;
}

.pfs-workspace-jobs .jobmgr-provider-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.pfs-workspace-jobs .jobmgr-provider-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:9px;
  border:1px solid #e0ddd5;
  border-radius:9px;
  background:rgba(255,255,255,.82);
}

.pfs-workspace-jobs .jobmgr-provider-logo{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:9px;
  color:#fff;
  font-size:14px;
  font-weight:950;
}

.pfs-workspace-jobs .jobmgr-provider-logo.is-google{ background:linear-gradient(135deg,#4285f4 0 45%,#34a853 45% 70%,#fbbc05 70%); }
.pfs-workspace-jobs .jobmgr-provider-logo.is-microsoft{ background:linear-gradient(135deg,#1267b1,#42a5e8); }

.pfs-workspace-jobs .jobmgr-provider-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}

.pfs-workspace-jobs .jobmgr-provider-copy strong{
  overflow:hidden;
  color:#29302c;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-workspace-jobs .jobmgr-provider-copy small{
  overflow:hidden;
  color:#858c87;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.pfs-redesign .pfs-workspace-jobs .jobmgr-provider-card button{
  min-height:30px;
  padding:0 9px;
  border:1px solid #d7d9d5 !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#333b36 !important;
  font-size:10px;
  font-weight:850;
  box-shadow:none !important;
}

.pfs-workspace-jobs .jobmgr-calendar-notice{
  grid-column:1/-1;
  min-height:0;
  color:#786947;
  font-size:10px;
  font-weight:700;
}

.pfs-workspace-jobs .jobmgr-calendar-notice:empty{ display:none; }
.pfs-workspace-jobs .jobmgr-calendar-notice.is-success{ color:#26704b; }
.pfs-workspace-jobs .jobmgr-calendar-notice.is-error{ color:#a33b35; }

.pfs-workspace-jobs .jobmgr-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.pfs-workspace-jobs .jobmgr-stat{
  min-width:0;
  min-height:94px;
  padding:14px;
  border:1px solid #dfe3de;
  border-radius:11px;
  background:#fff;
  box-shadow:0 7px 20px rgba(29,35,31,.035);
}

.pfs-workspace-jobs .jobmgr-stat-label{
  display:block;
  margin-bottom:5px;
  color:#737b75;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pfs-workspace-jobs .jobmgr-stat strong{
  display:block;
  color:#242b27;
  font-size:21px;
  font-weight:950;
  letter-spacing:-.035em;
  line-height:1.1;
}

.pfs-workspace-jobs .jobmgr-stat > span:last-child{
  display:block;
  margin-top:5px;
  overflow:hidden;
  color:#838b85;
  font-size:10px;
  font-weight:650;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-workspace-jobs .jobmgr-stat-primary{
  border-color:#252b27;
  background:linear-gradient(145deg,#222824,#171b18);
}

.pfs-workspace-jobs .jobmgr-stat-primary :is(.jobmgr-stat-label,strong){ color:#fff; }
.pfs-workspace-jobs .jobmgr-stat-primary > span:last-child{ color:#aeb7b0; }

.pfs-workspace-jobs .job-board{
  display:grid;
  grid-template-columns:repeat(7,minmax(205px,1fr));
  gap:10px;
  min-width:0;
  overflow-x:auto;
  padding-bottom:8px;
}

.pfs-workspace-jobs .job-col{
  min-width:0;
  min-height:410px;
  overflow:visible;
  border:1px solid #dfe3de !important;
  border-radius:12px;
  background:#eff1ee !important;
  box-shadow:none;
}

.pfs-workspace-jobs .job-col-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:61px;
  padding:11px 12px;
  border-bottom:1px solid #dfe3de !important;
  border-radius:11px 11px 0 0;
  background:rgba(255,255,255,.75) !important;
}

.pfs-workspace-jobs .job-col-heading{
  display:flex;
  align-items:center;
  gap:9px;
}

.pfs-workspace-jobs .job-col-dot{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:#949c96;
  box-shadow:0 0 0 4px rgba(148,156,150,.12);
}

.pfs-workspace-jobs .job-col-quoted .job-col-dot{ background:#387eb7; box-shadow:0 0 0 4px rgba(56,126,183,.12); }
.pfs-workspace-jobs .job-col-accepted .job-col-dot{ background:#6556b3; box-shadow:0 0 0 4px rgba(101,86,179,.12); }
.pfs-workspace-jobs .job-col-deposit-received .job-col-dot{ background:#19898a; box-shadow:0 0 0 4px rgba(25,137,138,.12); }
.pfs-workspace-jobs .job-col-scheduled .job-col-dot{ background:#bd8d2e; box-shadow:0 0 0 4px rgba(189,141,46,.13); }
.pfs-workspace-jobs .job-col-complete .job-col-dot{ background:#3a8a61; box-shadow:0 0 0 4px rgba(58,138,97,.12); }
.pfs-workspace-jobs .job-col-paid .job-col-dot{ background:#197347; box-shadow:0 0 0 4px rgba(25,115,71,.14); }

.pfs-workspace-jobs .job-col-title{
  color:#28302b !important;
  font-size:12px;
  font-weight:900;
  line-height:1.1;
}

.pfs-workspace-jobs .job-col-copy{
  margin-top:3px;
  color:#89908b;
  font-size:8px;
  font-weight:650;
  white-space:nowrap;
}

.pfs-workspace-jobs .job-col-count{
  display:grid;
  place-items:center;
  min-width:24px;
  height:24px;
  border:1px solid #d9ddd8 !important;
  border-radius:7px;
  background:#fff;
  color:#59625c !important;
  font-size:9px;
  font-weight:900;
}

.pfs-workspace-jobs .job-col-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:8px;
}

.pfs-workspace-jobs .job-card{
  position:relative;
  overflow:visible;
  padding:11px;
  border:1px solid #daddd9 !important;
  border-radius:10px;
  background:#fff !important;
  color:#232a26 !important;
  box-shadow:0 6px 18px rgba(28,35,30,.055) !important;
}

.pfs-workspace-jobs .job-card-head,
.pfs-workspace-jobs .job-card-customer,
.pfs-workspace-jobs .job-card-actions{
  display:flex;
  align-items:center;
}

.pfs-workspace-jobs .job-card-head{
  justify-content:space-between;
  min-height:24px;
}

.pfs-workspace-jobs .job-type-chip{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 7px;
  border-radius:6px;
  background:#f2f4f1;
  color:#707872;
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.pfs-workspace-jobs .job-card-customer{
  gap:9px;
  margin-top:10px;
  min-width:0;
}

.pfs-workspace-jobs .job-avatar{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:9px;
  background:#ece5d6;
  color:#71551d;
  font-size:10px;
  font-weight:950;
}

.pfs-workspace-jobs .job-avatar.is-muted{ background:#eceeeb; color:#747d76; }

.pfs-workspace-jobs .job-card-customer > span:last-child,
.pfs-workspace-jobs .job-list-customer > span:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}

.pfs-workspace-jobs .job-card-customer strong{
  overflow:hidden;
  color:#202622;
  font-size:12px;
  font-weight:950;
  letter-spacing:-.015em;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-workspace-jobs .job-card-customer small,
.pfs-workspace-jobs .job-list-customer small{
  overflow:hidden;
  color:#828a84;
  font-size:9px;
  font-weight:650;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-workspace-jobs .job-card-location,
.pfs-workspace-jobs .job-card-contact{
  position:relative;
  margin-top:8px;
  padding-left:14px;
  overflow:hidden;
  color:#737c76;
  font-size:9px;
  font-weight:650;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-workspace-jobs .job-card-location::before,
.pfs-workspace-jobs .job-card-contact::before{
  content:"";
  position:absolute;
  left:2px;
  top:50%;
  width:5px;
  height:5px;
  border:1.4px solid #929a94;
  border-radius:50%;
  transform:translateY(-50%);
}

.pfs-workspace-jobs .job-card-contact::before{
  width:6px;
  height:6px;
  border-radius:2px;
}

.pfs-workspace-jobs .job-card-appointment{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:10px;
  padding:8px;
  border:1px solid #eadbb9;
  border-radius:8px;
  background:#fbf7ed;
}

.pfs-workspace-jobs .job-card-date-mark{
  position:relative;
  width:22px;
  height:22px;
  flex:0 0 22px;
  border:1.5px solid #a87d29;
  border-radius:6px;
}

.pfs-workspace-jobs .job-card-date-mark::before{
  content:"";
  position:absolute;
  inset:5px -1.5px auto;
  border-top:1.5px solid #a87d29;
}

.pfs-workspace-jobs .job-card-appointment > span:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}

.pfs-workspace-jobs .job-card-appointment strong{
  overflow:hidden;
  color:#4a3b20;
  font-size:9px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-workspace-jobs .job-card-appointment small{
  color:#8a7650;
  font-size:8px;
  font-weight:700;
}

body.pfs-redesign .pfs-workspace-jobs .job-card-needs-date{
  width:100%;
  min-height:34px;
  margin-top:10px;
  border:1px dashed #d3b878 !important;
  border-radius:8px !important;
  background:#fffbf2 !important;
  color:#88641c !important;
  font-size:9px;
  font-weight:850;
  box-shadow:none !important;
}

.pfs-workspace-jobs .job-card-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid #eceeeb;
}

.pfs-workspace-jobs .job-card-metrics > span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}

.pfs-workspace-jobs .job-card-metrics small{
  color:#909791;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
}

.pfs-workspace-jobs .job-card-metrics strong{
  overflow:hidden;
  color:#303833;
  font-size:9px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-workspace-jobs .job-card-actions{
  gap:6px;
  margin-top:10px;
}

body.pfs-redesign .pfs-workspace-jobs .job-open-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  margin:0;
  padding:0 11px;
  border:1px solid #1f2521 !important;
  border-radius:7px !important;
  background:#1f2521 !important;
  color:#fff !important;
  font-size:9px;
  font-weight:900;
  box-shadow:none !important;
}

.pfs-workspace-jobs .job-card-actions .job-open-button{ flex:1 1 auto; }

.pfs-workspace-jobs .job-status-select{
  min-width:0;
  min-height:34px;
  margin:0;
  padding:0 26px 0 8px !important;
  border:1px solid #daddd9 !important;
  border-radius:7px !important;
  background-color:#fff !important;
  color:#555f58 !important;
  font-size:9px;
  font-weight:850;
  box-shadow:none !important;
}

.pfs-workspace-jobs .job-card-actions .job-status-select{ flex:0 1 88px; }

.pfs-workspace-jobs .job-more-menu{
  position:relative;
  z-index:4;
}

.pfs-workspace-jobs .job-more-menu[open]{ z-index:20; }

.pfs-workspace-jobs .job-more-menu > summary{
  display:grid;
  place-items:center;
  width:28px;
  height:26px;
  border:1px solid #e0e3df;
  border-radius:7px;
  background:#fff;
  color:#727b75;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  list-style:none;
  cursor:pointer;
}

.pfs-workspace-jobs .job-more-menu > summary::-webkit-details-marker{ display:none; }

.pfs-workspace-jobs .job-more-popover{
  position:absolute;
  top:calc(100% + 5px);
  right:0;
  display:grid;
  min-width:142px;
  gap:3px;
  padding:5px;
  border:1px solid #dcdeda;
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 30px rgba(23,28,25,.16);
}

body.pfs-redesign .pfs-workspace-jobs .job-more-popover button{
  justify-content:flex-start;
  min-height:31px;
  padding:0 9px;
  border:0 !important;
  border-radius:5px !important;
  background:transparent !important;
  color:#424a45 !important;
  font-size:10px;
  font-weight:750;
  text-align:left;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-workspace-jobs .job-more-popover button:hover{ background:#f3f5f2 !important; }
body.pfs-redesign .pfs-workspace-jobs .job-more-popover button.is-danger{ color:#ad4239 !important; }

.pfs-workspace-jobs .job-col-empty{
  display:grid;
  place-items:center;
  gap:3px;
  min-height:118px;
  padding:18px 10px;
  border:1px dashed #d3d8d2 !important;
  border-radius:9px;
  background:rgba(255,255,255,.42) !important;
  color:#8b938d !important;
  text-align:center;
}

.pfs-workspace-jobs .job-col-empty > span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  margin-bottom:2px;
  border-radius:50%;
  background:#e5e8e4;
  color:#777f79;
  font-size:9px;
}

.pfs-workspace-jobs .job-col-empty strong{ color:#6c746e; font-size:10px; }
.pfs-workspace-jobs .job-col-empty small{ max-width:150px; font-size:8px; line-height:1.45; }

/* Jobs list */
.pfs-workspace-jobs :is(.job-list,.job-arch,.job-agenda,.job-needs-date-card){
  overflow:visible;
  border:1px solid #dfe3de !important;
  border-radius:12px;
  background:#fff !important;
  color:#242b27 !important;
  box-shadow:0 8px 24px rgba(29,35,31,.035);
}

.pfs-workspace-jobs .job-list-head,
.pfs-workspace-jobs .job-list-row{
  display:grid;
  grid-template-columns:minmax(170px,1.7fr) minmax(120px,1.15fr) minmax(100px,.85fr) minmax(145px,1.2fr) minmax(75px,.65fr) 92px;
  align-items:center;
  gap:12px;
}

.pfs-workspace-jobs .job-list-head{
  min-height:39px;
  padding:0 13px;
  border-bottom:1px solid #e5e8e4 !important;
  border-radius:11px 11px 0 0;
  background:#f3f5f2 !important;
  color:#848c86;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pfs-workspace-jobs .job-list-row{
  min-height:74px;
  padding:10px 13px;
  border:0 !important;
  border-bottom:1px solid #eceeeb !important;
}

.pfs-workspace-jobs .job-list-row:last-child{ border-bottom:0 !important; }

.pfs-workspace-jobs .job-list-customer{
  display:flex;
  align-items:center;
  min-width:0;
  gap:9px;
}

.pfs-workspace-jobs .job-list-customer strong,
.pfs-workspace-jobs .job-list-project strong,
.pfs-workspace-jobs .job-list-appointment strong,
.pfs-workspace-jobs .job-list-value strong{
  display:block;
  overflow:hidden;
  color:#2a312d;
  font-size:10px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-workspace-jobs :is(.job-list-project,.job-list-appointment,.job-arch-project){ min-width:0; }

.pfs-workspace-jobs :is(.job-list-project,.job-list-appointment,.job-arch-project) small{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:#8a928c;
  font-size:8px;
  font-weight:650;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.pfs-redesign .pfs-workspace-jobs .job-date-button{
  min-height:30px;
  padding:0 9px;
  border:1px dashed #ceb374 !important;
  border-radius:7px !important;
  background:#fffbf2 !important;
  color:#86631d !important;
  font-size:9px;
  font-weight:850;
  box-shadow:none !important;
}

.pfs-workspace-jobs .job-list-actions,
.pfs-workspace-jobs .job-arch-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
}

/* Archived jobs */
.pfs-workspace-jobs .job-arch-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:48px;
  padding:0 14px;
  border-bottom:1px solid #e5e8e4 !important;
  border-radius:11px 11px 0 0;
  background:#f3f5f2 !important;
  color:#313934;
  font-size:12px;
  font-weight:900;
}

.pfs-workspace-jobs .job-arch-head small{ color:#89918b; font-size:9px; }

.pfs-workspace-jobs .job-arch-row{
  display:grid;
  grid-template-columns:minmax(210px,1.6fr) minmax(160px,1.2fr) 90px 90px auto;
  align-items:center;
  gap:14px;
  min-height:76px;
  padding:10px 14px;
  border:0 !important;
  border-bottom:1px solid #eceeeb !important;
}

.pfs-workspace-jobs .job-arch-row:last-child{ border-bottom:0 !important; }

body.pfs-redesign .pfs-workspace-jobs .job-restore-button{
  min-height:34px;
  padding:0 10px;
  border:1px solid #d8dcd7 !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#48514b !important;
  font-size:9px;
  font-weight:850;
  box-shadow:none !important;
}

.pfs-workspace-jobs .status-pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:99px;
  font-size:8px;
  font-weight:900;
}

.pfs-workspace-jobs .status-pending{ background:#ecefed; color:#606963; }
.pfs-workspace-jobs .status-quoted{ background:#e8f2fa; color:#276491; }
.pfs-workspace-jobs .status-accepted{ background:#eeeafb; color:#51439a; }
.pfs-workspace-jobs .status-deposit-received{ background:#e2f4f2; color:#176f70; }
.pfs-workspace-jobs .status-scheduled{ background:#f6ecd5; color:#87621d; }
.pfs-workspace-jobs .status-complete{ background:#e5f2ea; color:#2d7450; }
.pfs-workspace-jobs .status-paid{ background:#dcefe4; color:#17623c; }

/* Schedule */
.pfs-workspace-jobs .job-schedule-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 286px;
  gap:12px;
  align-items:start;
}

.pfs-workspace-jobs .job-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:58px;
  padding:11px 14px;
  border-bottom:1px solid #e5e8e4;
}

.pfs-workspace-jobs .job-section-head h3{
  margin:0;
  color:#252c28;
  font-size:14px;
  font-weight:950;
  letter-spacing:-.025em;
}

.pfs-workspace-jobs .job-section-count{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 8px;
  border:1px solid #dce0db;
  border-radius:7px;
  background:#f7f8f6;
  color:#6f7771;
  font-size:9px;
  font-weight:850;
}

.pfs-workspace-jobs .job-agenda-list{ padding:0 14px; }

.pfs-workspace-jobs .job-agenda-row{
  display:grid;
  grid-template-columns:46px 74px minmax(150px,1fr) 90px auto;
  align-items:center;
  gap:12px;
  min-height:88px;
  padding:10px 0;
  border-bottom:1px solid #eceeeb;
}

.pfs-workspace-jobs .job-agenda-row:last-child{ border-bottom:0; }

.pfs-workspace-jobs .job-agenda-date{
  display:grid;
  place-items:center;
  min-height:58px;
  border:1px solid #e1e4e0;
  border-radius:9px;
  background:#f5f7f4;
  line-height:1;
}

.pfs-workspace-jobs .job-agenda-date span,
.pfs-workspace-jobs .job-agenda-date small{
  color:#828a84;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}

.pfs-workspace-jobs .job-agenda-date strong{
  color:#262d29;
  font-size:18px;
  font-weight:950;
}

.pfs-workspace-jobs .job-agenda-time,
.pfs-workspace-jobs .job-agenda-main{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:3px;
}

.pfs-workspace-jobs .job-agenda-time strong,
.pfs-workspace-jobs .job-agenda-main strong{
  overflow:hidden;
  color:#29302c;
  font-size:10px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-workspace-jobs .job-agenda-time small,
.pfs-workspace-jobs .job-agenda-main small{
  overflow:hidden;
  color:#878f89;
  font-size:8px;
  font-weight:650;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-workspace-jobs .job-agenda-type{
  color:#9a7120;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.pfs-workspace-jobs .job-agenda-sync{
  display:flex;
  align-items:center;
  gap:5px;
  color:#929993;
  font-size:8px;
  font-weight:800;
}

.pfs-workspace-jobs .job-sync-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#aeb5af;
}

.pfs-workspace-jobs .job-agenda-sync.is-ready{ color:#347457; }
.pfs-workspace-jobs .job-agenda-sync.is-ready .job-sync-dot{ background:#3c9b6c; box-shadow:0 0 0 3px rgba(60,155,108,.12); }

.pfs-workspace-jobs .job-agenda-actions{
  display:flex;
  align-items:center;
  gap:5px;
}

body.pfs-redesign .pfs-workspace-jobs .job-agenda-actions > button:not(.job-open-button){
  min-height:34px;
  padding:0 9px;
  border:1px solid #d8ddd8 !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#465049 !important;
  font-size:9px;
  font-weight:850;
  box-shadow:none !important;
}

.pfs-workspace-jobs .job-schedule-side{
  display:grid;
  gap:12px;
}

.pfs-workspace-jobs .job-calendar-ready-card{
  position:relative;
  overflow:hidden;
  min-height:235px;
  padding:17px;
  border:1px solid #282e2a;
  border-radius:12px;
  background:linear-gradient(145deg,#232925,#151916);
  color:#fff;
  box-shadow:0 10px 28px rgba(25,30,27,.12);
}

.pfs-workspace-jobs .job-calendar-ready-card h3{
  position:relative;
  margin:5px 0 7px;
  color:#fff !important;
  font-size:18px;
  font-weight:950;
  letter-spacing:-.035em;
}

.pfs-workspace-jobs .job-calendar-ready-card p{
  position:relative;
  max-width:230px;
  margin:0;
  color:#aeb6b0;
  font-size:10px;
  line-height:1.5;
}

body.pfs-redesign .pfs-workspace-jobs .job-calendar-ready-card button{
  position:relative;
  min-height:35px;
  margin:13px 0 0;
  padding:0 11px;
  border:1px solid #d0a34b !important;
  border-radius:7px !important;
  background:#c9993e !important;
  color:#181c19 !important;
  font-size:9px;
  font-weight:950;
  box-shadow:none !important;
}

.pfs-workspace-jobs .job-calendar-ready-card ul{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  gap:5px 10px;
  margin:14px 0 0;
  padding:12px 0 0;
  border-top:1px solid rgba(255,255,255,.11);
  color:#929c95;
  font-size:8px;
  list-style:none;
}

.pfs-workspace-jobs .job-calendar-ready-card li::before{ content:"✓"; margin-right:4px; color:#d1a44b; }

.pfs-workspace-jobs .job-calendar-orbit{
  position:absolute;
  right:-25px;
  top:-32px;
  width:130px;
  height:130px;
  border:1px solid rgba(207,163,76,.2);
  border-radius:50%;
}

.pfs-workspace-jobs .job-calendar-orbit::before,
.pfs-workspace-jobs .job-calendar-orbit::after{
  content:"";
  position:absolute;
  border:1px solid rgba(207,163,76,.16);
  border-radius:50%;
}

.pfs-workspace-jobs .job-calendar-orbit::before{ inset:20px; }
.pfs-workspace-jobs .job-calendar-orbit::after{ inset:42px; background:rgba(207,163,76,.08); }

.pfs-workspace-jobs .job-needs-date-card{ overflow:hidden; }
.pfs-workspace-jobs .job-needs-date-list{ padding:7px 12px 12px; }

.pfs-workspace-jobs .job-needs-date-row{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:8px 0;
  border-bottom:1px solid #eceeeb;
}

.pfs-workspace-jobs .job-needs-date-row:last-child{ border-bottom:0; }
.pfs-workspace-jobs .job-needs-date-row .job-avatar{ width:30px; height:30px; flex-basis:30px; }
.pfs-workspace-jobs .job-needs-date-row > span:nth-child(2){ display:flex; min-width:0; flex-direction:column; gap:2px; }
.pfs-workspace-jobs .job-needs-date-row strong{ overflow:hidden; color:#2e3631; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.pfs-workspace-jobs .job-needs-date-row small{ overflow:hidden; color:#8a928c; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }

body.pfs-redesign .pfs-workspace-jobs .job-needs-date-row button{
  min-height:29px;
  padding:0 8px;
  border:1px solid #d9ddd8 !important;
  border-radius:6px !important;
  background:#fff !important;
  color:#505a53 !important;
  font-size:8px;
  font-weight:850;
  box-shadow:none !important;
}

.pfs-workspace-jobs .job-all-set{
  margin:0;
  padding:12px 4px 4px;
  color:#6f7871;
  font-size:9px;
  line-height:1.5;
}

.pfs-workspace-jobs .jobmgr-empty-state{
  display:grid;
  place-items:center;
  min-height:180px;
  padding:28px;
  text-align:center;
}

.pfs-workspace-jobs .jobmgr-empty-mark{
  position:relative;
  width:36px;
  height:36px;
  margin-bottom:9px;
  border:1px solid #d9ddd8;
  border-radius:10px;
  background:#f4f6f3;
}

.pfs-workspace-jobs .jobmgr-empty-mark::before,
.pfs-workspace-jobs .jobmgr-empty-mark::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  top:13px;
  border-top:2px solid #98a099;
}

.pfs-workspace-jobs .jobmgr-empty-mark::after{ top:20px; right:14px; }
.pfs-workspace-jobs .jobmgr-empty-state strong{ color:#303833; font-size:13px; }
.pfs-workspace-jobs .jobmgr-empty-state p{ margin:5px 0 12px; color:#838b85; font-size:10px; }

body.pfs-redesign .pfs-workspace-jobs .jobmgr-empty-state button{
  min-height:34px;
  padding:0 11px;
  border:1px solid #d8ddd8 !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#3c453f !important;
  font-size:9px;
  font-weight:850;
  box-shadow:none !important;
}

@media (max-width:1150px) and (min-width:861px){
  .pfs-workspace-jobs .jobmgr-summary{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pfs-workspace-jobs .job-board{
    display:flex;
    overflow-x:auto;
    padding-bottom:10px;
    scroll-snap-type:x mandatory;
  }
  .pfs-workspace-jobs .job-col{ flex:0 0 250px; scroll-snap-align:start; }
  .pfs-workspace-jobs .job-list-head,
  .pfs-workspace-jobs .job-list-row{ grid-template-columns:minmax(160px,1.5fr) 115px 100px 135px 70px 88px; gap:8px; }
  .pfs-workspace-jobs .job-schedule-layout{ grid-template-columns:minmax(0,1fr) 250px; }
  .pfs-workspace-jobs .job-agenda-row{ grid-template-columns:42px 66px minmax(130px,1fr) auto; }
  .pfs-workspace-jobs .job-agenda-sync{ display:none; }
}

@media (max-width:860px){
  .pfs-workspace-jobs .pfs-workspace-body{ padding:10px; }
  .pfs-workspace-jobs .jobmgr-top{ gap:12px; padding:13px; }
  .pfs-workspace-jobs .jobmgr-overview{ align-items:flex-start; flex-direction:column; }
  .pfs-workspace-jobs .jobmgr-primary-actions{ width:100%; }
  body.pfs-redesign .pfs-workspace-jobs :is(.jobmgr-calendar-button,.jobmgr-new-button){ flex:1 1 0; padding:0 9px; }
  .pfs-workspace-jobs .jobmgr-calendar-state{ display:none; }
  .pfs-workspace-jobs .jobmgr-nav-row{ align-items:stretch; flex-direction:column; gap:8px; }
  .pfs-workspace-jobs .jobmgr-tabs{ display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pfs-workspace-jobs .jobmgr-viewtoggle{ display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pfs-workspace-jobs .jobmgr-control-hidden{ display:none; }
  .pfs-workspace-jobs .jobmgr-controls{ grid-template-columns:1fr; }
  .pfs-workspace-jobs .jobmgr-calendar-drawer,
  .pfs-workspace-jobs .jobmgr-calendar-drawer.is-open{ grid-template-columns:1fr; }
  .pfs-workspace-jobs .jobmgr-provider-list{ grid-template-columns:1fr; }
  .pfs-workspace-jobs .jobmgr-summary{
    display:flex;
    gap:8px;
    overflow-x:auto;
    margin-right:-10px;
    padding:0 10px 6px 0;
    scroll-snap-type:x mandatory;
  }
  .pfs-workspace-jobs .jobmgr-stat{ flex:0 0 min(74vw,250px); scroll-snap-align:start; }
  .pfs-workspace-jobs .job-board{ display:flex; gap:10px; overflow-x:auto; padding:0 2px 12px; scroll-snap-type:x mandatory; }
  .pfs-workspace-jobs .job-col{ flex:0 0 min(84vw,330px); min-height:390px; scroll-snap-align:start; }
  .pfs-workspace-jobs .job-list{ border:0 !important; background:transparent !important; box-shadow:none; }
  .pfs-workspace-jobs .job-list-head{ display:none; }
  .pfs-workspace-jobs .job-list-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    margin-bottom:9px;
    padding:14px;
    border:1px solid #dfe3de !important;
    border-radius:11px;
    background:#fff;
  }
  .pfs-workspace-jobs .job-list-row > *::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#919892;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .pfs-workspace-jobs .job-list-customer{ grid-column:1/-1; }
  .pfs-workspace-jobs .job-list-project{ grid-column:1/-1; padding-top:10px; border-top:1px solid #eceeeb; }
  .pfs-workspace-jobs .job-list-status,
  .pfs-workspace-jobs .job-list-appointment{ min-width:0; }
  .pfs-workspace-jobs .job-list-value{ align-self:end; }
  .pfs-workspace-jobs .job-list-actions{ grid-column:1/-1; justify-content:stretch; padding-top:10px; border-top:1px solid #eceeeb; }
  .pfs-workspace-jobs .job-list-actions .job-open-button{ flex:1; }
  .pfs-workspace-jobs .job-arch{ border:0 !important; background:transparent !important; box-shadow:none; }
  .pfs-workspace-jobs .job-arch-head{ margin-bottom:9px; border:1px solid #dfe3de !important; border-radius:10px; }
  .pfs-workspace-jobs .job-arch-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:11px;
    margin-bottom:9px;
    padding:13px;
    border:1px solid #dfe3de !important;
    border-radius:11px;
    background:#fff !important;
  }
  .pfs-workspace-jobs .job-arch-row .job-list-customer,
  .pfs-workspace-jobs .job-arch-project,
  .pfs-workspace-jobs .job-arch-actions{ grid-column:1/-1; }
  .pfs-workspace-jobs .job-arch-actions{ justify-content:stretch; padding-top:9px; border-top:1px solid #eceeeb; }
  .pfs-workspace-jobs .job-arch-actions .job-open-button{ flex:1; }
  .pfs-workspace-jobs .job-schedule-layout{ grid-template-columns:1fr; }
  .pfs-workspace-jobs .job-agenda-list{ padding:0 11px; }
  .pfs-workspace-jobs .job-agenda-row{
    grid-template-columns:44px 68px minmax(0,1fr);
    gap:9px;
    padding:12px 0;
  }
  .pfs-workspace-jobs .job-agenda-sync{ grid-column:2/4; }
  .pfs-workspace-jobs .job-agenda-actions{ grid-column:2/4; justify-content:flex-end; }
  .pfs-workspace-jobs .job-agenda-actions .job-open-button{ flex:1; }
  .pfs-workspace-jobs .job-calendar-ready-card{ min-height:220px; }
}

/* Final cascade guards for the July 17 customer/window workspaces. */
body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-billing-pane .customer-billing-fields{
  display:grid !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane .pfs-window-settings-strip{
  margin:0 0 14px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane .window-controls-bottom{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

/* Studio 9: flatter customer editor, aligned window workspace, compact group summaries. */
.pfs-visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  gap:0;
  min-height:0 !important;
  padding:8px 26px 28px;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-pane{
  min-width:0;
  padding:6px 30px 20px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-site-pane{
  padding-left:0 !important;
  border-right:1px solid #dfe3df !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-billing-pane{
  padding-right:0 !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-pane-heading{
  min-height:48px;
  margin:0 0 18px;
  padding:0 0 13px;
  border-bottom:1px solid #e5e8e5;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-pane-number{
  display:none !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-site-grid,
body.pfs-redesign #appMainContent #jobDetailsCard .customer-billing-fields{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  grid-template-areas:none !important;
  align-items:start;
  gap:14px 12px !important;
  min-width:0;
}

body.pfs-redesign #appMainContent #jobDetailsCard :is(.pfs-customer-site-grid,.customer-billing-fields) > .job-field{
  grid-area:auto !important;
  grid-column:1/-1 !important;
  min-width:0;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-site-grid :is(.field-customer,.field-phone),
body.pfs-redesign #appMainContent #jobDetailsCard .customer-billing-fields :is(.field-billing-contact,.field-billing-phone){
  grid-column:span 6 !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-site-grid .field-city,
body.pfs-redesign #appMainContent #jobDetailsCard .customer-billing-fields .field-billing-city{
  grid-column:span 6 !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-site-grid .field-state,
body.pfs-redesign #appMainContent #jobDetailsCard .customer-billing-fields .field-billing-state{
  grid-column:span 2 !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-site-grid .field-zip,
body.pfs-redesign #appMainContent #jobDetailsCard .customer-billing-fields .field-billing-zip{
  grid-column:span 4 !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard :is(.pfs-customer-site-grid,.customer-billing-fields) :is(input,textarea){
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard :is(.pfs-customer-site-grid,.customer-billing-fields) label{
  white-space:normal !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-notes{
  grid-column:1/-1;
  min-width:0;
  margin:2px 0 0;
  padding:22px 0 0;
  border-top:1px solid #dfe3df;
}

.pfs-customer-notes-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:11px;
}

.pfs-customer-notes-heading h4{
  margin:2px 0 0;
  color:#171c19;
  font-size:16px;
  font-weight:900;
  letter-spacing:-.025em;
}

.pfs-customer-notes-heading small{
  color:#7c857f;
  font-size:9px;
  font-weight:750;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-notes textarea{
  display:block;
  width:100% !important;
  min-height:108px !important;
  padding:12px 13px !important;
  border:1px solid #d9ded9 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#252c28 !important;
  font:inherit;
  line-height:1.45;
  resize:vertical;
  box-sizing:border-box;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-notes textarea:focus{
  outline:none;
  border-color:#7199d9 !important;
  box-shadow:0 0 0 4px rgba(11,88,208,.1) !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .customer-billing-toggle{
  margin-bottom:4px;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-billing-link-status{
  margin:0 0 14px;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-workspace{
  align-items:start;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane{
  position:static !important;
  top:auto !important;
  align-self:start !important;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-entry-pane{
  align-self:start !important;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-help{
  margin:12px 2px 0;
  color:#7b847e;
  font-size:9px;
  line-height:1.45;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-overview-container.active{
  display:block;
}

.pfs-overview-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.pfs-overview-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe3df;
  border-radius:10px;
  background:#fff;
  box-shadow:0 6px 20px rgba(29,38,32,.045);
}

.pfs-overview-card::before{
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:var(--group-accent,#c79a3b);
  content:"";
}

.pfs-overview-card > header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:48px;
  padding:8px 11px;
  border-bottom:1px solid #eceeec;
  background:#fbfcfb;
}

.pfs-overview-card > header > div{
  display:flex;
  align-items:center;
  min-width:0;
  gap:8px;
}

.pfs-overview-card > header i{
  flex:0 0 auto;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--group-accent,#c79a3b);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--group-accent,#c79a3b) 15%,transparent);
}

.pfs-overview-card > header h5{
  overflow:hidden;
  margin:0;
  color:#252c28;
  font-size:11px;
  font-weight:900;
  letter-spacing:-.01em;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-overview-card > header > span{
  flex:0 0 auto;
  color:#87908a;
  font-size:8px;
  font-weight:850;
  letter-spacing:.02em;
}

.pfs-overview-card-metrics{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:1px;
  border-bottom:1px solid #eceeec;
  background:#e8ebe8;
}

.pfs-overview-card-metrics > div{
  display:grid;
  gap:3px;
  padding:11px;
  background:#fff;
}

.pfs-overview-card-metrics span{
  color:#89918c;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pfs-overview-card-metrics strong{
  color:#202723;
  font-size:14px;
  font-weight:900;
  line-height:1;
}

.pfs-overview-card-metrics strong small{
  color:#69716c;
  font-size:8px;
  font-weight:800;
}

.pfs-overview-removal{
  display:inline-flex;
  margin:9px 10px 0;
  padding:4px 7px;
  border:1px solid #efd1cd;
  border-radius:999px;
  background:#fff7f5;
  color:#9c3d34;
  font-size:7px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.pfs-overview-window-list{
  display:grid;
  max-height:188px;
  overflow:auto;
  padding:5px 10px 8px;
  scrollbar-width:thin;
}

.pfs-overview-window{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:45px;
  padding:6px 0;
  border-bottom:1px solid #eff1ef;
}

.pfs-overview-window:last-child{ border-bottom:0; }
.pfs-overview-window > div{ display:grid; min-width:0; gap:2px; }
.pfs-overview-window > div:last-child{ text-align:right; }
.pfs-overview-window strong{
  overflow:hidden;
  color:#343c37;
  font-size:9px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pfs-overview-window span{ color:#8a928d; font-size:7px; font-weight:700; }
.pfs-overview-card-empty{
  display:grid;
  min-height:74px;
  place-items:center;
  color:#929994;
  font-size:9px;
  text-align:center;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-overview-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:112px;
  padding:18px;
  border:1px solid #e1e5e1;
  border-radius:10px;
  background:linear-gradient(135deg,#fbfcfb,#f6f8f6);
  text-align:left;
}

.pfs-overview-empty > span{
  display:grid;
  flex:0 0 auto;
  width:39px;
  height:39px;
  place-items:center;
  border:1px solid #c8d9f3;
  border-radius:10px;
  background:#eaf2ff;
  color:#0b58d0;
}

.pfs-overview-empty svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
}

.pfs-overview-empty > div{ display:grid; gap:4px; }
.pfs-overview-empty strong{ color:#343c37; font-size:11px; font-weight:900; }
.pfs-overview-empty small{ color:#7f8882; font-size:9px; }

body.pfs-redesign .modal-content:has(.pfs-navigation-chooser),
body.pfs-redesign .modal-content:has(.pfs-group-builder){
  width:min(520px,calc(100vw - 32px)) !important;
  max-width:520px !important;
}

.pfs-navigation-chooser,
.pfs-group-builder{
  padding:23px;
  color:#242b27;
  box-sizing:border-box;
}

.pfs-navigation-modal-head{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:16px;
}

.pfs-navigation-modal-icon{
  display:grid;
  flex:0 0 auto;
  width:44px;
  height:44px;
  place-items:center;
  border:1px solid #bfd2ef;
  border-radius:11px;
  background:#eaf2ff;
  color:#0b58d0;
  box-shadow:0 7px 18px rgba(11,88,208,.11);
}

.pfs-navigation-modal-icon svg{
  width:21px;
  height:21px;
  fill:currentColor;
}

.pfs-navigation-kicker{
  display:block;
  margin-bottom:3px;
  color:#0b58d0;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.pfs-navigation-modal-head .pfs-modal-title{ margin:0 !important; }
.pfs-navigation-close{ margin-left:auto; }

.pfs-navigation-chooser .pfs-navigation-address{
  position:relative;
  margin:0 0 9px;
  padding:12px 13px 12px 36px;
  border:1px solid #dfe4df;
  border-radius:9px;
  background:#f8faf8;
  color:#303833;
  font-size:10px;
  font-weight:800;
  line-height:1.4;
}

.pfs-navigation-chooser .pfs-navigation-address::before{
  position:absolute;
  top:50%;
  left:13px;
  color:#0b58d0;
  font-size:14px;
  transform:translateY(-50%);
  content:"●";
}

.pfs-navigation-chooser .pfs-navigation-help{
  margin:0 0 15px;
  padding:10px 12px;
  border:1px solid rgba(11,94,234,.16);
  border-radius:9px;
  background:#f3f7ff;
  color:#536477;
  font-size:9px;
  font-weight:650;
  line-height:1.45;
}

.pfs-navigation-options{ display:grid; gap:8px; }
.pfs-navigation-choice{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-height:59px;
  padding:8px 11px;
  border:1px solid #dfe3df;
  border-radius:10px;
  background:#fff;
  color:#26302a;
  text-decoration:none;
  box-shadow:0 3px 10px rgba(28,37,31,.035);
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}

.pfs-navigation-choice:hover{
  border-color:#b9cdec;
  background:#f8fbff;
  transform:translateY(-1px);
}

.pfs-navigation-app-mark{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border:1px solid #c8d8f0;
  border-radius:9px;
  background:#edf4ff;
  color:#0b58d0;
  font-size:13px;
  font-weight:950;
}

.pfs-navigation-choice > .pfs-navigation-app-mark{
  display:grid;
  overflow:hidden;
  padding:0;
  border-color:rgba(38,48,42,.14);
  background:#fff;
  box-shadow:0 3px 8px rgba(31,42,35,.10);
}

.pfs-navigation-choice > .pfs-navigation-app-mark svg{
  display:block;
  width:100%;
  height:100%;
  flex:none;
}

.pfs-navigation-choice-copy{ display:grid; min-width:0; gap:3px; }
.pfs-navigation-choice-copy strong{ color:#2b332e; font-size:11px; font-weight:900; }
.pfs-navigation-choice-copy small{ color:#7c857f; font-size:8px; }
.pfs-navigation-choice > i{ color:#0b58d0; font-size:14px; font-style:normal; }
.pfs-navigation-chooser .pfs-modal-actions{
  margin:16px 0 0 !important;
  padding:14px 0 0 !important;
  border-top:1px solid #e7eae7 !important;
}

.pfs-group-builder-kicker{
  margin-bottom:4px;
  color:#0b58d0;
}

.pfs-group-builder-intro{
  margin:8px 0 18px;
  color:#727b75;
  font-size:10px;
  line-height:1.5;
}

.pfs-group-builder-field span{
  color:#3f4843;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
}

.pfs-group-builder-field input{
  min-height:48px;
  border-radius:9px;
}

.pfs-group-builder-error{
  min-height:22px;
  padding-top:6px;
}

.pfs-group-builder-queue{
  max-height:232px;
  overflow:auto;
  margin-top:2px;
  padding-right:2px;
}

.pfs-group-builder-queue-head{
  position:sticky;
  z-index:1;
  top:0;
  padding:4px 0 6px;
  background:#fff;
}

.pfs-group-builder-queue-head strong{
  display:grid;
  min-width:22px;
  height:22px;
  place-items:center;
  border-radius:999px;
  background:#eaf2ff;
  color:#0b58d0;
}

.pfs-group-builder-empty{
  min-height:72px;
  border:1px solid #e1e5e1;
  border-radius:9px;
  background:#f8faf8;
}

.pfs-group-builder-queue-row{
  min-height:45px;
  padding:0 9px 0 11px;
  border-color:#e1e4e1;
  border-radius:9px;
  background:#fff;
}

.pfs-group-builder-queue-row i{
  display:block;
  width:7px;
  height:7px;
  border:0;
  border-radius:50%;
  background:#2e9d69;
  color:transparent;
}

.pfs-group-builder-queue-row button{
  border-radius:7px;
  background:#f3f5f3;
  color:#717a74;
}

.pfs-group-builder-actions{
  margin-top:17px;
  padding-top:15px;
  border-top:1px solid #e7eae7;
}

@media (max-width:1279px) and (min-width:1081px){
  .pfs-overview-card-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:1080px) and (min-width:861px){
  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-workspace{ padding-right:18px; padding-left:18px; }
  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-pane{ padding-right:20px !important; padding-left:20px !important; }
  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-site-pane{ padding-left:0 !important; }
  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-billing-pane{ padding-right:0 !important; }
  .pfs-overview-card-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:860px){
  body.pfs-redesign #jobDetailsCard .pfs-customer-navigate{
    display:grid !important;
    width:38px;
    height:38px;
    min-width:38px;
    padding:0 !important;
    place-items:center;
    border:1px solid #bdd0ee !important;
    border-radius:9px !important;
    background:#eaf2ff !important;
    color:#0b58d0 !important;
    box-shadow:0 4px 12px rgba(11,88,208,.1) !important;
  }

  body.pfs-redesign #jobDetailsCard .pfs-customer-navigate span{ display:none !important; }
  body.pfs-redesign #jobDetailsCard .pfs-customer-navigate svg{
    width:18px;
    height:18px;
    fill:currentColor;
    stroke:none;
  }

  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-workspace{
    grid-template-columns:1fr;
    gap:0;
    padding:4px 14px 20px;
  }

  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-pane{
    padding:15px 0 20px !important;
  }

  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-site-pane{
    border-right:0 !important;
    border-bottom:1px solid #dfe3df !important;
  }

  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-billing-pane{
    padding-top:20px !important;
  }

  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-site-grid,
  body.pfs-redesign #appMainContent #jobDetailsCard .customer-billing-fields{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px 9px !important;
  }

  body.pfs-redesign #appMainContent #jobDetailsCard :is(.pfs-customer-site-grid,.customer-billing-fields) > .job-field{
    grid-column:1/-1 !important;
  }

  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-site-grid .field-state,
  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-site-grid .field-zip,
  body.pfs-redesign #appMainContent #jobDetailsCard .customer-billing-fields .field-billing-state,
  body.pfs-redesign #appMainContent #jobDetailsCard .customer-billing-fields .field-billing-zip{
    grid-column:span 1 !important;
  }

  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-notes{
    margin:0;
    padding:20px 0 0;
  }

  .pfs-customer-notes-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }

  body.pfs-redesign #appMainContent #windowsCard .pfs-windows-control-pane{
    position:static !important;
  }

  .pfs-overview-card-grid{ grid-template-columns:1fr; }
  .pfs-overview-window-list{ max-height:none; }

  .pfs-navigation-chooser,
  .pfs-group-builder{ padding:19px 17px; }

  .pfs-navigation-choice{ min-height:57px; }
  .pfs-navigation-chooser .pfs-modal-actions button{ width:100%; }
  .pfs-group-builder-actions{ grid-template-columns:1fr 1fr; }
  .pfs-group-builder-actions [data-group-batch-cancel]{ grid-column:1/-1; grid-row:2; }
}

/* Studio 14 — final rules intentionally live at the end of the cascade. */
@media (min-width:861px){
  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-layout,
  body.pfs-redesign #appMainContent #quoteCard .fy-quote-sections{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    align-items:start !important;
    gap:0 !important;
    padding:8px 26px 28px !important;
  }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane){ min-width:0; padding:6px 30px 20px; }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane):first-child{ padding-left:0; border-right:1px solid #dfe3df; }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane):nth-child(2){ padding-right:0; }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .fy-job-section{
    margin:0 !important;
    padding:17px 0 !important;
    border:0 !important;
    border-bottom:1px solid #e8ebe8 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .fy-job-section:last-child{ border-bottom:0 !important; }
  body.pfs-redesign #appMainContent #quoteSummaryCard #fyQuoteSummary{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; align-items:start; gap:12px; }
  body.pfs-redesign #appMainContent #quoteSummaryCard :is(.fy-summary-total-band,.fy-summary-metrics,.fy-summary-empty,.fy-summary-note){ grid-column:1/-1; }

  .pfs-workspace-jobs .jobmgr-top{ gap:12px; margin-bottom:10px; padding:15px 17px; }
  .pfs-workspace-jobs .jobmgr-title-text{ font-size:21px; }
  .pfs-workspace-jobs .jobmgr-command-row{ display:grid; grid-template-columns:auto minmax(210px,1fr) 174px auto; align-items:center; gap:9px; padding-top:11px; border-top:1px solid #e8ebe8; }
  .pfs-workspace-jobs .jobmgr-summary{ grid-template-columns:1.35fr repeat(3,minmax(0,1fr)); gap:0; overflow:hidden; margin-bottom:11px; border:1px solid #dce1dc; border-radius:11px; background:#fff; box-shadow:0 7px 22px rgba(29,35,31,.035); }
  .pfs-workspace-jobs .jobmgr-stat{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; min-height:63px; padding:10px 14px; border:0; border-right:1px solid #e5e8e5; border-radius:0; box-shadow:none; }
  .pfs-workspace-jobs .jobmgr-stat:last-child{ border-right:0; }
  .pfs-workspace-jobs .jobmgr-stat-label{ grid-column:1; margin:0; }
  .pfs-workspace-jobs .jobmgr-stat strong{ grid-column:2; grid-row:1/3; font-size:18px; }
  .pfs-workspace-jobs .jobmgr-stat > span:last-child{ grid-column:1; margin-top:3px; }
  .pfs-workspace-jobs .job-board{ gap:12px; }
  .pfs-workspace-jobs .job-col{ min-height:390px; background:#f1f3f1 !important; }
  .pfs-workspace-jobs .job-col-head{ min-height:51px; padding:9px 11px; }
  .pfs-workspace-jobs .job-col-list{ gap:9px; padding:9px; }
  .pfs-workspace-jobs .job-card{ padding:10px 11px 11px; box-shadow:0 4px 14px rgba(28,35,30,.045) !important; }
  .pfs-workspace-jobs .job-card-customer{ margin-top:7px; }
  .pfs-workspace-jobs .job-card-appointment{ margin-top:8px; padding:7px; }
  .pfs-workspace-jobs .job-card-metrics{ margin-top:8px; padding-top:8px; }
  .pfs-workspace-jobs .job-card-actions{ margin-top:8px; }
}

@media (max-width:1180px) and (min-width:861px){
  .pfs-workspace-jobs .jobmgr-command-row{ grid-template-columns:auto minmax(180px,1fr) 160px; }
  .pfs-workspace-jobs .jobmgr-viewtoggle{ grid-column:1/-1; justify-self:end; }
}

@media (max-width:860px){
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .pfs-editor-pane-heading{ display:none; }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane){ display:contents; }
  body.pfs-redesign #appMainContent #quoteCard .fy-quote-pane > section{ box-shadow:none !important; }
  .pfs-group-operations-table{ overflow:visible; padding:7px 11px 11px; }
  .pfs-group-operations-table .summary-group-table-header{ display:none !important; }
  .pfs-group-operations-table .summary-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px 12px !important;
    min-width:0 !important;
    padding:11px 0 !important;
  }
  .pfs-group-operations-table .summary-row > div{ display:grid; gap:2px; min-width:0; text-align:left !important; }
  .pfs-group-operations-table .summary-row > div:first-child{ grid-column:1/-1; padding-bottom:5px; border-bottom:1px solid #edf0ed; }
  .pfs-group-operations-table .summary-row > div:not(:first-child)::before{ color:#919892; font-size:7px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
  .pfs-group-operations-table .summary-row > div:nth-child(2)::before{ content:"Qty"; }
  .pfs-group-operations-table .summary-row > div:nth-child(3)::before{ content:"Size"; }
  .pfs-group-operations-table .summary-row > div:nth-child(4)::before{ content:"Sq Ft Each"; }
  .pfs-group-operations-table .summary-row > div:nth-child(5)::before{ content:"Total Sq Ft"; }
  .pfs-group-operations-table .summary-row > div:nth-child(6)::before{ content:"Removal"; }
  .pfs-workspace-jobs .jobmgr-command-row{ display:grid; grid-template-columns:1fr; gap:8px; }
  .pfs-workspace-jobs .jobmgr-command-row .jobmgr-tabs{ display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pfs-workspace-jobs .jobmgr-command-row .jobmgr-viewtoggle{ display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.pfs-workspace-connections .pfs-connections-section > header{
  background:transparent !important;
  color:#242b27 !important;
  box-shadow:none !important;
}
.pfs-workspace-connections .pfs-connections-section > header h3{ color:#252c28 !important; }

@media (min-width:861px){
  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-layout,
  body.pfs-redesign #appMainContent #quoteCard .fy-quote-sections{ align-items:stretch !important; }
}

/* Studio 21: one desktop scroll surface for cards and optimization results. */
@media (min-width:861px){
  body.pfs-redesign #appMainContent .input-section{
    position:relative !important;
    top:auto !important;
    align-self:start;
    max-height:none !important;
    overflow:visible !important;
    overscroll-behavior:auto !important;
    scrollbar-gutter:auto !important;
  }
}

/* Studio 22: one persistent active-scope context below the job header. */
.pfs-global-scopebar{
  position:fixed;
  top:72px;
  right:0;
  left:var(--pfs-shell-sidebar);
  z-index:2045;
  min-height:58px;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:7px 22px 7px 26px;
  border-bottom:1px solid #d8ddd9;
  background:#f8f9f7;
  box-shadow:0 7px 20px rgba(24,28,27,.07);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-sizing:border-box;
  isolation:isolate;
  transition:left .2s ease;
}

.pfs-global-scopebar[hidden]{ display:none !important; }

.pfs-legacy-scoped-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:14px 0 18px;
  padding:16px 18px;
  border:1px solid #d7b968;
  border-left:4px solid #b78616;
  border-radius:12px;
  background:#fffaf0;
  color:#182337;
  box-shadow:0 8px 22px rgba(24,35,55,.07);
}
.pfs-legacy-scoped-notice[hidden]{ display:none !important; }
.pfs-legacy-scoped-notice > div:first-child{ display:grid; gap:3px; }
.pfs-legacy-scoped-notice span{ color:#866710; font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.pfs-legacy-scoped-notice strong{ font-size:15px; }
.pfs-legacy-scoped-notice p{ margin:0; color:#5b6575; font-size:12px; line-height:1.45; }
.pfs-legacy-scoped-actions{ display:flex; flex:0 0 auto; gap:8px; }
.pfs-legacy-scoped-actions button,
.pfs-legacy-scoped-actions a{ min-height:40px; display:inline-flex; align-items:center; justify-content:center; padding:0 14px; border:1px solid #c6d1df; border-radius:9px; background:#fff; color:#0b5bd3; font:inherit; font-size:12px; font-weight:850; text-decoration:none; cursor:pointer; }
.pfs-legacy-scoped-actions button{ border-color:#0b5bd3; background:#0b5bd3; color:#fff; }
body.pfs-legacy-scoped-readonly #windowsCard .pfs-windows-control-pane{ display:none !important; }
body.pfs-legacy-scoped-readonly #windowsCard input:disabled,
body.pfs-legacy-scoped-readonly #windowsCard textarea:disabled,
body.pfs-legacy-scoped-readonly #windowsCard select:disabled{ opacity:.8; color:#3e4858; -webkit-text-fill-color:#3e4858; }

@media (max-width:860px){
  .pfs-estimate-response{ align-items:stretch; flex-direction:column; }
  .pfs-estimate-response>button{ width:100%; }
  .pfs-legacy-scoped-notice{ align-items:stretch; flex-direction:column; margin:8px 10px 14px; }
  .pfs-legacy-scoped-actions{ display:grid; grid-template-columns:1fr; }
}

body.pfs-redesign .pfs-global-scopebar{
  top:calc(var(--pfs-appshell-banner-offset, 48px) + 72px);
}

body.pfs-sidebar-collapsed .pfs-global-scopebar{
  left:var(--pfs-shell-sidebar-collapsed);
}

.pfs-global-scope-current{
  min-width:0;
  display:grid;
  gap:2px;
}

.pfs-global-scope-current span{
  color:#817044;
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.pfs-global-scope-current strong{
  overflow:hidden;
  color:#1f2722;
  font-size:14px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-global-scope-tabs{
  min-width:0;
  display:flex;
  align-items:stretch;
  gap:6px;
  overflow-x:auto;
  padding:1px 0 3px;
  scrollbar-width:thin;
}

.pfs-global-scope-tabs button{
  min-height:42px;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 12px;
  border:1px solid #d4dad5;
  border-radius:8px;
  background:#fff;
  color:#46504a;
  font:inherit;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
}

@media (hover:hover) and (pointer:fine){
  .pfs-global-scope-tabs button:hover{
    border-color:#9fbbe2;
    background:#f7faff;
    color:#0b5bd3;
  }
}

.pfs-global-scope-tab{
  display:grid !important;
  grid-template-columns:auto;
  align-content:center;
  justify-items:start !important;
  gap:1px !important;
  min-width:112px;
}

.pfs-global-scope-tab small{
  color:#87918b;
  font-size:9px;
  font-weight:750;
}

.pfs-global-scope-tab.is-active{
  border-color:#0b5bd3;
  background:#0b5bd3;
  color:#fff;
  box-shadow:0 6px 14px rgba(11,91,211,.18);
}

.pfs-global-scope-tab.is-active small{
  color:rgba(255,255,255,.76);
}

.pfs-global-scope-overview{
  color:#28322c !important;
}

.pfs-global-scope-add{
  border-color:#b8cae3 !important;
  color:#0b5bd3 !important;
}

.pfs-global-scope-add svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
}

@media (min-width:861px){
  body.pfs-redesign.pfs-scopes-enabled > .container{
    padding-top:152px;
  }

  body.pfs-redesign:has(#windowsCard.pfs-card-workspace-open) .pfs-global-scopebar,
  body.pfs-redesign:has(#summaryCard.pfs-card-workspace-open) .pfs-global-scopebar{
    top:84px;
    right:14px;
    left:calc(var(--pfs-shell-sidebar) + 14px);
    z-index:2525;
    border-right:1px solid #d8ddd9;
    border-left:1px solid #d8ddd9;
  }

  body.pfs-redesign:has(#windowsCard.pfs-card-workspace-open) .pfs-global-scopebar,
  body.pfs-redesign:has(#summaryCard.pfs-card-workspace-open) .pfs-global-scopebar{
    top:calc(var(--pfs-appshell-banner-offset, 48px) + 84px);
  }

  body.pfs-sidebar-collapsed:has(#windowsCard.pfs-card-workspace-open) .pfs-global-scopebar,
  body.pfs-sidebar-collapsed:has(#summaryCard.pfs-card-workspace-open) .pfs-global-scopebar{
    left:calc(var(--pfs-shell-sidebar-collapsed) + 14px);
  }

  body.pfs-redesign.pfs-scopes-enabled #windowsCard.pfs-card-workspace-open > summary.job-details-header,
  body.pfs-redesign.pfs-scopes-enabled #summaryCard.pfs-card-workspace-open > summary.job-details-header{
    margin-bottom:80px !important;
  }
}

@media (max-width:860px){
  html:has(body.pfs-redesign),
  body.pfs-redesign{
    overflow-x:clip;
    overflow-y:visible;
  }

  body.pfs-redesign .pfs-global-scopebar{
    position:sticky;
    top:0;
    right:auto;
    left:auto;
    z-index:1490;
    min-height:56px;
    grid-template-columns:1fr;
    gap:5px;
    padding:6px 10px;
    margin-bottom:8px;
  }

  .pfs-global-scope-current{
    display:flex;
    align-items:center;
    gap:7px;
  }

  .pfs-global-scope-current span{ font-size:8px; }
  .pfs-global-scope-current strong{ font-size:12px; }
  .pfs-global-scope-tabs{ gap:5px; }
  .pfs-global-scope-tabs button{ min-height:38px; padding:0 10px; font-size:11px; }
  .pfs-global-scope-tab{ min-width:104px; }
  .pfs-global-scope-tab small{ font-size:8px; }

  body.pfs-redesign.pfs-scopes-enabled #appMainContent #jobDetailsCard{
    margin-top:4px !important;
  }

  body.pfs-redesign:has(#windowsCard.pfs-mobile-card-open) .pfs-global-scopebar,
  body.pfs-redesign:has(#summaryCard.pfs-mobile-card-open) .pfs-global-scopebar{
    position:fixed;
    top:64px;
    right:0;
    left:0;
    z-index:2525;
  }

  body.pfs-redesign.pfs-scopes-enabled #windowsCard.pfs-mobile-card-open > summary.job-details-header{
    margin-bottom:78px !important;
  }

  body.pfs-redesign.pfs-scopes-enabled #summaryCard.pfs-mobile-card-open > summary.job-details-header{
    margin-bottom:0 !important;
  }

  body.pfs-redesign #quoteSummaryCard .pfs-summary-workspace[hidden],
  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary[hidden]{
    display:none !important;
  }

  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary{
    display:grid;
    gap:12px;
    padding:0 12px 18px;
  }

  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary > header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:14px;
    border:1px solid #dce2dd;
    border-radius:9px;
    background:#fff;
  }

  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary > header h4{
    margin:3px 0 4px;
    color:#172019;
    font-size:18px;
    font-weight:950;
    letter-spacing:-.03em;
  }

  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary > header p{
    margin:0;
    color:#6f7a73;
    font-size:11px;
    line-height:1.45;
  }

  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary > header em{
    flex:0 0 auto;
    padding:6px 8px;
    border:1px solid #d9dfda;
    border-radius:7px;
    color:#566159;
    font-size:10px;
    font-style:normal;
    font-weight:850;
  }

  .pfs-full-summary-metrics{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:hidden;
    border:1px solid #dce2dd;
    border-radius:9px;
    background:#fff;
  }

  .pfs-full-summary-metrics > div{
    min-width:0;
    display:grid;
    gap:4px;
    padding:13px 14px;
    border-right:1px solid #e3e7e3;
    border-bottom:1px solid #e3e7e3;
  }

  .pfs-full-summary-metrics > div:nth-child(2n){ border-right:0; }
  .pfs-full-summary-metrics > div:last-child{
    grid-column:1/-1;
    border-right:0;
    border-bottom:0;
  }

  .pfs-full-summary-metrics span,
  .pfs-full-summary-row > div > span{
    color:#7d8780;
    font-size:9px;
    font-weight:850;
    letter-spacing:.055em;
    text-transform:uppercase;
  }

  .pfs-full-summary-metrics strong{
    overflow:hidden;
    color:#1a231d;
    font-size:17px;
    font-weight:950;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .pfs-full-summary-list{ display:grid; gap:9px; }
  .pfs-full-summary-head{ display:none; }
  .pfs-full-summary-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:14px;
    border:1px solid #dce2dd;
    border-radius:9px;
    background:#fff;
    box-shadow:inset 3px 0 0 transparent;
  }

  .pfs-full-summary-row.is-active{
    background:#f5f9ff;
    box-shadow:inset 3px 0 0 #0b5bd3;
  }

  .pfs-full-summary-row > div{
    min-width:0;
    display:grid;
    gap:3px;
  }

  .pfs-full-summary-row > div:first-child{ grid-column:1/-1; }
  .pfs-full-summary-row > div > strong{
    overflow:hidden;
    color:#273129;
    font-size:12px;
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .pfs-full-summary-row button{
    grid-column:1/-1;
    min-height:40px;
    border:1px solid #b9cbe5;
    border-radius:7px;
    background:#fff;
    color:#0b5bd3;
    font:inherit;
    font-size:11px;
    font-weight:900;
  }
}

/* Studio 23: desktop information architecture and active-scope workspaces. */
@media (min-width:861px){
  body.pfs-redesign #appMainContent .input-section > #jobDetailsCard{ order:10; }
  body.pfs-redesign #appMainContent .input-section > #windowsCard{ order:20; }
  body.pfs-redesign #appMainContent .input-section > #summaryCard{ order:30; }
  body.pfs-redesign #appMainContent .input-section > #jobInfoCard{ order:40; }
  body.pfs-redesign #appMainContent .input-section > #jobMediaCard{ order:50; }
  body.pfs-redesign #appMainContent .input-section > #quoteCard{ order:60; }
  body.pfs-redesign #appMainContent .input-section > #pfsHistoryCard{ order:65; }
  body.pfs-redesign #appMainContent .input-section > #quoteSummaryCard{ order:70; }
  body.pfs-redesign #appMainContent .input-section > #jobOutputsCard{ order:80; }
  body.pfs-redesign #appMainContent .input-section > .main-actions-left{ order:90; }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary .collapse-indicator{ display:none !important; }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-card-workspace-open,
  body.pfs-redesign #appMainContent .input-section details.pfs-card-workspace-open > summary.job-details-header,
  body.pfs-redesign .pfs-commandbar,
  body.pfs-redesign .pfs-global-scopebar{ border-radius:0 !important; }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-spec-pane > .fy-film-section{
    padding-top:0 !important;
    border-top:0 !important;
  }

  body.pfs-redesign .results-section :is(
    [data-opt-action="open-cut-diagram"],
    [data-opt-action="open-window-list"],
    [data-opt-action="view-plan-roll"][data-view="diagram"],
    [data-opt-action="view-plan-roll"][data-view="windows"],
    [data-opt-action="finish-open-view"][data-view="diagram"],
    [data-opt-action="finish-open-view"][data-view="windows"]
  ){
    border-color:#0952bd !important;
    background:#0b5bd3 !important;
    color:#fff !important;
    box-shadow:0 6px 14px rgba(11,91,211,.18) !important;
  }

  body.pfs-redesign .results-section :is(
    [data-opt-action="open-cut-diagram"],
    [data-opt-action="open-window-list"],
    [data-opt-action="view-plan-roll"],
    [data-opt-action="finish-open-view"]
  ):hover{
    border-color:#07459f !important;
    background:#084eb8 !important;
    color:#fff !important;
  }
}

@media (min-width:861px){
  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary{
    display:grid;
    gap:18px;
    padding:2px 26px 28px;
  }

  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary[hidden]{ display:none !important; }

  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary > header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    padding:4px 0 17px;
    border-bottom:1px solid #dde2de;
  }

  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary > header h4{
    margin:4px 0 5px;
    color:#172019;
    font-size:21px;
    font-weight:950;
    letter-spacing:-.035em;
  }

  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary > header p{
    max-width:720px;
    margin:0;
    color:#6f7a73;
    font-size:12px;
    line-height:1.55;
  }

  body.pfs-redesign #quoteSummaryCard .pfs-full-job-summary > header em{
    padding:7px 10px;
    border:1px solid #d9dfda;
    border-radius:7px;
    background:#fff;
    color:#566159;
    font-size:11px;
    font-style:normal;
    font-weight:850;
  }

  .pfs-full-summary-metrics{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    overflow:hidden;
    border:1px solid #dce2dd;
    border-radius:10px;
    background:#fff;
    box-shadow:0 8px 24px rgba(29,35,31,.035);
  }

  .pfs-full-summary-metrics > div{
    min-width:0;
    display:grid;
    gap:5px;
    padding:16px 18px;
    border-right:1px solid #e3e7e3;
  }

  .pfs-full-summary-metrics > div:last-child{ border-right:0; }
  .pfs-full-summary-metrics span,
  .pfs-full-summary-row > div > span{
    color:#7d8780;
    font-size:9px;
    font-weight:850;
    letter-spacing:.055em;
    text-transform:uppercase;
  }

  .pfs-full-summary-metrics strong{
    overflow:hidden;
    color:#1a231d;
    font-size:20px;
    font-weight:950;
    letter-spacing:-.035em;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .pfs-full-summary-metrics strong small{ font-size:10px; letter-spacing:0; }
  .pfs-full-summary-list{ overflow:hidden; border:1px solid #dce2dd; border-radius:10px; background:#fff; }
  .pfs-full-summary-head,
  .pfs-full-summary-row{ display:grid; grid-template-columns:minmax(210px,1.6fr) .65fr .85fr .9fr .85fr 92px; align-items:center; gap:14px; }
  .pfs-full-summary-head{ padding:10px 14px; border-bottom:1px solid #dce2dd; background:#f2f4f2; color:#6e7871; font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
  .pfs-full-summary-row{ min-height:64px; padding:8px 14px; border-bottom:1px solid #e6e9e6; box-shadow:inset 3px 0 0 transparent; }
  .pfs-full-summary-row:last-child{ border-bottom:0; }
  .pfs-full-summary-row.is-active{ background:#f5f9ff; box-shadow:inset 3px 0 0 #0b5bd3; }
  .pfs-full-summary-row > div{ min-width:0; display:grid; gap:3px; }
  .pfs-full-summary-row > div > strong{ overflow:hidden; color:#273129; font-size:12px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
  .pfs-full-summary-row > div:first-child > strong{ color:#6d766f; font-size:10px; }
  .pfs-full-summary-row button{ min-height:34px; border:1px solid #b9cbe5; border-radius:7px; background:#fff; color:#0b5bd3; font:inherit; font-size:10px; font-weight:900; cursor:pointer; }
  .pfs-full-summary-row button:hover{ border-color:#0b5bd3; background:#0b5bd3; color:#fff; }
}

/* Studio 24: integrate address-based exposure into Job Site Details. */
body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure{
  min-width:0;
  display:grid;
  gap:12px;
  margin:22px 0 0;
  padding:18px 0 0 !important;
  border:0 !important;
  border-top:1px solid #dfe3df !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview-head{
  min-height:36px;
  margin:0;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure-title{
  display:grid;
  gap:2px;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure-title h4{
  margin:0;
  color:#1d2520;
  font-size:15px;
  font-weight:900;
  letter-spacing:-.02em;
  text-transform:none;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview-open{
  min-height:34px;
  padding:0 13px;
  border:1px solid #0952bd !important;
  border-radius:7px !important;
  background:#0b5bd3 !important;
  color:#fff !important;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 5px 12px rgba(11,91,211,.16);
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview-open:hover{
  border-color:#07459f !important;
  background:#084eb8 !important;
  color:#fff !important;
  text-decoration:none;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview{
  grid-template-columns:82px minmax(0,1fr);
  gap:14px;
  min-height:104px;
  padding:12px 14px;
  border-radius:8px;
  background:linear-gradient(105deg,#f4f6f4 0%,#fafbf9 68%,#f7f2e8 100%);
  box-sizing:border-box;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview-compass{
  width:82px;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview-status{
  color:#28322c;
  font-size:13px;
  font-weight:900;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview-detail{
  color:#69736c;
  font-size:10px;
  line-height:1.35;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview-stats{
  gap:8px;
  margin-top:5px;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview-stats > div{
  padding-left:9px;
  border-left:1px solid #d9ded9;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview-stats > div:first-child{
  padding-left:0;
  border-left:0;
}

@media (max-width:860px){
  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure{ margin-top:18px; padding-top:16px !important; }
  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview{ grid-template-columns:72px minmax(0,1fr); min-height:96px; padding:10px 11px; }
  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-site-exposure .fy-sun-preview-compass{ width:72px; }
}

/* Studio 27: the account banner and command bar belong to the document flow.
   The desktop navigation rail starts below them, then sticks at the viewport top. */
@media (min-width:861px){
  body.pfs-redesign .pfs-subscription-access-banner{
    position:relative;
    top:auto;
  }

  body.pfs-redesign .pfs-side-nav{
    position:absolute;
    inset:var(--pfs-appshell-banner-offset, 0px) auto auto 0;
    height:100vh;
  }

  body.pfs-redesign.pfs-sidebar-docked .pfs-side-nav{
    position:fixed;
    inset:0 auto 0 0;
    height:auto;
  }

  body.pfs-redesign .pfs-commandbar{
    position:relative;
    inset:auto;
    flex:0 0 72px;
    margin-left:var(--pfs-shell-sidebar);
    transition:margin-left .2s ease;
  }

  body.pfs-redesign.pfs-sidebar-collapsed .pfs-commandbar{
    margin-left:var(--pfs-shell-sidebar-collapsed);
  }

  body.pfs-redesign > .container{
    padding-top:22px;
  }

  body.pfs-redesign.pfs-scopes-enabled > .container{
    padding-top:80px;
  }
}

/* Studio 28: keep the command bar focused on the current customer and job. */
.pfs-command-contact{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(180px, 1.5fr) minmax(120px, .8fr);
  align-items:center;
  gap:24px;
}

.pfs-command-contact-item{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.pfs-command-contact-item > span{
  color:#8a7140;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}

.pfs-command-contact-item > strong{
  overflow:hidden;
  color:#303733;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-command-contact-item > strong.is-empty{
  color:#8a918c;
  font-weight:700;
}

@media (max-width:1040px) and (min-width:861px){
  .pfs-commandbar{
    grid-template-columns:minmax(150px, .8fr) minmax(180px, 1fr) auto;
    gap:14px;
  }

  .pfs-command-contact{
    grid-template-columns:minmax(0, 1fr);
    gap:5px;
  }

  .pfs-command-contact-item{
    display:grid;
    grid-template-columns:72px minmax(0, 1fr);
    align-items:center;
    gap:7px;
  }
}

/* Studio 29 final cascade: keep the worklist and multi-day editor authoritative. */
.pfs-workspace-jobs .job-worklist .job-list-head,
.pfs-workspace-jobs .job-worklist .job-list-row{
  grid-template-columns:minmax(260px,2.2fr) 118px minmax(205px,1.55fr) 112px 78px 100px !important;
  gap:12px !important;
}

body.pfs-redesign .pfs-schedule-editor-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

body.pfs-redesign .pfs-schedule-editor-grid label:nth-child(5),
body.pfs-redesign .pfs-schedule-editor-grid label:nth-child(6){
  padding-top:11px;
  border-top:1px solid #e1e5e1;
}

@media (max-width:1120px) and (min-width:761px){
  .pfs-workspace-jobs .job-worklist .job-list-head,
  .pfs-workspace-jobs .job-worklist .job-list-row{
    grid-template-columns:minmax(200px,1.7fr) 108px minmax(170px,1.25fr) 100px 88px !important;
  }
  .pfs-workspace-jobs .job-worklist :is(.job-list-head,.job-list-row) > :nth-child(5){ display:none; }
}

@media (max-width:760px){
  .pfs-workspace-jobs .job-worklist .job-list-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:11px 12px !important;
    padding:14px !important;
  }
  body.pfs-redesign .pfs-schedule-editor-grid{ grid-template-columns:1fr; }
  body.pfs-redesign .pfs-schedule-editor-grid label:nth-child(5){ padding-top:11px; border-top:1px solid #e1e5e1; }
  body.pfs-redesign .pfs-schedule-editor-grid label:nth-child(6){ padding-top:0; border-top:0; }
}
.pfs-demo-exploration-notice,
.pfs-demo-storage-notice {
  border: 1px solid rgba(191, 151, 55, .42);
  background: rgba(255, 248, 225, .96);
  color: #493817;
  border-radius: 12px;
  padding: 10px 14px;
}

.pfs-demo-exploration-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 8px 18px 0;
}

.pfs-demo-exploration-notice span { flex: 1; }
.pfs-demo-exploration-notice button {
  border: 0;
  border-radius: 9px;
  padding: 8px 12px;
  background: #1f4b43;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.pfs-demo-storage-notice { margin: 0 0 14px; }
.pfs-demo-card-notice { margin: 0 14px 10px; padding: 8px 10px; border-left: 3px solid #bf9737; background: #fff8e1; color: #5c4619; font-size: 12px; font-weight: 650; }

.pfs-admin-tier-simulator {
  position: fixed; right: 14px; bottom: 14px; z-index: 10020;
  display: grid; grid-template-columns: auto auto auto auto; align-items: center; gap: 7px;
  max-width: calc(100vw - 28px); padding: 9px 10px; border: 1px solid rgba(31, 75, 67, .25);
  border-radius: 12px; background: rgba(255, 255, 255, .97); box-shadow: 0 10px 30px rgba(20, 35, 31, .18);
  color: #173b35; font-size: 12px;
}
.pfs-admin-tier-simulator.is-simulating { border-color: #bf9737; }
.pfs-admin-tier-simulator select, .pfs-admin-tier-simulator button { min-height: 32px; border-radius: 8px; border: 1px solid rgba(31,75,67,.24); background: #fff; color: inherit; }
.pfs-admin-tier-simulator button { padding: 0 9px; cursor: pointer; font-weight: 700; }
.pfs-admin-tier-simulator span { grid-column: 1 / -1; opacity: .72; }

@media (max-width: 860px) {
  .pfs-demo-exploration-notice { align-items: flex-start; flex-wrap: wrap; margin: 8px 10px 0; }
  .pfs-demo-exploration-notice span { flex-basis: calc(100% - 130px); }
}

/* 2026-07-23 cleanup: navigation, operational cards, and document delivery. */
.pfs-side-bottom > .pfs-side-divider{
  margin-top:0;
  margin-bottom:10px;
}

body.pfs-redesign .pfs-command-contact{
  display:grid;
  grid-template-columns:minmax(0,1fr) !important;
  grid-auto-flow:row;
  align-content:center;
  gap:3px;
  min-width:300px;
}

body.pfs-redesign .pfs-command-contact-item{
  display:block;
  min-width:0;
}

body.pfs-redesign .pfs-command-contact-item > strong{
  display:block;
  overflow:hidden;
  color:#344054;
  font-size:12px;
  font-weight:750;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.pfs-redesign .pfs-command-contact-item > strong.is-empty{ color:#98a2b3; }

.pfs-customer-contact-action,
.pfs-customer-navigate{
  display:inline-flex;
  width:auto;
  min-width:0;
  height:34px;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 11px;
  border:1px solid #cfd8e5;
  border-radius:7px;
  background:#fff;
  color:#0b5bd3;
  font:inherit;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}

.pfs-customer-contact-action:hover,
.pfs-customer-navigate:hover{
  border-color:#0b5bd3;
  background:#f4f8ff;
}

.pfs-customer-contact-action svg,
.pfs-customer-navigate svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* The customer card lives in the narrow app-shell column at common laptop
   widths. Preserve the full heading and customer badge before button labels. */
@media (min-width:861px) and (max-width:1560px){
  body.pfs-redesign #jobDetailsCard .pfs-customer-contact-action,
  body.pfs-redesign #jobDetailsCard .pfs-customer-navigate{
    width:34px;
    padding:0;
  }

  body.pfs-redesign #jobDetailsCard .pfs-customer-contact-action span,
  body.pfs-redesign #jobDetailsCard .pfs-customer-navigate span{
    display:none;
  }
}

body.pfs-redesign #appMainContent #windowsCard .pfs-window-entry-actions{
  min-width:auto;
}

.pfs-window-group-action{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:inline-grid;
  place-items:center;
  padding:0;
  border:1px solid #0a54c6;
  border-radius:6px;
  background:#0b5bd3;
  color:#fff;
  font:800 19px/1 Sora,system-ui,sans-serif;
  cursor:pointer;
  box-shadow:0 3px 8px rgba(11,91,211,.18);
}

.pfs-window-group-action:hover{ background:#084eb8; }
.pfs-window-group-action.is-remove{
  border-color:#c63f3f;
  background:#d94b4b;
  box-shadow:0 3px 8px rgba(186,54,54,.16);
}
.pfs-window-group-action.is-remove:hover{ background:#bd3434; }
#windowsCard .pfs-window-group-header{
  grid-template-columns:minmax(0,1fr) auto 26px 18px !important;
}

#windowsCard .window-row[draggable="true"]{ cursor:grab; }
#windowsCard .window-row.is-dragging{ opacity:.42; cursor:grabbing; }
#windowsCard .window-row.is-drop-before{ box-shadow:inset 0 3px 0 #2474df; }
#windowsCard .window-row.is-drop-after{ box-shadow:inset 0 -3px 0 #2474df; }
#windowsCard .pfs-window-group-section.is-drop-target{
  outline:2px solid #2474df;
  outline-offset:2px;
  background:#f2f7ff;
}
#windowsCard .pfs-window-group-section.is-drop-target > .pfs-window-group-header{
  background:#eaf3ff !important;
}

/* Groups are a compact ledger instead of a grid of square cards. */
body.pfs-redesign #summaryCard > .pfs-groups-overview-pane{
  padding-top:20px !important;
}

.pfs-group-ledger-totals{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border:1px solid #dfe4e0;
  border-radius:9px;
  background:#f8faf9;
}

.pfs-group-ledger-totals > div{
  min-width:0;
  display:grid;
  gap:4px;
  padding:13px 15px;
  border-right:1px solid #e1e6e2;
}

.pfs-group-ledger-totals > div:last-child{ border-right:0; }
.pfs-group-ledger-totals span,
.pfs-group-ledger-head{
  color:#7d8780;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.pfs-group-ledger-totals strong{
  overflow:hidden;
  color:#202923;
  font-size:18px;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-group-ledger-totals strong small{ font-size:11px; }
.pfs-group-ledger-head,
.pfs-group-ledger-row > summary{
  display:grid;
  grid-template-columns:minmax(190px,1.5fr) .55fr .7fr .9fr .7fr 20px;
  align-items:center;
  gap:12px;
}

.pfs-group-ledger-head{ padding:18px 14px 8px; }
.pfs-group-ledger{
  overflow:hidden;
  border:1px solid #dfe4e0;
  border-radius:9px;
  background:#fff;
}

.pfs-group-ledger-row{
  border-bottom:1px solid #e5e9e6;
  background:#fff;
}

.pfs-group-ledger-row:last-child{ border-bottom:0; }
.pfs-group-ledger-row > summary{
  min-height:52px;
  padding:8px 14px;
  cursor:pointer;
  list-style:none;
}

.pfs-group-ledger-row > summary::-webkit-details-marker{ display:none; }
.pfs-group-ledger-row > summary > span:not(.pfs-group-ledger-name){
  color:#66716a;
  font-size:12px;
  font-weight:800;
}

.pfs-group-ledger-row > summary > b{
  color:#849088;
  font-size:13px;
  font-weight:700;
  transition:transform .15s ease;
}

.pfs-group-ledger-row[open] > summary > b{ transform:rotate(180deg); }
.pfs-group-ledger-name{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}

.pfs-group-ledger-name i{
  width:4px;
  height:24px;
  flex:0 0 4px;
  border-radius:2px;
  background:var(--group-accent,#c79a3b);
}

.pfs-group-ledger-name strong{
  overflow:hidden;
  color:#202923;
  font-size:14px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pfs-group-ledger-window-head,
.pfs-group-ledger-window{
  display:grid;
  grid-template-columns:minmax(150px,1.35fr) 1fr .45fr .8fr .6fr;
  align-items:center;
  gap:12px;
}

.pfs-group-ledger-window-head{
  padding:7px 20px;
  border-top:1px solid #edf0ed;
  border-bottom:1px solid #e5e9e6;
  background:#f5f7f5;
  color:#879089;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pfs-group-ledger-window{
  min-height:39px;
  padding:6px 20px;
  border-bottom:1px solid #edf0ed;
  color:#68726c;
  font-size:11px;
}

.pfs-group-ledger-window:last-child{ border-bottom:0; }
.pfs-group-ledger-window strong{ color:#29322c; font-weight:850; }
.pfs-group-ledger-window .is-removal{ color:#aa433b; font-weight:850; }
.pfs-group-ledger-empty{ padding:18px 20px; color:#879089; font-size:12px; }

/* Job Details and Quote use one restrained editor surface. */
body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) > .locked-content{
  padding:0 24px 26px !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-layout,
body.pfs-redesign #appMainContent #quoteCard .fy-quote-sections{
  overflow:hidden;
  border:1px solid #dfe4e0;
  border-radius:10px;
  background:#fff;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane){
  padding:22px 24px !important;
  background:#fff !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane):first-child{
  border-right:1px solid #e2e6e3 !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .pfs-editor-pane-heading{
  min-height:0;
  padding:0 0 13px;
  border-bottom:1px solid #e6e9e7;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .pfs-editor-pane-heading h4{
  margin:0;
  font-size:17px;
  letter-spacing:-.03em;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .pfs-editor-pane-heading p{
  max-width:520px;
  margin:5px 0 0;
  color:#717b75;
  font-size:11px;
  line-height:1.45;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .fy-job-section{
  margin:0 !important;
  padding:18px 0 !important;
  border:0 !important;
  border-bottom:1px solid #e8ebe9 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .fy-job-section:last-child{ border-bottom:0 !important; }
body.pfs-redesign #appMainContent #quoteCard :is(.fy-quote-discount-section,.fy-addons-section) .fy-section-head{ display:none; }

/* Summary: quote at left, operational job context at right. */
.pfs-summary-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);
  gap:14px;
  padding:0 24px 26px;
}

.pfs-summary-primary,
.pfs-summary-context{
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe4e0;
  border-radius:10px;
  background:#fff;
}

.pfs-summary-pane-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:17px 18px 14px;
  border-bottom:1px solid #e5e9e6;
  background:#f7f9f8 !important;
  color:#202923 !important;
}

.pfs-summary-pane-heading h4{ margin:3px 0 0; color:#202923; font-size:16px; font-weight:950; letter-spacing:-.025em; }
.pfs-summary-pane-heading .pfs-pane-kicker{ color:#7b857f !important; }
.pfs-summary-pane-heading em{
  padding:5px 7px;
  border-radius:6px;
  background:#f0f2f1;
  color:#7a847e;
  font-size:8px;
  font-style:normal;
  font-weight:850;
}

.pfs-summary-pane-heading em.is-ready{ background:#edf8f1; color:#2b7c50; }
.pfs-summary-pane-heading em.is-stale{ background:#fff4df; color:#8a5a08; }
.pfs-summary-primary > .fy-panel-card{ margin:0 !important; padding:16px 18px 18px !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.pfs-summary-context-block{ display:grid; gap:3px; padding:16px 18px; border-bottom:1px solid #e7ebe8; }
.pfs-summary-context-block span,
.pfs-summary-context-grid span{ color:#818b84; font-size:8px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.pfs-summary-context-block strong{ color:#222b25; font-size:13px; font-weight:900; }
.pfs-summary-context-block small{ color:#737d76; font-size:9px; line-height:1.45; }
.pfs-summary-context-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.pfs-summary-context-grid > div{ min-width:0; display:grid; gap:4px; padding:13px 18px; border-right:1px solid #e7ebe8; border-bottom:1px solid #e7ebe8; }
.pfs-summary-context-grid > div:nth-child(2n){ border-right:0; }
.pfs-summary-context-grid > div:nth-last-child(-n+2){ border-bottom:0; }
.pfs-summary-context-grid strong{ overflow:hidden; color:#29322c; font-size:11px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.pfs-summary-context-empty{ padding:24px; color:#7b857e; font-size:10px; line-height:1.5; }
body.pfs-redesign #quoteSummaryCard > .pfs-full-job-summary{ padding:0 24px 26px; }

/* Simplified film selection and custom catalog entry. */
body.pfs-redesign #jobInfoCard .pfs-scope-material-fields{
  display:grid;
  gap:14px;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

body.pfs-redesign #jobInfoCard .pfs-material-catalog-picker,
body.pfs-redesign #jobInfoCard .pfs-material-custom-fields{
  display:grid;
  gap:9px;
}

body.pfs-redesign #jobInfoCard .pfs-material-catalog-picker > span,
body.pfs-redesign #jobInfoCard .pfs-material-custom-grid label > span,
body.pfs-redesign #jobInfoCard .pfs-material-cost-field > span,
body.pfs-redesign #jobInfoCard .pfs-material-width-fieldset legend{
  color:#3e4a43;
  font-size:11px;
  font-weight:900;
}

body.pfs-redesign #jobInfoCard .pfs-material-catalog-picker > small,
body.pfs-redesign #jobInfoCard .pfs-material-custom-actions small{
  color:#7a857e;
  font-size:10px;
  line-height:1.45;
}

body.pfs-redesign #jobInfoCard .pfs-material-custom-fields{
  padding:16px;
  border:1px solid #dfe5e1;
  border-radius:10px;
  background:#f8faf9;
}

body.pfs-redesign #jobInfoCard .pfs-material-custom-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

body.pfs-redesign #jobInfoCard .pfs-material-custom-grid label,
body.pfs-redesign #jobInfoCard .pfs-material-cost-field{
  display:grid;
  gap:6px;
}

body.pfs-redesign #jobInfoCard .pfs-material-width-fieldset{
  min-width:0;
  margin:2px 0 0;
  padding:0;
  border:0;
}

body.pfs-redesign #jobInfoCard .pfs-material-width-fieldset legend{ margin-bottom:8px; }
body.pfs-redesign #jobInfoCard .pfs-material-width-options{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

body.pfs-redesign #jobInfoCard .pfs-material-width-options label{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:7px 9px;
  border:1px solid #d5ddd8;
  border-radius:8px;
  background:#fff;
  color:#445149;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
}

body.pfs-redesign #jobInfoCard .pfs-material-width-options input{
  width:15px !important;
  min-height:15px !important;
  height:15px;
  margin:0;
}

body.pfs-redesign #jobInfoCard .pfs-material-custom-actions{
  display:flex;
  align-items:center;
  gap:11px;
  padding-top:3px;
}

body.pfs-redesign #jobInfoCard .pfs-material-custom-actions button{
  min-height:38px;
  padding:0 13px;
  border:1px solid #1559c7;
  border-radius:8px;
  background:#1764d9;
  color:#fff;
  font:inherit;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}

body.pfs-redesign #jobInfoCard .pfs-material-custom-actions button:disabled{ opacity:.55; cursor:wait; }

/* Keep the two editor cards visually balanced without stacking extra headings. */
body.pfs-redesign #appMainContent #quoteCard .fy-quote-sections,
body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-layout{
  display:grid !important;
}

body.pfs-redesign #appMainContent #quoteCard .fy-quote-sections{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-layout{
  grid-template-columns:minmax(0,1fr) !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-pane:first-child{
  border-right:0 !important;
  border-bottom:1px solid #e2e6e3 !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .pfs-material-catalog-picker{
  max-width:620px;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field:first-child{
  padding:13px;
  border:1px solid #e1e5e1;
  border-radius:10px;
  background:#fafbfa;
}

body.pfs-redesign #appMainContent #quoteCard .fy-calculated-section > .fy-section-head,
body.pfs-redesign #appMainContent #quoteCard .fy-custom-addons-section > .fy-section-head{
  margin:0 0 12px;
  padding:0;
  border:0;
}

body.pfs-redesign #appMainContent #quoteCard .fy-section-head h4{
  color:#4f5a53;
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.pfs-project-detail-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

.pfs-project-detail-actions .btn-output{ width:100%; }

@media (max-width:860px){
  body.pfs-redesign .pfs-command-contact{ display:none; }
  .pfs-customer-contact-action,
  .pfs-customer-navigate{ width:34px !important; padding:0 !important; }
  .pfs-customer-contact-action span,
  .pfs-customer-navigate span{ display:none !important; }
  #windowsCard .pfs-window-group-header{ grid-template-columns:minmax(0,1fr) auto 26px 18px !important; }
  .pfs-group-ledger-totals{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pfs-group-ledger-totals > div{ border-bottom:1px solid #e1e6e2; }
  .pfs-group-ledger-totals > div:nth-child(2n){ border-right:0; }
  .pfs-group-ledger-totals > div:last-child{ grid-column:1/-1; border-bottom:0; }
  .pfs-group-ledger-head{ display:none; }
  .pfs-group-ledger-row > summary{ grid-template-columns:minmax(0,1fr) auto 18px; gap:9px; }
  .pfs-group-ledger-row > summary > span:nth-child(3),
  .pfs-group-ledger-row > summary > span:nth-child(4),
  .pfs-group-ledger-row > summary > span:nth-child(5){ display:none; }
  .pfs-group-ledger-window-head{ display:none; }
  .pfs-group-ledger-window{ grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; }
  .pfs-group-ledger-window > span:nth-child(3),
  .pfs-group-ledger-window > span:nth-child(4){ display:none; }
  .pfs-summary-workspace{ grid-template-columns:1fr; padding:0 14px 18px; }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) > .locked-content{ padding:0 14px 18px !important; }
  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-layout,
  body.pfs-redesign #appMainContent #quoteCard .fy-quote-sections{ display:block !important; }
  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane):first-child{ border-right:0 !important; border-bottom:1px solid #e2e6e3 !important; }
  body.pfs-redesign #jobInfoCard .pfs-material-custom-grid,
  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid{ grid-template-columns:minmax(0,1fr); }
  body.pfs-redesign #jobInfoCard .pfs-material-width-options{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.pfs-redesign #jobInfoCard .pfs-material-custom-actions{ align-items:flex-start; flex-direction:column; }
}

/* 2026-07-24 cleanup: scrollable navigation, tucked-away admin tools, and
   a more deliberate installation-details workspace. */
body.pfs-redesign .pfs-side-nav{
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-color:rgba(255,255,255,.24) transparent;
  scrollbar-width:thin;
}

body.pfs-redesign .pfs-side-nav::-webkit-scrollbar{ width:7px; }
body.pfs-redesign .pfs-side-nav::-webkit-scrollbar-track{ background:transparent; }
body.pfs-redesign .pfs-side-nav::-webkit-scrollbar-thumb{
  border:2px solid transparent;
  border-radius:999px;
  background:rgba(255,255,255,.24);
  background-clip:padding-box;
}

/* Mobile navigation polish: card headers stay clean and More behaves like
   the desktop navigation rail sliding up from the bottom edge. */
@media (max-width:860px){
  body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header .collapse-indicator{
    display:none !important;
  }

  body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header .header-right{
    gap:0;
  }

  body.pfs-redesign .modal-overlay:has(.pfs-mobile-more-menu){
    z-index:2700 !important;
    align-items:stretch !important;
    justify-content:stretch !important;
    padding:0 !important;
    background:rgba(3,11,21,.58) !important;
    backdrop-filter:blur(8px);
    transition:background-color .22s ease;
    animation:pfs-mobile-more-backdrop-in .18s ease-out;
  }

  body.pfs-redesign .modal-overlay:has(.pfs-mobile-more-menu){
    background:rgba(3,11,21,calc(.58 * (1 - var(--pfs-mobile-more-drag-progress, 0)))) !important;
  }

  body.pfs-redesign .modal-content-wide:has(.pfs-mobile-more-menu){
    width:100% !important;
    height:100% !important;
    min-height:100svh !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:0 !important;
    background:#071421 !important;
    color:#edf7ff !important;
    box-shadow:0 -24px 70px rgba(3,11,21,.38) !important;
    animation:pfs-mobile-more-rise .20s cubic-bezier(.22,.72,.28,1);
    will-change:transform;
  }

  .pfs-mobile-more-menu{
    width:100%;
    height:100%;
    max-height:none;
    display:flex;
    flex-direction:column;
    padding:env(safe-area-inset-top) 0 calc(16px + env(safe-area-inset-bottom));
    overflow:hidden;
    background:
      radial-gradient(circle at 18% 0%, rgba(199,154,59,.13), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.045), transparent 32%),
      linear-gradient(180deg, var(--pfs-shell-navy), #05111f 72%, #030b15);
  }

  .pfs-mobile-more-handle{
    width:100%;
    height:27px;
    min-height:27px;
    flex:0 0 27px;
    display:grid;
    margin:0;
    padding:0;
    place-items:center;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    cursor:grab;
    touch-action:none;
    -webkit-tap-highlight-color:transparent;
  }

  .pfs-mobile-more-handle > span{
    width:42px;
    height:4px;
    border-radius:999px;
    background:rgba(255,255,255,.32);
    transition:background-color .16s ease, transform .16s ease;
  }

  .pfs-mobile-more-handle:active{
    cursor:grabbing;
  }

  .pfs-mobile-more-handle:active > span,
  .pfs-mobile-more-handle:focus-visible > span{
    background:rgba(255,255,255,.58);
    transform:scaleX(1.12);
  }

  body.pfs-redesign .modal-content-wide:has(.pfs-mobile-more-menu).is-dragging{
    animation:none;
    transition:none;
  }

  body.pfs-redesign .modal-content-wide:has(.pfs-mobile-more-menu).is-settling{
    animation:none;
    transition:transform .22s cubic-bezier(.22,.72,.28,1);
  }

  body.pfs-redesign .modal-content-wide:has(.pfs-mobile-more-menu).is-dismissing{
    animation:none;
    transform:translate3d(0,100dvh,0);
    transition:transform .24s cubic-bezier(.4,0,1,1);
  }

  .pfs-mobile-more-head{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:7px 16px 12px;
    border-bottom:1px solid rgba(255,255,255,.09);
    border-radius:0;
    background:transparent !important;
    box-shadow:none !important;
  }

  .pfs-mobile-more-brand{
    min-width:0;
    display:flex;
    align-items:center;
    gap:11px;
  }

  .pfs-mobile-more-brand img{
    width:34px;
    height:34px;
    flex:0 0 34px;
    object-fit:contain;
  }

  .pfs-mobile-more-brand > div{
    min-width:0;
    display:grid;
    gap:3px;
  }

  .pfs-mobile-more-brand span,
  .pfs-mobile-more-section-label{
    color:#d8b862;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
    line-height:1;
    text-transform:uppercase;
  }

  .pfs-mobile-more-brand strong{
    overflow:hidden;
    color:#fff;
    font-size:15px;
    font-weight:900;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body.pfs-redesign .pfs-mobile-more-close{
    width:38px;
    height:38px;
    min-height:38px;
    flex:0 0 38px;
    display:grid;
    padding:0;
    place-items:center;
    border:1px solid rgba(255,255,255,.14);
    border-radius:9px;
    background:rgba(255,255,255,.07);
    color:#dbe6f2;
  }

  .pfs-mobile-more-close svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
  }

  .pfs-mobile-more-nav{
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:13px 12px 4px;
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  .pfs-mobile-more-section-label{
    padding:5px 12px 6px;
    color:#8fa0b4;
  }

  body.pfs-redesign .pfs-mobile-more-item,
  body.pfs-redesign .pfs-mobile-more-subitem{
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    gap:12px;
    margin:0;
    padding:0 12px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#d5dfeb;
    font-size:14px;
    font-weight:800;
    text-align:left;
    box-shadow:none;
  }

  body.pfs-redesign .pfs-mobile-more-item:active,
  body.pfs-redesign .pfs-mobile-more-item:focus-visible,
  body.pfs-redesign .pfs-mobile-more-subitem:active,
  body.pfs-redesign .pfs-mobile-more-subitem:focus-visible{
    outline:none;
    background:rgba(255,255,255,.10);
    color:#fff;
  }

  .pfs-mobile-more-item > svg{
    width:20px;
    height:20px;
    flex:0 0 20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .pfs-mobile-presets-menu{
    display:grid;
    gap:2px;
  }

  body.pfs-redesign .pfs-mobile-more-menu .pfs-mobile-presets-toggle{
    padding:0 12px !important;
    border:0 !important;
    background:transparent !important;
    color:#d5dfeb !important;
  }

  .pfs-mobile-menu-chevron{
    width:18px;
    height:18px;
    display:grid;
    margin-left:auto;
    place-items:center;
    color:#8fa0b4;
    transition:transform .16s ease,color .16s ease;
  }

  .pfs-mobile-menu-chevron svg{
    width:14px;
    height:14px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
  }

  .pfs-mobile-presets-toggle[aria-expanded="true"] .pfs-mobile-menu-chevron{
    color:#fff;
    transform:rotate(180deg);
  }

  .pfs-mobile-presets-submenu{
    display:grid;
    grid-template-columns:1fr;
    gap:2px;
    padding:1px 0 5px 36px;
  }

  .pfs-mobile-presets-submenu[hidden]{ display:none; }

  body.pfs-redesign .pfs-mobile-more-subitem{
    min-height:36px;
    gap:9px;
    padding:0 10px;
    color:#aebdce;
    font-size:12px;
  }

  .pfs-mobile-more-subitem > span{
    width:6px;
    height:6px;
    flex:0 0 6px;
    border:1px solid currentColor;
    border-radius:50%;
    opacity:.7;
  }

  .pfs-mobile-more-divider{
    height:1px;
    margin:8px 10px;
    background:rgba(255,255,255,.09);
  }

  body.pfs-redesign .pfs-mobile-more-item.is-danger{
    color:#efb0b0;
  }

  body.pfs-redesign .pfs-mobile-more-item.pfs-mobile-admin-test{
    color:#e5c678;
  }
}

@keyframes pfs-mobile-more-rise{
  from{ opacity:0; transform:translateY(48px); }
  to{ opacity:1; transform:translateY(0); }
}

@keyframes pfs-mobile-more-backdrop-in{
  from{ opacity:0; }
  to{ opacity:1; }
}

@media (prefers-reduced-motion:reduce){
  body.pfs-redesign .modal-overlay:has(.pfs-mobile-more-menu),
  body.pfs-redesign .modal-content-wide:has(.pfs-mobile-more-menu){
    animation:none;
  }

  body.pfs-redesign .modal-content-wide:has(.pfs-mobile-more-menu).is-settling,
  body.pfs-redesign .modal-content-wide:has(.pfs-mobile-more-menu).is-dismissing{
    transition-duration:1ms;
  }
}

body.pfs-redesign .pfs-side-brand,
body.pfs-redesign .pfs-side-section{
  flex:0 0 auto;
}

.pfs-admin-tier-trigger{
  color:#e5c678;
}

.pfs-admin-tier-trigger[aria-expanded="true"]{
  background:rgba(199,154,59,.16);
  color:#f1d38b;
}

.pfs-admin-tier-simulator{
  position:fixed;
  left:calc(var(--pfs-shell-sidebar) + 14px);
  right:auto;
  bottom:16px;
  z-index:10020;
  width:min(330px,calc(100vw - var(--pfs-shell-sidebar) - 30px));
  max-width:none;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  gap:14px;
  padding:16px;
  border:1px solid #d8ddd9;
  border-radius:12px;
  background:#fff;
  box-shadow:0 20px 55px rgba(17,25,21,.2);
  color:#26312a;
  font-size:12px;
  opacity:0;
  pointer-events:none;
  transform:translateX(-14px);
  transition:left .2s ease,opacity .18s ease,transform .18s ease;
}

body.pfs-sidebar-collapsed .pfs-admin-tier-simulator{
  left:calc(var(--pfs-shell-sidebar-collapsed) + 14px);
  width:min(330px,calc(100vw - var(--pfs-shell-sidebar-collapsed) - 30px));
}

.pfs-admin-tier-simulator.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translateX(0);
}

.pfs-admin-tier-simulator.is-simulating{ border-color:#c79a3b; }

.pfs-admin-tier-simulator header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.pfs-admin-tier-simulator header > div{
  display:grid;
  gap:3px;
}

.pfs-admin-tier-simulator header small,
.pfs-admin-tier-simulator label > span{
  color:#7a847e;
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.pfs-admin-tier-simulator header strong{
  color:#1d2721;
  font-size:16px;
  font-weight:900;
}

.pfs-admin-tier-simulator header button{
  width:30px;
  min-height:30px;
  padding:0;
  border:1px solid #dce1dd;
  border-radius:7px;
  background:#f7f8f7;
  color:#556159;
  font-size:20px;
  line-height:1;
}

.pfs-admin-tier-simulator label{
  display:grid;
  gap:7px;
}

.pfs-admin-tier-simulator select{
  width:100%;
  min-height:40px;
  padding:0 10px;
  border:1px solid #cfd6d1;
  border-radius:8px;
  background:#fff;
  color:#26312a;
  font:inherit;
  font-weight:750;
}

.pfs-admin-tier-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.pfs-admin-tier-actions button{
  min-height:38px;
  padding:0 10px;
  border:1px solid #cfd6d1;
  border-radius:8px;
  background:#f7f9f7;
  color:#324039;
  font:inherit;
  font-weight:850;
  cursor:pointer;
}

.pfs-admin-tier-actions button:hover{ background:#eef2ef; }
.pfs-admin-tier-simulator > [data-simulation-status]{
  grid-column:1;
  color:#6f7973;
  font-size:11px;
  opacity:1;
}

/* Give the compact group ledger a comfortable reading size. */
.pfs-group-ledger-totals span,
.pfs-group-ledger-head{ font-size:11px; }
.pfs-group-ledger-row > summary > span:not(.pfs-group-ledger-name){ font-size:13px; }
.pfs-group-ledger-name strong{ font-size:15px; }
.pfs-group-ledger-window-head{ font-size:10px; }
.pfs-group-ledger-window{
  min-height:42px;
  font-size:12.5px;
}

/* Job Details: balanced rows, tighter choices, and a continuous editor surface. */
body.pfs-redesign #appMainContent #jobInfoCard .pfs-editor-pane-heading{
  margin:-22px -24px 18px;
  padding:15px 20px 14px;
  border-bottom:1px solid #e1e5e2;
  border-left:4px solid #c79a3b;
  background:#f7f8f7;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-job-section{
  padding:0 !important;
  border-bottom:0 !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-conditions-pane{
  padding-bottom:24px !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  gap:12px;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field{
  min-width:0;
  margin:0;
  padding:14px;
  border:1px solid #dfe4e0;
  border-radius:9px;
  background:#fbfcfb;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field:nth-child(1){
  grid-column:span 4;
  grid-row:1;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field:nth-child(2){
  grid-column:span 6;
  grid-row:2;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field:nth-child(3){
  grid-column:span 8;
  grid-row:1;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field:nth-child(4){
  grid-column:span 6;
  grid-row:2;
}

body.pfs-redesign #appMainContent #jobInfoCard :is(.fy-group-label,.fy-field > label){
  display:block;
  margin:0 0 8px;
  color:#334039;
  font-size:10px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-check-grid,
body.pfs-redesign #appMainContent #jobInfoCard .fy-check-grid-tight{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field:nth-child(3) .fy-check-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-check-chip{
  min-height:40px !important;
  padding:8px 9px !important;
  border:1px solid #d9dfda !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#39443e !important;
  font-size:10.5px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-check-chip:has(input:checked){
  border-color:#72a6ea !important;
  background:#edf5ff !important;
  color:#194e91 !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-check-chip input{
  width:16px !important;
  height:16px !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-notes-section{
  margin-top:12px !important;
  padding:14px !important;
  border:1px solid #dfe4e0 !important;
  border-radius:9px !important;
  background:#fbfcfb !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-notes-section textarea{
  min-height:92px !important;
  resize:vertical;
}

@media (max-width:1120px) and (min-width:861px){
  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field{
    grid-column:1/-1 !important;
    grid-row:auto !important;
  }
}

@media (max-width:860px){
  .pfs-admin-tier-simulator{
    left:12px;
    right:12px;
    bottom:calc(82px + env(safe-area-inset-bottom));
    width:auto;
    max-height:calc(100dvh - 110px - env(safe-area-inset-bottom));
    overflow-y:auto;
    transform:translateY(14px);
  }
  body.pfs-sidebar-collapsed .pfs-admin-tier-simulator{
    left:12px;
    right:12px;
    width:auto;
  }
  .pfs-admin-tier-simulator.is-open{
    transform:translateY(0);
  }
  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }
  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field{
    grid-column:1 !important;
    grid-row:auto !important;
  }
  body.pfs-redesign #appMainContent #jobInfoCard .fy-check-grid,
  body.pfs-redesign #appMainContent #jobInfoCard .fy-check-grid-tight,
  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field:nth-child(3) .fy-check-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Keep Quote controls on the same editor scale and visual language as Job Details. */
body.pfs-redesign #appMainContent #quoteCard :is(.fy-group-label,.fy-field > label){
  display:block;
  margin:0 0 8px;
  color:#334039;
  font-size:10px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}

body.pfs-redesign #appMainContent #quoteCard :is(.fy-field input,.fy-field select,.fy-addon-row input){
  min-height:44px;
  padding:0 10px;
  border:1px solid #d8dee8 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#111827 !important;
  font-size:13px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7) !important;
}

body.pfs-redesign #appMainContent #quoteCard .fy-btn{
  min-height:41px;
  padding:0 12px;
  border:1px solid #0a55c7 !important;
  border-radius:8px !important;
  background:#0b58d0 !important;
  color:#fff !important;
  font-size:12px;
  box-shadow:0 7px 16px rgba(11,88,208,.16) !important;
}

body.pfs-redesign #appMainContent #quoteCard .fy-btn:hover{
  border-color:#084aa8 !important;
  background:#094fba !important;
  box-shadow:0 8px 18px rgba(11,88,208,.2) !important;
}

/* 2026-07-28: card and workspace interiors share the Build Cut Plan design
   system without inheriting its modal dimensions. */
body.pfs-redesign #appMainContent .input-section details.collapsible-card{
  border:1px solid rgba(216,222,232,.94) !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(7,23,39,.045) !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card::before{
  display:none !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header{
  background:#fff !important;
  border-bottom:1px solid transparent !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card[open]{
  border-color:rgba(216,222,232,.96) !important;
  background:#f7f9fc !important;
  box-shadow:0 14px 34px rgba(7,23,39,.085) !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card[open] > summary.job-details-header{
  border-bottom-color:#d8dee8 !important;
}

/* Cut plan rules are plan-time choices and sit above the mode tabs. */
body.pfs-redesign .fy-opt-modal .fy-plan-rules{
  margin:0 0 12px;
  overflow:hidden;
  border:1px solid #d8dee8;
  border-radius:10px;
  background:#fff;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rules > summary{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:9px 12px;
  list-style:none;
  cursor:pointer;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rules > summary::-webkit-details-marker{
  display:none;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rules[open] > summary{
  border-bottom:1px solid #d8dee8;
  background:#f8fafc;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rules-heading{
  min-width:0;
  display:grid;
  gap:3px;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rules-heading strong{
  color:#344054;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rules-heading small{
  overflow:hidden;
  color:#667085;
  font-size:12px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rules-review{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--pfs-shell-blue);
  font-size:12px;
  font-weight:900;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rules-review i{
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .16s ease;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rules[open] .fy-plan-rules-review i{
  transform:rotate(225deg) translate(-1px,-1px);
}

body.pfs-redesign .fy-opt-modal .fy-plan-rule-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:10px;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rule-choice{
  min-width:0;
  min-height:66px;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  gap:9px;
  padding:10px;
  border:1px solid #d8dee8;
  border-radius:8px;
  background:#fff;
  cursor:pointer;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rule-choice:has(input:checked){
  border-color:rgba(11,94,234,.48);
  background:#eef5ff;
  box-shadow:0 0 0 3px rgba(11,94,234,.09);
}

body.pfs-redesign .fy-opt-modal .fy-plan-rule-choice input{
  width:16px;
  height:16px;
  margin:2px 0 0;
  accent-color:var(--pfs-shell-blue);
}

body.pfs-redesign .fy-opt-modal .fy-plan-rule-choice span{
  min-width:0;
  display:grid;
  gap:4px;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rule-choice strong{
  color:#344054;
  font-size:12px;
  font-weight:900;
}

body.pfs-redesign .fy-opt-modal .fy-plan-rule-choice small{
  color:#667085;
  font-size:11px;
  font-weight:700;
  line-height:1.35;
}

/* Customer actions remain field tools on mobile, not desktop card chrome. */
@media (min-width:861px){
  body.pfs-redesign #jobDetailsCard .pfs-customer-contact-action,
  body.pfs-redesign #jobDetailsCard .pfs-customer-navigate{
    display:none !important;
  }
}

@media (max-width:860px){
  body.pfs-redesign #appMainContent .input-section details.collapsible-card.pfs-mobile-card-open::before{
    display:none !important;
  }

  body.pfs-redesign .fy-opt-modal .fy-plan-rule-options{
    grid-template-columns:1fr;
  }

  body.pfs-redesign .fy-opt-modal .fy-plan-rule-choice{
    min-height:58px;
  }

  /* A linked billing address is summarized; fields appear only when different. */
  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-billing-pane.is-linked .customer-billing-fields{
    display:none !important;
  }

  /* Quote is a full-width mobile editor with inactive controls collapsed. */
  body.pfs-redesign #appMainContent #quoteCard > summary .meta-inline{
    display:inline-flex !important;
  }

  body.pfs-redesign #appMainContent #quoteCard > .locked-content{
    margin:0 !important;
    padding:0 0 18px !important;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-quote-sections{
    overflow:visible;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-quote-pane{
    padding:4px 16px 10px !important;
    background:transparent !important;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-quote-pane:first-child{
    border-bottom:1px solid #d8dee8 !important;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-job-section{
    padding:16px 0 !important;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-discount-value-field[data-active="false"]{
    display:none;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-calculated-charges{
    overflow:visible;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-charge-row{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:9px 12px;
    padding:12px 0;
    border-bottom:1px solid #e1e6ee;
    background:transparent;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-charge-main{
    grid-column:1;
    grid-row:1;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-charge-total{
    grid-column:2;
    grid-row:1;
    align-self:end;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    color:#344054;
    font-size:13px;
    text-align:right;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-charge-rate,
  body.pfs-redesign #appMainContent #quoteCard .fy-charge-hint{
    grid-column:1/-1;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-charge-row[data-mode="none"] :is(.fy-charge-rate,.fy-charge-total,.fy-charge-hint){
    display:none;
  }
}

/* =========================================================
   Modal-language interior redesign
   ========================================================= */
body.pfs-redesign{
  --pfs-surface-canvas:#f7f9fc;
  --pfs-surface-panel:#fff;
  --pfs-surface-soft:#f8fafc;
  --pfs-surface-border:#d8dee8;
  --pfs-surface-ink:#172033;
  --pfs-surface-muted:#667085;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card[open] > :not(summary){
  background:var(--pfs-surface-canvas);
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card[open] > .locked-content{
  padding:16px 18px 18px !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header{
  min-height:62px !important;
  padding:13px 18px !important;
}

body.pfs-redesign #appMainContent .input-section details.collapsible-card > summary.job-details-header h3{
  color:var(--pfs-surface-ink) !important;
  font-size:17px !important;
  font-weight:950 !important;
  letter-spacing:0 !important;
}

body.pfs-redesign #appMainContent :is(.pfs-pane-kicker,.pfs-media-kicker,.pfs-output-copy > span,.pfs-output-intro > div > span){
  color:#0b5eea !important;
  font-size:10px !important;
  font-weight:950 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
}

body.pfs-redesign #appMainContent :is(.pfs-pane-heading,.pfs-summary-pane-heading,.pfs-overview-heading,.pfs-window-actions-heading){
  margin:0 !important;
  padding:14px 16px 13px !important;
  border-bottom:1px solid var(--pfs-surface-border) !important;
  background:var(--pfs-surface-soft) !important;
}

body.pfs-redesign #appMainContent :is(.pfs-pane-heading,.pfs-summary-pane-heading,.pfs-overview-heading,.pfs-window-actions-heading) h4{
  margin:3px 0 0 !important;
  color:var(--pfs-surface-ink) !important;
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}

body.pfs-redesign #appMainContent :is(.pfs-overview-heading,.pfs-window-actions-heading) p{
  margin:6px 0 0 !important;
  color:var(--pfs-surface-muted) !important;
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
}

body.pfs-redesign #appMainContent :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  border-color:var(--pfs-surface-border) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent :is(input:not([type="checkbox"]):not([type="radio"]),select){
  min-height:42px;
}

body.pfs-redesign #appMainContent :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
  border-color:rgba(11,94,234,.58) !important;
  box-shadow:0 0 0 3px rgba(11,94,234,.11) !important;
  outline:0 !important;
}

/* Customer */
body.pfs-redesign #appMainContent #jobDetailsCard > .locked-content{
  padding:16px 18px 18px !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-workspace{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:start !important;
  gap:14px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard :is(.pfs-customer-pane,.pfs-customer-notes){
  overflow:hidden;
  margin:0 !important;
  padding:0 !important;
  border:1px solid var(--pfs-surface-border) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-pane + .pfs-customer-pane{
  border-left:1px solid var(--pfs-surface-border) !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-pane > :not(.pfs-pane-heading){
  margin-left:16px;
  margin-right:16px;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-pane > :last-child{
  margin-bottom:16px;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-pane .job-details-grid{
  padding:16px 0 0 !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-notes{
  grid-column:1/-1;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-notes-heading{
  margin:0 !important;
  padding:14px 16px 13px !important;
  border-bottom:1px solid var(--pfs-surface-border);
  background:var(--pfs-surface-soft);
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-notes textarea{
  width:calc(100% - 32px) !important;
  margin:16px !important;
}

body.pfs-redesign #appMainContent #jobDetailsCard .customer-billing-toggle{
  margin-top:16px !important;
  padding:11px 12px !important;
  border:1px solid var(--pfs-surface-border);
  border-radius:8px;
  background:#fff;
}

body.pfs-redesign #appMainContent #jobDetailsCard .pfs-billing-link-status{
  padding:10px 12px;
  border-radius:8px;
  background:#eef5ff;
  color:#344054;
  font-size:12px;
  font-weight:800;
}

/* Windows: scope is the first, explanatory planning control. */
body.pfs-redesign #appMainContent #windowsCard .pfs-windows-workspace{
  align-items:start !important;
  gap:14px !important;
  padding:16px 18px 18px !important;
  background:var(--pfs-surface-canvas) !important;
}

body.pfs-redesign #appMainContent #windowsCard :is(.pfs-windows-control-pane,.pfs-windows-entry-pane){
  display:grid;
  gap:12px;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

body.pfs-redesign #appMainContent #windowsCard :is(.pfs-scope-quick-actions,.pfs-window-actions-panel,.pfs-windows-entry-pane){
  overflow:hidden;
  border:1px solid var(--pfs-surface-border) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) !important;
  align-items:stretch !important;
  gap:0;
  margin:0 !important;
  padding:0 !important;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-actions[hidden]{
  display:none !important;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-heading{
  display:flex;
  align-items:center;
  gap:11px;
  padding:14px 16px 12px;
  border-bottom:1px solid var(--pfs-surface-border);
  background:linear-gradient(90deg,rgba(11,94,234,.075),transparent 70%),var(--pfs-surface-soft);
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-mark{
  flex:0 0 auto;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#0b5eea;
  color:#fff;
  font-size:15px;
  font-weight:950;
  box-shadow:0 7px 16px rgba(11,94,234,.20);
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-heading h4{
  margin:3px 0 0;
  color:var(--pfs-surface-ink);
  font-size:16px;
  line-height:1.2;
  font-weight:950;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-description{
  margin:0;
  padding:13px 16px;
  color:var(--pfs-surface-muted);
  font-size:12px;
  line-height:1.5;
  font-weight:750;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-state{
  display:grid;
  gap:3px;
  margin:0 16px 12px;
  padding:10px 11px;
  border:1px solid #dce6f4;
  border-radius:8px;
  background:#f4f8fe;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-state span{
  color:#667085;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-state strong{
  color:#344054;
  font-size:12px;
  line-height:1.35;
  font-weight:900;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-buttons{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:0 16px 16px;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-buttons button{
  min-height:42px;
  border:1px solid #d8dee8;
  border-radius:8px;
  background:#fff;
  color:#344054;
  font-size:12px;
  font-weight:950;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-buttons #pfsAddScopeBtn{
  border-color:#0b5eea;
  background:linear-gradient(180deg,#0b5eea,#084aa8);
  color:#fff;
  box-shadow:0 8px 18px rgba(11,94,234,.20);
}

body.pfs-redesign #appMainContent #windowsCard .pfs-window-actions-panel .window-controls-bottom{
  padding:14px 16px 8px !important;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-window-actions-panel .window-controls-bottom > button{
  min-height:42px !important;
  border-radius:8px !important;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-pane-heading{
  min-height:67px;
}

body.pfs-redesign #appMainContent #windowsCard :is(.table-header,.windows-list,.windows-inline-notice){
  margin-left:14px !important;
  margin-right:14px !important;
}

body.pfs-redesign #appMainContent #windowsCard .windows-inline-notice{
  margin-bottom:14px !important;
}

/* Shared modal-style navigation inside dense card editors. */
body.pfs-redesign #appMainContent .pfs-card-section-nav{
  position:sticky;
  top:0;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  margin:0 0 12px;
  padding:4px;
  border:1px solid var(--pfs-surface-border);
  border-radius:10px;
  background:#edf2f8;
}

body.pfs-redesign #appMainContent .pfs-card-section-nav button{
  min-height:42px;
  padding:0 12px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#475467;
  font-size:13px;
  font-weight:950;
  box-shadow:none;
}

body.pfs-redesign #appMainContent .pfs-card-section-nav button:hover{
  background:rgba(255,255,255,.76);
  color:var(--pfs-surface-ink);
}

body.pfs-redesign #appMainContent .pfs-card-section-nav button.active{
  background:linear-gradient(180deg,#0b5eea,#084aa8);
  color:#fff;
  box-shadow:0 8px 18px rgba(11,94,234,.22);
}

body.pfs-redesign #appMainContent [data-card-panel][hidden]{
  display:none !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-layout,.fy-quote-sections){
  display:block !important;
  overflow:visible !important;
  border:0 !important;
  background:transparent !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane){
  width:100%;
  padding:0 !important;
  border:1px solid var(--pfs-surface-border) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .pfs-editor-pane-heading{
  display:block !important;
  margin:0 !important;
  padding:14px 16px 13px !important;
  border:0 !important;
  border-bottom:1px solid var(--pfs-surface-border) !important;
  background:var(--pfs-surface-soft) !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .pfs-editor-pane-heading > span{
  display:block;
  margin-bottom:3px;
  color:#0b5eea;
  font-size:10px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .pfs-editor-pane-heading h4{
  margin:0 !important;
  color:var(--pfs-surface-ink) !important;
  font-size:16px !important;
  font-weight:950 !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .pfs-editor-pane-heading p{
  margin:5px 0 0 !important;
  color:var(--pfs-surface-muted) !important;
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .fy-job-section{
  margin:0 !important;
  padding:16px !important;
  border:0 !important;
  border-bottom:1px solid #e5e9f0 !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .fy-job-section:last-child{
  border-bottom:0 !important;
}

body.pfs-redesign #appMainContent #jobInfoCard :is(.pfs-scope-material-setup,.pfs-film-guidance,.fy-jobdetails-grid > .fy-field,.fy-notes-section .fy-field),
body.pfs-redesign #appMainContent #quoteCard :is(.fy-quote-discount-section,.fy-calculated-charges,.fy-addons-section,.fy-custom-addons-section){
  border-radius:8px !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid > .fy-field{
  grid-column:auto !important;
  padding:13px !important;
  border:1px solid #e0e5ed !important;
  background:#fafbfd !important;
}

body.pfs-redesign #appMainContent #quoteCard .fy-calculated-charges{
  overflow:hidden;
  border:1px solid var(--pfs-surface-border) !important;
}

body.pfs-redesign #appMainContent #quoteCard .fy-charge-row{
  padding:12px !important;
  background:#fff !important;
}

body.pfs-redesign #appMainContent #quoteCard .fy-charge-row:nth-child(even){
  background:#fafbfd !important;
}

/* Photos, Groups, Summary, and Outputs use the same white-panel hierarchy. */
body.pfs-redesign #appMainContent :is(#jobMediaCard .pfs-job-media-workspace,#summaryCard .pfs-windows-overview-pane){
  padding:16px 18px 18px !important;
  background:var(--pfs-surface-canvas) !important;
}

body.pfs-redesign #appMainContent #summaryCard .pfs-windows-overview-pane{
  margin:0 !important;
  border:0 !important;
}

body.pfs-redesign #appMainContent #summaryCard .pfs-overview-heading,
body.pfs-redesign #appMainContent #summaryCard .pfs-windows-overview-container{
  border:1px solid var(--pfs-surface-border) !important;
  background:#fff !important;
}

body.pfs-redesign #appMainContent #summaryCard .pfs-overview-heading{
  border-radius:8px 8px 0 0 !important;
}

body.pfs-redesign #appMainContent #summaryCard .pfs-windows-overview-container{
  border-top:0 !important;
  border-radius:0 0 8px 8px !important;
}

body.pfs-redesign #appMainContent #quoteSummaryCard .pfs-summary-workspace{
  align-items:start !important;
  gap:14px !important;
  padding:0 !important;
  background:transparent !important;
}

body.pfs-redesign #appMainContent #quoteSummaryCard :is(.pfs-summary-primary,.pfs-summary-context){
  overflow:hidden;
  border:1px solid var(--pfs-surface-border) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}

body.pfs-redesign #appMainContent #quoteSummaryCard .fy-panel-card{
  margin:0 !important;
  padding:16px !important;
  border:0 !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent #jobOutputsCard .pfs-outputs-workspace{
  margin:0 !important;
  padding:0 !important;
  overflow:hidden;
  border:1px solid var(--pfs-surface-border) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}

body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-intro{
  margin:0 !important;
  padding:15px 16px !important;
  border-bottom:1px solid var(--pfs-surface-border) !important;
  background:var(--pfs-surface-soft) !important;
}

body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-grid{
  display:grid !important;
  gap:10px !important;
  padding:14px !important;
  background:#fff !important;
}

body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-item{
  margin:0 !important;
  padding:14px !important;
  border:1px solid #dfe4ec !important;
  border-radius:8px !important;
  background:#fafbfd !important;
  box-shadow:none !important;
}

/* Full-page workspaces inherit the same hierarchy inside their natural size. */
body.pfs-redesign .pfs-workspace-head{
  min-height:78px;
  padding:14px 18px 13px 22px !important;
}

body.pfs-redesign .pfs-workspace-heading{
  min-width:0;
  display:grid;
  gap:2px;
}

body.pfs-redesign .pfs-workspace-kicker{
  color:#0b5eea;
  font-size:9px;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}

body.pfs-redesign .pfs-workspace-description{
  max-width:680px;
  margin:3px 0 0;
  color:#667085;
  font-size:11px;
  line-height:1.35;
  font-weight:750;
}

body.pfs-redesign .pfs-workspace-body{
  background:var(--pfs-surface-canvas) !important;
}

body.pfs-redesign .pfs-workspace-body :is(
  .jobmgr-top,
  .jobmgr-summary,
  .jobmgr-list,
  .pfs-active-scope-panel,
  .pfs-scope-queue,
  .fy-films-filter-card,
  .fy-films-film-list,
  .fy-film-editor,
  .fy-pricing-editor,
  .fy-pricing-nav-list,
  .pfs-presets-hero,
  .pfs-presets-editor,
  .pfs-presets-list,
  .pfs-connections-hero,
  .pfs-connections-section,
  .pfs-support-hero,
  .pfs-support-card
){
  border-color:var(--pfs-surface-border) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}

body.pfs-redesign .pfs-workspace-body :is(.jobmgr-tabs,.jobmgr-viewtoggle,.fy-tabbar,.pfs-material-source-switch){
  padding:4px !important;
  border:1px solid var(--pfs-surface-border) !important;
  border-radius:10px !important;
  background:#edf2f8 !important;
}

body.pfs-redesign .pfs-workspace-body :is(.jobmgr-tabs button,.jobmgr-viewtoggle button,.fy-tab-btn,.pfs-material-source-switch button){
  min-height:40px;
  border-radius:8px !important;
}

body.pfs-redesign .pfs-workspace-body :is(.jobmgr-tabs button.active,.jobmgr-viewtoggle button.active,.fy-tab-btn.active,.pfs-material-source-switch button.active){
  background:linear-gradient(180deg,#0b5eea,#084aa8) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(11,94,234,.20) !important;
}

@media (max-width:860px){
  body.pfs-redesign #appMainContent .input-section details.collapsible-card[open] > .locked-content,
  body.pfs-redesign #appMainContent #jobDetailsCard > .locked-content{
    padding:12px !important;
  }

  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-workspace{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  body.pfs-redesign #appMainContent #jobDetailsCard .pfs-customer-notes{
    grid-column:auto;
  }

  body.pfs-redesign #appMainContent #windowsCard .pfs-windows-workspace{
    gap:10px !important;
    padding:12px !important;
  }

  body.pfs-redesign #appMainContent #windowsCard .pfs-scope-quick-buttons{
    grid-template-columns:1fr;
  }

  body.pfs-redesign #appMainContent .pfs-card-section-nav{
    position:relative;
    margin-bottom:10px;
  }

  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane){
    border:1px solid var(--pfs-surface-border) !important;
    border-radius:8px !important;
  }

  body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid{
    grid-template-columns:1fr !important;
  }

  body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) .fy-job-section{
    padding:14px !important;
  }

  body.pfs-redesign #appMainContent #quoteCard > .locked-content{
    padding:12px !important;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-quote-pane{
    padding:0 !important;
  }

  body.pfs-redesign #appMainContent #quoteCard .fy-quote-pane:first-child{
    border-bottom:1px solid var(--pfs-surface-border) !important;
  }

  body.pfs-redesign .pfs-workspace-head{
    min-height:72px;
    padding:11px 12px 10px 16px !important;
  }

  body.pfs-redesign .pfs-workspace-description{
    display:none;
  }
}

/* =========================================================
   2026-07-28 focused cleanup pass
   ========================================================= */

/* Give editable group names breathing room inside the group header. */
body.pfs-redesign #windowsCard input.pfs-window-group-name{
  min-width:0 !important;
  padding-left:12px !important;
  padding-right:12px !important;
}

/* Job Details and Quote are intentionally continuous pages. Important setup
   must remain visible without requiring users to discover a tab. */
body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-layout,.fy-quote-sections){
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:12px !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane){
  display:block !important;
  width:100% !important;
  border:1px solid var(--pfs-surface-border) !important;
  border-radius:8px !important;
}

body.pfs-redesign #appMainContent :is(#jobInfoCard,#quoteCard) :is(.fy-jobdetails-pane,.fy-quote-pane):first-child{
  border-right:1px solid var(--pfs-surface-border) !important;
  border-bottom:1px solid var(--pfs-surface-border) !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .pfs-material-catalog-picker{
  width:100%;
  max-width:none !important;
}

body.pfs-redesign #appMainContent #jobInfoCard :is(.pfs-job-film-setup,.pfs-scope-material-setup){
  width:100%;
}

body.pfs-redesign #appMainContent #jobInfoCard .pfs-scope-material-setup{
  margin:0 0 12px !important;
  padding:14px !important;
  border:1px solid #dfe5ed !important;
  border-radius:8px !important;
  background:#fafbfd !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .pfs-film-guidance{
  width:100%;
  margin:0 !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-conditions-pane{
  margin-top:0 !important;
}

body.pfs-redesign #appMainContent #quoteCard .fy-quote-charges-pane{
  margin-top:0 !important;
}

/* Summary column headings sit flush with their column containers and use the
   same height and border treatment. */
body.pfs-redesign #appMainContent #quoteSummaryCard .pfs-summary-workspace{
  align-items:stretch !important;
}

body.pfs-redesign #appMainContent #quoteSummaryCard :is(.pfs-summary-primary,.pfs-summary-context){
  padding:0 !important;
}

body.pfs-redesign #appMainContent #quoteSummaryCard .pfs-summary-pane-heading{
  width:100%;
  min-height:64px;
  margin:0 !important;
  padding:13px 16px !important;
  border:0 !important;
  border-bottom:1px solid var(--pfs-surface-border) !important;
  border-radius:0 !important;
  background:#f8fafc !important;
  box-sizing:border-box;
}

body.pfs-redesign #appMainContent #quoteSummaryCard .pfs-summary-pane-heading .pfs-pane-kicker{
  color:#0b5eea !important;
}

/* Customer and operational documents now share one compact action pattern. */
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-item,
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-item.is-customer-output{
  grid-template-columns:42px minmax(0,1fr) auto !important;
  min-height:82px;
  background:#fafbfd !important;
  border-color:#dfe4ec !important;
}

body.pfs-redesign #appMainContent #jobOutputsCard .pfs-estimate-actions,
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-project-detail-actions{
  grid-column:auto !important;
  display:grid !important;
  grid-template-columns:repeat(3,92px) !important;
  gap:7px !important;
  width:auto !important;
}

body.pfs-redesign #appMainContent #jobOutputsCard .pfs-estimate-actions .btn-output,
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-project-detail-actions .btn-output,
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-item > .btn-output{
  width:92px !important;
  min-width:92px !important;
  min-height:36px !important;
}

body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-packet-tools{
  grid-column:2/-1 !important;
  margin-top:-2px;
}

/* Workspace title already explains the page; remove the legacy in-page title. */
body.pfs-redesign .pfs-workspace-page .settings-header-row{
  display:none !important;
}

/* Film Catalog keeps one small live count instead of a four-card dashboard. */
body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-dashboard{
  display:block !important;
  width:max-content;
  max-width:100%;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings{
  position:relative;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings-actions{
  position:absolute !important;
  top:0;
  right:0;
  z-index:3;
  width:auto;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings-actions-right{
  gap:8px;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-dashboard .fy-film-metric{
  display:none !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-dashboard .fy-film-metric:first-child{
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:auto auto auto;
  align-items:center;
  gap:6px;
  padding:7px 10px !important;
  border:1px solid #d8dee8 !important;
  border-radius:999px !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-dashboard .fy-film-metric:first-child::before{
  display:none !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-dashboard .fy-film-metric-label,
body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-dashboard .fy-film-metric-note{
  font-size:10px !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-dashboard .fy-film-metric strong{
  font-size:13px !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-stack{
  gap:9px !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-workspace{
  align-items:start !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-editor-head{
  position:relative !important;
  top:auto !important;
  min-height:0 !important;
  padding:13px 14px !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-editor-body{
  margin-top:0 !important;
  padding:12px 14px 14px !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-cardlet{
  margin:0 !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-cardlet-wide{
  margin-top:2px !important;
}

/* Keep the Film Handler's strong production hero, while removing redundant
   page chrome and matching the two profile actions. */
body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-production-equipment-card{
  border-radius:10px !important;
  box-shadow:0 12px 28px rgba(15,23,42,.07) !important;
}

body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-hero{
  padding:20px 22px !important;
}

body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-default-radio,
body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-remove-machine{
  width:136px !important;
  min-width:136px !important;
  max-width:136px !important;
  flex:0 0 136px !important;
  min-height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 12px !important;
  box-sizing:border-box;
}

/* Pricing Presets is now a direct two-column workspace containing only
   editable defaults. */
body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-dashboard,
body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-rail,
body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-editor-heading{
  display:none !important;
}

body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-stack{
  gap:0 !important;
}

body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-workspace{
  display:block !important;
}

body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-editor{
  width:100%;
  min-height:0 !important;
}

body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-editor-head{
  position:relative !important;
  top:auto !important;
  min-height:54px;
  justify-content:flex-end !important;
  padding:8px 12px !important;
}

body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-editor-body{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:start !important;
  gap:12px !important;
  padding:12px !important;
}

body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-editor-column{
  min-width:0;
  display:grid;
  align-content:start;
  gap:12px;
}

body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-cardlet{
  margin:0 !important;
}

/* Group Preset column headings are flush with the containing card. */
body.pfs-redesign .pfs-workspace-presets .pfs-preset-type-card > header{
  margin:-1px -1px 0 !important;
  border-radius:10px 10px 0 0;
}

/* Cut-result view actions are blue for every result shape and roll count. */
body.pfs-redesign .results-section .fy-actions-btn,
body.pfs-redesign .results-section [data-opt-action="open-cut-diagram"].btn-output,
body.pfs-redesign .results-section [data-opt-action="open-window-list"].btn-output,
body.pfs-redesign .results-section [data-opt-action="view-plan-roll"].btn-output,
body.pfs-redesign .results-section [data-opt-action="finish-open-view"].btn-output{
  border-color:rgba(7,66,168,.72) !important;
  background:linear-gradient(180deg,#0b5eea,#084aa8) !important;
  color:#fff !important;
  box-shadow:0 9px 20px rgba(11,94,234,.20) !important;
  text-shadow:none !important;
}

body.pfs-redesign .results-section .fy-actions-btn:hover,
body.pfs-redesign .results-section [data-opt-action="open-cut-diagram"].btn-output:hover,
body.pfs-redesign .results-section [data-opt-action="open-window-list"].btn-output:hover,
body.pfs-redesign .results-section [data-opt-action="view-plan-roll"].btn-output:hover,
body.pfs-redesign .results-section [data-opt-action="finish-open-view"].btn-output:hover{
  border-color:#084aa8 !important;
  background:linear-gradient(180deg,#176cf4,#0754d8) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(11,94,234,.26) !important;
}

@media (max-width:980px){
  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-item,
  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-item.is-customer-output{
    grid-template-columns:42px minmax(0,1fr) !important;
  }

  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-estimate-actions,
  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-project-detail-actions,
  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-item > .btn-output{
    grid-column:1/-1 !important;
    width:100% !important;
  }

  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-estimate-actions,
  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-project-detail-actions{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-estimate-actions .btn-output,
  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-project-detail-actions .btn-output,
  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-item > .btn-output{
    width:100% !important;
    min-width:0 !important;
  }

  body.pfs-redesign #appMainContent #jobOutputsCard .pfs-output-packet-tools{
    grid-column:1/-1 !important;
  }
}

@media (max-width:860px){
  body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-editor-body{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
  }

  body.pfs-redesign .pfs-workspace-pricing #settingsRoot :is(.fy-pricing-cardlet-left,.fy-pricing-cardlet-right){
    grid-column:1 !important;
    grid-row:auto !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings{
    padding-top:48px;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings-actions{
    left:0;
    right:0;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings-actions-right{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Device-review corrections belong at the end of the cascade so the shared
   workspace skin cannot reintroduce the nested-card treatment. */
body.pfs-redesign #appMainContent #jobInfoCard #pfsScopeMaterialSetup.pfs-scope-material-setup{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .pfs-film-guidance{
  margin:16px 0 0 !important;
  padding:12px 14px 12px 42px !important;
  border:0 !important;
  border-left:3px solid #4a90f8 !important;
  border-radius:0 !important;
  background:#f3f7fd !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid.fy-jobdetails-grid > .fy-field.fy-field{
  margin:0 !important;
  padding:16px 0 !important;
  border:0 !important;
  border-bottom:1px solid #e1e7ef !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid.fy-jobdetails-grid > .fy-field:nth-child(2),
body.pfs-redesign #appMainContent #jobInfoCard .fy-jobdetails-grid.fy-jobdetails-grid > .fy-field:nth-child(4){
  border-bottom-color:transparent !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings-dashboard{
  min-height:40px !important;
  padding:0 12px !important;
  align-items:center !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings-actions{
  top:0 !important;
  min-height:40px !important;
  padding:0 12px !important;
  align-items:center !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings-workspace{
  margin-top:10px !important;
}

body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-warranty-fields input[type="number"],
body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-warranty-card input[type="number"]{
  padding-left:12px !important;
  padding-right:12px !important;
}

body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-numbering-card .fy-quote-next-band{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto auto !important;
  align-items:center !important;
  gap:12px !important;
}

body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-reset-estimate-inline{
  position:static !important;
  align-self:center !important;
  margin:0 !important;
  white-space:nowrap;
}

@media (max-width:600px){
  body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-numbering-card .fy-quote-next-band{
    grid-template-columns:minmax(0,1fr) auto !important;
  }

  body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-reset-estimate-inline{
    grid-column:1/-1;
    justify-self:start;
  }
}

/* 2026-07-28 workspace hierarchy and compact Windows table corrections. */
body.pfs-redesign .pfs-workspace-presets .pfs-workspace-head{
  height:78px;
  min-height:78px;
}

body.pfs-redesign .pfs-workspace-presets .pfs-preset-type-card > header{
  position:static !important;
  top:auto !important;
  margin:-1px -1px 0 !important;
}

body.pfs-redesign .pfs-workspace-pricing #settingsRoot .fy-pricing-editor{
  overflow:visible !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-production-equipment-card{
  overflow:visible !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.pfs-redesign .pfs-workspace-film-handler #settingsRoot .fy-handler-hero{
  border-radius:10px 10px 0 0;
}

body.pfs-redesign .pfs-workspace-estimate-packets .pfs-estimate-packet-workspace-head{
  min-height:108px;
  padding:22px 24px;
  border:1px solid #d8dee8;
  border-radius:12px;
  background:linear-gradient(135deg,#fff,#f5f8f5);
}

body.pfs-redesign .pfs-workspace-estimate-packets .pfs-estimate-packet-workspace-head > div:first-child > span{
  color:#8b6a29;
  font-size:8px;
}

body.pfs-redesign .pfs-workspace-estimate-packets .pfs-estimate-packet-workspace-head h2{
  margin:4px 0 5px;
  color:#1d2420;
  font-size:21px;
  line-height:1.2;
  letter-spacing:-.035em;
}

body.pfs-redesign .pfs-workspace-estimate-packets .pfs-estimate-packet-workspace-head p{
  color:#707973;
  font-size:10px;
  line-height:1.5;
}

body.pfs-redesign .pfs-workspace-estimate-packets .pfs-packet-workspace-summary{
  min-width:230px;
  justify-items:start;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:9px;
  padding:13px 14px;
  border:1px solid #c9d9f0;
  border-radius:9px;
  background:#eef5ff;
}

body.pfs-redesign .pfs-workspace-estimate-packets .pfs-packet-workspace-summary strong{
  color:#244c82;
  font-size:20px;
  line-height:1;
}

body.pfs-redesign .pfs-workspace-estimate-packets .pfs-packet-workspace-summary span{
  color:#6480a5;
  font-size:9px;
  line-height:1.35;
}

@media (max-width:768px){
  body.pfs-redesign #windowsCard .pfs-windows-entry-pane > :is(.table-header,.windows-list,.windows-inline-notice){
    width:auto !important;
    max-width:calc(100% - 28px) !important;
    box-sizing:border-box;
  }

  body.pfs-redesign #windowsCard .pfs-windows-entry-pane > .table-header{
    display:none !important;
  }

  body.pfs-redesign #windowsCard{
    --window-cols:18px minmax(68px,1fr) 34px 46px 46px 46px;
    --window-gap:5px;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-section{
    min-width:0;
    overflow:hidden;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-header{
    grid-template-columns:minmax(0,1fr) auto 26px 18px !important;
    grid-template-rows:auto !important;
    gap:6px !important;
    padding:8px 10px !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-main,
  body.pfs-redesign #windowsCard .pfs-window-group-meta,
  body.pfs-redesign #windowsCard .pfs-window-group-action,
  body.pfs-redesign #windowsCard .pfs-window-group-chevron{
    grid-column:auto !important;
    grid-row:auto !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-meta{
    justify-self:end;
    padding:0;
    font-size:9px !important;
    white-space:nowrap;
  }

  body.pfs-redesign #windowsCard input.pfs-window-group-name,
  body.pfs-redesign #windowsCard input.pfs-window-group-name:focus{
    min-height:24px !important;
    padding:1px 0 !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-table-header,
  body.pfs-redesign #windowsCard .window-row{
    width:100%;
    min-width:0;
    display:grid !important;
    grid-template-columns:var(--window-cols) !important;
    grid-template-areas:"select label qty width height removal" !important;
    gap:var(--window-gap) !important;
    box-sizing:border-box;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-table-header{
    min-height:28px;
    padding:5px 8px;
    font-size:8px;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-table-header > div:nth-child(4),
  body.pfs-redesign #windowsCard .pfs-window-group-table-header > div:nth-child(5){
    font-size:8px !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-table-header > div:nth-child(4)::after,
  body.pfs-redesign #windowsCard .pfs-window-group-table-header > div:nth-child(5)::after{
    content:none !important;
  }

  body.pfs-redesign #windowsCard .window-row{
    min-height:42px !important;
    padding:6px 8px !important;
    align-items:center !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-measure{
    min-width:0;
    display:block !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-measure > span{
    display:none !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-label,
  body.pfs-redesign #windowsCard .window-input,
  body.pfs-redesign #windowsCard .window-quantity-input{
    width:100% !important;
    min-width:0 !important;
    min-height:28px !important;
    max-width:none !important;
    padding:2px 4px !important;
    border-radius:6px !important;
    box-sizing:border-box;
  }

  body.pfs-redesign #windowsCard .pfs-window-label{
    padding-left:6px !important;
    text-align:left;
  }

  body.pfs-redesign #windowsCard .pfs-window-removal-cell{
    min-width:0;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:center !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-removal-cell::before{
    content:none !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-removal-cell input{
    align-self:auto;
    justify-self:auto;
  }
}

@media (max-width:900px){
  body.pfs-redesign .pfs-workspace-estimate-packets .pfs-estimate-packet-workspace-head{
    min-height:0;
    padding:18px;
  }
}

/* The Window Entry pane owns the table width at every viewport. The list used
   to keep width:100% after receiving 14px side margins, which made its desktop
   right edge 14px wider than the pane and clipped grouped-job controls. */
body.pfs-redesign #windowsCard .pfs-windows-entry-pane{
  min-width:0;
  overflow:hidden;
}

body.pfs-redesign #windowsCard .pfs-windows-entry-pane > .table-header{
  display:none !important;
}

body.pfs-redesign #windowsCard .pfs-windows-entry-pane > :is(.windows-list,.windows-inline-notice){
  width:auto !important;
  max-width:calc(100% - 28px) !important;
  min-width:0 !important;
  box-sizing:border-box;
}

body.pfs-redesign #windowsCard .windows-list,
body.pfs-redesign #windowsCard .pfs-window-group-section,
body.pfs-redesign #windowsCard .pfs-window-group-header,
body.pfs-redesign #windowsCard .pfs-window-group-table-header,
body.pfs-redesign #windowsCard .pfs-window-group-rows,
body.pfs-redesign #windowsCard .window-row{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}

body.pfs-redesign #windowsCard .pfs-window-group-action{
  display:none !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-header{
  grid-template-columns:minmax(0,1fr) auto 18px !important;
  gap:8px !important;
  padding:8px 10px !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-meta{
  white-space:nowrap;
}

body.pfs-redesign #windowsCard .pfs-window-group-table-header{
  min-height:28px;
  padding:5px 10px;
  font-size:9px;
}

body.pfs-redesign #windowsCard .window-row{
  min-height:42px !important;
  padding:6px 10px !important;
}

body.pfs-redesign #windowsCard .pfs-window-label,
body.pfs-redesign #windowsCard .window-input,
body.pfs-redesign #windowsCard .window-quantity-input{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:30px !important;
  padding:3px 7px !important;
  border-radius:6px !important;
  box-sizing:border-box;
}

body.pfs-redesign #windowsCard .window-input,
body.pfs-redesign #windowsCard .window-quantity-input{
  text-align:center;
}

@media (max-width:768px){
  body.pfs-redesign #windowsCard .pfs-window-group-header{
    grid-template-columns:minmax(0,1fr) auto 18px !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-label,
  body.pfs-redesign #windowsCard .window-input,
  body.pfs-redesign #windowsCard .window-quantity-input{
    min-height:28px !important;
    padding:2px 4px !important;
  }
}

/* Match the established grouped-window ledger: one continuous rounded table,
   tinted group bands, compact repeated headers, and quiet editable rows. */
body.pfs-redesign #windowsCard .windows-list{
  display:block !important;
  overflow:hidden !important;
  border:1px solid #d9ded9 !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-section{
  --pfs-group-wash:color-mix(in srgb, var(--group-color, #8ca59a) 13%, #f8f8f4 87%);
  display:block;
  margin:0 !important;
  overflow:hidden;
  border:0 !important;
  border-bottom:1px solid #dfe3df !important;
  border-radius:0 !important;
  background:var(--pfs-group-wash) !important;
  box-shadow:none !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-section:last-child{
  border-bottom:0 !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-section.is-ungrouped{
  --pfs-group-wash:#f7f9f8;
}

body.pfs-redesign #windowsCard .pfs-window-group-header{
  min-height:38px !important;
  padding:6px 10px !important;
  border:0 !important;
  border-bottom:1px solid rgba(91,103,96,.12) !important;
  border-radius:0 !important;
  background:var(--pfs-group-wash) !important;
  box-shadow:none !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}

body.pfs-redesign #windowsCard .pfs-window-group-title{
  min-width:0;
}

body.pfs-redesign #windowsCard :is(.pfs-window-group-name,.pfs-window-group-name-static){
  color:#202621 !important;
  font-size:13px !important;
  font-weight:950 !important;
  line-height:1.15 !important;
}

body.pfs-redesign #windowsCard input.pfs-window-group-name,
body.pfs-redesign #windowsCard input.pfs-window-group-name:focus{
  width:auto !important;
  max-width:min(100%,28ch) !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-destination-control{
  width:24px !important;
  height:24px !important;
  flex:0 0 24px !important;
  display:grid !important;
  place-items:center;
  margin:0;
  padding:0;
  border:1px solid #d2d8d3 !important;
  border-radius:7px !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:none !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-destination{
  width:14px !important;
  height:14px !important;
  margin:0 !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-meta{
  color:#65717e !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1.15;
}

body.pfs-redesign #windowsCard .pfs-window-group-chevron{
  color:#65717e !important;
  font-size:12px !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-table-header{
  min-height:26px !important;
  padding:5px 10px !important;
  border:0 !important;
  border-bottom:1px solid rgba(91,103,96,.13) !important;
  background:color-mix(in srgb, var(--pfs-group-wash) 78%, #fff 22%) !important;
  color:#68747d !important;
  font-size:9px !important;
  font-weight:950 !important;
  letter-spacing:.02em !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-table-header > div:nth-child(2){
  text-align:center !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-rows{
  background:var(--pfs-group-wash);
}

body.pfs-redesign #windowsCard .window-row,
body.pfs-redesign #windowsCard .window-row.has-group-color,
body.pfs-redesign #windowsCard .window-row.has-removal.has-group-color{
  min-height:40px !important;
  padding:5px 10px !important;
  border:0 !important;
  border-bottom:1px solid rgba(91,103,96,.12) !important;
  background:color-mix(in srgb, var(--pfs-group-wash) 72%, #fff 28%) !important;
  box-shadow:none !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-rows .window-row:last-child{
  border-bottom:0 !important;
}

body.pfs-redesign #windowsCard .window-row:hover{
  background:color-mix(in srgb, var(--pfs-group-wash) 58%, #fff 42%) !important;
}

body.pfs-redesign #windowsCard .window-checkbox-cell{
  display:grid;
  place-items:center;
}

body.pfs-redesign #windowsCard :is(.window-checkbox,.pfs-window-removal-checkbox){
  width:14px !important;
  height:14px !important;
  margin:0 !important;
}

body.pfs-redesign #windowsCard .pfs-window-label,
body.pfs-redesign #windowsCard .window-input,
body.pfs-redesign #windowsCard .window-quantity-input{
  min-height:28px !important;
  padding:3px 7px !important;
  border:1px solid #d5dad6 !important;
  border-radius:6px !important;
  background:rgba(255,255,255,.92) !important;
  color:#202621 !important;
  font-size:12px !important;
  font-weight:500 !important;
  box-shadow:none !important;
}

body.pfs-redesign #windowsCard .pfs-window-label{
  text-align:left !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-photos{
  margin:0 !important;
  border:0 !important;
  border-top:1px solid rgba(91,103,96,.12) !important;
  border-radius:0 !important;
  background:color-mix(in srgb, var(--pfs-group-wash) 62%, #fff 38%) !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-photos > summary{
  min-height:34px;
  padding:5px 10px !important;
  background:transparent !important;
}

@media (max-width:768px){
  body.pfs-redesign #windowsCard{
    --window-cols:18px minmax(68px,1fr) 34px 46px 46px 46px;
    --window-gap:5px;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-header{
    min-height:36px !important;
    padding:6px 9px !important;
  }

  body.pfs-redesign #windowsCard :is(.pfs-window-group-name,.pfs-window-group-name-static){
    font-size:12px !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-table-header{
    padding:5px 8px !important;
    font-size:8px !important;
  }

  body.pfs-redesign #windowsCard .window-row,
  body.pfs-redesign #windowsCard .window-row.has-group-color,
  body.pfs-redesign #windowsCard .window-row.has-removal.has-group-color{
    padding:5px 8px !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-label,
  body.pfs-redesign #windowsCard .window-input,
  body.pfs-redesign #windowsCard .window-quantity-input{
    padding:2px 4px !important;
    font-size:11px !important;
  }
}

/* Window Entry is an edge-to-edge ledger inside its pane. Keep this last so
   older responsive table constraints cannot reintroduce the clipped inset. */
body.pfs-redesign #windowsCard .pfs-windows-entry-pane{
  gap:0 !important;
  align-content:start;
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-entry-pane > .windows-list{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-section{
  --pfs-group-start:color-mix(in srgb, var(--group-color, #8ca59a) 18%, #f4f7f5 82%);
  --pfs-group-middle:color-mix(in srgb, var(--group-color, #8ca59a) 7%, #f7f9f8 93%);
  --pfs-group-fade:linear-gradient(90deg,var(--pfs-group-start) 0%,var(--pfs-group-middle) 58%,#f7f9f8 100%);
  background:#f7f9f8 !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-section.is-ungrouped{
  --pfs-group-start:#f7f9f8;
  --pfs-group-middle:#f7f9f8;
}

body.pfs-redesign #windowsCard .pfs-window-group-header,
body.pfs-redesign #windowsCard .pfs-window-group-table-header,
body.pfs-redesign #windowsCard .pfs-window-group-rows,
body.pfs-redesign #windowsCard .window-row,
body.pfs-redesign #windowsCard .window-row.has-group-color,
body.pfs-redesign #windowsCard .window-row.has-removal.has-group-color,
body.pfs-redesign #windowsCard .pfs-window-group-photos{
  background:var(--pfs-group-fade) !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-header{
  grid-template-columns:minmax(0,1fr) auto 26px 18px !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-main{
  overflow:visible;
}

body.pfs-redesign #windowsCard input.pfs-window-group-name,
body.pfs-redesign #windowsCard input.pfs-window-group-name:focus{
  min-width:8ch !important;
  min-height:24px !important;
  height:24px !important;
  padding:0 2px !important;
  line-height:24px !important;
  overflow:visible;
}

body.pfs-redesign #windowsCard .pfs-window-group-destination-control{
  width:18px !important;
  height:18px !important;
  flex:0 0 18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-action{
  width:26px !important;
  height:26px !important;
  min-height:26px !important;
  display:inline-grid !important;
  place-items:center;
  padding:0 !important;
  border:1px solid #0a54c6 !important;
  border-radius:6px !important;
  background:#0b5bd3 !important;
  color:#fff !important;
  font-size:19px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-shadow:0 3px 8px rgba(11,91,211,.18) !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-action.is-remove{
  border-color:#c63f3f !important;
  background:#d94b4b !important;
}

body.pfs-redesign #windowsCard .pfs-window-group-section:last-child,
body.pfs-redesign #windowsCard .pfs-window-group-section:last-child > :last-child{
  border-radius:0 0 8px 8px !important;
}

@media (max-width:768px){
  body.pfs-redesign #windowsCard .pfs-window-group-header{
    grid-template-columns:minmax(0,1fr) auto 26px 18px !important;
  }
}

/* Group names read as part of the tinted band instead of a white input pill. */
body.pfs-redesign #appMainContent #windowsCard input.pfs-window-group-name{
  appearance:none !important;
  -webkit-appearance:none !important;
  border-color:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

body.pfs-redesign #appMainContent #windowsCard input.pfs-window-group-name:focus{
  border-color:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:inset 0 -1px 0 rgba(11,91,211,.42) !important;
  outline:none !important;
}

body.pfs-redesign .pfs-combined-output-status{
  grid-column:1 / -1;
  margin-top:10px;
  padding:9px 11px;
  border:1px solid #b9d8c4;
  border-radius:7px;
  background:#effaf3;
  color:#135b2f;
  font-size:12px;
  font-weight:800;
}

body.pfs-redesign .pfs-combined-output-status.is-error{
  border-color:#e8b8b1;
  background:#fff2f0;
  color:#9f2d20;
}
/* Cross-device saved-job updates */
.pfs-remote-job-notice{
  position:sticky;
  top:0;
  z-index:980;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:min(1120px,calc(100% - 28px));
  margin:10px auto 0;
  padding:14px 16px;
  border:1px solid #9cc2f2;
  border-left:4px solid #1769d2;
  border-radius:14px;
  background:#f5f9ff;
  box-shadow:0 12px 30px rgba(15,35,64,.14);
  color:#14233a;
}
.pfs-remote-job-notice[hidden]{display:none!important}
.pfs-remote-job-notice-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.pfs-remote-job-notice-copy>strong{font-size:15px;line-height:1.3}
.pfs-remote-job-notice-copy>[data-sync-meta]{font-size:12px;color:#53657d}
.pfs-remote-job-notice-copy ul{
  display:flex;
  flex-wrap:wrap;
  gap:4px 14px;
  margin:5px 0 0;
  padding:0;
  list-style:none;
  font-size:13px;
}
.pfs-remote-job-notice-copy li::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin:0 7px 1px 0;
  border-radius:50%;
  background:#1769d2;
}
.pfs-remote-job-local-warning{
  margin-top:5px;
  color:#8a4b08;
  font-size:12px;
  font-weight:600;
}
.pfs-remote-job-notice-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
}
.pfs-remote-job-notice-actions button{min-height:40px}
.pfs-draft-revision-warning{color:#9a5a0a;font-weight:700}

body.pfs-workspace-open .pfs-remote-job-notice{
  position:fixed;
  top:calc(var(--pfs-appshell-banner-offset, 48px) + 8px);
  left:50%;
  z-index:3200;
  margin:0;
  transform:translateX(-50%);
}

/* Non-estimate outputs expose one named action without reserving empty button columns. */
body.pfs-redesign #appMainContent #jobOutputsCard .pfs-project-detail-actions{
  grid-template-columns:minmax(160px,auto) !important;
}

body.pfs-redesign #appMainContent #jobOutputsCard .pfs-project-detail-actions .btn-output{
  width:auto !important;
  min-width:160px !important;
  padding-right:16px !important;
  padding-left:16px !important;
}

/* Film Catalog follows the Film Handler's flat mobile settings language.
   Desktop keeps its catalog/editor layout; phones use full-width sections,
   quiet dividers, and roll cards that never require horizontal scrolling. */
@media (max-width:600px){
  body.pfs-redesign .pfs-workspace-film .pfs-workspace-body{
    padding:0 !important;
    overflow-x:hidden !important;
    background:#fff !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot,
  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings,
  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-panel,
  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-stack,
  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-workspace,
  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-editor-shell{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:hidden;
  }

  /* The workspace already owns the persistent Save / Close header. Keep the
     catalog's Import / Export row in normal document flow so its dirty-state
     badge cannot overlap that header or the live film count on narrow phones. */
  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings{
    padding-top:0 !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings-actions{
    position:static !important;
    inset:auto !important;
    width:auto !important;
    min-height:0 !important;
    margin:12px 16px 10px !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center !important;
    gap:8px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-settings-actions-right{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  /* iOS Safari zooms focused form controls below 16px and can leave the
     visual viewport displaced after the numeric keyboard closes. */
  body.pfs-redesign .pfs-workspace-film #settingsRoot :is(input,select,textarea){
    font-size:16px !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-dashboard{
    margin:0 16px 10px !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-workspace,
  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-rail{
    display:block !important;
    gap:0 !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot :is(.fy-films-filter-card,.fy-films-film-list,.fy-film-editor,.fy-film-editor-empty){
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-filter-card{
    padding:16px !important;
    border-top:1px solid #dfe6ef !important;
    border-bottom:1px solid #dfe6ef !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-films-film-list{
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    padding:14px 16px !important;
    border-bottom:1px solid #dfe6ef !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-editor{
    min-height:0 !important;
    overflow:visible !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-editor-head{
    padding:18px 16px !important;
    border-bottom:1px solid #dfe6ef !important;
    background:#fff !important;
    backdrop-filter:none !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-editor-actions{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-editor-actions .fy-btn{
    min-width:0 !important;
    min-height:42px !important;
    padding:8px 6px !important;
    font-size:12px !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-editor-body{
    display:block !important;
    padding:0 !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-film-cardlet{
    width:100%;
    padding:18px 16px !important;
    border:0 !important;
    border-bottom:1px solid #dfe6ef !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-warranty-tiles{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:start !important;
    gap:12px !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-warranty-tile{
    min-width:0 !important;
    padding:12px 0 !important;
    border:0 !important;
    border-top:1px solid #e5eaf1 !important;
    border-radius:0 !important;
    background:#fff !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-warranty-inline{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-card{
    overflow:visible !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-card-head{
    display:block !important;
    margin-bottom:14px !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-grid-header{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) minmax(0,1fr) !important;
    gap:8px !important;
    padding:0 6px !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-grid-header > :nth-child(4),
  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-grid-header > :nth-child(5){
    display:none !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-grid{
    width:100%;
    gap:12px !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-row{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) minmax(0,1fr) auto !important;
    gap:8px !important;
    padding:8px !important;
    border:1px solid #dfe6ef !important;
    border-radius:9px !important;
    background:#fff !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-row.locked{
    background:#f8fafc !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-cell{
    min-width:0;
    display:grid;
    gap:0;
    align-content:start;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-cell::before{
    display:none;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-cell input{
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    padding:8px 10px !important;
    font-size:16px !important;
    text-align:left !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-margin{
    display:none !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-actions:empty{
    display:none !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-actions:not(:empty){
    grid-column:auto;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-actions .fy-btn{
    width:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    padding:0 !important;
    justify-content:center !important;
    overflow:hidden;
    font-size:0 !important;
  }

  body.pfs-redesign .pfs-workspace-film #settingsRoot .fy-roll-actions .fy-btn::after{
    content:"×";
    font-size:21px;
    line-height:1;
  }
}

/* iOS Safari automatically zooms focused controls whose computed text size is
   below 16px. Keep the compact ledger columns, but make editable window fields
   large enough to prevent the viewport from zooming and remaining displaced
   after the numeric keyboard closes. */
@media (max-width:768px){
  /* Keep iOS Safari from zooming the Scope Quote workspace while editing money fields. */
  body.pfs-redesign #appMainContent #quoteCard :is(input,select,textarea){
    font-size:16px !important;
  }

  body.pfs-redesign #windowsCard :is(
    input.pfs-window-label,
    input.window-input,
    input.window-quantity-input,
    input.pfs-window-group-name
  ){
    font-size:16px !important;
  }
}

.pfs-window-more-toggle,
.pfs-mobile-move-scope{
  display:none !important;
}

/* Reversible mobile Windows-entry trial: explicit two-layer header and contextual action dock. */
@media (max-width:860px){
  body.pfs-redesign > .pfs-card-scope-nav:is(
    [data-pfs-scope-owner="jobInfoCard"],
    [data-pfs-scope-owner="quoteCard"],
    [data-pfs-scope-owner="quoteSummaryCard"]
  ){
    position:fixed !important;
    inset:auto 0 auto 0 !important;
    top:calc(var(--pfs-appshell-banner-offset, 0px) + 62px) !important;
    z-index:2527 !important;
    display:flex !important;
    box-sizing:border-box;
    width:100%;
    min-height:53px;
    gap:7px;
    margin:0 !important;
    padding:8px 10px !important;
    overflow-x:auto;
    border-bottom:1px solid #d8ddd9;
    background:#f8f9f7 !important;
    box-shadow:0 8px 18px rgba(24,28,27,.10);
    isolation:isolate;
    scrollbar-width:none;
  }

  body.pfs-redesign > .pfs-card-scope-nav:is(
    [data-pfs-scope-owner="jobInfoCard"],
    [data-pfs-scope-owner="quoteCard"],
    [data-pfs-scope-owner="quoteSummaryCard"]
  )::-webkit-scrollbar{
    display:none;
  }

  body.pfs-redesign > .pfs-card-scope-nav:is(
    [data-pfs-scope-owner="jobInfoCard"],
    [data-pfs-scope-owner="quoteCard"],
    [data-pfs-scope-owner="quoteSummaryCard"]
  ) .pfs-card-scope-context{
    display:inline-flex !important;
    flex:0 0 auto;
  }

  body.pfs-redesign > .pfs-card-scope-nav:is(
    [data-pfs-scope-owner="jobInfoCard"],
    [data-pfs-scope-owner="quoteCard"],
    [data-pfs-scope-owner="quoteSummaryCard"]
  ) button{
    min-width:0;
    min-height:36px;
    border-radius:8px;
  }

  body.pfs-redesign:has(> .pfs-card-scope-nav[data-pfs-scope-owner="jobInfoCard"]) #appMainContent #jobInfoCard.pfs-mobile-card-open > .locked-content,
  body.pfs-redesign:has(> .pfs-card-scope-nav[data-pfs-scope-owner="quoteCard"]) #appMainContent #quoteCard.pfs-mobile-card-open > .locked-content,
  body.pfs-redesign:has(> .pfs-card-scope-nav[data-pfs-scope-owner="quoteSummaryCard"]) #appMainContent #quoteSummaryCard.pfs-mobile-card-open > .locked-content{
    margin-top:53px !important;
  }

  body.pfs-redesign > .pfs-card-scope-nav[data-pfs-scope-owner="summaryCard"]{
    position:fixed !important;
    inset:auto 0 auto 0 !important;
    top:calc(var(--pfs-appshell-banner-offset, 0px) + 62px) !important;
    z-index:2527 !important;
    box-sizing:border-box;
    width:100%;
    min-height:53px;
    gap:7px;
    margin:0 !important;
    padding:8px 10px !important;
    overflow-x:auto;
    border-bottom:1px solid #d8ddd9;
    background:#f8f9f7 !important;
    box-shadow:0 8px 18px rgba(24,28,27,.10);
    scrollbar-width:none;
  }

  body.pfs-redesign > .pfs-card-scope-nav[data-pfs-scope-owner="summaryCard"]::-webkit-scrollbar{
    display:none;
  }

  body.pfs-redesign > .pfs-card-scope-nav[data-pfs-scope-owner="summaryCard"] .pfs-card-scope-context{
    display:inline-flex !important;
    flex:0 0 auto;
  }

  body.pfs-redesign > .pfs-card-scope-nav[data-pfs-scope-owner="summaryCard"] button{
    min-width:0;
    min-height:36px;
    border-radius:8px;
  }

  body.pfs-redesign:has(> .pfs-card-scope-nav[data-pfs-scope-owner="summaryCard"]) #appMainContent #summaryCard.pfs-mobile-card-open > summary.job-details-header{
    z-index:40 !important;
    margin-bottom:0 !important;
  }

  body.pfs-redesign:has(> .pfs-card-scope-nav[data-pfs-scope-owner="summaryCard"]) #appMainContent #summaryCard.pfs-mobile-card-open > .pfs-groups-overview-pane{
    margin-top:53px !important;
  }

  body.pfs-redesign > .pfs-card-scope-nav[data-pfs-scope-owner="windowsCard"]{
    position:fixed !important;
    inset:auto 0 auto 0 !important;
    top:calc(var(--pfs-appshell-banner-offset, 0px) + 62px) !important;
    right:0 !important;
    bottom:auto !important;
    left:0 !important;
    z-index:2527 !important;
    display:flex !important;
    box-sizing:border-box;
    width:100%;
    min-height:53px;
    gap:7px;
    margin:0 !important;
    padding:8px 10px !important;
    overflow-x:auto;
    border-bottom:1px solid #d8ddd9;
    background:#f8f9f7 !important;
    box-shadow:0 8px 18px rgba(24,28,27,.10);
    isolation:isolate;
    scrollbar-width:none;
  }

  body.pfs-redesign > .pfs-card-scope-nav[data-pfs-scope-owner="windowsCard"]::-webkit-scrollbar{
    display:none;
  }

  body.pfs-redesign > .pfs-card-scope-nav[data-pfs-scope-owner="windowsCard"] .pfs-card-scope-context{
    display:inline-flex !important;
    flex:0 0 auto;
  }

  body.pfs-redesign > .pfs-card-scope-nav[data-pfs-scope-owner="windowsCard"] button{
    min-width:0;
    min-height:36px;
    border-radius:8px;
  }

  body.pfs-redesign > .pfs-card-scope-nav[data-pfs-scope-owner="windowsCard"] .pfs-card-scope-add{
    min-width:40px;
    width:40px;
    padding-right:0;
    padding-left:0;
    border-color:#9cbbe8;
    color:#0b5eea;
  }

  body.pfs-redesign > .pfs-card-scope-nav[data-pfs-scope-owner="windowsCard"] .pfs-card-scope-add span:last-child{
    display:none;
  }

  body.pfs-redesign.pfs-scopes-enabled #appMainContent #windowsCard.pfs-mobile-card-open .pfs-scope-quick-actions{
    display:none !important;
  }

  body.pfs-redesign:has(> .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"]){
    --pfs-window-actions-dock-height:calc(124px + env(safe-area-inset-bottom));
  }

  body.pfs-redesign:has(> .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] #deleteSelectedBtn:not(.pfs-window-action-hidden)){
    --pfs-window-actions-dock-height:calc(180px + env(safe-area-inset-bottom));
  }

  body.pfs-redesign:has(> .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] #deleteSelectedBtn:not(.pfs-window-action-hidden)):has(> .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] #pfsMobileMoveToScopeBtn:not([hidden])){
    --pfs-window-actions-dock-height:calc(232px + env(safe-area-inset-bottom));
  }

  body.pfs-redesign:has(> .pfs-card-scope-nav[data-pfs-scope-owner="windowsCard"]) #appMainContent #windowsCard.pfs-mobile-card-open{
    padding-bottom:0 !important;
    overflow:hidden !important;
  }

  body.pfs-redesign:has(> .pfs-card-scope-nav[data-pfs-scope-owner="windowsCard"]) #appMainContent #windowsCard.pfs-mobile-card-open > summary.job-details-header{
    z-index:40 !important;
    margin-bottom:0 !important;
  }

  body.pfs-redesign.pfs-scopes-enabled:has(> .pfs-card-scope-nav[data-pfs-scope-owner="windowsCard"]) #appMainContent #windowsCard.pfs-mobile-card-open > .pfs-windows-workspace{
    position:absolute !important;
    top:118px !important;
    right:0 !important;
    bottom:var(--pfs-window-actions-dock-height, 158px) !important;
    left:0 !important;
    gap:0 !important;
    box-sizing:border-box;
    min-height:0 !important;
    padding-bottom:calc(var(--pfs-window-actions-dock-height, 158px) + 18px) !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    scroll-padding-bottom:calc(var(--pfs-window-actions-dock-height, 158px) + 18px);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  body.pfs-redesign:has(> .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"]) #appMainContent #windowsCard.pfs-mobile-card-open > .pfs-windows-workspace{
    padding-bottom:calc(var(--pfs-window-actions-dock-height, 158px) + 18px) !important;
    scroll-padding-bottom:calc(var(--pfs-window-actions-dock-height, 158px) + 18px);
  }

  body.pfs-redesign #appMainContent #windowsCard.pfs-mobile-card-open .window-row{
    scroll-margin-bottom:calc(var(--pfs-window-actions-dock-height, 158px) + 18px);
  }

  body.pfs-redesign #appMainContent #windowsCard.pfs-mobile-card-open .pfs-windows-control-pane{
    display:block !important;
    min-height:0;
  }

  body.pfs-redesign > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"]{
    position:fixed !important;
    right:0;
    bottom:0;
    left:0;
    z-index:2527;
    width:auto;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    border-width:1px 0 0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:0 -12px 28px rgba(15,23,42,.14) !important;
  }

  body.pfs-redesign > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] .pfs-window-actions-heading{
    display:none !important;
  }

  body.pfs-redesign > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] .window-controls-bottom{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
  }

  body.pfs-redesign > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] .window-controls-bottom > button{
    touch-action:manipulation;
  }

  body.pfs-redesign > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] .window-controls-bottom #pfsAddWindowBtn{
    grid-column:1 / -1 !important;
    min-width:0;
    order:1;
  }

  body.pfs-redesign > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] :is(#groupSelectedBtn,#pfsBulkGroupsBtn){
    display:inline-flex !important;
    order:2;
  }

  body.pfs-redesign > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] :is(.pfs-window-action-hidden,#pfsMobileMoveToScopeBtn[hidden]){
    display:none !important;
  }

  body.pfs-redesign > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] #deleteSelectedBtn:not(.pfs-window-action-hidden){
    display:inline-flex !important;
    grid-column:1 / -1 !important;
    order:4;
    border-color:#982b24 !important;
    background:linear-gradient(180deg,#cf4035,#a92a22) !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(169,42,34,.2) !important;
  }

  body.pfs-redesign > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] #pfsMobileMoveToScopeBtn:not([hidden]){
    display:inline-flex !important;
    grid-column:1 / -1 !important;
    order:3;
    border-color:rgba(7,66,168,.72) !important;
    background:linear-gradient(180deg,var(--pfs-shell-blue),var(--pfs-shell-blue-dark)) !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(11,94,234,.2) !important;
  }

  body.pfs-redesign > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] #pfsAddWindowBtn.pfs-window-action-primary{
    border-color:rgba(7,66,168,.72) !important;
    background:linear-gradient(180deg,var(--pfs-shell-blue),var(--pfs-shell-blue-dark)) !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(11,94,234,.2) !important;
  }

  body.pfs-redesign > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"] .window-controls-bottom > button{
    min-width:0 !important;
    padding-right:8px !important;
    padding-left:8px !important;
    font-size:12px !important;
    line-height:1.2;
    white-space:normal;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-destination-control[data-selection-mode="destination"]{
    border-radius:4px !important;
    background:rgba(11,94,234,.08) !important;
    outline:1px solid rgba(11,94,234,.34);
  }

  body.pfs-redesign #windowsCard .pfs-window-group-destination-control[data-selection-mode="destination"] .pfs-window-group-destination{
    accent-color:var(--pfs-shell-blue);
  }

  body.pfs-redesign #windowsCard .pfs-window-group-section.is-move-destination > .pfs-window-group-header{
    box-shadow:inset 3px 0 var(--pfs-shell-blue) !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-section.is-group-action-selected > .pfs-window-group-header{
    box-shadow:inset 3px 0 #c18b2d !important;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-section:is(.is-move-destination,.is-group-action-selected) .pfs-window-group-main::after{
    flex:0 0 auto;
    margin-left:auto;
    padding:3px 5px;
    border-radius:999px;
    font-size:8px;
    font-weight:950;
    line-height:1;
    letter-spacing:.02em;
    white-space:nowrap;
  }

  body.pfs-redesign #windowsCard .pfs-window-group-section.is-move-destination .pfs-window-group-main::after{
    content:"Move here";
    background:rgba(11,94,234,.12);
    color:var(--pfs-shell-blue-dark);
  }

  body.pfs-redesign #windowsCard .pfs-window-group-section.is-group-action-selected .pfs-window-group-main::after{
    content:"Group selected";
    background:rgba(193,139,45,.14);
    color:#76571f;
  }

  body.pfs-redesign.pfs-mobile-keyboard-open > .pfs-window-actions-panel[data-pfs-window-actions-portal="windowsCard"]{
    display:none !important;
  }

  body.pfs-redesign.pfs-mobile-keyboard-open #appMainContent #windowsCard.pfs-mobile-card-open > .pfs-windows-workspace{
    bottom:0 !important;
  }
}

/* Desktop scope context begins below the job bar, then occupies that space as the page scrolls. */
@media (min-width:861px){
  html:has(body.pfs-redesign),
  body.pfs-redesign{
    overflow-x:clip;
    overflow-y:visible;
  }

  body.pfs-redesign .pfs-global-scopebar{
    position:sticky;
    top:0;
    right:auto;
    left:auto;
    margin-left:var(--pfs-shell-sidebar);
    transition:margin-left .2s ease;
  }

  body.pfs-redesign.pfs-sidebar-collapsed .pfs-global-scopebar{
    margin-left:var(--pfs-shell-sidebar-collapsed);
  }

  body.pfs-redesign.pfs-scopes-enabled > .container{
    padding-top:22px;
  }
}

@media (max-width:700px){
  .pfs-remote-job-notice{
    position:relative;
    width:calc(100% - 20px);
    margin:8px auto 0;
    padding:12px;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .pfs-remote-job-notice-copy ul{display:grid;gap:4px}
  .pfs-remote-job-notice-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pfs-remote-job-notice-actions button{
    width:100%;
    min-height:44px;
  }
  .pfs-remote-job-notice-actions [data-sync-action="later"]{
    grid-column:auto;
  }
  .pfs-remote-job-notice-actions [data-sync-action="keep"]:not([hidden]) ~ [data-sync-action="later"]{
    grid-column:1/-1;
  }
}
