/* Job photos + scope framework. Kept separate so the backend adapter can ship independently. */
body.pfs-redesign #jobMediaCard > summary .meta-inline{
  min-width:54px;
  justify-content:center;
}

.pfs-job-media-workspace{
  padding:0 22px 24px;
}

.pfs-media-loading{
  min-height:180px;
  display:grid;
  place-items:center;
  color:#7c847f;
  font-size:12px;
}

.pfs-media-shell{
  --media-blue:#0b5bd3;
  --media-blue-dark:#0848a7;
  --media-ink:#232a26;
  --media-muted:#737d77;
  --media-line:#dfe4df;
  --media-soft:#f4f6f3;
  max-width:1440px;
  margin:0 auto;
  color:var(--media-ink);
}

.pfs-media-kicker{
  display:block;
  margin-bottom:5px;
  color:#997526;
  font-size:9px;
  font-weight:900;
  letter-spacing:.115em;
  line-height:1.2;
  text-transform:uppercase;
}

.pfs-media-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(320px,1fr) auto;
  gap:24px 36px;
  align-items:end;
  padding:28px 30px 25px;
  overflow:hidden;
  border:1px solid #d8ded9;
  border-radius:14px;
  background:
    radial-gradient(circle at 86% 18%,rgba(26,104,220,.11),transparent 27%),
    linear-gradient(135deg,#fff 0%,#f7f9f6 58%,#f0f5fb 100%);
  box-shadow:0 14px 34px rgba(26,34,29,.055);
}

.pfs-media-hero::after{
  position:absolute;
  right:-42px;
  bottom:-60px;
  width:210px;
  height:210px;
  border:1px solid rgba(11,91,211,.12);
  border-radius:50%;
  box-shadow:0 0 0 25px rgba(11,91,211,.025),0 0 0 52px rgba(11,91,211,.018);
  content:"";
  pointer-events:none;
}

.pfs-media-hero-copy{ position:relative; z-index:1; max-width:690px; }
.pfs-media-hero-copy h3{
  margin:0;
  color:#1f2522;
  font-family:inherit;
  font-size:clamp(24px,2.2vw,36px);
  font-weight:920;
  letter-spacing:-.04em;
  line-height:1.08;
}
.pfs-media-hero-copy p{
  max-width:640px;
  margin:10px 0 0;
  color:#707a74;
  font-size:11px;
  line-height:1.55;
}

.pfs-media-hero-stats{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(76px,1fr));
  min-width:290px;
  overflow:hidden;
  border:1px solid rgba(205,215,207,.92);
  border-radius:11px;
  background:rgba(255,255,255,.85);
  box-shadow:0 8px 24px rgba(37,48,41,.05);
  backdrop-filter:blur(10px);
}

.pfs-media-hero-stats > span{
  display:grid;
  gap:2px;
  padding:14px 15px;
  border-left:1px solid #e4e8e4;
}
.pfs-media-hero-stats > span:first-child{ border-left:0; }
.pfs-media-hero-stats strong{ color:#252c28; font-size:19px; font-weight:930; letter-spacing:-.04em; }
.pfs-media-hero-stats small{ color:#7e8781; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }

.pfs-media-connection{
  position:absolute;
  top:16px;
  right:18px;
  z-index:2;
}
.pfs-media-connection span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:25px;
  padding:0 9px;
  border:1px solid #dde2de;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#858d88;
  font-size:8px;
  font-weight:850;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.pfs-media-connection i{ width:6px; height:6px; border-radius:50%; background:#b4bbb6; }
.pfs-media-connection .is-connected{ border-color:#bfe4ce; color:#207a49; background:#f1fbf5; }
.pfs-media-connection .is-connected i{ background:#20a762; box-shadow:0 0 0 3px rgba(32,167,98,.11); }

.pfs-media-tabs{
  display:flex;
  gap:5px;
  margin:16px 0 17px;
  padding:5px;
  border:1px solid var(--media-line);
  border-radius:11px;
  background:#eef1ed;
}
.pfs-media-tabs button{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:43px;
  flex:1;
  padding:0 18px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:#717a74;
  font:inherit;
  font-size:11px;
  font-weight:860;
  cursor:pointer;
}
.pfs-media-tabs button:hover{ color:#354039; background:rgba(255,255,255,.55); }
.pfs-media-tabs button.is-active{
  border-color:#d6dcd7;
  background:#fff;
  color:#27302b;
  box-shadow:0 4px 13px rgba(32,42,36,.065);
}
.pfs-media-tabs svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; }
.pfs-media-tabs .is-active svg{ stroke:var(--media-blue); }
.pfs-media-tabs small{
  min-width:20px;
  padding:3px 6px;
  border-radius:999px;
  background:#e1e6e2;
  color:#6f7872;
  font-size:8px;
  line-height:1;
}
.pfs-media-tabs .is-active small{ background:#eaf2ff; color:var(--media-blue); }

.pfs-media-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 14px;
  padding:10px 12px 10px 15px;
  border:1px solid #c9d9ee;
  border-radius:9px;
  background:#f1f6fd;
  color:#365472;
  font-size:10px;
  font-weight:720;
}
.pfs-media-notice button{ border:0; background:transparent; color:#55708c; font-size:18px; cursor:pointer; }

.pfs-media-progress{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  padding:10px 14px;
  border:1px solid #dfe4df;
  border-radius:9px;
  background:#fff;
  color:#4b5550;
  font-size:10px;
}
.pfs-media-progress > span{ width:74px; height:4px; overflow:hidden; border-radius:99px; background:#e4e8e5; }
.pfs-media-progress i{ display:block; width:42%; height:100%; border-radius:inherit; background:var(--media-blue); animation:pfsMediaProgress 1s ease-in-out infinite alternate; }
@keyframes pfsMediaProgress{ from{ transform:translateX(-25%); } to{ transform:translateX(165%); } }

.pfs-media-panel{ display:block; }
.pfs-media-hero + .pfs-media-panel{ margin-top:16px; }
.pfs-media-upload-station{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-height:118px;
  padding:20px 22px;
  border:1px solid #d9dfda;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 26px rgba(33,43,36,.045);
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.pfs-media-upload-station.is-dragging{
  border-color:#76a8ec;
  background:#f5f9ff;
  box-shadow:0 0 0 4px rgba(11,91,211,.08),0 12px 30px rgba(33,43,36,.06);
}
.pfs-media-upload-copy{ display:flex; align-items:center; gap:16px; max-width:720px; }
.pfs-media-upload-mark{
  width:51px;
  height:51px;
  flex:0 0 51px;
  display:grid;
  place-items:center;
  border:1px solid #cbdcf4;
  border-radius:13px;
  background:linear-gradient(145deg,#f3f8ff,#e5f0ff);
  color:var(--media-blue);
  box-shadow:inset 0 1px 0 #fff;
}
.pfs-media-upload-mark svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; }
.pfs-media-upload-copy h4,.pfs-media-library-head h4,.pfs-scope-intro h4,.pfs-scope-map-head h4{
  margin:0;
  color:#29312d;
  font-size:15px;
  font-weight:900;
  letter-spacing:-.025em;
}
.pfs-media-upload-copy p{ margin:5px 0 0; color:#7a837e; font-size:9px; line-height:1.5; }
.pfs-media-upload-actions{ display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.pfs-media-action{
  min-height:41px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  border:1px solid #d4dad5;
  border-radius:8px;
  background:#fff;
  color:#39423d;
  font:inherit;
  font-size:10px;
  font-weight:870;
  cursor:pointer;
  box-shadow:0 3px 9px rgba(32,41,35,.035);
}
.pfs-media-action:hover{ border-color:#b9c1bb; background:#f8f9f7; }
.pfs-media-action.is-primary{ border-color:#0b5bd3; background:var(--media-blue); color:#fff; box-shadow:0 7px 18px rgba(11,91,211,.18); }
.pfs-media-action.is-primary:hover{ border-color:var(--media-blue-dark); background:var(--media-blue-dark); }
.pfs-media-action svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; }
.pfs-media-file-input{ position:absolute !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }
.pfs-media-take{ display:none; }

.pfs-media-library-head{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto auto;
  align-items:end;
  gap:24px;
  margin:23px 2px 13px;
}
.pfs-media-library-summary{ min-width:0; }
.pfs-photo-library-controls{ display:block; }
.pfs-media-filters{ display:flex; gap:9px; }
.pfs-media-filters.is-solo{ display:flex; }
.pfs-media-filters label{ display:grid; gap:4px; }
.pfs-media-filters label > span{ color:#7e8782; font-size:7px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.pfs-media-filters select,.pfs-scope-group-row select{
  min-width:146px;
  height:36px;
  padding:0 31px 0 10px;
  border:1px solid #d8ded9;
  border-radius:8px;
  background:#fff;
  color:#3c4640;
  font:inherit;
  font-size:9px;
  font-weight:760;
}
.pfs-media-capacity{ min-width:105px; display:grid; gap:5px; }
.pfs-media-capacity > span{ height:5px; overflow:hidden; border-radius:99px; background:#e3e7e4; }
.pfs-media-capacity i{ display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#2f8a5a,var(--media-blue)); }
.pfs-media-capacity small{ color:#858d88; font-size:8px; font-weight:800; text-align:right; }

.pfs-photo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
}
.pfs-photo-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid #dce2dd;
  border-radius:11px;
  background:#fff;
  box-shadow:0 7px 21px rgba(34,44,37,.045);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.pfs-photo-card.is-selected{ border-color:#0b5bd3; box-shadow:0 0 0 2px rgba(11,91,211,.14); }
.pfs-photo-select{
  position:absolute;
  z-index:3;
  top:8px;
  right:8px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.82);
  border-radius:8px;
  background:rgba(25,32,28,.62);
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(6px);
}
.pfs-photo-select input{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.pfs-photo-select > span:first-of-type{ opacity:0; font-size:14px; font-weight:950; }
.pfs-photo-select:has(input:checked){ border-color:#0b5bd3; background:#0b5bd3; }
.pfs-photo-select:has(input:checked) > span:first-of-type{ opacity:1; }
.pfs-photo-card:hover{ transform:translateY(-2px); border-color:#bdc8c0; box-shadow:0 12px 28px rgba(34,44,37,.075); }
.pfs-photo-preview{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  padding:0;
  border:0;
  background:linear-gradient(145deg,#edf1ee,#e4e9e5);
  cursor:pointer;
}
.pfs-photo-preview img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.015); transition:opacity .2s ease,transform .25s ease; }
.pfs-photo-preview img.is-loaded{ opacity:1; }
.pfs-photo-card:hover .pfs-photo-preview img{ transform:scale(1.04); }
.pfs-photo-skeleton{ position:absolute; inset:0; display:grid; place-items:center; color:#aeb8b1; }
.pfs-photo-skeleton svg{ width:36px; height:36px; fill:none; stroke:currentColor; stroke-width:1.2; }
.pfs-photo-scope-tag{
  position:absolute;
  left:9px;
  bottom:9px;
  max-width:calc(100% - 18px);
  overflow:hidden;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  background:rgba(24,30,27,.72);
  color:#fff;
  font-size:7px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
  backdrop-filter:blur(7px);
}
.pfs-photo-card-body{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:11px 11px 8px; }
.pfs-photo-card-copy{ min-width:0; display:grid; gap:3px; }
.pfs-photo-card-copy strong,.pfs-photo-card-copy small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pfs-photo-card-copy strong{ color:#303834; font-size:10px; font-weight:880; }
.pfs-photo-card-copy small{ color:#858d88; font-size:8px; }
.pfs-photo-more{ width:29px; height:29px; border:1px solid #e0e4e1; border-radius:7px; background:#f8f9f7; color:#69736d; font-size:12px; cursor:pointer; }
.pfs-photo-more:hover{ border-color:#c4ccc6; background:#fff; }
.pfs-photo-card-foot{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 11px; padding:8px 0 10px; border-top:1px solid #edf0ed; }
.pfs-photo-card-foot span{ display:flex; align-items:center; gap:5px; min-width:0; color:#78817c; font-size:7px; font-weight:800; }
.pfs-photo-card-foot span i{ width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:#a7aea9; }
.pfs-photo-card-foot span.is-uploaded{ color:#258452; }
.pfs-photo-card-foot span.is-uploaded i{ background:#27a663; }
.pfs-photo-card-foot span.is-failed{ color:#b3463c; }
.pfs-photo-card-foot span.is-failed i{ background:#d7594d; }
.pfs-photo-card-foot span.is-uploading i{ background:#1b72df; animation:pfsMediaPulse .8s ease infinite alternate; }
@keyframes pfsMediaPulse{ to{ box-shadow:0 0 0 4px rgba(27,114,223,.16); } }
.pfs-photo-card-foot small{ flex:0 0 auto; color:#9aa19d; font-size:7px; }

.pfs-photo-bulk{
  position:sticky;
  top:112px;
  z-index:7;
  display:grid;
  grid-template-columns:auto auto minmax(150px,240px) auto auto auto;
  align-items:center;
  gap:8px;
  min-height:50px;
  margin:0 0 12px;
  padding:8px 10px;
  border:1px solid #d8e0dc;
  border-radius:10px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 22px rgba(30,40,34,.06);
  backdrop-filter:blur(10px);
}
.pfs-photo-bulk.is-active{ border-color:#b8cce9; box-shadow:0 9px 24px rgba(11,91,211,.09); }
.pfs-photo-bulk > span{ color:#67716b; font-size:9px; font-weight:800; white-space:nowrap; }
.pfs-photo-bulk > span strong{ color:#0b5bd3; font-size:12px; }
.pfs-photo-bulk select{ width:100%; min-height:34px; padding:0 28px 0 9px; border:1px solid #d6ddd8; border-radius:7px; background:#fff; color:#303833; font:inherit; font-size:9px; }
.pfs-photo-bulk .pfs-media-action{ min-height:34px; padding:0 11px; }
.pfs-photo-bulk-select{ min-height:34px; padding:0 10px; border:1px solid #d6ddd8; border-radius:7px; background:#fff; color:#56615a; font:inherit; font-size:8px; font-weight:850; cursor:pointer; }
.pfs-photo-bulk-delete{ min-height:34px; padding:0 11px; border:1px solid #a53b32; border-radius:7px; background:#b24539; color:#fff; font:inherit; font-size:8px; font-weight:880; cursor:pointer; }
.pfs-photo-bulk-delete:hover{ border-color:#8f2f28; background:#9d372e; }
.pfs-photo-bulk button:disabled{ opacity:.45; cursor:not-allowed; }
.pfs-photo-selection-count{ color:#67716b; font-size:9px; font-weight:800; }
.pfs-photo-selection-count strong{ color:#0b5bd3; font-size:12px; }

.pfs-window-group-media,.pfs-group-card-media{ min-width:0; border-bottom:1px solid #e7ebe8; background:#fbfcfb; }
.pfs-inline-group-media{ display:grid; gap:9px; padding:10px 15px 11px 18px; }
.pfs-inline-media-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; }
.pfs-inline-media-head > span{ display:flex; align-items:center; gap:6px; color:#6f7973; font-size:8px; font-weight:850; white-space:nowrap; }
.pfs-inline-media-head > span svg,.pfs-inline-media-actions button svg{ width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; }
.pfs-inline-media-actions{ display:flex; align-items:center; gap:5px; }
.pfs-inline-media-actions button{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 9px;
  border:1px solid #d7ded9;
  border-radius:7px;
  background:#fff;
  color:#53615a;
  font:inherit;
  font-size:8px;
  font-weight:850;
  cursor:pointer;
}
.pfs-inline-media-actions button:hover{ border-color:#b9cce6; color:#0b5bd3; }
.pfs-inline-media-actions button:disabled{ opacity:.4; cursor:not-allowed; }
.pfs-inline-media-actions.is-icon-only button{ width:30px; padding:0; }
.pfs-inline-media-actions.is-icon-only button span{ display:none; }
.pfs-inline-photo-strip{ display:flex; align-items:center; gap:6px; min-width:0; overflow:hidden; }
.pfs-inline-photo,.pfs-inline-photo-more{
  position:relative;
  width:54px;
  height:44px;
  flex:0 0 auto;
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #dce2de;
  border-radius:7px;
  background:#eef2ef;
  color:#7e8982;
  cursor:pointer;
}
.pfs-inline-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; }
.pfs-inline-photo img.is-loaded{ opacity:1; }
.pfs-inline-photo span svg{ width:17px; height:17px; fill:none; stroke:currentColor; }
.pfs-inline-photo-more{ background:#f1f6fd; color:#0b5bd3; font-size:9px; font-weight:900; }
.pfs-inline-media-empty{ color:#88918b; font-size:8px; }
.pfs-inline-group-media.is-compact{ grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:7px 12px; }
.pfs-inline-group-media.is-compact .pfs-inline-media-head{ min-width:230px; }
.pfs-inline-group-media.is-compact .pfs-inline-photo-strip{ grid-row:1; grid-column:2; }
.pfs-inline-group-media.is-compact .pfs-inline-photo{ width:38px; height:32px; border-radius:6px; }
.pfs-inline-group-media.is-compact .pfs-inline-photo-more{ width:34px; height:32px; }
.pfs-inline-group-media.is-compact .pfs-inline-media-empty{ display:none; }

.pfs-window-group-photos{ border-top:1px solid #e5e9e6; background:#fafbfa; }
.pfs-window-group-photos > summary{
  min-height:42px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 16px;
  align-items:center;
  gap:8px;
  padding:5px 11px 5px 13px;
  color:#68736c;
  cursor:pointer;
  list-style:none;
}
.pfs-window-group-photos > summary::-webkit-details-marker{ display:none; }
.pfs-window-group-photo-count{ display:flex; align-items:center; gap:6px; min-width:0; font-size:8px; font-weight:850; }
.pfs-window-group-photo-count svg{ width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; }
.pfs-window-group-photo-chevron{ font-size:11px; transition:transform .16s ease; }
.pfs-window-group-photos[open] .pfs-window-group-photo-chevron{ transform:rotate(180deg); }
.pfs-window-group-photos .pfs-window-group-media{ padding:8px 12px 10px; border-top:1px solid #e8ece9; border-bottom:0; background:#fff; }
.pfs-window-group-photos .pfs-inline-photo{ width:42px; height:34px; }
.pfs-window-group-photos .pfs-inline-photo-more{ width:38px; height:34px; }

.pfs-media-empty{
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:34px;
  border:1px solid #dfe4df;
  border-radius:12px;
  background:linear-gradient(145deg,#fff,#f5f7f4);
  text-align:center;
}
.pfs-media-empty > span{ width:54px; height:54px; display:grid; place-items:center; margin-bottom:13px; border:1px solid #d7e2f0; border-radius:15px; background:#eef5ff; color:var(--media-blue); }
.pfs-media-empty svg{ width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.6; }
.pfs-media-empty strong{ color:#303833; font-size:14px; font-weight:900; }
.pfs-media-empty p{ max-width:510px; margin:7px auto 15px; color:#7a837e; font-size:9px; line-height:1.55; }
.pfs-media-empty button{ display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:0 13px; border:1px solid #c9d9ef; border-radius:8px; background:#fff; color:var(--media-blue); font:inherit; font-size:9px; font-weight:850; cursor:pointer; }
.pfs-media-empty button svg{ width:14px; height:14px; }

.pfs-scope-intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:22px 24px;
  border:1px solid #dce2dd;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 26px rgba(33,43,36,.04);
}
.pfs-scope-intro p,.pfs-scope-map-head p{ margin:6px 0 0; color:#7a837e; font-size:9px; line-height:1.5; }
.pfs-scope-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:15px 0; }
.pfs-scope-card{ overflow:hidden; border:1px solid #dce2dd; border-radius:11px; background:#fff; box-shadow:0 6px 18px rgba(32,42,35,.035); }
.pfs-scope-card.is-default{ border-color:#c9d7e8; }
.pfs-scope-card-head{ display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:10px; padding:13px 13px 11px; }
.pfs-scope-card-mark{ width:36px; height:36px; display:grid; place-items:center; border:1px solid #d7e2ef; border-radius:9px; background:#f1f6fc; color:var(--media-blue); }
.pfs-scope-card-mark svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; }
.pfs-scope-card-head small{ color:#997526; font-size:7px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pfs-scope-card-head h5{ margin:2px 0 0; overflow:hidden; color:#303833; font-size:11px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-card-head button{ width:29px; height:29px; border:1px solid #e0e4e1; border-radius:7px; background:#f8f9f7; color:#717a74; cursor:pointer; }
.pfs-scope-metrics{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #edf0ed; border-bottom:1px solid #edf0ed; background:#fafbfa; }
.pfs-scope-metrics span{ display:grid; gap:2px; padding:10px 8px; border-left:1px solid #edf0ed; }
.pfs-scope-metrics span:first-child{ border-left:0; }
.pfs-scope-metrics strong{ color:#353e39; font-size:12px; font-weight:900; }
.pfs-scope-metrics small{ color:#919894; font-size:6px; font-weight:850; text-transform:uppercase; }
.pfs-scope-groups{ min-height:46px; display:flex; align-content:flex-start; flex-wrap:wrap; gap:5px; padding:10px 12px 12px; }
.pfs-scope-groups span{ max-width:100%; overflow:hidden; padding:5px 7px; border-radius:6px; background:#eef1ee; color:#5e6862; font-size:7px; font-weight:780; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-groups > small{ color:#969d99; font-size:8px; align-self:center; }

.pfs-scope-map{ overflow:hidden; border:1px solid #dce2dd; border-radius:12px; background:#fff; }
.pfs-scope-map-head{ display:flex; align-items:end; justify-content:space-between; gap:24px; padding:17px 19px 14px; border-bottom:1px solid #e4e8e5; }
.pfs-scope-map-head p{ max-width:370px; text-align:right; }
.pfs-scope-group-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.pfs-scope-group-row{ display:grid; grid-template-columns:5px minmax(0,1fr) auto; align-items:center; gap:11px; min-height:62px; padding:10px 14px; border-bottom:1px solid #edf0ed; }
.pfs-scope-group-row:nth-child(odd){ border-right:1px solid #edf0ed; }
.pfs-scope-group-color{ width:5px; height:31px; border-radius:99px; background:var(--group-color); }
.pfs-scope-group-row > div{ min-width:0; display:grid; gap:3px; }
.pfs-scope-group-row strong{ overflow:hidden; color:#38413c; font-size:9px; font-weight:880; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-group-row small{ color:#8a928d; font-size:7px; }
.pfs-scope-map-empty{ padding:28px; color:#818a84; font-size:9px; text-align:center; }

.pfs-media-editor,.pfs-scope-editor{ width:min(780px,calc(100vw - 36px)); color:#29312d; }
.pfs-media-editor-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:15px; }
.pfs-media-editor-head > button{ width:34px; height:34px; border:1px solid #d9dedb; border-radius:8px; background:#fff; color:#5d6761; font-size:20px; cursor:pointer; }
.pfs-media-editor-layout{ display:grid; grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr); gap:18px; }
.pfs-media-editor-preview{ min-width:0; display:flex; flex-direction:column; gap:7px; }
.pfs-photo-zoom-stage{ position:relative; width:100%; height:min(58vh,520px); overflow:hidden; display:grid; place-items:center; border:1px solid #dfe4df; border-radius:10px; background:#161c18; color:#87918b; touch-action:none; user-select:none; }
.pfs-photo-zoom-stage > span{ width:100%; height:100%; display:grid; place-items:center; }
.pfs-photo-zoom-stage img{ display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; transform-origin:center; transition:transform .16s ease; cursor:zoom-in; will-change:transform; }
.pfs-photo-zoom-stage.is-zoomed img{ cursor:grab; transition:none; }
.pfs-photo-zoom-stage.is-zoomed:active img{ cursor:grabbing; }
.pfs-photo-zoom-stage > span{ background:#eef1ee; }
.pfs-photo-zoom-stage > span svg{ width:34px; height:34px; fill:none; stroke:currentColor; }
.pfs-photo-zoom-controls{ align-self:flex-end; display:flex; align-items:center; gap:4px; padding:4px; border:1px solid #303b34; border-radius:9px; background:#202923; color:#fff; }
.pfs-photo-zoom-controls button{ min-width:30px; height:30px; display:grid; place-items:center; padding:0 8px; border:1px solid rgba(255,255,255,.18); border-radius:6px; background:rgba(255,255,255,.1); color:#fff; font:inherit; font-size:13px; font-weight:900; cursor:pointer; }
.pfs-photo-zoom-controls button:last-child{ font-size:8px; }
.pfs-photo-zoom-controls output{ min-width:44px; color:#fff; font-size:8px; font-weight:850; text-align:center; }
.pfs-media-editor-preview small{ color:#858d88; font-size:8px; }
.pfs-media-editor-fields{ display:grid; align-content:start; gap:12px; }
.pfs-media-editor-fields > label,.pfs-scope-editor-field{ display:grid; gap:5px; color:#525c56; font-size:8px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.pfs-media-editor-fields input,.pfs-media-editor-fields select,.pfs-scope-editor-field input{ width:100%; min-height:40px; padding:0 11px; border:1px solid #d5dbd6; border-radius:8px; background:#fff; color:#303833; font:inherit; font-size:10px; text-transform:none; }
.pfs-media-editor-fields fieldset{ min-width:0; margin:0; padding:11px; border:1px solid #dce1dd; border-radius:9px; }
.pfs-media-editor-fields legend{ padding:0 5px; color:#525c56; font-size:8px; font-weight:900; text-transform:uppercase; }
.pfs-media-editor-fields legend small{ color:#9aa19d; font-size:7px; font-weight:700; text-transform:none; }
.pfs-media-group-checks{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; max-height:180px; overflow:auto; }
.pfs-media-group-checks label{ display:flex; align-items:center; gap:7px; min-width:0; padding:8px; border:1px solid #e2e6e3; border-radius:7px; background:#fafbfa; color:#4c5650; font-size:8px; font-weight:760; }
.pfs-media-group-checks input[type="checkbox"]{ width:16px !important; height:16px !important; min-width:16px; min-height:16px !important; margin:0; padding:0; accent-color:#0b5bd3; }
.pfs-media-group-checks label span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pfs-media-group-checks p{ grid-column:1/-1; margin:3px; color:#89918c; font-size:8px; }
.pfs-media-editor-actions{ display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:8px; margin-top:17px; padding-top:14px; border-top:1px solid #e4e8e5; }
.pfs-media-danger{ min-height:38px; padding:0 11px; border:1px solid #e1c7c3; border-radius:8px; background:#fff8f7; color:#b24539; font:inherit; font-size:9px; font-weight:840; cursor:pointer; }
body.pfs-redesign .modal-content:has(.pfs-media-editor){
  width:min(840px,calc(100vw - 56px)) !important;
  max-width:840px !important;
  max-height:calc(100vh - 56px) !important;
  padding:18px !important;
  overflow:auto !important;
}
body.pfs-redesign .modal-content:has(.pfs-media-editor) .pfs-media-editor{ width:100%; max-width:none; }
body.pfs-redesign .modal-content:has(.pfs-media-editor) .pfs-media-editor-actions{
  position:sticky;
  bottom:-18px;
  z-index:4;
  margin-right:-18px;
  margin-bottom:-18px;
  margin-left:-18px;
  padding:12px 18px;
  background:#fff;
  box-shadow:0 -8px 22px rgba(30,38,33,.07);
}
.pfs-scope-editor{ width:min(530px,calc(100vw - 36px)); }
.pfs-scope-editor > p{ margin:0 0 16px; color:#737d77; font-size:9px; line-height:1.55; }

/* Job-level scope workspace: scopes are independently planned portions of one job. */
body.pfs-redesign .pfs-job-scope-workspace{
  min-width:0;
  padding:18px;
  border:1px solid #d6dfe9;
  border-radius:14px;
  background:
    radial-gradient(circle at 91% 4%,rgba(11,91,211,.09),transparent 28%),
    linear-gradient(135deg,#fff 0%,#f7f9f7 64%,#f1f6fc 100%);
  box-shadow:0 14px 38px rgba(31,42,35,.065);
}

body.pfs-redesign .pfs-job-scope-workspace[hidden]{ display:none !important; }

body.pfs-redesign .pfs-workspace-scopes .pfs-workspace-body{
  padding:18px;
  background:#eef1ef;
}

body.pfs-redesign .pfs-workspace-scopes .pfs-job-scope-workspace{
  min-height:100%;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(31,42,35,.055);
}

@media (min-width:861px){
  .pfs-workspace-scopes .pfs-scope-bar-head h4{ font-size:21px; }
  .pfs-workspace-scopes .pfs-scope-bar-head p{ max-width:760px; font-size:10px; }
  .pfs-workspace-scopes .pfs-scope-bar-actions button{ min-height:40px; padding:0 14px; font-size:10px; }
  .pfs-workspace-scopes .pfs-scope-switch{ min-height:70px; padding:11px 13px; }
  .pfs-workspace-scopes .pfs-scope-switch strong{ font-size:11px; }
  .pfs-workspace-scopes .pfs-scope-switch small{ font-size:8px; }
  .pfs-workspace-scopes .pfs-active-scope-panel{ min-height:78px; }
  .pfs-workspace-scopes .pfs-active-scope-title strong{ font-size:15px; }
  .pfs-workspace-scopes .pfs-scope-film-field select{ min-height:42px; font-size:10px; }
  .pfs-workspace-scopes .pfs-scope-live-metrics strong{ font-size:15px; }
  .pfs-workspace-scopes .pfs-scope-rules-summary strong{ font-size:10px; }
  .pfs-workspace-scopes .pfs-scope-rules-summary small{ font-size:8px; }
  .pfs-workspace-scopes .pfs-scope-rules-summary button{ min-height:38px; font-size:8px; }
  .pfs-workspace-scopes .pfs-material-demand-head{ min-height:58px; }
  .pfs-workspace-scopes .pfs-material-demand-head h5{ font-size:13px; }
  .pfs-workspace-scopes .pfs-material-demand-head p,
  .pfs-workspace-scopes .pfs-material-demand-head > em{ font-size:8px; }
}

body.pfs-redesign #appMainContent #windowsCard .pfs-windows-scope-context{
  grid-column:1/-1;
  min-width:0;
  min-height:58px;
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(220px,.8fr) auto;
  align-items:center;
  gap:16px;
  padding:9px 13px;
  border:1px solid #d7e0eb;
  border-radius:10px;
  background:linear-gradient(100deg,#f7faff,#fff);
}
body.pfs-redesign #appMainContent #windowsCard .pfs-windows-scope-context[hidden]{ display:none !important; }
.pfs-windows-scope-context > div{ min-width:0; display:grid; gap:2px; }
.pfs-windows-scope-context > div > span{ color:#7e8b83; font-size:6px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pfs-windows-scope-context > div > strong,.pfs-windows-scope-context > div > small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pfs-windows-scope-context > div > strong{ color:#27322b; font-size:10px; font-weight:920; }
.pfs-windows-scope-context > div > small{ color:#0b5bd3; font-size:7px; font-weight:820; }
.pfs-windows-scope-context select{ width:100%; min-height:37px; padding:0 34px 0 10px; border:1px solid #c4d2e3; border-radius:8px; background:#fff; color:#303a34; font:inherit; font-size:9px; font-weight:850; }
.pfs-windows-scope-context p{ margin:0; color:#7d8881; font-size:7px; font-weight:800; white-space:nowrap; }

.pfs-results-scope-context{
  min-width:0;
  min-height:66px;
  display:grid;
  grid-template-columns:minmax(170px,1fr) minmax(190px,.8fr) auto auto;
  align-items:center;
  gap:14px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:linear-gradient(100deg,#f6f9ff,#fff 62%);
  box-shadow:0 6px 18px rgba(30,46,67,.035);
}
.pfs-results-scope-context[hidden]{ display:none !important; }
.pfs-results-scope-copy{ min-width:0; display:grid; gap:2px; }
.pfs-results-scope-copy > span,
.pfs-results-scope-picker > span{ color:#7f8b84; font-size:6px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.pfs-results-scope-copy strong,
.pfs-results-scope-copy small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pfs-results-scope-copy strong{ color:#28332c; font-size:11px; font-weight:920; }
.pfs-results-scope-copy small{ color:#0b5bd3; font-size:7px; font-weight:820; }
.pfs-results-scope-picker{ min-width:0; display:grid; gap:4px; }
.pfs-results-scope-picker select,
.pfs-jobdetails-scope-context select{
  width:100%;
  min-height:37px;
  padding:0 34px 0 10px;
  border:1px solid #c5d2e3;
  border-radius:8px;
  background:#fff;
  color:#303a34;
  font:inherit;
  font-size:9px;
  font-weight:850;
}
.pfs-results-scope-status{ min-width:112px; display:grid; gap:4px; justify-items:start; }
.pfs-results-scope-status > span{ display:flex; align-items:center; gap:6px; color:#7f8983; font-size:7px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.pfs-results-scope-status i{ width:7px; height:7px; border-radius:50%; background:#aeb6b1; }
.pfs-results-scope-status small{ color:#7f8983; font-size:7px; font-weight:760; white-space:nowrap; }
.pfs-results-scope-status.is-open > span{ color:#8a6b25; }
.pfs-results-scope-status.is-open i{ background:#c79832; }
.pfs-results-scope-status.is-ready > span{ color:#25794a; }
.pfs-results-scope-status.is-ready i{ background:#25a35f; box-shadow:0 0 0 3px rgba(37,163,95,.11); }
.pfs-results-manage-scopes{
  min-height:37px;
  padding:0 11px;
  border:1px solid #cad5e3;
  border-radius:8px;
  background:#fff;
  color:#0b5bd3;
  font:inherit;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.pfs-results-manage-scopes:hover{ border-color:#8fb0df; background:#f6f9ff; }

.pfs-jobdetails-scope-context{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,.85fr);
  align-items:center;
  gap:10px;
  margin:0 0 11px;
  padding:9px 10px;
  border:1px solid #d7e0eb;
  border-radius:9px;
  background:#f6f9ff;
}
.pfs-jobdetails-scope-context[hidden]{ display:none !important; }
.pfs-jobdetails-scope-context > div{ min-width:0; display:grid; gap:2px; }
.pfs-jobdetails-scope-context > div span{ color:#7f8b84; font-size:6px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pfs-jobdetails-scope-context > div strong{ overflow:hidden; color:#28332c; font-size:9px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }

.pfs-scope-bar-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:13px;
}
.pfs-scope-bar-head h4{ margin:0; color:#27302b; font-size:15px; font-weight:920; letter-spacing:-.025em; }
.pfs-scope-bar-head p{ margin:4px 0 0; color:#79827d; font-size:8px; line-height:1.45; }
.pfs-scope-bar-actions{ display:flex; align-items:center; gap:7px; flex:0 0 auto; }
.pfs-scope-bar-actions button{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 11px;
  border:1px solid #d5dcd7;
  border-radius:8px;
  background:#fff;
  color:#46504a;
  font:inherit;
  font-size:8px;
  font-weight:850;
  cursor:pointer;
}
.pfs-scope-bar-actions button:hover{ border-color:#b8c1bb; background:#fafbfa; }
.pfs-scope-bar-actions button.is-primary{ border-color:#0b5bd3; background:#0b5bd3; color:#fff; box-shadow:0 6px 15px rgba(11,91,211,.16); }
.pfs-scope-bar-actions button svg{ width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; }

.pfs-scope-switches{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(205px,1fr));
  gap:8px;
}
.pfs-scope-switch{
  min-width:0;
  min-height:58px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 10px 9px 12px;
  border:1px solid #dce2dd;
  border-radius:9px;
  background:rgba(255,255,255,.83);
  color:#37413b;
  font:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:0 3px 11px rgba(29,39,32,.03);
}
.pfs-scope-switch:hover{ border-color:#bfc9c1; background:#fff; }
.pfs-scope-switch.is-active{ border-color:#79a4e2; background:#f4f8ff; box-shadow:0 0 0 3px rgba(11,91,211,.07); }
.pfs-scope-switch > span{ min-width:0; display:grid; gap:3px; }
.pfs-scope-switch strong,.pfs-scope-switch small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-switch strong{ color:#2e3732; font-size:9px; font-weight:900; }
.pfs-scope-switch small{ color:#838c86; font-size:7px; }
.pfs-scope-switch em{ display:flex; align-items:center; gap:5px; color:#838b86; font-size:6px; font-style:normal; font-weight:900; letter-spacing:.035em; text-transform:uppercase; white-space:nowrap; }
.pfs-scope-switch em i{ width:6px; height:6px; border-radius:50%; background:#aeb5b1; }
.pfs-scope-switch em.is-open{ color:#8a6b25; }
.pfs-scope-switch em.is-open i{ background:#c79832; }
.pfs-scope-switch em.is-ready{ color:#25794a; }
.pfs-scope-switch em.is-ready i{ background:#25a35f; box-shadow:0 0 0 3px rgba(37,163,95,.11); }
.pfs-scope-mobile-select{ display:none; }

.pfs-active-scope-panel{
  display:grid;
  grid-template-columns:minmax(120px,.55fr) minmax(230px,1.25fr) minmax(285px,1.35fr) minmax(220px,1fr);
  align-items:stretch;
  gap:10px;
  margin-top:11px;
  padding:11px;
  border:1px solid #dce3df;
  border-radius:11px;
  background:rgba(255,255,255,.78);
}
.pfs-active-scope-title,
.pfs-scope-film-field,
.pfs-scope-rules-summary{
  min-width:0;
  display:grid;
  align-content:center;
  gap:4px;
  padding:2px 10px;
}
.pfs-active-scope-title span,
.pfs-scope-film-field > span,
.pfs-scope-rules-summary span{
  color:#88918c;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pfs-active-scope-title strong{ overflow:hidden; color:#202923; font-size:12px; font-weight:920; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-film-field{ border-left:1px solid #e1e6e2; }
.pfs-scope-film-field select{
  width:100%;
  min-height:38px;
  padding:0 34px 0 10px;
  border:1px solid #cbd6cf;
  border-radius:8px;
  background:#fff;
  color:#303a34;
  font:inherit;
  font-size:9px;
  font-weight:820;
}
.pfs-scope-live-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-left:1px solid #e1e6e2;
  border-right:1px solid #e1e6e2;
}
.pfs-scope-live-metrics span{ min-width:0; display:grid; place-content:center; gap:2px; text-align:center; }
.pfs-scope-live-metrics strong{ color:#28322c; font-size:12px; font-weight:920; }
.pfs-scope-live-metrics small{ color:#8a938e; font-size:6px; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }
.pfs-scope-rules-summary{ grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.pfs-scope-rules-summary > div{ min-width:0; display:grid; gap:2px; }
.pfs-scope-rules-summary strong{ color:#343e38; font-size:9px; font-weight:900; }
.pfs-scope-rules-summary small{ overflow:hidden; color:#858e88; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-rules-summary button{
  min-height:34px;
  padding:0 10px;
  border:1px solid #cad5ce;
  border-radius:8px;
  background:#fff;
  color:#0b5bd3;
  font:inherit;
  font-size:7px;
  font-weight:900;
  cursor:pointer;
}
.pfs-scope-rules-summary button:hover{ border-color:#8fb0df; background:#f6f9ff; }

.pfs-material-demand{ margin-top:12px; border-top:1px solid #dfe5e1; }
.pfs-material-demand-head{ min-height:48px; display:grid; grid-template-columns:auto minmax(280px,1fr) auto; align-items:center; gap:20px; margin:0; list-style:none; cursor:pointer; }
.pfs-material-demand-head::-webkit-details-marker{ display:none; }
.pfs-material-demand-head h5{ margin:1px 0 0; color:#29332d; font-size:11px; font-weight:920; }
.pfs-material-demand-head p{ justify-self:end; max-width:520px; margin:0; color:#858e89; font-size:7px; line-height:1.45; text-align:right; }
.pfs-material-demand-head > em{ display:inline-flex; align-items:center; gap:7px; color:#66716a; font-size:7px; font-style:normal; font-weight:900; white-space:nowrap; }
.pfs-material-demand-head > em i{ color:#0b5bd3; font-size:9px; font-style:normal; transition:transform .18s ease; }
.pfs-material-demand[open] .pfs-material-demand-head > em i{ transform:rotate(180deg); }
.pfs-material-demand-body{ padding-top:2px; }
.pfs-material-table{ overflow:hidden; border:1px solid #dce2de; border-radius:10px; background:rgba(255,255,255,.82); }
.pfs-material-head,
.pfs-material-row{
  display:grid;
  grid-template-columns:minmax(220px,2fr) minmax(64px,.55fr) minmax(76px,.65fr) minmax(68px,.6fr) minmax(88px,.75fr) minmax(70px,.6fr);
  align-items:center;
  gap:12px;
  padding:0 13px;
}
.pfs-material-head{ min-height:30px; background:#f0f3f1; color:#7e8782; font-size:6px; font-weight:900; letter-spacing:.075em; text-transform:uppercase; }
.pfs-material-row{ min-height:47px; border-top:1px solid #e7ebe8; color:#46514a; font-size:8px; }
.pfs-material-row > div{ min-width:0; display:grid; gap:2px; }
.pfs-material-row strong,.pfs-material-row small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pfs-material-row strong{ color:#303a34; font-size:8px; font-weight:900; }
.pfs-material-row small{ color:#8b938e; font-size:6px; }
.pfs-material-row em{ color:#78827c; font-size:7px; font-style:normal; font-weight:840; }
.pfs-material-empty{ min-height:72px; display:grid; place-content:center; gap:3px; border:1px solid #dce2de; border-radius:10px; background:rgba(255,255,255,.65); text-align:center; }
.pfs-material-empty strong{ color:#4b554f; font-size:9px; }
.pfs-material-empty span{ color:#8b938f; font-size:7px; }

.fy-modal-title-row{ display:flex; align-items:center; gap:9px; }
.fy-modal-scope-badge{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  max-width:240px;
  overflow:hidden;
  padding:0 8px;
  border:1px solid #c7d8ef;
  border-radius:999px;
  background:#edf4ff;
  color:#0b5bd3;
  font-size:7px;
  font-weight:900;
  letter-spacing:.045em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

/* Scope-aware material setup stays useful even when the Film Catalog is unused. */
.pfs-scope-quick-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin:12px 0;
  padding:10px;
  border:1px solid #d4dfec;
  border-radius:9px;
  background:#f5f8fc;
}
.pfs-scope-quick-actions[hidden]{ display:none !important; }
.pfs-scope-quick-copy{ min-width:0; display:grid; gap:2px; }
.pfs-scope-quick-copy span{ color:#7c8995; font-size:6px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pfs-scope-quick-copy strong{ overflow:hidden; color:#354251; font-size:8px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-quick-buttons{ display:flex; align-items:center; gap:6px; }
.pfs-scope-quick-buttons button{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border:1px solid #0b5bd3;
  border-radius:7px;
  background:#0b5bd3;
  color:#fff;
  font:inherit;
  font-size:7px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.pfs-scope-quick-buttons #pfsMoveToScopeBtn{ border-color:#bccde3; background:#fff; color:#0b5bd3; }
.pfs-scope-quick-buttons button[hidden]{ display:none !important; }
.pfs-scope-quick-buttons button:disabled{ border-color:#d9deda !important; background:#eef1ef !important; color:#9aa39d !important; cursor:not-allowed; }
.pfs-material-section-label{ flex:0 0 auto; padding:5px 7px; border-radius:999px; background:#e9eef5; color:#64758a !important; }
.pfs-scope-material-setup{ display:grid; gap:10px; margin:0 0 12px; padding:12px; border:1px solid #dce3de; border-radius:10px; background:linear-gradient(145deg,#fbfcfb,#f5f7f6); }
.pfs-scope-material-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pfs-scope-material-head > div:first-child{ min-width:0; display:grid; gap:2px; }
.pfs-scope-material-head span{ color:#8a938d; font-size:6px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pfs-scope-material-head strong{ overflow:hidden; color:#354039; font-size:10px; font-weight:920; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-material-head small{ overflow:hidden; color:#818b84; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-material-head > div:last-child{ display:flex; flex:0 0 auto; gap:5px; }
.pfs-scope-material-head button{ min-height:29px; display:inline-flex; align-items:center; justify-content:center; gap:5px; padding:0 8px; border:1px solid #c8d5e5; border-radius:7px; background:#fff; color:#0b5bd3; font:inherit; font-size:7px; font-weight:900; cursor:pointer; }
.pfs-scope-material-head button svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.9; }
.pfs-material-source-switch{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:4px; border-radius:8px; background:#e9eeeb; }
.pfs-material-source-switch button{ min-width:0; min-height:34px; padding:5px 7px; border:1px solid transparent; border-radius:6px; background:transparent; color:#6f7973; font:inherit; font-size:7px; font-weight:900; line-height:1.2; cursor:pointer; }
.pfs-material-source-switch button.is-active{ border-color:#c9d8eb; background:#fff; color:#0b5bd3; box-shadow:0 2px 7px rgba(36,49,41,.07); }
.pfs-scope-material-fields{ display:grid; gap:8px; }
.pfs-scope-material-fields label{ min-width:0; display:grid; gap:4px; color:#59635d; font-size:7px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.pfs-scope-material-fields label > span small{ color:#929b95; font-size:6px; font-weight:700; text-transform:none; }
.pfs-scope-material-fields :is(input,select){ width:100%; min-width:0; min-height:38px; padding:0 10px; border:1px solid #d3dbd5; border-radius:7px; background:#fff; color:#333d37; font:inherit; font-size:9px; text-transform:none; }
.pfs-scope-material-fields label > small{ color:#8b948e; font-size:6px; font-weight:700; letter-spacing:0; line-height:1.4; text-transform:none; }
.pfs-material-custom-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.pfs-material-cost-field{ max-width:180px; }
.pfs-material-source-empty{ display:grid; gap:3px; padding:10px; border:1px solid #e4ddd0; border-radius:8px; background:#fffaf1; }
.pfs-material-source-empty strong{ color:#6f5c35; font-size:8px; }
.pfs-material-source-empty span{ color:#8a7c63; font-size:7px; line-height:1.45; }
.pfs-scope-move-dialog > p{ margin:0 0 14px; color:#737d77; font-size:9px; line-height:1.55; }
.pfs-scope-move-dialog select{ width:100%; min-height:42px; padding:0 34px 0 11px; border:1px solid #cbd6cf; border-radius:8px; background:#fff; color:#303a34; font:inherit; font-size:9px; }
.pfs-scope-move-note{ display:grid; gap:3px; margin-top:12px; padding:11px; border:1px solid #ead9b8; border-radius:8px; background:#fff9ef; }
.pfs-scope-move-note strong{ color:#725a2a; font-size:8px; }
.pfs-scope-move-note span{ color:#8a7856; font-size:7px; line-height:1.45; }

/* Multi-scope project overview cards. */
.pfs-scope-overview-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:10px; }
.pfs-scope-overview-card{ min-width:0; padding:13px; border:1px solid #dce2dd; border-radius:11px; background:rgba(255,255,255,.88); box-shadow:0 4px 14px rgba(29,39,32,.035); }
.pfs-scope-overview-card.is-active{ border-color:#79a4e2; background:#f5f8ff; box-shadow:0 0 0 3px rgba(11,91,211,.065); }
.pfs-scope-overview-card > header{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.pfs-scope-overview-card > header > div{ min-width:0; display:grid; gap:2px; }
.pfs-scope-overview-card > header span{ color:#8a938d; font-size:6px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pfs-scope-overview-card h5{ overflow:hidden; margin:0; color:#2c3630; font-size:11px; font-weight:920; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-overview-card > header em{ display:flex; align-items:center; gap:5px; color:#7d8781; font-size:6px; font-style:normal; font-weight:900; text-transform:uppercase; white-space:nowrap; }
.pfs-scope-overview-card > header em i{ width:6px; height:6px; border-radius:50%; background:#adb5b0; }
.pfs-scope-overview-card > header em.is-open{ color:#8a6b25; }
.pfs-scope-overview-card > header em.is-open i{ background:#c79832; }
.pfs-scope-overview-card > header em.is-ready{ color:#25794a; }
.pfs-scope-overview-card > header em.is-ready i{ background:#25a35f; }
.pfs-scope-overview-card > p{ min-height:28px; margin:9px 0; overflow:hidden; color:#7f8882; font-size:7px; line-height:1.45; }
.pfs-scope-card-metrics{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:8px 0; border-top:1px solid #e8ece9; border-bottom:1px solid #e8ece9; }
.pfs-scope-card-metrics span{ display:grid; gap:2px; text-align:center; }
.pfs-scope-card-metrics strong{ color:#303a34; font-size:11px; font-weight:920; }
.pfs-scope-card-metrics small,.pfs-scope-card-spec small{ color:#929a95; font-size:6px; font-weight:850; text-transform:uppercase; }
.pfs-scope-card-spec{ display:grid; grid-template-columns:1.3fr 1fr; gap:10px; padding:9px 0; }
.pfs-scope-card-spec > span{ min-width:0; display:grid; gap:2px; }
.pfs-scope-card-spec strong{ overflow:hidden; color:#46514a; font-size:7px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-overview-card > footer{ display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.pfs-scope-overview-card > footer.has-remove{ grid-template-columns:1fr 1fr; }
.pfs-scope-overview-card > footer button{ min-height:33px; border:1px solid #d2d9d4; border-radius:7px; background:#fff; color:#4e5952; font:inherit; font-size:7px; font-weight:900; cursor:pointer; }
.pfs-scope-overview-card > footer button:first-child{ border-color:#0b5bd3; background:#0b5bd3; color:#fff; }
.pfs-scope-overview-card > footer button.is-remove{ grid-column:1/-1; border-color:#e2c9c5; background:#fffafa; color:#9d453b; }

.pfs-scope-details-panel,.pfs-scope-assignments,.pfs-scope-queue{ margin-top:12px; padding:14px; border:1px solid #dce2de; border-radius:11px; background:rgba(255,255,255,.82); }
.pfs-scope-details-panel > header,.pfs-scope-assignments > header,.pfs-scope-queue > header{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.pfs-scope-details-panel > header > div{ min-width:0; }
.pfs-scope-details-panel > header h5,.pfs-scope-assignments > header h5,.pfs-scope-queue > header h5{ margin:2px 0 3px; color:#29332d; font-size:13px; font-weight:920; }
.pfs-scope-details-panel > header p,.pfs-scope-assignments > header p,.pfs-scope-queue > header p{ max-width:700px; margin:0; color:#848d87; font-size:7px; line-height:1.45; }
.pfs-scope-details-panel > header button{ min-height:34px; padding:0 10px; border:1px solid #cbd5cf; border-radius:8px; background:#fff; color:#0b5bd3; font:inherit; font-size:7px; font-weight:900; cursor:pointer; }
.pfs-scope-detail-columns{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:13px; border:1px solid #e0e5e1; border-radius:9px; background:#fff; }
.pfs-scope-detail-columns > section{ min-width:0; display:grid; align-content:start; gap:5px; padding:12px 14px; border-right:1px solid #e6eae7; }
.pfs-scope-detail-columns > section:last-child{ border-right:0; }
.pfs-scope-detail-columns > section > span{ color:#8a938e; font-size:6px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pfs-scope-detail-columns > section > strong{ color:#343e38; font-size:9px; font-weight:900; }
.pfs-scope-detail-columns > section > small{ color:#858e88; font-size:7px; }
.pfs-scope-detail-columns button{ justify-self:start; min-height:31px; margin-top:4px; padding:0 9px; border:1px solid #ced8d1; border-radius:7px; background:#fff; color:#0b5bd3; font:inherit; font-size:7px; font-weight:900; cursor:pointer; }
.pfs-scope-detail-tags{ display:flex; flex-wrap:wrap; gap:4px; margin-top:4px; }
.pfs-scope-detail-tags em{ max-width:150px; overflow:hidden; padding:4px 6px; border-radius:999px; background:#f0f3f1; color:#69736d; font-size:6px; font-style:normal; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-details-panel .pfs-scope-film-field{ display:grid; gap:4px; padding:0; border:0; }
.pfs-scope-details-panel .pfs-scope-film-field select{ min-height:35px; font-size:8px; }

.pfs-scope-assignments{ background:rgba(248,250,249,.72); }
.pfs-scope-assignments > header{ align-items:flex-start; padding-bottom:11px; border-bottom:1px solid #e5e9e6; }
.pfs-scope-assignments > header > div{ min-width:0; }
.pfs-scope-assignments > header h5{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.pfs-scope-assignments > header h5 em{ padding:3px 6px; border:1px solid #d8dfda; border-radius:999px; background:#f4f6f5; color:#758078; font-size:6px; font-style:normal; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.pfs-scope-assignments > header .pfs-scope-assignment-impact{ max-width:330px; padding:8px 10px; border-radius:7px; background:#f2f5f3; color:#69746d; text-align:left; }
.pfs-scope-assignments > div{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }
.pfs-scope-assignment-row{ min-width:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.7fr); align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid #ecefec; }
.pfs-scope-assignment-row > div{ min-width:0; display:grid; gap:2px; }
.pfs-scope-assignment-row label{ display:grid; gap:3px; }
.pfs-scope-assignment-row label > span{ color:#7b857f; font-size:6px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.pfs-scope-assignment-row strong,.pfs-scope-assignment-row small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-assignment-row strong{ color:#414b45; font-size:8px; font-weight:900; }
.pfs-scope-assignment-row small{ color:#8c948f; font-size:6px; }
.pfs-scope-assignment-row select{ width:100%; min-height:34px; padding:0 30px 0 9px; border:1px solid #d1d9d3; border-radius:7px; background:#fff; color:#434d47; font:inherit; font-size:7px; font-weight:850; }
.pfs-scope-assignment-empty{ grid-column:1/-1; padding:22px; color:#858e88; font-size:8px; text-align:center; }

.pfs-scope-queue > header{ align-items:center; padding-bottom:10px; }
.pfs-scope-queue > header em{ padding:6px 8px; border-radius:999px; background:#eef2ef; color:#67716b; font-size:7px; font-style:normal; font-weight:900; white-space:nowrap; }
.pfs-scope-queue-list{ overflow:hidden; border:1px solid #dfe4e0; border-radius:9px; background:#fff; }
.pfs-scope-queue-row{ min-height:50px; display:grid; grid-template-columns:28px minmax(0,1fr) 100px auto; align-items:center; gap:10px; padding:8px 10px; border-bottom:1px solid #e9ecea; }
.pfs-scope-queue-row:last-child{ border-bottom:0; }
.pfs-scope-queue-order{ width:24px; height:24px; display:grid; place-items:center; border-radius:7px; background:#eef1ef; color:#69736d; font-size:7px; font-weight:900; }
.pfs-scope-queue-row > div{ min-width:0; display:grid; gap:2px; }
.pfs-scope-queue-row strong,.pfs-scope-queue-row small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-queue-row strong{ color:#37413b; font-size:8px; font-weight:900; }
.pfs-scope-queue-row small{ color:#8a928d; font-size:6px; }
.pfs-scope-queue-state{ display:flex; align-items:center; gap:5px; color:#7d8681; font-size:6px; font-weight:900; text-transform:uppercase; white-space:nowrap; }
.pfs-scope-queue-state i{ width:6px; height:6px; border-radius:50%; background:#adb5b0; }
.pfs-scope-queue-row.is-open .pfs-scope-queue-state{ color:#8a6b25; }
.pfs-scope-queue-row.is-open .pfs-scope-queue-state i{ background:#c79832; }
.pfs-scope-queue-row.is-ready .pfs-scope-queue-state{ color:#25794a; }
.pfs-scope-queue-row.is-ready .pfs-scope-queue-state i{ background:#25a35f; }
.pfs-scope-queue-row.is-stale .pfs-scope-queue-state{ color:#8a6418; }
.pfs-scope-queue-row.is-stale .pfs-scope-queue-state i{ background:#d39a24; }
.pfs-scope-queue-row.is-blocked .pfs-scope-queue-state{ color:#a05a45; }
.pfs-scope-queue-row > button{ min-height:31px; padding:0 9px; border:1px solid #ccd6cf; border-radius:7px; background:#fff; color:#0b5bd3; font:inherit; font-size:7px; font-weight:900; cursor:pointer; }
.pfs-scope-queue-row > button:disabled{ color:#a0a7a2; background:#f4f5f4; cursor:not-allowed; }

.pfs-readiness-matrix{ margin-top:12px; padding:14px; border:1px solid #dce2de; border-radius:11px; background:rgba(255,255,255,.82); }
.pfs-readiness-matrix > header h5{ margin:2px 0 3px; color:#29332d; font-size:13px; font-weight:920; }
.pfs-readiness-matrix > header p{ max-width:760px; margin:0; color:#848d87; font-size:7px; line-height:1.45; }
.pfs-readiness-scroll{ margin-top:12px; overflow-x:auto; border:1px solid #dfe4e0; border-radius:9px; background:#fff; }
.pfs-readiness-head,.pfs-readiness-row{ min-width:880px; display:grid; grid-template-columns:minmax(170px,1.35fr) repeat(5,minmax(118px,1fr)); align-items:stretch; }
.pfs-readiness-head{ background:#f1f4f2; color:#68726c; font-size:7px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.pfs-readiness-head span{ padding:9px 10px; border-right:1px solid #dfe4e0; }
.pfs-readiness-head span:last-child{ border-right:0; }
.pfs-readiness-row{ border-top:1px solid #e9ecea; }
.pfs-readiness-scope{ display:grid; align-content:center; gap:2px; min-height:58px; padding:9px 10px; border:0; border-right:1px solid #e9ecea; background:#fff; color:#37413b; text-align:left; cursor:pointer; }
.pfs-readiness-scope:hover{ background:#f7f9fb; }
.pfs-readiness-scope strong{ font-size:8px; font-weight:900; }
.pfs-readiness-scope small{ color:#8a928d; font-size:6px; }
.pfs-readiness-cell{ display:grid; align-content:center; grid-template-columns:8px minmax(0,1fr); gap:2px 6px; min-height:58px; padding:9px 10px; border-right:1px solid #e9ecea; color:#69736d; }
.pfs-readiness-cell:last-child{ border-right:0; }
.pfs-readiness-cell i{ grid-row:1/3; width:7px; height:7px; margin-top:2px; border-radius:50%; background:#adb5b0; }
.pfs-readiness-cell strong{ overflow:hidden; font-size:7px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.pfs-readiness-cell small{ overflow:hidden; color:#8a928d; font-size:6px; text-overflow:ellipsis; white-space:nowrap; }
.pfs-readiness-cell.is-ready{ color:#25794a; }
.pfs-readiness-cell.is-ready i{ background:#25a35f; }
.pfs-readiness-cell.is-stale{ color:#8a6418; background:#fffaf0; }
.pfs-readiness-cell.is-stale i{ background:#d39a24; }
.pfs-readiness-cell.is-missing{ color:#9b4d3a; background:#fff8f6; }
.pfs-readiness-cell.is-missing i{ background:#d16c52; }

/* Guided setup and Scope Details editors. */
body.pfs-redesign .modal-content:has(.pfs-scope-setup),body.pfs-redesign .modal-content:has(.pfs-scope-details-editor),body.pfs-redesign .modal-content:has(.pfs-cutplan-queue-modal){ width:min(1040px,calc(100vw - 48px)) !important; max-width:1040px !important; max-height:calc(100vh - 48px); overflow:auto; padding:24px !important; }
.pfs-scope-setup,.pfs-scope-details-editor,.pfs-cutplan-queue-modal{ width:100%; color:#2d3631; }
.pfs-scope-setup-intro,.pfs-scope-editor-intro,.pfs-cutplan-queue-intro{ margin-bottom:15px; padding:12px 14px; border:1px solid #dbe4ef; border-radius:9px; background:#f5f8fd; }
.pfs-scope-setup-intro strong,.pfs-scope-editor-intro strong,.pfs-cutplan-queue-intro strong{ color:#303a34; font-size:10px; }
.pfs-scope-setup-intro p,.pfs-scope-editor-intro p,.pfs-cutplan-queue-intro p{ margin:4px 0 0; color:#7c8780; font-size:8px; line-height:1.45; }
.pfs-scope-setup-grid,.pfs-scope-editor-layout{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.pfs-scope-setup-grid > section,.pfs-scope-editor-layout > section{ position:relative; min-width:0; display:grid; align-content:start; gap:11px; padding:15px; border:1px solid #dfe4e0; border-radius:10px; background:#fff; }
.pfs-scope-setup-grid > section{ padding-left:48px; }
.pfs-scope-step{ width:25px; height:25px; display:grid; place-items:center; border-radius:7px; background:#0b5bd3; color:#fff; font-size:8px; font-weight:900; }
.pfs-scope-setup-grid > section > .pfs-scope-step{ position:absolute; left:14px; top:15px; }
.pfs-scope-setup-grid h4,.pfs-scope-editor-layout h4{ margin:0; color:#303a34; font-size:11px; font-weight:920; }
.pfs-scope-setup-grid section > div > p{ margin:3px 0 0; color:#848d87; font-size:7px; }
.pfs-scope-setup label,.pfs-scope-details-editor .pfs-scope-editor-field{ display:grid; gap:5px; color:#59635d; font-size:7px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.pfs-scope-setup label span small,.pfs-scope-details-editor label span small{ color:#9aa19d; font-size:6px; font-weight:700; text-transform:none; }
.pfs-scope-setup :is(input,select,textarea),.pfs-scope-details-editor .pfs-scope-editor-field :is(input,select,textarea){ width:100%; min-height:40px; padding:9px 10px; border:1px solid #d3dad5; border-radius:8px; background:#fff; color:#303833; font:inherit; font-size:9px; text-transform:none; }
.pfs-scope-setup textarea,.pfs-scope-details-editor textarea{ resize:vertical; }
.pfs-scope-setup-groups,.pfs-scope-editor-groups{ min-width:0; margin:13px 0 0; padding:13px; border:1px solid #dfe4e0; border-radius:10px; }
.pfs-scope-setup-groups legend,.pfs-scope-editor-groups legend{ display:flex; align-items:center; gap:10px; padding:0 7px; color:#39433d; }
.pfs-scope-setup-groups legend > span:last-child,.pfs-scope-editor-groups legend{ font-size:8px; }
.pfs-scope-setup-groups legend span:last-child{ display:grid; gap:2px; }
.pfs-scope-setup-groups legend small,.pfs-scope-editor-groups legend small{ color:#8a928d; font-size:7px; font-weight:700; }
.pfs-scope-setup-groups > div,.pfs-scope-editor-groups > div{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; max-height:190px; overflow:auto; }
.pfs-scope-setup-groups label,.pfs-scope-editor-groups label{ min-width:0; display:flex; align-items:center; gap:8px; padding:8px; border:1px solid #e2e6e3; border-radius:7px; background:#fafbfa; text-transform:none; }
.pfs-scope-setup-groups label > span,.pfs-scope-editor-groups label > span{ min-width:0; display:grid; gap:2px; }
.pfs-scope-setup-groups label strong,.pfs-scope-editor-groups label strong{ overflow:hidden; color:#46504a; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.pfs-scope-setup-groups label small,.pfs-scope-editor-groups label small{ color:#8c948f; font-size:6px; }
.pfs-scope-editor-layout header{ display:grid; gap:2px; padding-bottom:9px; border-bottom:1px solid #e6eae7; }
.pfs-scope-editor-layout header span{ color:#8b948e; font-size:6px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pfs-scope-rule-choice{ min-height:52px; display:flex !important; align-items:center; gap:9px; padding:9px; border:1px solid #dde3de; border-radius:8px; background:#fafbfa; text-transform:none !important; }
.pfs-scope-rule-choice > span{ min-width:0; display:grid; gap:2px; }
.pfs-scope-rule-choice strong{ color:#46504a; font-size:8px; }
.pfs-scope-rule-choice small{ color:#89918c; font-size:7px; font-weight:700; }
.pfs-scope-editor-section-copy{ margin:0; color:#7f8982; font-size:8px; line-height:1.5; }
.pfs-cutplan-queue-modal .pfs-scope-queue{ margin-top:0; padding:0; border:0; background:transparent; }
.pfs-cutplan-queue-modal .pfs-scope-queue > header{ display:none; }

@media (min-width:761px) and (max-width:1120px){
  .pfs-photo-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pfs-scope-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pfs-media-hero{ grid-template-columns:1fr; }
  .pfs-media-hero-stats{ width:min(100%,390px); }
  .pfs-active-scope-panel{ grid-template-columns:1fr 1.5fr; }
  .pfs-scope-live-metrics{ border-left:0; border-right:1px solid #e1e6e2; }
  .pfs-scope-overview-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:760px){
  body.pfs-redesign #appMainContent .input-section details.pfs-mobile-card-open > .pfs-job-media-workspace{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 12px 90px !important;
  }
  .pfs-job-media-workspace{ padding:0 12px 18px; }
  .pfs-media-hero{ display:none; }
  .pfs-media-hero + .pfs-media-panel{ margin-top:0; }
  .pfs-media-tabs{ position:sticky; top:64px; z-index:8; margin:10px 0 12px; box-shadow:0 7px 17px rgba(30,38,33,.07); }
  .pfs-media-tabs button{ min-height:40px; padding:0 10px; }
  .pfs-media-upload-station{ display:grid; grid-template-columns:minmax(0,1fr); align-items:stretch; justify-content:stretch; min-height:0; gap:10px; padding:12px; }
  .pfs-media-upload-copy{ align-items:center; gap:10px; }
  .pfs-media-upload-mark{ width:38px; height:38px; flex-basis:38px; border-radius:10px; }
  .pfs-media-upload-mark svg{ width:20px; height:20px; }
  .pfs-media-upload-copy .pfs-media-kicker,.pfs-media-upload-copy p{ display:none; }
  .pfs-media-upload-copy h4{ font-size:16px; }
  .pfs-media-upload-actions{ width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .pfs-media-action{ min-height:44px; padding:0 10px; font-size:12px; }
  .pfs-media-take{ display:inline-flex; }
  .pfs-photo-library-controls{
    margin-top:18px;
    padding:12px;
    border:1px solid #d9dfda;
    border-radius:11px;
    background:#fff;
    box-shadow:0 6px 18px rgba(33,43,36,.035);
  }
  .pfs-media-library-head{ grid-template-columns:1fr; gap:11px; margin:0; }
  .pfs-media-library-summary{ display:flex; align-items:end; justify-content:space-between; gap:12px; }
  .pfs-media-library-head h4{ margin-top:2px; font-size:17px; }
  .pfs-media-filters{ display:grid; grid-template-columns:1fr 1fr; }
  .pfs-media-filters.is-solo{ display:grid; grid-template-columns:1fr; }
  .pfs-media-filters label{ gap:6px; }
  .pfs-media-filters label > span{ font-size:9px; }
  .pfs-media-filters select{ width:100%; min-width:0; height:44px; padding-left:12px; font-size:13px; }
  .pfs-media-capacity{ width:100%; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:9px; }
  .pfs-media-capacity > span{ height:6px; }
  .pfs-media-capacity small{ font-size:10px; }
  .pfs-photo-selection-count{ margin:7px 2px 0; text-align:left; font-size:10px; }
  .pfs-photo-selection-count strong{ font-size:14px; }
  .pfs-photo-selection-count + .pfs-photo-grid{ margin-top:10px; }
  .pfs-photo-library-controls + .pfs-media-empty{ margin-top:12px; }
  .pfs-photo-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .pfs-photo-select{ top:9px; right:9px; width:36px; height:36px; border-radius:9px; }
  .pfs-photo-select > span:first-of-type{ font-size:17px; }
  .pfs-photo-scope-tag{ left:9px; bottom:9px; padding:5px 8px; font-size:9px; }
  .pfs-photo-card-body{ gap:7px; padding:10px 9px 8px; }
  .pfs-photo-card-copy{ gap:4px; }
  .pfs-photo-card-copy strong{ font-size:12px; }
  .pfs-photo-card-copy small{ font-size:10px; }
  .pfs-photo-more{ width:38px; height:38px; font-size:15px; }
  .pfs-photo-card-foot{ margin:0 9px; padding:9px 0 10px; }
  .pfs-photo-card-foot span{ font-size:9px; }
  .pfs-photo-card-foot small{ font-size:9px; }
  .pfs-photo-card-foot span{ max-width:105px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .pfs-media-empty{ min-height:235px; padding:24px 18px; }
  .pfs-scope-intro{ display:grid; padding:17px; }
  .pfs-scope-intro .pfs-media-action{ width:100%; }
  .pfs-scope-grid{ grid-template-columns:1fr; gap:9px; }
  .pfs-scope-map-head{ display:grid; gap:4px; }
  .pfs-scope-map-head p{ text-align:left; }
  .pfs-scope-group-list{ grid-template-columns:1fr; }
  .pfs-scope-group-row:nth-child(odd){ border-right:0; }
  .pfs-scope-group-row{ grid-template-columns:5px minmax(0,1fr); }
  .pfs-scope-group-row label{ grid-column:2; }
  .pfs-scope-group-row select{ width:100%; }
  .pfs-media-editor,.pfs-scope-editor{ width:calc(100vw - 28px); }
  .pfs-media-editor-layout{ grid-template-columns:1fr; max-height:62vh; overflow:auto; padding-right:2px; }
  .pfs-photo-zoom-stage{ height:min(38dvh,320px); }
  .pfs-media-group-checks{ grid-template-columns:1fr; }
  .pfs-media-editor-actions{ grid-template-columns:1fr 1fr; }
  .pfs-media-editor-actions > span{ display:none; }
  .pfs-media-editor-actions .pfs-media-danger{ grid-column:1/-1; order:3; }
  body.pfs-redesign .pfs-workspace-scopes .pfs-workspace-body{ padding:10px; }
  body.pfs-redesign .pfs-job-scope-workspace{ padding:14px; border-radius:11px; }
  .pfs-scope-bar-head{ display:grid; gap:13px; align-items:start; }
  .pfs-scope-bar-actions{ display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .pfs-scope-switches{ display:none; }
  .pfs-scope-mobile-select{ display:grid; gap:5px; }
  .pfs-scope-mobile-select > span{ color:#7c8580; font-size:7px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
  .pfs-scope-mobile-select select{ width:100%; min-height:43px; padding:0 34px 0 11px; border:1px solid #bfcfe4; border-radius:8px; background:#fff; color:#303a34; font:inherit; font-size:10px; font-weight:850; }
  .pfs-scope-mobile-select small{ color:#838b86; font-size:7px; }
  .pfs-active-scope-panel{ grid-template-columns:1fr; gap:8px; }
  .pfs-active-scope-title{ display:none; }
  .pfs-scope-film-field{ padding:0; border-left:0; }
  .pfs-scope-live-metrics{ min-height:55px; border:1px solid #e1e6e2; border-radius:8px; }
  .pfs-scope-rules-summary{ padding:7px 0 0; }
  body.pfs-redesign #appMainContent #windowsCard .pfs-windows-scope-context{ grid-template-columns:1fr; gap:8px; padding:11px; }
  .pfs-windows-scope-context p{ white-space:normal; }
  .pfs-scope-material-setup{ margin-bottom:10px; padding:10px; }
  .pfs-scope-quick-actions{ grid-template-columns:1fr; align-items:stretch; }
  .pfs-scope-quick-buttons{ display:grid; grid-template-columns:1fr 1fr; }
  .pfs-scope-quick-buttons button{ min-height:40px; }
  .pfs-scope-material-head{ align-items:stretch; flex-direction:column; }
  .pfs-scope-material-head > div:last-child{ width:100%; }
  .pfs-scope-material-head > div:last-child button{ min-height:36px; flex:1; }
  .pfs-material-source-switch button{ min-height:39px; padding:5px 3px; font-size:6.5px; }
  .pfs-material-custom-grid{ grid-template-columns:1fr; }
  .pfs-material-cost-field{ max-width:none; }
  .pfs-results-scope-context{ grid-template-columns:minmax(0,1fr) auto; gap:9px; padding:11px; }
  .pfs-results-scope-picker{ grid-column:1/-1; grid-row:2; }
  .pfs-results-scope-status{ grid-column:1; grid-row:3; }
  .pfs-results-manage-scopes{ grid-column:2; grid-row:3; }
  .pfs-jobdetails-scope-context{ grid-template-columns:1fr; }
  .pfs-material-demand-head{ grid-template-columns:1fr auto; gap:4px 12px; padding:8px 0; }
  .pfs-material-demand-head p{ text-align:left; }
  .pfs-material-demand-head > p{ grid-column:1/-1; grid-row:2; justify-self:start; }
  .pfs-material-demand-head > em{ grid-column:2; grid-row:1; }
  .pfs-material-head{ display:none; }
  .pfs-material-row{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:12px; }
  .pfs-material-row > div{ grid-column:1/3; }
  .pfs-material-row > em{ justify-self:end; }
  .pfs-material-row > span{ display:grid; gap:2px; font-weight:850; }
  .pfs-material-row > span::before{ color:#929a95; font-size:6px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
  .pfs-material-row > span:nth-of-type(1)::before{ content:'Width'; }
  .pfs-material-row > span:nth-of-type(2)::before{ content:'Required'; }
  .pfs-material-row > span:nth-of-type(3)::before{ content:'Waste'; }
  .pfs-material-row > span:nth-of-type(4)::before{ content:'Shop cost'; }
  .pfs-scope-overview-grid{ grid-template-columns:1fr; }
  .pfs-scope-overview-card > p{ min-height:0; }
  .pfs-scope-detail-columns{ grid-template-columns:1fr; }
  .pfs-scope-detail-columns > section{ border-right:0; border-bottom:1px solid #e6eae7; }
  .pfs-scope-detail-columns > section:last-child{ border-bottom:0; }
  .pfs-scope-details-panel > header,.pfs-scope-assignments > header,.pfs-scope-queue > header{ display:grid; gap:9px; }
  .pfs-scope-details-panel > header button{ width:100%; min-height:39px; }
  .pfs-scope-assignments > header p{ text-align:left; }
  .pfs-scope-assignments > div{ grid-template-columns:1fr; }
  .pfs-scope-assignment-row{ grid-template-columns:1fr; gap:7px; }
  .pfs-scope-queue-row{ grid-template-columns:26px minmax(0,1fr); gap:7px 9px; padding:10px; }
  .pfs-scope-queue-state{ grid-column:2; }
  .pfs-scope-queue-row > button{ grid-column:1/-1; min-height:38px; }
  body.pfs-redesign .modal-overlay:has(.pfs-scope-setup),body.pfs-redesign .modal-overlay:has(.pfs-scope-details-editor),body.pfs-redesign .modal-overlay:has(.pfs-cutplan-queue-modal){ align-items:stretch; padding:0; }
  body.pfs-redesign .modal-content:has(.pfs-scope-setup),body.pfs-redesign .modal-content:has(.pfs-scope-details-editor),body.pfs-redesign .modal-content:has(.pfs-cutplan-queue-modal){ width:100vw !important; max-width:100vw !important; min-height:100dvh; max-height:100dvh; padding:16px 14px 92px !important; border-radius:0 !important; }
  .pfs-scope-setup-grid,.pfs-scope-editor-layout{ grid-template-columns:1fr; }
  .pfs-scope-setup-groups > div,.pfs-scope-editor-groups > div{ grid-template-columns:1fr; max-height:none; }
  .pfs-scope-setup .pfs-media-editor-actions,.pfs-scope-details-editor .pfs-media-editor-actions,.pfs-cutplan-queue-modal .pfs-media-editor-actions{ position:sticky; bottom:-76px; z-index:4; margin:18px -14px -76px; padding:12px 14px; background:#fff; box-shadow:0 -8px 22px rgba(30,38,33,.09); }
}

@media (max-width:410px){
  .pfs-photo-grid{ grid-template-columns:1fr; }
  .pfs-media-upload-actions{ grid-template-columns:1fr; }
  .pfs-media-hero-stats small{ font-size:6px; }
}

/* Scope readability and workspace refinement.
   Operational scope text must remain readable at normal browser zoom. */
.pfs-scope-quick-copy span,
.pfs-windows-scope-context > div > span,
.pfs-results-scope-copy > span,
.pfs-results-scope-picker > span,
.pfs-jobdetails-scope-context > div span,
.pfs-scope-material-head span,
.pfs-scope-material-fields label,
.pfs-scope-mobile-select > span{
  font-size:10px;
}

.pfs-scope-quick-copy strong,
.pfs-windows-scope-context > div > small,
.pfs-results-scope-copy small,
.pfs-results-scope-status small,
.pfs-jobdetails-scope-context > div strong,
.pfs-scope-material-head small,
.pfs-scope-material-fields label > small,
.pfs-scope-material-fields label > span small,
.pfs-material-source-empty span,
.pfs-scope-mobile-select small{
  font-size:11px;
}

.pfs-windows-scope-context > div > strong,
.pfs-results-scope-copy strong,
.pfs-scope-material-head strong{
  font-size:14px;
}

.pfs-scope-quick-buttons button,
.pfs-results-manage-scopes,
.pfs-material-source-switch button{
  font-size:12px;
}

.pfs-windows-scope-context select,
.pfs-results-scope-picker select,
.pfs-jobdetails-scope-context select,
.pfs-scope-material-fields :is(input,select){
  min-height:42px;
  font-size:13px;
}

.pfs-results-scope-status > span,
.pfs-windows-scope-context p{
  font-size:11px;
}

.pfs-material-source-empty strong,
.pfs-scope-move-note strong{
  font-size:12px;
}

.pfs-scope-move-dialog > p,
.pfs-scope-move-dialog select,
.pfs-scope-move-note span{
  font-size:12px;
}

/* The full Scopes window follows the Customer window's clean two-pane language. */
body.pfs-redesign .pfs-workspace-scopes .pfs-workspace-body{
  padding:0 26px 30px;
  background:#fff;
}

body.pfs-redesign .pfs-workspace-scopes .pfs-job-scope-workspace{
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}

.pfs-workspace-scopes .pfs-media-kicker{
  font-size:10px;
}

.pfs-workspace-scopes .pfs-scope-bar-head{
  margin:0;
  padding:8px 0 20px;
  border-bottom:1px solid #dfe3df;
}

.pfs-workspace-scopes .pfs-scope-bar-head h4{
  font-size:24px;
}

.pfs-workspace-scopes .pfs-scope-bar-head p{
  max-width:780px;
  font-size:13px;
  line-height:1.55;
}

.pfs-workspace-scopes .pfs-scope-bar-actions button{
  min-height:42px;
  padding:0 15px;
  font-size:12px;
}

.pfs-workspace-scopes .pfs-scope-overview-card{
  padding:16px 0;
  border:0;
  border-bottom:1px solid #e4e7e4;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.pfs-workspace-scopes .pfs-scope-overview-card:first-child{
  padding-top:0;
}

.pfs-workspace-scopes .pfs-scope-overview-card.is-active{
  margin:0 -12px;
  padding-right:12px;
  padding-left:12px;
  border-color:#d4dfef;
  border-left:3px solid #0b5bd3;
  background:#f6f9ff;
  box-shadow:none;
}

.pfs-workspace-scopes .pfs-scope-overview-card > header span,
.pfs-workspace-scopes .pfs-scope-overview-card > header em,
.pfs-workspace-scopes .pfs-scope-card-metrics small,
.pfs-workspace-scopes .pfs-scope-card-spec small{
  font-size:10px;
}

.pfs-workspace-scopes .pfs-scope-overview-card h5{
  font-size:17px;
}

.pfs-workspace-scopes .pfs-scope-overview-card > p{
  min-height:0;
  font-size:12px;
  line-height:1.5;
}

.pfs-workspace-scopes .pfs-scope-card-metrics strong{
  font-size:18px;
}

.pfs-workspace-scopes .pfs-scope-card-spec strong,
.pfs-workspace-scopes .pfs-scope-overview-card > footer button{
  font-size:12px;
}

.pfs-workspace-scopes .pfs-scope-overview-card > footer button{
  min-height:40px;
}

.pfs-workspace-scopes .pfs-scope-details-panel,
.pfs-workspace-scopes .pfs-scope-assignments,
.pfs-workspace-scopes .pfs-scope-queue,
.pfs-workspace-scopes .pfs-readiness-matrix{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.pfs-workspace-scopes .pfs-scope-details-panel > header h5,
.pfs-workspace-scopes .pfs-scope-assignments > header h5,
.pfs-workspace-scopes .pfs-scope-queue > header h5,
.pfs-workspace-scopes .pfs-readiness-matrix > header h5{
  font-size:19px;
}

.pfs-workspace-scopes .pfs-scope-details-panel > header p,
.pfs-workspace-scopes .pfs-scope-assignments > header p,
.pfs-workspace-scopes .pfs-scope-queue > header p,
.pfs-workspace-scopes .pfs-readiness-matrix > header p{
  font-size:12px;
  line-height:1.5;
}

.pfs-workspace-scopes .pfs-scope-details-panel > header button,
.pfs-workspace-scopes .pfs-scope-detail-columns button{
  min-height:40px;
  font-size:12px;
}

.pfs-workspace-scopes .pfs-scope-detail-columns > section > span,
.pfs-workspace-scopes .pfs-scope-detail-tags em{
  font-size:10px;
}

.pfs-workspace-scopes .pfs-scope-detail-columns > section > strong{
  font-size:13px;
}

.pfs-workspace-scopes .pfs-scope-detail-columns > section > small{
  font-size:11px;
  line-height:1.45;
}

.pfs-workspace-scopes .pfs-scope-assignment-row strong,
.pfs-workspace-scopes .pfs-scope-assignment-row select{
  font-size:12px;
}

.pfs-workspace-scopes .pfs-scope-assignment-row small,
.pfs-workspace-scopes .pfs-scope-assignment-empty{
  font-size:11px;
}

.pfs-workspace-scopes .pfs-scope-assignments > header h5 em,
.pfs-workspace-scopes .pfs-scope-assignment-row label > span{
  font-size:10px;
}

.pfs-workspace-scopes .pfs-scope-assignment-row select{
  min-height:40px;
}

.pfs-workspace-scopes .pfs-scope-queue-row strong,
.pfs-workspace-scopes .pfs-scope-queue-row > button{
  font-size:12px;
}

.pfs-workspace-scopes .pfs-scope-queue-row small,
.pfs-workspace-scopes .pfs-scope-queue-state,
.pfs-workspace-scopes .pfs-scope-queue-order{
  font-size:10px;
}

.pfs-workspace-scopes .pfs-scope-queue-row > button{
  min-height:38px;
}

.pfs-workspace-scopes .pfs-readiness-head,
.pfs-workspace-scopes .pfs-readiness-cell strong{
  font-size:10px;
}

.pfs-workspace-scopes .pfs-readiness-scope strong{
  font-size:12px;
}

.pfs-workspace-scopes .pfs-readiness-scope small,
.pfs-workspace-scopes .pfs-readiness-cell small{
  font-size:10px;
}

.pfs-workspace-scopes .pfs-material-demand{
  padding-top:16px;
  border-top:1px solid #dfe3df;
}

.pfs-workspace-scopes .pfs-material-demand-head h5{
  font-size:17px;
}

.pfs-workspace-scopes .pfs-material-demand-head p,
.pfs-workspace-scopes .pfs-material-demand-head > em{
  font-size:11px;
}

.pfs-workspace-scopes .pfs-material-head{
  min-height:38px;
  font-size:10px;
}

.pfs-workspace-scopes .pfs-material-row,
.pfs-workspace-scopes .pfs-material-row strong{
  font-size:12px;
}

.pfs-workspace-scopes .pfs-material-row small,
.pfs-workspace-scopes .pfs-material-row em{
  font-size:10px;
}

.pfs-workspace-scopes .pfs-material-empty strong{
  font-size:13px;
}

.pfs-workspace-scopes .pfs-material-empty span{
  font-size:11px;
}

.pfs-scope-setup h4,
.pfs-scope-details-editor .pfs-scope-editor-layout h4{
  font-size:15px;
}

.pfs-scope-setup-grid section > div > p,
.pfs-scope-editor-section-copy,
.pfs-scope-rule-choice small,
.pfs-scope-setup-groups legend small,
.pfs-scope-editor-groups legend small,
.pfs-scope-setup-groups label small,
.pfs-scope-editor-groups label small{
  font-size:11px;
}

.pfs-scope-setup label,
.pfs-scope-details-editor .pfs-scope-editor-field,
.pfs-scope-rule-choice strong,
.pfs-scope-setup-groups label strong,
.pfs-scope-editor-groups label strong{
  font-size:12px;
}

.pfs-scope-setup :is(input,select,textarea),
.pfs-scope-details-editor .pfs-scope-editor-field :is(input,select,textarea){
  font-size:13px;
}

@media (min-width:861px){
  body.pfs-redesign .pfs-workspace-scopes .pfs-job-scope-workspace{
    position:relative;
    display:grid;
    grid-template-columns:minmax(310px,.78fr) minmax(0,1.22fr);
    align-items:stretch;
    column-gap:0;
  }

  .pfs-workspace-scopes .pfs-scope-bar-head{
    grid-column:1/-1;
    grid-row:1;
  }

  .pfs-workspace-scopes .pfs-scope-overview-grid{
    grid-column:1;
    grid-row:2;
    grid-template-columns:1fr;
    align-content:start;
    padding:26px 28px 8px 0;
    border-right:1px solid #dfe3df;
  }

  .pfs-workspace-scopes .pfs-scope-details-panel{
    grid-column:2;
    grid-row:2;
    margin:0;
    padding:26px 0 8px 28px;
  }

  .pfs-workspace-scopes .pfs-scope-assignments,
  .pfs-workspace-scopes .pfs-scope-queue,
  .pfs-workspace-scopes .pfs-readiness-matrix,
  .pfs-workspace-scopes .pfs-material-demand{
    grid-column:1/-1;
    margin:0;
    padding:24px 0;
    border-top:1px solid #dfe3df;
  }

  .pfs-workspace-scopes .pfs-scope-assignments{ grid-row:3; }
  .pfs-workspace-scopes .pfs-readiness-matrix{ grid-row:4; }
  .pfs-workspace-scopes .pfs-material-demand{ grid-row:5; }
}

@media (max-width:860px){
  body.pfs-redesign .pfs-workspace-scopes .pfs-workspace-body{
    padding:0 14px 92px;
  }

  .pfs-workspace-scopes .pfs-scope-overview-card h5{ font-size:16px; }
  .pfs-workspace-scopes .pfs-scope-bar-head h4{ font-size:22px; }
  .pfs-workspace-scopes .pfs-scope-mobile-select{ margin-top:12px; }
  .pfs-workspace-scopes .pfs-scope-mobile-select > span{ font-size:10px; }
  .pfs-workspace-scopes .pfs-scope-mobile-select select{ font-size:13px; }
  .pfs-workspace-scopes .pfs-scope-mobile-select small{ font-size:11px; }
  .pfs-readiness-matrix{ padding:14px 0 14px 14px; }
  .pfs-readiness-matrix > header{ padding-right:14px; }
  .pfs-readiness-scroll{ border-radius:8px 0 0 8px; border-right:0; }
}

@media (max-width:760px){
  .pfs-photo-bulk{
    position:static;
    top:auto;
    grid-template-columns:repeat(3,minmax(0,1fr));
    height:103px;
    min-height:103px;
    gap:7px;
    margin:12px 0 0;
    padding:12px 0 0;
    border:0;
    border-top:1px solid #e2e7e3;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }
  .pfs-photo-bulk-select{ grid-column:1; grid-row:2; min-height:40px; padding:0 10px; font-size:10px; }
  .pfs-photo-bulk > label{ grid-column:1 / 3; grid-row:1; min-width:0; }
  .pfs-photo-bulk select{ min-height:40px; padding-left:10px; font-size:11px; }
  .pfs-photo-bulk [data-photo-bulk-add]{ grid-column:3; grid-row:1; min-height:40px; padding:0 12px; }
  .pfs-photo-bulk [data-photo-bulk-delete]{ grid-column:2 / 4; grid-row:2; width:auto; min-height:40px; padding:0 12px; border-color:#c75a50; background:#fff; color:#a53b32; font-size:10px; }
  .pfs-inline-group-media,.pfs-inline-group-media.is-compact{
    grid-template-columns:minmax(0,1fr);
    gap:6px;
    padding:7px 9px;
  }
  .pfs-inline-group-media.is-compact .pfs-inline-media-head{ min-width:0; }
  .pfs-inline-group-media.is-compact .pfs-inline-photo-strip{ grid-row:2; grid-column:1; }
  .pfs-inline-group-media.is-compact .pfs-inline-photo{ width:42px; height:34px; }
  .pfs-inline-media-head .pfs-inline-media-actions button{ width:32px; min-height:32px; padding:0; }
  .pfs-inline-media-head .pfs-inline-media-actions button > span{ display:none; }
  .pfs-inline-media-head .pfs-inline-media-actions{ margin-left:auto; }
  .pfs-group-card-media .pfs-inline-photo{ width:48px; height:40px; }
  body.pfs-redesign .modal-overlay:has(.pfs-media-editor){
    align-items:stretch !important;
    padding:0 !important;
  }
  body.pfs-redesign .modal-content:has(.pfs-media-editor){
    width:100vw !important;
    max-width:100vw !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    padding:14px !important;
    border-radius:0 !important;
  }
  body.pfs-redesign .modal-content:has(.pfs-media-editor) .pfs-media-editor-layout{
    max-height:none;
    overflow:visible;
  }
  body.pfs-redesign .modal-content:has(.pfs-media-editor) .pfs-media-editor-actions{
    bottom:-14px;
    margin-right:-14px;
    margin-bottom:-14px;
    margin-left:-14px;
    padding:11px 14px calc(11px + env(safe-area-inset-bottom));
  }
}

.pfs-scope-setup .pfs-media-kicker,
.pfs-scope-details-editor .pfs-media-kicker,
.pfs-cutplan-queue-modal .pfs-media-kicker,
.fy-modal-scope-badge{
  font-size:10px;
}

.pfs-scope-setup-intro strong,
.pfs-scope-editor-intro strong,
.pfs-cutplan-queue-intro strong{
  font-size:14px;
}

.pfs-scope-setup-intro p,
.pfs-scope-editor-intro p,
.pfs-cutplan-queue-intro p{
  font-size:12px;
}

.pfs-scope-setup .pfs-media-editor-actions button,
.pfs-scope-details-editor .pfs-media-editor-actions button,
.pfs-cutplan-queue-modal .pfs-media-editor-actions button{
  min-height:42px;
  font-size:12px;
}

/* Job-photo thumbnails stay plain and production-focused. */
.pfs-photo-card{ border-radius:0; box-shadow:none; }
.pfs-photo-card:hover{ transform:none; box-shadow:none; }
.pfs-photo-preview,
.pfs-photo-preview img{
  border-radius:0 !important;
  clip-path:none !important;
}
.pfs-photo-preview img{ transform:none; }
.pfs-photo-card:hover .pfs-photo-preview img{ transform:none; }

/* Scope management uses the same calm blue workspace language as Film Handler. */
.pfs-workspace-scopes .pfs-scope-bar-head{
  position:static;
  top:auto;
  margin:18px 0 22px;
  padding:20px 22px;
  border:0;
  border-radius:12px;
  background:linear-gradient(120deg,#12345d 0%,#0b64d8 100%);
  box-shadow:0 12px 28px rgba(14,60,112,.16);
  backdrop-filter:none;
}

.pfs-workspace-scopes .pfs-scope-bar-head .pfs-media-kicker{ color:#dceaff; }
.pfs-workspace-scopes .pfs-scope-bar-head h4{ color:#fff; }
.pfs-workspace-scopes .pfs-scope-bar-head p{ color:#d9e7f8; }

.pfs-workspace-scopes .pfs-scope-bar-actions button{
  border-color:rgba(255,255,255,.58);
  background:#fff;
  color:#0b5bd3;
  box-shadow:none;
}

.pfs-workspace-scopes .pfs-scope-overview-card{
  padding:0;
  border:1px solid #d8e2ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 16px rgba(23,56,91,.06);
  overflow:hidden;
}

.pfs-workspace-scopes .pfs-scope-overview-card:first-child{ padding-top:0; }

.pfs-workspace-scopes .pfs-scope-overview-card.is-active{
  margin:0;
  padding:0;
  border:2px solid #4c8fe6;
  background:#f7faff;
  box-shadow:0 0 0 3px rgba(11,91,211,.07);
}

.pfs-workspace-scopes .pfs-scope-overview-card > header,
.pfs-workspace-scopes .pfs-scope-details-panel > header{
  position:static;
  top:auto;
  margin:0;
  padding:14px 16px;
  border:0;
  border-bottom:1px solid #dbe5f1;
  border-radius:0;
  background:linear-gradient(135deg,#f3f7fd,#e9f2ff);
  color:#172d48;
  box-shadow:none;
  backdrop-filter:none;
}

.pfs-workspace-scopes .pfs-scope-overview-card > header span,
.pfs-workspace-scopes .pfs-scope-overview-card > header em,
.pfs-workspace-scopes .pfs-scope-overview-card h5,
.pfs-workspace-scopes .pfs-scope-details-panel > header h5{
  color:#172d48;
}

.pfs-workspace-scopes .pfs-scope-overview-card > p,
.pfs-workspace-scopes .pfs-scope-card-metrics,
.pfs-workspace-scopes .pfs-scope-card-spec{
  margin-right:16px;
  margin-left:16px;
}

.pfs-workspace-scopes .pfs-scope-overview-card > footer{
  position:static;
  margin:0;
  padding:12px 16px 14px;
  border-top:1px solid #e2e9f1;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}

.pfs-workspace-scopes .pfs-scope-details-panel{
  overflow:hidden;
  border:1px solid #d8e2ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 16px rgba(23,56,91,.05);
}

.pfs-workspace-scopes .pfs-scope-details-panel > header p{ color:#63758a; }

.pfs-workspace-scopes .pfs-scope-assignments > header,
.pfs-workspace-scopes .pfs-readiness-matrix > header{
  position:static !important;
  top:auto !important;
  z-index:auto;
  margin:0 0 14px;
  padding:14px 16px;
  border:1px solid #d8e2ef;
  border-left:4px solid #4c8fe6;
  border-radius:10px;
  background:linear-gradient(135deg,#f7faff,#eef5ff);
  color:#172d48;
  box-shadow:none;
  backdrop-filter:none;
}

.pfs-workspace-scopes .pfs-scope-assignments > header .pfs-media-kicker,
.pfs-workspace-scopes .pfs-readiness-matrix > header .pfs-media-kicker{
  color:#326cad;
}

.pfs-workspace-scopes .pfs-scope-assignments > header h5,
.pfs-workspace-scopes .pfs-readiness-matrix > header h5{
  color:#172d48;
}

.pfs-workspace-scopes .pfs-scope-assignments > header p,
.pfs-workspace-scopes .pfs-readiness-matrix > header p{
  color:#63758a;
}

body.pfs-redesign .modal-overlay:has(.pfs-scope-details-editor){
  z-index:2720;
}

body.pfs-redesign .modal-overlay:has(.pfs-scope-move-dialog){
  z-index:2720;
  padding:18px;
}

body.pfs-redesign .modal-content:has(.pfs-scope-move-dialog){
  width:min(560px,calc(100vw - 36px)) !important;
  max-width:560px !important;
  max-height:calc(100dvh - 36px) !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #bfd0e4 !important;
  border-radius:14px !important;
  background:#f5f8fc !important;
  box-shadow:0 24px 70px rgba(5,25,50,.28) !important;
}

.pfs-scope-move-dialog{
  width:100%;
  max-width:none;
  max-height:calc(100dvh - 38px);
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  box-sizing:border-box;
}

.pfs-scope-move-dialog > .pfs-media-editor-head{
  min-width:0;
  margin:0;
  padding:18px 22px;
  border:0;
  background:linear-gradient(120deg,#12345d 0%,#0b64d8 100%);
}

.pfs-scope-move-dialog > .pfs-media-editor-head > div{ min-width:0; }
.pfs-scope-move-dialog > .pfs-media-editor-head .pfs-media-kicker{ color:#dceaff; }
.pfs-scope-move-dialog > .pfs-media-editor-head .pfs-modal-title{
  overflow-wrap:anywhere;
  color:#fff !important;
}

.pfs-scope-move-dialog > .pfs-media-editor-head > button{
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-color:rgba(255,255,255,.52);
  background:rgba(255,255,255,.14);
  color:#fff;
}

.pfs-scope-move-body{
  min-width:0;
  min-height:0;
  display:grid;
  align-content:start;
  gap:16px;
  padding:20px 22px 22px;
  overflow:auto;
  overscroll-behavior:contain;
  background:#f5f8fc;
}

.pfs-scope-move-body > p{
  margin:0;
  color:#63758a;
  font-size:14px;
  line-height:1.5;
}

.pfs-scope-move-body .pfs-scope-editor-field{
  min-width:0;
  gap:7px;
  color:#506a89;
  font-size:11px;
}

.pfs-scope-move-body select{
  width:100%;
  min-width:0;
  min-height:48px;
  padding:0 40px 0 13px;
  border:1px solid #bfd0e4;
  border-radius:9px;
  background:#fff;
  color:#172d48;
  font:inherit;
  font-size:15px;
  font-weight:850;
}

.pfs-scope-move-dialog > .pfs-media-editor-actions{
  position:static;
  z-index:2;
  margin:0;
  padding:14px 22px;
  border-top:1px solid #d8e2ef;
  background:#fff;
  box-shadow:0 -6px 18px rgba(23,56,91,.06);
}

.pfs-scope-move-dialog > .pfs-media-editor-actions button{
  min-height:44px;
  font-size:13px;
}

body.pfs-redesign .modal-content:has(.pfs-scope-details-editor){
  max-height:calc(100vh - 48px);
  padding:0 !important;
  overflow:hidden;
  border:1px solid #bfd0e4;
  background:#f5f8fc;
  box-shadow:0 24px 70px rgba(5,25,50,.28);
}

.pfs-scope-details-editor{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  max-height:calc(100vh - 50px);
  min-height:0;
}

.pfs-scope-details-editor > .pfs-media-editor-head{
  position:static;
  margin:0;
  padding:18px 22px;
  border:0;
  background:linear-gradient(120deg,#12345d 0%,#0b64d8 100%);
}

.pfs-scope-details-editor > .pfs-media-editor-head .pfs-media-kicker{ color:#dceaff; }
.pfs-scope-details-editor > .pfs-media-editor-head .pfs-modal-title{ color:#fff !important; }

.pfs-scope-details-editor > .pfs-media-editor-head > button{
  border-color:rgba(255,255,255,.52);
  background:rgba(255,255,255,.14);
  color:#fff;
}

.pfs-scope-editor-scroll{
  min-height:0;
  padding:18px 22px 22px;
  overflow:auto;
  overscroll-behavior:contain;
  background:#f5f8fc;
}

.pfs-scope-details-editor .pfs-scope-editor-intro,
.pfs-scope-details-editor .pfs-scope-editor-layout > section,
.pfs-scope-details-editor .pfs-scope-editor-groups{
  border-color:#d8e2ef;
  background:#fff;
  box-shadow:0 4px 14px rgba(23,56,91,.04);
}

.pfs-scope-details-editor .pfs-scope-editor-layout > section > header{
  position:static;
  top:auto;
  margin:0;
  padding:0 0 10px;
  border:0;
  border-bottom:1px solid #dbe5f1;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}

.pfs-scope-details-editor .pfs-scope-editor-layout > section > header span{
  color:#5e7899;
}

.pfs-scope-details-editor .pfs-scope-editor-layout > section > header h4{
  color:#172d48;
}

.pfs-scope-details-editor > .pfs-media-editor-actions{
  position:static;
  z-index:2;
  margin:0;
  padding:14px 22px;
  border-top:1px solid #d8e2ef;
  background:#fff;
  box-shadow:0 -6px 18px rgba(23,56,91,.06);
}

@media (max-width:860px){
  body.pfs-redesign .modal-overlay:has(.pfs-scope-move-dialog){
    align-items:center;
    padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
  }

  body.pfs-redesign .modal-content:has(.pfs-scope-move-dialog){
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
  }

  .pfs-scope-move-dialog{ max-height:calc(100dvh - 26px); }
  .pfs-scope-move-dialog > .pfs-media-editor-head{ padding:16px; }
  .pfs-scope-move-body{ padding:18px 16px 20px; }
  .pfs-scope-move-dialog > .pfs-media-editor-actions{
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  }

  body.pfs-redesign .modal-content:has(.pfs-scope-details-editor){
    max-height:100dvh;
    padding:0 !important;
  }

  .pfs-scope-details-editor{ max-height:100dvh; }
  .pfs-scope-editor-scroll{ padding:14px 14px 20px; }

  .pfs-scope-details-editor > .pfs-media-editor-actions{
    margin:0;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom));
  }
}
