/* V188 cache-clean stylesheet */
:root{
  --bg:#071016;
  --bg-2:#0b1821;
  --panel:rgba(15,28,37,.94);
  --panel-2:rgba(18,35,46,.96);
  --line:rgba(255,255,255,.11);
  --line-strong:rgba(255,255,255,.18);
  --text:#f6f8fb;
  --muted:#aebbc7;
  --orange:#f57a20;
  --orange-2:#ff9a3d;
  --green:#2dbf73;
  --green-2:#64df9b;
  --red:#dc584f;
  --gold:#ffc658;
  --shadow:0 28px 80px rgba(0,0,0,.34);
  --radius:28px;
  --radius-sm:18px;
  --max:1380px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  line-height:1.5;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 12% 12%,rgba(245,122,32,.20),transparent 28%),
    radial-gradient(circle at 82% 10%,rgba(45,191,115,.16),transparent 30%),
    linear-gradient(180deg,#050b10 0%,#08131a 45%,#071016 100%);
}
.app-bg{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.52;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 78%);
}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.app-header{
  position:sticky;
  top:0;
  z-index:30;
  backdrop-filter:blur(22px);
  background:rgba(5,11,16,.82);
  border-bottom:1px solid var(--line);
}
.app-header-inner,
.app-main,

.report-builder-block{
  background:linear-gradient(135deg,rgba(245,122,32,.11),rgba(45,191,115,.08)),var(--panel);
}
.report-builder-heading p:not(.eyebrow),
.photo-intake-heading p:not(.eyebrow),
.ai-assistance-heading p:not(.eyebrow){
  margin:6px 0 0;
  color:var(--muted);
  max-width:980px;
}
.report-builder-heading h4,
.photo-intake-heading h4,
.ai-assistance-heading h4{margin-bottom:0}
.report-mode-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.report-mode-card{
  display:grid;
  align-content:start;
  gap:10px;
  padding:18px;
  border-radius:22px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.report-mode-card.photo-mode{background:rgba(45,191,115,.09)}
.mode-kicker{
  width:max-content;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  color:#ffd6b5;
  border:1px solid rgba(245,122,32,.45);
  background:rgba(245,122,32,.14);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}
.report-mode-card strong{font-size:1.16rem;line-height:1.25}
.report-mode-card p{margin:0;color:var(--muted)}
.report-mode-card .btn{justify-self:start;margin-top:4px}
.report-state-grid,
.ai-workflow-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.report-state-grid>div,
.report-state-grid>label,
.ai-workflow-grid>label{
  display:grid;
  align-content:center;
  gap:8px;
  min-height:98px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.report-state-grid>div span,
.report-state-grid>label>span,
.ai-workflow-grid>label>span{
  color:#dce5eb;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.report-state-grid>div strong{font-size:1.08rem;line-height:1.25}
.report-state-grid select,
.ai-workflow-grid select{height:50px}
.photo-intake-block{background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(45,191,115,.05)),var(--panel)}
.photo-checklist-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.photo-checklist-grid article{
  min-height:116px;
  display:grid;
  align-content:center;
  gap:7px;
  padding:16px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.05);
}
.photo-checklist-grid strong{font-size:1.05rem}
.photo-checklist-grid span{color:var(--muted)}
.photo-evidence-shell{
  margin-top:20px;
  padding:18px;
  border-radius:24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.photo-upload-grid{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(260px,.95fr) minmax(280px,1.25fr);
  gap:14px;
  align-items:start;
}
.photo-control-field{
  display:grid;
  gap:8px;
}
.photo-control-field>span{
  color:#dce5eb;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.photo-file-field input[type="file"]{
  height:auto;
  min-height:56px;
  padding:14px 16px;
  display:block;
  cursor:pointer;
}
.photo-notes-field textarea{
  min-height:92px;
}
.selected-photo-files{
  margin-top:14px;
  min-height:48px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding:12px 14px;
  border-radius:18px;
  border:1px dashed var(--line-strong);
  color:var(--muted);
  background:rgba(0,0,0,.14);
}
.selected-photo-chip{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid rgba(245,122,32,.32);
  background:rgba(245,122,32,.12);
  color:#ffe4cc;
  font-size:.86rem;
  font-weight:700;
}
.photo-actions-row{
  margin-top:14px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}
.photo-limit-note{
  color:var(--muted);
  font-size:.92rem;
}
.photo-gallery-heading{
  margin-top:22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.photo-gallery-heading h5{
  margin:0;
  font-size:1.1rem;
  letter-spacing:-.02em;
}
.photo-gallery-heading strong{
  color:#e7f7ee;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(45,191,115,.35);
  background:rgba(45,191,115,.12);
  font-size:.86rem;
}
.photo-gallery{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.photo-card{
  overflow:hidden;
  border-radius:22px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.18);
}
.photo-thumb-wrap{
  aspect-ratio:16/11;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(245,122,32,.12),rgba(45,191,115,.10));
  border-bottom:1px solid var(--line);
}
.photo-thumb-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.photo-thumb-placeholder{
  color:var(--muted);
  text-align:center;
  padding:16px;
  font-weight:700;
}
.photo-card-body{
  display:grid;
  gap:8px;
  padding:14px;
}
.photo-card-body strong{
  font-size:1rem;
  line-height:1.3;
}
.photo-card-body span,
.photo-card-body p{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}
.photo-card-actions{
  margin-top:4px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.photo-card-actions .btn{
  min-height:40px;
  padding:0 14px;
  font-size:.88rem;
}
.photo-empty-card{
  grid-column:1/-1;
  padding:18px;
  border-radius:20px;
  border:1px dashed var(--line-strong);
  background:rgba(255,255,255,.035);
  color:var(--muted);
}

.ai-assistance-block{
  background:linear-gradient(135deg,rgba(245,122,32,.09),rgba(45,191,115,.10)),var(--panel);
}
.ai-workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ai-assistance-note{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.05);
  color:var(--muted);
}
.ai-assistance-note strong{color:#fff}
.app-footer{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
}
.app-header-inner{
  min-height:106px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand-lockup{display:flex;align-items:center;gap:18px;min-width:0}
.brand-logo{
  width:72px;
  height:72px;
  border-radius:50%;
  object-fit:cover;
  border:4px solid rgba(255,255,255,.94);
  background:#071016;
  padding:7px;
  box-shadow:0 18px 40px rgba(0,0,0,.32);
}
.eyebrow{
  margin:0 0 4px;
  color:var(--orange-2);
  font-size:.76rem;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
}
.brand-lockup h1,
.platform-hero h2,
.auth-card h2,
.panel-heading h3,
.empty-detail h3,
.detail-topbar h3{
  margin:0;
  line-height:1.08;
  letter-spacing:-.03em;
}
.brand-lockup h1{font-size:clamp(1.4rem,2vw,2.15rem)}
.subline,
.muted-line{margin:4px 0 0;color:var(--muted)}
.header-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.session-pill{
  display:flex;
  align-items:center;
  gap:10px;
  max-width:min(420px,55vw);
  min-height:48px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
  color:#eaf1f6;
  font-size:.92rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.session-dot{
  width:10px;
  height:10px;
  flex:0 0 auto;
  border-radius:999px;
  background:var(--green);
  box-shadow:0 0 0 6px rgba(45,191,115,.16);
}
.btn{
  appearance:none;
  border:1px solid transparent;
  border-radius:999px;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 20px;
  color:var(--text);
  font-weight:800;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
  text-decoration:none;
}
.btn:hover,.btn:focus-visible{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--orange),var(--orange-2));
  box-shadow:0 18px 40px rgba(245,122,32,.26);
}
.btn-outline,.btn-ghost{
  background:rgba(255,255,255,.06);
  border-color:var(--line-strong);
}
.btn-ghost{min-height:48px}
.btn-danger{
  background:rgba(220,88,79,.13);
  border-color:rgba(220,88,79,.52);
  color:#ffe9e6;
  box-shadow:0 18px 36px rgba(135,29,24,.18);
}
.btn-danger:hover,.btn-danger:focus-visible{
  background:rgba(220,88,79,.20);
  border-color:rgba(220,88,79,.72);
}
.btn.compact{min-height:40px;padding:0 15px;font-size:.9rem}
.app-main{padding:42px 0 64px}
.auth-shell{
  min-height:calc(100vh - 210px);
  display:grid;
  place-items:center;
}
.auth-card{
  width:min(760px,100%);
  padding:clamp(28px,5vw,54px);
  border-radius:36px;
  border:1px solid var(--line);
  background:
    linear-gradient(145deg,rgba(245,122,32,.10),transparent 30%),
    linear-gradient(145deg,rgba(45,191,115,.08),transparent 55%),
    var(--panel);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.auth-card::after{
  content:"";
  position:absolute;
  inset:auto -120px -180px auto;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(245,122,32,.28),transparent 70%);
  pointer-events:none;
}
.auth-logo-wrap{
  width:98px;
  height:98px;
  margin-bottom:18px;
  border-radius:26px;
  overflow:hidden;
  border:1px solid var(--line-strong);
  background:#fff;
  box-shadow:0 24px 48px rgba(0,0,0,.22);
}
.auth-logo-wrap img{width:100%;height:100%;object-fit:cover}
.auth-logo-wrap.auth-logo-card{
  width:min(320px,100%);
  height:auto;
  margin-bottom:18px;
  border:none;
  border-radius:28px;
  overflow:visible;
  background:transparent;
  box-shadow:none;
  padding:0;
}
.auth-logo-wrap.auth-logo-card img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.28));
}
.auth-card h2{font-size:clamp(2rem,4vw,3.2rem);max-width:680px}
.auth-copy{max-width:690px;color:var(--muted);font-size:1.05rem;margin:18px 0 28px}
.login-form{
  display:grid;
  gap:12px;
  width:min(520px,100%);
  position:relative;
  z-index:1;
}
.login-form label,
.control-field span,
.workflow-grid label>span{
  font-size:.84rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#dce5eb;
}
input,select,textarea{
  width:100%;
  border-radius:18px;
  border:1px solid var(--line-strong);
  color:var(--text);
  background:rgba(255,255,255,.07);
  outline:none;
  padding:0 16px;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
input,select{height:56px}
textarea{padding:15px 16px;resize:vertical;min-height:134px}
input:focus,select:focus,textarea:focus{
  border-color:rgba(245,122,32,.65);
  background:rgba(255,255,255,.10);
  box-shadow:0 0 0 4px rgba(245,122,32,.12);
}
select option{color:#091017}
.status-box{
  min-height:0;
  margin-top:18px;
  padding:0;
  border-radius:18px;
  color:var(--muted);
}
.status-box.active{
  padding:15px 17px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.status-box.error{color:#ffe5e2;border-color:rgba(220,88,79,.45);background:rgba(220,88,79,.14)}
.status-box.success{color:#e6fff1;border-color:rgba(45,191,115,.45);background:rgba(45,191,115,.14)}
.status-box.warning{color:#fff2d5;border-color:rgba(255,198,88,.42);background:rgba(255,198,88,.12)}
.auth-note{
  position:relative;
  z-index:1;
  margin-top:28px;
  max-width:690px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.05);
  color:var(--muted);
}
.auth-note strong{color:#fff}
.dashboard-shell{display:grid;gap:28px}
.platform-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr);
  gap:28px;
  padding:clamp(24px,4vw,42px);
  border:1px solid var(--line);
  border-radius:36px;
  background:
    linear-gradient(135deg,rgba(245,122,32,.15),transparent 30%),
    linear-gradient(135deg,rgba(45,191,115,.10),transparent 55%),
    var(--panel);
  box-shadow:var(--shadow);
}
.platform-hero h2{font-size:clamp(2.1rem,4vw,4.2rem);max-width:920px}
.platform-hero p:not(.eyebrow){margin:18px 0 0;color:var(--muted);font-size:1.05rem;max-width:920px}
.hero-badge-stack{display:grid;gap:14px;align-content:center}
.hero-badge{
  display:grid;
  gap:4px;
  min-height:92px;
  align-content:center;
  padding:18px 20px;
  border-radius:22px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.hero-badge strong{font-size:1.2rem}
.hero-badge span{color:var(--muted)}
.metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.metric-card,
.panel-card,
.detail-block{
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:var(--panel);
  box-shadow:0 20px 60px rgba(0,0,0,.22);
}
.metric-card{
  display:grid;
  gap:7px;
  min-height:154px;
  align-content:center;
  padding:22px;
}
.metric-card span{color:var(--muted);font-weight:700}
.metric-card strong{font-size:clamp(2.15rem,3vw,3.6rem);line-height:1;color:#fff}
.metric-card em{font-style:normal;color:#d6e0e6;font-size:.95rem}
.workspace-grid{
  display:grid;
  grid-template-columns:minmax(380px,.95fr) minmax(560px,1.35fr);
  gap:22px;
  align-items:start;
}
.panel-card{padding:24px}
.panel-heading,
.detail-topbar,
.workflow-heading,
.events-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.panel-heading h3,
.empty-detail h3,
.detail-topbar h3{font-size:clamp(1.55rem,2vw,2.25rem)}
.queue-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:14px;
  margin:20px 0 18px;
}
.control-field{display:grid;gap:8px}
.job-list{display:grid;gap:14px;max-height:min(72vh,1020px);overflow:auto;padding-right:4px}
.job-card{
  width:100%;
  border:none;
  text-align:left;
  color:inherit;
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:22px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.045);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.job-card:hover,.job-card:focus-visible,.job-card.active{
  transform:translateY(-1px);
  border-color:rgba(245,122,32,.58);
  background:rgba(245,122,32,.11);
}
.job-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.job-card strong{font-size:1.06rem;line-height:1.3}
.job-card p{margin:0;color:var(--muted)}
.job-card-meta{display:flex;gap:10px;flex-wrap:wrap;color:#dfe8ee;font-size:.9rem}
.job-card-head-actions{display:grid;justify-items:end;gap:8px;flex:0 0 auto}
.job-info-toggle{
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(154,215,255,.34);
  background:rgba(154,215,255,.11);
  color:#e5f5ff;
  font:inherit;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.02em;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.job-info-toggle:hover,.job-info-toggle:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(154,215,255,.7);
  background:rgba(154,215,255,.2);
}
.job-card-info-panel{
  display:grid;
  gap:10px;
  margin-top:2px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(154,215,255,.22);
  background:rgba(3,15,25,.58);
  cursor:default;
}
.job-card-info-panel[hidden]{display:none!important}
.job-card-info-title{display:grid;gap:4px}
.job-card-info-title span{font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#ffe0bd}
.job-card-info-title small{color:var(--muted);font-weight:650;line-height:1.35}
.job-card-info-row{display:grid;gap:4px;padding:10px 11px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035)}
.job-card-info-row span{font-size:.78rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#b8cad5}
.job-card-info-row strong{font-size:.92rem;line-height:1.42;color:#fff;white-space:normal;word-break:break-word}
.job-card-info-note strong{font-weight:720}
.job-card-info-empty{padding:12px 13px;border-radius:14px;border:1px solid rgba(255,198,88,.24);background:rgba(255,198,88,.08);color:#ffe7af;line-height:1.42;font-weight:700}
.mini-pill,.status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  font-size:.84rem;
  font-weight:800;
  text-transform:capitalize;
  white-space:nowrap;
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
}
.status-badge{min-height:44px;padding:0 16px;font-size:.9rem}
.status-badge.queued,.mini-pill.queued{border-color:rgba(255,198,88,.42);background:rgba(255,198,88,.12);color:#ffe7af}
.status-badge.review,.mini-pill.review{border-color:rgba(245,122,32,.52);background:rgba(245,122,32,.15);color:#ffd6b5}
.status-badge.ready,.mini-pill.ready{border-color:rgba(45,191,115,.52);background:rgba(45,191,115,.15);color:#dffbea}
.status-badge.needs,.mini-pill.needs{border-color:rgba(220,88,79,.52);background:rgba(220,88,79,.15);color:#ffe4e1}
.empty-detail{min-height:420px;display:grid;align-content:center;text-align:center;padding:28px}
.empty-detail p:not(.eyebrow){color:var(--muted);max-width:520px;margin:14px auto 0}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.detail-block{padding:20px}
.detail-full{grid-column:1/-1}
.detail-block h4{margin:0 0 16px;font-size:1.13rem;letter-spacing:-.01em}
dl{margin:0;display:grid;gap:12px}
dl div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding-bottom:11px;border-bottom:1px solid var(--line)}
dt{color:var(--muted);font-weight:700}
dd{margin:0;word-break:break-word;color:#fff}
.quote-range-grid,
.measurement-grid{
  display:grid;
  gap:12px;
}
.quote-range-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-range-grid>div,
.measurement-grid>div{
  min-height:86px;
  display:grid;
  align-content:center;
  gap:5px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.quote-range-grid span,
.measurement-grid span{color:var(--muted);font-size:.9rem}
.quote-range-grid strong,
.measurement-grid strong{font-size:1.08rem;line-height:1.25}
.measurement-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.summary-copy{
  margin:16px 0 0;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.05);
  color:#e4ecf1;
}
.workflow-block{background:linear-gradient(135deg,rgba(245,122,32,.09),rgba(45,191,115,.06)),var(--panel)}
.workflow-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.workflow-heading p{margin:4px 0 0;color:var(--muted);max-width:680px}
.workflow-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.workflow-grid label{display:grid;gap:8px}
.notes-field{grid-column:1/-1}
.events-heading{align-items:center;margin-bottom:16px}
.event-list{display:grid;gap:12px}
.event-card{
  display:grid;
  gap:6px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.05);
}
.event-card strong{font-size:1rem}
.event-card span,.event-card p{margin:0;color:var(--muted)}
.placeholder-card{
  padding:22px;
  border-radius:22px;
  border:1px dashed rgba(255,255,255,.18);
  color:var(--muted);
  text-align:center;
}

.report-builder-block{
  background:linear-gradient(135deg,rgba(245,122,32,.11),rgba(45,191,115,.08)),var(--panel);
}
.report-builder-heading p:not(.eyebrow),
.photo-intake-heading p:not(.eyebrow),
.ai-assistance-heading p:not(.eyebrow){
  margin:6px 0 0;
  color:var(--muted);
  max-width:980px;
}
.report-builder-heading h4,
.photo-intake-heading h4,
.ai-assistance-heading h4{margin-bottom:0}
.report-mode-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.report-mode-card{
  display:grid;
  align-content:start;
  gap:10px;
  padding:18px;
  border-radius:22px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.report-mode-card.photo-mode{background:rgba(45,191,115,.09)}
.mode-kicker{
  width:max-content;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  color:#ffd6b5;
  border:1px solid rgba(245,122,32,.45);
  background:rgba(245,122,32,.14);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}
.report-mode-card strong{font-size:1.16rem;line-height:1.25}
.report-mode-card p{margin:0;color:var(--muted)}
.report-mode-card .btn{justify-self:start;margin-top:4px}
.report-state-grid,
.ai-workflow-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.report-state-grid>div,
.report-state-grid>label,
.ai-workflow-grid>label{
  display:grid;
  align-content:center;
  gap:8px;
  min-height:98px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.report-state-grid>div span,
.report-state-grid>label>span,
.ai-workflow-grid>label>span{
  color:#dce5eb;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.report-state-grid>div strong{font-size:1.08rem;line-height:1.25}
.report-state-grid select,
.ai-workflow-grid select{height:50px}
.photo-intake-block{background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(45,191,115,.05)),var(--panel)}
.photo-checklist-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.photo-checklist-grid article{
  min-height:116px;
  display:grid;
  align-content:center;
  gap:7px;
  padding:16px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.05);
}
.photo-checklist-grid strong{font-size:1.05rem}
.photo-checklist-grid span{color:var(--muted)}
.photo-evidence-shell{
  margin-top:20px;
  padding:18px;
  border-radius:24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.photo-upload-grid{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(260px,.95fr) minmax(280px,1.25fr);
  gap:14px;
  align-items:start;
}
.photo-control-field{
  display:grid;
  gap:8px;
}
.photo-control-field>span{
  color:#dce5eb;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.photo-file-field input[type="file"]{
  height:auto;
  min-height:56px;
  padding:14px 16px;
  display:block;
  cursor:pointer;
}
.photo-notes-field textarea{
  min-height:92px;
}
.selected-photo-files{
  margin-top:14px;
  min-height:48px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding:12px 14px;
  border-radius:18px;
  border:1px dashed var(--line-strong);
  color:var(--muted);
  background:rgba(0,0,0,.14);
}
.selected-photo-chip{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid rgba(245,122,32,.32);
  background:rgba(245,122,32,.12);
  color:#ffe4cc;
  font-size:.86rem;
  font-weight:700;
}
.photo-actions-row{
  margin-top:14px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}
.photo-limit-note{
  color:var(--muted);
  font-size:.92rem;
}
.photo-gallery-heading{
  margin-top:22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.photo-gallery-heading h5{
  margin:0;
  font-size:1.1rem;
  letter-spacing:-.02em;
}
.photo-gallery-heading strong{
  color:#e7f7ee;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(45,191,115,.35);
  background:rgba(45,191,115,.12);
  font-size:.86rem;
}
.photo-gallery{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.photo-card{
  overflow:hidden;
  border-radius:22px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.18);
}
.photo-thumb-wrap{
  aspect-ratio:16/11;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(245,122,32,.12),rgba(45,191,115,.10));
  border-bottom:1px solid var(--line);
}
.photo-thumb-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.photo-thumb-placeholder{
  color:var(--muted);
  text-align:center;
  padding:16px;
  font-weight:700;
}
.photo-card-body{
  display:grid;
  gap:8px;
  padding:14px;
}
.photo-card-body strong{
  font-size:1rem;
  line-height:1.3;
}
.photo-card-body span,
.photo-card-body p{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}
.photo-card-actions{
  margin-top:4px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.photo-card-actions .btn{
  min-height:40px;
  padding:0 14px;
  font-size:.88rem;
}
.photo-empty-card{
  grid-column:1/-1;
  padding:18px;
  border-radius:20px;
  border:1px dashed var(--line-strong);
  background:rgba(255,255,255,.035);
  color:var(--muted);
}

.ai-assistance-block{
  background:linear-gradient(135deg,rgba(245,122,32,.09),rgba(45,191,115,.10)),var(--panel);
}
.ai-workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ai-assistance-note{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.05);
  color:var(--muted);
}
.ai-assistance-note strong{color:#fff}
.app-footer{
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-top:1px solid var(--line);
  color:var(--muted);
  margin-bottom:18px;
}
.app-footer strong{color:#fff}
@media (max-width:1180px){
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workspace-grid{grid-template-columns:1fr}
  .job-list{max-height:none}
  .platform-hero{grid-template-columns:1fr}
  .measurement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:760px){
  .app-header-inner,.app-main,.app-footer{width:min(100% - 28px,var(--max))}
  .app-header-inner{min-height:auto;padding:16px 0;align-items:flex-start;flex-direction:column}
  .brand-logo{width:60px;height:60px}
  .brand-lockup{align-items:flex-start}
  .brand-lockup h1{font-size:1.45rem}
  .subline{font-size:.92rem}
  .header-actions{width:100%;justify-content:space-between}
  .session-pill{max-width:calc(100% - 118px)}
  .app-main{padding-top:24px}
  .auth-shell{min-height:auto}
  .auth-card,.platform-hero,.panel-card{padding:20px;border-radius:26px}
  .auth-card h2,.platform-hero h2{font-size:2rem}
  .auth-copy,.platform-hero p:not(.eyebrow){font-size:1rem}
  .metric-grid,.detail-grid,.quote-range-grid,.measurement-grid,.workflow-grid,.queue-controls,.report-mode-grid,.report-state-grid,.ai-workflow-grid,.photo-checklist-grid{grid-template-columns:1fr}
  .metric-card{min-height:122px}
  .panel-heading,.detail-topbar,.workflow-heading,.events-heading{flex-direction:column;align-items:stretch}
  .workflow-actions{justify-content:stretch}
  .workflow-actions .btn{width:100%}
  dl div{grid-template-columns:1fr;gap:5px}
  .status-badge{align-self:flex-start}
  .app-footer{min-height:auto;padding:24px 0;flex-direction:column;align-items:flex-start}
}

@media (max-width:1100px){
  .photo-upload-grid{grid-template-columns:1fr 1fr}
  .photo-notes-field{grid-column:1/-1}
  .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .photo-upload-grid,
  .photo-gallery{grid-template-columns:1fr}
  .photo-actions-row{align-items:stretch}
  .photo-actions-row .btn{width:100%}
}

.mode-result-shell{
  margin-top:18px;
  padding:18px;
  border-radius:24px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(245,122,32,.10),rgba(45,191,115,.08)),rgba(255,255,255,.045);
}
.mode-result-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  flex-wrap:wrap;
}
.mode-result-heading h5,
.satellite-draft-topline h6{
  margin:0;
  line-height:1.12;
  letter-spacing:-.02em;
}
.mode-result-heading h5{font-size:1.28rem}
.mode-result-heading p:not(.eyebrow){
  margin:7px 0 0;
  color:var(--muted);
  max-width:940px;
}
.actual-draft-heading{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.mode-output-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.mode-output-grid article{
  display:grid;
  gap:7px;
  min-height:112px;
  align-content:center;
  padding:15px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.052);
}
.mode-output-grid strong{font-size:1rem}
.mode-output-grid span{color:var(--muted);font-size:.92rem}
.satellite-draft-preview{margin-top:16px}
.satellite-draft-card{
  display:grid;
  gap:16px;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(45,191,115,.28);
  background:linear-gradient(135deg,rgba(45,191,115,.11),rgba(245,122,32,.08)),rgba(255,255,255,.04);
}
.satellite-draft-topline{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
}
.satellite-draft-topline h6{font-size:1.22rem}
.satellite-draft-topline p:not(.eyebrow){margin:6px 0 0;color:var(--muted)}
.draft-pill{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,198,88,.4);
  background:rgba(255,198,88,.14);
  color:#fff2d5;
  font-weight:800;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.satellite-draft-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.satellite-draft-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.satellite-draft-metric-grid>div{
  display:grid;
  gap:6px;
  padding:14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.satellite-draft-metric-grid span{
  color:#dce5eb;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.satellite-draft-metric-grid strong{
  display:block;
  font-size:1.02rem;
  line-height:1.28;
  word-break:normal;
}
.satellite-draft-metrics>div,
.satellite-draft-estimates>div{
  display:grid;
  gap:6px;
  padding:14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.satellite-draft-metrics span,
.satellite-draft-estimates span{
  color:#dce5eb;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.satellite-draft-metrics strong,
.satellite-draft-estimates strong{font-size:1.02rem}
.satellite-draft-estimates{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.satellite-draft-summary,
.satellite-draft-conclusion{
  margin:0;
  padding:15px 16px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.045);
  color:var(--muted);
}
.satellite-draft-conclusion{color:#e7f6ee;border-color:rgba(45,191,115,.24)}
@media (max-width:1100px){
  .mode-output-grid,
  .satellite-draft-metrics,
  .satellite-draft-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .mode-output-grid,
  .satellite-draft-metrics,
  .satellite-draft-estimates{grid-template-columns:1fr}
  .mode-result-heading .btn{width:100%}
}

.mode1-engine-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.mode1-engine-panel{
  display:grid;
  gap:6px;
  padding:16px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.mode1-engine-panel h6,
.mode1-waste-shell h6{
  margin:0;
  font-size:1.14rem;
  line-height:1.15;
  letter-spacing:-.02em;
}
.mode1-engine-panel p:not(.eyebrow),
.mode1-engine-panel span,
.mode1-waste-shell p:not(.eyebrow){
  margin:0;
  color:var(--muted);
}
.mode1-waste-shell{
  display:grid;
  grid-template-columns:minmax(240px,.72fr) minmax(360px,1fr);
  gap:16px;
  align-items:start;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(255,198,88,.24);
  background:rgba(255,198,88,.065);
}
.mode1-waste-table{
  width:100%;
  border-collapse:collapse;
  overflow:hidden;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.05);
}
.mode1-waste-table th,
.mode1-waste-table td{
  padding:12px 13px;
  border-bottom:1px solid var(--line);
  text-align:left;
}
.mode1-waste-table th{
  color:#dce5eb;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.mode1-waste-table td{color:#f6f8fb;font-weight:700}
.mode1-waste-table tr:last-child td{border-bottom:none}
@media (max-width:1100px){
  .mode1-waste-shell{grid-template-columns:1fr}
}
@media (max-width:760px){
  .mode1-engine-grid{grid-template-columns:1fr}
  .mode1-waste-table{display:block;overflow-x:auto}
}


.plane-intelligence-shell{
  display:grid;
  gap:18px;
  margin-top:22px;
  padding:20px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,rgba(45,191,115,.09),rgba(245,122,32,.08));
}
.plane-intelligence-heading{align-items:center}
.plane-intelligence-preview{display:grid;gap:18px}
.plane-intelligence-report-card{
  display:grid;
  gap:18px;
  padding:20px;
  border-radius:24px;
  border:1px solid var(--line);
  background:rgba(8,17,23,.72);
}
.plane-intelligence-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.plane-intelligence-table{
  width:100%;
  border-collapse:collapse;
  margin-top:12px;
  overflow:hidden;
  border-radius:16px;
}
.plane-intelligence-table th,
.plane-intelligence-table td{
  padding:11px 12px;
  border-bottom:1px solid rgba(255,255,255,.10);
  text-align:left;
  vertical-align:top;
  font-size:.92rem;
}
.plane-intelligence-table th{
  color:#e9f0f5;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.plane-intelligence-table td{color:#dce5eb}
.plane-intelligence-table td small{
  display:block;
  color:var(--muted);
  margin-top:3px;
}
.compact-table th,
.compact-table td{padding:10px 11px}
.plane-table{min-width:720px}
.plane-list-panel{overflow:auto}
.plane-level-band-panel p:not(.eyebrow){color:var(--muted);margin-top:8px}
@media (max-width:900px){
  .plane-intelligence-grid{grid-template-columns:1fr}
  .plane-intelligence-shell{padding:16px}
  .plane-intelligence-report-card{padding:16px}
}


.assembled-report-heading{margin-top:22px}
.assembled-mode1-report-preview{margin-top:16px}
.assembled-mode1-report-card{
  display:grid;
  gap:18px;
  padding:20px;
  border-radius:24px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(45,191,115,.09),rgba(245,122,32,.08)),rgba(255,255,255,.045);
}
.assembled-report-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.report-engine-next-stage{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(255,198,88,.28);
  background:rgba(255,198,88,.08);
  color:var(--muted);
}
.report-engine-next-stage strong{color:#fff}
@media (max-width: 900px){
  .assembled-report-grid{grid-template-columns:1fr}
}


.line-diagram-heading,
.assembled-report-v3-heading{
  margin-top:24px;
}
.line-diagram-preview{
  margin-top:18px;
}
.mode1-line-diagram-card{
  display:grid;
  gap:18px;
  padding:20px;
  border-radius:24px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(245,122,32,.09),rgba(45,191,115,.08)),rgba(255,255,255,.04);
}
.mode1-line-diagram-layout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:18px;
}
.mode1-live-diagram-panel{
  min-height:420px;
  padding:14px;
  border-radius:22px;
  border:1px solid var(--line);
  background:rgba(3,9,14,.78);
  overflow:hidden;
}
.mode1-live-diagram-svg{
  width:100%;
  height:auto;
  display:block;
}
.mode1-live-diagram-svg rect{
  fill:rgba(255,255,255,.025);
  stroke:rgba(255,255,255,.12);
  stroke-width:2;
}
.mode1-live-perimeter{
  fill:rgba(245,122,32,.10);
  stroke:rgba(255,255,255,.96);
  stroke-width:7;
  stroke-linejoin:miter;
}
.mode1-line-feature{
  fill:none;
  stroke-width:5;
  stroke-linecap:square;
  stroke-linejoin:miter;
}
.mode1-line-feature.ridge{stroke:rgba(45,191,115,.98)}
.mode1-line-feature.hip{stroke:rgba(255,198,88,.98)}
.mode1-line-feature.valley{stroke:rgba(245,122,32,.98);stroke-dasharray:14 9}
.mode1-line-feature.eave{stroke:rgba(236,244,250,.96)}
.mode1-line-feature.rake{stroke:rgba(157,210,255,.96)}
.mode1-line-feature.transition{stroke:rgba(199,212,224,.70);stroke-dasharray:8 8}
.mode1-line-metric-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.mode1-line-table-panel{
  overflow-x:auto;
}
.mode1-line-quality{
  margin-top:0;
}
.assembled-line-summary-panel{
  margin-top:18px;
}
@media (max-width: 1100px){
  .mode1-line-diagram-layout{
    grid-template-columns:1fr;
  }
}
@media (max-width: 720px){
  .mode1-live-diagram-panel{
    min-height:260px;
  }
  .mode1-line-metric-grid{
    grid-template-columns:1fr;
  }
}


.report-sheet-heading{
  margin-top:24px;
}
.report-sheet-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.mode1-report-sheet-preview{
  margin-top:18px;
}
.mode1-report-sheet-card{
  display:grid;
  gap:20px;
  padding:22px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(135deg,rgba(245,122,32,.09),rgba(45,191,115,.08)),rgba(255,255,255,.045);
  box-shadow:0 26px 60px rgba(0,0,0,.22);
}
.mode1-report-sheet-header{
  display:grid;
  grid-template-columns:minmax(180px,260px) minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px;
  border-radius:24px;
  border:1px solid var(--line);
  background:rgba(5,12,18,.78);
}
.mode1-report-sheet-logo{
  width:100%;
  height:auto;
  display:block;
  border-radius:24px;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.28));
}
.mode1-report-sheet-header h6{
  margin:4px 0 8px;
  font-size:clamp(1.26rem,2.2vw,2rem);
  line-height:1.12;
}
.mode1-report-sheet-header p:not(.eyebrow){
  margin:0;
  color:var(--muted);
}
.mode1-report-sheet-badges{
  display:grid;
  gap:10px;
}
.mode1-report-sheet-badges span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(45,191,115,.34);
  background:rgba(45,191,115,.11);
  color:#ebfff4;
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.03em;
}
.mode1-report-sheet-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.mode1-report-sheet-metrics>div{
  min-height:94px;
  display:grid;
  align-content:center;
  gap:6px;
  padding:16px;
  border-radius:20px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.mode1-report-sheet-metrics span{
  color:#dce5eb;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.mode1-report-sheet-metrics strong{
  font-size:1.18rem;
}
.mode1-report-sheet-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:18px;
}
.mode1-report-sheet-grid.three-up{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.mode1-report-sheet-panel{
  min-width:0;
  padding:18px;
  border-radius:22px;
  border:1px solid var(--line);
  background:rgba(6,13,19,.72);
  overflow:hidden;
}
.mode1-report-sheet-panel h6{
  margin:6px 0 12px;
  font-size:1.18rem;
}
.mode1-report-sheet-panel p:not(.eyebrow){
  color:var(--muted);
}
.mode1-report-sheet-diagram{
  margin-top:12px;
  min-height:360px;
  padding:12px;
  border-radius:20px;
  border:1px solid var(--line);
  background:rgba(2,7,12,.72);
}
.mode1-report-sheet-diagram .mode1-live-diagram-svg{
  width:100%;
  height:auto;
}
.report-sheet-line-table,
.report-sheet-waste-table{
  width:100%;
}
.report-sheet-estimate-stack{
  display:grid;
  gap:12px;
}
.report-sheet-estimate-stack>div{
  display:grid;
  gap:4px;
  padding:14px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.report-sheet-estimate-stack span{
  color:#dce5eb;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.report-sheet-estimate-stack strong{
  font-size:1.08rem;
}
.report-sheet-plane-panel{
  overflow:auto;
}
.mode1-report-sheet-review{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:18px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,198,88,.30);
  background:rgba(255,198,88,.08);
}
.mode1-report-sheet-review h6{
  margin:6px 0 10px;
  font-size:1.22rem;
}
.mode1-report-sheet-review p:not(.eyebrow){
  margin:0;
  color:var(--muted);
}
.report-sheet-review-status{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  padding:16px;
  border-radius:20px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.report-sheet-review-status span{
  color:#dce5eb;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.report-sheet-review-status strong{
  margin-bottom:3px;
  font-size:1rem;
}
@media (max-width:1120px){
  .mode1-report-sheet-header{
    grid-template-columns:1fr;
  }
  .mode1-report-sheet-badges{
    display:flex;
    flex-wrap:wrap;
  }
  .mode1-report-sheet-grid,
  .mode1-report-sheet-review{
    grid-template-columns:1fr;
  }
  .mode1-report-sheet-grid.three-up{
    grid-template-columns:1fr;
  }
  .mode1-report-sheet-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:720px){
  .report-sheet-action-row{
    justify-content:flex-start;
  }
  .mode1-report-sheet-card{
    padding:16px;
  }
  .mode1-report-sheet-metrics{
    grid-template-columns:1fr;
  }
  .mode1-report-sheet-diagram{
    min-height:240px;
  }
}
@media print{
  body.report-sheet-print-mode *{
    visibility:hidden !important;
  }
  body.report-sheet-print-mode #mode1-report-sheet-preview,
  body.report-sheet-print-mode #mode1-report-sheet-preview *{
    visibility:visible !important;
  }
  body.report-sheet-print-mode #mode1-report-sheet-preview{
    position:absolute;
    inset:0;
    width:100%;
    margin:0 !important;
    padding:0 !important;
  }
  body.report-sheet-print-mode .mode1-report-sheet-card{
    box-shadow:none !important;
    background:#fff !important;
    color:#111 !important;
    border:1px solid #ccc !important;
  }
  body.report-sheet-print-mode .mode1-report-sheet-card *{
    color:#111 !important;
  }
  body.report-sheet-print-mode .mode1-line-feature.ridge,
  body.report-sheet-print-mode .mode1-line-feature.hip,
  body.report-sheet-print-mode .mode1-line-feature.valley,
  body.report-sheet-print-mode .mode1-line-feature.eave,
  body.report-sheet-print-mode .mode1-line-feature.rake,
  body.report-sheet-print-mode .mode1-line-feature.transition,
  body.report-sheet-print-mode .mode1-live-perimeter{
    opacity:1 !important;
  }
}


.mode1-guided-pipeline{
  display:grid;
  gap:18px;
  margin:24px 0 26px;
  padding:20px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(135deg,rgba(245,122,32,.11),rgba(45,191,115,.09)),rgba(10,21,29,.86);
}
.mode1-pipeline-head{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);
  gap:18px;
  align-items:stretch;
}
.mode1-pipeline-head h5{margin:0;font-size:1.42rem;line-height:1.16}
.mode1-pipeline-head p:not(.eyebrow){margin:8px 0 0;color:var(--muted)}
.mode1-next-action-card{
  display:grid;
  align-content:center;
  gap:8px;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.065);
}
.mode1-next-action-card span{
  color:#ffd3ab;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.mode1-next-action-card strong{font-size:1.12rem;line-height:1.25}
.mode1-next-action-card p{margin:0;color:var(--muted)}
.mode1-next-action-card .btn{justify-self:start;margin-top:4px}
.mode1-pipeline-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.mode1-stage-card{
  display:grid;
  align-content:start;
  gap:9px;
  min-height:188px;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.045);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.mode1-stage-card.ready{
  border-color:rgba(245,122,32,.54);
  background:rgba(245,122,32,.12);
  box-shadow:0 18px 42px rgba(245,122,32,.10);
}
.mode1-stage-card.complete{
  border-color:rgba(45,191,115,.52);
  background:rgba(45,191,115,.11);
}
.mode1-stage-card.locked{opacity:.76}
.mode1-stage-card.pending{border-color:rgba(255,255,255,.18)}
.mode1-stage-card strong{font-size:1.04rem;line-height:1.22}
.mode1-stage-card p{margin:0;color:var(--muted);font-size:.94rem}
.mode1-stage-card em{
  margin-top:auto;
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  color:#f2f6f8;
  font-style:normal;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.mode1-stage-card.complete em{border-color:rgba(45,191,115,.42);background:rgba(45,191,115,.17)}
.mode1-stage-card.ready em{border-color:rgba(245,122,32,.42);background:rgba(245,122,32,.17)}
.mode1-stage-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:13px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:950;
  letter-spacing:.05em;
}
.mode1-stage-card.complete .mode1-stage-number{background:rgba(45,191,115,.22)}
.mode1-stage-card.ready .mode1-stage-number{background:rgba(245,122,32,.24)}
.btn[disabled]{
  opacity:.54;
  cursor:not-allowed;
  transform:none!important;
  box-shadow:none!important;
}
.mode-result-heading.workflow-locked{opacity:.84}
.mode-result-heading.workflow-locked .btn{opacity:.54}
@media (max-width:1120px){
  .mode1-pipeline-head{grid-template-columns:1fr}
  .mode1-pipeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .mode1-guided-pipeline{padding:16px}
  .mode1-pipeline-grid{grid-template-columns:1fr}
}

/* =======================================================================
   WMC Intelligence Command Center — Original Layout System V6
   Purpose: Rebuild the private app visual template around a clearer,
   command-deck workflow while preserving the existing functional IDs.
   ======================================================================= */
body.wmc-command-redesign{
  --command-rail:268px;
  --command-border:rgba(255,255,255,.12);
  --command-border-strong:rgba(255,255,255,.18);
  --command-panel:rgba(8,18,25,.92);
  --command-panel-2:rgba(12,25,34,.96);
  --command-panel-3:rgba(15,31,41,.98);
  --command-orange-glow:rgba(245,122,32,.24);
  --command-green-glow:rgba(45,191,115,.21);
  background:#050b10;
}
body.wmc-command-redesign::before{
  background:
    radial-gradient(circle at 14% 8%,rgba(245,122,32,.22),transparent 27%),
    radial-gradient(circle at 78% 10%,rgba(45,191,115,.20),transparent 30%),
    radial-gradient(circle at 54% 90%,rgba(245,122,32,.10),transparent 34%),
    linear-gradient(180deg,#04090d 0%,#061018 44%,#061119 100%);
}
body.wmc-command-redesign .app-bg{
  opacity:.72;
  background:
    linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),
    radial-gradient(circle at 68% 28%,rgba(45,191,115,.06),transparent 36%),
    radial-gradient(circle at 34% 68%,rgba(245,122,32,.05),transparent 32%);
  background-size:58px 58px,58px 58px,100% 100%,100% 100%;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.96),rgba(0,0,0,.82) 68%,transparent 100%);
}
body.wmc-command-redesign .app-header{
  position:sticky;
  top:0;
  z-index:60;
  min-height:0;
  border-bottom:1px solid rgba(255,255,255,.10);
  background:rgba(4,10,15,.88);
  backdrop-filter:blur(26px);
}
.command-header-shell{
  width:min(1540px,calc(100% - 42px));
  min-height:154px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px,360px) minmax(420px,1fr) auto;
  gap:28px;
  align-items:center;
  padding:18px 0;
}
.command-header-logo-card{
  display:grid;
  align-items:center;
  padding:0;
  border-radius:28px;
  background:transparent;
}
.command-header-logo-card img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 22px 42px rgba(0,0,0,.42));
}
.command-header-copy{
  min-width:0;
  display:grid;
  gap:7px;
  align-content:center;
}
.command-header-copy h1{
  margin:0;
  font-size:clamp(2rem,3.6vw,4rem);
  line-height:.98;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.command-header-copy .subline{
  margin:0;
  max-width:780px;
  font-size:1.03rem;
}
.command-security-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}
.command-security-strip span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  border:1px solid rgba(45,191,115,.34);
  background:rgba(45,191,115,.12);
  color:#dbffeb;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.command-account-stack{
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}
body.wmc-command-redesign .app-main{
  width:min(1540px,calc(100% - 42px));
  margin:0 auto;
  padding:28px 0 72px;
}
body.wmc-command-redesign .auth-shell{
  min-height:calc(100vh - 230px);
}
body.wmc-command-redesign .auth-card{
  width:min(960px,100%);
  padding:clamp(28px,4vw,58px);
  border-radius:42px;
  background:
    radial-gradient(circle at 82% 18%,rgba(45,191,115,.18),transparent 28%),
    radial-gradient(circle at 16% 12%,rgba(245,122,32,.22),transparent 26%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.02)),
    rgba(8,18,25,.96);
}
body.wmc-command-redesign .auth-logo-wrap.auth-logo-card{
  width:min(460px,100%);
  height:auto;
  overflow:visible;
  border:none;
  border-radius:0;
  box-shadow:none;
  padding:0;
}
body.wmc-command-redesign .auth-logo-wrap.auth-logo-card img{
  width:100%;
  height:auto;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 28px 48px rgba(0,0,0,.46));
}
body.wmc-command-redesign .dashboard-shell{
  display:block;
}
.command-layout{
  display:grid;
  grid-template-columns:var(--command-rail) minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.command-sidebar{
  position:sticky;
  top:184px;
  display:grid;
  gap:18px;
  align-content:start;
  min-height:calc(100vh - 220px);
  padding:18px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.11);
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015)),
    rgba(7,15,21,.94);
  box-shadow:0 28px 90px rgba(0,0,0,.34);
}
.sidebar-brand-panel{
  display:grid;
  gap:8px;
  padding:16px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 20% 10%,rgba(245,122,32,.18),transparent 44%),
    radial-gradient(circle at 82% 78%,rgba(45,191,115,.12),transparent 42%),
    rgba(255,255,255,.035);
}
.sidebar-brand-panel strong{
  font-size:1.25rem;
  line-height:1.15;
  letter-spacing:-.025em;
}
.sidebar-brand-panel span{
  color:var(--muted);
}
.command-nav{
  display:grid;
  gap:10px;
}
.command-nav a{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.035);
  color:#f3f7fa;
  text-decoration:none;
  font-weight:800;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.command-nav a span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:11px;
  border:1px solid rgba(245,122,32,.28);
  background:rgba(245,122,32,.11);
  color:#ffd6b5;
  font-size:.78rem;
  letter-spacing:.05em;
}
.command-nav a:hover,
.command-nav a:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(245,122,32,.55);
  background:rgba(245,122,32,.11);
  box-shadow:0 18px 36px rgba(245,122,32,.08);
}
.command-main{
  min-width:0;
  display:grid;
  gap:22px;
}
body.wmc-command-redesign .platform-hero{
  position:relative;
  overflow:hidden;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.68fr);
  min-height:258px;
  padding:clamp(24px,3vw,40px);
  border-radius:38px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(135deg,rgba(245,122,32,.18),transparent 32%),
    linear-gradient(135deg,rgba(45,191,115,.14),transparent 62%),
    rgba(8,18,25,.94);
}
body.wmc-command-redesign .platform-hero::after{
  content:"";
  position:absolute;
  inset:auto -40px -82px auto;
  width:420px;
  height:300px;
  opacity:.5;
  background:
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:28px 28px;
  transform:rotate(-12deg);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 92%);
}
body.wmc-command-redesign .platform-hero h2{
  font-size:clamp(2.3rem,4.2vw,4.8rem);
  max-width:900px;
}
body.wmc-command-redesign .hero-badge{
  position:relative;
  min-height:84px;
  border-radius:22px;
  background:rgba(255,255,255,.065);
}
body.wmc-command-redesign .metric-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.wmc-command-redesign .metric-card{
  min-height:132px;
  border-radius:26px;
  background:
    linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.025)),
    rgba(8,18,25,.92);
}
.command-deck-panel{
  display:grid;
  gap:18px;
  padding:22px;
  border-radius:36px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 78% 4%,rgba(245,122,32,.17),transparent 28%),
    radial-gradient(circle at 9% 82%,rgba(45,191,115,.13),transparent 32%),
    rgba(8,18,25,.95);
  box-shadow:0 28px 80px rgba(0,0,0,.26);
}
.command-deck-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.command-deck-intro h3{
  margin:0;
  font-size:clamp(1.5rem,2.4vw,2.35rem);
  line-height:1.1;
  letter-spacing:-.03em;
}
.command-deck-intro p:not(.eyebrow){
  max-width:920px;
  margin:8px 0 0;
  color:var(--muted);
}
body.wmc-command-redesign .mode1-guided-pipeline{
  margin:0;
  padding:0;
  border:none;
  background:transparent;
}
body.wmc-command-redesign .mode1-pipeline-head{
  grid-template-columns:minmax(0,1fr) minmax(320px,420px);
  gap:16px;
}
body.wmc-command-redesign .mode1-pipeline-head > div:first-child{
  min-height:100%;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.038);
}
body.wmc-command-redesign .mode1-next-action-card{
  border-radius:24px;
  border-color:rgba(245,122,32,.34);
  background:
    linear-gradient(135deg,rgba(245,122,32,.18),rgba(245,122,32,.08)),
    rgba(255,255,255,.045);
}
body.wmc-command-redesign .mode1-pipeline-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.wmc-command-redesign .mode1-stage-card{
  position:relative;
  min-height:208px;
  padding:18px;
  border-radius:24px;
  background:rgba(255,255,255,.042);
}
body.wmc-command-redesign .mode1-stage-card:not(:last-child)::after{
  content:"";
  position:absolute;
  top:50%;
  right:-15px;
  width:16px;
  height:2px;
  background:linear-gradient(90deg,rgba(45,191,115,.5),rgba(245,122,32,.72));
}
body.wmc-command-redesign .mode1-stage-number{
  width:48px;
  height:48px;
  border-radius:16px;
}
body.wmc-command-redesign .workspace-grid{
  grid-template-columns:minmax(340px,.82fr) minmax(700px,1.42fr);
  gap:18px;
}
body.wmc-command-redesign .panel-card,
body.wmc-command-redesign .detail-block{
  background:
    linear-gradient(150deg,rgba(255,255,255,.045),rgba(255,255,255,.02)),
    rgba(8,18,25,.93);
  border-color:rgba(255,255,255,.11);
}
body.wmc-command-redesign .queue-panel{
  position:sticky;
  top:184px;
}
body.wmc-command-redesign .queue-controls{
  grid-template-columns:1fr;
}
body.wmc-command-redesign .job-list{
  max-height:calc(100vh - 430px);
}
body.wmc-command-redesign .detail-panel{
  overflow:hidden;
}
body.wmc-command-redesign .detail-topbar{
  position:relative;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(135deg,rgba(45,191,115,.10),rgba(245,122,32,.09)),
    rgba(255,255,255,.03);
}
body.wmc-command-redesign .detail-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
body.wmc-command-redesign .report-builder-block{
  background:
    radial-gradient(circle at 94% 4%,rgba(245,122,32,.16),transparent 25%),
    radial-gradient(circle at 8% 90%,rgba(45,191,115,.10),transparent 28%),
    rgba(8,18,25,.95);
}
body.wmc-command-redesign .report-mode-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.wmc-command-redesign .report-mode-card{
  border-radius:24px;
}
body.wmc-command-redesign .report-state-grid,
body.wmc-command-redesign .ai-workflow-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
body.wmc-command-redesign .mode-result-shell,
body.wmc-command-redesign .plane-intelligence-shell,
body.wmc-command-redesign .line-diagram-shell,
body.wmc-command-redesign .mode1-report-sheet-shell,
body.wmc-command-redesign .photo-evidence-shell{
  border-radius:28px;
}
body.wmc-command-redesign .workflow-block{
  background:
    linear-gradient(135deg,rgba(245,122,32,.12),rgba(45,191,115,.08)),
    rgba(8,18,25,.95);
}
body.wmc-command-redesign .app-footer{
  width:min(1540px,calc(100% - 42px));
  margin:0 auto 28px;
  padding:18px 22px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(8,18,25,.82);
}
@media (max-width:1360px){
  .command-header-shell{
    grid-template-columns:minmax(250px,320px) minmax(380px,1fr);
  }
  .command-account-stack{
    grid-column:1/-1;
    justify-self:stretch;
    justify-content:flex-end;
  }
  .command-layout{
    grid-template-columns:1fr;
  }
  .command-sidebar{
    position:relative;
    top:auto;
    min-height:0;
    grid-template-columns:minmax(220px,.8fr) 1fr minmax(220px,.8fr);
    align-items:start;
  }
  .command-nav{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  body.wmc-command-redesign .queue-panel{
    position:relative;
    top:auto;
  }
}
@media (max-width:1120px){
  .command-header-shell{
    grid-template-columns:1fr;
    width:min(100% - 28px,1540px);
  }
  .command-header-logo-card{
    max-width:390px;
  }
  .command-account-stack{
    justify-content:flex-start;
  }
  .command-sidebar{
    grid-template-columns:1fr;
  }
  .command-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.wmc-command-redesign .platform-hero,
  body.wmc-command-redesign .workspace-grid{
    grid-template-columns:1fr;
  }
  body.wmc-command-redesign .mode1-pipeline-head{
    grid-template-columns:1fr;
  }
  body.wmc-command-redesign .mode1-pipeline-grid,
  body.wmc-command-redesign .metric-grid,
  body.wmc-command-redesign .report-state-grid,
  body.wmc-command-redesign .ai-workflow-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.wmc-command-redesign .mode1-stage-card:not(:last-child)::after{
    display:none;
  }
}
@media (max-width:760px){
  body.wmc-command-redesign .app-main,
  body.wmc-command-redesign .app-footer,
  .command-header-shell{
    width:calc(100% - 24px);
  }
  .command-header-logo-card{
    max-width:100%;
  }
  .command-header-copy h1{
    font-size:2.35rem;
  }
  .command-nav,
  body.wmc-command-redesign .metric-grid,
  body.wmc-command-redesign .mode1-pipeline-grid,
  body.wmc-command-redesign .report-state-grid,
  body.wmc-command-redesign .ai-workflow-grid,
  body.wmc-command-redesign .report-mode-grid,
  body.wmc-command-redesign .detail-grid{
    grid-template-columns:1fr;
  }
  .command-deck-panel,
  body.wmc-command-redesign .platform-hero,
  body.wmc-command-redesign .panel-card,
  body.wmc-command-redesign .detail-block,
  body.wmc-command-redesign .auth-card,
  .command-sidebar{
    border-radius:26px;
  }
  .command-security-strip span{
    font-size:.72rem;
  }
}
body.wmc-command-redesign .ai-workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:1120px){body.wmc-command-redesign .ai-workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){body.wmc-command-redesign .ai-workflow-grid{grid-template-columns:1fr;}}


/* =======================================================================
   WMC ORIGINAL SPATIAL COMMAND LAYOUT V7
   Rebuilds the dashboard into separated command zones while retaining all
   existing functional IDs, backend actions, and report modules.
   ======================================================================= */
body.wmc-command-spatial{
  --spatial-sidebar:238px;
  --spatial-rail:312px;
  --spatial-gap:20px;
  --spatial-border:rgba(255,255,255,.12);
  --spatial-border-strong:rgba(255,255,255,.18);
  --spatial-panel:rgba(7,16,23,.94);
  --spatial-panel-2:rgba(10,22,30,.97);
  --spatial-panel-3:rgba(12,27,37,.98);
  --spatial-orange:rgba(245,122,32,.18);
  --spatial-green:rgba(45,191,115,.15);
}
body.wmc-command-spatial .command-header-shell{
  grid-template-columns:minmax(255px,345px) minmax(420px,1fr) auto;
  min-height:138px;
  gap:24px;
  padding:14px 0;
}
body.wmc-command-spatial .command-header-logo-card{
  padding:0;
  border-radius:30px;
  background:transparent;
  overflow:visible;
}
body.wmc-command-spatial .command-header-logo-card img,
body.wmc-command-spatial .auth-logo-wrap.auth-logo-card img{
  filter:drop-shadow(0 24px 48px rgba(0,0,0,.48));
}
body.wmc-command-spatial .auth-logo-wrap.auth-logo-card{
  border-radius:0;
  background:transparent;
  overflow:visible;
}
body.wmc-command-spatial .app-main{
  width:min(1640px,calc(100% - 42px));
  padding:22px 0 78px;
}
body.wmc-command-spatial .command-layout{
  grid-template-columns:var(--spatial-sidebar) minmax(0,1fr);
  gap:var(--spatial-gap);
}
body.wmc-command-spatial .command-sidebar{
  top:164px;
  padding:16px;
  gap:16px;
  border-radius:30px;
  min-height:calc(100vh - 190px);
  background:
    radial-gradient(circle at 18% 6%,rgba(245,122,32,.13),transparent 28%),
    radial-gradient(circle at 80% 88%,rgba(45,191,115,.10),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015)),
    rgba(6,14,20,.96);
}
body.wmc-command-spatial .sidebar-brand-panel{
  border-radius:22px;
}
body.wmc-command-spatial .command-nav a{
  min-height:50px;
  border-radius:16px;
}
body.wmc-command-spatial .spatial-command-main{
  display:grid;
  gap:20px;
}
body.wmc-command-spatial .spatial-overview-grid{
  display:grid;
  grid-template-columns:minmax(520px,1.18fr) minmax(360px,.82fr);
  gap:var(--spatial-gap);
  align-items:stretch;
}
body.wmc-command-spatial .platform-hero{
  min-height:0;
  padding:26px 28px;
  border-radius:32px;
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);
  gap:20px;
}
body.wmc-command-spatial .platform-hero h2{
  font-size:clamp(2rem,3.2vw,4rem);
}
body.wmc-command-spatial .platform-hero p:not(.eyebrow){
  margin-top:14px;
  font-size:1rem;
}
body.wmc-command-spatial .hero-badge-stack{
  gap:12px;
}
body.wmc-command-spatial .hero-badge{
  min-height:70px;
  border-radius:20px;
}
body.wmc-command-spatial .spatial-metrics-shell{
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid var(--spatial-border);
  border-radius:32px;
  background:
    linear-gradient(145deg,rgba(45,191,115,.10),rgba(245,122,32,.08)),
    rgba(7,16,23,.95);
  box-shadow:0 26px 72px rgba(0,0,0,.22);
}
body.wmc-command-spatial .spatial-metrics-intro h3{
  margin:0;
  font-size:clamp(1.25rem,1.6vw,1.8rem);
  line-height:1.1;
}
body.wmc-command-spatial .spatial-metrics-intro p:not(.eyebrow){
  margin:6px 0 0;
  color:var(--muted);
  font-size:.94rem;
}
body.wmc-command-spatial .metric-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body.wmc-command-spatial .metric-card{
  min-height:112px;
  border-radius:22px;
  padding:16px;
}
body.wmc-command-spatial .command-deck-panel{
  gap:16px;
  padding:20px;
  border-radius:34px;
}
body.wmc-command-spatial .command-deck-intro h3{
  font-size:clamp(1.4rem,2.1vw,2.15rem);
}
body.wmc-command-spatial .mode1-guided-pipeline{
  display:grid;
  gap:14px;
}
body.wmc-command-spatial .mode1-pipeline-head{
  grid-template-columns:1fr;
}
body.wmc-command-spatial .mode1-pipeline-head > div:first-child{
  padding:16px 18px;
  min-height:0;
}
body.wmc-command-spatial .mode1-pipeline-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.wmc-command-spatial .mode1-stage-card{
  min-height:190px;
  padding:18px;
  border-radius:22px;
}
body.wmc-command-spatial .mode1-stage-card:not(:last-child)::after{
  right:-15px;
  width:16px;
}
body.wmc-command-spatial .workspace-grid{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(610px,1.52fr) var(--spatial-rail);
  gap:var(--spatial-gap);
  align-items:start;
}
body.wmc-command-spatial .queue-panel{
  top:164px;
  border-radius:30px;
}
body.wmc-command-spatial .detail-panel{
  border-radius:30px;
}
body.wmc-command-spatial .detail-topbar,
body.wmc-command-spatial .detail-block,
body.wmc-command-spatial .report-builder-block{
  border-radius:24px;
}
body.wmc-command-spatial .command-action-rail{
  position:sticky;
  top:164px;
  display:grid;
  gap:16px;
  align-content:start;
}
body.wmc-command-spatial .spatial-next-action-card,
body.wmc-command-spatial .rail-insight-card{
  padding:18px;
  border:1px solid var(--spatial-border);
  border-radius:28px;
  background:
    linear-gradient(145deg,rgba(245,122,32,.12),rgba(45,191,115,.06)),
    rgba(7,16,23,.95);
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}
body.wmc-command-spatial .spatial-next-action-card{
  border-color:rgba(245,122,32,.34);
}
body.wmc-command-spatial .mode1-next-action-card strong,
body.wmc-command-spatial .rail-insight-card h4{
  font-size:1.22rem;
  line-height:1.18;
}
body.wmc-command-spatial .mode1-next-action-card p,
body.wmc-command-spatial .rail-insight-card p,
body.wmc-command-spatial .rail-insight-card li{
  color:var(--muted);
}
body.wmc-command-spatial .rail-insight-card h4{
  margin:0;
}
body.wmc-command-spatial .rail-insight-card p{
  margin:8px 0 0;
}
body.wmc-command-spatial .rail-insight-card ul{
  margin:10px 0 0;
  padding-left:18px;
}
body.wmc-command-spatial .rail-insight-card li+li{
  margin-top:8px;
}
body.wmc-command-spatial .report-mode-grid,
body.wmc-command-spatial .report-state-grid,
body.wmc-command-spatial .ai-workflow-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.wmc-command-spatial .mode-result-shell,
body.wmc-command-spatial .plane-intelligence-shell,
body.wmc-command-spatial .line-diagram-shell,
body.wmc-command-spatial .mode1-report-sheet-shell,
body.wmc-command-spatial .photo-evidence-shell{
  border-radius:24px;
}
body.wmc-command-spatial .panel-card,
body.wmc-command-spatial .detail-block,
body.wmc-command-spatial .spatial-metrics-shell,
body.wmc-command-spatial .command-deck-panel,
body.wmc-command-spatial .command-sidebar,
body.wmc-command-spatial .command-action-rail > *{
  animation:spatialLift .55s ease both;
}
body.wmc-command-spatial .command-deck-panel{animation-delay:.03s}
body.wmc-command-spatial .workspace-grid{animation:spatialLift .55s ease .08s both}
@keyframes spatialLift{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion: reduce){
  body.wmc-command-spatial .panel-card,
  body.wmc-command-spatial .detail-block,
  body.wmc-command-spatial .spatial-metrics-shell,
  body.wmc-command-spatial .command-deck-panel,
  body.wmc-command-spatial .command-sidebar,
  body.wmc-command-spatial .command-action-rail > *,
  body.wmc-command-spatial .workspace-grid{
    animation:none!important;
  }
}
@media (max-width:1480px){
  body.wmc-command-spatial .workspace-grid{
    grid-template-columns:minmax(290px,.78fr) minmax(580px,1.45fr);
  }
  body.wmc-command-spatial .command-action-rail{
    position:relative;
    top:auto;
    grid-column:1/-1;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:1280px){
  body.wmc-command-spatial .spatial-overview-grid,
  body.wmc-command-spatial .workspace-grid{
    grid-template-columns:1fr;
  }
  body.wmc-command-spatial .command-action-rail{
    grid-template-columns:1fr;
  }
  body.wmc-command-spatial .queue-panel{
    position:relative;
    top:auto;
  }
  body.wmc-command-spatial .mode1-pipeline-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.wmc-command-spatial .mode1-stage-card:not(:last-child)::after{
    display:none;
  }
}
@media (max-width:1120px){
  body.wmc-command-spatial .command-header-shell{
    grid-template-columns:1fr;
  }
  body.wmc-command-spatial .command-header-logo-card{
    max-width:420px;
  }
  body.wmc-command-spatial .platform-hero{
    grid-template-columns:1fr;
  }
  body.wmc-command-spatial .metric-grid,
  body.wmc-command-spatial .report-mode-grid,
  body.wmc-command-spatial .report-state-grid,
  body.wmc-command-spatial .ai-workflow-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:760px){
  body.wmc-command-spatial .app-main,
  body.wmc-command-spatial .app-footer,
  body.wmc-command-spatial .command-header-shell{
    width:calc(100% - 24px);
  }
  body.wmc-command-spatial .mode1-pipeline-grid{
    grid-template-columns:1fr;
  }
  body.wmc-command-spatial .spatial-metrics-shell,
  body.wmc-command-spatial .command-deck-panel,
  body.wmc-command-spatial .command-sidebar,
  body.wmc-command-spatial .detail-panel,
  body.wmc-command-spatial .queue-panel,
  body.wmc-command-spatial .spatial-next-action-card,
  body.wmc-command-spatial .rail-insight-card{
    border-radius:24px;
  }
}

/* =======================================================================
   WMC ORIGINAL INDEPENDENT COMMAND WORKSPACE V8
   Desktop dashboard behaves like separate software panels instead of one
   long webpage. Header, sidebar, queue, report canvas, and action rail are
   independently controlled. Mobile/tablet remain normal scroll pages.
   ======================================================================= */
@media (min-width:1281px){
  body.wmc-command-spatial.dashboard-active{
    height:100vh;
    min-height:100vh;
    overflow:hidden;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
  }
  body.wmc-command-spatial.dashboard-active .app-bg{
    position:fixed;
    inset:0;
  }
  body.wmc-command-spatial.dashboard-active .app-header{
    position:relative;
    z-index:30;
    flex:none;
  }
  body.wmc-command-spatial.dashboard-active .app-main{
    width:min(1640px,calc(100% - 42px));
    height:100%;
    min-height:0;
    overflow:hidden;
    padding:18px 0 18px;
  }
  body.wmc-command-spatial.dashboard-active .dashboard-shell{
    height:100%;
    min-height:0;
    overflow:hidden;
  }
  body.wmc-command-spatial.dashboard-active .command-layout{
    height:100%;
    min-height:0;
    overflow:hidden;
    align-items:stretch;
  }
  body.wmc-command-spatial.dashboard-active .command-sidebar{
    position:relative;
    top:auto;
    height:100%;
    min-height:0;
    max-height:100%;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
  body.wmc-command-spatial.dashboard-active .spatial-command-main{
    display:flex;
    flex-direction:column;
    gap:16px;
    height:100%;
    min-height:0;
    overflow:hidden;
  }
  body.wmc-command-spatial.dashboard-active .spatial-overview-grid,
  body.wmc-command-spatial.dashboard-active .command-deck-panel{
    flex:none;
  }
  body.wmc-command-spatial.dashboard-active .spatial-overview-grid{
    grid-template-columns:minmax(520px,1.18fr) minmax(360px,.82fr);
  }
  body.wmc-command-spatial.dashboard-active .platform-hero{
    padding:22px 24px;
  }
  body.wmc-command-spatial.dashboard-active .command-deck-panel{
    padding:18px;
  }
  body.wmc-command-spatial.dashboard-active .mode1-pipeline-head > div:first-child{
    padding:14px 16px;
  }
  body.wmc-command-spatial.dashboard-active .mode1-stage-card{
    min-height:164px;
    padding:16px;
  }
  body.wmc-command-spatial.dashboard-active .workspace-grid{
    flex:1 1 auto;
    min-height:0;
    height:auto;
    overflow:hidden;
    align-items:stretch;
  }
  body.wmc-command-spatial.dashboard-active .queue-panel,
  body.wmc-command-spatial.dashboard-active .detail-panel,
  body.wmc-command-spatial.dashboard-active .command-action-rail{
    min-height:0;
    height:100%;
    max-height:100%;
  }
  body.wmc-command-spatial.dashboard-active .queue-panel{
    position:relative;
    top:auto;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  body.wmc-command-spatial.dashboard-active .queue-panel .panel-heading,
  body.wmc-command-spatial.dashboard-active .queue-panel .queue-controls{
    flex:none;
  }
  body.wmc-command-spatial.dashboard-active .queue-panel .job-list{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding-right:4px;
  }
  body.wmc-command-spatial.dashboard-active .detail-panel{
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  body.wmc-command-spatial.dashboard-active .empty-detail{
    min-height:0;
    flex:1 1 auto;
    overflow:auto;
  }
  body.wmc-command-spatial.dashboard-active #job-detail{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding-right:6px;
  }
  body.wmc-command-spatial.dashboard-active .command-action-rail{
    position:relative;
    top:auto;
    display:grid;
    grid-auto-rows:max-content;
    align-content:start;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding-right:4px;
  }
  body.wmc-command-spatial.dashboard-active .app-footer{
    display:none;
  }
}

/* Logo-card finish: the actual asset now carries the corrected black outer canvas.
   Keep the image untouched in layout—no crop, no inner tile, no forced backing plate. */
body.wmc-command-spatial .command-header-logo-card,
body.wmc-command-spatial .auth-logo-wrap.auth-logo-card{
  background:transparent!important;
  overflow:visible!important;
}
body.wmc-command-spatial .command-header-logo-card img,
body.wmc-command-spatial .auth-logo-wrap.auth-logo-card img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:0;
}


/* =======================================================================
   WMC RIGHT WORKSPACE REAL SCROLL SHELL V14
   Rebuilt from the last visually stable V8 package.
   Correct behavior:
   - left command rail scrolls independently
   - the entire right command workspace scrolls independently as one coherent area
   - the page no longer fractures the workbench into distorted locked panels
   - no visible gray scrollbar tracks in the dark interface
   ======================================================================= */
@media (min-width:1281px){
  body.wmc-command-spatial.dashboard-active{
    overflow:hidden !important;
  }

  body.wmc-command-spatial.dashboard-active .command-main,
  body.wmc-command-spatial.dashboard-active .spatial-command-main{
    min-width:0 !important;
  }

  body.wmc-command-spatial.dashboard-active .spatial-command-main{
    display:block !important;
    height:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain !important;
    touch-action:pan-y;
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
    padding-right:0 !important;
  }

  body.wmc-command-spatial.dashboard-active .spatial-command-main::-webkit-scrollbar,
  body.wmc-command-spatial.dashboard-active .command-sidebar::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
    background:transparent !important;
  }

  body.wmc-command-spatial.dashboard-active .spatial-command-main > * + *{
    margin-top:20px !important;
  }

  body.wmc-command-spatial.dashboard-active .workspace-grid{
    flex:none !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    align-items:start !important;
  }

  body.wmc-command-spatial.dashboard-active .queue-panel,
  body.wmc-command-spatial.dashboard-active .detail-panel,
  body.wmc-command-spatial.dashboard-active .command-action-rail{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  body.wmc-command-spatial.dashboard-active .queue-panel,
  body.wmc-command-spatial.dashboard-active .detail-panel,
  body.wmc-command-spatial.dashboard-active .command-action-rail,
  body.wmc-command-spatial.dashboard-active .queue-panel .job-list,
  body.wmc-command-spatial.dashboard-active #job-detail,
  body.wmc-command-spatial.dashboard-active .empty-detail{
    overflow:visible !important;
    max-height:none !important;
  }

  body.wmc-command-spatial.dashboard-active .command-action-rail{
    position:relative !important;
    top:auto !important;
    align-self:start !important;
  }
}

/* =======================================================================
   WMC MAIN WORKSPACE PRIORITY LAYOUT V15
   Purpose:
   - Main report/job intelligence panel becomes the dominant wide left workspace
   - Queue + next-action/review support cards stack together in one right column
   - Keeps the stable V14 scroll shell and avoids squeezing the report panel
   ======================================================================= */
@media (min-width:1281px){
  body.wmc-command-spatial.dashboard-active .workspace-grid{
    display:grid !important;
    grid-template-columns:minmax(760px,1fr) minmax(330px,392px) !important;
    gap:20px !important;
    align-items:start !important;
  }

  body.wmc-command-spatial.dashboard-active .detail-panel{
    grid-column:1 !important;
    grid-row:1 !important;
    min-width:0 !important;
    width:100% !important;
  }

  body.wmc-command-spatial.dashboard-active .support-rail-stack{
    grid-column:2 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:20px !important;
    align-content:start !important;
    min-width:0 !important;
    width:100% !important;
  }

  body.wmc-command-spatial.dashboard-active .support-rail-stack .queue-panel,
  body.wmc-command-spatial.dashboard-active .support-rail-stack .command-action-rail{
    width:100% !important;
    min-width:0 !important;
    position:relative !important;
    top:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  body.wmc-command-spatial.dashboard-active .support-rail-stack .queue-panel{
    order:1 !important;
  }

  body.wmc-command-spatial.dashboard-active .support-rail-stack .command-action-rail{
    order:2 !important;
    display:grid !important;
    gap:16px !important;
    align-content:start !important;
  }

  body.wmc-command-spatial.dashboard-active .support-rail-stack .queue-panel .job-list,
  body.wmc-command-spatial.dashboard-active .support-rail-stack .command-action-rail{
    overflow:visible !important;
    max-height:none !important;
  }
}

@media (max-width:1280px){
  body.wmc-command-spatial .support-rail-stack{
    display:grid;
    gap:20px;
  }
}

/* =======================================================================
   WMC EXACT WEBSITE BUSINESS-CARD FIT V17
   Use the untouched website card and crop it by the true rounded-card frame.
   This avoids the transparent-edge fringe visible in Safari on the dark app.
   ======================================================================= */
body.wmc-command-spatial .command-header-logo-card,
body.wmc-command-spatial .auth-logo-wrap.auth-logo-card{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:6% / 10.5% !important;
}
body.wmc-command-spatial .command-header-logo-card img,
body.wmc-command-spatial .auth-logo-wrap.auth-logo-card img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  border-radius:0 !important;
  background:transparent !important;
}

/* =======================================================================
   WMC EXACT WEBSITE LOGO CARD CLEAN MATTE V18
   Keep the app layout untouched. The asset itself now carries a true RGBA
   matte derived from the original website card, so the rounded card blends
   into the dark WMC app without white corner strips or Safari fringe.
   ======================================================================= */
body.wmc-command-spatial .command-header-logo-card,
body.wmc-command-spatial .auth-logo-wrap.auth-logo-card{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
  border-radius:0 !important;
}
body.wmc-command-spatial .command-header-logo-card img,
body.wmc-command-spatial .auth-logo-wrap.auth-logo-card img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
}

/* =======================================================================
   WMC MODE 1 WORKFLOW CLARITY ACTION FIX V19
   - right action panel always shows live feedback
   - Step 1 satellite card now generates the real core report
   - duplicate rebuild control stays hidden until a core report exists
   ======================================================================= */
.mode1-quick-status{
  margin-top:10px;
  min-height:0;
  font-size:.9rem;
  line-height:1.45;
}
.mode1-quick-status:empty{
  display:none;
}
.report-mode-card #start-satellite-report-button{
  min-width:220px;
}
.actual-draft-heading #generate-satellite-draft-button[hidden]{
  display:none!important;
}


/* =======================================================================
   WMC MODE 1 ACTION TRUTH / STEP STATE FIX V20
   - remove duplicate core-generation confusion after Step 1 exists
   - clearly label saved Step 1 state on reopened jobs
   - keep saved core result hidden until a real Step 1 exists
   ======================================================================= */
.mode-card-state{
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  color:var(--muted);
  font-size:.92rem;
  line-height:1.45;
  font-weight:700;
}
.mode-card-state.success{
  border-color:rgba(45,191,115,.42);
  background:rgba(45,191,115,.12);
  color:#e8fff3;
}
.mode-card-state.pending{
  border-color:rgba(245,122,32,.35);
  background:rgba(245,122,32,.10);
  color:#fff0df;
}
.mode-card-state.neutral{
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.045);
  color:var(--muted);
}
.actual-draft-heading[hidden],
#satellite-draft-preview[hidden],
#start-satellite-report-button[hidden]{
  display:none!important;
}

/* =======================================================================
   WMC MODE 1 TECHNICAL ROOF PLAN PRESENTATION V21
   Converts the noisy neon-style line model into a cleaner report-style
   architectural roof-plan view for internal WMC review.
   ======================================================================= */
.mode1-live-diagram-panel{
  min-height:460px;
  padding:16px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 18% 12%,rgba(245,122,32,.08),transparent 26%),
    radial-gradient(circle at 84% 82%,rgba(45,191,115,.08),transparent 34%),
    rgba(4,11,16,.84);
}
.mode1-plan-sheet-svg{
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.22));
}
.mode1-plan-paper{
  fill:#f4f0e7;
  stroke:#d8cfbd;
  stroke-width:2.4;
}
.mode1-plan-title{
  fill:#1c252b;
  font-size:29px;
  font-weight:800;
  letter-spacing:2.4px;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.mode1-plan-subtitle{
  fill:#5a666c;
  font-size:15px;
  font-weight:700;
  letter-spacing:1.55px;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.mode1-plan-body{
  transform:translateY(18px);
}
.mode1-plan-roof-fill{
  fill:rgba(183,176,163,.22);
  stroke:none;
}
.mode1-plan-perimeter{
  fill:none;
  stroke:#20292f;
  stroke-width:7.5;
  stroke-linecap:square;
  stroke-linejoin:miter;
}
.mode1-plan-feature{
  fill:none;
  stroke:#20292f;
  stroke-width:4.7;
  stroke-linecap:square;
  stroke-linejoin:miter;
}
.mode1-plan-feature.ridge{
  stroke:#20292f;
  stroke-width:5.1;
}
.mode1-plan-feature.hip{
  stroke:#303a40;
  stroke-width:4.6;
}
.mode1-plan-feature.valley{
  stroke:#303a40;
  stroke-width:4.4;
  stroke-dasharray:13 8;
}
.mode1-plan-feature.eave,
.mode1-plan-feature.rake{
  stroke:#556168;
  stroke-width:3.8;
}
.mode1-plan-feature.guide{
  stroke:#7f898f;
  stroke-width:3.4;
  stroke-dasharray:8 8;
}
.mode1-line-diagram-card .mode1-line-table-panel{
  border-color:rgba(255,255,255,.10);
}
@media (max-width:720px){
  .mode1-live-diagram-panel{min-height:280px}
  .mode1-plan-title{font-size:20px}
  .mode1-plan-subtitle{font-size:11px}
}

/* =======================================================================
   WMC MODE 1 PRECISION ROOF PLAN + 3D ROOF FORM V22
   - true light architectural plan sheet overrides the older dark diagram
   - adds the first pitch-aware Mode 1 3D roof-form preview foundation
   ======================================================================= */
.mode1-plan-sheet-svg .mode1-plan-paper{
  fill:#fbf7ee!important;
  stroke:#cfc5b3!important;
  stroke-width:2.8!important;
}
.mode1-plan-sheet-svg .mode1-plan-roof-fill{
  fill:#eee7da!important;
  stroke:none!important;
}
.mode1-plan-sheet-svg .mode1-plan-perimeter{
  fill:none!important;
  stroke:#172027!important;
  stroke-width:6.8!important;
  stroke-linecap:square!important;
  stroke-linejoin:miter!important;
}
.mode1-plan-sheet-svg .mode1-plan-feature{
  fill:none!important;
  stroke:#202a31!important;
  stroke-width:4.1!important;
  stroke-linecap:square!important;
  stroke-linejoin:miter!important;
}
.mode1-plan-sheet-svg .mode1-plan-feature.ridge{stroke:#172027!important;stroke-width:4.8!important}
.mode1-plan-sheet-svg .mode1-plan-feature.hip{stroke:#313b42!important;stroke-width:4.2!important}
.mode1-plan-sheet-svg .mode1-plan-feature.valley{stroke:#313b42!important;stroke-width:4.2!important;stroke-dasharray:11 8!important}
.mode1-plan-sheet-svg .mode1-plan-feature.eave,
.mode1-plan-sheet-svg .mode1-plan-feature.rake{stroke:#59656d!important;stroke-width:3.5!important}
.mode1-plan-sheet-svg .mode1-plan-feature.guide{stroke:#7f898f!important;stroke-width:3.2!important;stroke-dasharray:8 7!important}
.mode1-report-sheet-diagram,
.mode1-live-diagram-panel{
  background:
    radial-gradient(circle at 18% 14%,rgba(245,122,32,.06),transparent 26%),
    radial-gradient(circle at 84% 84%,rgba(45,191,115,.06),transparent 32%),
    rgba(5,12,18,.82)!important;
}
.mode1-line-visual-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:18px;
  align-items:stretch;
}
.mode1-roof-form-panel,
.mode1-report-sheet-roof-form{
  min-width:0;
}
.mode1-roof-form-panel{
  display:grid;
  align-content:start;
  gap:10px;
  min-height:460px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(145deg,rgba(45,191,115,.08),rgba(245,122,32,.08)),
    rgba(5,12,18,.84);
}
.mode1-roof-form-panel h6{
  margin:0 0 6px;
  font-size:1.16rem;
}
.mode1-roof-form-svg{
  width:100%;
  height:auto;
  display:block;
  margin-top:4px;
  filter:drop-shadow(0 24px 30px rgba(0,0,0,.22));
}
.mode1-roof-form-bg{
  fill:#0b141b;
  stroke:rgba(255,255,255,.14);
  stroke-width:2.2;
}
.mode1-roof-form-title{
  fill:#fffaf0;
  font-size:28px;
  font-weight:900;
  letter-spacing:2px;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.mode1-roof-form-subtitle{
  fill:#cdd7dd;
  font-size:15px;
  font-weight:700;
  letter-spacing:1.1px;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.mode1-roof-form-base{
  fill:rgba(245,122,32,.12);
  stroke:rgba(245,122,32,.44);
  stroke-width:4.2;
  stroke-linejoin:miter;
}
.mode1-roof-form-side{
  fill:url(#wmcRoofSideGradientV22);
  opacity:.42;
  stroke:rgba(255,255,255,.08);
  stroke-width:1.8;
  stroke-linejoin:miter;
}
.mode1-roof-form-side-edge{
  fill:none;
  stroke:rgba(255,255,255,.20);
  stroke-width:2.4;
  stroke-linecap:square;
}
.mode1-roof-form-top{
  fill:url(#wmcRoofTopGradientV22);
  stroke:#171f25;
  stroke-width:5.4;
  stroke-linejoin:miter;
}
.mode1-roof-form-feature{
  fill:none;
  stroke:#192229;
  stroke-width:4.1;
  stroke-linecap:square;
  stroke-linejoin:miter;
}
.mode1-roof-form-feature.ridge{stroke:#111a20;stroke-width:5.1}
.mode1-roof-form-feature.hip{stroke:#37434a;stroke-width:4.2}
.mode1-roof-form-feature.valley{stroke:#37434a;stroke-width:4.2;stroke-dasharray:10 7}
.mode1-roof-form-feature.eave,
.mode1-roof-form-feature.rake{stroke:#617079;stroke-width:3.6}
.mode1-roof-form-feature.guide{stroke:#7c8991;stroke-width:3.1;stroke-dasharray:8 7}
.mode1-line-summary-panel{
  margin-top:0;
}
.mode1-report-visual-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
}
.mode1-report-sheet-roof-form{
  margin-top:12px;
  min-height:360px;
  padding:12px;
  border-radius:20px;
  border:1px solid var(--line);
  background:rgba(2,7,12,.72);
}
.mode1-report-sheet-roof-form .mode1-roof-form-svg{
  width:100%;
  height:auto;
}
.report-sheet-line-summary-wide{
  overflow-x:auto;
}
@media (max-width:1180px){
  .mode1-line-visual-grid,
  .mode1-report-visual-grid{
    grid-template-columns:1fr!important;
  }
  .mode1-roof-form-panel{
    min-height:360px;
  }
}
@media (max-width:720px){
  .mode1-roof-form-panel{
    min-height:280px;
  }
  .mode1-report-sheet-roof-form{
    min-height:240px;
  }
  .mode1-roof-form-title{font-size:21px}
  .mode1-roof-form-subtitle{font-size:11px}
}


/* =======================================================================
   WMC MODE 1 FACETED ARCHITECTURAL PLAN + 3D ROOF GEOMETRY V23
   ======================================================================= */
.mode1-plan-roof-fill{fill:none!important;stroke:none!important;opacity:0!important}
.mode1-plan-facet{
  stroke:#111827;
  stroke-width:2.4;
  stroke-linejoin:miter;
  vector-effect:non-scaling-stroke;
}
.mode1-plan-facet.tone-1{fill:#fdfbf5}
.mode1-plan-facet.tone-2{fill:#f4efe3}
.mode1-plan-facet.tone-3{fill:#ede5d6}
.mode1-plan-facet.tone-4{fill:#f8f3e9}
.mode1-plan-facet.tone-5{fill:#e8deca}
.mode1-plan-feature.ridge{stroke:#111827!important;stroke-width:3.4!important}
.mode1-plan-feature.hip{stroke:#26313a!important;stroke-width:2.8!important}
.mode1-plan-feature.valley{stroke:#26313a!important;stroke-width:2.8!important;stroke-dasharray:none!important}
.mode1-plan-feature.eave,
.mode1-plan-feature.rake{stroke:#5a6470!important;stroke-width:2.5!important}
.mode1-plan-feature.guide{stroke:#7d8790!important;stroke-width:2.1!important;stroke-dasharray:5 5!important}
.mode1-faceted-roof-form-svg .mode1-roof-form-shell{
  fill:url(#wmcRoofSideGradientV23);
  opacity:.42;
  stroke:rgba(255,255,255,.09);
  stroke-width:1.8;
  stroke-linejoin:miter;
}
.mode1-roof-form-facet{
  stroke:#161e24;
  stroke-width:4.2;
  stroke-linejoin:miter;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.16));
}
.mode1-roof-form-facet.tone-1{fill:#fffdf6}
.mode1-roof-form-facet.tone-2{fill:#eee4d3}
.mode1-roof-form-facet.tone-3{fill:#e3d6bf}
.mode1-roof-form-facet.tone-4{fill:#f6efdf}
.mode1-roof-form-facet.tone-5{fill:#d7c8af}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.ridge{stroke:#111820;stroke-width:5.2}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.hip{stroke:#26313a;stroke-width:4.4}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.valley{stroke:#26313a;stroke-width:4.4;stroke-dasharray:none}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.eave,
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.rake{stroke:#55626b;stroke-width:3.5}
.mode1-line-visual-grid{grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr)}
.mode1-roof-form-panel{min-height:520px}
@media (max-width:1280px){.mode1-line-visual-grid{grid-template-columns:1fr}.mode1-roof-form-panel{min-height:420px}}

/* =======================================================================
   WMC MODE 1 ARCHITECTURAL PLAN + SOLID 3D ROOF FORM V24
   - cleaner report plan focused on structural roof lines
   - stronger roof massing with visible outer wall faces and deeper pitch
   ======================================================================= */
.mode1-line-visual-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(460px,1fr)!important;
  gap:22px!important;
}
.mode1-live-diagram-panel,
.mode1-roof-form-panel{
  min-height:590px!important;
}
.mode1-plan-sheet-svg .mode1-plan-title{
  font-size:25px!important;
  letter-spacing:2.1px!important;
}
.mode1-plan-sheet-svg .mode1-plan-subtitle{
  font-size:13px!important;
}
.mode1-plan-sheet-svg .mode1-plan-perimeter{
  stroke-width:5.8!important;
}
.mode1-plan-sheet-svg .mode1-plan-feature.ridge{
  stroke:#111827!important;
  stroke-width:4.4!important;
}
.mode1-plan-sheet-svg .mode1-plan-feature.hip{
  stroke:#1f2933!important;
  stroke-width:3.9!important;
}
.mode1-plan-sheet-svg .mode1-plan-feature.valley{
  stroke:#1f2933!important;
  stroke-width:3.9!important;
  stroke-dasharray:none!important;
}
.mode1-plan-sheet-svg .mode1-plan-feature.eave,
.mode1-plan-sheet-svg .mode1-plan-feature.rake,
.mode1-plan-sheet-svg .mode1-plan-feature.guide{
  display:none!important;
}
.mode1-roof-form-svg{
  min-height:420px;
}
.mode1-roof-form-ground-shadow{
  fill:rgba(0,0,0,.34);
  stroke:none;
  transform:translate(18px,20px);
  filter:blur(4px);
}
.mode1-roof-form-side-face{
  stroke:rgba(255,255,255,.10);
  stroke-width:1.6;
  stroke-linejoin:miter;
}
.mode1-roof-form-side-face.tone-1{fill:rgba(58,68,74,.88)}
.mode1-roof-form-side-face.tone-2{fill:rgba(43,52,59,.92)}
.mode1-roof-form-side-face.tone-3{fill:rgba(70,79,84,.82)}
.mode1-faceted-roof-form-svg .mode1-roof-form-shell{
  fill:rgba(241,232,214,.26)!important;
  opacity:1!important;
  stroke:rgba(255,255,255,.14)!important;
  stroke-width:2.2!important;
}
.mode1-roof-form-base{
  fill:rgba(245,122,32,.08)!important;
  stroke:rgba(245,122,32,.28)!important;
  stroke-width:3.2!important;
}
.mode1-roof-form-side-edge{
  stroke:rgba(255,255,255,.28)!important;
  stroke-width:2.6!important;
}
.mode1-roof-form-facet{
  stroke:#121b22!important;
  stroke-width:4.4!important;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.18));
}
.mode1-roof-form-facet.tone-1{fill:#fff9ec!important}
.mode1-roof-form-facet.tone-2{fill:#ead8bf!important}
.mode1-roof-form-facet.tone-3{fill:#d9c39d!important}
.mode1-roof-form-facet.tone-4{fill:#f3e6cf!important}
.mode1-roof-form-facet.tone-5{fill:#ccb38c!important}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.ridge{
  stroke:#0e161c!important;
  stroke-width:5.2!important;
}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.hip{
  stroke:#25323a!important;
  stroke-width:4.4!important;
}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.valley{
  stroke:#25323a!important;
  stroke-width:4.4!important;
  stroke-dasharray:none!important;
}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.eave,
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.rake,
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.guide{
  display:none!important;
}
.mode1-roof-form-title{
  font-size:26px!important;
}
.mode1-roof-form-subtitle{
  font-size:14px!important;
}
@media (max-width:1280px){
  .mode1-line-visual-grid{grid-template-columns:1fr!important}
  .mode1-live-diagram-panel,
  .mode1-roof-form-panel{min-height:440px!important}
}


/* =======================================================================
   WMC MODE 1 GEOMETRY REVIEW DECK V25
   - plane labels in the architectural plan
   - stronger presentation sheet / footer legend
   - deeper 3D roof-form visual polish
   ======================================================================= */
.mode1-line-visual-grid{
  grid-template-columns:minmax(0,1.14fr) minmax(500px,1fr)!important;
  gap:24px!important;
}
.mode1-live-diagram-panel,
.mode1-roof-form-panel{
  min-height:640px!important;
}
.mode1-plan-sheet-svg .mode1-plan-paper{
  filter:drop-shadow(0 20px 28px rgba(0,0,0,.18));
}
.mode1-plan-sheet-svg .mode1-plan-title{
  font-size:28px!important;
  letter-spacing:2.4px!important;
}
.mode1-plan-sheet-svg .mode1-plan-subtitle{
  font-size:13.5px!important;
}
.mode1-plan-plane-marker rect{
  fill:#111a20;
  stroke:#d2b37b;
  stroke-width:2.2;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.20));
}
.mode1-plan-plane-marker text{
  font-size:14px;
  font-weight:800;
  fill:#fff8e8;
  text-anchor:middle;
  letter-spacing:.4px;
}
.mode1-plan-legend rect{
  fill:rgba(17,24,30,.90);
  stroke:rgba(210,179,123,.70);
  stroke-width:2;
}
.mode1-plan-legend text{
  font-size:16px;
  font-weight:700;
  fill:#fff7e6;
  letter-spacing:.35px;
}
.mode1-roof-form-svg{
  min-height:480px!important;
}
.mode1-roof-form-ground-shadow{
  transform:translate(22px,28px)!important;
  filter:blur(7px)!important;
  opacity:.92;
}
.mode1-roof-form-side-face.tone-1{fill:rgba(62,72,79,.94)!important}
.mode1-roof-form-side-face.tone-2{fill:rgba(44,55,63,.96)!important}
.mode1-roof-form-side-face.tone-3{fill:rgba(78,86,91,.88)!important}
.mode1-faceted-roof-form-svg .mode1-roof-form-shell{
  fill:rgba(246,236,216,.34)!important;
}
.mode1-roof-form-facet{
  stroke:#10171d!important;
  stroke-width:5!important;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.22));
}
.mode1-roof-form-facet.tone-1{fill:#fffaf0!important}
.mode1-roof-form-facet.tone-2{fill:#ead7bb!important}
.mode1-roof-form-facet.tone-3{fill:#d7bf96!important}
.mode1-roof-form-facet.tone-4{fill:#f3e3c9!important}
.mode1-roof-form-facet.tone-5{fill:#cdb089!important}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.ridge{
  stroke:#0b1217!important;
  stroke-width:6.1!important;
}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.hip,
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.valley{
  stroke:#1f2a31!important;
  stroke-width:5.1!important;
}
.mode1-roof-form-title{
  font-size:28px!important;
  letter-spacing:1.35px!important;
}
.mode1-roof-form-subtitle{
  font-size:15px!important;
}
@media (max-width:1280px){
  .mode1-line-visual-grid{grid-template-columns:1fr!important}
  .mode1-live-diagram-panel,
  .mode1-roof-form-panel{min-height:500px!important}
}


/* =======================================================================
   WMC MODE 1 ROOF GEOMETRY REVIEW POLISH V26
   - stronger 3D facet legibility
   - 3D plane markers and compass reference
   - cleaner premium geometry deck presentation
   ======================================================================= */
.mode1-line-visual-grid{
  grid-template-columns:minmax(0,1.16fr) minmax(540px,1fr)!important;
  gap:26px!important;
}
.mode1-live-diagram-panel,
.mode1-roof-form-panel{
  min-height:680px!important;
}
.mode1-live-diagram-panel svg,
.mode1-roof-form-panel svg{
  width:100%;
  height:auto;
}
.mode1-roof-form-svg{
  min-height:540px!important;
}
.mode1-faceted-roof-form-svg .mode1-roof-form-bg{
  fill:rgba(9,18,25,.98)!important;
}
.mode1-roof-form-facet{
  stroke:#0d1419!important;
  stroke-width:5.6!important;
  filter:drop-shadow(0 16px 18px rgba(0,0,0,.24));
}
.mode1-roof-form-facet.tone-1{fill:#fff8e8!important}
.mode1-roof-form-facet.tone-2{fill:#ecd8b8!important}
.mode1-roof-form-facet.tone-3{fill:#d3bb92!important}
.mode1-roof-form-facet.tone-4{fill:#f6e6cb!important}
.mode1-roof-form-facet.tone-5{fill:#c7aa7e!important}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.ridge{
  stroke:#0a1014!important;
  stroke-width:6.8!important;
}
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.hip,
.mode1-faceted-roof-form-svg .mode1-roof-form-feature.valley{
  stroke:#1a252c!important;
  stroke-width:5.6!important;
}
.mode1-roof-form-plane-marker circle{
  fill:rgba(12,20,26,.96);
  stroke:#d9bd86;
  stroke-width:2.2;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.22));
}
.mode1-roof-form-plane-marker text{
  fill:#fff7e8;
  font-size:15px;
  font-weight:800;
  text-anchor:middle;
  letter-spacing:.42px;
}
.mode1-roof-form-compass circle{
  fill:rgba(12,20,26,.82);
  stroke:rgba(217,189,134,.88);
  stroke-width:2;
}
.mode1-roof-form-compass path{
  fill:#f57a20;
  stroke:#fff2dc;
  stroke-width:1.4;
}
.mode1-roof-form-compass text{
  fill:#fff7e8;
  font-size:17px;
  font-weight:900;
  text-anchor:middle;
  letter-spacing:.8px;
}
.mode1-line-summary-panel,
.mode1-line-table-panel{
  border-radius:28px!important;
}
@media (max-width:1280px){
  .mode1-line-visual-grid{grid-template-columns:1fr!important}
  .mode1-live-diagram-panel,
  .mode1-roof-form-panel{min-height:520px!important}
}

/* =======================================================================
   WMC MODE 1 CONTRACTOR MEASUREMENT MATRIX V27
   - brings Hover-style count + length clarity into the private WMC deck
   - preserves WMC's own visual language and review-gated workflow
   ======================================================================= */
.mode1-measurement-matrix-panel,
.report-sheet-measurement-matrix-wide{
  border:1px solid rgba(217,189,134,.28)!important;
  background:
    linear-gradient(145deg,rgba(245,122,32,.08),rgba(45,191,115,.05)),
    rgba(8,18,25,.96)!important;
}
.mode1-measurement-matrix-table{
  table-layout:fixed;
}
.mode1-measurement-matrix-table th:nth-child(1),
.mode1-measurement-matrix-table td:nth-child(1){
  width:58%;
}
.mode1-measurement-matrix-table th:nth-child(2),
.mode1-measurement-matrix-table td:nth-child(2){
  width:18%;
  text-align:center;
}
.mode1-measurement-matrix-table th:nth-child(3),
.mode1-measurement-matrix-table td:nth-child(3){
  width:24%;
  text-align:right;
}
.mode1-measurement-matrix-table td strong{
  display:block;
  font-size:1rem;
  line-height:1.14;
  color:#fff7e8;
}
.mode1-measurement-matrix-table td small{
  display:block;
  margin-top:4px;
  color:rgba(239,232,218,.72);
  font-size:.78rem;
  line-height:1.2;
}
.mode1-measurement-matrix-table td:nth-child(2),
.mode1-measurement-matrix-table td:nth-child(3){
  font-weight:800;
  color:#fff2dc;
}
.report-sheet-matrix-table{
  margin-top:14px;
}
@media (max-width:940px){
  .mode1-measurement-matrix-table{
    table-layout:auto;
  }
  .mode1-measurement-matrix-table th:nth-child(1),
  .mode1-measurement-matrix-table td:nth-child(1),
  .mode1-measurement-matrix-table th:nth-child(2),
  .mode1-measurement-matrix-table td:nth-child(2),
  .mode1-measurement-matrix-table th:nth-child(3),
  .mode1-measurement-matrix-table td:nth-child(3){
    width:auto;
  }
}

/* =======================================================================
   WMC MODE 1 CONTRACTOR TAKEOFF READINESS V28
   - converts current modeled roof area + line geometry into a contractor
     planning layer without pretending to be a final order sheet
   ======================================================================= */
.mode1-takeoff-readiness-panel,
.report-sheet-takeoff-readiness-wide{
  border:1px solid rgba(245,122,32,.30)!important;
  background:
    linear-gradient(145deg,rgba(245,122,32,.10),rgba(45,191,115,.05)),
    rgba(8,18,25,.97)!important;
}
.mode1-takeoff-readiness-table{
  table-layout:fixed;
}
.mode1-takeoff-readiness-table th:nth-child(1),
.mode1-takeoff-readiness-table td:nth-child(1){
  width:58%;
}
.mode1-takeoff-readiness-table th:nth-child(2),
.mode1-takeoff-readiness-table td:nth-child(2),
.mode1-takeoff-readiness-table th:nth-child(3),
.mode1-takeoff-readiness-table td:nth-child(3){
  width:21%;
  text-align:right;
  font-weight:800;
  color:#fff2dc;
}
.mode1-takeoff-readiness-table td strong{
  display:block;
  color:#fff7e8;
  font-size:1rem;
  line-height:1.14;
}
.mode1-takeoff-readiness-table td small{
  display:block;
  margin-top:4px;
  color:rgba(239,232,218,.72);
  font-size:.78rem;
  line-height:1.2;
  font-weight:500;
}
.mode1-takeoff-readiness-note{
  margin:14px 0 0;
  color:rgba(239,232,218,.78);
  font-size:.88rem;
  line-height:1.45;
}
.report-sheet-takeoff-table{
  margin-top:14px;
}
@media (max-width:940px){
  .mode1-takeoff-readiness-table{table-layout:auto}
  .mode1-takeoff-readiness-table th:nth-child(1),
  .mode1-takeoff-readiness-table td:nth-child(1),
  .mode1-takeoff-readiness-table th:nth-child(2),
  .mode1-takeoff-readiness-table td:nth-child(2),
  .mode1-takeoff-readiness-table th:nth-child(3),
  .mode1-takeoff-readiness-table td:nth-child(3){
    width:auto;
  }
}

/* =======================================================================
   WMC MODE 1 REPORT CONTROL BOARD V30
   - one compact readiness + metrics layer for live geometry and report sheet
   ======================================================================= */
.mode1-report-control-board,
.report-sheet-control-board-wide{
  border:1px solid rgba(217,189,134,.30)!important;
  background:
    linear-gradient(145deg,rgba(245,122,32,.08),rgba(45,191,115,.06)),
    rgba(8,18,25,.97)!important;
}
.mode1-report-control-board h6{
  margin:0 0 16px;
  font-size:1.08rem;
}
.mode1-report-control-stages{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.mode1-report-control-stage{
  min-height:78px;
  display:grid;
  align-content:center;
  gap:5px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
}
.mode1-report-control-stage span,
.mode1-report-control-metrics span{
  color:rgba(239,232,218,.72);
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.mode1-report-control-stage strong{
  font-size:1rem;
  color:#fff7e8;
}
.mode1-report-control-stage.complete{
  border-color:rgba(45,191,115,.48);
  background:rgba(45,191,115,.12);
}
.mode1-report-control-stage.pending{
  border-color:rgba(245,122,32,.34);
  background:rgba(245,122,32,.08);
}
.mode1-report-control-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.mode1-report-control-metrics > div{
  min-height:80px;
  display:grid;
  align-content:center;
  gap:5px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
}
.mode1-report-control-metrics strong{
  font-size:1.06rem;
  line-height:1.18;
  color:#fff7e8;
}
@media (max-width:1280px){
  .mode1-report-control-stages,
  .mode1-report-control-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .mode1-report-control-stages,
  .mode1-report-control-metrics{
    grid-template-columns:1fr;
  }
}

/* =======================================================================
   WMC MODE 1 2D PRECISION ROOF PLAN PRIORITY V31
   - removes the weak 3D roofing card from visible roofing output
   - makes the 2D precision plan the hero contractor visual
   - pushes the drawing toward a cleaner plan-sheet presentation
   ======================================================================= */
.mode1-precision-plan-only-grid,
.mode1-report-plan-only-grid{
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
}
.mode1-plan-hero-panel,
.mode1-report-plan-hero-panel{
  width:100%;
  min-height:760px!important;
  padding:26px!important;
}
.mode1-plan-hero-panel h6,
.mode1-report-plan-hero-panel h6{
  max-width:900px;
  font-size:clamp(1.25rem,1.55vw,1.72rem)!important;
  line-height:1.18!important;
}
.mode1-live-diagram-panel.mode1-plan-hero-panel svg,
.mode1-report-plan-hero-panel .mode1-report-sheet-diagram svg{
  width:100%;
  min-height:640px!important;
  height:auto!important;
}
.mode1-plan-sheet-svg .mode1-plan-paper{
  fill:#fffdf8!important;
  stroke:#c9c0af!important;
  stroke-width:2.4!important;
}
.mode1-plan-sheet-svg .mode1-plan-title{
  fill:#121a21!important;
  font-size:28px!important;
  letter-spacing:2px!important;
}
.mode1-plan-sheet-svg .mode1-plan-subtitle{
  fill:#46515a!important;
  font-size:13px!important;
  letter-spacing:1.15px!important;
}
.mode1-plan-roof-fill{
  fill:none!important;
  stroke:none!important;
  opacity:0!important;
}
.mode1-plan-facet{
  stroke:rgba(17,24,30,.18)!important;
  stroke-width:1.8!important;
  fill:#fffdf8!important;
}
.mode1-plan-facet.tone-1,
.mode1-plan-facet.tone-2,
.mode1-plan-facet.tone-3,
.mode1-plan-facet.tone-4,
.mode1-plan-facet.tone-5{
  fill:#fffdf8!important;
}
.mode1-plan-sheet-svg .mode1-plan-perimeter{
  fill:none!important;
  stroke:#151c22!important;
  stroke-width:5!important;
  stroke-linejoin:round!important;
  stroke-linecap:round!important;
}
.mode1-plan-sheet-svg .mode1-plan-feature.ridge,
.mode1-plan-sheet-svg .mode1-plan-feature.hip,
.mode1-plan-sheet-svg .mode1-plan-feature.valley{
  stroke:#151c22!important;
  stroke-width:3.5!important;
  stroke-dasharray:none!important;
  stroke-linejoin:round!important;
  stroke-linecap:round!important;
}
.mode1-plan-sheet-svg .mode1-plan-feature.eave,
.mode1-plan-sheet-svg .mode1-plan-feature.rake,
.mode1-plan-sheet-svg .mode1-plan-feature.guide{
  display:none!important;
}
.mode1-plan-plane-marker{
  display:none!important;
}
.mode1-plan-legend rect{
  fill:#fffdf8!important;
  stroke:#c9c0af!important;
  stroke-width:1.8!important;
}
.mode1-plan-legend text{
  fill:#2a3238!important;
  font-size:15px!important;
  font-weight:700!important;
  letter-spacing:.3px!important;
}
.mode1-roof-form-panel,
.mode1-report-sheet-panel.roof-form-panel{
  display:none!important;
}
@media (max-width:1280px){
  .mode1-plan-hero-panel,
  .mode1-report-plan-hero-panel{
    min-height:560px!important;
    padding:20px!important;
  }
  .mode1-live-diagram-panel.mode1-plan-hero-panel svg,
  .mode1-report-plan-hero-panel .mode1-report-sheet-diagram svg{
    min-height:470px!important;
  }
}


/* =======================================================================
   WMC MODE 1 CONTRACTOR ROOF PLAN SHEET V32
   - converts the precision 2D plan into a full contractor-style roof sheet
   - measurement table + pitch table + plan drawing + waste table
   ======================================================================= */
.mode1-contractor-plan-sheet{
  display:grid;
  gap:18px;
  padding:24px!important;
  border-radius:30px!important;
}
.mode1-contractor-plan-sheet-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}
.mode1-contractor-plan-sheet-header h6{
  margin:4px 0 6px;
  font-size:clamp(1.28rem,1.75vw,1.92rem);
  line-height:1.16;
}
.mode1-contractor-plan-sheet-header p:not(.eyebrow){
  margin:0;
  color:var(--muted);
}
.mode1-contractor-plan-paper{
  display:grid;
  gap:18px;
  padding:22px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg,rgba(255,253,248,.985),rgba(249,246,239,.985));
  box-shadow:0 24px 72px rgba(0,0,0,.24);
}
.mode1-contractor-plan-grid{
  display:grid;
  grid-template-columns:minmax(360px,.84fr) minmax(520px,1.16fr);
  gap:18px;
  align-items:stretch;
}
.mode1-plan-sheet-summary{
  display:grid;
  gap:16px;
  align-content:start;
}
.mode1-plan-sheet-mini-panel,
.mode1-plan-sheet-drawing,
.mode1-plan-sheet-waste-panel,
.mode1-plan-sheet-flashing-panel{
  display:grid;
  gap:10px;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(22,29,35,.16);
  background:rgba(255,255,255,.82);
  color:#172028;
}
.mode1-plan-sheet-mini-panel .eyebrow,
.mode1-plan-sheet-drawing .eyebrow,
.mode1-plan-sheet-waste-panel .eyebrow,
.mode1-plan-sheet-flashing-panel .eyebrow{
  color:#945114;
}
.mode1-plan-sheet-drawing h6{
  margin:0;
  color:#111920;
  font-size:clamp(1.14rem,1.45vw,1.55rem);
  line-height:1.18;
}
.mode1-plan-sheet-drawing .mode1-live-diagram-svg{
  width:100%;
  min-height:520px!important;
  height:auto!important;
}
.mode1-plan-sheet-table{
  width:100%;
  border-collapse:collapse;
  color:#172028;
  font-size:.92rem;
}
.mode1-plan-sheet-table th,
.mode1-plan-sheet-table td{
  padding:10px 8px;
  border-bottom:1px solid rgba(22,29,35,.18);
  text-align:left;
  vertical-align:top;
}
.mode1-plan-sheet-table th{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#48535c;
}
.mode1-plan-sheet-table td:nth-child(n+2),
.mode1-plan-sheet-table th:nth-child(n+2){
  text-align:right;
}
.mode1-plan-sheet-measure-table th:nth-child(1),
.mode1-plan-sheet-measure-table td:nth-child(1){width:38%;text-align:left}
.mode1-plan-sheet-measure-table th:nth-child(2),
.mode1-plan-sheet-measure-table td:nth-child(2){width:22%}
.mode1-plan-sheet-measure-table th:nth-child(3),
.mode1-plan-sheet-measure-table td:nth-child(3){width:18%}
.mode1-plan-sheet-measure-table th:nth-child(4),
.mode1-plan-sheet-measure-table td:nth-child(4){width:22%}
.mode1-plan-sheet-pitch-table th:nth-child(1),
.mode1-plan-sheet-pitch-table td:nth-child(1){width:40%;text-align:left}
.mode1-plan-sheet-waste-panel{
  padding:18px 20px;
}
.mode1-plan-sheet-waste-table{
  table-layout:fixed;
}
.mode1-plan-sheet-waste-table th:first-child,
.mode1-plan-sheet-waste-table td:first-child{
  text-align:left;
}
.mode1-plan-sheet-waste-table th:not(:first-child),
.mode1-plan-sheet-waste-table td:not(:first-child){
  text-align:right;
}
.report-sheet-plan-sheet-wide{
  grid-column:1/-1;
}
.report-sheet-plan-sheet-wide .mode1-contractor-plan-paper{
  box-shadow:none;
}
@media (max-width:1280px){
  .mode1-contractor-plan-grid{
    grid-template-columns:1fr;
  }
  .mode1-plan-sheet-drawing .mode1-live-diagram-svg{
    min-height:460px!important;
  }
}
@media (max-width:760px){
  .mode1-contractor-plan-sheet{
    padding:18px!important;
  }
  .mode1-contractor-plan-sheet-header{
    flex-direction:column;
  }
  .mode1-contractor-plan-paper{
    padding:14px;
  }
  .mode1-plan-sheet-mini-panel,
  .mode1-plan-sheet-drawing,
  .mode1-plan-sheet-waste-panel,
  .mode1-plan-sheet-material-panel,
  .mode1-plan-sheet-flashing-panel{
    padding:14px;
  }
  .mode1-plan-sheet-table{
    font-size:.84rem;
  }
  .mode1-plan-sheet-table th,
  .mode1-plan-sheet-table td{
    padding:8px 5px;
  }
}

/* =======================================================================
   WMC MODE 1 CONTRACTOR ROOF PLAN TITLE BLOCK + PLAN KEY V33
   - moves the 2D contractor sheet closer to a formal report page
   - title block + compact sheet stats + clear plan key under the drawing
   ======================================================================= */
.mode1-plan-title-block{
  display:grid;
  grid-template-columns:minmax(280px,1.3fr) minmax(250px,.85fr);
  gap:16px 20px;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(22,29,35,.18);
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(247,243,233,.92));
  color:#172028;
}
.mode1-plan-title-copy{
  display:grid;
  align-content:start;
  gap:6px;
}
.mode1-plan-title-copy .eyebrow,
.mode1-plan-sheet-legend .eyebrow{
  color:#945114;
}
.mode1-plan-title-copy h6{
  margin:0;
  color:#111920;
  font-size:clamp(1.18rem,1.55vw,1.6rem);
  line-height:1.18;
}
.mode1-plan-title-copy p:not(.eyebrow){
  margin:0;
  color:#38434c;
}
.mode1-plan-title-meta{
  display:grid;
  gap:10px;
  align-content:start;
}
.mode1-plan-title-meta span{
  display:grid;
  gap:3px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(22,29,35,.12);
  background:rgba(255,255,255,.8);
  color:#172028;
}
.mode1-plan-title-meta strong{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#59636b;
}
.mode1-plan-sheet-stat-strip{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.mode1-plan-sheet-stat-strip span{
  display:grid;
  gap:5px;
  min-height:70px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(22,29,35,.14);
  background:rgba(255,255,255,.88);
}
.mode1-plan-sheet-stat-strip small{
  color:#59636b;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.mode1-plan-sheet-stat-strip strong{
  color:#111920;
  font-size:1rem;
  line-height:1.15;
}
.mode1-plan-sheet-legend{
  display:grid;
  gap:10px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(22,29,35,.16);
  background:rgba(255,255,255,.88);
  color:#172028;
}
.mode1-plan-sheet-legend-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.mode1-plan-sheet-legend-grid span{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:42px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(22,29,35,.12);
  background:rgba(255,255,255,.86);
  font-weight:700;
  line-height:1.16;
}
.plan-key{
  display:inline-block;
  width:28px;
  height:0;
  border-top:3px solid #1c2a31;
  flex:none;
}
.plan-key.perimeter{border-top-width:4px}
.plan-key.ridge{border-top-color:#29373e}
.plan-key.valley{border-top-color:#845621;border-top-style:dashed}
.plan-key.facet{
  width:22px;
  height:14px;
  border:1px solid rgba(22,29,35,.42);
  border-radius:4px;
  background:rgba(216,207,183,.48);
}
@media (max-width:1280px){
  .mode1-plan-title-block{
    grid-template-columns:1fr;
  }
  .mode1-plan-sheet-stat-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .mode1-plan-sheet-stat-strip,
  .mode1-plan-sheet-legend-grid{
    grid-template-columns:1fr;
  }
}


/* =======================================================================
   WMC MODE 1 CONTRACTOR ROOF PLAN MEASUREMENT CALLOUTS V34
   - line-length callouts annotate the architectural roof plan directly
   - keeps the plan readable while moving closer to a contractor report sheet
   ======================================================================= */
.mode1-plan-sheet-svg .mode1-plan-callout line{
  stroke:#59656d;
  stroke-width:2.1;
  stroke-dasharray:5 4;
  opacity:.86;
}
.mode1-plan-sheet-svg .mode1-plan-callout rect{
  fill:rgba(255,255,255,.97);
  stroke:#263039;
  stroke-width:1.8;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.16));
}
.mode1-plan-sheet-svg .mode1-plan-callout text{
  fill:#182027;
  font-size:12px;
  font-weight:900;
  text-anchor:middle;
  letter-spacing:.01em;
}
.mode1-plan-callout-strip{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border:1px solid rgba(23,32,39,.14);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(245,122,32,.08),rgba(45,191,115,.06)),#f7f4ee;
  color:#263039;
}
.mode1-plan-callout-strip span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#172027;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap;
}
.mode1-plan-callout-strip strong{
  font-size:.92rem;
  line-height:1.35;
}
@media (max-width:860px){
  .mode1-plan-callout-strip{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* =======================================================================
   WMC MODE 1 CONTRACTOR ROOF PLAN PITCH + EDGE LABELS V35
   - modeled pitch badges appear inside roof facet fields
   - selected eave/rake lengths annotate the plan without replacing the tables
   ======================================================================= */
.mode1-plan-sheet-svg .mode1-plan-pitch-badge rect{
  fill:rgba(23,32,39,.94);
  stroke:rgba(255,255,255,.96);
  stroke-width:1.8;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.18));
}
.mode1-plan-sheet-svg .mode1-plan-pitch-badge text{
  fill:#fff;
  font-size:12px;
  font-weight:900;
  text-anchor:middle;
  letter-spacing:.02em;
}
.mode1-plan-sheet-svg .mode1-plan-edge-callout line{
  stroke:#7a6850;
  stroke-width:2.1;
  stroke-dasharray:4 4;
  opacity:.9;
}
.mode1-plan-sheet-svg .mode1-plan-edge-callout rect{
  fill:rgba(255,248,235,.98);
  stroke:#6e5634;
  stroke-width:1.8;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.15));
}
.mode1-plan-sheet-svg .mode1-plan-edge-callout text{
  fill:#3e3020;
  font-size:12px;
  font-weight:900;
  text-anchor:middle;
  letter-spacing:.01em;
}


/* =======================================================================
   WMC MODE 1 CONTRACTOR FLASHING + STEP-FLASHING TAKEOFF V36
   - adds a dedicated flashing / drip-edge planning layer to the live plan sheet
   - carries the same planning layer into the printable Mode 1 report packet
   ======================================================================= */
.mode1-plan-sheet-flashing-panel{
  padding:18px 20px;
}
.mode1-plan-sheet-flashing-table th:nth-child(1),
.mode1-plan-sheet-flashing-table td:nth-child(1){
  width:42%;
  text-align:left;
}
.mode1-plan-sheet-flashing-table th:nth-child(2),
.mode1-plan-sheet-flashing-table td:nth-child(2){
  width:22%;
}
.mode1-plan-sheet-flashing-table th:nth-child(3),
.mode1-plan-sheet-flashing-table td:nth-child(3){
  width:36%;
  text-align:left;
}
.mode1-plan-sheet-flashing-table td strong,
.mode1-flashing-readiness-table td strong{
  display:block;
  color:inherit;
}
.mode1-plan-sheet-flashing-table td small,
.mode1-flashing-readiness-table td small{
  display:block;
  margin-top:4px;
  color:inherit;
  opacity:.78;
  line-height:1.36;
}
.mode1-flashing-readiness-panel,
.report-sheet-flashing-readiness-wide{
  grid-column:1/-1;
}
.mode1-flashing-readiness-table th:nth-child(1),
.mode1-flashing-readiness-table td:nth-child(1){
  width:42%;
}
.mode1-flashing-readiness-table th:nth-child(2),
.mode1-flashing-readiness-table td:nth-child(2){
  width:20%;
  text-align:right;
}
.mode1-flashing-readiness-table th:nth-child(3),
.mode1-flashing-readiness-table td:nth-child(3){
  width:38%;
}
@media (max-width:760px){
  .mode1-plan-sheet-flashing-panel{
    padding:14px;
  }
}

/* =======================================================================
   WMC MODE 1 CORE ROOF MATERIAL TAKEOFF BASIS V37
   - adds the simplified WMC contractor material board requested for Mode 1
   - shingles, ridge cap, starter, edge metal, blueskin/ice-water, underlayment
   ======================================================================= */
.mode1-plan-sheet-material-panel{
  display:grid;
  gap:10px;
  padding:18px 20px;
  border-radius:20px;
  border:1px solid rgba(22,29,35,.16);
  background:rgba(255,255,255,.82);
  color:#172028;
}
.mode1-plan-sheet-material-panel .eyebrow{color:#945114}
.mode1-plan-sheet-material-table th:nth-child(1),
.mode1-plan-sheet-material-table td:nth-child(1){width:34%;text-align:left}
.mode1-plan-sheet-material-table th:nth-child(2),
.mode1-plan-sheet-material-table td:nth-child(2){width:18%}
.mode1-plan-sheet-material-table th:nth-child(3),
.mode1-plan-sheet-material-table td:nth-child(3){width:22%}
.mode1-plan-sheet-material-table th:nth-child(4),
.mode1-plan-sheet-material-table td:nth-child(4){width:26%;text-align:left}
.mode1-plan-sheet-material-table td strong,
.mode1-material-readiness-table td strong{
  display:block;
  color:inherit;
}
.mode1-plan-sheet-material-table td small,
.mode1-material-readiness-table td small{
  display:block;
  margin-top:4px;
  color:inherit;
  opacity:.78;
  line-height:1.36;
}
.mode1-material-readiness-panel,
.report-sheet-material-readiness-wide{
  grid-column:1/-1;
  border:1px solid rgba(45,191,115,.30)!important;
  background:
    linear-gradient(145deg,rgba(45,191,115,.11),rgba(245,122,32,.06)),
    rgba(8,18,25,.97)!important;
}
.mode1-material-readiness-table{
  table-layout:fixed;
}
.mode1-material-readiness-table th:nth-child(1),
.mode1-material-readiness-table td:nth-child(1){width:36%}
.mode1-material-readiness-table th:nth-child(2),
.mode1-material-readiness-table td:nth-child(2){width:18%;text-align:right}
.mode1-material-readiness-table th:nth-child(3),
.mode1-material-readiness-table td:nth-child(3){width:22%;text-align:right}
.mode1-material-readiness-table th:nth-child(4),
.mode1-material-readiness-table td:nth-child(4){width:24%}
.report-sheet-material-table{margin-top:14px}
@media (max-width:940px){
  .mode1-material-readiness-table{table-layout:auto}
  .mode1-material-readiness-table th:nth-child(1),
  .mode1-material-readiness-table td:nth-child(1),
  .mode1-material-readiness-table th:nth-child(2),
  .mode1-material-readiness-table td:nth-child(2),
  .mode1-material-readiness-table th:nth-child(3),
  .mode1-material-readiness-table td:nth-child(3),
  .mode1-material-readiness-table th:nth-child(4),
  .mode1-material-readiness-table td:nth-child(4){width:auto}
}
@media (max-width:760px){
  .mode1-plan-sheet-material-panel{padding:14px}
}

/* =======================================================================
   WMC MODE 1 CONTRACTOR ORDER-PREP QUANTITY MATRIX V38
   - converts the current material basis into clearer order-prep lanes
   - keeps bundle, pack, stock-length, and roll conversions verification-gated
   ======================================================================= */
.mode1-plan-sheet-order-prep-panel{
  display:grid;
  gap:10px;
  padding:18px 20px;
  border-radius:20px;
  border:1px solid rgba(22,29,35,.16);
  background:rgba(255,255,255,.82);
  color:#172028;
}
.mode1-plan-sheet-order-prep-panel .eyebrow{color:#945114}
.mode1-plan-sheet-order-prep-table th:nth-child(1),
.mode1-plan-sheet-order-prep-table td:nth-child(1){width:30%;text-align:left}
.mode1-plan-sheet-order-prep-table th:nth-child(2),
.mode1-plan-sheet-order-prep-table td:nth-child(2){width:17%}
.mode1-plan-sheet-order-prep-table th:nth-child(3),
.mode1-plan-sheet-order-prep-table td:nth-child(3){width:23%}
.mode1-plan-sheet-order-prep-table th:nth-child(4),
.mode1-plan-sheet-order-prep-table td:nth-child(4){width:30%;text-align:left}
.mode1-plan-sheet-order-prep-table td strong,
.mode1-order-prep-table td strong{
  display:block;
  color:inherit;
}
.mode1-plan-sheet-order-prep-table td small,
.mode1-order-prep-table td small{
  display:block;
  margin-top:4px;
  color:inherit;
  opacity:.78;
  line-height:1.36;
}
.mode1-order-prep-panel,
.report-sheet-order-prep-wide{
  grid-column:1/-1;
  border:1px solid rgba(255,198,88,.30)!important;
  background:
    linear-gradient(145deg,rgba(255,198,88,.10),rgba(45,191,115,.05)),
    rgba(8,18,25,.97)!important;
}
.mode1-order-prep-table{
  table-layout:fixed;
}
.mode1-order-prep-table th:nth-child(1),
.mode1-order-prep-table td:nth-child(1){width:32%}
.mode1-order-prep-table th:nth-child(2),
.mode1-order-prep-table td:nth-child(2){width:16%;text-align:right}
.mode1-order-prep-table th:nth-child(3),
.mode1-order-prep-table td:nth-child(3){width:24%}
.mode1-order-prep-table th:nth-child(4),
.mode1-order-prep-table td:nth-child(4){width:28%}
.report-sheet-order-prep-table{margin-top:14px}
@media (max-width:940px){
  .mode1-order-prep-table{table-layout:auto}
  .mode1-order-prep-table th:nth-child(1),
  .mode1-order-prep-table td:nth-child(1),
  .mode1-order-prep-table th:nth-child(2),
  .mode1-order-prep-table td:nth-child(2),
  .mode1-order-prep-table th:nth-child(3),
  .mode1-order-prep-table td:nth-child(3),
  .mode1-order-prep-table th:nth-child(4),
  .mode1-order-prep-table td:nth-child(4){width:auto}
}
@media (max-width:760px){
  .mode1-plan-sheet-order-prep-panel{padding:14px}
}



/* =======================================================================
   WMC MODE 1 CONTRACTOR FINAL ORDER READINESS DASHBOARD V39
   - adds a decision layer above the existing order-prep matrix
   - separates measurement readiness, supplier conversion, and final WMC release
   ======================================================================= */
.mode1-order-readiness-dashboard,
.report-sheet-order-readiness-wide{
  grid-column:1/-1;
  border:1px solid rgba(217,189,134,.34)!important;
  background:
    linear-gradient(145deg,rgba(245,122,32,.09),rgba(45,191,115,.08),rgba(255,198,88,.05)),
    rgba(8,18,25,.98)!important;
}
.mode1-order-readiness-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:16px;
}
.mode1-order-readiness-heading h6{
  margin:0;
  max-width:920px;
  font-size:1.08rem;
}
.mode1-order-readiness-pill{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#fff7e8;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.mode1-order-readiness-pill.ready{border-color:rgba(45,191,115,.55);background:rgba(45,191,115,.16)}
.mode1-order-readiness-pill.staged{border-color:rgba(255,198,88,.52);background:rgba(255,198,88,.15)}
.mode1-order-readiness-pill.review{border-color:rgba(245,122,32,.55);background:rgba(245,122,32,.16)}
.mode1-order-readiness-pill.locked{border-color:rgba(220,88,79,.48);background:rgba(220,88,79,.14)}
.mode1-order-readiness-stage-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.mode1-order-readiness-stage{
  min-height:124px;
  display:grid;
  align-content:start;
  gap:7px;
  padding:15px 16px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
}
.mode1-order-readiness-stage span,
.mode1-order-readiness-summary-grid span{
  color:rgba(239,232,218,.72);
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.mode1-order-readiness-stage strong{
  color:#fff7e8;
  font-size:1.05rem;
  line-height:1.18;
}
.mode1-order-readiness-stage p{
  margin:0;
  color:rgba(239,232,218,.82);
  line-height:1.42;
}
.mode1-order-readiness-stage.ready{border-color:rgba(45,191,115,.48);background:rgba(45,191,115,.12)}
.mode1-order-readiness-stage.staged{border-color:rgba(255,198,88,.44);background:rgba(255,198,88,.11)}
.mode1-order-readiness-stage.review{border-color:rgba(245,122,32,.42);background:rgba(245,122,32,.09)}
.mode1-order-readiness-stage.locked{border-color:rgba(220,88,79,.42);background:rgba(220,88,79,.10)}
.mode1-order-readiness-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.mode1-order-readiness-summary-grid > div{
  min-height:86px;
  display:grid;
  align-content:center;
  gap:5px;
  padding:13px 15px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
}
.mode1-order-readiness-summary-grid strong{
  color:#fff7e8;
  font-size:1.08rem;
  line-height:1.18;
}
.mode1-order-readiness-summary-grid small{
  color:rgba(239,232,218,.78);
  line-height:1.34;
}
.mode1-plan-sheet-order-readiness-panel{
  display:grid;
  gap:14px;
  padding:18px 20px;
  border-radius:22px;
  border:1px solid rgba(22,29,35,.18);
  background:
    linear-gradient(145deg,rgba(245,122,32,.10),rgba(45,191,115,.08)),
    rgba(255,255,255,.90);
  color:#172028;
}
.mode1-plan-sheet-order-readiness-panel .eyebrow{color:#945114}
.mode1-plan-sheet-order-readiness-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}
.mode1-plan-sheet-order-readiness-heading strong{
  max-width:680px;
  color:#172028;
  text-align:right;
  line-height:1.32;
}
.mode1-plan-sheet-order-readiness-grid,
.mode1-plan-sheet-order-readiness-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.mode1-plan-sheet-order-readiness-grid span,
.mode1-plan-sheet-order-readiness-metrics span{
  min-height:82px;
  display:grid;
  align-content:center;
  gap:5px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(22,29,35,.14);
  background:rgba(255,255,255,.76);
}
.mode1-plan-sheet-order-readiness-grid span.ready{border-color:rgba(45,191,115,.42);background:rgba(45,191,115,.12)}
.mode1-plan-sheet-order-readiness-grid span.staged{border-color:rgba(196,135,22,.38);background:rgba(255,198,88,.18)}
.mode1-plan-sheet-order-readiness-grid span.review{border-color:rgba(245,122,32,.40);background:rgba(245,122,32,.12)}
.mode1-plan-sheet-order-readiness-grid span.locked{border-color:rgba(220,88,79,.38);background:rgba(220,88,79,.10)}
.mode1-plan-sheet-order-readiness-grid small,
.mode1-plan-sheet-order-readiness-metrics small{
  color:rgba(23,32,40,.68);
  font-size:.71rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.mode1-plan-sheet-order-readiness-grid strong,
.mode1-plan-sheet-order-readiness-metrics strong{
  color:#172028;
  font-size:.98rem;
  line-height:1.24;
}
@media (max-width:1280px){
  .mode1-order-readiness-stage-grid,
  .mode1-order-readiness-summary-grid,
  .mode1-plan-sheet-order-readiness-grid,
  .mode1-plan-sheet-order-readiness-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .mode1-order-readiness-heading,
  .mode1-plan-sheet-order-readiness-heading{
    display:grid;
  }
  .mode1-order-readiness-pill{width:max-content}
  .mode1-plan-sheet-order-readiness-heading strong{text-align:left}
  .mode1-order-readiness-stage-grid,
  .mode1-order-readiness-summary-grid,
  .mode1-plan-sheet-order-readiness-grid,
  .mode1-plan-sheet-order-readiness-metrics{
    grid-template-columns:1fr;
  }
  .mode1-plan-sheet-order-readiness-panel{padding:14px}
}


/* V40 — Product Rule Configuration Engine */
.mode1-order-rule-engine-panel,
.report-sheet-order-rule-wide{
  background:linear-gradient(135deg,rgba(245,122,32,.12),rgba(45,191,115,.08)),var(--panel);
}
.mode1-order-rule-engine-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:16px;
}
.mode1-order-rule-engine-heading h6{
  margin:0;
  font-size:1.25rem;
  line-height:1.22;
}
.mode1-order-rule-engine-heading p:not(.eyebrow){
  margin:8px 0 0;
  color:var(--muted);
  max-width:980px;
}
.mode1-order-rule-pill{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(245,122,32,.48);
  background:rgba(245,122,32,.16);
  color:#fff1e5;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.mode1-order-rule-pill.ready{border-color:rgba(45,191,115,.55);background:rgba(45,191,115,.16)}
.mode1-order-rule-pill.staged{border-color:rgba(255,198,88,.52);background:rgba(255,198,88,.15)}
.mode1-order-rule-pill.review{border-color:rgba(245,122,32,.55);background:rgba(245,122,32,.16)}
.mode1-order-rule-field-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:16px;
}
.mode1-order-rule-field{
  display:grid;
  gap:8px;
  align-content:start;
  padding:15px;
  border-radius:20px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.mode1-order-rule-field span{
  color:#f6f8fb;
  font-weight:900;
  line-height:1.22;
}
.mode1-order-rule-field strong{
  color:#ffd6b5;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mode1-order-rule-field input{
  min-height:48px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:rgba(0,0,0,.18);
  color:var(--text);
  padding:0 14px;
}
.mode1-order-rule-field small{
  color:var(--muted);
  line-height:1.4;
}
.mode1-order-rule-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:16px 0 18px;
}
.mode1-order-rule-actions span{
  color:var(--muted);
  font-size:.92rem;
}
.mode1-order-rule-table{
  table-layout:auto;
}
.mode1-order-rule-table th:nth-child(1),
.mode1-order-rule-table td:nth-child(1){width:22%}
.mode1-order-rule-table th:nth-child(2),
.mode1-order-rule-table td:nth-child(2){width:17%}
.mode1-order-rule-table th:nth-child(3),
.mode1-order-rule-table td:nth-child(3){width:21%}
.mode1-order-rule-table th:nth-child(4),
.mode1-order-rule-table td:nth-child(4){width:21%}
.mode1-order-rule-table th:nth-child(5),
.mode1-order-rule-table td:nth-child(5){width:19%}
.mode1-plan-sheet-order-rule-panel{
  grid-column:1 / -1;
  padding:16px;
  border-radius:24px;
  border:1px solid rgba(148,81,20,.22);
  background:linear-gradient(135deg,rgba(245,122,32,.08),rgba(255,255,255,.74));
}
.mode1-plan-sheet-order-rule-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.mode1-plan-sheet-order-rule-panel .eyebrow{color:#945114}
.mode1-plan-sheet-order-rule-heading strong{
  color:#172027;
  font-size:1rem;
  text-align:right;
}
.mode1-plan-sheet-order-rule-table th:nth-child(1),
.mode1-plan-sheet-order-rule-table td:nth-child(1){width:34%;text-align:left}
.mode1-plan-sheet-order-rule-table th:nth-child(2),
.mode1-plan-sheet-order-rule-table td:nth-child(2){width:31%}
.mode1-plan-sheet-order-rule-table th:nth-child(3),
.mode1-plan-sheet-order-rule-table td:nth-child(3){width:35%}
.report-sheet-order-rule-table{margin-top:14px}
@media (max-width:1180px){
  .mode1-order-rule-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .mode1-order-rule-engine-heading,
  .mode1-plan-sheet-order-rule-heading{
    display:grid;
    grid-template-columns:1fr;
  }
  .mode1-order-rule-pill{width:max-content}
  .mode1-order-rule-field-grid{grid-template-columns:1fr}
  .mode1-plan-sheet-order-rule-heading strong{text-align:left}
  .mode1-order-rule-table,
  .mode1-plan-sheet-order-rule-table{display:block;overflow-x:auto}
}


/* =======================================================================
   WMC MODE 1 PRODUCT PROFILE LIBRARY V41
   - Stores reusable internal product conversion profiles in the WMC browser
   - Keeps job-specific quantity rules separate from the reusable profile shelf
   - Adds a clear apply / update / delete flow without changing backend data
   ======================================================================= */
.mode1-order-profile-library{
  margin:18px 0 20px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 15% 18%,rgba(245,122,32,.10),transparent 30%),
    radial-gradient(circle at 88% 82%,rgba(45,191,115,.10),transparent 32%),
    rgba(255,255,255,.035);
}
.mode1-order-profile-library-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:16px;
}
.mode1-order-profile-library-heading h6{
  margin:4px 0 6px;
}
.mode1-order-profile-library-heading p:not(.eyebrow){
  max-width:780px;
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.mode1-order-profile-pill{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.01em;
  color:#fff5e8;
  background:rgba(255,255,255,.06);
}
.mode1-order-profile-pill.ready{
  border-color:rgba(45,191,115,.50);
  background:rgba(45,191,115,.16);
}
.mode1-order-profile-pill.review{
  border-color:rgba(245,122,32,.52);
  background:rgba(245,122,32,.16);
}
.mode1-order-profile-control-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
.mode1-order-profile-control{
  display:grid;
  gap:8px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
}
.mode1-order-profile-control span{
  color:#fff0df;
  font-size:.86rem;
  font-weight:800;
}
.mode1-order-profile-control input,
.mode1-order-profile-control select{
  width:100%;
  min-height:46px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.07);
  color:#fff;
  padding:0 14px;
  font:inherit;
  outline:none;
}
.mode1-order-profile-control select{
  appearance:auto;
}
.mode1-order-profile-control input:focus,
.mode1-order-profile-control select:focus{
  border-color:rgba(245,122,32,.68);
  box-shadow:0 0 0 3px rgba(245,122,32,.16);
}
.mode1-order-profile-control small{
  color:var(--muted);
  line-height:1.4;
}
.mode1-order-profile-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 14px;
}
.mode1-order-profile-actions .danger-soft{
  border-color:rgba(255,116,116,.44);
  color:#ffe1e1;
}
.mode1-order-profile-actions .danger-soft:hover{
  border-color:rgba(255,116,116,.72);
  background:rgba(255,116,116,.13);
}
.mode1-order-profile-status-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.mode1-order-profile-status-grid span{
  display:grid;
  gap:6px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
}
.mode1-order-profile-status-grid small{
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  font-weight:800;
}
.mode1-order-profile-status-grid strong{
  color:#fff5e8;
  line-height:1.45;
}
.mode1-order-profile-table{
  margin-top:0;
}
.mode1-order-profile-table th:nth-child(1),
.mode1-order-profile-table td:nth-child(1){width:44%}
.mode1-order-profile-table th:nth-child(2),
.mode1-order-profile-table td:nth-child(2){width:34%}
.mode1-order-profile-table th:nth-child(3),
.mode1-order-profile-table td:nth-child(3){width:22%}
@media (max-width:900px){
  .mode1-order-profile-library-heading{
    flex-direction:column;
  }
  .mode1-order-profile-control-grid,
  .mode1-order-profile-status-grid{
    grid-template-columns:1fr;
  }
  .mode1-order-profile-pill{
    width:max-content;
  }
  .mode1-order-profile-table{
    display:block;
    overflow-x:auto;
  }
}

/* =======================================================================
   WMC MODE 1 ROOF SYSTEM LIBRARY V42
   - Adds reusable roof-system records above profile-level conversion rules
   - Stores material family, internal approval state, notes, and rule values
   - Keeps this first system-library step local to the WMC browser
   ======================================================================= */
.mode1-roof-system-library{
  margin:18px 0 20px;
  padding:18px;
  border-radius:26px;
  border:1px solid rgba(245,122,32,.24);
  background:
    radial-gradient(circle at 14% 20%,rgba(245,122,32,.14),transparent 32%),
    radial-gradient(circle at 86% 84%,rgba(45,191,115,.13),transparent 34%),
    linear-gradient(135deg,rgba(245,122,32,.07),rgba(255,255,255,.035));
}
.mode1-roof-system-library-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:16px;
}
.mode1-roof-system-library-heading h6{
  margin:4px 0 6px;
}
.mode1-roof-system-library-heading p:not(.eyebrow){
  max-width:860px;
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.mode1-roof-system-pill{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.01em;
  color:#fff5e8;
  background:rgba(255,255,255,.06);
}
.mode1-roof-system-pill.ready{
  border-color:rgba(45,191,115,.54);
  background:rgba(45,191,115,.17);
}
.mode1-roof-system-pill.review{
  border-color:rgba(245,122,32,.54);
  background:rgba(245,122,32,.17);
}
.mode1-roof-system-control-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
.mode1-roof-system-control,
.mode1-roof-system-notes{
  display:grid;
  gap:8px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
}
.mode1-roof-system-control span,
.mode1-roof-system-notes span{
  color:#fff0df;
  font-size:.86rem;
  font-weight:800;
}
.mode1-roof-system-control input,
.mode1-roof-system-control select,
.mode1-roof-system-notes textarea{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.07);
  color:#fff;
  padding:0 14px;
  font:inherit;
  outline:none;
}
.mode1-roof-system-control input,
.mode1-roof-system-control select{
  min-height:46px;
}
.mode1-roof-system-control select{
  appearance:auto;
}
.mode1-roof-system-notes{
  margin-bottom:14px;
}
.mode1-roof-system-notes textarea{
  min-height:84px;
  padding-top:12px;
  padding-bottom:12px;
  resize:vertical;
}
.mode1-roof-system-control input:focus,
.mode1-roof-system-control select:focus,
.mode1-roof-system-notes textarea:focus{
  border-color:rgba(245,122,32,.68);
  box-shadow:0 0 0 3px rgba(245,122,32,.16);
}
.mode1-roof-system-control small,
.mode1-roof-system-notes small{
  color:var(--muted);
  line-height:1.4;
}
.mode1-roof-system-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 14px;
}
.mode1-roof-system-actions .danger-soft{
  border-color:rgba(255,116,116,.44);
  color:#ffe1e1;
}
.mode1-roof-system-actions .danger-soft:hover{
  border-color:rgba(255,116,116,.72);
  background:rgba(255,116,116,.13);
}
.mode1-roof-system-status-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.mode1-roof-system-status-grid span{
  display:grid;
  gap:6px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
}
.mode1-roof-system-status-grid small{
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  font-weight:800;
}
.mode1-roof-system-status-grid strong{
  color:#fff5e8;
  line-height:1.45;
}
.mode1-roof-system-table{
  margin-top:0;
}
.mode1-roof-system-table th:nth-child(1),
.mode1-roof-system-table td:nth-child(1){width:26%}
.mode1-roof-system-table th:nth-child(2),
.mode1-roof-system-table td:nth-child(2){width:32%}
.mode1-roof-system-table th:nth-child(3),
.mode1-roof-system-table td:nth-child(3){width:42%}
@media (max-width:900px){
  .mode1-roof-system-library-heading{
    flex-direction:column;
  }
  .mode1-roof-system-control-grid,
  .mode1-roof-system-status-grid{
    grid-template-columns:1fr;
  }
  .mode1-roof-system-pill{
    width:max-content;
  }
  .mode1-roof-system-table{
    display:block;
    overflow-x:auto;
  }
}



/* =======================================================================
   WMC WIDE MAIN INTELLIGENCE CANVAS + LEFT COMMAND DOCK V43
   Requested live-layout correction:
   - move the former right support rail into the existing left command dock
   - make the report / roof-intelligence canvas the dominant wide workspace
   - keep queue, next action, and review gates visible in the left dock
   - preserve the independent dark command-center scrolling behavior
   ======================================================================= */
@media (min-width:1281px){
  body.wmc-command-spatial{
    --spatial-sidebar:clamp(338px,25vw,392px);
  }

  body.wmc-command-spatial.dashboard-active .command-layout,
  body.wmc-command-spatial .command-layout{
    grid-template-columns:var(--spatial-sidebar) minmax(0,1fr) !important;
    gap:20px !important;
  }

  body.wmc-command-spatial.dashboard-active .command-sidebar{
    align-content:start !important;
    grid-auto-rows:max-content !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding-right:14px !important;
  }

  body.wmc-command-spatial .command-dock-support,
  body.wmc-command-spatial.dashboard-active .command-dock-support{
    display:grid !important;
    grid-column:auto !important;
    grid-row:auto !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    width:100% !important;
    min-width:0 !important;
    align-content:start !important;
    margin-top:0 !important;
  }

  body.wmc-command-spatial .command-dock-support .queue-panel,
  body.wmc-command-spatial .command-dock-support .command-action-rail,
  body.wmc-command-spatial.dashboard-active .command-dock-support .queue-panel,
  body.wmc-command-spatial.dashboard-active .command-dock-support .command-action-rail{
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }

  body.wmc-command-spatial .command-dock-support .command-action-rail,
  body.wmc-command-spatial.dashboard-active .command-dock-support .command-action-rail{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    align-content:start !important;
    overflow:visible !important;
    padding-right:0 !important;
  }

  body.wmc-command-spatial .command-dock-support .queue-panel .queue-controls,
  body.wmc-command-spatial.dashboard-active .command-dock-support .queue-panel .queue-controls{
    grid-template-columns:1fr !important;
  }

  body.wmc-command-spatial .command-dock-support .queue-panel .job-list,
  body.wmc-command-spatial.dashboard-active .command-dock-support .queue-panel .job-list{
    max-height:none !important;
    overflow:visible !important;
    padding-right:0 !important;
  }

  body.wmc-command-spatial.dashboard-active .spatial-command-main,
  body.wmc-command-spatial .spatial-command-main{
    min-width:0 !important;
  }

  body.wmc-command-spatial.dashboard-active .workspace-grid,
  body.wmc-command-spatial .workspace-grid{
    display:block !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    min-width:0 !important;
    gap:0 !important;
  }

  body.wmc-command-spatial.dashboard-active .workspace-grid .detail-panel,
  body.wmc-command-spatial .workspace-grid .detail-panel{
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  body.wmc-command-spatial.dashboard-active .detail-panel,
  body.wmc-command-spatial .detail-panel{
    overflow:hidden !important;
  }
}

@media (min-width:1281px) and (max-width:1440px){
  body.wmc-command-spatial{
    --spatial-sidebar:338px;
  }
}

@media (max-width:1280px){
  body.wmc-command-spatial .command-layout{
    grid-template-columns:1fr !important;
  }
  body.wmc-command-spatial .command-sidebar{
    position:relative !important;
    top:auto !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    grid-template-columns:1fr !important;
  }
  body.wmc-command-spatial .command-dock-support{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }
  body.wmc-command-spatial .command-dock-support .command-action-rail{
    grid-template-columns:1fr !important;
  }
  body.wmc-command-spatial .workspace-grid{
    grid-template-columns:1fr !important;
  }
}


/* V44 / V20 precision perimeter edge-reconciliation layer */
.mode1-edge-reconciliation-panel,
.report-sheet-edge-reconciliation-wide{
  display:grid;
  gap:18px;
}

.mode1-edge-reconciliation-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}

.mode1-edge-reconciliation-heading h6{
  margin:.35rem 0 0;
  max-width:860px;
}

.mode1-edge-reconciliation-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(245,122,32,.45);
  background:rgba(245,122,32,.12);
  color:#fff;
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.mode1-edge-reconciliation-pill.resolved{
  border-color:rgba(45,191,115,.58);
  background:rgba(45,191,115,.18);
}

.mode1-edge-reconciliation-pill.review{
  border-color:rgba(255,198,88,.54);
  background:rgba(255,198,88,.15);
}

.mode1-edge-reconciliation-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.mode1-edge-reconciliation-grid article{
  display:grid;
  gap:7px;
  min-height:122px;
  padding:16px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:rgba(255,255,255,.045);
}

.mode1-edge-reconciliation-grid span{
  color:rgba(255,255,255,.68);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.mode1-edge-reconciliation-grid strong{
  color:#fff;
  font-size:clamp(1.1rem,1.8vw,1.45rem);
  line-height:1.1;
}

.mode1-edge-reconciliation-grid small{
  color:rgba(255,255,255,.7);
  line-height:1.45;
}

.mode1-edge-reconciliation-note{
  margin:0;
  padding:15px 17px;
  border-radius:18px;
  border:1px solid rgba(245,122,32,.24);
  background:rgba(245,122,32,.08);
  color:rgba(255,255,255,.84);
  line-height:1.6;
}

.mode1-report-sheet-card .mode1-edge-reconciliation-grid article{
  border-color:rgba(20,31,40,.14);
  background:rgba(20,31,40,.045);
}

.mode1-report-sheet-card .mode1-edge-reconciliation-grid span,
.mode1-report-sheet-card .mode1-edge-reconciliation-grid small{
  color:rgba(20,31,40,.68);
}

.mode1-report-sheet-card .mode1-edge-reconciliation-grid strong{
  color:#13202a;
}

.mode1-report-sheet-card .mode1-edge-reconciliation-note{
  border-color:rgba(245,122,32,.22);
  background:rgba(245,122,32,.08);
  color:rgba(20,31,40,.84);
}

@media (max-width:1180px){
  .mode1-edge-reconciliation-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .mode1-edge-reconciliation-heading{
    flex-direction:column;
  }
  .mode1-edge-reconciliation-grid{
    grid-template-columns:1fr;
  }
  .mode1-edge-reconciliation-pill{
    white-space:normal;
    text-align:center;
  }
}

/* V45 / V21 exterior-edge extraction diagnostic confidence layer */
.mode1-edge-diagnostic-panel,
.report-sheet-edge-diagnostic-wide{
  display:grid;
  gap:18px;
}

.mode1-edge-diagnostic-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}

.mode1-edge-diagnostic-heading h6{
  margin:.35rem 0 0;
  max-width:900px;
}

.mode1-edge-diagnostic-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,198,88,.54);
  background:rgba(255,198,88,.15);
  color:#fff;
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.mode1-edge-diagnostic-pill.strong{
  border-color:rgba(45,191,115,.58);
  background:rgba(45,191,115,.18);
}

.mode1-edge-diagnostic-pill.staged{
  border-color:rgba(93,184,255,.56);
  background:rgba(93,184,255,.16);
}

.mode1-edge-diagnostic-pill.review{
  border-color:rgba(255,198,88,.54);
  background:rgba(255,198,88,.15);
}

.mode1-edge-diagnostic-scoreboard{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.mode1-edge-diagnostic-scoreboard article{
  display:grid;
  gap:7px;
  min-height:122px;
  padding:16px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:rgba(255,255,255,.045);
}

.mode1-edge-diagnostic-scoreboard article.diagnostic-score{
  border-color:rgba(245,122,32,.28);
  background:linear-gradient(145deg,rgba(245,122,32,.14),rgba(255,255,255,.045));
}

.mode1-edge-diagnostic-scoreboard span{
  color:rgba(255,255,255,.68);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.mode1-edge-diagnostic-scoreboard strong{
  color:#fff;
  font-size:clamp(1.08rem,1.8vw,1.45rem);
  line-height:1.1;
}

.mode1-edge-diagnostic-scoreboard small{
  color:rgba(255,255,255,.7);
  line-height:1.45;
}

.mode1-edge-diagnostic-note{
  margin:0;
  padding:15px 17px;
  border-radius:18px;
  border:1px solid rgba(93,184,255,.24);
  background:rgba(93,184,255,.08);
  color:rgba(255,255,255,.84);
  line-height:1.6;
}

.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard article{
  border-color:rgba(20,31,40,.14);
  background:rgba(20,31,40,.045);
}

.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard article.diagnostic-score{
  border-color:rgba(245,122,32,.24);
  background:linear-gradient(145deg,rgba(245,122,32,.12),rgba(20,31,40,.045));
}

.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard span,
.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard small{
  color:rgba(20,31,40,.68);
}

.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard strong{
  color:#13202a;
}

.mode1-report-sheet-card .mode1-edge-diagnostic-note{
  border-color:rgba(93,184,255,.2);
  background:rgba(93,184,255,.08);
  color:rgba(20,31,40,.84);
}

@media (max-width:1180px){
  .mode1-edge-diagnostic-scoreboard{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .mode1-edge-diagnostic-heading{
    flex-direction:column;
  }
  .mode1-edge-diagnostic-scoreboard{
    grid-template-columns:1fr;
  }
  .mode1-edge-diagnostic-pill{
    white-space:normal;
    text-align:center;
  }
}


/* V46 / V22 exterior-edge reconstruction layer */
.mode1-edge-reconstruction-panel,
.report-sheet-edge-reconstruction-wide{
  display:grid;
  gap:18px;
}

.mode1-edge-reconstruction-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}

.mode1-edge-reconstruction-heading h6{
  margin:.35rem 0 0;
  max-width:920px;
}

.mode1-edge-reconstruction-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(93,184,255,.56);
  background:rgba(93,184,255,.16);
  color:#fff;
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.mode1-edge-reconstruction-pill.reconstructed{
  border-color:rgba(45,191,115,.58);
  background:rgba(45,191,115,.18);
}

.mode1-edge-reconstruction-pill.stable{
  border-color:rgba(93,184,255,.56);
  background:rgba(93,184,255,.16);
}

.mode1-edge-reconstruction-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.mode1-edge-reconstruction-grid article{
  display:grid;
  gap:7px;
  min-height:122px;
  padding:16px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:rgba(255,255,255,.045);
}

.mode1-edge-reconstruction-grid span{
  color:rgba(255,255,255,.68);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.mode1-edge-reconstruction-grid strong{
  color:#fff;
  font-size:clamp(1.08rem,1.8vw,1.45rem);
  line-height:1.1;
}

.mode1-edge-reconstruction-grid small{
  color:rgba(255,255,255,.7);
  line-height:1.45;
}

.mode1-edge-reconstruction-note{
  margin:0;
  padding:15px 17px;
  border-radius:18px;
  border:1px solid rgba(45,191,115,.24);
  background:rgba(45,191,115,.08);
  color:rgba(255,255,255,.84);
  line-height:1.6;
}

.mode1-report-sheet-card .mode1-edge-reconstruction-grid article{
  border-color:rgba(20,31,40,.14);
  background:rgba(20,31,40,.045);
}

.mode1-report-sheet-card .mode1-edge-reconstruction-grid span,
.mode1-report-sheet-card .mode1-edge-reconstruction-grid small{
  color:rgba(20,31,40,.68);
}

.mode1-report-sheet-card .mode1-edge-reconstruction-grid strong{
  color:#13202a;
}

.mode1-report-sheet-card .mode1-edge-reconstruction-note{
  border-color:rgba(45,191,115,.2);
  background:rgba(45,191,115,.08);
  color:rgba(20,31,40,.84);
}

@media (max-width:1180px){
  .mode1-edge-reconstruction-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .mode1-edge-reconstruction-heading{
    flex-direction:column;
  }
  .mode1-edge-reconstruction-grid{
    grid-template-columns:1fr;
  }
  .mode1-edge-reconstruction-pill{
    white-space:normal;
    text-align:center;
  }
}


.detail-topbar-review-actions{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:12px;
}
.roof-selection-review-button{
  white-space:nowrap;
}
.workflow-reset-button{
  white-space:nowrap;
}
@media (max-width:760px){
  .detail-topbar-review-actions{
    width:100%;
    justify-content:flex-start;
  }
  .roof-selection-review-button,
  .workflow-reset-button{
    width:100%;
  }
}


/* V54 Roof Selection Review Gate */
.roof-selection-review-gate-block{
  background:
    linear-gradient(135deg,rgba(245,122,32,.11),rgba(45,191,115,.075)),
    var(--panel);
}
.roof-selection-review-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.roof-selection-review-heading h4{margin:0 0 8px}
.roof-selection-review-heading p:not(.eyebrow){
  margin:0;
  color:var(--muted);
  max-width:880px;
}
.roof-selection-review-grid{
  display:grid;
  grid-template-columns:minmax(210px,.8fr) minmax(180px,.6fr) minmax(180px,.6fr);
  gap:14px;
}
.roof-selection-review-grid label,
.roof-selection-review-metric{
  min-height:92px;
  display:grid;
  align-content:center;
  gap:8px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.055);
}
.roof-selection-review-grid label>span,
.roof-selection-review-metric>span{
  color:var(--muted);
  font-size:.9rem;
  font-weight:700;
}
.roof-selection-review-grid select,
.roof-selection-review-grid textarea{
  width:100%;
}
.roof-selection-review-metric strong{
  font-size:1.02rem;
  line-height:1.35;
  color:#fff;
}
.roof-selection-review-notes{
  grid-column:1/-1;
  min-height:132px!important;
}
.roof-selection-review-notes textarea{
  resize:vertical;
  min-height:82px;
}
.roof-selection-review-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
}
.roof-selection-needs-button{
  border-color:rgba(220,88,79,.52)!important;
}
.roof-selection-meta{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid var(--line);
  font-weight:800;
}
.roof-selection-meta.queued{
  border-color:rgba(255,198,88,.42);
  background:rgba(255,198,88,.12);
  color:#ffe7af;
}
.roof-selection-meta.review{
  border-color:rgba(245,122,32,.52);
  background:rgba(245,122,32,.15);
  color:#ffd6b5;
}
.roof-selection-meta.ready{
  border-color:rgba(45,191,115,.52);
  background:rgba(45,191,115,.15);
  color:#dffbea;
}
.roof-selection-meta.needs{
  border-color:rgba(220,88,79,.52);
  background:rgba(220,88,79,.15);
  color:#ffe4e1;
}
@media (max-width:1080px){
  .roof-selection-review-grid{
    grid-template-columns:1fr 1fr;
  }
  .roof-selection-review-notes{
    grid-column:1/-1;
  }
}
@media (max-width:760px){
  .roof-selection-review-heading{
    flex-direction:column;
  }
  .roof-selection-review-grid{
    grid-template-columns:1fr;
  }
  .roof-selection-review-notes{
    grid-column:auto;
  }
  .roof-selection-review-actions .btn{
    width:100%;
  }
}


/* =======================================================================
   WMC MODE 1 ROOF PLAN CLARITY + LEGEND CONTAINMENT V57
   - locks the plan-key labels inside their cards
   - reduces visual weight after restored structural-line extraction
   ======================================================================= */
.mode1-plan-sheet-legend-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.mode1-plan-sheet-legend-grid .mode1-plan-key-card{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:12px!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:normal!important;
}
.mode1-plan-sheet-legend-grid .mode1-plan-key-card strong{
  display:block!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.14!important;
  font-size:.98rem!important;
}
.mode1-plan-sheet-legend-grid .plan-key{
  justify-self:start!important;
  width:32px!important;
}
.mode1-plan-sheet-legend-grid .plan-key.facet{
  width:24px!important;
}
.mode1-plan-sheet-svg .mode1-plan-feature.ridge,
.mode1-plan-sheet-svg .mode1-plan-feature.hip,
.mode1-plan-sheet-svg .mode1-plan-feature.valley{
  stroke-width:3.05px!important;
  opacity:.92!important;
}
.mode1-plan-sheet-svg .mode1-plan-callout rect,
.mode1-plan-sheet-svg .mode1-plan-edge-callout rect{
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.12))!important;
}
.mode1-plan-sheet-svg .mode1-plan-callout text,
.mode1-plan-sheet-svg .mode1-plan-edge-callout text{
  font-size:11.4px!important;
}
.mode1-plan-sheet-drawing h6{
  max-width:34ch;
}
@media (max-width:760px){
  .mode1-plan-sheet-legend-grid{
    grid-template-columns:1fr!important;
  }
}


/* V61 — Saved customer roof selection + WMC adjustment workspace */
.saved-roof-selection-shell {
  margin-top: 1.15rem;
  padding: 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 1.35rem;
  background: linear-gradient(145deg, rgba(11, 20, 27, 0.96), rgba(21, 33, 38, 0.88));
}
.saved-roof-selection-heading,
.saved-roof-selection-grid,
.saved-roof-selection-metrics,
.saved-roof-selection-actions {
  display: grid;
  gap: 0.9rem;
}
.saved-roof-selection-heading {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}
.saved-roof-selection-heading h4 {
  margin: 0.25rem 0 0.35rem;
}
.saved-roof-selection-heading p:last-child {
  margin: 0;
  color: rgba(238, 244, 242, 0.78);
}
.saved-roof-selection-grid {
  grid-template-columns: minmax(20rem, 1.25fr) minmax(16rem, 0.85fr);
  align-items: stretch;
  margin-top: 1rem;
}
.saved-roof-selection-map-card,
.saved-roof-selection-control-card {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, 0.05);
  padding: 0.85rem;
}
.saved-roof-selection-map {
  min-height: 25rem;
  height: 25rem;
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
  background: radial-gradient(circle at 50% 45%, rgba(234, 166, 47, 0.16), rgba(8, 14, 18, 0.95));
}
.saved-roof-selection-map-help,
.saved-roof-selection-notice {
  margin: 0.75rem 0 0;
  color: rgba(238, 244, 242, 0.76);
  font-size: 0.92rem;
  line-height: 1.5;
}
.saved-roof-selection-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.saved-roof-selection-metrics > div {
  min-height: 4.5rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0.95rem;
  background: rgba(255, 255, 255, 0.05);
  padding: 0.8rem;
}
.saved-roof-selection-metrics span,
.saved-roof-selection-metrics strong {
  display: block;
}
.saved-roof-selection-metrics span {
  color: rgba(238, 244, 242, 0.66);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.72rem;
  font-weight: 800;
}
.saved-roof-selection-metrics strong {
  margin-top: 0.35rem;
  font-size: 1rem;
  color: #fff;
}
.saved-roof-selection-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1rem;
}
.saved-roof-selection-actions .btn {
  width: 100%;
  justify-content: center;
}
.saved-roof-selection-shell .status-box {
  margin-top: 0.85rem;
}
@media (max-width: 1080px) {
  .saved-roof-selection-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .saved-roof-selection-shell {
    padding: 0.9rem;
  }
  .saved-roof-selection-heading {
    grid-template-columns: 1fr;
  }
  .saved-roof-selection-map {
    min-height: 20rem;
    height: 20rem;
  }
  .saved-roof-selection-metrics,
  .saved-roof-selection-actions {
    grid-template-columns: 1fr;
  }
}

/* V97 — Saved roof outline precision editor feedback */
.saved-roof-selection-live-board{
  margin-top:1rem;
  padding:.95rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:1.05rem;
  background:linear-gradient(145deg,rgba(245,122,32,.12),rgba(45,191,115,.08)),rgba(255,255,255,.04);
  display:grid;
  gap:.8rem;
}
.saved-roof-selection-live-board .eyebrow{
  margin:0;
}
.saved-roof-selection-live-board > p:last-child{
  margin:0;
  color:rgba(238,244,242,.78);
  font-size:.9rem;
  line-height:1.5;
}
.saved-roof-selection-live-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}
.saved-roof-selection-live-grid > div{
  min-height:4.35rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:.9rem;
  background:rgba(7,16,22,.42);
  padding:.78rem;
}
.saved-roof-selection-live-grid span,
.saved-roof-selection-live-grid strong{
  display:block;
}
.saved-roof-selection-live-grid span{
  color:rgba(238,244,242,.66);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.72rem;
  font-weight:800;
}
.saved-roof-selection-live-grid strong{
  margin-top:.35rem;
  font-size:1rem;
  color:#fff;
}
.saved-roof-selection-actions .saved-outline-finish-button{
  grid-column:1 / -1;
  min-height:3rem;
  font-weight:900;
}
@media (max-width:720px){
  .saved-roof-selection-live-grid{
    grid-template-columns:1fr;
  }
  .saved-roof-selection-actions .saved-outline-finish-button{
    grid-column:auto;
  }
}


/* V98 — Saved roof reviewed measurement rebase board */
.saved-roof-selection-rebase-board{
  margin-top:1rem;
  padding:.95rem;
  border:1px solid rgba(45,191,115,.24);
  border-radius:1.05rem;
  background:linear-gradient(145deg,rgba(45,191,115,.11),rgba(245,122,32,.07)),rgba(255,255,255,.035);
  display:grid;
  gap:.8rem;
}
.saved-roof-selection-rebase-board .eyebrow{
  margin:0;
}
.saved-roof-selection-rebase-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}
.saved-roof-selection-rebase-grid > div{
  min-height:4.35rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:.9rem;
  background:rgba(7,16,22,.42);
  padding:.78rem;
}
.saved-roof-selection-rebase-grid span,
.saved-roof-selection-rebase-grid strong{
  display:block;
}
.saved-roof-selection-rebase-grid span{
  color:rgba(238,244,242,.66);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.72rem;
  font-weight:800;
}
.saved-roof-selection-rebase-grid strong{
  margin-top:.35rem;
  font-size:1rem;
  color:#fff;
}
.saved-roof-selection-rebase-board > p:last-child{
  margin:0;
  color:rgba(238,244,242,.78);
  font-size:.9rem;
  line-height:1.5;
}
@media (max-width:720px){
  .saved-roof-selection-rebase-grid{
    grid-template-columns:1fr;
  }
}

/* V64 — Guided workflow lightening + left-step process dock */
.sidebar-process-panel{
  display:grid;
  gap:14px;
  padding:16px;
  border-radius:24px;
  border:1px solid rgba(245,122,32,.28);
  background:
    linear-gradient(145deg,rgba(245,122,32,.11),rgba(45,191,115,.06)),
    rgba(255,255,255,.035);
}
.sidebar-process-heading{
  display:grid;
  gap:6px;
}
.sidebar-process-heading strong{
  color:#fff;
  font-size:1.08rem;
  line-height:1.2;
  letter-spacing:-.01em;
}
.sidebar-process-heading span{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.35;
}
.sidebar-process-steps{
  display:grid;
  gap:10px;
}
.sidebar-process-step,
.sidebar-process-step.mode1-stage-card{
  appearance:none;
  width:100%;
  min-height:0;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  grid-template-areas:
    "number title"
    "number status";
  align-items:center;
  column-gap:10px;
  row-gap:2px;
  padding:12px 12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  color:#f5f8fa;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.sidebar-process-step:hover,
.sidebar-process-step:focus-visible,
.sidebar-process-step.mode1-stage-card:hover,
.sidebar-process-step.mode1-stage-card:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(245,122,32,.52);
  background:rgba(245,122,32,.12);
  box-shadow:0 14px 30px rgba(0,0,0,.16);
}
.sidebar-process-step .sidebar-process-number{
  grid-area:number;
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  border:1px solid rgba(245,122,32,.34);
  background:rgba(245,122,32,.13);
  color:#ffd6b5;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.06em;
}
.sidebar-process-step strong{
  grid-area:title;
  font-size:.98rem;
  line-height:1.15;
  color:#fff;
}
.sidebar-process-step em,
.sidebar-process-step.mode1-stage-card em{
  grid-area:status;
  margin:0;
  padding:0;
  border:none;
  background:transparent;
  color:var(--muted);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.sidebar-process-step.ready,
.sidebar-process-step.mode1-stage-card.ready{
  border-color:rgba(245,122,32,.58);
  background:rgba(245,122,32,.12);
}
.sidebar-process-step.complete,
.sidebar-process-step.mode1-stage-card.complete{
  border-color:rgba(45,191,115,.54);
  background:rgba(45,191,115,.11);
}
.sidebar-process-step.complete .sidebar-process-number,
.sidebar-process-step.mode1-stage-card.complete .sidebar-process-number{
  border-color:rgba(45,191,115,.46);
  background:rgba(45,191,115,.16);
  color:#d6ffe8;
}
.sidebar-process-step.locked,
.sidebar-process-step.mode1-stage-card.locked{
  opacity:.76;
}
body.wmc-job-selected .spatial-overview-grid{
  display:none !important;
}
.mode1-reference-outcome{
  margin:18px 0 20px;
  padding:0;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.035);
  overflow:hidden;
}
.mode1-reference-outcome summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:0 18px;
  color:#f5f8fa;
  font-weight:900;
  letter-spacing:.02em;
}
.mode1-reference-outcome summary::-webkit-details-marker{display:none}
.mode1-reference-outcome summary::before{
  content:'+';
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(245,122,32,.38);
  background:rgba(245,122,32,.14);
  color:#ffd6b5;
  font-size:1rem;
  font-weight:900;
}
.mode1-reference-outcome[open] summary::before{content:'–'}
.mode1-reference-outcome-body{
  padding:0 18px 18px;
}
.workflow-target-pulse{
  animation:wmcWorkflowPulse .9s ease;
}
@keyframes wmcWorkflowPulse{
  0%{box-shadow:0 0 0 0 rgba(245,122,32,.0)}
  35%{box-shadow:0 0 0 5px rgba(245,122,32,.22)}
  100%{box-shadow:0 0 0 0 rgba(245,122,32,.0)}
}
#roof-selection-review-gate,
#mode1-command-panel,
.plane-intelligence-heading,
.line-diagram-heading,
.report-sheet-heading{
  scroll-margin-top:190px;
}
@media (max-width: 1180px){
  #roof-selection-review-gate,
  #mode1-command-panel,
  .plane-intelligence-heading,
  .line-diagram-heading,
  .report-sheet-heading{
    scroll-margin-top:140px;
  }
}


/* V65 — Compact guided steps + calculation background disclosures */
.sidebar-process-panel{
  gap:10px!important;
  padding:12px!important;
  border-radius:20px!important;
}
.sidebar-process-heading{gap:4px!important}
.sidebar-process-heading strong{font-size:.96rem!important}
.sidebar-process-heading span{font-size:.80rem!important;line-height:1.25!important}
.sidebar-process-steps{gap:7px!important}
.sidebar-process-step,
.sidebar-process-step.mode1-stage-card{
  grid-template-columns:28px minmax(0,1fr)!important;
  column-gap:8px!important;
  padding:8px 9px!important;
  border-radius:14px!important;
}
.sidebar-process-step .sidebar-process-number{
  width:28px!important;
  height:28px!important;
  border-radius:10px!important;
  font-size:.66rem!important;
}
.sidebar-process-step strong{font-size:.86rem!important;line-height:1.08!important}
.sidebar-process-step em,
.sidebar-process-step.mode1-stage-card em{
  font-size:.66rem!important;
  letter-spacing:.04em!important;
}
.mode1-background-disclosure{
  margin:16px 0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(255,255,255,.035);
  overflow:hidden;
}
.mode1-background-disclosure summary{
  list-style:none;
  cursor:pointer;
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 18px;
  color:#f5f8fa;
  font-weight:900;
  letter-spacing:.01em;
}
.mode1-background-disclosure summary::-webkit-details-marker{display:none}
.mode1-background-disclosure summary::after{
  content:'Open';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:62px;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(245,122,32,.40);
  color:#ffd6b5;
  background:rgba(245,122,32,.12);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.mode1-background-disclosure[open] summary::after{content:'Close'}
.mode1-background-disclosure summary span{
  display:block;
  font-size:1rem;
  line-height:1.15;
}
.mode1-background-disclosure summary small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.82rem;
  font-weight:700;
  line-height:1.3;
}
.mode1-background-disclosure-body{
  display:grid;
  gap:16px;
  padding:0 18px 18px;
}
.mode1-plan-sheet-calculation-disclosure{
  margin:18px 0 0;
  background:rgba(32,39,42,.05);
  border-color:rgba(26,37,42,.16);
}
.mode1-plan-sheet-calculation-disclosure summary{
  color:#172027;
  min-height:62px;
}
.mode1-plan-sheet-calculation-disclosure summary small{color:rgba(23,32,39,.66)}
.mode1-plan-sheet-calculation-disclosure summary::after{
  border-color:rgba(148,81,20,.32);
  color:#945114;
  background:rgba(255,198,88,.20);
}
.mode1-plan-sheet-calculation-disclosure .mode1-background-disclosure-body{padding-top:2px}
@media (max-width:760px){
  .mode1-background-disclosure summary{
    min-height:0;
    display:grid;
    justify-items:start;
    padding:14px;
    gap:10px;
  }
  .mode1-background-disclosure summary::after{min-height:28px}
  .mode1-background-disclosure-body{padding:0 14px 14px}
}


/* V66 — Uniform compact Guided Job Steps cards */
/* The sidebar reuses the broader Mode 1 stage-card class. Lock the left-dock
   variants back to the same compact geometry as the first review card. */
.sidebar-process-step,
.sidebar-process-step.mode1-stage-card,
body.wmc-command-redesign .sidebar-process-step.mode1-stage-card,
body.wmc-command-spatial .sidebar-process-step.mode1-stage-card,
body.wmc-command-spatial.dashboard-active .sidebar-process-step.mode1-stage-card{
  min-height:0 !important;
  height:auto !important;
  padding:8px 9px !important;
  align-content:center !important;
  gap:0 !important;
}
.sidebar-process-step.mode1-stage-card:not(:last-child)::after,
body.wmc-command-redesign .sidebar-process-step.mode1-stage-card:not(:last-child)::after,
body.wmc-command-spatial .sidebar-process-step.mode1-stage-card:not(:last-child)::after{
  margin-top:0 !important;
}


/* V67 — Leaner report builder controls disclosure */
.mode1-builder-controls-disclosure{
  margin:14px 0 18px;
}
.mode1-builder-controls-disclosure summary{
  min-height:60px;
}
.mode1-builder-controls-body{
  gap:14px;
}
.mode1-builder-controls-body .report-mode-grid,
.mode1-builder-controls-body .report-state-grid{
  margin-top:0;
}
.mode1-builder-controls-body .report-mode-card{
  min-height:0;
}
@media (max-width:760px){
  .mode1-builder-controls-disclosure summary{
    min-height:0;
  }
}

/* V68 — Deeper support tools move behind on-demand disclosures */
.support-tools-disclosure{
  margin:14px 0!important;
}
.support-tools-disclosure summary{
  min-height:58px;
}
.support-tools-disclosure-body{
  gap:14px;
}
.support-tools-disclosure-body>.detail-block,
.support-control-disclosure-body>.detail-block{
  margin:0;
}
.support-tools-disclosure .photo-intake-block,
.support-tools-disclosure .ai-assistance-block,
.support-tools-disclosure .workflow-block{
  border-radius:18px;
}
#photo-evidence-disclosure,
#internal-control-disclosure,
#job-events-disclosure{
  scroll-margin-top:190px;
}
@media (max-width:1180px){
  #photo-evidence-disclosure,
  #internal-control-disclosure,
  #job-events-disclosure{
    scroll-margin-top:140px;
  }
}

/* V70 — Contractor workspace simplification: fewer visible words and compact center decisions */
.contractor-note-disclosure{
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  overflow:hidden;
}
.contractor-note-disclosure summary summary{
  list-style:none;
  cursor:pointer;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 14px;
  color:rgba(255,247,232,.92);
  font-size:.80rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.contractor-note-disclosure summary::-webkit-details-marker summary::-webkit-details-marker{display:none}
.contractor-note-disclosure summary::after summary::after{
  content:'Open';
  font-size:.68rem;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  color:rgba(239,232,218,.82);
  background:rgba(255,255,255,.05);
}
.contractor-note-disclosure[open] summary::after[open] summary::after{content:'Close'}
.contractor-note-disclosure .summary-copy{
  margin:0;
  padding:0 14px 14px;
}
.roof-selection-review-heading p:not(.eyebrow),
.saved-roof-selection-heading p:not(.eyebrow),
.report-builder-heading p:not(.eyebrow),
.photo-intake-heading p:not(.eyebrow),
.ai-assistance-heading p:not(.eyebrow){display:none}
@media (max-width:760px){
    }


/* V71 — Contractor focus: keep customer, estimate, and roof context available without leaving them open in the middle workspace. */
.job-context-disclosure{
  grid-column:1/-1;
  margin:0;
}
.job-context-disclosure-body{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.job-context-disclosure-body>.detail-full{grid-column:1/-1}
.job-context-disclosure-body>.detail-block{margin:0}
@media (max-width:900px){
  .job-context-disclosure-body{grid-template-columns:1fr;gap:14px}
  .job-context-disclosure-body>.detail-full{grid-column:auto}
}

/* V72 — Saved roof selection workspace moves behind an action-first disclosure once reviewed */
.contractor-selection-disclosure{
  margin:0 0 16px;
}
.contractor-selection-disclosure summary{
  align-items:center;
  gap:12px;
}
.contractor-selection-disclosure summary span{
  flex:0 0 auto;
}
.contractor-selection-disclosure summary small{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.contractor-selection-disclosure-body{
  padding-top:14px;
}
@media (max-width:760px){
  .contractor-selection-disclosure summary{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .contractor-selection-disclosure summary small{
    flex-basis:100%;
    white-space:normal;
    line-height:1.35;
  }
}


/* V73 — Report Builder workspace collapse */
.report-builder-workspace-disclosure{
  margin:0 0 16px;
}
.report-builder-workspace-disclosure summary{
  align-items:center;
}
.report-builder-workspace-disclosure summary small{
  color:rgba(224,232,240,.72);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.01em;
}
.report-builder-workspace-body{
  padding-top:14px;
}
.report-builder-workspace-body .report-builder-block{
  margin:0;
}
.compact-report-builder-heading{
  margin-bottom:12px;
}
@media (max-width: 780px){
  .report-builder-workspace-disclosure summary{
    align-items:flex-start;
  }
}

/* V74 — Full-width stacked active workflow workspaces */
/* Large job workspaces must not share a row in the center canvas. The split
   grid squeezed the saved-selection map, report builder, and support tools. */
.detail-grid > .job-context-disclosure,
.detail-grid > .contractor-selection-disclosure,
.detail-grid > .report-builder-workspace-disclosure,
.detail-grid > .support-tools-disclosure{
  grid-column:1 / -1 !important;
}

/* Preserve a clean single-workspace feel when open. */
.contractor-selection-disclosure,
.report-builder-workspace-disclosure,
.support-tools-disclosure,
.job-context-disclosure{
  width:100%;
}

/* V87 — Clean exact-price contractor stage + client proposal PDF stage */
.wmc-utility-menu-shell{
  position:absolute;
  top:14px;
  left:14px;
  z-index:90;
}
.wmc-utility-menu-toggle{
  appearance:none;
  border:1px solid rgba(245,122,32,.52);
  border-radius:999px;
  background:rgba(7,13,19,.94);
  color:#fff;
  box-shadow:0 16px 42px rgba(0,0,0,.28);
  cursor:pointer;
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.04em;
  padding:10px 14px;
  text-transform:uppercase;
}
.wmc-utility-menu-toggle:hover,
.wmc-utility-menu-toggle:focus-visible{
  border-color:rgba(255,198,88,.76);
  outline:none;
  transform:translateY(-1px);
}
.wmc-utility-menu-panel{
  position:absolute;
  top:48px;
  left:0;
  display:grid;
  gap:8px;
  width:min(280px,calc(100vw - 28px));
  padding:12px;
  border:1px solid rgba(245,122,32,.38);
  border-radius:18px;
  background:rgba(7,13,19,.97);
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
.wmc-utility-menu-panel[hidden]{display:none}
.wmc-utility-menu-panel a{
  display:flex;
  align-items:center;
  min-height:42px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  color:#fff;
  background:rgba(255,255,255,.04);
  font-size:.88rem;
  font-weight:800;
  text-decoration:none;
}
.wmc-utility-menu-panel a:hover,
.wmc-utility-menu-panel a:focus-visible{
  border-color:rgba(255,198,88,.56);
  background:rgba(245,122,32,.14);
  outline:none;
}
.detail-grid > .contractor-price-block,
.detail-grid > .client-proposal-block{
  grid-column:1 / -1 !important;
}
.contractor-price-block,
.client-proposal-block{
  display:grid;
  gap:14px;
  padding:18px!important;
  background:linear-gradient(145deg,rgba(10,20,28,.98),rgba(8,14,20,.98));
}
.contractor-price-block{border:1px solid rgba(245,122,32,.24)}
.client-proposal-block{border:1px solid rgba(45,191,115,.24)}
.contractor-price-heading,
.client-proposal-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.contractor-price-heading h4,
.client-proposal-heading h4{margin:3px 0 0}
.contractor-price-heading .muted-line,
.client-proposal-heading .muted-line{margin-top:7px;max-width:78ch}
.workflow-stage-pill{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.06);
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
}
.workflow-stage-pill.ready{border-color:rgba(45,191,115,.58);background:rgba(45,191,115,.18)}
.workflow-stage-pill.staged{border-color:rgba(255,198,88,.54);background:rgba(255,198,88,.15)}
.workflow-stage-pill.review{border-color:rgba(245,122,32,.58);background:rgba(245,122,32,.16)}
.contractor-price-focus-board,
.client-proposal-focus-board{
  display:grid;
  grid-template-columns:minmax(260px,1.25fr) minmax(340px,1fr);
  gap:14px;
  padding:16px;
  border-radius:24px;
  background:rgba(255,255,255,.035);
}
.contractor-price-focus-board{
  border:1px solid rgba(245,122,32,.22);
  background:linear-gradient(135deg,rgba(245,122,32,.10),rgba(45,191,115,.05)),rgba(255,255,255,.035);
}
.client-proposal-focus-board{
  border:1px solid rgba(45,191,115,.22);
  background:linear-gradient(135deg,rgba(45,191,115,.10),rgba(245,122,32,.06)),rgba(255,255,255,.035);
}
.contractor-price-focus-intro,
.client-proposal-focus-intro{display:grid;gap:7px}
.contractor-price-focus-intro>span,
.contractor-price-focus-card>span,
.contractor-price-continue-board>span,
.client-proposal-focus-intro>span,
.client-proposal-focus-card>span,
.client-proposal-template-card>span{
  color:rgba(255,255,255,.68);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contractor-price-focus-intro>strong,
.client-proposal-focus-intro>strong{color:#fff;font-size:1.18rem;line-height:1.16}
.contractor-price-focus-intro>small,
.client-proposal-focus-intro>small,
.client-proposal-template-card>small{color:rgba(255,255,255,.74);font-size:.9rem;line-height:1.32}
.contractor-price-focus-cards,
.client-proposal-focus-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.contractor-price-focus-card,
.client-proposal-focus-card{
  display:grid;
  gap:6px;
  align-content:center;
  min-height:86px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.045);
}
.contractor-price-focus-card>strong,
.client-proposal-focus-card>strong{color:#fff;font-size:.96rem;line-height:1.18}
.contractor-price-input-board{
  display:grid;
  gap:14px;
  padding:15px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}
.proposal-rate-grid,
.proposal-adjustment-grid,
.proposal-sqft-summary-grid,
.proposal-materials-summary-grid{
  display:grid;
  gap:12px;
}
.proposal-rate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.proposal-adjustment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.proposal-sqft-summary-grid,
.proposal-materials-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.proposal-rate-grid label,
.proposal-adjustment-grid label{
  display:grid;
  gap:7px;
  color:rgba(226,234,242,.84);
  font-size:.82rem;
  font-weight:800;
}
.proposal-rate-grid input,
.proposal-adjustment-grid input,
.proposal-adjustment-grid select{
  min-height:46px;
  width:100%;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:rgba(5,10,15,.82);
  color:#fff;
  font:inherit;
}
.proposal-adjustment-summary,
.proposal-sqft-summary-grid>div,
.proposal-materials-summary-grid>div{
  display:grid;
  gap:5px;
  min-height:88px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.proposal-adjustment-summary span,
.proposal-sqft-summary-grid span,
.proposal-materials-summary-grid span,
.contractor-final-price-board span,
.contractor-package-choice span{
  color:rgba(226,234,242,.68);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.proposal-adjustment-summary strong,
.proposal-sqft-summary-grid strong,
.proposal-materials-summary-grid strong{color:#fff;font-size:1rem;line-height:1.2}
.proposal-adjustment-summary small,
.proposal-sqft-summary-grid small,
.proposal-materials-summary-grid small,
.contractor-package-choice small{color:rgba(226,234,242,.68);font-size:.78rem;line-height:1.35}
.contractor-package-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.contractor-package-choice{
  display:grid;
  gap:7px;
  min-height:112px;
  padding:14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  color:#fff;
  background:rgba(255,255,255,.045);
  cursor:pointer;
  text-align:left;
}
.contractor-package-choice strong{color:#fff;font-size:1.12rem;line-height:1.22}
.contractor-package-choice:hover,
.contractor-package-choice:focus-visible{
  border-color:rgba(255,198,88,.58);
  outline:none;
}
.contractor-package-choice.active{
  border-color:rgba(245,122,32,.72);
  background:linear-gradient(145deg,rgba(245,122,32,.20),rgba(255,198,88,.08));
  box-shadow:0 18px 44px rgba(245,122,32,.12);
}
.contractor-final-price-board{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:15px;
  border:1px solid rgba(45,191,115,.26);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(45,191,115,.10),rgba(255,255,255,.04));
}
.contractor-final-price-board>div{
  display:grid;
  gap:6px;
  align-content:center;
  min-height:86px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.04);
}
.contractor-final-price-board strong{color:#fff;font-size:1.08rem;line-height:1.18}
.contractor-price-actions,
.client-proposal-actions{display:flex;flex-wrap:wrap;gap:10px}
.contractor-price-continue-board,
.client-proposal-template-card{
  display:grid;
  gap:7px;
  padding:14px 16px;
  border-radius:20px;
}
.contractor-price-continue-board{
  border:1px solid rgba(45,191,115,.22);
  background:rgba(45,191,115,.07);
}
.contractor-price-continue-board>strong,
.client-proposal-template-card>strong{color:#fff;font-size:1rem;line-height:1.22}
.contractor-price-continue-board>small{color:rgba(255,255,255,.74);font-size:.88rem;line-height:1.3}
.client-proposal-template-card{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
}
.client-proposal-template-card code{
  display:inline-block;
  max-width:100%;
  color:rgba(255,255,255,.88);
  overflow-wrap:anywhere;
}
.client-proposal-email-board{
  display:grid;
  gap:13px;
  padding:16px;
  border:1px solid rgba(45,191,115,.24);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(45,191,115,.10),rgba(255,255,255,.04));
}
.client-proposal-email-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.client-proposal-email-heading div{display:grid;gap:5px}
.client-proposal-email-heading span,
.client-proposal-email-grid span,
.client-proposal-email-message-field span{
  color:rgba(255,255,255,.68);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.client-proposal-email-heading strong{color:#fff;font-size:1.08rem;line-height:1.2}
.client-proposal-email-heading small,
.client-proposal-email-helper{color:rgba(255,255,255,.72);font-size:.86rem;line-height:1.35}
.client-proposal-email-heading em{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 11px;
  border:1px solid rgba(255,198,88,.34);
  border-radius:999px;
  color:#fff5dc;
  background:rgba(255,198,88,.12);
  font-size:.76rem;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}
.client-proposal-email-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.client-proposal-email-grid label,
.client-proposal-email-message-field{display:grid;gap:7px}
.client-proposal-email-grid input,
.client-proposal-email-message-field textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.16);
  border-radius:15px;
  background:rgba(5,10,15,.76);
  color:#fff;
  font:inherit;
}
.client-proposal-email-grid input{min-height:44px;padding:10px 12px}
.client-proposal-email-message-field textarea{
  min-height:220px;
  padding:12px;
  resize:vertical;
  line-height:1.45;
}
.client-proposal-email-actions{display:flex;flex-wrap:wrap;gap:10px}

.client-proposal-email-compact-board{
  gap:15px;
  padding:18px;
}
.client-proposal-send-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.client-proposal-send-summary>div{
  display:grid;
  gap:6px;
  min-width:0;
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:17px;
  background:rgba(2,8,12,.44);
}
.client-proposal-send-summary span{
  color:rgba(255,255,255,.62);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.client-proposal-send-summary strong{
  color:#fff;
  font-size:.92rem;
  line-height:1.22;
  overflow-wrap:anywhere;
}
.client-proposal-email-hidden-fields{display:none!important}
.client-proposal-email-compact-board .client-proposal-email-actions{
  justify-content:flex-start;
}
.client-proposal-email-compact-board #send-client-proposal-email-button{
  min-width:min(100%,260px);
}
@media (max-width:780px){
  .client-proposal-send-summary{grid-template-columns:1fr}
  .client-proposal-email-heading{display:grid}
  .client-proposal-email-heading em{width:max-content;max-width:100%;white-space:normal}
  .client-proposal-email-compact-board #send-client-proposal-email-button{width:100%}
}
#contractor-price-panel,
#client-proposal-panel{scroll-margin-top:190px}
@media (max-width:1050px){
  .contractor-price-focus-board,
  .client-proposal-focus-board{grid-template-columns:1fr}
  .contractor-final-price-board{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .proposal-rate-grid,
  .proposal-adjustment-grid,
  .proposal-sqft-summary-grid,
  .proposal-materials-summary-grid,
  .contractor-package-choice-grid{grid-template-columns:1fr}
}
@media (max-width:780px){
  .wmc-utility-menu-shell{top:10px;left:10px}
  .wmc-utility-menu-toggle{padding:9px 12px;font-size:.74rem}
  .wmc-utility-menu-panel{top:44px}
  .contractor-price-block,
  .client-proposal-block{padding:14px!important}
  .contractor-price-heading,
  .client-proposal-heading{display:grid}
  .contractor-price-focus-cards,
  .client-proposal-focus-cards,
  .contractor-final-price-board{grid-template-columns:1fr}
  #contractor-price-panel,
  #client-proposal-panel{scroll-margin-top:140px}
}

/* V76 — Estimator precision proposal + material list preview */
.proposal-materials-list-disclosure{
  margin-top:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.045);
  overflow:hidden;
}
.proposal-materials-list-disclosure summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  color:#fff;
  font-weight:800;
}
.proposal-materials-list-disclosure summary::-webkit-details-marker{display:none}
.proposal-materials-list-disclosure summary::after{
  content:'Open';
  color:rgba(225,234,242,.75);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.proposal-materials-list-disclosure[open] summary::after{content:'Close'}
.proposal-materials-table-wrap{overflow:auto;padding:0 16px 16px}
.proposal-materials-list-table{width:100%;border-collapse:collapse;min-width:720px}
.proposal-materials-list-table th,
.proposal-materials-list-table td{
  border-top:1px solid rgba(255,255,255,.08);
  padding:11px 10px;
  text-align:left;
  vertical-align:top;
  font-size:.88rem;
  line-height:1.35;
}
.proposal-materials-list-table th{
  color:rgba(225,234,242,.72);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.72rem;
}
.proposal-materials-list-table td{color:rgba(245,248,251,.94)}
.proposal-materials-list-table td strong{color:#fff}
#proposal-photo-evidence-note{display:block}
@media (max-width: 760px){
  .proposal-materials-list-disclosure summary{padding:13px 14px}
  .proposal-materials-table-wrap{padding:0 14px 14px}
}


/* V77 — WMC-only analysis forms moved out of the main contractor dashboard */
.wmc-analysis-forms-disclosure {
  border-color: rgba(245, 122, 32, 0.28);
  background:
    radial-gradient(circle at 18% 12%, rgba(245, 122, 32, 0.09), transparent 38%),
    rgba(12, 22, 29, 0.90);
}

.wmc-analysis-forms-disclosure > summary {
  border-color: rgba(245, 122, 32, 0.28);
}

.wmc-analysis-forms-body {
  display: grid;
  gap: 16px;
}

.wmc-analysis-forms-intro {
  padding: 16px 18px;
  border: 1px solid rgba(245, 122, 32, 0.20);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.035);
}

.wmc-analysis-forms-intro h4,
.wmc-analysis-forms-intro p {
  margin-bottom: 0;
}

.wmc-analysis-forms-body > details.mode1-reference-outcome,
.wmc-analysis-forms-body > details#job-events-disclosure {
  margin: 0;
}

.wmc-analysis-forms-body #job-events-disclosure .support-tools-disclosure-body {
  padding-top: 12px;
}


/* V78 — Analysis Forms becomes its own internal workspace page; contractor dashboard gets one concise roofing result */
#job-detail.wmc-analysis-workspace-active .detail-topbar,
#job-detail.wmc-analysis-workspace-active .detail-grid {
  display: none;
}

.wmc-analysis-workspace[hidden] {
  display: none !important;
}

.wmc-analysis-workspace {
  display: grid;
  gap: 18px;
  margin-top: 18px;
  padding: 22px;
  border: 1px solid rgba(245, 122, 32, 0.28);
  border-radius: 28px;
  background:
    radial-gradient(circle at 14% 10%, rgba(245, 122, 32, 0.11), transparent 34%),
    radial-gradient(circle at 84% 12%, rgba(45, 191, 115, 0.08), transparent 36%),
    rgba(10, 20, 27, 0.94);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.wmc-analysis-workspace-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.035);
}

.wmc-analysis-workspace-header h3,
.wmc-analysis-workspace-header p {
  margin-bottom: 0;
}

.wmc-analysis-workspace-body {
  display: grid;
  gap: 16px;
}

.wmc-analysis-workspace-body > details {
  margin: 0;
}

.contractor-roofing-result-panel {
  display: grid;
  gap: 16px;
  border-color: rgba(45, 191, 115, 0.30);
  background:
    radial-gradient(circle at 16% 12%, rgba(45, 191, 115, 0.12), transparent 34%),
    rgba(13, 26, 31, 0.94);
}

.contractor-result-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.contractor-result-heading h4,
.contractor-result-heading p {
  margin-bottom: 0;
}

.contractor-result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.contractor-result-grid > div {
  display: grid;
  gap: 6px;
  min-height: 78px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.045);
}

.contractor-result-grid span {
  color: rgba(255, 255, 255, 0.70);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.contractor-result-grid strong {
  font-size: 1.05rem;
  line-height: 1.16;
}

.contractor-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 980px) {
  .contractor-result-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wmc-analysis-workspace-header,
  .contractor-result-heading {
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  .contractor-result-grid {
    grid-template-columns: 1fr;
  }
}


/* V79 — Contractor command dashboard tiles + single focused workspace */
.contractor-command-dashboard {
  display: grid;
  gap: 18px;
  border-color: rgba(45, 191, 115, 0.32);
  background:
    radial-gradient(circle at 14% 12%, rgba(45, 191, 115, 0.13), transparent 34%),
    radial-gradient(circle at 84% 10%, rgba(245, 122, 32, 0.08), transparent 32%),
    rgba(10, 22, 28, 0.95);
}

.contractor-dashboard-header,
.contractor-dashboard-primary {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.contractor-dashboard-header h4,
.contractor-dashboard-header p,
.contractor-dashboard-primary strong,
.contractor-dashboard-primary span {
  margin-bottom: 0;
}

.contractor-dashboard-primary {
  align-items: center;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.045);
}

.contractor-dashboard-primary-title {
  display: grid;
  gap: 5px;
}

.contractor-dashboard-primary-title > span {
  color: rgba(255, 255, 255, 0.70);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contractor-dashboard-primary-title strong {
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  line-height: 1.15;
}

.contractor-dashboard-tile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.contractor-dashboard-tile {
  min-height: 118px;
  display: grid;
  align-content: space-between;
  gap: 10px;
  padding: 15px;
  text-align: left;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 20px;
  color: inherit;
  background: rgba(255, 255, 255, 0.045);
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.contractor-dashboard-tile:hover,
.contractor-dashboard-tile:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(245, 122, 32, 0.48);
  background: rgba(245, 122, 32, 0.09);
  outline: none;
}

.contractor-dashboard-tile-title {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contractor-dashboard-tile strong {
  color: #fff;
  font-size: 1.06rem;
  line-height: 1.16;
}

.contractor-dashboard-tile small {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.82rem;
  line-height: 1.28;
}

.contractor-workspace-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 14px;
}

/* Default dashboard state: no long contractor scroll wall. */
#job-detail .contractor-dashboard-workspace {
  display: none !important;
}

#job-detail.contractor-workspace-open #contractor-command-dashboard {
  display: none;
}

#job-detail.contractor-workspace-open .contractor-dashboard-workspace.contractor-workspace-active {
  display: block !important;
}

#job-detail.contractor-workspace-open details.contractor-dashboard-workspace.contractor-workspace-active {
  display: block !important;
}

@media (max-width: 1180px) {
  .contractor-dashboard-tile-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .contractor-dashboard-header,
  .contractor-dashboard-primary {
    flex-direction: column;
    align-items: stretch;
  }

  .contractor-dashboard-tile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .contractor-dashboard-tile-grid {
    grid-template-columns: 1fr;
  }
}


/* V80 — clearer contractor process and always-available header dashboard return */
.header-dashboard-button {
  white-space: nowrap;
}

.contractor-dashboard-flow {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.8fr);
  gap: 12px;
}

.contractor-dashboard-current-card,
.contractor-dashboard-progress-card {
  display: grid;
  gap: 6px;
  min-height: 104px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.045);
}

.contractor-dashboard-current-card > span,
.contractor-dashboard-progress-card > span {
  color: rgba(255, 255, 255, 0.70);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contractor-dashboard-current-card > strong,
.contractor-dashboard-progress-card > strong {
  color: #fff;
  font-size: 1.12rem;
  line-height: 1.16;
}

.contractor-dashboard-current-card > small {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.88rem;
  line-height: 1.3;
}

.contractor-dashboard-progress-bar {
  width: 100%;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.08);
}

.contractor-dashboard-progress-bar span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(245,122,32,.95), rgba(45,191,115,.95));
  transition: width .25s ease;
}

.contractor-dashboard-process-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.contractor-process-step {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 70px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 18px;
  color: #fff;
  background: rgba(255, 255, 255, 0.045);
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.contractor-process-step:hover,
.contractor-process-step:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(245,122,32,.48);
  outline: none;
}

.contractor-process-step-number {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 900;
  background: rgba(255,255,255,.11);
}

.contractor-process-step-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.contractor-process-step-copy strong {
  font-size: .88rem;
  line-height: 1.16;
}

.contractor-process-step-copy small {
  font-size: .76rem;
  line-height: 1.16;
  color: rgba(255,255,255,.72);
}

.contractor-process-step.done {
  border-color: rgba(45,191,115,.38);
  background: rgba(45,191,115,.11);
}

.contractor-process-step.done .contractor-process-step-number {
  background: rgba(45,191,115,.24);
  color: #dffff0;
}

.contractor-process-step.now {
  border-color: rgba(245,122,32,.52);
  background: rgba(245,122,32,.12);
}

.contractor-process-step.now .contractor-process-step-number {
  background: rgba(245,122,32,.28);
  color: #ffe1c7;
}

.contractor-process-step.locked {
  opacity: .72;
}

@media (max-width: 1180px) {
  .contractor-dashboard-process-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .contractor-dashboard-flow {
    grid-template-columns: 1fr;
  }

  .contractor-dashboard-process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .contractor-dashboard-process-steps {
    grid-template-columns: 1fr;
  }
}


/* V81 — one synchronized next-action source and clearer locked step behavior */
#contractor-dashboard-next-action:disabled {
  opacity: .58;
  cursor: not-allowed;
  filter: none;
  box-shadow: none;
}

.contractor-process-step:disabled,
.contractor-process-step.locked {
  cursor: not-allowed;
}

.contractor-process-step:disabled:hover,
.contractor-process-step.locked:hover {
  transform: none;
  border-color: rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.045);
}


/* V82 — exact next engine action shown directly on the contractor dashboard */
.contractor-dashboard-exact-action {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(220px, .9fr);
  gap: 12px;
  align-items: stretch;
}

.contractor-dashboard-exact-main,
.contractor-dashboard-exact-after {
  display: grid;
  gap: 7px;
  min-height: 108px;
  padding: 16px 18px;
  border: 1px solid rgba(245, 122, 32, 0.28);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(245,122,32,.12), rgba(45,191,115,.06)),
    rgba(255,255,255,.045);
}

.contractor-dashboard-exact-after {
  border-color: rgba(45, 191, 115, 0.26);
}

.contractor-dashboard-exact-main > span,
.contractor-dashboard-exact-after > span {
  color: rgba(255,255,255,.72);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.contractor-dashboard-exact-main > strong {
  color: #fff;
  font-size: 1.16rem;
  line-height: 1.16;
}

.contractor-dashboard-exact-after > strong {
  color: #fff;
  font-size: 1rem;
  line-height: 1.24;
}

.contractor-dashboard-exact-main > small {
  color: rgba(255,255,255,.76);
  font-size: .88rem;
  line-height: 1.32;
}

@media (max-width: 860px) {
  .contractor-dashboard-exact-action {
    grid-template-columns: 1fr;
  }
}


/* V83 — removed duplicate sidebar action and Mode 1 clarity cards */
.command-action-rail {
  gap: 14px;
}


/* V84 — one-run roof analysis, then pricing and proposal flow */
#contractor-dashboard-next-action[data-contractor-action="analysis"] {
  min-width: 220px;
}

#contractor-dashboard-next-action[data-contractor-action="analysis"]:not(:disabled) {
  box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 16px 38px rgba(245,122,32,.20);
}

.contractor-dashboard-exact-main > strong {
  max-width: 34ch;
}


/* V85 — contractor pricing workspace clarity */
.contractor-price-focus-board {
  display: grid;
  grid-template-columns: minmax(260px, 1.25fr) minmax(340px, 1fr);
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(245, 122, 32, 0.22);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(245,122,32,.10), rgba(45,191,115,.05)),
    rgba(255,255,255,.035);
}

.contractor-price-focus-intro {
  display: grid;
  gap: 7px;
}

.contractor-price-focus-intro > span,
.contractor-price-continue-board > span,
.contractor-price-focus-card > span {
  color: rgba(255,255,255,.68);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.contractor-price-focus-intro > strong {
  color: #fff;
  font-size: 1.18rem;
  line-height: 1.16;
}

.contractor-price-focus-intro > small {
  color: rgba(255,255,255,.74);
  font-size: .9rem;
  line-height: 1.32;
}

.contractor-price-focus-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.contractor-price-focus-card {
  display: grid;
  gap: 6px;
  align-content: center;
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
}

.contractor-price-focus-card > strong {
  color: #fff;
  font-size: .96rem;
  line-height: 1.18;
}

.contractor-price-continue-board {
  display: grid;
  gap: 7px;
  padding: 14px 16px;
  border: 1px solid rgba(45,191,115,.22);
  border-radius: 20px;
  background: rgba(45,191,115,.07);
}

.contractor-price-continue-board > strong {
  color: #fff;
  font-size: 1rem;
  line-height: 1.2;
}

.contractor-price-continue-board > small {
  color: rgba(255,255,255,.74);
  font-size: .88rem;
  line-height: 1.3;
}

#proposal-method-sqft.active {
  box-shadow: 0 0 0 1px rgba(245,122,32,.16), 0 16px 34px rgba(245,122,32,.12);
}

#proposal-method-materials strong::after {
  content: " • Optional";
  opacity: .72;
  font-size: .82em;
}

@media (max-width: 1050px) {
  .contractor-price-focus-board {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .contractor-price-focus-cards {
    grid-template-columns: 1fr;
  }
}


/* V92 — Dashboard workspace width repair + return-button consistency */
/* Keep every dashboard workspace on the full main canvas. The old V74 selector
   typo prevented the disclosures from spanning the detail grid and squeezed
   Saved Roof Selection / Photo Evidence into a half-column shell. */
.detail-grid > .job-context-disclosure,
.detail-grid > .contractor-selection-disclosure,
.detail-grid > .report-builder-workspace-disclosure,
.detail-grid > .support-tools-disclosure,
.detail-grid > .contractor-dashboard-workspace,
.detail-grid > details.contractor-dashboard-workspace{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}
#job-detail.contractor-workspace-open .contractor-dashboard-workspace.contractor-workspace-active,
#job-detail.contractor-workspace-open details.contractor-dashboard-workspace.contractor-workspace-active{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}
.contractor-selection-disclosure-body,
.report-builder-workspace-body,
.support-tools-disclosure-body,
.job-context-disclosure-body{
  width:100%;
  min-width:0;
}
.contractor-workspace-toolbar{
  min-width:0;
}
.contractor-back-dashboard-button{
  white-space:nowrap;
  flex:0 0 auto;
}
@media (max-width:760px){
  .contractor-workspace-toolbar{
    justify-content:stretch;
  }
  .contractor-back-dashboard-button{
    width:100%;
    justify-content:center;
  }
}

/* V93 — Saved Roof satellite canvas + manual WMC outline drafting */
.saved-roof-selection-manual-actions {
  margin-top: 1rem;
  padding: 0.85rem;
  border: 1px solid rgba(255, 174, 47, 0.22);
  border-radius: 1rem;
  background: linear-gradient(145deg, rgba(255, 174, 47, 0.11), rgba(255, 255, 255, 0.035));
}
.saved-roof-selection-manual-actions .btn {
  min-height: 3.1rem;
}


/* V99 — Saved roof outline layout reset: map + controls side-by-side, information board below */
.saved-roof-selection-layout-v99{
  grid-template-columns:minmax(28rem,1.45fr) minmax(18rem,.8fr);
  grid-template-areas:
    "map controls"
    "info info";
  align-items:start;
}
.saved-roof-selection-layout-v99 .saved-roof-selection-map-card{
  grid-area:map;
  align-self:stretch;
}
.saved-roof-selection-action-rail{
  grid-area:controls;
  border:1px solid rgba(255,255,255,.1);
  border-radius:1.15rem;
  background:rgba(255,255,255,.05);
  padding:.85rem;
  display:grid;
  align-content:start;
  gap:.95rem;
}
.saved-roof-selection-action-rail .saved-roof-selection-actions{
  margin-top:0;
}
.saved-roof-selection-info-deck{
  grid-area:info;
  display:grid;
  gap:1rem;
  margin-top:.1rem;
}
.saved-roof-selection-info-deck .saved-roof-selection-live-board,
.saved-roof-selection-info-deck .saved-roof-selection-rebase-board{
  margin-top:0;
}
.saved-roof-selection-footer-info{
  display:grid;
  gap:.8rem;
}
.saved-roof-selection-footer-info .saved-roof-selection-notice,
.saved-roof-selection-footer-info .status-box{
  margin-top:0;
}
@media (max-width:1080px){
  .saved-roof-selection-layout-v99{
    grid-template-columns:1fr;
    grid-template-areas:
      "map"
      "controls"
      "info";
  }
}
@media (max-width:720px){
  .saved-roof-selection-action-rail{
    padding:.75rem;
  }
}

@media (max-width: 720px){
  .job-card-head{display:grid;gap:12px}
  .job-card-head-actions{justify-items:start}
}


/* V101 — Exact customer perimeter source truth + compare controls */
.saved-roof-selection-source-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:.95rem;
  border:1px solid rgba(255,174,47,.24);
  border-radius:1.05rem;
  background:linear-gradient(145deg,rgba(255,174,47,.11),rgba(45,191,115,.07)),rgba(255,255,255,.035);
}
.saved-roof-selection-source-copy{
  display:grid;
  gap:.35rem;
}
.saved-roof-selection-source-copy .eyebrow{
  margin:0;
}
.saved-roof-selection-source-copy strong{
  color:#fff;
  font-size:1.08rem;
  line-height:1.3;
}
.saved-roof-selection-source-copy small{
  color:rgba(238,244,242,.78);
  font-size:.9rem;
  line-height:1.45;
  max-width:60ch;
}
.saved-roof-selection-source-actions{
  display:grid;
  gap:.7rem;
  min-width:min(20rem,100%);
}
.saved-roof-selection-source-actions .btn{
  width:100%;
  justify-content:center;
}
.saved-roof-selection-source-actions .btn.is-active{
  box-shadow:0 0 0 1px rgba(255,174,47,.62),0 10px 26px rgba(255,174,47,.16);
}
@media (max-width:1080px){
  .saved-roof-selection-source-toolbar{
    grid-template-columns:1fr;
  }
  .saved-roof-selection-source-actions{
    min-width:0;
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:720px){
  .saved-roof-selection-source-actions{
    grid-template-columns:1fr;
  }
}

/* V102 — Mobile command header + utility menu visibility rebuild */
@media (max-width:760px){
  body.wmc-command-redesign .app-header{
    position:relative;
    top:auto;
    z-index:60;
  }
  .wmc-utility-menu-shell{
    position:relative;
    top:auto;
    left:auto;
    z-index:95;
    width:calc(100% - 24px);
    margin:12px auto 0;
  }
  .wmc-utility-menu-toggle{
    width:100%;
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:0 18px;
    border-radius:18px;
    font-size:.86rem;
    letter-spacing:.08em;
    box-shadow:0 18px 42px rgba(0,0,0,.28);
  }
  .wmc-utility-menu-toggle::after{
    content:"Menu";
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.14);
    color:rgba(255,255,255,.86);
    background:rgba(255,255,255,.06);
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.1em;
  }
  .wmc-utility-menu-toggle[aria-expanded="true"]::after{
    content:"Close";
    border-color:rgba(255,198,88,.48);
    background:rgba(245,122,32,.18);
  }
  .wmc-utility-menu-panel{
    top:60px;
    left:0;
    width:100%;
    gap:10px;
    padding:14px;
    border-radius:22px;
    background:rgba(5,11,16,.985);
    box-shadow:0 28px 80px rgba(0,0,0,.52);
  }
  .wmc-utility-menu-panel a{
    min-height:50px;
    padding:12px 14px;
    border-radius:16px;
    font-size:.94rem;
  }
  .command-header-shell{
    width:calc(100% - 24px);
    min-height:0;
    margin:0 auto;
    grid-template-columns:1fr;
    gap:14px;
    align-items:start;
    padding:14px 0 18px;
  }
  .command-header-logo-card{
    width:min(100%,296px);
    justify-self:center;
    border-radius:24px;
  }
  .command-header-copy{
    gap:8px;
  }
  .command-header-copy .eyebrow{
    margin:0;
    font-size:.76rem;
    letter-spacing:.18em;
  }
  .command-header-copy h1{
    font-size:clamp(2.45rem,11.5vw,3.35rem);
    line-height:.98;
    letter-spacing:-.055em;
  }
  .command-header-copy .subline{
    max-width:none;
    font-size:.98rem;
    line-height:1.46;
  }
  .command-security-strip{
    gap:8px;
    margin-top:6px;
  }
  .command-security-strip span{
    min-height:38px;
    padding:0 12px;
    font-size:.72rem;
    letter-spacing:.09em;
  }
  .command-account-stack{
    width:100%;
    justify-self:stretch;
    justify-content:stretch;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .command-account-stack .btn,
  .command-account-stack .session-pill{
    width:100%;
    min-height:48px;
    justify-content:center;
  }
  body.wmc-command-redesign .app-main{
    width:calc(100% - 24px);
    padding:16px 0 52px;
  }
  body.wmc-command-redesign .auth-shell{
    min-height:auto;
  }
  body.wmc-command-redesign .auth-card{
    padding:20px 16px 22px;
    border-radius:28px;
  }
  body.wmc-command-redesign .auth-logo-wrap.auth-logo-card{
    width:min(100%,250px);
    margin-inline:auto;
  }
  body.wmc-command-redesign .auth-card h2{
    font-size:clamp(1.65rem,7.5vw,2.25rem);
    line-height:1.08;
  }
  body.wmc-command-redesign .auth-copy{
    font-size:.95rem;
    line-height:1.5;
  }
  body.wmc-command-redesign .login-form{
    gap:10px;
  }
  body.wmc-command-redesign .login-form input{
    min-height:58px;
  }
  body.wmc-command-redesign .login-form .btn{
    min-height:58px;
  }
}


/* V108 — Mobile dashboard command drawer rebuilt from a clean dedicated overlay shell */
.mobile-command-drawer{
  display:contents;
}
.mobile-command-drawer-backdrop,
.mobile-command-drawer-close{
  display:none;
  border:0;
  padding:0;
  margin:0;
}

@media (max-width:900px){
  body.dashboard-active.mobile-command-drawer-scroll-lock{
    position:fixed;
    left:0;
    right:0;
    width:100%;
    overflow:hidden;
  }

  body.dashboard-active .mobile-command-drawer{
    position:fixed;
    inset:0;
    z-index:180;
    display:block;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease, visibility .22s ease;
  }

  body.dashboard-active .mobile-command-drawer.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  body.dashboard-active .mobile-command-drawer-backdrop{
    position:absolute;
    inset:0;
    z-index:0;
    display:block;
    width:100%;
    height:100%;
    border:0;
    border-radius:0;
    background:rgba(2,8,12,.78);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
  }

  body.dashboard-active .mobile-command-drawer .command-sidebar{
    position:absolute !important;
    top:12px !important;
    left:12px !important;
    right:12px !important;
    bottom:12px !important;
    z-index:1 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    gap:16px !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:18px 16px 20px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    border-radius:28px !important;
    background:
      linear-gradient(145deg,rgba(245,122,32,.12),rgba(45,191,115,.07)),
      rgba(5,11,16,.992) !important;
    box-shadow:0 34px 110px rgba(0,0,0,.62) !important;
    transform:translate3d(0,18px,0);
    opacity:0;
    pointer-events:none;
    transition:transform .22s ease, opacity .22s ease;
  }

  body.dashboard-active .mobile-command-drawer.is-open .command-sidebar{
    transform:translate3d(0,0,0);
    opacity:1;
    pointer-events:auto;
  }

  body.dashboard-active .mobile-command-drawer-close{
    position:sticky;
    top:0;
    z-index:4;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:64px;
    width:100%;
    border:1px solid rgba(255,198,88,.58);
    border-radius:20px;
    background:linear-gradient(145deg,rgba(245,122,32,.24),rgba(245,122,32,.14));
    box-shadow:0 18px 38px rgba(0,0,0,.24);
    color:#fff;
    font:900 .92rem/1 inherit;
    letter-spacing:.11em;
    text-transform:uppercase;
    touch-action:manipulation;
    cursor:pointer;
  }

  body.dashboard-active .mobile-command-drawer-close:active{
    transform:translateY(1px);
  }

  body.dashboard-active .wmc-utility-menu-toggle::after{
    content:"Dashboard Menu";
  }

  body.dashboard-active.mobile-command-drawer-open .wmc-utility-menu-toggle::after{
    content:"Close Menu";
  }

  body.dashboard-active .wmc-utility-menu-panel{
    display:none !important;
  }

  body.dashboard-active .mobile-command-drawer .sidebar-brand-panel{
    padding:14px !important;
    border-radius:18px !important;
  }

  body.dashboard-active .mobile-command-drawer .command-nav{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  body.dashboard-active .mobile-command-drawer .command-nav a{
    min-height:52px;
    padding:12px !important;
    border-radius:16px !important;
  }

  body.dashboard-active .mobile-command-drawer .sidebar-process-panel{
    padding:14px !important;
    border-radius:20px !important;
  }

  body.dashboard-active .mobile-command-drawer .sidebar-process-steps{
    gap:8px !important;
  }

  body.dashboard-active .mobile-command-drawer .sidebar-process-step{
    min-height:54px !important;
    padding:10px 12px !important;
  }

  body.dashboard-active .mobile-command-drawer .command-dock-support{
    gap:12px !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-panel{
    padding:14px !important;
    border-radius:22px !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-panel .job-list{
    max-height:min(42svh,420px) !important;
    overflow:auto !important;
    padding-right:4px !important;
  }

  body.dashboard-active .mobile-command-drawer .command-action-rail{
    gap:10px !important;
  }

  body.dashboard-active .mobile-command-drawer .rail-insight-card{
    padding:12px 13px !important;
    border-radius:18px !important;
  }

  body.dashboard-active .mobile-command-drawer .rail-insight-card h4{
    font-size:1rem !important;
    line-height:1.14 !important;
  }

  body.dashboard-active .mobile-command-drawer .rail-insight-card ul{
    margin-top:8px !important;
    padding-left:16px !important;
  }

  body.dashboard-active .mobile-command-drawer .rail-insight-card li{
    font-size:.82rem !important;
    line-height:1.28 !important;
  }

  body.dashboard-active .mobile-command-drawer .rail-insight-card li+li{
    margin-top:5px !important;
  }
}

@media (max-width:560px){
  body.dashboard-active .mobile-command-drawer .command-nav{
    grid-template-columns:1fr !important;
  }
}


/* V104 — Final Review release gate rebuild */
.final-review-disclosure-body{
  gap:16px;
}
.final-review-gate-block{
  display:grid;
  gap:16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(8,18,27,.92),rgba(15,31,39,.86));
  padding:18px;
}
.final-review-heading,
.final-review-card-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.final-review-heading h4{
  margin:.18rem 0 .32rem;
  font-size:clamp(1.18rem,2vw,1.56rem);
}
.final-review-heading .muted-line{
  max-width:760px;
}
.final-review-focus-board,
.final-review-customer-request-card,
.final-review-admin-controls-disclosure{
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.045);
}
.final-review-focus-board{
  display:grid;
  gap:14px;
  padding:16px;
}
.final-review-focus-intro{
  display:grid;
  gap:4px;
}
.final-review-focus-intro span,
.final-review-card-heading span{
  color:rgba(255,186,92,.95);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.72rem;
  font-weight:900;
}
.final-review-focus-intro strong,
.final-review-card-heading strong{
  color:#fff7ea;
  font-size:1.04rem;
}
.final-review-focus-intro small{
  color:rgba(239,232,218,.82);
  line-height:1.55;
}
.final-review-focus-cards{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.final-review-focus-card,
.final-review-summary-card{
  min-height:82px;
  display:grid;
  align-content:center;
  gap:4px;
  padding:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.05);
}
.final-review-focus-card span,
.final-review-summary-card span,
.final-review-detail-row span{
  color:rgba(239,232,218,.78);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.69rem;
  font-weight:900;
}
.final-review-focus-card strong,
.final-review-summary-card strong,
.final-review-detail-row strong{
  color:#fffaf1;
  font-size:.98rem;
  line-height:1.35;
}
.final-review-summary-card small{
  color:rgba(239,232,218,.78);
  line-height:1.45;
}
.final-review-summary-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr;
  gap:12px;
}
.final-review-customer-request-card{
  display:grid;
  gap:14px;
  padding:16px;
}
.final-review-customer-details{
  display:grid;
  gap:10px;
}
.final-review-detail-row{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:rgba(0,0,0,.18);
}
.final-review-detail-note strong{
  white-space:pre-wrap;
}
.final-review-empty{
  padding:14px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:14px;
  color:rgba(239,232,218,.78);
  background:rgba(0,0,0,.14);
}
.final-review-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.final-review-actions .btn{
  min-height:42px;
}
.final-review-admin-controls-disclosure{
  overflow:hidden;
}
.final-review-admin-controls-disclosure>summary{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 16px;
  cursor:pointer;
  list-style:none;
  color:rgba(255,247,232,.95);
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.final-review-admin-controls-disclosure>summary::-webkit-details-marker{display:none}
.final-review-admin-controls-disclosure>summary::after{
  content:'Open';
  font-size:.68rem;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  color:rgba(239,232,218,.85);
  background:rgba(255,255,255,.06);
}
.final-review-admin-controls-disclosure[open]>summary::after{content:'Close'}
.final-review-admin-controls-body{
  display:grid;
  gap:14px;
  padding:0 16px 16px;
}
@media (max-width:1180px){
  .final-review-focus-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .final-review-summary-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:760px){
  .final-review-gate-block{
    padding:14px;
    border-radius:18px;
  }
  .final-review-heading,
  .final-review-card-heading{
    flex-direction:column;
  }
  .final-review-focus-cards{
    grid-template-columns:1fr;
  }
  .final-review-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .final-review-actions .btn{
    width:100%;
  }
}


/* V110 — Mobile command bar clean rebuild: dedicated WMC menu left + Dashboard return right */
.mobile-dashboard-command-bar{
  display:none;
}
.mobile-dashboard-menu-button,
.mobile-dashboard-return-button{
  appearance:none;
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  background:rgba(7,13,19,.92);
  cursor:pointer;
  touch-action:manipulation;
}

@media (max-width:900px){
  body.dashboard-active .mobile-dashboard-command-bar{
    position:fixed;
    top:max(10px, env(safe-area-inset-top, 0px));
    left:12px;
    right:12px;
    z-index:176;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    min-height:72px;
    padding:8px;
    border:1px solid rgba(245,122,32,.48);
    border-radius:24px;
    background:rgba(5,11,16,.955);
    box-shadow:0 22px 62px rgba(0,0,0,.45);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  body.dashboard-active .mobile-dashboard-menu-button{
    min-width:0;
    min-height:56px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:0 16px;
    border-color:rgba(245,122,32,.58);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(245,122,32,.24),rgba(245,122,32,.10));
    box-shadow:0 14px 34px rgba(0,0,0,.22);
    color:#fff;
    font-size:.9rem;
    font-weight:950;
    letter-spacing:.11em;
    text-transform:uppercase;
  }

  body.dashboard-active .mobile-dashboard-menu-button strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:36px;
    min-height:36px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    font-size:1rem;
    line-height:1;
    letter-spacing:0;
  }

  body.dashboard-active .mobile-dashboard-menu-button[aria-expanded="true"] strong{
    border-color:rgba(255,198,88,.62);
    background:rgba(255,198,88,.16);
  }

  body.dashboard-active .mobile-dashboard-return-button{
    min-height:56px;
    padding:0 15px;
    border-color:rgba(45,191,115,.46);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(45,191,115,.19),rgba(45,191,115,.08));
    color:#fff;
    font-size:.82rem;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
    white-space:nowrap;
    box-shadow:0 14px 34px rgba(0,0,0,.20);
  }

  body.dashboard-active .mobile-dashboard-menu-button:active,
  body.dashboard-active .mobile-dashboard-return-button:active{
    transform:translateY(1px);
  }

  body.dashboard-active .app-header{
    padding-top:92px !important;
  }

  body.dashboard-active .wmc-utility-menu-shell,
  body.dashboard-active .header-dashboard-button{
    display:none !important;
  }

  body.dashboard-active.mobile-command-drawer-open .mobile-dashboard-command-bar{
    opacity:.24;
    pointer-events:none;
  }
}

@media (max-width:420px){
  body.dashboard-active .mobile-dashboard-command-bar{
    left:10px;
    right:10px;
    gap:8px;
    padding:7px;
  }
  body.dashboard-active .mobile-dashboard-menu-button{
    padding:0 13px;
    font-size:.84rem;
  }
  body.dashboard-active .mobile-dashboard-return-button{
    padding:0 12px;
    font-size:.76rem;
  }
}

/* V112 — Mobile drawer queue-first density rebuild */
@media (max-width:900px){
  body.dashboard-active .mobile-command-drawer .command-sidebar{
    gap:12px !important;
    padding-top:calc(86px + env(safe-area-inset-top, 0px)) !important;
  }

  body.dashboard-active .mobile-command-drawer .mobile-command-drawer-close{
    order:1;
    min-height:58px !important;
    margin-bottom:2px !important;
  }

  /* Remove intro/filler from the mobile drawer so WMC reaches the job queue faster. */
  body.dashboard-active .mobile-command-drawer .sidebar-brand-panel{
    display:none !important;
  }

  /* Put the real work first on phone: jobs, then quick jumps, then the guided five-step path. */
  body.dashboard-active .mobile-command-drawer .command-dock-support{
    order:2;
  }

  body.dashboard-active .mobile-command-drawer .command-nav{
    order:3;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    padding:10px !important;
    border:1px solid rgba(255,255,255,.09);
    border-radius:20px;
    background:rgba(255,255,255,.035);
  }

  body.dashboard-active .mobile-command-drawer .sidebar-process-panel{
    order:4;
  }

  body.dashboard-active .mobile-command-drawer .command-nav a{
    min-height:46px !important;
    padding:10px 9px !important;
    gap:8px !important;
    border-radius:14px !important;
    font-size:.82rem !important;
    letter-spacing:.02em !important;
  }

  body.dashboard-active .mobile-command-drawer .command-nav a span{
    min-width:30px !important;
    min-height:30px !important;
    font-size:.72rem !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-panel{
    padding:13px !important;
    border-radius:22px !important;
    background:linear-gradient(145deg,rgba(8,18,26,.96),rgba(8,28,34,.90)) !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-heading{
    gap:10px !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-heading h3{
    font-size:clamp(1.8rem,8.6vw,2.35rem) !important;
    line-height:.98 !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-heading .btn{
    min-height:48px !important;
    padding:0 16px !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-controls{
    gap:10px !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-controls .control-field{
    gap:6px !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-controls input,
  body.dashboard-active .mobile-command-drawer .queue-controls select{
    min-height:52px !important;
    border-radius:18px !important;
    font-size:.94rem !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-panel .job-list{
    max-height:min(62svh,560px) !important;
    min-height:220px !important;
  }

  body.dashboard-active .mobile-command-drawer .job-card{
    padding:13px !important;
    border-radius:18px !important;
  }

  body.dashboard-active .mobile-command-drawer .job-card h4{
    font-size:1.02rem !important;
    line-height:1.18 !important;
  }

  body.dashboard-active .mobile-command-drawer .job-card-meta{
    gap:5px !important;
    font-size:.82rem !important;
  }

  body.dashboard-active .mobile-command-drawer .job-card-info-drawer{
    padding:11px !important;
    border-radius:16px !important;
  }

  body.dashboard-active .mobile-command-drawer .rail-review-card{
    display:none !important;
  }

  body.dashboard-active .mobile-command-drawer .sidebar-process-heading span{
    display:none !important;
  }

  body.dashboard-active .mobile-command-drawer .sidebar-process-heading strong{
    font-size:1rem !important;
  }
}

@media (max-width:420px){
  body.dashboard-active .mobile-command-drawer .command-nav{
    grid-template-columns:1fr !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-heading{
    align-items:stretch !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-heading .btn{
    width:100% !important;
  }
}

/* V113 — Mobile active job dock rebuild */
.mobile-selected-job-dock{
  display:none;
}

@media (max-width:900px){
  body.dashboard-active.wmc-job-selected .mobile-selected-job-dock:not([hidden]){
    position:fixed;
    top:calc(max(10px, env(safe-area-inset-top, 0px)) + 84px);
    left:12px;
    right:12px;
    z-index:175;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    padding:10px;
    border:1px solid rgba(45,191,115,.38);
    border-radius:22px;
    background:linear-gradient(145deg,rgba(9,27,22,.96),rgba(7,14,20,.94));
    box-shadow:0 18px 46px rgba(0,0,0,.38);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-copy{
    display:grid;
    gap:2px;
    min-width:0;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-copy span{
    color:rgba(255,186,92,.96);
    font-size:.66rem;
    font-weight:950;
    letter-spacing:.105em;
    text-transform:uppercase;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-copy strong{
    overflow:hidden;
    color:#fff;
    font-size:.92rem;
    font-weight:950;
    line-height:1.12;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-copy em{
    overflow:hidden;
    color:rgba(226,232,240,.72);
    font-size:.72rem;
    font-style:normal;
    font-weight:800;
    line-height:1.12;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-actions{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-actions button{
    min-width:0;
    min-height:36px;
    padding:0 6px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:12px;
    background:rgba(255,255,255,.07);
    color:#fff;
    font:900 .66rem/1 inherit;
    letter-spacing:.045em;
    text-transform:uppercase;
    touch-action:manipulation;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-actions button:first-child{
    border-color:rgba(245,122,32,.45);
    background:rgba(245,122,32,.16);
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-actions button:active{
    transform:translateY(1px);
  }

  body.dashboard-active.wmc-job-selected .app-header{
    padding-top:188px !important;
  }

  body.dashboard-active.wmc-job-selected.mobile-command-drawer-open .mobile-selected-job-dock{
    opacity:.18;
    pointer-events:none;
  }
}

@media (max-width:420px){
  body.dashboard-active.wmc-job-selected .mobile-selected-job-dock:not([hidden]){
    left:10px;
    right:10px;
    padding:9px;
  }
  body.dashboard-active.wmc-job-selected .mobile-selected-job-actions button{
    font-size:.62rem;
  }
}

/* V114 — Mobile active job next-action dock */
.mobile-selected-job-next-row{
  display:none;
}

@media (max-width:900px){
  body.dashboard-active.wmc-job-selected .mobile-selected-job-next-row{
    display:grid;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-next-row button{
    width:100%;
    min-height:42px;
    padding:0 12px;
    border:1px solid rgba(255,186,92,.54);
    border-radius:14px;
    background:linear-gradient(135deg,rgba(245,122,32,.98),rgba(255,168,42,.86));
    color:#fff;
    font:950 .72rem/1 inherit;
    letter-spacing:.055em;
    text-transform:uppercase;
    box-shadow:0 10px 22px rgba(245,122,32,.22);
    touch-action:manipulation;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-next-row button:disabled{
    border-color:rgba(255,255,255,.12);
    background:rgba(255,255,255,.07);
    box-shadow:none;
    color:rgba(226,232,240,.55);
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-next-row button:active:not(:disabled){
    transform:translateY(1px);
  }

  body.dashboard-active.wmc-job-selected .app-header{
    padding-top:236px !important;
  }
}

@media (max-width:420px){
  body.dashboard-active.wmc-job-selected .mobile-selected-job-next-row button{
    min-height:40px;
    font-size:.66rem;
  }

  body.dashboard-active.wmc-job-selected .app-header{
    padding-top:226px !important;
  }
}


/* V115 — Mobile selected job focus mode */
@media (max-width:900px){
  body.dashboard-active.wmc-job-selected .mobile-selected-job-copy small{
    overflow:hidden;
    color:rgba(255,209,124,.86);
    font-size:.66rem;
    font-weight:900;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body.dashboard-active.wmc-job-selected #job-detail.contractor-workspace-open{
    scroll-margin-top:250px;
  }

  body.dashboard-active.wmc-job-selected .contractor-dashboard-workspace.contractor-workspace-active,
  body.dashboard-active.wmc-job-selected details.contractor-dashboard-workspace.contractor-workspace-active{
    scroll-margin-top:248px;
  }

  body.dashboard-active.wmc-job-selected .contractor-workspace-toolbar{
    position:sticky;
    top:calc(max(10px, env(safe-area-inset-top, 0px)) + 224px);
    z-index:18;
    justify-content:stretch;
    padding:8px 0;
    background:linear-gradient(180deg,rgba(6,12,18,.96),rgba(6,12,18,.72));
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  body.dashboard-active.wmc-job-selected .contractor-back-dashboard-button{
    width:100%;
    min-height:44px;
    justify-content:center;
  }

  body.dashboard-active.wmc-job-selected .contractor-command-dashboard{
    scroll-margin-top:248px;
  }
}

@media (max-width:420px){
  body.dashboard-active.wmc-job-selected .mobile-selected-job-copy small{
    font-size:.62rem;
  }

  body.dashboard-active.wmc-job-selected .contractor-workspace-toolbar{
    top:calc(max(10px, env(safe-area-inset-top, 0px)) + 214px);
  }
}

/* V116 — Mobile compact active-job dock visibility rebuild */
.mobile-selected-job-expand-button{
  display:none;
}

@media (max-width:900px){
  body.dashboard-active.wmc-job-selected .mobile-selected-job-next-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
    align-items:center;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-expand-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:14px;
    background:rgba(255,255,255,.075);
    color:#fff;
    font:950 .68rem/1 inherit;
    letter-spacing:.055em;
    text-transform:uppercase;
    touch-action:manipulation;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-expand-button:active{
    transform:translateY(1px);
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-dock:not([hidden]){
    gap:7px;
    padding:9px;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-copy{
    gap:1px;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-copy span,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-copy em{
    display:none;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-copy strong{
    font-size:.86rem;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-copy small{
    display:block;
    color:rgba(255,209,124,.82);
    font-size:.62rem;
    line-height:1.1;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-actions{
    display:none;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-next-row button{
    min-height:38px;
    font-size:.64rem;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-expand-button{
    min-height:38px;
    padding:0 10px;
    font-size:.62rem;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .app-header{
    padding-top:178px !important;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact #job-detail.contractor-workspace-open,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .contractor-dashboard-workspace.contractor-workspace-active,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact details.contractor-dashboard-workspace.contractor-workspace-active,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .contractor-command-dashboard{
    scroll-margin-top:188px;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .contractor-workspace-toolbar{
    top:calc(max(10px, env(safe-area-inset-top, 0px)) + 154px);
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-expanded .mobile-selected-job-dock:not([hidden]){
    border-color:rgba(255,186,92,.48);
  }
}

@media (max-width:420px){
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .app-header{
    padding-top:170px !important;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .contractor-workspace-toolbar{
    top:calc(max(10px, env(safe-area-inset-top, 0px)) + 146px);
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact #job-detail.contractor-workspace-open,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .contractor-dashboard-workspace.contractor-workspace-active,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact details.contractor-dashboard-workspace.contractor-workspace-active,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .contractor-command-dashboard{
    scroll-margin-top:178px;
  }
}


/* V117 — Mobile restored workspace control + focus-card cleanup
   Rebuilt from clean V116. The phone side now keeps one reliable top command bar,
   moves the active job dock out of the top workspace stack, and stops the menu
   drawer from trapping the page with iOS fixed-body scrolling. */
@media (max-width:900px){
  body.dashboard-active.mobile-command-drawer-scroll-lock{
    position:static !important;
    left:auto !important;
    right:auto !important;
    width:auto !important;
    overflow:hidden !important;
    overscroll-behavior:contain;
  }

  body.dashboard-active .mobile-dashboard-command-bar{
    grid-template-columns:minmax(0,1fr) auto;
    min-height:62px;
    padding:7px;
    border-radius:20px;
  }

  body.dashboard-active.mobile-command-drawer-open .mobile-dashboard-command-bar{
    z-index:196;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  body.dashboard-active .mobile-dashboard-menu-button,
  body.dashboard-active .mobile-dashboard-return-button{
    min-height:48px;
    border-radius:15px;
  }

  body.dashboard-active .mobile-dashboard-menu-button{
    padding:0 13px;
    font-size:.82rem;
  }

  body.dashboard-active .mobile-dashboard-menu-button strong{
    min-width:31px;
    min-height:31px;
    font-size:1.06rem;
  }

  body.dashboard-active .mobile-dashboard-return-button{
    padding:0 12px;
    font-size:.72rem;
  }

  body.dashboard-active .mobile-command-drawer{
    z-index:184;
  }

  body.dashboard-active .mobile-command-drawer .command-sidebar{
    top:calc(max(10px, env(safe-area-inset-top, 0px)) + 70px) !important;
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    padding:13px !important;
    gap:10px !important;
    border-radius:24px !important;
    transform:translate3d(0,8px,0);
  }

  body.dashboard-active .mobile-command-drawer .mobile-command-drawer-close{
    min-height:48px !important;
    border-radius:16px !important;
  }

  body.dashboard-active .mobile-command-drawer .command-dock-support{
    gap:10px !important;
  }

  body.dashboard-active .mobile-command-drawer .queue-panel .job-list{
    max-height:min(54svh,480px) !important;
  }

  body.dashboard-active .app-header,
  body.dashboard-active.wmc-job-selected .app-header,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .app-header{
    min-height:0 !important;
    height:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }

  body.dashboard-active .app-header .command-header-shell,
  body.dashboard-active .app-header .wmc-utility-menu-shell{
    display:none !important;
  }

  body.dashboard-active .app-main{
    padding-top:calc(82px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom:calc(40px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.dashboard-active.wmc-job-selected .app-main{
    padding-bottom:calc(154px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-expanded .app-main{
    padding-bottom:calc(218px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-dock:not([hidden]),
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-dock:not([hidden]){
    top:auto !important;
    bottom:calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    left:10px !important;
    right:10px !important;
    z-index:176;
    gap:7px;
    padding:9px;
    border-radius:20px;
    box-shadow:0 18px 52px rgba(0,0,0,.46);
  }

  body.dashboard-active.wmc-job-selected.mobile-command-drawer-open .mobile-selected-job-dock{
    opacity:0 !important;
    pointer-events:none !important;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-actions{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-actions button{
    min-height:34px;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-next-row button,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-next-row button,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .mobile-selected-job-expand-button{
    min-height:38px;
  }

  body.dashboard-active.wmc-job-selected #job-detail.contractor-workspace-open,
  body.dashboard-active.wmc-job-selected .contractor-dashboard-workspace.contractor-workspace-active,
  body.dashboard-active.wmc-job-selected details.contractor-dashboard-workspace.contractor-workspace-active,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact #job-detail.contractor-workspace-open,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .contractor-dashboard-workspace.contractor-workspace-active,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact details.contractor-dashboard-workspace.contractor-workspace-active,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .contractor-command-dashboard,
  body.dashboard-active .contractor-command-dashboard{
    scroll-margin-top:94px !important;
  }

  body.dashboard-active.wmc-job-selected .contractor-workspace-toolbar,
  body.dashboard-active.wmc-job-selected.mobile-selected-job-dock-compact .contractor-workspace-toolbar{
    top:calc(max(10px, env(safe-area-inset-top, 0px)) + 66px) !important;
    z-index:34;
    padding:7px 0;
  }

  body.dashboard-active .contractor-dashboard-workspace.contractor-workspace-active,
  body.dashboard-active details.contractor-dashboard-workspace.contractor-workspace-active{
    border-radius:22px;
  }

  body.dashboard-active .contractor-workspace-toolbar .contractor-back-dashboard-button{
    min-height:42px;
    border-radius:14px;
  }
}

@media (max-width:760px){
  body.dashboard-active .detail-panel,
  body.dashboard-active #job-detail{
    gap:12px !important;
  }

  body.dashboard-active .contractor-command-dashboard,
  body.dashboard-active .contractor-roofing-result-panel,
  body.dashboard-active .contractor-price-block,
  body.dashboard-active .client-proposal-block,
  body.dashboard-active details.contractor-dashboard-workspace.contractor-workspace-active{
    padding:14px !important;
    border-radius:22px !important;
  }

  body.dashboard-active .contractor-dashboard-header,
  body.dashboard-active .contractor-result-heading,
  body.dashboard-active .final-review-heading,
  body.dashboard-active .final-review-card-heading{
    gap:10px;
  }

  body.dashboard-active .contractor-dashboard-header h4,
  body.dashboard-active .contractor-result-heading h4{
    font-size:clamp(1.34rem,6.6vw,1.85rem);
    line-height:1.03;
  }

  body.dashboard-active .contractor-dashboard-primary,
  body.dashboard-active .contractor-dashboard-current-card,
  body.dashboard-active .contractor-dashboard-progress-card,
  body.dashboard-active .contractor-dashboard-exact-action,
  body.dashboard-active .contractor-price-focus-board,
  body.dashboard-active .final-review-gate-block,
  body.dashboard-active .saved-roof-selection-action-rail,
  body.dashboard-active .saved-roof-selection-source-toolbar,
  body.dashboard-active .photo-evidence-focus-card{
    border-radius:18px !important;
    padding:12px !important;
  }

  body.dashboard-active .contractor-dashboard-tile-grid,
  body.dashboard-active .contractor-dashboard-process-steps,
  body.dashboard-active .contractor-result-grid,
  body.dashboard-active .final-review-focus-cards,
  body.dashboard-active .final-review-summary-grid{
    gap:9px !important;
  }

  body.dashboard-active .contractor-dashboard-tile,
  body.dashboard-active .contractor-process-step,
  body.dashboard-active .contractor-result-grid > div,
  body.dashboard-active .final-review-focus-card,
  body.dashboard-active .final-review-summary-card{
    border-radius:15px !important;
    padding:11px !important;
  }

  body.dashboard-active .saved-roof-selection-layout-v99{
    gap:10px !important;
  }

  body.dashboard-active .saved-roof-selection-map-card{
    min-height:360px;
  }

  body.dashboard-active .saved-roof-selection-actions,
  body.dashboard-active .final-review-actions,
  body.dashboard-active .contractor-result-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  body.dashboard-active .saved-roof-selection-actions .btn,
  body.dashboard-active .final-review-actions .btn,
  body.dashboard-active .contractor-result-actions .btn{
    width:100%;
    min-height:44px;
    justify-content:center;
  }
}

@media (max-width:420px){
  body.dashboard-active .mobile-dashboard-command-bar{
    left:8px;
    right:8px;
    min-height:58px;
  }

  body.dashboard-active .mobile-dashboard-menu-button,
  body.dashboard-active .mobile-dashboard-return-button{
    min-height:44px;
  }

  body.dashboard-active .mobile-dashboard-menu-button{
    padding:0 10px;
    font-size:.78rem;
  }

  body.dashboard-active .mobile-dashboard-return-button{
    padding:0 10px;
    font-size:.68rem;
  }

  body.dashboard-active .app-main{
    padding-top:calc(76px + env(safe-area-inset-top, 0px)) !important;
  }

  body.dashboard-active .mobile-command-drawer .command-sidebar{
    top:calc(max(8px, env(safe-area-inset-top, 0px)) + 62px) !important;
    left:8px !important;
    right:8px !important;
    bottom:8px !important;
  }

  body.dashboard-active.wmc-job-selected .mobile-selected-job-dock:not([hidden]){
    left:8px !important;
    right:8px !important;
  }
}

/* V118/V119 — Mobile proposal email station */
@media (max-width:780px){
  .client-proposal-email-heading{display:grid}
  .client-proposal-email-heading em{justify-self:start;white-space:normal}
  .client-proposal-email-grid{grid-template-columns:1fr}
  .client-proposal-email-message-field textarea{min-height:260px}
}

/* V119 — Custom WMC proposal email sender */
.client-proposal-email-board{
  border:1px solid rgba(21, 128, 61, 0.22);
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(243,252,246,.96));
}
.client-proposal-email-heading strong{
  color:#11381f;
}
.client-proposal-email-heading em{
  border-color:rgba(21,128,61,.22);
  background:rgba(21,128,61,.08);
  color:#125c2c;
}
.client-proposal-email-grid.three-column-email-grid{
  grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) minmax(240px,1.15fr);
}
.client-proposal-email-message-field textarea:not([readonly]),
.client-proposal-email-grid input:not([readonly]){
  background:#fff;
  border-color:rgba(17,56,31,.2);
}
.client-proposal-email-helper{
  color:#355642;
}
@media (max-width:900px){
  .client-proposal-email-grid.three-column-email-grid{grid-template-columns:1fr}
}
@media (max-width:780px){
  .client-proposal-email-message-field textarea{min-height:300px}
}

/* V120 - Client Contract workflow */
.client-contract-block {
  position: relative;
  overflow: hidden;
}

.client-contract-heading,
.client-contract-email-heading,
.client-contract-preview-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.client-contract-focus-board,
.client-contract-template-card,
.client-contract-preview-board,
.client-contract-email-board {
  margin-top: 1rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  padding: 1rem;
}

.client-contract-focus-intro,
.client-contract-template-card,
.client-contract-preview-heading,
.client-contract-email-heading {
  color: rgba(255,255,255,.92);
}

.client-contract-focus-intro span,
.client-contract-template-card span,
.client-contract-preview-heading span,
.client-contract-email-heading span,
.client-contract-email-helper {
  display: block;
  color: rgba(255,255,255,.66);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.client-contract-focus-intro strong,
.client-contract-template-card strong,
.client-contract-preview-heading strong,
.client-contract-email-heading strong {
  display: block;
  margin-top: .25rem;
  font-size: 1.05rem;
}

.client-contract-focus-intro small,
.client-contract-template-card small {
  display: block;
  margin-top: .4rem;
  color: rgba(255,255,255,.68);
  line-height: 1.45;
}

.client-contract-template-card a {
  color: #f5a15c;
  font-weight: 800;
}

.client-contract-focus-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  margin-top: 1rem;
}

.client-contract-focus-card {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: rgba(3, 8, 13, .42);
  padding: .9rem;
}

.client-contract-focus-card span {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.client-contract-focus-card strong {
  display: block;
  margin-top: .25rem;
  color: #fff;
  font-size: 1rem;
}

.client-contract-actions,
.client-contract-email-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1rem;
}

#client-contract-preview {
  margin: .85rem 0 0;
  max-height: 360px;
  overflow: auto;
  white-space: pre-wrap;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: rgba(0,0,0,.26);
  color: rgba(255,255,255,.78);
  padding: 1rem;
  font-size: .88rem;
  line-height: 1.55;
}

.client-contract-email-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  margin-top: .9rem;
}

.client-contract-email-grid label,
.client-contract-email-message-field {
  display: grid;
  gap: .35rem;
  color: rgba(255,255,255,.78);
  font-size: .8rem;
  font-weight: 800;
}

.client-contract-email-grid input,
.client-contract-email-message-field textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: rgba(0,0,0,.24);
  color: #fff;
  padding: .72rem .8rem;
  font: inherit;
}

.client-contract-email-message-field {
  margin-top: .85rem;
}

.client-contract-email-message-field textarea {
  min-height: 180px;
  resize: vertical;
  line-height: 1.45;
}

@media (max-width: 760px) {
  .client-contract-heading,
  .client-contract-email-heading,
  .client-contract-preview-heading {
    display: grid;
  }

  .client-contract-focus-cards,
  .client-contract-email-grid {
    grid-template-columns: 1fr;
  }

  .client-contract-actions,
  .client-contract-email-actions {
    display: grid;
  }

  .client-contract-actions .btn,
  .client-contract-email-actions .btn {
    width: 100%;
  }

  #client-contract-preview {
    max-height: 300px;
  }
}

/* V126 - Materials & Selections before contract */
.client-materials-block {
  position: relative;
}

.client-materials-heading,
.client-materials-focus-board,
.client-materials-form-board {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(135deg, rgba(11, 24, 20, 0.92), rgba(7, 12, 18, 0.94));
  border-radius: 24px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.24);
}

.client-materials-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  padding: 22px;
  margin-bottom: 14px;
}

.client-materials-heading h4 {
  margin: 4px 0 6px;
  font-size: clamp(1.4rem, 2.2vw, 2rem);
}

.client-materials-focus-board {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(260px, 2fr);
  gap: 16px;
  padding: 18px;
  margin-bottom: 14px;
}

.client-materials-focus-intro span,
.client-materials-focus-card span,
.client-materials-form-board label span,
.client-materials-notes-field span {
  display: block;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.client-materials-focus-intro strong,
.client-materials-focus-card strong {
  display: block;
  color: #fff;
}

.client-materials-focus-intro small,
.client-materials-focus-card small,
.client-materials-helper {
  display: block;
  color: rgba(255, 255, 255, 0.66);
  line-height: 1.4;
  margin-top: 6px;
}

.client-materials-ai-button {
  margin-top: 14px;
  width: fit-content;
}

.client-materials-focus-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.client-materials-focus-card {
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  background: rgba(255, 255, 255, 0.045);
}

.client-materials-form-board {
  padding: 18px;
  margin-bottom: 12px;
}

.client-materials-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.client-materials-form-board input,
.client-materials-form-board textarea {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(3, 8, 12, 0.72);
  color: #fff;
  border-radius: 14px;
  padding: 12px 13px;
  font: inherit;
}

.client-materials-form-board input:disabled,
.client-materials-form-board textarea:disabled {
  opacity: 0.56;
  cursor: not-allowed;
}

.client-materials-notes-field {
  display: block;
  margin-top: 12px;
}

.client-materials-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 14px;
}

@media (max-width: 760px) {
  .client-materials-heading,
  .client-materials-focus-board {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  .client-materials-focus-cards,
  .client-materials-grid {
    grid-template-columns: 1fr;
  }
  .client-materials-actions .btn,
  .client-materials-ai-button {
    width: 100%;
  }
}

/* V128 - Proposal delivery contrast and accidental text-selection cleanup */
.client-proposal-email-board.client-proposal-email-compact-board{
  color:#123821;
  background:linear-gradient(135deg, #fffdf6 0%, #f4fbf0 100%);
  border:1px solid rgba(21,128,61,.28);
  box-shadow:0 18px 45px rgba(2,8,12,.18);
  -webkit-user-select:none;
  user-select:none;
}
.client-proposal-email-compact-board .client-proposal-email-heading{
  color:#123821;
}
.client-proposal-email-compact-board .client-proposal-email-heading span{
  color:#a45a10;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.client-proposal-email-compact-board .client-proposal-email-heading strong{
  color:#11381f !important;
  font-size:1.08rem;
  line-height:1.2;
}
.client-proposal-email-compact-board .client-proposal-email-heading small,
.client-proposal-email-compact-board .client-proposal-email-helper{
  color:#355642 !important;
  font-size:.86rem;
  line-height:1.4;
}
.client-proposal-email-compact-board .client-proposal-email-heading em{
  border-color:rgba(21,128,61,.22) !important;
  background:rgba(21,128,61,.1) !important;
  color:#125c2c !important;
}
.client-proposal-email-compact-board .client-proposal-send-summary>div{
  background:linear-gradient(145deg, #edf2ea, #dfe7dd);
  border:1px solid rgba(17,56,31,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.client-proposal-email-compact-board .client-proposal-send-summary span{
  color:#7b4c16 !important;
}
.client-proposal-email-compact-board .client-proposal-send-summary strong{
  color:#123821 !important;
}
.client-proposal-email-compact-board .client-proposal-email-actions,
.client-proposal-email-compact-board button{
  -webkit-user-select:none;
  user-select:none;
}
@media (max-width:780px){
  .client-proposal-email-board.client-proposal-email-compact-board{
    padding:16px;
  }
  .client-proposal-email-compact-board .client-proposal-email-heading{
    gap:10px;
  }
}

/* V136 — proposal-style fillable contract document cleanup */
.client-contract-magnetic-document-card {
  border: 1px solid rgba(241, 140, 58, 0.38);
  background: linear-gradient(135deg, rgba(241, 140, 58, 0.14), rgba(18, 36, 31, 0.62));
}
.client-contract-document-preview-board pre {
  white-space: pre-wrap;
  max-height: 220px;
  overflow: auto;
}
#client-contract-email-board[hidden] {
  display: none !important;
}


.client-contract-email-compact-board {
  margin-top: 1rem;
}


.wmc-finalize-pdf-note {
  display: block;
  margin: -0.25rem 0 0.8rem;
  color: rgba(255,255,255,0.74);
  font-size: 0.82rem;
  line-height: 1.35;
}


.wmc-document-review[hidden]{display:none!important}
.wmc-document-review{position:fixed;inset:0;z-index:9998}
.wmc-document-review-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}
.wmc-document-review-panel{position:relative;width:min(1240px,calc(100vw - 24px));height:min(900px,calc(100vh - 24px));margin:12px auto;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:#101820;color:#fff;display:grid;grid-template-rows:auto 1fr;overflow:hidden;box-shadow:0 28px 100px rgba(0,0,0,.46)}
.wmc-document-review-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem 1.15rem;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(245,130,11,.18),rgba(29,185,84,.08))}
.wmc-document-review-header h2{margin:.2rem 0 .15rem;font-size:clamp(1.15rem,2vw,1.75rem)}
.wmc-document-review-header p{margin:0;color:rgba(255,255,255,.76)}
.wmc-document-review-kicker{color:#ffb56b;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.wmc-document-review-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 286px}
.wmc-document-review-sheet{min-height:0;overflow:auto;padding:1.1rem;background:#e7e3d9;color:#141414}
.wmc-document-review-sheet-head{width:min(820px,100%);margin:0 auto .8rem;padding:.85rem 1rem;background:#101820;color:#fff;border-radius:14px;display:grid;gap:.2rem}
.wmc-document-review-sheet-head small{color:rgba(255,255,255,.72)}
.wmc-document-review-fields{width:min(820px,100%);margin:0 auto;display:grid;gap:.65rem}
.wmc-document-review-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem .65rem;align-items:end;padding:.7rem;border:1px solid rgba(16,24,32,.18);background:#fff;border-radius:11px;box-shadow:0 8px 22px rgba(16,24,32,.08)}
.wmc-document-review-field span{grid-column:1/-1;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(16,24,32,.60);font-weight:800}
.wmc-document-review-field textarea{min-height:54px;resize:vertical;border:1px solid rgba(16,24,32,.18);background:#f8f8f5;color:#111}
.wmc-document-review-field .btn{height:max-content;white-space:nowrap}
.wmc-document-review-actions{min-height:0;overflow:auto;padding:1rem;border-left:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);display:flex;flex-direction:column;gap:.75rem}
.wmc-document-review-actions small{color:rgba(255,255,255,.74);line-height:1.35}
@media(max-width:900px){.wmc-document-review-panel{width:calc(100vw - 14px);height:calc(100vh - 14px);margin:7px auto}.wmc-document-review-body{grid-template-columns:1fr;grid-template-rows:1fr auto}.wmc-document-review-actions{border-left:0;border-top:1px solid rgba(255,255,255,.12)}.wmc-document-review-field{grid-template-columns:1fr}}


/* V190: keep job-specific navigation hidden until a roof job is selected. Roof Jobs remains visible. */
body:not(.wmc-job-selected) .command-sidebar .command-nav .job-scoped-nav {
  display: none !important;
}

body:not(.wmc-job-selected) .command-sidebar .command-nav {
  gap: 10px;
}


/* V190: completed workflow steps now appear directly inside each roof job card. */
.job-card-progress-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 9px;
}

.job-card-progress-step {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  padding: 4px 7px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.72);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
  line-height: 1;
}

.job-card-progress-step.done {
  border-color: rgba(45,191,115,.46);
  background: rgba(45,191,115,.16);
  color: #dfffea;
}

.job-card-progress-step.now {
  border-color: rgba(245,122,32,.62);
  background: rgba(245,122,32,.16);
  color: #ffe2ca;
}

.job-card-progress-step .step-dot {
  display: inline-grid;
  place-items: center;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  font-size: .56rem;
  line-height: 1;
}


/* V191: fast admin delete button on every roof report customer box. */
.job-delete-toggle {
  border: 1px solid rgba(255,92,92,.58);
  background: rgba(255,92,92,.16);
  color: #ffe1e1;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.job-delete-toggle:hover,
.job-delete-toggle:focus-visible {
  border-color: rgba(255,120,120,.92);
  background: rgba(255,92,92,.26);
  transform: translateY(-1px);
}

.job-delete-toggle:disabled {
  cursor: not-allowed;
  opacity: .5;
  transform: none;
}


/* V192: Roof Jobs is the orange queue button; workflow numbering starts at Roof Selection. */
.command-sidebar .command-nav a.roof-jobs-nav-button {
  border-color: rgba(245, 122, 32, .68);
  background: linear-gradient(135deg, rgba(245, 122, 32, .24), rgba(245, 122, 32, .09));
  color: #fff3e8;
  box-shadow: inset 0 0 0 1px rgba(245, 122, 32, .16);
}

.command-sidebar .command-nav a.roof-jobs-nav-button span,
.command-sidebar .command-nav a.supporting-nav span {
  display: none;
}

.command-sidebar .command-nav a.roof-jobs-nav-button:hover,
.command-sidebar .command-nav a.roof-jobs-nav-button:focus-visible {
  border-color: rgba(245, 122, 32, .95);
  background: linear-gradient(135deg, rgba(245, 122, 32, .34), rgba(245, 122, 32, .14));
}

.command-sidebar .command-nav a.supporting-nav {
  opacity: .88;
}


/* V193: left menu workflow buttons follow dashboard status colors. */
.command-sidebar .command-nav a.job-scoped-nav.workflow-step-done {
  border-color: rgba(45, 191, 115, .70);
  background: linear-gradient(135deg, rgba(45, 191, 115, .24), rgba(45, 191, 115, .08));
  color: #e8fff1;
  box-shadow: inset 0 0 0 1px rgba(45, 191, 115, .18);
}

.command-sidebar .command-nav a.job-scoped-nav.workflow-step-done span {
  border-color: rgba(45, 191, 115, .72);
  background: rgba(45, 191, 115, .30);
  color: #ecfff4;
}

.command-sidebar .command-nav a.job-scoped-nav.workflow-step-now {
  border-color: rgba(245, 122, 32, .78);
  background: linear-gradient(135deg, rgba(245, 122, 32, .24), rgba(245, 122, 32, .09));
  color: #fff3e8;
  box-shadow: inset 0 0 0 1px rgba(245, 122, 32, .20);
}

.command-sidebar .command-nav a.job-scoped-nav.workflow-step-now span {
  border-color: rgba(245, 122, 32, .78);
  background: rgba(245, 122, 32, .30);
  color: #fff3e8;
}

.command-sidebar .command-nav a.job-scoped-nav.workflow-step-locked {
  border-color: rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.72);
}

.command-sidebar .command-nav a.job-scoped-nav.workflow-step-done:hover,
.command-sidebar .command-nav a.job-scoped-nav.workflow-step-done:focus-visible {
  border-color: rgba(64, 220, 136, .96);
  background: linear-gradient(135deg, rgba(45, 191, 115, .32), rgba(45, 191, 115, .12));
}

.command-sidebar .command-nav a.job-scoped-nav.workflow-step-now:hover,
.command-sidebar .command-nav a.job-scoped-nav.workflow-step-now:focus-visible {
  border-color: rgba(255, 153, 72, .96);
  background: linear-gradient(135deg, rgba(245, 122, 32, .34), rgba(245, 122, 32, .13));
}


/* V197: empty PDF is opened from inside the Review & Modify form only. */
.wmc-document-review-actions #open-empty-document-review-button {
  width: 100%;
  justify-content: center;
  margin-top: 8px;
}


/* V203: top session email is no longer displayed as an account/settings-style button. */
.session-pill.session-status-label {
  pointer-events: none;
  cursor: default;
  user-select: none;
  min-height: 40px;
  padding: 0 14px;
  border-color: rgba(45,191,115,.32);
  background: rgba(45,191,115,.075);
  box-shadow: inset 0 0 0 1px rgba(45,191,115,.06);
}

.session-pill.session-status-label #session-email {
  color: rgba(234,241,246,.88);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.session-pill.session-status-label:hover,
.session-pill.session-status-label:focus-visible {
  transform: none;
}


/* V204: header account settings button + business profile branding modal. */
.account-settings-button {
  border-color: rgba(45,191,115,.42);
  background: rgba(45,191,115,.08);
  color: #eafaf0;
}

.account-settings-button:hover,
.account-settings-button:focus-visible {
  border-color: rgba(45,191,115,.78);
  background: rgba(45,191,115,.15);
}

.account-settings-modal[hidden] {
  display: none !important;
}

.account-settings-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 24px;
}

.account-settings-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(2,8,12,.74);
  backdrop-filter: blur(8px);
}

.account-settings-dialog {
  position: relative;
  width: min(1120px, 96vw);
  max-height: min(90vh, 980px);
  overflow: auto;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(145deg, rgba(14,28,36,.98), rgba(6,14,20,.98));
  box-shadow: 0 30px 90px rgba(0,0,0,.58);
}

.account-settings-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 26px 18px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(145deg, rgba(14,28,36,.98), rgba(6,14,20,.96));
}

.account-settings-header h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.6vw, 2.25rem);
  line-height: 1.05;
}

.account-settings-header p:last-child {
  margin: 8px 0 0;
  color: rgba(234,241,246,.76);
}

.account-settings-body {
  display: grid;
  grid-template-columns: minmax(240px, 310px) 1fr;
  gap: 20px;
  padding: 22px 26px 26px;
}

.account-profile-card,
.account-settings-form {
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 22px;
  background: rgba(255,255,255,.045);
  padding: 18px;
}

.account-profile-card span {
  display: block;
  color: var(--orange-2);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.account-profile-logo-frame {
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.25);
  padding: 14px;
  min-height: 166px;
  display: grid;
  place-items: center;
}

.account-profile-logo-frame img {
  width: 100%;
  max-height: 150px;
  object-fit: contain;
  border-radius: 16px;
}

.account-logo-upload {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  color: rgba(234,241,246,.88);
  font-weight: 900;
}

.account-logo-upload input {
  width: 100%;
}

.account-profile-card small {
  display: block;
  margin-top: 14px;
  color: rgba(234,241,246,.68);
  line-height: 1.45;
}

.account-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}

.account-settings-grid label {
  display: grid;
  gap: 7px;
  color: rgba(234,241,246,.86);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.account-settings-grid label.wide {
  grid-column: 1 / -1;
}

.account-settings-grid input,
.account-settings-grid textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(1,8,12,.72);
  color: #fff;
  min-height: 44px;
  padding: 10px 12px;
  font-size: .94rem;
  text-transform: none;
  letter-spacing: 0;
}

.account-settings-grid textarea {
  resize: vertical;
  min-height: 82px;
}

.account-settings-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

@media (max-width: 860px) {
  .account-settings-modal {
    padding: 12px;
  }
  .account-settings-body {
    grid-template-columns: 1fr;
    padding: 18px;
  }
  .account-settings-grid {
    grid-template-columns: 1fr;
  }
  .account-settings-header {
    align-items: stretch;
    flex-direction: column;
  }
}


/* V205: Account Settings becomes a scrolling settings menu with separated logos. */
.account-settings-menu-shell {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.account-settings-menu-shell[hidden] {
  display: none !important;
}

.account-settings-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(340px, 88vw);
  max-height: min(420px, 58vh);
  overflow-y: auto;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(145deg, rgba(11,22,30,.98), rgba(4,10,15,.98));
  box-shadow: 0 20px 60px rgba(0,0,0,.46);
  z-index: 1500;
}

.account-settings-menu[hidden] {
  display: none !important;
}

.account-settings-menu-item {
  width: 100%;
  display: grid;
  gap: 4px;
  text-align: left;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: #f7fbff;
  border-radius: 14px;
  padding: 12px 14px;
  cursor: pointer;
}

.account-settings-menu-item + .account-settings-menu-item {
  margin-top: 8px;
}

.account-settings-menu-item strong {
  font-size: .92rem;
}

.account-settings-menu-item span {
  color: rgba(234,241,246,.68);
  font-size: .76rem;
  line-height: 1.35;
}

.account-settings-menu-item:hover,
.account-settings-menu-item:focus-visible {
  border-color: rgba(245,122,32,.70);
  background: rgba(245,122,32,.12);
}

.account-settings-menu-item.muted {
  opacity: .70;
}

.account-profile-logo-split {
  display: grid;
  gap: 16px;
}

.account-logo-panel {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 12px;
  background: rgba(255,255,255,.035);
}

.account-logo-panel > strong {
  display: block;
  color: #fff;
  font-size: .88rem;
  line-height: 1.25;
  margin-bottom: 10px;
}

.account-settings-body.single {
  grid-template-columns: 1fr;
}

.payments-settings-dialog {
  width: min(860px, 96vw);
}


/* V206: former WMC utility links now live inside Account Settings. */
.account-settings-menu-item[data-account-menu-action="guide"],
.account-settings-menu-item[data-account-menu-action="faq"],
.account-settings-menu-item[data-account-menu-action="analysis"],
.account-settings-menu-item[data-account-menu-action="proposal"],
.account-settings-menu-item[data-account-menu-action="materials"],
.account-settings-menu-item[data-account-menu-action="contract"] {
  border-color: rgba(45,191,115,.16);
}


/* V207: compact customer boxes. Collapsed cards show only address, status, and Info. */
.job-card.compact-customer-card {
  gap: 8px;
  padding: 12px 13px;
}

.job-card.compact-customer-card .job-card-head {
  align-items: center;
  gap: 10px;
}

.job-card.compact-customer-card .job-card-head strong {
  font-size: .94rem;
  line-height: 1.18;
  word-break: break-word;
}

.job-card.compact-customer-card .job-card-head-actions {
  gap: 6px;
  justify-items: end;
}

.job-card.compact-customer-card .mini-pill {
  min-height: 28px;
  padding: 0 10px;
  font-size: .72rem;
}

.job-card.compact-customer-card .job-info-toggle {
  min-height: 27px;
  padding: 0 11px;
  font-size: .70rem;
  text-transform: uppercase;
}

.job-card.compact-customer-card.collapsed {
  min-height: auto;
}

.job-card.compact-customer-card.expanded {
  padding: 14px;
}

.job-card-expanded-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.job-card-customer-line {
  margin: 0;
  color: rgba(234,241,246,.78);
  font-size: .82rem;
  line-height: 1.35;
}

.job-card.compact-customer-card .job-card-info-panel {
  margin-top: 6px;
}


/* V208: verified sender field in account brand settings. */
.account-settings-grid input#account-brand-sender-email::placeholder {
  color: rgba(234,241,246,.42);
}


/* V211: proposal/contract inline brand boards removed. Edit Brand opens Account Settings > Brand Details. */
.document-brand-account-button {
  border-color: rgba(45,191,115,.42);
  background: rgba(45,191,115,.08);
  color: #ecfff4;
}

.document-brand-account-button:hover,
.document-brand-account-button:focus-visible {
  border-color: rgba(45,191,115,.78);
  background: rgba(45,191,115,.15);
}


/* V213: inline proposal/contract brand boards and stale CSS removed. Brand editing is centralized in Account Settings. */
.document-brand-account-button {
  border-color: rgba(45,191,115,.42);
  background: rgba(45,191,115,.08);
  color: #ecfff4;
}

.document-brand-account-button:hover,
.document-brand-account-button:focus-visible {
  border-color: rgba(45,191,115,.78);
  background: rgba(45,191,115,.15);
}

/* V216: real compact Precision Queue selectors. The queue HTML uses .queue-panel, not .job-list-panel. */
.queue-panel.panel-card {
  padding: 13px 12px;
  border-radius: 22px;
}

.queue-panel .panel-heading.queue-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.queue-panel .panel-heading.queue-heading > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.queue-panel .panel-heading.queue-heading .eyebrow {
  font-size: 0.53rem;
  letter-spacing: 0.10em;
  line-height: 1;
  margin: 0;
}

.queue-panel .panel-heading.queue-heading h3 {
  font-size: clamp(0.98rem, 1.18vw, 1.22rem) !important;
  line-height: 1.02;
  letter-spacing: -0.045em;
  margin: 0;
}

.queue-panel .panel-heading.queue-heading .btn,
.queue-panel .panel-heading.queue-heading button {
  min-height: 30px;
  padding: 5px 10px;
  font-size: 0.66rem;
  line-height: 1;
  white-space: nowrap;
}

.queue-panel .queue-controls {
  grid-template-columns: 1fr;
  gap: 7px;
  margin: 9px 0 10px;
}

.queue-panel .control-field {
  gap: 4px;
}

.queue-panel .control-field span {
  font-size: 0.60rem;
  letter-spacing: 0.065em;
  line-height: 1;
}

.queue-panel .control-field input,
.queue-panel .control-field select {
  min-height: 32px;
  padding: 6px 9px;
  border-radius: 13px;
  font-size: 0.76rem;
}

.queue-panel .job-list {
  gap: 8px;
  max-height: calc(100vh - 356px);
}

.queue-panel .job-card.compact-customer-card {
  padding: 9px 10px;
  border-radius: 16px;
}

.queue-panel .job-card.compact-customer-card .job-card-head strong {
  font-size: 0.82rem;
  line-height: 1.12;
}

.queue-panel .job-card.compact-customer-card .mini-pill {
  min-height: 24px;
  padding: 0 8px;
  font-size: 0.62rem;
}

.queue-panel .job-card.compact-customer-card .job-info-toggle {
  min-height: 24px;
  padding: 0 8px;
  font-size: 0.62rem;
}

@media (max-width: 760px) {
  .queue-panel.panel-card {
    padding: 11px 10px;
    border-radius: 18px;
  }

  .queue-panel .panel-heading.queue-heading h3 {
    font-size: 1rem !important;
  }

  .queue-panel .panel-heading.queue-heading .btn,
  .queue-panel .panel-heading.queue-heading button {
    min-height: 28px;
    padding: 5px 9px;
  }
}





/* V218: restore old desktop command header behavior and stop laptop/zoom widths from stacking the title/buttons. */
@media (min-width: 761px) {
  body.wmc-command-redesign .app-header {
    position: sticky;
    top: 0;
    z-index: 60;
    min-height: 0;
    border-bottom: 1px solid rgba(255,255,255,.10);
    background: rgba(4,10,15,.88);
    backdrop-filter: blur(26px);
  }

  .command-header-shell {
    width: min(1540px, calc(100% - 42px)) !important;
    min-height: 154px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(180px, 250px) minmax(0, 1fr) auto !important;
    gap: 28px !important;
    align-items: center !important;
    padding: 18px 0 !important;
  }

  .command-header-logo-card {
    width: auto !important;
    max-width: 250px !important;
    justify-self: stretch !important;
    border-radius: 28px;
  }

  .command-header-logo-card img {
    width: 100% !important;
    max-height: 150px !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }

  .command-header-copy {
    min-width: 0 !important;
    display: grid !important;
    gap: 7px !important;
    align-content: center !important;
  }

  .command-header-copy h1 {
    margin: 0 !important;
    font-size: clamp(2.05rem, 3.25vw, 3.85rem) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    text-wrap: normal !important;
  }

  .command-header-copy .subline {
    max-width: 880px !important;
    font-size: clamp(.86rem, 1vw, 1.03rem) !important;
    line-height: 1.38 !important;
  }

  .command-account-stack {
    width: auto !important;
    justify-self: end !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
  }

  .command-account-stack .btn,
  .command-account-stack .session-pill {
    width: auto !important;
    min-height: 44px !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 600px) and (max-width: 760px) {
  .command-header-shell {
    width: calc(100% - 28px) !important;
    min-height: 118px !important;
    display: grid !important;
    grid-template-columns: 132px minmax(0, 1fr) auto !important;
    gap: 16px !important;
    align-items: center !important;
    padding: 12px 0 !important;
  }

  .command-header-logo-card {
    width: 132px !important;
    justify-self: start !important;
  }

  .command-header-logo-card img {
    max-height: 106px !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .command-header-copy h1 {
    font-size: clamp(1.65rem, 4.5vw, 2.35rem) !important;
    line-height: .98 !important;
    text-wrap: normal !important;
  }

  .command-header-copy .subline {
    font-size: .78rem !important;
    line-height: 1.28 !important;
  }

  .command-security-strip span {
    min-height: 27px !important;
    padding: 0 9px !important;
    font-size: .62rem !important;
  }

  .command-account-stack {
    width: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-self: end !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  .command-account-stack .btn,
  .command-account-stack .session-pill {
    width: auto !important;
    min-height: 34px !important;
    padding: 0 11px !important;
    font-size: .70rem !important;
  }
}


/* V219: customer card uses one top-right Info/Hide toggle. The inner Hide button was removed. */
.job-card.compact-customer-card.expanded .job-info-toggle {
  border-color: rgba(255, 176, 77, .72);
  background: rgba(255, 134, 28, .18);
  color: #fff6e8;
}

/* V226: exact customer perimeter refreshes from public lead source truth before saved-selection map rendering. */

/* V227: saved roof-selection map applies the exact public Instant Quote map view snapshot when available. */

/* V228 exact public static snapshot */
.saved-roof-selection-map.is-static-snapshot {
  background: #050807;
  overflow: hidden;
}
.saved-roof-selection-map.is-static-snapshot > :not(.saved-roof-selection-static-snapshot) {
  display: none !important;
}
.saved-roof-selection-static-snapshot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 5;
}

/* V243 WMC precision overlay stored image with self-healing private recovery */
.saved-roof-selection-map[data-static-snapshot-active="true"],
.saved-roof-selection-map.is-static-snapshot {
  position: relative !important;
  background: #050807 !important;
  overflow: hidden !important;
  min-height: 320px;
}

.saved-roof-selection-map[data-static-snapshot-active="true"] > :not(.saved-roof-selection-static-snapshot-frame),
.saved-roof-selection-map.is-static-snapshot > :not(.saved-roof-selection-static-snapshot-frame) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.saved-roof-selection-static-snapshot-frame {
  position: absolute !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  background: #050807 !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}

.saved-roof-selection-static-snapshot {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #050807 !important;
}

.saved-roof-selection-static-snapshot-frame.snapshot-loaded .saved-roof-selection-static-snapshot-message {
  display: none !important;
}

.saved-roof-selection-static-snapshot-message {
  position: absolute;
  inset: auto 18px 18px 18px;
  z-index: 1000001;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255, 138, 0, .38);
  background: rgba(5, 8, 7, .86);
  color: #fff7e8;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  box-shadow: 0 14px 32px rgba(0,0,0,.35);
}

.saved-roof-selection-static-snapshot-frame.snapshot-error {
  border: 1px solid rgba(255, 99, 71, .4);
}

/* V233 no-black fallback: static snapshot is only an overlay. The live Google map remains available unless the image actually loads. */
.saved-roof-selection-map .saved-roof-selection-static-snapshot-frame {
  position: absolute !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(5, 8, 7, .88) !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}
.saved-roof-selection-map .saved-roof-selection-static-snapshot-frame.is-loading {
  background: rgba(5, 8, 7, .62) !important;
}
.saved-roof-selection-map .saved-roof-selection-static-snapshot-frame.snapshot-loaded {
  background: #050807 !important;
}
.saved-roof-selection-map:not([data-static-snapshot-active="true"]) > :not(.saved-roof-selection-static-snapshot-frame) {
  visibility: visible;
}
.saved-roof-selection-map[data-static-snapshot-active="true"] > :not(.saved-roof-selection-static-snapshot-frame),
.saved-roof-selection-map.is-static-snapshot > :not(.saved-roof-selection-static-snapshot-frame) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.saved-roof-selection-static-snapshot {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #050807 !important;
}

/* V234: force saved roof-selection workspace to keep live map visible; static snapshot overlay is disabled. */
.saved-roof-selection-map[data-static-snapshot-active="true"],
.saved-roof-selection-map.is-static-snapshot {
  background: transparent !important;
}
.saved-roof-selection-map[data-static-snapshot-active="true"] > :not(.saved-roof-selection-static-snapshot-frame),
.saved-roof-selection-map.is-static-snapshot > :not(.saved-roof-selection-static-snapshot-frame) {
  display: initial !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.saved-roof-selection-static-snapshot-frame,
.saved-roof-selection-static-snapshot,
.saved-roof-selection-static-snapshot-message {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* V235: exact public image is stored as data and displayed only when available. No external static-image load path. */
.saved-roof-selection-map {
  position: relative;
}

.saved-roof-selection-stored-image-frame {
  position: absolute !important;
  inset: 0 !important;
  z-index: 999990 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  background: #050807 !important;
  overflow: hidden !important;
  pointer-events: auto !important;
  border-radius: inherit;
}

.saved-roof-selection-stored-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #050807 !important;
}

.saved-roof-selection-map.has-stored-public-image > :not(.saved-roof-selection-stored-image-frame) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* V236 confirms the stored exact public image path is Maps Static API server-capture ready. */

/* V243: use or recover the same WMC precision roof image from the public quote/private Edge path when available. */

.saved-roof-selection-map.has-precision-overlay-layer {
  background: #050807 !important;
}

.saved-roof-selection-map.has-precision-overlay-layer .gm-style {
  background: #050807 !important;
}
.saved-roof-selection-stored-image-frame.has-precision-overlay {
  background: #050807 !important;
}

.saved-roof-selection-precision-svg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.saved-roof-selection-precision-path {
  fill: rgba(255, 138, 0, .30);
  stroke: #ff8a00;
  stroke-width: .62;
  vector-effect: non-scaling-stroke;
  stroke-linejoin: round;
  stroke-linecap: round;
  filter: drop-shadow(0 0 2px rgba(5, 8, 7, .85));
}

/* V243: true precision-image canvas with self-healing private overlay recovery. This bypasses Google satellite/Static map rendering
   for jobs that contain the WMC precision/solar overlay image, so the review outline is
   drawn directly over the same stored image source instead of a shifted basemap. */
.saved-roof-selection-map.has-precision-image-canvas {
  position: relative !important;
  background: #050807 !important;
  overflow: hidden !important;
  border-radius: 1rem !important;
}
.saved-roof-selection-map.has-precision-image-canvas > :not(.saved-roof-selection-precision-canvas) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.saved-roof-selection-precision-canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  background: #050807 !important;
  border-radius: inherit !important;
  user-select: none !important;
  touch-action: none !important;
}
.saved-roof-selection-precision-image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  object-position: center center !important;
  background: #050807 !important;
  z-index: 1 !important;
}
.saved-roof-selection-precision-editor {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 3 !important;
  pointer-events: auto !important;
  touch-action: none !important;
}
.saved-roof-selection-precision-handle {
  fill: #fff6e8;
  stroke: #ff8a00;
  stroke-width: .52;
  vector-effect: non-scaling-stroke;
  cursor: grab;
  filter: drop-shadow(0 0 3px rgba(0,0,0,.9));
}
.saved-roof-selection-precision-handle:active {
  cursor: grabbing;
}
.saved-roof-selection-precision-badge {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 5;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 138, 0, .46);
  background: rgba(5, 8, 7, .78);
  color: #fff2dc;
  font-size: .76rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 12px 28px rgba(0,0,0,.32);
}

/* V243: visible precision image recovery control */
.precision-repair-button {
  border-color: rgba(255, 149, 0, 0.62) !important;
  color: #ffd9a0 !important;
}
.precision-repair-button:not(:disabled) {
  box-shadow: 0 0 0 1px rgba(255, 149, 0, 0.16), 0 0 22px rgba(255, 149, 0, 0.12);
}
.precision-repair-button:disabled {
  opacity: 0.62;
}

/* V243: deeper precision image zoom plus drag-to-move pan for close roof-outline correction. */
.saved-roof-selection-precision-canvas {
  --wmc-precision-zoom: 1;
  --wmc-precision-pan-x: 0px;
  --wmc-precision-pan-y: 0px;
  cursor: default;
}
.saved-roof-selection-precision-canvas[data-precision-pannable="true"] {
  cursor: grab;
}
.saved-roof-selection-precision-canvas[data-precision-pannable="true"].is-panning {
  cursor: grabbing;
}
.saved-roof-selection-precision-image,
.saved-roof-selection-precision-editor {
  transform: translate3d(var(--wmc-precision-pan-x, 0px), var(--wmc-precision-pan-y, 0px), 0) scale(var(--wmc-precision-zoom, 1)) !important;
  transform-origin: center center !important;
  transition: transform .08s ease-out !important;
}
.saved-roof-selection-precision-canvas.is-panning .saved-roof-selection-precision-image,
.saved-roof-selection-precision-canvas.is-panning .saved-roof-selection-precision-editor {
  transition: none !important;
}
.saved-roof-selection-precision-zoom {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 8;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 138, 0, .44);
  background: rgba(5, 8, 7, .84);
  box-shadow: 0 14px 34px rgba(0,0,0,.38);
  backdrop-filter: blur(10px);
}
.precision-zoom-button,
.precision-zoom-reset {
  appearance: none;
  border: 1px solid rgba(255, 138, 0, .42);
  background: rgba(255, 138, 0, .14);
  color: #fff4e2;
  font-weight: 900;
  border-radius: 999px;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  cursor: pointer;
}
.precision-zoom-reset {
  min-width: 76px;
}
.precision-zoom-button:hover,
.precision-zoom-reset:hover {
  background: rgba(255, 138, 0, .24);
}
.precision-zoom-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #fff1dd;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .02em;
  white-space: nowrap;
}
.precision-zoom-label strong {
  color: #ffbf6a;
  font-size: .76rem;
}
.precision-zoom-slider {
  width: 154px;
  accent-color: #ff8a00;
}
.precision-pan-hint {
  color: rgba(255, 241, 221, .78);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .02em;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .saved-roof-selection-precision-zoom {
    left: 10px;
    right: 10px;
    top: auto;
    bottom: 10px;
    justify-content: center;
    border-radius: 18px;
    padding: 8px;
    flex-wrap: wrap;
  }
  .precision-zoom-slider {
    width: min(52vw, 190px);
  }
  .precision-pan-hint {
    width: 100%;
    text-align: center;
  }
  .saved-roof-selection-precision-badge {
    top: 10px;
    left: 10px;
  }
}


/* V244: bottom zoom bar + dual exact/satellite view controls */
.saved-roof-selection-map-help{
  display:none !important;
}
.saved-roof-selection-precision-zoom{
  left:12px;
  right:12px;
  top:auto !important;
  bottom:12px !important;
  justify-content:center;
  flex-wrap:nowrap;
  border-radius:18px;
  padding:8px 10px;
}
.saved-roof-selection-precision-badge{
  top:12px;
  left:12px;
}
.precision-zoom-label{
  min-width:52px;
  justify-content:center;
}
.precision-zoom-slider{
  flex:1 1 220px;
  width:auto;
  min-width:150px;
  max-width:320px;
}
.saved-roof-selection-source-actions{
  grid-template-columns:1fr;
}
@media (max-width:760px){
  .saved-roof-selection-precision-zoom{
    left:10px;
    right:10px;
    bottom:10px !important;
    top:auto !important;
    justify-content:center;
    flex-wrap:wrap;
  }
  .precision-zoom-slider{
    width:min(60vw,220px);
    flex:0 1 auto;
  }
  .precision-pan-hint{
    width:100%;
    text-align:center;
  }
  .saved-roof-selection-source-actions{
    grid-template-columns:1fr;
  }
}


/* V247: remove visible Perimeter Source box from the roof-selection workspace.
   The internal state/canvas fallback remains in the background, but the visible workflow stays clean. */
.saved-roof-selection-source-toolbar,
.saved-roof-selection-metrics{
  display:none !important;
}

/* Keep the lower precision/rebase diagnostics quieter so the live satellite editor stays focused. */
.saved-roof-selection-info-deck{
  margin-top:0 !important;
}

.saved-roof-selection-info-deck:empty{
  display:none !important;
}


/* V248: compact six-corner straightening action for cleaner roof geometry. */
#straighten-six-corners-button{
  border-color:rgba(255,174,47,.55) !important;
  color:#ffe2b4 !important;
}
#straighten-six-corners-button:not(:disabled){
  box-shadow:0 0 0 1px rgba(255,174,47,.12),0 12px 26px rgba(255,138,0,.10);
}


/* V250 Maximum Precision 2D Model */
.mode1-max2d-panel{
  border:1px solid rgba(244,154,29,.32);
  border-radius:28px;
  padding:20px;
  margin:18px 0 22px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,249,244,.92));
  box-shadow:0 22px 48px rgba(15,23,42,.10);
}
.mode1-max2d-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.mode1-max2d-heading h6{
  margin:4px 0 7px;
  font-size:22px;
  color:#17351d;
}
.mode1-max2d-heading p{
  margin:0;
  color:#52615a;
  font-weight:700;
  line-height:1.55;
  max-width:780px;
}
.mode1-max2d-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:14px 0 16px;
}
.mode1-max2d-metric-grid div{
  border:1px solid rgba(39,116,47,.14);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  padding:12px 14px;
}
.mode1-max2d-metric-grid span{
  display:block;
  color:#6b746f;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  margin-bottom:5px;
}
.mode1-max2d-metric-grid strong{
  display:block;
  color:#16281b;
  font-size:14px;
  line-height:1.25;
}
.mode1-max2d-drawing-frame{
  border-radius:24px;
  border:1px solid rgba(15,23,42,.08);
  background:#f8faf8;
  overflow:hidden;
}
.mode1-max2d-svg{
  display:block;
  width:100%;
  height:auto;
  min-height:420px;
  background:#f3f6f1;
}
.mode1-max2d-paper{
  fill:#fbfdf8;
  stroke:#dce7d8;
  stroke-width:2;
}
.mode1-max2d-title{
  fill:#142018;
  font-size:28px;
  font-weight:950;
  letter-spacing:.08em;
}
.mode1-max2d-subtitle{
  fill:#69776f;
  font-size:13px;
  font-weight:900;
  letter-spacing:.12em;
}
.mode1-max2d-roof-fill{
  fill:rgba(244,154,29,.10);
  stroke:none;
}
.mode1-max2d-perimeter{
  fill:none;
  stroke:#101513;
  stroke-width:6;
  stroke-linejoin:round;
  stroke-linecap:round;
}
.mode1-max2d-feature{
  fill:none;
  stroke-width:4.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mode1-max2d-feature.ridge{stroke:#263238;}
.mode1-max2d-feature.hip{stroke:#475569;}
.mode1-max2d-feature.valley{stroke:#0f766e;stroke-dasharray:10 8;}
.mode1-max2d-feature.eave{stroke:#f49a1d;}
.mode1-max2d-feature.rake{stroke:#d97706;}
.mode1-max2d-feature.guide{stroke:#94a3b8;stroke-dasharray:6 7;}
.mode1-max2d-facet{
  fill:rgba(39,116,47,.10);
  stroke:rgba(39,116,47,.12);
  stroke-width:1.6;
}
.mode1-max2d-facet.tone-2{fill:rgba(244,154,29,.10);}
.mode1-max2d-facet.tone-3{fill:rgba(15,118,110,.10);}
.mode1-max2d-facet.tone-4{fill:rgba(51,65,85,.08);}
.mode1-max2d-facet.tone-5{fill:rgba(132,204,22,.10);}
.mode1-max2d-vertex circle{
  fill:#fff;
  stroke:#101513;
  stroke-width:2.3;
}
.mode1-max2d-vertex text{
  fill:#101513;
  font-size:8px;
  font-weight:950;
  text-anchor:middle;
}
.mode1-max2d-callout line{
  stroke:rgba(15,23,42,.32);
  stroke-width:1.6;
}
.mode1-max2d-callout rect{
  fill:#fff;
  stroke:rgba(15,23,42,.18);
  stroke-width:1.4;
}
.mode1-max2d-callout text{
  fill:#16281b;
  font-size:11px;
  font-weight:900;
  text-anchor:middle;
}
.mode1-max2d-legend rect{
  fill:rgba(255,255,255,.92);
  stroke:rgba(15,23,42,.12);
  stroke-width:1.2;
}
.mode1-max2d-legend text{
  fill:#334155;
  font-size:13px;
  font-weight:850;
}
.mode1-contractor-plan-sheet .mode1-max2d-panel{
  margin:0 0 18px;
}
@media (max-width:900px){
  .mode1-max2d-heading{display:block;}
  .mode1-max2d-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:620px){
  .mode1-max2d-metric-grid{grid-template-columns:1fr;}
  .mode1-max2d-panel{padding:14px;}
}


/* V290 carry-forward: WMC Intelligence home/sign-in branding lock. The login/header logo stays the original WMC logo. */
[data-wmc-intelligence-brand-lock] img,
img[data-wmc-fixed-login-logo]{
  object-fit:contain;
}


/* V290 carry-forward: dual-boundary precision model. Raw boundary stays for calculation; straight contractor corners drive the 2D report model. */
.mode1-max2d-raw-boundary{
  fill:none;
  stroke:rgba(15,23,42,.20);
  stroke-width:2;
  stroke-dasharray:8 8;
  vector-effect:non-scaling-stroke;
}
.mode1-max2d-perimeter{
  stroke-linejoin:round;
  stroke-linecap:round;
}
.mode1-max2d-vertex circle{
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.18));
}
.mode1-max2d-metric-grid div:nth-child(2),
.mode1-max2d-metric-grid div:nth-child(3),
.mode1-max2d-metric-grid div:nth-child(4){
  border-color:rgba(244,154,29,.24);
}


/* V290 carry-forward: Roof Analysis is results-only. Internal action headings/buttons stay available to code but are hidden from the workspace. */
.actual-draft-heading,
.plane-intelligence-heading,
.assembled-report-heading,
.line-diagram-heading,
.assembled-report-v3-heading,
.report-sheet-heading,
#mode1-draft-output-guide,
#plane-intelligence-output-guide,
#line-diagram-output-guide,
#plane-intelligence-status,
#assembled-mode1-report-status,
#line-diagram-status,
#assembled-mode1-report-v3-status,
#mode1-report-sheet-status{
  display:none !important;
}

.plane-intelligence-shell{
  margin-top:18px;
}
.plane-intelligence-preview,
.assembled-mode1-report-preview,
.line-diagram-preview,
.mode1-report-sheet-preview,
.satellite-draft-preview{
  margin-top:18px;
}
.assembled-mode1-report-card .satellite-draft-topline h6{
  letter-spacing:-.01em;
}


/* V290 carry-forward: maximum precision calculation audit panel. */
.mode1-calculation-audit-panel{
  margin:18px 0 20px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(134,239,172,.20);
  background:linear-gradient(135deg, rgba(5,18,15,.86), rgba(15,23,42,.66));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.mode1-calculation-audit-panel-sheet{
  break-inside:avoid;
}

.mode1-calculation-audit-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}

.mode1-calculation-audit-heading h6{
  margin:4px 0 8px;
  color:#f8fafc;
  font-size:18px;
  line-height:1.22;
}

.mode1-calculation-audit-heading p:not(.eyebrow){
  max-width:780px;
  margin:0;
  color:rgba(226,232,240,.78);
  font-size:13px;
  line-height:1.5;
}

.mode1-calculation-audit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.mode1-calculation-audit-grid div{
  min-height:86px;
  padding:13px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.095);
}

.mode1-calculation-audit-grid span{
  display:block;
  margin-bottom:7px;
  color:rgba(226,232,240,.68);
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.mode1-calculation-audit-grid strong{
  display:block;
  color:#f8fafc;
  font-size:15px;
  line-height:1.25;
}

.mode1-calculation-audit-grid small{
  display:block;
  margin-top:7px;
  color:rgba(203,213,225,.68);
  font-size:11px;
  line-height:1.35;
}

.mode1-calculation-audit-heading .draft-pill.approved{
  border-color:rgba(134,239,172,.38);
  color:#bbf7d0;
  background:rgba(22,101,52,.22);
}

.mode1-calculation-audit-heading .draft-pill.ready{
  border-color:rgba(96,165,250,.35);
  color:#bfdbfe;
  background:rgba(29,78,216,.18);
}

.mode1-calculation-audit-heading .draft-pill.review{
  border-color:rgba(251,191,36,.38);
  color:#fde68a;
  background:rgba(146,64,14,.18);
}

.mode1-calculation-audit-heading .draft-pill.alert{
  border-color:rgba(248,113,113,.38);
  color:#fecaca;
  background:rgba(127,29,29,.20);
}

@media (max-width: 980px){
  .mode1-calculation-audit-heading{
    flex-direction:column;
  }
  .mode1-calculation-audit-grid{
    grid-template-columns:1fr;
  }
}


/* V290 carry-forward: cleaned Roof Analysis wording/result tables. */
.assembled-mode1-report-card table,
.assembled-mode1-report-card th,
.assembled-mode1-report-card td{
  word-break:normal;
}


/* V290 carry-forward: readable analysis/edge cards and cleaner wording presentation. */
.mode1-edge-reconciliation-grid article,
.mode1-edge-reconstruction-grid article,
.mode1-edge-diagnostic-scoreboard article,
.mode1-max2d-metric-grid div,
.satellite-draft-metric-grid div{
  background:rgba(255,255,255,.085) !important;
  border-color:rgba(255,255,255,.20) !important;
}

.mode1-edge-reconciliation-grid span,
.mode1-edge-reconstruction-grid span,
.mode1-edge-diagnostic-scoreboard span,
.mode1-max2d-metric-grid span,
.satellite-draft-metric-grid span{
  color:rgba(226,232,240,.88) !important;
}

.mode1-edge-reconciliation-grid strong,
.mode1-edge-reconstruction-grid strong,
.mode1-edge-diagnostic-scoreboard strong,
.mode1-max2d-metric-grid strong,
.satellite-draft-metric-grid strong{
  color:#ffffff !important;
  text-shadow:0 1px 8px rgba(0,0,0,.18);
}

.mode1-edge-reconciliation-grid small,
.mode1-edge-reconstruction-grid small,
.mode1-edge-diagnostic-scoreboard small{
  color:rgba(226,232,240,.82) !important;
}

.mode1-edge-reconciliation-heading h6,
.mode1-edge-reconstruction-heading h6,
.mode1-edge-diagnostic-heading h6{
  color:#ffffff;
  line-height:1.32;
}

.mode1-edge-reconciliation-note,
.mode1-edge-reconstruction-note,
.mode1-edge-diagnostic-note{
  color:#f8fafc !important;
  background:rgba(16,185,129,.10) !important;
  border-color:rgba(134,239,172,.28) !important;
}

.assembled-mode1-report-card .plane-intelligence-table td:first-child,
.mode1-report-sheet-panel .plane-intelligence-table td:first-child{
  word-break:normal;
  white-space:normal;
}

.mode1-report-sheet-card .mode1-edge-reconciliation-grid article,
.mode1-report-sheet-card .mode1-edge-reconstruction-grid article,
.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard article{
  background:rgba(15,23,42,.06) !important;
  border-color:rgba(15,23,42,.16) !important;
}

.mode1-report-sheet-card .mode1-edge-reconciliation-grid span,
.mode1-report-sheet-card .mode1-edge-reconstruction-grid span,
.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard span,
.mode1-report-sheet-card .mode1-edge-reconciliation-grid small,
.mode1-report-sheet-card .mode1-edge-reconstruction-grid small,
.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard small{
  color:rgba(15,23,42,.74) !important;
}

.mode1-report-sheet-card .mode1-edge-reconciliation-grid strong,
.mode1-report-sheet-card .mode1-edge-reconstruction-grid strong,
.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard strong{
  color:#0f172a !important;
  text-shadow:none;
}


/* V290 carry-forward: focused visibility repair after V258 wording cleanup.
   The previous broad contrast repair made light report panels too pale.
   This restores dark readable text inside light Maximum Precision / report-sheet panels
   while keeping dark edge/review panels bright and readable. */

/* Light Maximum Precision 2D model panel */
.mode1-max2d-panel,
.mode1-max2d-panel.mode1-max2d-panel-sheet{
  background:linear-gradient(180deg,#fbfff8 0%,#f4f8ef 100%) !important;
  border-color:rgba(132,94,23,.30) !important;
  color:#102015 !important;
}

.mode1-max2d-panel .mode1-max2d-heading h6{
  color:#102015 !important;
  text-shadow:none !important;
}

.mode1-max2d-panel .mode1-max2d-heading p{
  color:#334155 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.mode1-max2d-panel .mode1-max2d-heading .eyebrow{
  color:#9a5c00 !important;
  opacity:1 !important;
}

.mode1-max2d-panel .mode1-max2d-heading .draft-pill{
  background:rgba(20,83,45,.12) !important;
  border-color:rgba(20,83,45,.32) !important;
  color:#14532d !important;
  text-shadow:none !important;
  box-shadow:none !important;
}

/* Restore metric visibility in light panels */
.mode1-max2d-panel .mode1-max2d-metric-grid div,
.mode1-report-sheet-card .mode1-max2d-panel .mode1-max2d-metric-grid div,
.mode1-report-sheet-card .mode1-max2d-metric-grid div{
  background:#ffffff !important;
  border-color:rgba(15,23,42,.16) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
  opacity:1 !important;
}

.mode1-max2d-panel .mode1-max2d-metric-grid span,
.mode1-report-sheet-card .mode1-max2d-panel .mode1-max2d-metric-grid span,
.mode1-report-sheet-card .mode1-max2d-metric-grid span{
  color:#475569 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.mode1-max2d-panel .mode1-max2d-metric-grid strong,
.mode1-report-sheet-card .mode1-max2d-panel .mode1-max2d-metric-grid strong,
.mode1-report-sheet-card .mode1-max2d-metric-grid strong{
  color:#0f172a !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Keep the light SVG/title readable */
.mode1-max2d-panel .mode1-max2d-drawing-frame{
  background:#f8faf8 !important;
  border-color:rgba(15,23,42,.12) !important;
}

.mode1-max2d-panel .mode1-max2d-svg{
  background:#f2f6ef !important;
}

/* Dark edge/review panels must stay bright and readable */
.mode1-edge-reconciliation-panel,
.mode1-edge-reconstruction-panel,
.mode1-edge-diagnostic-panel{
  background:linear-gradient(145deg,rgba(8,18,25,.98),rgba(11,31,33,.94)) !important;
  border-color:rgba(134,239,172,.22) !important;
  color:#f8fafc !important;
}

.mode1-edge-reconciliation-panel *,
.mode1-edge-reconstruction-panel *,
.mode1-edge-diagnostic-panel *{
  opacity:1 !important;
}

.mode1-edge-reconciliation-heading h6,
.mode1-edge-reconstruction-heading h6,
.mode1-edge-diagnostic-heading h6,
.mode1-edge-reconciliation-heading p,
.mode1-edge-reconstruction-heading p,
.mode1-edge-diagnostic-heading p{
  color:#f8fafc !important;
  text-shadow:none !important;
}

.mode1-edge-reconciliation-grid article,
.mode1-edge-reconstruction-grid article,
.mode1-edge-diagnostic-scoreboard article{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.22) !important;
}

.mode1-edge-reconciliation-grid span,
.mode1-edge-reconstruction-grid span,
.mode1-edge-diagnostic-scoreboard span{
  color:#dbeafe !important;
  opacity:1 !important;
}

.mode1-edge-reconciliation-grid strong,
.mode1-edge-reconstruction-grid strong,
.mode1-edge-diagnostic-scoreboard strong{
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 8px rgba(0,0,0,.18) !important;
}

.mode1-edge-reconciliation-grid small,
.mode1-edge-reconstruction-grid small,
.mode1-edge-diagnostic-scoreboard small{
  color:#e2e8f0 !important;
  opacity:1 !important;
}

.mode1-edge-reconciliation-note,
.mode1-edge-reconstruction-note,
.mode1-edge-diagnostic-note{
  color:#ffffff !important;
  background:rgba(16,185,129,.14) !important;
  border-color:rgba(134,239,172,.34) !important;
}

/* Dark Maximum Calculation Audit remains readable */
.mode1-calculation-audit-panel{
  background:linear-gradient(135deg, rgba(5,18,15,.94), rgba(15,23,42,.86)) !important;
  border-color:rgba(134,239,172,.24) !important;
}

.mode1-calculation-audit-panel *{
  opacity:1 !important;
}

.mode1-calculation-audit-panel h6,
.mode1-calculation-audit-panel strong{
  color:#ffffff !important;
}

.mode1-calculation-audit-panel span,
.mode1-calculation-audit-panel small,
.mode1-calculation-audit-panel p{
  color:rgba(226,232,240,.88) !important;
}

/* Report sheet versions of edge cards on light paper */
.mode1-report-sheet-card .mode1-edge-reconciliation-panel,
.mode1-report-sheet-card .mode1-edge-reconstruction-panel,
.mode1-report-sheet-card .mode1-edge-diagnostic-panel{
  background:#ffffff !important;
  border-color:rgba(15,23,42,.16) !important;
  color:#0f172a !important;
}

.mode1-report-sheet-card .mode1-edge-reconciliation-heading h6,
.mode1-report-sheet-card .mode1-edge-reconstruction-heading h6,
.mode1-report-sheet-card .mode1-edge-diagnostic-heading h6,
.mode1-report-sheet-card .mode1-edge-reconciliation-heading p,
.mode1-report-sheet-card .mode1-edge-reconstruction-heading p,
.mode1-report-sheet-card .mode1-edge-diagnostic-heading p{
  color:#0f172a !important;
}

.mode1-report-sheet-card .mode1-edge-reconciliation-grid article,
.mode1-report-sheet-card .mode1-edge-reconstruction-grid article,
.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard article{
  background:#f8fafc !important;
  border-color:rgba(15,23,42,.16) !important;
}

.mode1-report-sheet-card .mode1-edge-reconciliation-grid span,
.mode1-report-sheet-card .mode1-edge-reconstruction-grid span,
.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard span,
.mode1-report-sheet-card .mode1-edge-reconciliation-grid small,
.mode1-report-sheet-card .mode1-edge-reconstruction-grid small,
.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard small{
  color:#475569 !important;
}

.mode1-report-sheet-card .mode1-edge-reconciliation-grid strong,
.mode1-report-sheet-card .mode1-edge-reconstruction-grid strong,
.mode1-report-sheet-card .mode1-edge-diagnostic-scoreboard strong{
  color:#0f172a !important;
  text-shadow:none !important;
}

.mode1-report-sheet-card .mode1-edge-reconciliation-note,
.mode1-report-sheet-card .mode1-edge-reconstruction-note,
.mode1-report-sheet-card .mode1-edge-diagnostic-note{
  color:#0f172a !important;
  background:#ecfdf5 !important;
  border-color:rgba(22,101,52,.20) !important;
}


/* V290 carry-forward: Materials & Order Prep wording polish. */
.mode1-order-rule-engine-panel .mode1-order-rule-engine-heading h6,
.mode1-roof-system-library .mode1-roof-system-library-heading h6{
  max-width:980px;
  line-height:1.32;
}

.mode1-order-rule-engine-panel .mode1-order-rule-engine-heading p,
.mode1-roof-system-library .mode1-roof-system-library-heading p{
  max-width:980px;
  line-height:1.55;
}

.mode1-order-rule-engine-panel .eyebrow,
.mode1-roof-system-library .eyebrow{
  letter-spacing:.16em;
}


/* V290 carry-forward: safe removal guard only for the obsolete expected-result preview. */
.mode1-reference-outcome .expected-mode-heading,
.mode1-reference-outcome .mode1-expected-preview,
.mode1-expected-preview,
.mode1-blueprint-card,
.mode1-report-grid{
  display:none !important;
}


/* V290 carry-forward: exact three visible edge-review badges only.
   Fixes the real classes shown on the page:
   - .mode1-edge-reconciliation-pill
   - .mode1-edge-reconstruction-pill
   - .mode1-edge-diagnostic-pill
   No layout, table, report sheet, dashboard, or calculation styling is changed. */
.mode1-edge-reconciliation-pill,
.mode1-edge-reconciliation-pill.resolved,
.mode1-edge-reconciliation-pill.review,
.mode1-edge-reconstruction-pill,
.mode1-edge-reconstruction-pill.reconstructed,
.mode1-edge-reconstruction-pill.stable,
.mode1-edge-diagnostic-pill,
.mode1-edge-diagnostic-pill.strong,
.mode1-edge-diagnostic-pill.staged,
.mode1-edge-diagnostic-pill.review{
  opacity:1 !important;
  color:#14532d !important;
  background:#ecfdf5 !important;
  border:1px solid rgba(20,83,45,.42) !important;
  box-shadow:none !important;
  text-shadow:none !important;
  filter:none !important;
}

/* Keep these badges readable when they appear inside the light report sheet/card. */
.mode1-report-sheet-panel .mode1-edge-reconciliation-pill,
.mode1-report-sheet-panel .mode1-edge-reconstruction-pill,
.mode1-report-sheet-panel .mode1-edge-diagnostic-pill,
.mode1-report-sheet-card .mode1-edge-reconciliation-pill,
.mode1-report-sheet-card .mode1-edge-reconstruction-pill,
.mode1-report-sheet-card .mode1-edge-diagnostic-pill{
  opacity:1 !important;
  color:#14532d !important;
  background:#ecfdf5 !important;
  border-color:rgba(20,83,45,.42) !important;
}


/* V290 carry-forward: roofing precision engine only. No layout rebuild. */
.mode1-calculation-audit-panel .draft-pill.approved,
.mode1-calculation-audit-panel .draft-pill.ready{
  opacity:1 !important;
}


/* V290 carry-forward: line clarity only for the existing 2D model SVG.
   No report layout, dashboard, table, card, or workflow styling is changed. */
.mode1-max2d-feature.ridge,
.mode1-max2d-feature.hip,
.mode1-max2d-feature.valley{
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.mode1-max2d-perimeter{
  stroke-linejoin:round !important;
  stroke-linecap:round !important;
}


/* V290 carry-forward: preserve crisp contractor straight-edge display in the existing SVG only. */
.mode1-max2d-perimeter,
.mode1-max2d-feature{
  vector-effect:non-scaling-stroke;
}


/* V290 carry-forward: true-corner solver. No layout changes.
   The underlying calculation data remains preserved; only the existing SVG line/callout display is de-cluttered. */
.mode1-max2d-feature{
  vector-effect:non-scaling-stroke;
}
