:root{--ink:#15202b;--muted:#64748b;--line:#d9e1e8;--panel:#fff;--soft:#f5f7f9;--accent:#bf1e2e;--accent2:#8f1622}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--ink);background:#f7f8fa}
body>header{height:72px;background:#101820;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px)}
.brand{font-weight:900;font-size:25px;letter-spacing:-.5px}.brand span{font-size:13px;letter-spacing:2px;margin-left:5px}.tag{font-size:14px;color:#d9e1e8}
main{max-width:1180px;margin:auto;padding:44px 22px 80px}.hero{max-width:820px;margin:auto;text-align:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--accent)}
h1{font-size:clamp(36px,5vw,60px);line-height:1.02;letter-spacing:-2px;margin:12px 0 16px}.hero p{font-size:18px;line-height:1.6;color:var(--muted);margin:0 auto 25px;max-width:700px}
.address-wrap{max-width:700px;margin:0 auto;text-align:left;min-height:58px}.address-wrap gmp-place-autocomplete{width:100%;font-size:18px}.error{background:#fff0f0;color:#9f1239;border:1px solid #fecdd3;padding:12px 14px;border-radius:10px;margin-top:12px}.hidden{display:none!important}
.workspace{margin-top:36px}.stepbar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:760px;margin:0 auto 16px;color:#94a3b8;font-weight:700;font-size:13px}.stepbar span{border-top:3px solid #dfe5ea;padding-top:8px}.stepbar .active{color:var(--ink);border-color:var(--accent)}
.map-card{position:relative;background:#ddd;border-radius:18px;overflow:hidden;border:1px solid var(--line)}#map{height:min(62vw,620px);min-height:420px}.map-overlay{position:absolute;left:16px;bottom:16px;background:rgba(16,24,32,.9);color:white;padding:11px 15px;border-radius:10px;font-weight:700;max-width:78%}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0}.toolbar button{min-height:46px;border-radius:10px;padding:0 17px;border:1px solid var(--line);font-size:14px;font-weight:800;cursor:pointer}.primary{background:var(--accent);color:white;border-color:var(--accent)!important}.primary:hover{background:var(--accent2)}.secondary{background:white;color:var(--ink)}.active-tool{outline:3px solid rgba(191,30,46,.16);border-color:var(--accent)!important}.hint{text-align:center;color:var(--muted);font-size:14px;margin-top:-7px}
.results{margin-top:28px}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.result-grid>div,.pricing article{background:white;border:1px solid var(--line);border-radius:15px;padding:22px}.result-grid span{display:block;font-size:13px;color:var(--muted);font-weight:700}.result-grid strong{display:block;font-size:34px;margin-top:7px}.result-grid small{color:var(--muted)}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.pricing article{position:relative}.pricing h3{letter-spacing:1.5px;margin:4px 0 12px}.pricing article>div:not(.badge){font-size:26px;font-weight:900}.pricing p{color:var(--muted);line-height:1.45}.featured{border:2px solid var(--accent)!important}.badge{position:absolute;right:12px;top:12px;background:#fee2e2;color:#991b1b;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.fineprint{text-align:center;color:var(--muted);font-size:12px;max-width:760px;margin:18px auto}
@media(max-width:760px){.tag{display:none}main{padding-top:28px}.result-grid{grid-template-columns:repeat(2,1fr)}.pricing{grid-template-columns:1fr}#map{height:500px}.stepbar{font-size:11px}}


/* Contractor authentication */
body.auth-loading>header,body.auth-loading>main,
body.auth-locked>header,body.auth-locked>main{display:none!important}
.auth-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 18px;background:linear-gradient(145deg,#0c131a,#172431)}
.auth-card{width:min(100%,460px);background:#fff;border-radius:20px;padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.auth-card.compact{width:min(100%,430px)}
.auth-logo{font-size:26px;font-weight:950;letter-spacing:-.8px}.auth-logo span{font-size:12px;letter-spacing:2px;margin-left:6px;color:var(--accent)}
.auth-kicker{margin:22px 0 7px!important;font-size:11px!important;letter-spacing:1.8px;font-weight:900;color:var(--accent)!important}
.auth-card h1{font-size:34px;letter-spacing:-1px;margin:0 0 8px}.auth-subtitle{font-size:15px!important;line-height:1.5!important;color:var(--muted)!important;margin:0 0 22px!important}
.google-auth,.auth-primary{width:100%;height:48px;border-radius:10px;font-size:15px;font-weight:850;cursor:pointer}.google-auth{background:#fff;border:1px solid var(--line);color:var(--ink)}.google-auth:hover{background:#f8fafc}.google-g{font-size:18px;font-weight:900;margin-right:8px;color:#4285f4}
.auth-divider{display:flex;align-items:center;gap:12px;margin:19px 0;color:#94a3b8;font-size:12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}
.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:6px;text-align:left;font-size:13px;font-weight:800;color:#334155}.auth-form input{height:46px;border:1px solid #cbd5e1;border-radius:9px;padding:0 12px;font-size:15px;outline:none}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(191,30,46,.1)}
.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-primary{border:0;background:var(--accent);color:#fff;margin-top:4px}.auth-primary:hover{background:var(--accent2)}.auth-primary:disabled,.google-auth:disabled{opacity:.6;cursor:wait}
.auth-switch{width:100%;border:0;background:none;margin-top:18px;color:#64748b;cursor:pointer;font-size:13px}.auth-switch strong{color:var(--accent)}
.auth-message{margin-top:14px;padding:11px 12px;border-radius:9px;background:#f1f5f9;color:#334155;font-size:13px;line-height:1.45}.auth-message.error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.auth-message.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}
.account-area{display:flex;align-items:center;gap:12px;font-size:13px;color:#cbd5e1}.account-area button{border:1px solid #475569;background:transparent;color:#fff;border-radius:8px;padding:7px 10px;cursor:pointer}.account-area button:hover{background:#1e293b}
@media(max-width:600px){.auth-card{padding:26px 20px}.auth-row{grid-template-columns:1fr}.account-area #accountLabel{display:none}}


/* SPLIT SCREEN SAAS AUTH */
.auth-gate { align-items:stretch; justify-content:center; padding:0; background:#0b1118; }
.auth-shell { width:100%; min-height:100vh; display:grid; grid-template-columns:minmax(420px,1.05fr) minmax(480px,.95fr); }
.auth-marketing { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; padding:clamp(50px,7vw,110px); color:white; background:radial-gradient(circle at 15% 15%,rgba(190,18,60,.32),transparent 32%),radial-gradient(circle at 80% 80%,rgba(51,65,85,.38),transparent 34%),linear-gradient(145deg,#0a1118 0%,#111c27 52%,#172431 100%); }
.auth-marketing::after { content:""; position:absolute; width:420px; height:420px; right:-160px; bottom:-170px; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018); pointer-events:none; }
.auth-marketing-badge { display:inline-flex; align-self:flex-start; padding:8px 11px; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(255,255,255,.06); color:#f8fafc; font-size:10px; font-weight:900; letter-spacing:1.6px; }
.auth-marketing h2 { max-width:650px; margin:28px 0 18px; color:white; font-size:clamp(48px,6vw,78px); line-height:.95; letter-spacing:-3px; font-weight:950; }
.auth-marketing>p { max-width:570px; margin:0; color:#cbd5e1; font-size:17px; line-height:1.65; }
.auth-feature-list { display:grid; gap:20px; max-width:600px; margin-top:44px; }
.auth-feature { display:grid; grid-template-columns:34px 1fr; gap:13px; align-items:start; }
.auth-feature-icon { width:30px; height:30px; display:flex; align-items:center; justify-content:center; border-radius:9px; background:rgba(190,18,60,.22); border:1px solid rgba(244,63,94,.32); color:#fb7185; font-weight:900; }
.auth-feature strong { display:block; color:#fff; font-size:14px; margin-bottom:4px; }
.auth-feature span { display:block; max-width:500px; color:#94a3b8; font-size:13px; line-height:1.5; }
.auth-marketing-footer { margin-top:54px; color:#64748b; font-size:10px; font-weight:900; letter-spacing:2px; }
.auth-form-side { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:42px; background:#f8fafc; }
.auth-form-side .auth-card { width:min(100%,475px); margin:0; box-shadow:0 24px 70px rgba(15,23,42,.12); }
@media(max-width:980px){ .auth-shell{grid-template-columns:1fr}.auth-marketing{min-height:auto;padding:44px 28px}.auth-marketing h2{font-size:48px;letter-spacing:-2px}.auth-feature-list{grid-template-columns:1fr 1fr}.auth-form-side{min-height:auto;padding:34px 20px 50px} }
@media(max-width:650px){ .auth-marketing{padding:34px 22px}.auth-marketing h2{font-size:40px}.auth-marketing>p{font-size:15px}.auth-feature-list{grid-template-columns:1fr;margin-top:30px}.auth-marketing-footer{display:none}.auth-form-side{padding:24px 16px 40px} }


/* MEASUREMENT HISTORY — SLIDE-OUT DRAWER */
.history-backdrop{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.42);
  backdrop-filter:blur(2px);
  z-index:1190;
}
.history-backdrop.hidden{display:none!important}

.history-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(520px,92vw);
  height:100vh;
  margin:0;
  padding:24px;
  background:#fff;
  border:0;
  border-left:1px solid #e2e8f0;
  border-radius:0;
  box-shadow:-22px 0 50px rgba(8,42,69,.16);
  z-index:1200;
  overflow-y:auto;
  transform:translateX(102%);
  transition:transform .22s ease;
  visibility:hidden;
}
.history-drawer.open{
  transform:translateX(0);
  visibility:visible;
}
body.history-drawer-open{overflow:hidden}

.history-drawer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid #e2e8f0;
}
.history-drawer-head h2{
  margin:5px 0 0;
  color:#082A45;
  font-size:26px;
}
.history-close{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  color:#334155;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.history-close:hover{
  border-color:#F7941D;
  color:#F7941D;
}
.history-drawer-copy{
  margin:14px 0 18px;
  color:#64748b;
  line-height:1.5;
  font-size:13px;
}
.history-tools{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin-bottom:16px;
}
.history-tools span{
  font-size:12px;
  font-weight:800;
  color:#64748b;
  white-space:nowrap;
}
.history-tools input{
  width:100%;
  height:42px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  padding:0 12px;
  font:inherit;
  outline:none;
}
.history-tools input:focus{
  border-color:#F7941D;
  box-shadow:0 0 0 3px rgba(247,148,29,.14);
}
.history-list{display:grid;gap:10px}
.history-card{
  display:grid;
  gap:12px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:15px;
  background:#fff;
}
.history-card:hover{
  border-color:#cbd5e1;
  box-shadow:0 6px 18px rgba(8,42,69,.06);
}
.history-address{
  font-size:14px;
  font-weight:900;
  color:#082A45;
  margin-bottom:8px;
  line-height:1.35;
}
.history-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  color:#64748b;
  font-size:11px;
}
.history-meta strong{color:#334155}
.history-card-side{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.history-cache{
  font-size:10px;
  font-weight:900;
  letter-spacing:.5px;
  text-transform:uppercase;
  padding:6px 8px;
  border-radius:999px;
}
.history-cache.valid{background:#ecfdf5;color:#047857}
.history-cache.expired{background:#f1f5f9;color:#64748b}
.history-expired{font-size:11px;color:#94a3b8;font-weight:700}
.history-empty{
  padding:28px 18px;
  text-align:center;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  color:#64748b;
  background:#f8fafc;
}
.history-empty.hidden{display:none!important}

.account-area{gap:8px}
#historyButton{
  background:transparent;
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  border-radius:8px;
  padding:8px 11px;
  cursor:pointer;
}
#historyButton:hover{
  border-color:#F7941D;
  color:#F7941D;
}

@media(max-width:600px){
  .history-drawer{
    width:100%;
    max-width:none;
    padding:18px 16px 28px;
  }
  .history-tools{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .history-tools span{white-space:normal}
}


/* CONTRACTOR PRICING — TOP NAV + MODAL */
#pricingButton{
  background:transparent;
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  border-radius:8px;
  padding:8px 11px;
  cursor:pointer;
}
#pricingButton:hover{
  border-color:#F7941D;
  color:#F7941D;
}

.pricing-modal{
  position:fixed;
  inset:0;
  z-index:1300;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.pricing-modal.hidden{display:none!important}
.pricing-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(2px);
}
.pricing-modal-card{
  position:relative;
  z-index:1;
  width:min(920px,96vw);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:18px;
  box-shadow:0 28px 80px rgba(8,42,69,.25);
  padding:24px;
}
.pricing-modal-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding-bottom:16px;
  border-bottom:1px solid #e2e8f0;
}
.pricing-modal-head h2{
  margin:5px 0 6px;
  color:#082A45;
  font-size:28px;
}
.pricing-modal-head p{
  margin:0;
  color:#64748b;
  line-height:1.45;
  font-size:13px;
}
.pricing-close{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  color:#334155;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.pricing-close:hover{
  border-color:#F7941D;
  color:#F7941D;
}
.pricing-form{padding-top:20px}
.pricing-tier-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.pricing-tier-card{
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:16px;
  background:#fff;
}
.pricing-tier-card.featured{
  border:2px solid #F7941D;
}
.pricing-tier-card h3{
  margin:0 0 14px;
  color:#082A45;
}
.pricing-form label{
  display:grid;
  gap:6px;
  margin-bottom:12px;
  color:#334155;
  font-size:12px;
  font-weight:800;
}
.pricing-form input,
.pricing-form select{
  width:100%;
  height:42px;
  box-sizing:border-box;
  border:1px solid #cbd5e1;
  border-radius:9px;
  padding:0 11px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-size:14px;
  outline:none;
}
.pricing-form input:focus,
.pricing-form select:focus{
  border-color:#F7941D;
  box-shadow:0 0 0 3px rgba(247,148,29,.14);
}
.money-input{
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  border:1px solid #cbd5e1;
  border-radius:9px;
  overflow:hidden;
  background:#fff;
}
.money-input:focus-within{
  border-color:#F7941D;
  box-shadow:0 0 0 3px rgba(247,148,29,.14);
}
.money-input span{
  display:flex;
  align-items:center;
  justify-content:center;
  height:40px;
  color:#64748b;
  border-right:1px solid #e2e8f0;
}
.money-input input{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.pricing-settings-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #e2e8f0;
}
.settings-message{
  margin-top:14px;
  padding:10px 12px;
  border-radius:9px;
  font-size:12px;
  font-weight:800;
  background:#f8fafc;
  color:#334155;
}
.settings-message.hidden{display:none!important}
.settings-message.success{background:#ecfdf5;color:#047857}
.settings-message.error{background:#fef2f2;color:#b91c1c}
.pricing-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding-top:18px;
}
@media(max-width:760px){
  .pricing-tier-grid,
  .pricing-settings-grid{
    grid-template-columns:1fr;
  }
  .pricing-modal{
    padding:10px;
  }
  .pricing-modal-card{
    width:100%;
    max-height:94vh;
    padding:18px 16px;
  }
  .account-area{
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  #pricingButton,
  #historyButton{
    padding:7px 9px;
    font-size:12px;
  }
}


/* PROPERTY ACTIONS */
.property-actions{
  margin-top:26px;
  padding-top:26px;
  border-top:1px solid #e2e8f0;
}
.property-actions.hidden{display:none!important}

.quick-customer-card{
  margin-bottom:28px;
  padding:22px;
  border:1px solid #dbe4ec;
  border-left:4px solid #f7941d;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(8,42,69,.06);
}
.quick-customer-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.quick-customer-heading h2{margin:5px 0 6px;color:#082A45;font-size:22px;line-height:1.2}
.quick-customer-heading p{max-width:720px;margin:0;color:#64748b;font-size:13px;line-height:1.5}
.quick-customer-status{
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-size:11px;
  font-weight:850;
}
.quick-customer-status.ready{background:#e8f7ef;color:#087443}
.quick-customer-form{
  display:grid;
  grid-template-columns:1.05fr 1fr 1fr auto;
  gap:12px;
  align-items:end;
}
.quick-customer-form label{display:grid;gap:6px;color:#334155;font-size:12px;font-weight:800}
.quick-customer-form label span{color:#94a3b8;font-size:10px;font-weight:700}
.quick-customer-form input{
  width:100%;
  min-height:43px;
  border:1px solid #cbd5e1;
  border-radius:9px;
  padding:9px 11px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-weight:500;
}
.quick-customer-form input:focus{outline:none;border-color:#f7941d;box-shadow:0 0 0 3px rgba(247,148,29,.12)}
.quick-customer-form button{min-height:43px;white-space:nowrap}
.quick-customer-message{margin-top:12px;padding:10px 12px;border-radius:9px;font-size:12px;font-weight:750}
.quick-customer-message.hidden{display:none!important}
.quick-customer-message.success{background:#e8f7ef;color:#087443}
.quick-customer-message.error{background:#fff1f2;color:#b42318}

.property-actions-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.property-actions-heading h2{
  margin:5px 0 6px;
  color:#082A45;
  font-size:26px;
  line-height:1.15;
}
.property-actions-heading p{
  margin:0;
  color:#64748b;
  font-size:13px;
}
.property-action-measurement{
  min-width:135px;
  padding:12px 14px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#f8fafc;
  text-align:right;
}
.property-action-measurement span,
.property-action-measurement small{
  display:block;
  color:#64748b;
  font-size:10px;
  font-weight:800;
  letter-spacing:.45px;
  text-transform:uppercase;
}
.property-action-measurement strong{
  display:block;
  margin:2px 0;
  color:#082A45;
  font-size:25px;
  line-height:1;
}

.property-action-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.property-action-card{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:1fr auto;
  gap:0 14px;
  padding:20px;
  border:1px solid #dbe3eb;
  border-radius:16px;
  background:#fff;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.property-action-card:hover{
  border-color:#b8c5d1;
  box-shadow:0 8px 24px rgba(8,42,69,.07);
}
.property-action-card.selected{
  border:2px solid #F7941D;
  box-shadow:0 8px 24px rgba(247,148,29,.10);
}
.property-action-icon{
  grid-row:1 / span 2;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:#082A45;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.5px;
}
.property-action-kicker{
  margin-bottom:5px;
  color:#F7941D;
  font-size:10px;
  font-weight:900;
  letter-spacing:.7px;
}
.property-action-copy h3{
  margin:0 0 7px;
  color:#082A45;
  font-size:20px;
}
.property-action-copy p{
  margin:0;
  color:#64748b;
  font-size:13px;
  line-height:1.5;
}
.property-action-includes{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:13px;
}
.property-action-includes span{
  padding:5px 8px;
  border-radius:999px;
  background:#f1f5f9;
  color:#475569;
  font-size:10px;
  font-weight:800;
}
.property-action-button{
  grid-column:2;
  width:100%;
  margin-top:18px;
  min-height:44px;
}
.property-action-button.selected{
  background:#F7941D!important;
  border-color:#F7941D!important;
}

.property-action-selection{
  margin-top:16px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid #fed7aa;
  border-radius:14px;
  background:#fff7ed;
}
.property-action-selection.hidden{display:none!important}
.property-action-selection span{
  display:block;
  margin-bottom:2px;
  color:#9a3412;
  font-size:10px;
  font-weight:900;
  letter-spacing:.6px;
}
.property-action-selection strong{
  display:block;
  color:#082A45;
  font-size:16px;
}
.property-action-selection p{
  margin:4px 0 0;
  color:#64748b;
  font-size:12px;
  line-height:1.45;
}
.property-action-selection button{
  flex:0 0 auto;
}

@media(max-width:760px){
  .quick-customer-heading{flex-direction:column;gap:10px}
  .quick-customer-form{grid-template-columns:1fr}
  .quick-customer-form button{width:100%}
  .property-actions-heading{
    align-items:stretch;
    flex-direction:column;
  }
  .property-action-measurement{
    min-width:0;
    text-align:left;
  }
  .property-action-grid{
    grid-template-columns:1fr;
  }
  .property-action-selection{
    align-items:stretch;
    flex-direction:column;
  }
  .property-action-selection button{
    width:100%;
  }
}

@media(max-width:480px){
  .property-action-card{
    grid-template-columns:1fr;
  }
  .property-action-icon{
    grid-row:auto;
    margin-bottom:12px;
  }
  .property-action-button{
    grid-column:1;
  }
}


/* PERSONALIZED MAILER BUILDER */
body.mailer-builder-open{overflow:hidden}
.mailer-builder-modal{
  position:fixed;
  inset:0;
  z-index:1500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.mailer-builder-modal.hidden{display:none!important}
.mailer-builder-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,42,69,.72);
  backdrop-filter:blur(4px);
}
.mailer-builder-shell{
  position:relative;
  z-index:1;
  width:min(1500px,98vw);
  height:min(920px,96vh);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#f8fafc;
  border-radius:18px;
  box-shadow:0 30px 90px rgba(2,20,34,.34);
}
.mailer-builder-header{
  flex:0 0 auto;
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:18px 22px;
  background:#fff;
  border-bottom:1px solid #dbe3eb;
}
.mailer-builder-header h2{
  margin:4px 0 3px;
  color:#082A45;
  font-size:25px;
}
.mailer-builder-header p{
  margin:0;
  color:#64748b;
  font-size:12px;
}
.mailer-builder-close{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  color:#334155;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.mailer-builder-close:hover{
  border-color:#F7941D;
  color:#F7941D;
}
.mailer-builder-layout{
  min-height:0;
  flex:1;
  display:grid;
  grid-template-columns:410px minmax(0,1fr);
}
.mailer-controls{
  min-height:0;
  overflow-y:auto;
  padding:18px;
  background:#fff;
  border-right:1px solid #dbe3eb;
}
.mailer-control-section{
  margin-bottom:14px;
  padding:15px;
  border:1px solid #e2e8f0;
  border-radius:13px;
  background:#fff;
}
.mailer-section-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.mailer-section-title>span{
  width:29px;
  height:29px;
  flex:0 0 29px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#082A45;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.mailer-section-title strong{
  display:block;
  color:#082A45;
  font-size:14px;
}
.mailer-section-title small{
  display:block;
  margin-top:1px;
  color:#94a3b8;
  font-size:10px;
}
.mailer-controls label{
  display:grid;
  gap:5px;
  margin-bottom:11px;
  color:#475569;
  font-size:11px;
  font-weight:800;
}
.mailer-controls input,
.mailer-controls select,
.mailer-controls textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #cbd5e1;
  border-radius:9px;
  padding:9px 10px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-size:12px;
  outline:none;
}
.mailer-controls input,
.mailer-controls select{height:40px}
.mailer-controls textarea{
  min-height:82px;
  resize:vertical;
  line-height:1.4;
}
.mailer-controls input:focus,
.mailer-controls select:focus,
.mailer-controls textarea:focus{
  border-color:#F7941D;
  box-shadow:0 0 0 3px rgba(247,148,29,.13);
}
.mailer-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.mailer-price-summary{
  padding:11px 12px;
  border-radius:10px;
  background:#082A45;
  color:#fff;
}
.mailer-price-summary span,
.mailer-price-summary small{
  display:block;
  font-size:9px;
  font-weight:800;
  color:#cbd5e1;
}
.mailer-price-summary strong{
  display:block;
  margin:3px 0;
  font-size:20px;
}
.mailer-text-button{
  padding:0;
  border:0;
  background:transparent;
  color:#b45309;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.mailer-builder-actions{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:10px;
  position:sticky;
  bottom:-18px;
  padding:12px 0 18px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 18%,#fff);
}
.mailer-builder-message{
  margin:0 0 12px;
  padding:10px 11px;
  border-radius:9px;
  background:#f1f5f9;
  color:#475569;
  font-size:11px;
  font-weight:700;
}
.mailer-builder-message.hidden{display:none!important}
.mailer-builder-message.success{background:#ecfdf5;color:#047857}
.mailer-builder-message.error{background:#fef2f2;color:#b91c1c}

.mailer-preview-area{
  min-width:0;
  min-height:0;
  overflow:auto;
  padding:20px 24px 30px;
  background:#eef2f6;
}
.mailer-preview-topbar{
  max-width:950px;
  margin:0 auto 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
}
.mailer-preview-topbar strong{
  display:block;
  color:#082A45;
  font-size:14px;
}
.mailer-preview-topbar span{
  display:block;
  color:#64748b;
  font-size:10px;
}
.mailer-preview-tabs{
  display:flex;
  gap:4px;
  padding:3px;
  border:1px solid #dbe3eb;
  border-radius:9px;
  background:#fff;
}
.mailer-preview-tabs button{
  border:0;
  border-radius:6px;
  padding:7px 12px;
  background:transparent;
  color:#64748b;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.mailer-preview-tabs button.active{
  background:#082A45;
  color:#fff;
}
.postcard-stage{
  max-width:950px;
  margin:0 auto;
}
.postcard{
  position:relative;
  width:100%;
  aspect-ratio:3/2;
  overflow:hidden;
  border:1px solid #cbd5e1;
  border-radius:6px;
  background:#fff;
  box-shadow:0 16px 38px rgba(8,42,69,.14);
}
.postcard.hidden{display:none!important}
.postcard-front{
  display:flex;
  flex-direction:column;
  padding:4.1% 4.5% 3.2%;
}
.postcard-brand-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding-bottom:2.2%;
  border-bottom:1px solid #dbe3eb;
}
.postcard-logo-wrap{
  min-height:36px;
  display:flex;
  align-items:center;
}
.postcard-logo-wrap.back{min-height:45px}
.postcard-logo{
  max-width:225px;
  max-height:58px;
  object-fit:contain;
  object-position:left center;
}
.postcard-logo.hidden{display:none!important}
.postcard-company{
  color:#082A45;
  font-size:clamp(16px,2.2vw,27px);
  font-weight:950;
  letter-spacing:-.4px;
}
.postcard-brand-contact{
  display:grid;
  gap:3px;
  text-align:right;
  color:#475569;
  font-size:clamp(8px,1vw,12px);
  font-weight:800;
}
.postcard-property-label{
  margin-top:2.5%;
  color:#F7941D;
  font-size:clamp(7px,.75vw,9px);
  font-weight:950;
  letter-spacing:1px;
}
.postcard-address{
  margin-top:.4%;
  color:#082A45;
  font-size:clamp(10px,1.3vw,16px);
  font-weight:900;
}
.postcard-front-content{
  padding-top:2.5%;
}
.postcard-headline{
  max-width:88%;
  color:#082A45;
  font-size:clamp(23px,3.5vw,44px);
  line-height:1.01;
  font-weight:950;
  letter-spacing:-1px;
}
.postcard-message{
  max-width:88%;
  margin:1.5% 0 0;
  color:#64748b;
  font-size:clamp(9px,1.12vw,14px);
  line-height:1.42;
}
.postcard-price-panel{
  margin-top:2.1%;
  padding:2% 2.4%;
  border-radius:10px;
  background:#082A45;
  color:#fff;
}
.postcard-price-label{
  color:#F7941D;
  font-size:clamp(7px,.78vw,9px);
  font-weight:950;
  letter-spacing:1px;
}
.postcard-price{
  margin:.4% 0;
  font-size:clamp(25px,4vw,48px);
  line-height:1;
  font-weight:950;
  letter-spacing:-1px;
}
.postcard-material{
  font-size:clamp(9px,1.1vw,13px);
  font-weight:800;
}
.postcard-measurement{
  margin-top:.7%;
  color:#cbd5e1;
  font-size:clamp(7px,.85vw,10px);
}
.postcard-front-footer{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:2%;
}
.postcard-cta{
  color:#082A45;
  font-size:clamp(12px,1.6vw,19px);
  font-weight:950;
}
.postcard-cta-contact{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:3px;
  color:#64748b;
  font-size:clamp(8px,.9vw,11px);
  font-weight:800;
}
.postcard-qr-wrap{
  display:grid;
  justify-items:center;
  gap:3px;
  color:#64748b;
  font-size:clamp(6px,.65vw,8px);
  font-weight:900;
  letter-spacing:.4px;
}
.postcard-qr-placeholder{
  width:clamp(48px,6.6vw,78px);
  aspect-ratio:1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#94a3b8;
  font-size:11px;
  font-weight:900;
}
.postcard-qr-placeholder img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.postcard-disclaimer{
  margin-top:1.2%;
  padding-top:1%;
  border-top:1px solid #e2e8f0;
  color:#94a3b8;
  font-size:clamp(5px,.58vw,7px);
  line-height:1.25;
}
.postcard-back{
  display:grid;
  grid-template-columns:46% 54%;
  padding:4.6%;
}
.postcard-back-left{
  position:relative;
  padding-right:8%;
  border-right:1px solid #cbd5e1;
}
.postcard-back-hook{
  max-width:95%;
  margin-top:10%;
  color:#082A45;
  font-size:clamp(18px,3vw,35px);
  line-height:1.03;
  font-weight:950;
}
.postcard-back-cta{
  max-width:90%;
  margin-top:7%;
  color:#F7941D;
  font-size:clamp(11px,1.65vw,20px);
  line-height:1.15;
  font-weight:950;
}
.postcard-back-contact{
  display:grid;
  gap:3px;
  margin-top:4%;
  color:#475569;
  font-size:clamp(9px,1.1vw,13px);
}
.postcard-back-qr-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:7%;
  color:#64748b;
  font-size:clamp(7px,.9vw,10px);
  font-weight:850;
}
.postcard-back-disclaimer{
  position:absolute;
  left:0;
  bottom:0;
  margin:0;
  color:#94a3b8;
  font-size:clamp(5px,.58vw,7px);
}
.postcard-mail-zone{
  position:relative;
  padding:8% 2% 3% 10%;
}
.postage-box{
  position:absolute;
  right:0;
  top:0;
  width:24%;
  aspect-ratio:1.45;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #94a3b8;
  color:#64748b;
  text-align:center;
  font-size:clamp(6px,.75vw,9px);
  font-weight:850;
}
.mailing-label{
  position:absolute;
  left:12%;
  right:5%;
  top:43%;
}
.mailing-label span{
  display:block;
  margin-bottom:2%;
  color:#64748b;
  font-size:clamp(8px,.95vw,11px);
}
.mailing-label strong{
  display:block;
  color:#082A45;
  font-size:clamp(11px,1.5vw,18px);
  line-height:1.3;
}
.mailer-partner-note{
  position:absolute;
  left:12%;
  bottom:2%;
  color:#94a3b8;
  font-size:clamp(6px,.7vw,8px);
}
.mailer-preview-note{
  max-width:950px;
  margin:12px auto 0;
  color:#64748b;
  font-size:10px;
  line-height:1.45;
  text-align:center;
}
.mailer-qr-staging{
  position:fixed;
  left:-5000px;
  top:-5000px;
  width:200px;
  height:200px;
  opacity:0;
  pointer-events:none;
}

@media(max-width:1050px){
  .mailer-builder-layout{
    grid-template-columns:350px minmax(0,1fr);
  }
}
@media(max-width:820px){
  .mailer-builder-modal{padding:0}
  .mailer-builder-shell{
    width:100%;
    height:100%;
    border-radius:0;
  }
  .mailer-builder-layout{
    grid-template-columns:1fr;
    overflow-y:auto;
  }
  .mailer-controls{
    overflow:visible;
    border-right:0;
    border-bottom:1px solid #dbe3eb;
  }
  .mailer-preview-area{
    overflow:visible;
    padding:18px 12px 28px;
  }
  .mailer-builder-actions{
    position:static;
    bottom:auto;
    padding-bottom:0;
    background:none;
  }
}
@media(max-width:480px){
  .mailer-two-col,
  .mailer-builder-actions{
    grid-template-columns:1fr;
  }
  .mailer-builder-header{
    padding:14px 15px;
  }
  .mailer-builder-header h2{font-size:20px}
  .mailer-controls{padding:12px}
}

.mailer-image-source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}
.mailer-image-source{min-width:0;padding:9px 7px;border:1px solid #dbe3eb;border-radius:9px;background:#fff;color:#475569;text-align:left;cursor:pointer}
.mailer-image-source strong,.mailer-image-source small{display:block}
.mailer-image-source strong{color:#082A45;font-size:10px}
.mailer-image-source small{margin-top:2px;color:#94a3b8;font-size:8px}
.mailer-image-source.active{border-color:#F7941D;background:#fff7ed;box-shadow:0 0 0 2px rgba(247,148,29,.10)}
.mailer-image-status{padding:8px 9px;border-radius:8px;background:#f8fafc;color:#64748b;font-size:9.5px;line-height:1.35}
.postcard-property-image-wrap{position:relative;width:100%;aspect-ratio:16/5.8;margin-top:1.8%;overflow:hidden;border-radius:8px;background:#e2e8f0}
.postcard-property-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.postcard-property-image.hidden{display:none!important}
.postcard-property-image-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(135deg,#082A45,#174d70);color:#fff}
.postcard-property-image-fallback.hidden{display:none!important}
.postcard-property-image-fallback strong{font-size:clamp(13px,1.8vw,22px)}
.postcard-property-image-fallback>span:last-child{color:#cbd5e1;font-size:clamp(7px,.85vw,10px)}
.postcard-property-image-badge{position:absolute;left:9px;bottom:8px;padding:4px 7px;border-radius:5px;background:rgba(8,42,69,.82);color:#fff;font-size:clamp(6px,.65vw,8px);font-weight:900;letter-spacing:.6px}
.generic-roof-mark{position:relative;width:96px;height:56px;margin-bottom:2px}
.generic-roof-line{position:absolute;top:16px;width:56px;height:6px;border-radius:999px;background:#F7941D}
.generic-roof-line.left{left:2px;transform:rotate(-32deg)}
.generic-roof-line.right{right:2px;transform:rotate(32deg)}
.generic-roof-house{position:absolute;left:19px;right:19px;top:31px;bottom:0;border:3px solid rgba(255,255,255,.55);border-top:0}
.postcard-front{padding:3.2% 4.2% 2.5%}
.postcard-property-label{margin-top:1.6%}
.postcard-front-content{padding-top:1.55%}
.postcard-headline{max-width:94%;font-size:clamp(17px,2.65vw,33px);line-height:1.02}
.postcard-message{max-width:94%;margin:1% 0 0;font-size:clamp(7.5px,.9vw,11px);line-height:1.34}
.postcard-price-panel{margin-top:1.4%;padding:1.35% 2%}
.postcard-price{font-size:clamp(21px,3.25vw,39px)}
.postcard-front-footer{padding-top:1.2%}
.postcard-disclaimer{margin-top:.65%;padding-top:.65%}
@media(max-width:480px){.mailer-image-source-grid{grid-template-columns:1fr}}


/* SQUARE PROPERTY IMAGE LAYOUT */
.postcard-main-grid{
  display:grid;
  grid-template-columns:minmax(0,42%) minmax(0,58%);
  gap:2.3%;
  align-items:stretch;
  margin-top:1.8%;
  min-height:0;
}
.postcard-property-image-wrap{
  width:100%;
  aspect-ratio:1/1;
  margin-top:0;
  border-radius:9px;
}
.postcard-front-content{
  min-width:0;
  padding-top:0;
  display:flex;
  flex-direction:column;
}
.postcard-headline{
  max-width:100%;
  font-size:clamp(17px,2.45vw,31px);
}
.postcard-message{
  max-width:100%;
  font-size:clamp(7px,.86vw,10.5px);
}
.postcard-price-panel{
  margin-top:auto;
}
.postcard-front-footer{
  padding-top:1.6%;
}
@media(max-width:720px){
  .postcard-main-grid{
    grid-template-columns:42% 58%;
    gap:2%;
  }
}


/* AERIAL IMAGE DIAGNOSTICS */
.mailer-image-status.success{
  background:#ecfdf5;
  color:#047857;
}
.mailer-image-status.error{
  background:#fef2f2;
  color:#b91c1c;
}
.mailer-image-diagnostic{
  margin-top:6px;
  color:#94a3b8;
  font-size:8.5px;
  line-height:1.3;
  word-break:break-word;
}

/* OUTLINED ROOF IMAGE OPTION */
.mailer-image-source-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:760px){
  .mailer-image-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
\n\n/* CUSTOMER FINANCING */\n.monthly-payment{margin:2px 0 10px!important;font-size:inherit!important;font-weight:inherit!important}\n.monthly-payment .monthly-kicker{display:block;font-size:10px;letter-spacing:1.1px;font-weight:900;color:var(--accent);margin-bottom:4px}\n.monthly-payment strong{font-size:28px;line-height:1.05;font-weight:950;color:#102a43}\n.monthly-payment small{font-size:12px;color:var(--muted);font-weight:800;margin-left:4px}\n.monthly-payment.monthly-primary strong{font-size:31px;color:#102a43}\n.monthly-payment.monthly-secondary{margin-top:8px!important}\n.monthly-payment.monthly-secondary strong{font-size:20px}\n.project-price.price-secondary{font-size:18px!important;color:var(--muted);font-weight:800!important;margin-top:4px}\n.project-price.price-secondary::before{content:'Total estimate ';font-size:11px;font-weight:800;display:block;color:var(--muted);margin-bottom:2px}\n.financing-estimate-note{margin:12px auto 0;max-width:900px;padding:10px 14px;border-radius:10px;background:#fff8ec;border:1px solid #f8d7a5;color:#68420b;font-size:11px;line-height:1.45;text-align:center}\n.financing-settings-card{margin-top:18px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#fbfcfe}\n.financing-settings-head{display:flex;justify-content:space-between;gap:20px;align-items:center}\n.financing-settings-head h3{margin:3px 0 5px;font-size:18px}\n.financing-settings-head p{margin:0;color:var(--muted);font-size:13px}\n.switch-row{display:flex!important;align-items:center;gap:10px;white-space:nowrap;margin:0!important;font-weight:900!important}\n.switch-row input{width:20px!important;height:20px!important;margin:0}\n.financing-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}\n.financing-fields.disabled{opacity:.45}\n.term-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}\n.term-input input{border:0!important;border-radius:0!important;min-width:0}\n.term-input span{padding:0 12px;color:var(--muted);font-size:12px;font-weight:800}\n.financing-settings-disclaimer{font-size:10px;color:var(--muted);line-height:1.45;margin:12px 0 0}\n@media(max-width:760px){.financing-settings-head{align-items:flex-start;flex-direction:column}.financing-fields{grid-template-columns:1fr}}\n\n.mailer-selected-secondary{font-size:11px;color:var(--muted);font-weight:800;margin-top:4px}\n.postcard-secondary-price{font-size:11px;font-weight:800;color:#52606d;margin-top:4px;line-height:1.3}\n

/* CONTRACTOR PRICING + ESTIMATE LAYOUT CLEANUP */
.financing-checkbox{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  width:auto!important;
  margin:0!important;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.2;
  cursor:pointer;
}
.financing-checkbox input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  max-width:16px!important;
  min-height:16px!important;
  max-height:16px!important;
  padding:0!important;
  margin:0!important;
  border:initial!important;
  border-radius:2px!important;
  box-shadow:none!important;
  accent-color:var(--accent);
}
.contractor-estimate-tiers article{
  display:flex;
  flex-direction:column;
  min-height:230px;
}
.tier-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.tier-heading h3{
  margin:0!important;
}
.tier-label{
  font-size:9px;
  line-height:1;
  letter-spacing:1px;
  font-weight:900;
  color:var(--muted);
  background:#f3f6f9;
  border-radius:999px;
  padding:6px 8px;
  white-space:nowrap;
}
.contractor-primary-price{
  font-size:32px!important;
  line-height:1.08;
  font-weight:950!important;
  letter-spacing:-.7px;
  color:var(--ink);
  margin:2px 0 8px;
}
.tier-material{
  margin:0 0 16px!important;
  padding-bottom:15px;
  border-bottom:1px solid var(--line);
  min-height:44px;
}
.contractor-monthly{
  margin:auto 0 0!important;
  padding:10px 12px;
  border-radius:10px;
  background:#f7f9fb;
  border:1px solid #e6ebf0;
  font-size:inherit!important;
}
.contractor-monthly>span{
  display:block;
  font-size:10px;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:850;
  margin-bottom:3px;
}
.contractor-monthly strong{
  font-size:18px!important;
  line-height:1.1;
  color:#334155!important;
}
.contractor-monthly small{
  font-size:11px!important;
}
.contractor-monthly.monthly-secondary{
  margin-top:auto!important;
}
.contractor-estimate-tiers .project-price.price-secondary{
  font-size:32px!important;
  color:var(--ink)!important;
  font-weight:950!important;
}
.contractor-estimate-tiers .project-price.price-secondary::before{
  content:none!important;
}
@media(max-width:760px){
  .financing-checkbox{padding:7px 10px}
  .contractor-estimate-tiers article{min-height:auto}
}


/* COMPANY PROFILE */
.company-profile-card{width:min(720px,calc(100vw - 28px))}
.company-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.company-profile-grid .full{grid-column:1/-1}
.company-logo-preview-wrap{
  margin-top:15px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.company-logo-preview{
  display:block;
  max-width:260px;
  max-height:95px;
  object-fit:contain;
  object-position:left center;
}
.company-profile-help{font-size:11px;color:var(--muted);line-height:1.45;margin:13px 0 0}
.postcard-brand-contact{max-width:46%;text-align:right}
.postcard-brand-contact span{display:block}
.postcard-back-contact span:first-child{font-size:8.5px;line-height:1.25;color:#64748b}
@media(max-width:760px){
  .company-profile-grid{grid-template-columns:1fr}
  .company-profile-grid .full{grid-column:auto}
  .company-logo-preview-wrap{align-items:flex-start;flex-direction:column}
}


/* PROPOSAL BUILDER */
.proposal-builder-modal{position:fixed;inset:0;z-index:2200}
.proposal-builder-backdrop{position:absolute;inset:0;background:rgba(6,19,31,.72)}
.proposal-builder-shell{position:absolute;inset:3vh 2vw;background:#f4f7fa;border-radius:18px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.35);display:flex;flex-direction:column}
.proposal-builder-header{background:#fff;border-bottom:1px solid var(--line);padding:18px 22px;display:flex;justify-content:space-between;align-items:center}
.proposal-builder-header h2{margin:2px 0 3px}.proposal-builder-header p{margin:0;color:var(--muted);font-size:13px}
.proposal-builder-close{border:0;background:#eef2f5;width:38px;height:38px;border-radius:50%;font-size:25px;cursor:pointer}
.proposal-builder-layout{display:grid;grid-template-columns:minmax(380px,42%) 1fr;min-height:0;flex:1}
.proposal-controls{overflow:auto;padding:18px;background:#fff;border-right:1px solid var(--line)}
.proposal-control-section{padding:16px 0;border-bottom:1px solid var(--line)}
.proposal-control-section:first-child{padding-top:0}.proposal-control-section label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#334155;margin:11px 0}
.proposal-control-section input,.proposal-control-section select,.proposal-control-section textarea{width:100%;border:1px solid #ccd6df;border-radius:9px;padding:10px 11px;font:inherit;background:#fff}
.proposal-control-section textarea{resize:vertical;line-height:1.45;font-size:12px}
.proposal-section-title{display:flex;gap:10px;align-items:flex-start}.proposal-section-title>span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#082A45;color:white;font-size:11px;font-weight:900}
.proposal-section-title strong,.proposal-section-title small{display:block}.proposal-section-title small{color:var(--muted);font-size:10px;margin-top:2px}
.proposal-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.proposal-price-summary{background:#082A45;color:white;border-radius:11px;padding:13px;margin-top:12px}.proposal-price-summary span{display:block;font-size:9px;color:#F7941D;font-weight:900;letter-spacing:.7px}.proposal-price-summary strong{display:block;font-size:25px;margin:3px 0}.proposal-price-summary small{color:#dbe6ef}.proposal-monthly{font-size:11px;font-weight:800;color:#fff;margin-top:6px}
.proposal-control-help{font-size:10px;color:var(--muted);line-height:1.4}.proposal-builder-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:16px}.proposal-builder-message{margin-top:10px;font-size:12px;padding:9px;border-radius:8px}.proposal-builder-message.success{background:#ecfdf5;color:#047857}.proposal-builder-message.error{background:#fef2f2;color:#b91c1c}
.proposal-preview-area{overflow:auto;padding:24px}.proposal-preview{width:min(850px,100%);margin:0 auto;background:white;box-shadow:0 8px 30px rgba(15,23,42,.12);padding:34px;color:#102a43}
.proposal-preview-header{display:flex;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:3px solid #F7941D}.proposal-preview-brand{display:flex;align-items:center;gap:12px}.proposal-company-logo{max-width:165px;max-height:58px;object-fit:contain}.proposal-company-name{font-size:20px;font-weight:950}.proposal-company-name.logo-present{font-size:12px;color:#64748b}.proposal-company-contact{text-align:right;display:grid;gap:2px;font-size:11px;color:#64748b}.proposal-company-contact strong{color:#102a43;font-size:13px}
.proposal-title-row{display:flex;justify-content:space-between;margin:24px 0 14px}.proposal-title-row h1{font-size:31px;margin:2px 0}.proposal-date{text-align:right;font-size:10px;color:#64748b}.proposal-date span,.proposal-date strong{display:block}.proposal-date strong{color:#102a43;font-size:12px;margin-top:3px}
.proposal-customer-card{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:12px;background:#f5f7fa;border:1px solid #dce3ea;border-radius:10px;padding:13px}.proposal-customer-card span,.proposal-estimate-card span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#64748b;font-weight:850}.proposal-customer-card strong{display:block;font-size:12px;margin-top:3px}
.proposal-estimate-card{display:flex;justify-content:space-between;align-items:center;background:#082A45;color:white;border-radius:11px;padding:16px 18px;margin:15px 0 23px}.proposal-estimate-card span{color:#F7941D}.proposal-estimate-card>div>strong{display:block;margin-top:4px}.proposal-estimate-price{text-align:right}.proposal-estimate-price strong{font-size:25px}.proposal-estimate-price small{display:block;color:#dbe6ef;margin-top:4px}
.proposal-document-section{margin:22px 0}.proposal-document-section h2{font-size:18px;border-bottom:1px solid #dce3ea;padding-bottom:7px;margin-bottom:11px}.proposal-scope-list{padding-left:22px;font-size:12px;line-height:1.45}.proposal-scope-list li{margin-bottom:5px}.proposal-terms{font-size:11.5px;line-height:1.55}.proposal-terms p{margin:0 0 10px}
.proposal-financing-section{background:#fff8ec;border:1px solid #f5d19b;border-radius:10px;padding:15px}.proposal-financing-section h2{border:0;margin-top:0}.proposal-financing-button{display:inline-block;background:#F7941D;color:white;text-decoration:none;font-size:12px;font-weight:900;padding:9px 13px;border-radius:7px}.proposal-financing-button.disabled-link{pointer-events:none;opacity:.55}.proposal-financing-disclaimer{font-size:9px;color:#64748b;margin-bottom:0}
.proposal-footer{border-top:1px solid #dce3ea;margin-top:26px;padding-top:10px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#64748b}.proposal-footer strong,.proposal-footer span{display:block}.proposal-footer strong{color:#102a43}
.financing-url-field{grid-column:1/-1}
body.proposal-builder-open{overflow:hidden}
@media(max-width:900px){.proposal-builder-shell{inset:1vh 1vw}.proposal-builder-layout{grid-template-columns:1fr}.proposal-controls{max-height:48vh;border-right:0;border-bottom:1px solid var(--line)}.proposal-preview-area{padding:12px}.proposal-customer-card{grid-template-columns:1fr}.proposal-two-col{grid-template-columns:1fr}}

.financing-fields .financing-url-field{grid-column:1/-1}


/* PROPOSAL DOCUMENT VIEWER */
.proposal-preview-area{
  min-height:0;
  overflow:hidden!important;
  padding:0!important;
  display:flex;
  flex-direction:column;
  background:#dfe5eb;
}
.proposal-viewer-toolbar{
  flex:0 0 auto;
  min-height:52px;
  padding:8px 14px;
  background:#fff;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  position:relative;
  z-index:3;
}
.proposal-page-controls,.proposal-zoom-controls{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  color:#52606d;
  font-weight:800;
}
.proposal-viewer-toolbar button{
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:8px;
}
.proposal-page-controls button{
  font-size:22px;
  line-height:1;
}
.proposal-zoom-controls button:first-child,
.proposal-zoom-controls button:nth-child(3){
  font-size:20px;
}
#proposalZoomLabel{min-width:45px;text-align:center}
.proposal-viewer-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:26px 34px 70px;
  scrollbar-gutter:stable both-edges;
  scroll-behavior:smooth;
}
.proposal-paper-wrap{
  width:816px;
  min-height:1056px;
  margin:0 auto;
}
.proposal-preview{
  width:816px!important;
  min-height:1056px;
  margin:0!important;
  transform-origin:top left;
  position:relative;
  box-shadow:0 7px 24px rgba(15,23,42,.20)!important;
  /* Subtle guides every letter-size page for long proposals. */
  background:
    repeating-linear-gradient(
      to bottom,
      #fff 0,
      #fff 1047px,
      #d3dae2 1047px,
      #d3dae2 1056px
    )!important;
}
.proposal-preview>*{
  position:relative;
  z-index:1;
}
@media(max-width:900px){
  .proposal-viewer-toolbar{flex-wrap:wrap}
  .proposal-viewer-scroll{padding:18px 12px 55px}
}


/* PAGED PROPOSAL VIEWER FIX */
.proposal-preview-template{display:none!important}
.proposal-preview-area{
  min-height:0!important;
  overflow:hidden!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.proposal-viewer-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  overflow-y:scroll!important;
  overflow-x:auto!important;
  padding:24px 34px 70px!important;
  scrollbar-gutter:stable!important;
  background:#dfe5eb!important;
}
.proposal-viewer-scroll::-webkit-scrollbar{width:14px;height:14px}
.proposal-viewer-scroll::-webkit-scrollbar-track{background:#cfd7df}
.proposal-viewer-scroll::-webkit-scrollbar-thumb{background:#8b98a5;border-radius:8px;border:3px solid #cfd7df}
.proposal-pages{
  width:max-content;
  min-width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.proposal-page{
  width:816px;
  height:1056px;
  flex:0 0 1056px;
  background:#fff;
  position:relative;
  box-shadow:0 8px 26px rgba(15,23,42,.22);
  overflow:hidden;
  transform-origin:top center;
}
.proposal-page-inner{
  position:absolute;
  inset:0;
  padding:42px 48px 48px;
  overflow:hidden;
  background:#fff;
  display:flex;
  flex-direction:column;
}
.proposal-page .proposal-preview-header{flex:0 0 auto}
.proposal-page .proposal-document-section{break-inside:avoid}
.proposal-page .proposal-scope-list{margin-bottom:0}
.proposal-page .proposal-terms{font-size:11.5px;line-height:1.5}
.proposal-page .proposal-footer{
  margin-top:auto!important;
  padding-top:9px!important;
  flex:0 0 auto;
}
.proposal-continuation-kicker{
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:1.1px;
  color:#F7941D;
  margin:2px 0 8px;
}
.proposal-page-active{outline:2px solid rgba(247,148,29,.35);outline-offset:3px}
.proposal-viewer-toolbar{flex:0 0 auto!important}
@media(max-width:900px){
  .proposal-viewer-scroll{padding:18px 12px 55px!important}
}

#proposalPages .proposal-page .proposal-preview{display:none!important}


/* SINGLE-PAGE PROPOSAL VIEWER — RELIABLE NAVIGATION + SCROLL */
.proposal-preview-area{
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.proposal-viewer-toolbar{
  flex:0 0 54px!important;
  min-height:54px!important;
}
.proposal-viewer-scroll{
  position:relative!important;
  flex:1 1 auto!important;
  min-height:0!important;
  height:calc(100% - 54px)!important;
  overflow-y:scroll!important;
  overflow-x:auto!important;
  padding:24px 24px 48px!important;
  background:#dfe5eb!important;
  scrollbar-width:auto!important;
  scrollbar-color:#7f8c99 #cbd3db!important;
}
.proposal-viewer-scroll::-webkit-scrollbar{
  width:16px!important;
  height:16px!important;
  display:block!important;
}
.proposal-viewer-scroll::-webkit-scrollbar-track{
  background:#cbd3db!important;
}
.proposal-viewer-scroll::-webkit-scrollbar-thumb{
  background:#7f8c99!important;
  border-radius:9px!important;
  border:3px solid #cbd3db!important;
}
.proposal-pages{
  position:relative!important;
  width:816px;
  min-width:816px;
  margin:0 auto!important;
  display:block!important;
}
.proposal-page{
  width:816px!important;
  height:1056px!important;
  min-height:1056px!important;
  background:#fff!important;
  box-shadow:0 8px 26px rgba(15,23,42,.22)!important;
  overflow:hidden!important;
}
.proposal-page-hidden{
  display:none!important;
}
.proposal-page-active{
  display:block!important;
  outline:2px solid rgba(247,148,29,.32);
  outline-offset:3px;
}
@media(max-width:900px){
  .proposal-viewer-scroll{
    padding:16px 10px 42px!important;
  }
}


/* SCROLL THUMB FIX */
.proposal-viewer-scroll{
  overflow-y:scroll!important;
  overflow-x:auto!important;
  overscroll-behavior:contain;
}
.proposal-pages{
  position:relative!important;
  display:block!important;
  max-width:none!important;
  max-height:none!important;
}
.proposal-page{
  position:absolute!important;
  top:0!important;
  left:0!important;
  margin:0!important;
}


/* HARD SCROLLBAR FIX — CONSTRAIN THE VIEWPORT, NOT THE DOCUMENT */
.proposal-builder-shell{
  height:94vh!important;
  max-height:94vh!important;
  min-height:0!important;
}
.proposal-builder-layout{
  height:calc(94vh - 82px)!important;
  max-height:calc(94vh - 82px)!important;
  min-height:0!important;
  overflow:hidden!important;
}
.proposal-preview-area{
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:54px minmax(0,1fr)!important;
}
.proposal-viewer-toolbar{
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
}
.proposal-viewer-scroll{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow-y:scroll!important;
  overflow-x:auto!important;
  padding:24px 24px 48px!important;
  box-sizing:border-box!important;
}
.proposal-pages{
  position:relative!important;
  flex:none!important;
  display:block!important;
  overflow:visible!important;
}
.proposal-page{
  position:absolute!important;
  top:0!important;
  left:0!important;
}
@media(max-width:900px){
  .proposal-builder-shell{
    height:98vh!important;
    max-height:98vh!important;
  }
  .proposal-builder-layout{
    height:calc(98vh - 82px)!important;
    max-height:calc(98vh - 82px)!important;
    grid-template-rows:48vh minmax(0,1fr)!important;
  }
  .proposal-preview-area{
    min-height:420px!important;
  }
}


/* PROPOSAL HEADER — WHITE BAR */
.proposal-page .proposal-preview-header{
  background:#fff!important;
  color:#0f2742!important;
  border-bottom:2px solid #e2e8f0!important;
}
.proposal-page .proposal-preview-header *,
.proposal-page .proposal-company-name,
.proposal-page .proposal-company-contact,
.proposal-page .proposal-company-contact strong,
.proposal-page .proposal-company-contact span{
  color:#0f2742!important;
}


/* PROPOSAL SEND + E-SIGN */
.proposal-send-status{
  margin:10px 0 12px;
  padding:10px 12px;
  border:1px solid #d9e1e8;
  border-radius:10px;
  background:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:12px;
}
.proposal-send-status span{color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.proposal-send-status strong{
  color:#0f2742;
  text-transform:capitalize;
}
.proposal-send-status strong[data-status="sent"],
.proposal-send-status strong[data-status="signed"]{color:#16794b}
.proposal-builder-actions-stacked{display:block!important}
.proposal-send-button{width:100%;margin-bottom:8px}
.proposal-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}

.proposal-signed-download{width:100%;margin-top:8px;border-color:#16794b!important;color:#16794b!important}

/* PROPERTY / CUSTOMER RECORD */
.property-record-modal{position:fixed;inset:0;z-index:1450;display:grid;place-items:center;padding:22px}
.property-record-backdrop{position:absolute;inset:0;background:rgba(8,22,38,.58);backdrop-filter:blur(3px)}
.property-record-shell{position:relative;width:min(1120px,96vw);max-height:94vh;background:#f5f7fa;border-radius:18px;box-shadow:0 28px 80px rgba(5,20,36,.28);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}
.property-record-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px 26px;background:#fff;border-bottom:1px solid #dde5ec}
.property-record-head h2{margin:3px 0 4px;color:#0f2742;font-size:25px}
.property-record-head p{margin:0;color:#64748b;font-size:14px}
.property-record-head-actions{display:flex;gap:12px;align-items:center}
.property-stage-chip{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#fff3e2;border:1px solid #ffd59f;color:#a65500;font-size:12px;font-weight:800}
.property-record-body{overflow-y:auto;padding:20px;display:grid;gap:16px}
.property-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.property-record-card{background:#fff;border:1px solid #dfe6ed;border-radius:14px;padding:18px;box-shadow:0 4px 14px rgba(15,39,66,.04)}
.property-record-card h3{margin:3px 0 14px;color:#0f2742;font-size:17px}
.property-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.property-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.property-form-grid label{display:grid;gap:6px;color:#526174;font-size:12px;font-weight:700}
.property-form-grid input,.property-form-grid select,.property-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #cfd8e1;border-radius:9px;padding:10px 11px;background:#fff;color:#10253d;font:inherit;font-weight:500}
.property-notes-field{grid-column:1/-1}
.property-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.property-stat-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.property-stat-grid>div{padding:10px;border-radius:10px;background:#f7f9fb;border:1px solid #e6ebf0}
.property-stat-grid span,.property-proposal-summary span{display:block;color:#788696;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.property-stat-grid strong,.property-proposal-summary strong{display:block;margin-top:4px;color:#0f2742;font-size:15px}
.property-card-action{width:100%;margin-top:14px}
.property-proposal-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.property-proposal-summary>div{padding:10px;border-radius:10px;background:#f7f9fb;border:1px solid #e6ebf0}
.proposal-status-text{text-transform:capitalize}
.property-summary-empty{padding:14px;border:1px dashed #d6dee6;border-radius:10px;color:#778493;background:#fafbfc;font-size:13px}
.property-doc-list{display:grid;gap:8px}
.property-doc-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f4;font-size:13px}
.property-doc-row:last-child{border-bottom:0}
.property-doc-row span{color:#32475d}.property-doc-row strong{color:#16794b;text-align:right}.property-doc-row.muted strong{color:#94a0ad;font-weight:600}
.property-activity-timeline{display:grid;gap:0}
.property-activity-item{position:relative;display:grid;grid-template-columns:20px 1fr;gap:10px;padding:0 0 16px}
.property-activity-item:before{content:"";position:absolute;left:6px;top:13px;bottom:-2px;width:2px;background:#e6ebef}
.property-activity-item:last-child:before{display:none}
.property-activity-dot{position:relative;z-index:1;margin-top:4px;width:12px;height:12px;border-radius:50%;background:#f7941d;box-shadow:0 0 0 3px #fff}
.property-activity-item strong{display:block;color:#18324d;font-size:13px}
.property-activity-item p{margin:3px 0;color:#526174;font-size:12px}
.property-activity-item span{display:block;margin-top:3px;color:#8a96a3;font-size:11px}
.muted-small{color:#8793a0;font-size:12px}
.history-customer{margin-top:4px;color:#64748b;font-size:12px;font-weight:700}
.history-card-side{gap:7px!important;flex-wrap:wrap!important}
.history-record{white-space:nowrap}
body.property-record-open{overflow:hidden}
@media(max-width:800px){
 .property-record-modal{padding:0}.property-record-shell{width:100vw;max-height:100vh;height:100vh;border-radius:0}
 .property-record-head{padding:17px}.property-record-body{padding:12px}.property-record-grid{grid-template-columns:1fr}.property-form-grid{grid-template-columns:1fr}.property-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .property-section-head{align-items:center}.property-customer-card .property-section-head{display:grid}.property-customer-card .property-section-head button{width:100%}
}


/* ===== SALES PIPELINE + TASKS ===== */
.pipeline-task-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#f7941d;color:#fff;font-size:11px;font-weight:900;margin-left:4px}.pipeline-task-badge.hidden{display:none}
.sales-pipeline-modal{position:fixed;inset:0;z-index:1200}.sales-pipeline-modal.hidden{display:none}.sales-pipeline-backdrop{position:absolute;inset:0;background:rgba(15,39,66,.55)}.sales-pipeline-shell{position:absolute;inset:3vh 2vw;background:#f5f7fa;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 70px rgba(15,39,66,.25)}body.pipeline-open{overflow:hidden}.sales-pipeline-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:#fff;border-bottom:1px solid #dce3ea}.sales-pipeline-head h2{margin:2px 0 3px;color:#0f2742}.sales-pipeline-head p{margin:0;color:#64748b}.pipeline-head-actions{display:flex;align-items:flex-end;gap:12px}.pipeline-search-wrap{display:grid;gap:4px;font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.pipeline-search-wrap input{width:270px;max-width:38vw;border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px;font-size:14px;text-transform:none;letter-spacing:0}.sales-pipeline-body{padding:18px 20px 22px;overflow:auto;min-height:0;position:relative}.pipeline-loading{position:absolute;top:12px;right:24px;background:#0f2742;color:#fff;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;z-index:2}.pipeline-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.pipeline-metrics>div{background:#fff;border:1px solid #dce3ea;border-radius:12px;padding:14px 16px}.pipeline-metrics span{display:block;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.pipeline-metrics strong{display:block;color:#0f2742;font-size:23px;margin-top:4px}.my-day-panel{background:#fff;border:1px solid #dce3ea;border-radius:14px;padding:15px 16px;margin-bottom:16px}.my-day-panel h3{margin:2px 0 0;color:#0f2742}.my-day-task-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}.my-day-task{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;border:1px solid #dce3ea;border-radius:10px;padding:10px;background:#fff}.my-day-task.overdue{border-left:4px solid #c2410c}.my-day-task.today{border-left:4px solid #f7941d}.my-day-task strong{font-size:13px;color:#0f2742}.my-day-task p{margin:2px 0;color:#475569;font-size:12px}.my-day-task span{font-size:11px;color:#64748b}.pipeline-empty-state{color:#64748b;font-size:13px;padding:8px 0}.pipeline-board-wrap{overflow-x:auto;padding-bottom:8px}.pipeline-board{display:grid;grid-template-columns:repeat(8,285px);gap:12px;align-items:start;min-width:max-content}.pipeline-column{background:#eef2f5;border:1px solid #d8e0e8;border-radius:13px;min-height:390px;overflow:hidden}.pipeline-column.drag-over{outline:2px solid #f7941d;outline-offset:1px}.pipeline-column>header{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;background:#e4eaf0;color:#0f2742}.pipeline-column>header strong{font-size:13px}.pipeline-column>header span{background:#fff;border:1px solid #cbd5e1;border-radius:999px;min-width:24px;text-align:center;padding:2px 7px;font-size:11px;font-weight:900}.pipeline-column-body{padding:9px;display:grid;gap:9px}.pipeline-column-empty{padding:18px 8px;text-align:center;color:#94a3b8;font-size:12px}.pipeline-card{background:#fff;border:1px solid #d7dfe7;border-radius:11px;padding:11px;cursor:grab}.pipeline-card.dragging{opacity:.5}.pipeline-card-top{display:flex;justify-content:space-between;gap:8px;align-items:start}.pipeline-card-top>strong{color:#0f2742;font-size:13px}.pipeline-proposal-status{font-size:9px;text-transform:uppercase;font-weight:900;color:#475569;background:#edf2f7;border-radius:999px;padding:3px 6px}.pipeline-card-address{margin:4px 0 7px;color:#64748b;font-size:11px;line-height:1.35}.pipeline-card-meta{display:flex;gap:5px;flex-wrap:wrap}.pipeline-card-meta span{font-size:10px;color:#475569;background:#f1f5f9;border-radius:5px;padding:3px 5px}.pipeline-next-task{margin-top:9px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;padding:7px 8px}.pipeline-next-task.overdue{background:#fff7ed;border-color:#fdba74}.pipeline-next-task.today{background:#fffaf4;border-color:#f6c98f}.pipeline-next-task span{display:block;font-size:9px;font-weight:900;text-transform:uppercase;color:#64748b}.pipeline-next-task strong{display:block;font-size:11px;color:#0f2742;margin-top:1px}.pipeline-next-task small{display:block;font-size:9.5px;color:#64748b;margin-top:2px}.pipeline-no-task{margin-top:9px;color:#94a3b8;font-size:10px;font-style:italic}.pipeline-card-actions{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:9px}.pipeline-card-actions select{min-width:0;border:1px solid #cbd5e1;border-radius:7px;padding:7px;font-size:11px;background:#fff}.pipeline-card-actions button{padding:7px 9px!important;font-size:11px!important}.pipeline-help{margin:3px 2px 0;color:#94a3b8;font-size:11px}.property-tasks-card{grid-column:1/-1}.property-task-create{display:grid;grid-template-columns:minmax(220px,2fr) 1fr 1.25fr .8fr minmax(180px,1.5fr) auto;gap:9px;align-items:end;margin:12px 0 14px}.property-task-create label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#64748b}.property-task-create input,.property-task-create select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;padding:9px 10px;background:#fff;color:#0f2742}.property-task-create button{height:38px;white-space:nowrap}.property-task-list{display:grid;gap:7px}.property-task-row{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;border:1px solid #e2e8f0;border-radius:9px;padding:9px 10px;background:#fff}.property-task-row.overdue{border-left:4px solid #c2410c}.property-task-row.today{border-left:4px solid #f7941d}.property-task-row.completed{opacity:.6}.task-status-toggle{width:29px;height:29px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#64748b;font-weight:900;cursor:pointer}.task-status-toggle.done{background:#16794b;color:#fff;border-color:#16794b}.property-task-main strong{display:block;color:#0f2742;font-size:13px}.property-task-main>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:3px}.property-task-main span{font-size:10px;color:#64748b}.task-priority{font-weight:900;text-transform:uppercase}.task-priority.high{color:#c2410c}.task-due.overdue{color:#c2410c;font-weight:900}.task-due.today{color:#b45309;font-weight:900}.property-task-main p{margin:5px 0 0;font-size:11px;color:#64748b}.sales-pipeline-modal .secondary,.property-tasks-card .secondary{white-space:nowrap}
@media(max-width:1050px){.pipeline-metrics{grid-template-columns:repeat(2,1fr)}.my-day-task-list{grid-template-columns:1fr 1fr}.property-task-create{grid-template-columns:1fr 1fr 1fr}.task-title-field,.task-notes-field{grid-column:span 2}}
@media(max-width:700px){.sales-pipeline-shell{inset:0;border-radius:0}.sales-pipeline-head{align-items:flex-start;padding:15px}.pipeline-head-actions{align-items:center}.pipeline-search-wrap{display:none}.sales-pipeline-body{padding:12px}.pipeline-metrics{grid-template-columns:1fr 1fr}.pipeline-metrics strong{font-size:18px}.my-day-task-list{grid-template-columns:1fr}.pipeline-board{grid-template-columns:repeat(8,260px)}.property-task-create{grid-template-columns:1fr}.task-title-field,.task-notes-field{grid-column:auto}.my-day-task{grid-template-columns:auto 1fr}.my-day-task .secondary{grid-column:2}}

/* Public homepage navigation */
.app-home-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border:1px solid #d7e0e7;
  border-radius:8px;
  background:#fff;
  color:#0f2742;
  font:inherit;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}
.app-home-button:hover{background:#f5f7f9;border-color:#c5d0d9}
.app-home-button:focus-visible{outline:3px solid rgba(247,148,29,.35);outline-offset:2px}


/* Public navigation bar shown before and after authentication */
.public-topbar{
  width:100%;
  min-height:54px;
  display:flex;
  align-items:center;
  padding:0 20px;
  background:#fff;
  border-bottom:1px solid #e2e8f0;
  box-sizing:border-box;
  position:relative;
  z-index:20;
}
.public-topbar-home{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 10px;
  border-radius:7px;
  color:#0f2742;
  font-weight:800;
  text-decoration:none;
}
.public-topbar-home:hover{
  background:#f5f7f9;
  color:#f7941d;
}
.public-topbar-home:focus-visible{
  outline:3px solid rgba(247,148,29,.35);
  outline-offset:2px;
}
body.auth-loading .auth-gate,
body:not(.authenticated) .auth-gate{
  margin-top:0;
}
@media(max-width:640px){
  .public-topbar{padding:0 14px;min-height:50px}
}

/* Trial entitlement + upgrade UI */
.trial-status-pill{border:1px solid #cbd8e2;background:#f5f8fa;color:#0f2742;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900;white-space:nowrap}
.trial-status-pill.warning{background:#fff7e8;border-color:#f4c56a;color:#7a4b00}
.trial-status-pill.blocked{background:#fff0ed;border-color:#e9a99e;color:#8b2d20}
.trial-upgrade-modal{max-width:620px;text-align:left}
.trial-upgrade-kicker{font-size:11px;font-weight:900;letter-spacing:.14em;color:#f7941d;margin-bottom:8px}
.trial-upgrade-message{color:#657486;line-height:1.55}
.trial-upgrade-price{display:flex;align-items:baseline;gap:6px;margin:18px 0}
.trial-upgrade-price strong{font-size:42px;color:#0f2742}.trial-upgrade-price span{color:#6d7a87;font-weight:700}
.trial-upgrade-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding:18px;border-radius:12px;background:#f6f8fa;color:#24384d;font-size:13px;font-weight:700}
.trial-upgrade-cta{width:100%;margin-top:20px;min-height:48px}
.trial-upgrade-note{font-size:11px;color:#788694;line-height:1.5;text-align:center;margin:12px 10px 0}
@media(max-width:720px){.trial-status-pill{order:3;width:100%}.trial-upgrade-grid{grid-template-columns:1fr}}

/* =========================
   FIELD-FIRST JOB PHOTOS
   ========================= */
.job-photos-card{grid-column:1/-1}
.job-photos-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.job-photos-head h3{margin:2px 0 5px}.job-photos-head p{margin:0;color:#6c7885}
.job-photo-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.job-photo-phase-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 14px}
.job-photo-phase{border:1px solid #d9e1e8;background:#f8fafb;color:#34495e;border-radius:12px;min-height:58px;padding:8px 12px;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:800;cursor:pointer}
.job-photo-phase strong{display:inline-grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:#e9eef2;font-size:12px}
.job-photo-phase.active{background:#102a43;color:white;border-color:#102a43}.job-photo-phase.active strong{background:#f7941d;color:#102a43}
.job-photo-field-bar{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(150px,.75fr);gap:10px;margin:12px 0}
.job-camera-button,.job-library-button{min-height:62px;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;text-align:center}
.job-camera-button input,.job-library-button input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.job-camera-button span:nth-child(2){display:flex;flex-direction:column;text-align:left}.job-camera-button small{font-size:11px;opacity:.8;font-weight:600}
.job-camera-icon{font-size:28px;line-height:1}
.job-photo-progress-wrap{background:#f6f8fa;border:1px solid #e2e7eb;border-radius:12px;padding:12px 14px}
.job-photo-progress-copy{display:flex;justify-content:space-between;gap:12px;font-size:12px}.job-photo-progress-copy span{color:#687685}
.job-photo-progress{height:7px;background:#e4e9ed;border-radius:99px;margin-top:9px;overflow:hidden}.job-photo-progress span{display:block;height:100%;width:0;background:#f7941d;border-radius:inherit;transition:width .2s}
.job-photo-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 22px}
.job-photo-check-item{display:grid;grid-template-columns:27px 1fr auto;gap:7px;align-items:center;text-align:left;border:1px solid #dbe3e9;background:white;border-radius:10px;padding:10px 11px;color:#263b50;cursor:pointer}
.job-photo-check-item:hover,.job-photo-check-item.selected{border-color:#f7941d;background:#fffaf1}.job-photo-check-item.complete{background:#f3faf6;border-color:#b9ddc7}
.job-photo-checkmark{font-size:20px;color:#789}.job-photo-check-item.complete .job-photo-checkmark{color:#18894b}.job-photo-check-item small{font-size:10px;color:#7b8794}
.job-photo-gallery-head{display:flex;justify-content:space-between;border-top:1px solid #e4e8ec;padding-top:18px;margin-bottom:10px}.job-photo-gallery-head span{font-size:12px;color:#71808e}
.job-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #ccd7df;border-radius:12px;padding:28px;color:#6b7986}.job-photo-empty-icon{font-size:30px;margin-bottom:7px}.job-photo-empty span{font-size:12px;margin-top:4px}
.job-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.job-photo-card{border:1px solid #dfe6eb;border-radius:12px;overflow:hidden;background:#fff;min-width:0}
.job-photo-thumb{aspect-ratio:4/3;background:#edf1f4;overflow:hidden}.job-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.job-photo-thumb.skeleton{animation:photoPulse 1.4s infinite alternate}@keyframes photoPulse{to{opacity:.55}}
.job-photo-card-body{padding:12px}.job-photo-meta-line{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:10px}.job-photo-meta-line span{font-size:10px;color:#7a8792;text-align:right}
.job-photo-card label{font-size:10px;font-weight:800;color:#677786;display:block;margin-top:8px}.job-photo-card input{width:100%;min-height:40px;border:1px solid #d8e0e6;border-radius:8px;padding:8px;margin-top:4px;font-size:13px}
.job-photo-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.job-photo-card-actions button{min-height:38px}
.danger-link{border:0;background:transparent;color:#a53535;font-weight:800;padding:8px;cursor:pointer}
.photo-markup-modal{position:fixed;inset:0;z-index:1300}.photo-markup-backdrop{position:absolute;inset:0;background:rgba(7,18,30,.78)}
.photo-markup-shell{position:absolute;inset:4vh 4vw;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}
.photo-markup-shell header{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid #e0e6eb}.photo-markup-shell h2{margin:2px 0}
.photo-markup-canvas-wrap{flex:1;min-height:0;background:#17212b;display:flex;align-items:center;justify-content:center;overflow:auto;padding:12px;touch-action:none}
#photoMarkupCanvas{max-width:100%;max-height:100%;background:#fff;touch-action:none}
.photo-markup-tools{display:flex;gap:8px;padding:12px 16px;justify-content:flex-end;border-top:1px solid #e0e6eb}.photo-markup-help{font-size:11px;color:#657482;margin:0;padding:0 16px 12px;text-align:center}

/* =========================
   MOBILE / FIELD APP PASS
   ========================= */
html,body{max-width:100%;overflow-x:hidden}
button,input,select,textarea{font-size:16px}
@media(max-width:760px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  .public-topbar{min-height:48px}
  header:not(.property-record-head){height:auto;min-height:58px;flex-wrap:wrap;padding:8px 12px;gap:8px}
  header .brand{font-size:16px} header .tag{display:none}
  .account-area{width:100%;display:grid!important;grid-template-columns:repeat(3,1fr);gap:6px;overflow:visible!important}
  .account-area button,.account-area a{min-height:44px;padding:8px 5px!important;font-size:11px!important;text-align:center;justify-content:center}
  #accountLabel{grid-column:1/-1;font-size:11px}
  .trial-status-pill{grid-column:1/-1!important;width:100%}
  main{padding-left:12px!important;padding-right:12px!important}
  .hero{padding-top:20px!important}.hero h1{font-size:28px!important;line-height:1.08}
  #addressMount{width:100%}
  .workspace,.map-card,.results{width:100%}
  #map{height:48vh!important;min-height:330px}
  .stepbar{overflow-x:auto;white-space:nowrap;justify-content:flex-start!important;gap:6px!important}
  .stepbar span{flex:0 0 auto}
  .toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .toolbar button{min-height:48px}
  .toolbar .primary{grid-column:1/-1}
  .result-grid,.property-record-grid,.property-form-grid,.pipeline-metrics{grid-template-columns:1fr!important}
  .property-record-shell{inset:0!important;border-radius:0!important;height:100dvh!important;max-height:none!important}
  .property-record-head{position:relative;top:auto;z-index:1;background:white;padding:12px!important;align-items:flex-start}
  .property-record-head h2{font-size:20px}.property-record-head p{font-size:11px;word-break:break-word}
  .property-record-body{padding:10px!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
  .property-record-card{padding:14px!important;border-radius:12px!important}
  .property-section-head{align-items:flex-start!important;gap:10px}.property-section-head button{min-height:44px}
  .property-form-grid label,.task-form-grid label{width:100%}
  .property-form-grid input,.property-form-grid select,.property-form-grid textarea,.task-form-grid input,.task-form-grid select{min-height:48px}
  .job-photos-head{flex-direction:column}.job-photo-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.job-photo-head-actions button{min-height:44px}
  .job-photo-phase-tabs{position:sticky;top:82px;z-index:12;background:#fff;padding:5px 0}
  .job-photo-phase{min-height:54px;padding:7px 5px;flex-direction:column;gap:2px;font-size:12px}
  .job-photo-field-bar{grid-template-columns:1fr}.job-camera-button{min-height:72px;font-size:17px}.job-library-button{min-height:48px}
  .job-photo-progress-copy{flex-direction:column;gap:3px}
  .job-photo-checklist{grid-template-columns:1fr}.job-photo-check-item{min-height:54px;grid-template-columns:28px 1fr auto}
  .job-photo-gallery{grid-template-columns:1fr}
  .job-photo-card-body{padding:12px}.job-photo-card input{min-height:46px}
  .job-photo-card-actions{display:grid;grid-template-columns:1fr 1fr}.job-photo-card-actions button{min-height:46px}.job-photo-delete{grid-column:1/-1}
  .photo-markup-shell{inset:0;border-radius:0}.photo-markup-tools{display:grid;grid-template-columns:1fr 1fr;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.photo-markup-tools .primary{grid-column:1/-1;min-height:48px}
  .sales-pipeline-shell{inset:0!important;border-radius:0!important;height:100dvh!important}.sales-pipeline-body{padding:10px!important}.pipeline-board{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory}.pipeline-column{min-width:84vw!important;scroll-snap-align:start}
  .settings-modal,.proposal-builder-shell,.mailer-builder-shell{max-width:none!important;width:100%!important;max-height:100dvh!important;border-radius:0!important}
}

/* Trial tracker structural visibility fix */
#trialStatusButton.trial-status-pill{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  visibility:visible !important;
  opacity:1 !important;
  min-height:36px;
  max-width:100%;
  white-space:nowrap;
}
#trialStatusButton.trial-status-pill.hidden{
  display:inline-flex !important;
}
@media(max-width:760px){
  #trialStatusButton.trial-status-pill{
    grid-column:1/-1 !important;
    width:100% !important;
    min-height:44px;
    font-size:12px !important;
  }
}

/* =========================
   STORM INTELLIGENCE
   ========================= */
.storm-intelligence-card{margin:14px 0;padding:18px;border:1px solid #dbe3e9;border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(16,42,67,.06)}
.storm-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.storm-card-head h3{margin:2px 0 3px}.storm-card-head p{margin:0;color:#687786;font-size:12px}
.storm-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.storm-refresh-button{min-height:36px;padding:7px 12px}
.storm-tier-badge{display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:30px;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.storm-tier-badge.low{background:#eaf8ef;color:#17653a}.storm-tier-badge.moderate{background:#fff6d9;color:#7a5700}.storm-tier-badge.high{background:#fff0df;color:#9a4c00}.storm-tier-badge.severe{background:#fde5e4;color:#a52621}.storm-tier-badge.neutral{background:#edf2f5;color:#5a6874}
.storm-loading{padding:22px 0;color:#637483;font-weight:700}.storm-score-row{display:grid;grid-template-columns:150px 1fr;gap:16px;margin-top:18px}
.storm-score{border:1px solid #dce4e9;border-radius:12px;background:#f7f9fb;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;text-align:center}
.storm-score span{font-size:11px;color:#667788;font-weight:800}.storm-score strong{font-size:46px;line-height:1;color:#102a43;margin:6px 0}.storm-score small{font-size:11px;color:#7a8792}
.storm-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.storm-metric-grid>div,.property-storm-scoreline>div{border:1px solid #e0e6ea;border-radius:10px;padding:11px;background:#fff}
.storm-metric-grid span,.property-storm-scoreline span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#788692;font-weight:800}.storm-metric-grid strong,.property-storm-scoreline strong{display:block;font-size:17px;color:#17324a;margin-top:4px}.storm-metric-grid small{display:block;font-size:10px;color:#7a8791;margin-top:4px}
.storm-events-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#647483;margin:17px 0 6px}.storm-event-list{border-top:1px solid #e4e9ed;margin-top:14px}
.storm-event{display:grid;grid-template-columns:120px 1fr 64px;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid #edf1f3}.storm-event-date{font-size:12px;font-weight:800;color:#2b4154}.storm-event-main{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.storm-event-main strong{font-size:13px}.storm-event-main span{font-size:10px;color:#788590}.storm-event-distance{text-align:right;font-size:11px;color:#697986}
.storm-no-events{padding:14px 0;color:#71808d;font-size:12px}.storm-card-foot{display:flex;justify-content:space-between;gap:16px;margin-top:12px;font-size:10px;color:#83909a}
.property-storm-card{min-width:0}.property-storm-scoreline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.property-storm-scoreline strong{font-size:13px;line-height:1.35}
.storm-event-list.compact .storm-event{grid-template-columns:95px 1fr 52px;padding:8px 0}.storm-event-list.compact .storm-event-date{font-size:10px}.storm-event-list.compact .storm-event-main strong{font-size:11px}.storm-property-note{font-size:10px;color:#81909c;margin:10px 0 0}
@media(max-width:760px){
  .storm-intelligence-card{padding:13px;margin:10px 0;border-radius:12px}.storm-card-head{flex-direction:column}.storm-card-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.storm-tier-badge,.storm-refresh-button{width:100%;min-height:42px}
  .storm-score-row{grid-template-columns:1fr}.storm-score{display:grid;grid-template-columns:1fr auto auto;text-align:left;min-height:70px}.storm-score strong{font-size:34px;margin:0 5px}
  .storm-metric-grid{grid-template-columns:1fr 1fr}.storm-metric-grid>div{min-height:72px}.storm-event{grid-template-columns:90px 1fr 48px;gap:6px}.storm-event-main{display:block}.storm-event-main span{display:block;margin-top:2px}.storm-card-foot{flex-direction:column;gap:4px}.property-storm-scoreline{grid-template-columns:1fr 1fr}
}

.property-storm-last-checked{padding:9px 0 7px;font-size:11px;font-weight:800;color:#667788;border-bottom:1px solid #edf1f3}

/* Definitive proposal contract price */
.proposal-final-price-label{margin-top:12px;font-weight:900}
.proposal-price-input-wrap{display:flex;align-items:center;border:2px solid #102a43;border-radius:9px;background:#fff;overflow:hidden;margin-top:6px}
.proposal-price-input-wrap span{padding:0 0 0 13px;font-size:20px;font-weight:900;color:#102a43}
.proposal-price-input-wrap input{border:0!important;box-shadow:none!important;font-size:20px!important;font-weight:900!important;padding:12px 10px!important;min-width:0;width:100%}
.proposal-price-input-wrap:focus-within{outline:3px solid rgba(247,148,29,.22);border-color:#F7941D}

/* Scope Management MVP */
.scope-management-card{width:min(1120px,94vw);max-width:1120px}
.scope-management-layout{display:grid;grid-template-columns:330px 1fr;gap:0;min-height:610px;border-top:1px solid #e5eaf0}
.scope-template-list-panel{padding:20px;border-right:1px solid #e5eaf0;background:#f7f9fb}
.scope-template-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.scope-template-list-head strong{display:block;font-size:15px}
.scope-template-list-head small{display:block;color:#6b7c8c;margin-top:2px}
.scope-small-button{padding:9px 11px!important;font-size:12px!important;white-space:nowrap}
.scope-template-list{display:flex;flex-direction:column;gap:8px}
.scope-template-list-item{width:100%;border:1px solid #d9e1e8;background:#fff;border-radius:9px;text-align:left;padding:12px 13px;color:#102a43;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800}
.scope-template-list-item:hover{border-color:#F7941D}
.scope-template-list-item.active{border-color:#F7941D;box-shadow:0 0 0 2px rgba(247,148,29,.12)}
.scope-template-list-item small{background:#fff2df;color:#a65300;border-radius:999px;padding:4px 7px;font-size:10px;text-transform:uppercase;letter-spacing:.35px}
.scope-empty-state{padding:24px 12px;text-align:center;color:#6b7c8c;border:1px dashed #cbd5df;border-radius:10px;background:#fff}
.scope-template-editor{padding:24px;display:flex;flex-direction:column;gap:16px}
.scope-template-editor label{font-weight:800;color:#102a43}
.scope-template-editor input[type=text],.scope-template-editor textarea{margin-top:6px;width:100%}
.scope-template-editor textarea{min-height:330px;resize:vertical;line-height:1.5}
.scope-editor-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.scope-editor-head h3{margin:2px 0 0;font-size:22px}
.scope-default-checkbox{display:flex;align-items:center;gap:8px!important;border:1px solid #d9e1e8;border-radius:8px;padding:9px 11px;background:#fff;font-size:12px}
.scope-default-checkbox input{margin:0!important}
.scope-editor-actions{display:flex;align-items:center;gap:9px;padding-top:4px}
.scope-action-spacer{flex:1}
.danger-text{color:#a82929!important}
.proposal-scope-template-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-bottom:5px}
.proposal-scope-template-row label{margin:0}
.proposal-scope-template-row button{height:42px;white-space:nowrap}
#proposalScopeTemplateHint{display:block;margin:2px 0 8px}
@media(max-width:820px){
  .scope-management-layout{grid-template-columns:1fr}
  .scope-template-list-panel{border-right:0;border-bottom:1px solid #e5eaf0}
  .scope-management-card{width:96vw}
  .proposal-scope-template-row{grid-template-columns:1fr}
}

/* Scope line-item editor */
.scope-items-field{display:flex;flex-direction:column;gap:8px}
.scope-line-items{display:flex;flex-direction:column;gap:8px;margin-top:7px}
.scope-line-row{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;border:1px solid #d9e1e8;border-radius:9px;background:#fff;padding:7px}
.scope-line-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:#f2f5f7;color:#5d6d7b;font-size:12px;font-weight:900}
.scope-line-input{margin:0!important;border:0!important;box-shadow:none!important;padding:8px!important;min-width:0;width:100%;font-size:14px!important}
.scope-line-input:focus{outline:none!important}
.scope-line-row:focus-within{border-color:#F7941D;box-shadow:0 0 0 2px rgba(247,148,29,.12)}
.scope-line-actions{display:flex;align-items:center;gap:4px}
.scope-line-actions button{width:30px;height:30px;padding:0!important;border-radius:6px;border:1px solid #d9e1e8;background:#fff;color:#334e68;cursor:pointer;font-weight:900}
.scope-line-actions button:hover{border-color:#F7941D;color:#a65300}
.scope-line-delete:hover{border-color:#d88!important;color:#a82929!important}
.scope-add-line{align-self:flex-start;margin-top:3px}
.proposal-scope-items{max-height:390px;overflow:auto;padding-right:3px}
.proposal-scope-items .scope-line-row{grid-template-columns:28px 1fr auto}
@media(max-width:640px){
  .scope-line-row{grid-template-columns:28px minmax(0,1fr)}
  .scope-line-actions{grid-column:2;justify-content:flex-end}
}

/* Scope line display/edit safety */
.scope-line-content{min-width:0}
.scope-line-display{padding:9px 10px;line-height:1.45;color:#102a43;white-space:normal;overflow-wrap:anywhere;min-height:38px;display:flex;align-items:center}
.scope-line-placeholder{color:#93a1ad;font-style:italic;font-weight:500}
.scope-line-row[data-mode="display"] .scope-line-content{background:#fff}
.scope-line-row[data-mode="edit"]{border-color:#F7941D;box-shadow:0 0 0 2px rgba(247,148,29,.12)}
.scope-line-row[data-mode="edit"] .scope-line-content{background:#fffaf3;border-radius:6px}
.scope-line-input{display:block}
.scope-line-input.hidden,.scope-line-display.hidden,.scope-line-actions .hidden{display:none!important}
.scope-line-edit,.scope-line-save,.scope-line-cancel{width:auto!important;padding:0 9px!important;font-size:11px!important}
.scope-line-save{border-color:#8dbf8d!important;color:#226622!important}
.scope-line-cancel{color:#6b7c8c!important}

/* Full-page contractor workspace sections */
body.app-section-page-open{overflow:hidden}
.app-page-view{position:fixed!important;inset:0!important;z-index:5000!important;background:#f4f7f9!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0!important}
.app-page-view.hidden{display:none!important}
.app-page-view > .pricing-modal-backdrop,
.app-page-view > .sales-pipeline-backdrop{display:none!important}
.app-page-shell{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;min-height:100vh!important;height:auto!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}
.app-page-view .pricing-modal-head,
.app-page-view .sales-pipeline-head{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e3e9ee;padding:22px max(28px,calc((100vw - 1240px)/2))!important;display:flex;align-items:center;justify-content:space-between;gap:24px}
.app-page-view .pricing-modal-head h2,
.app-page-view .sales-pipeline-head h2{font-size:28px;margin:2px 0 4px}
.app-page-view .pricing-modal-head p,
.app-page-view .sales-pipeline-head p{margin-bottom:0}
.app-page-back{border:1px solid #ccd6df;background:#fff;color:#183b56;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
.app-page-back:hover{border-color:#F7941D;color:#a65300;background:#fffaf4}

/* Company Profile & Pricing page body widths */
#companyProfileModal .company-profile-form,
#pricingModal .pricing-form{width:min(1180px,calc(100% - 56px));margin:0 auto;padding:34px 0 60px}
#scopeManagementModal .scope-management-layout{width:min(1240px,calc(100% - 56px));margin:0 auto;min-height:calc(100vh - 110px);border-top:0;padding:28px 0 60px}
#scopeManagementModal .scope-template-list-panel{border:1px solid #e3e9ee;border-radius:12px 0 0 12px}
#scopeManagementModal .scope-template-editor{border:1px solid #e3e9ee;border-left:0;border-radius:0 12px 12px 0;background:#fff}

/* Pipeline full page */
#salesPipelineModal .sales-pipeline-shell{display:block}
#salesPipelineModal .sales-pipeline-body{width:min(1500px,calc(100% - 48px));margin:0 auto;padding:28px 0 60px}
#salesPipelineModal .pipeline-head-actions{align-items:center}
#salesPipelineModal .pipeline-search-wrap{min-width:320px}

/* Properties is now a full-page view instead of a drawer */
#measurementHistory.app-page-view{display:block;transform:translateX(105%);transition:transform .18s ease;left:0!important;right:0!important;top:0!important;bottom:0!important;width:100%!important;max-width:none!important;height:100vh!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#f4f7f9!important;padding:0!important}
#measurementHistory.app-page-view.open{transform:translateX(0)}
#measurementHistory .history-drawer-head{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e3e9ee;padding:22px max(28px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center}
#measurementHistory .history-drawer-copy,
#measurementHistory .history-tools,
#measurementHistory #historyEmpty,
#measurementHistory #historyList{width:min(1240px,calc(100% - 56px));margin-left:auto;margin-right:auto}
#measurementHistory .history-drawer-copy{margin-top:28px}
#measurementHistory .history-tools{margin-top:20px}
#measurementHistory #historyList{padding-bottom:60px}
#historyBackdrop{display:none!important}

/* Remove modal/drawer close affordance behaviors visually */
.app-page-view .pricing-close,.app-page-view .history-close{display:none!important}

@media(max-width:820px){
  .app-page-view .pricing-modal-head,
  .app-page-view .sales-pipeline-head,
  #measurementHistory .history-drawer-head{padding:16px 18px!important;align-items:flex-start;flex-direction:column}
  .app-page-back{order:-1}
  #companyProfileModal .company-profile-form,
  #pricingModal .pricing-form,
  #scopeManagementModal .scope-management-layout,
  #salesPipelineModal .sales-pipeline-body,
  #measurementHistory .history-drawer-copy,
  #measurementHistory .history-tools,
  #measurementHistory #historyEmpty,
  #measurementHistory #historyList{width:calc(100% - 28px)}
  #scopeManagementModal .scope-management-layout{grid-template-columns:1fr}
  #scopeManagementModal .scope-template-list-panel{border-radius:12px 12px 0 0}
  #scopeManagementModal .scope-template-editor{border-left:1px solid #e3e9ee;border-top:0;border-radius:0 0 12px 12px}
  #salesPipelineModal .pipeline-head-actions{width:100%;align-items:stretch}
  #salesPipelineModal .pipeline-search-wrap{min-width:0;width:100%}
}

/* Full-page layout refinements */
#scopeManagementModal .pricing-modal-head{
  min-height:112px;
}
#scopeManagementModal .scope-management-layout{
  padding-top:42px!important;
  align-items:start;
}
#scopeManagementModal .scope-template-list-panel,
#scopeManagementModal .scope-template-editor{
  margin-top:0!important;
}
#scopeManagementModal .scope-template-list{
  padding-top:4px;
}
#scopeManagementModal .scope-template-list-item:first-child{
  margin-top:0;
}

/* Pipeline header spacing */
#salesPipelineModal .sales-pipeline-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end!important;
  column-gap:40px!important;
  row-gap:18px!important;
  min-height:132px;
}
#salesPipelineModal .sales-pipeline-title-block{
  min-width:0;
  padding-right:12px;
}
#salesPipelineModal .sales-pipeline-title-block .eyebrow{
  margin-bottom:8px;
}
#salesPipelineModal .sales-pipeline-title-block h2{
  margin:0 0 8px!important;
  line-height:1.12;
}
#salesPipelineModal .sales-pipeline-title-block p{
  margin:0!important;
  line-height:1.5;
  max-width:620px;
}
#salesPipelineModal .pipeline-head-actions{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end;
  gap:14px!important;
  flex-wrap:nowrap;
}
#salesPipelineModal .pipeline-search-wrap{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:340px!important;
  margin:0!important;
}
#salesPipelineModal .pipeline-search-wrap span{
  font-size:12px;
  font-weight:800;
  color:#52606d;
}
#salesPipelineModal .pipeline-search-wrap input{
  min-height:42px;
}
#salesPipelineModal .app-page-back{
  min-height:42px;
  align-self:flex-end;
}

@media(max-width:980px){
  #salesPipelineModal .sales-pipeline-head{
    grid-template-columns:1fr;
    align-items:start!important;
  }
  #salesPipelineModal .pipeline-head-actions{
    justify-content:space-between;
    width:100%;
  }
  #salesPipelineModal .pipeline-search-wrap{
    flex:1;
    min-width:0!important;
  }
}
@media(max-width:640px){
  #scopeManagementModal .scope-management-layout{
    padding-top:24px!important;
  }
  #salesPipelineModal .pipeline-head-actions{
    flex-direction:column;
    align-items:stretch!important;
  }
  #salesPipelineModal .app-page-back{
    align-self:stretch;
  }
}

/* Persistent authenticated app navigation */
:root{--app-header-height:72px}
body > header{
  position:sticky!important;
  top:0;
  z-index:7000!important;
  background:#fff;
}
body.app-section-page-open{overflow:hidden}
.app-page-view{
  top:var(--app-header-height)!important;
  height:calc(100vh - var(--app-header-height))!important;
  min-height:0!important;
}
#measurementHistory.app-page-view{
  top:var(--app-header-height)!important;
  height:calc(100vh - var(--app-header-height))!important;
}
.app-page-shell{
  min-height:calc(100vh - var(--app-header-height))!important;
}
.account-area .app-nav-button{
  position:relative;
}
.account-area .app-nav-button.active{
  border-color:#F7941D!important;
  color:#a65300!important;
  background:#fff8ef!important;
}
.account-area .app-nav-button.active::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:-7px;
  height:2px;
  border-radius:2px;
  background:#F7941D;
}
.app-page-back{display:none!important}

/* Page headers no longer need to reserve space for a back button */
.app-page-view .pricing-modal-head,
.app-page-view .sales-pipeline-head{
  min-height:auto;
}
#salesPipelineModal .sales-pipeline-head{
  grid-template-columns:minmax(0,1fr) minmax(320px,420px)!important;
  align-items:end!important;
}
#salesPipelineModal .pipeline-head-actions{
  width:100%;
}
#salesPipelineModal .pipeline-search-wrap{
  width:100%;
  min-width:0!important;
}

@media(max-width:1100px){
  body > header{
    position:sticky!important;
  }
  #salesPipelineModal .sales-pipeline-head{
    grid-template-columns:1fr!important;
  }
}

/* Authenticated app: public marketing Home control must never display */
body > header .app-home-button,
body > header a[href="/"][aria-label*="home" i]{
  display:none!important;
}

/* /app/ is authenticated application space: never render public marketing navigation */
.public-topbar,
.public-topbar-home{
  display:none!important;
}

/* Restore authenticated app header dark theme */
body > header{
  background:#000!important;
  color:#fff!important;
  border-bottom:1px solid #1f1f1f!important;
}
body > header .brand,
body > header .brand span,
body > header .tag,
body > header #accountLabel{
  color:#fff!important;
}
body > header .account-area button,
body > header .account-area .app-nav-button{
  color:#fff!important;
  background:transparent!important;
  border-color:rgba(255,255,255,.22)!important;
}
body > header .account-area button:hover,
body > header .account-area .app-nav-button:hover{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.42)!important;
}
body > header .account-area .app-nav-button.active{
  background:#fff!important;
  color:#000!important;
  border-color:#fff!important;
}
body > header .account-area .app-nav-button.active::after{
  background:#F7941D!important;
}
body > header #trialStatusButton{
  color:#fff!important;
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.24)!important;
}
body > header #logoutButton{
  color:#fff!important;
}

/* Contractor square logo + persistent header branding */
body > header{
  display:flex;
  align-items:center;
  gap:18px;
}
.app-company-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:max-content;
  flex:0 0 auto;
}
.header-company-logo-wrap{
  width:38px;
  height:38px;
  border-radius:8px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(255,255,255,.3);
  flex:0 0 38px;
}
.header-company-logo{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.header-company-name{
  color:#fff;
  font-weight:900;
  font-size:15px;
  line-height:1.1;
  max-width:190px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body > header .account-area{
  margin-left:auto;
}
#accountLabel{display:none!important}

/* Saved logo preview is always square */
.company-logo-preview-wrap{
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:18px;
}
.company-logo-preview-card{
  width:112px;
  height:112px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid #d7dde3;
  background:#f8fafc;
}
.company-logo-preview{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block;
}
.company-logo-preview-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* Square logo cropper */
.logo-crop-modal{
  position:fixed;
  inset:0;
  z-index:12000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.logo-crop-modal.hidden{display:none!important}
.logo-crop-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
}
.logo-crop-card{
  position:relative;
  z-index:1;
  width:min(620px,96vw);
  background:#fff;
  border-radius:18px;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  padding:24px;
}
.logo-crop-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:20px;
}
.logo-crop-head h2{margin:4px 0 6px}
.logo-crop-head p{margin:0;color:#5f6b76}
.logo-crop-workspace{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}
.logo-crop-viewport{
  position:relative;
  width:min(360px,78vw);
  aspect-ratio:1/1;
  overflow:hidden;
  background:#eef1f4;
  cursor:grab;
  touch-action:none;
  user-select:none;
  border-radius:16px;
  box-shadow:inset 0 0 0 1px #cbd2d9;
}
.logo-crop-viewport:active{cursor:grabbing}
.logo-crop-viewport img{
  position:absolute;
  left:0;
  top:0;
  max-width:none!important;
  pointer-events:none;
  transform-origin:0 0;
}
.logo-crop-guide{
  position:absolute;
  inset:0;
  border:3px solid #fff;
  box-shadow:0 0 0 9999px rgba(0,0,0,.14) inset;
  pointer-events:none;
}
.logo-zoom-control{
  width:min(360px,78vw);
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:14px;
  font-weight:800;
}
.logo-zoom-control input{width:100%}
.logo-crop-actions{
  width:min(360px,78vw);
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
@media(max-width:900px){
  .header-company-name{max-width:130px}
}
@media(max-width:700px){
  .app-company-brand{width:100%}
  .header-company-name{max-width:none}
  .logo-crop-head{flex-direction:column}
  .logo-crop-head > button{align-self:flex-end}
}

/* Persistent header clearance: Contractor Pricing + Scope Management */
#pricingModal.app-page-view,
#scopeManagementModal.app-page-view{
  padding-top:0!important;
}

#pricingModal .pricing-modal-card,
#scopeManagementModal .pricing-modal-card{
  padding-top:0!important;
}

#pricingModal .pricing-modal-head,
#scopeManagementModal .pricing-modal-head{
  position:sticky;
  top:0;
  z-index:5;
  background:#fff;
  padding-top:24px!important;
  padding-bottom:18px!important;
  margin-bottom:0!important;
  border-bottom:1px solid #e6e9ed;
}

/* Ensure first controls are not hidden beneath sticky page header */
#pricingModal form,
#pricingModal .pricing-grid,
#pricingModal .pricing-form,
#pricingModal .settings-form{
  padding-top:32px!important;
}

#scopeManagementModal .scope-management-layout{
  padding-top:32px!important;
}

#scopeManagementModal .scope-template-list-panel,
#scopeManagementModal .scope-template-editor{
  scroll-margin-top:32px;
}

/* Extra breathing room for first visible rows/items */
#pricingModal .pricing-grid > *:first-child,
#pricingModal form > *:first-child,
#scopeManagementModal .scope-template-list > *:first-child,
#scopeManagementModal .scope-template-editor > *:first-child{
  margin-top:0!important;
}

@media(max-width:700px){
  #pricingModal form,
  #pricingModal .pricing-grid,
  #pricingModal .pricing-form,
  #pricingModal .settings-form,
  #scopeManagementModal .scope-management-layout{
    padding-top:24px!important;
  }
}

/* DEFINITIVE FIX: Pricing + Scope white page headers must NOT overlay content */
#pricingModal .pricing-modal-card,
#scopeManagementModal .pricing-modal-card{
  display:block!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

#pricingModal .pricing-modal-head,
#scopeManagementModal .pricing-modal-head{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  z-index:auto!important;
  display:flex!important;
  flex:0 0 auto!important;
  width:100%!important;
  box-sizing:border-box!important;
  background:#fff!important;
  padding:24px 28px 20px!important;
  margin:0!important;
  border-bottom:1px solid #e6e9ed!important;
}

/* Content now starts AFTER the title/subtitle block in normal flow */
#pricingModal .pricing-form{
  position:relative!important;
  z-index:auto!important;
  width:min(1180px,calc(100% - 56px))!important;
  margin:0 auto!important;
  padding:30px 0 60px!important;
}

#scopeManagementModal .scope-management-layout{
  position:relative!important;
  z-index:auto!important;
  width:min(1320px,calc(100% - 56px))!important;
  margin:0 auto!important;
  padding:30px 0 60px!important;
  box-sizing:border-box!important;
}

/* Remove earlier spacing tricks that were compensating for the sticky overlay */
#pricingModal form,
#pricingModal .pricing-grid,
#pricingModal .settings-form{
  scroll-margin-top:0!important;
}

#scopeManagementModal .scope-template-list-panel,
#scopeManagementModal .scope-template-editor,
#scopeManagementModal .scope-template-list{
  scroll-margin-top:0!important;
}

/* The first actual controls/items should be fully visible immediately */
#pricingModal .pricing-form > *:first-child,
#scopeManagementModal .scope-management-layout > *{
  margin-top:0!important;
}

@media(max-width:820px){
  #pricingModal .pricing-modal-head,
  #scopeManagementModal .pricing-modal-head{
    padding:20px 18px 18px!important;
  }

  #pricingModal .pricing-form,
  #scopeManagementModal .scope-management-layout{
    width:calc(100% - 28px)!important;
    padding:22px 0 48px!important;
  }
}

/* STRUCTURAL PAGE FIX — title area and content get separate layout rows */
#pricingModal.app-page-view,
#scopeManagementModal.app-page-view{
  overflow:hidden!important;
}

#pricingModal .pricing-modal-card,
#scopeManagementModal .pricing-modal-card{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  align-items:stretch!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* White title/subtitle always occupies its own row */
#pricingModal .pricing-modal-head,
#scopeManagementModal .pricing-modal-head{
  grid-row:1!important;
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  flex:none!important;
  min-height:0!important;
  height:auto!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:22px 30px 20px!important;
  margin:0!important;
  background:#fff!important;
  border-bottom:1px solid #e1e6eb!important;
  overflow:visible!important;
}

/* Only Pricing content scrolls */
#pricingModal .pricing-form{
  grid-row:2!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:30px max(28px,calc((100vw - 1180px)/2)) 70px!important;
  background:#f7f9fb!important;
}

/* Only Scope content scrolls */
#scopeManagementModal .scope-management-layout{
  grid-row:2!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:30px max(28px,calc((100vw - 1320px)/2)) 70px!important;
  background:#f7f9fb!important;
  align-content:start!important;
}

/* Prevent nested panels from pulling upward */
#pricingModal .pricing-tier-grid,
#pricingModal .pricing-settings-grid,
#pricingModal .financing-settings-card,
#scopeManagementModal .scope-template-list-panel,
#scopeManagementModal .scope-template-editor{
  position:relative!important;
  top:auto!important;
  transform:none!important;
}

#pricingModal .pricing-tier-grid,
#scopeManagementModal .scope-management-layout > *{
  margin-top:0!important;
}

/* Keep a visible gap between the white page header and first content row */
#pricingModal .pricing-tier-grid{
  padding-top:2px!important;
}
#scopeManagementModal .scope-template-list-panel,
#scopeManagementModal .scope-template-editor{
  margin-top:2px!important;
}

@media(max-width:820px){
  #pricingModal .pricing-modal-head,
  #scopeManagementModal .pricing-modal-head{
    padding:18px 16px 16px!important;
  }

  #pricingModal .pricing-form,
  #scopeManagementModal .scope-management-layout{
    padding:22px 14px 54px!important;
  }
}

/* =========================================================
   STANDARDIZED FULL-PAGE APP LAYOUT
   Global black header -> white page header -> scrollable body
   Applies to Company Profile, Pricing, Scope, Pipeline, Properties
   ========================================================= */

/* Common shell behavior */
#companyProfileModal.app-page-view,
#pricingModal.app-page-view,
#scopeManagementModal.app-page-view,
#salesPipelineModal.app-page-view,
#measurementHistory.app-page-view{
  overflow:hidden!important;
}

#companyProfileModal .pricing-modal-card,
#pricingModal .pricing-modal-card,
#scopeManagementModal .pricing-modal-card,
#salesPipelineModal .sales-pipeline-shell,
#measurementHistory.app-page-view{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* ---------------- COMPANY PROFILE ---------------- */
#companyProfileModal .pricing-modal-card{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  padding:0!important;
}

#companyProfileModal .pricing-modal-head{
  grid-row:1!important;
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  min-height:0!important;
  height:auto!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:22px 30px 20px!important;
  margin:0!important;
  background:#fff!important;
  border-bottom:1px solid #e1e6eb!important;
}

#companyProfileModal .company-profile-form{
  grid-row:2!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  padding:30px max(28px,calc((100vw - 1040px)/2)) 70px!important;
  background:#f7f9fb!important;
}

/* ---------------- PRICING ---------------- */
/* already structurally fixed above; reinforce consistency */
#pricingModal .pricing-modal-head{
  padding:22px 30px 20px!important;
}
#pricingModal .pricing-form{
  background:#f7f9fb!important;
}

/* ---------------- SCOPE MANAGEMENT ---------------- */
#scopeManagementModal .pricing-modal-head{
  padding:22px 30px 20px!important;
}
#scopeManagementModal .scope-management-layout{
  background:#f7f9fb!important;
}

/* ---------------- SALES PIPELINE ---------------- */
#salesPipelineModal .sales-pipeline-shell{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  padding:0!important;
  background:#f7f9fb!important;
}

#salesPipelineModal .sales-pipeline-head{
  grid-row:1!important;
  position:relative!important;
  top:auto!important;
  inset:auto!important;
  z-index:2!important;
  min-height:0!important;
  height:auto!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:22px 30px 20px!important;
  margin:0!important;
  background:#fff!important;
  border-bottom:1px solid #e1e6eb!important;
}

#salesPipelineModal .sales-pipeline-body{
  grid-row:2!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  padding:30px max(28px,calc((100vw - 1320px)/2)) 70px!important;
  background:#f7f9fb!important;
}

/* ---------------- PROPERTIES ---------------- */
#measurementHistory.app-page-view{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  padding:0!important;
  background:#f7f9fb!important;
}

#measurementHistory .history-drawer-head{
  grid-row:1!important;
  position:relative!important;
  top:auto!important;
  inset:auto!important;
  z-index:2!important;
  min-height:0!important;
  height:auto!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:22px 30px 20px!important;
  margin:0!important;
  background:#fff!important;
  border-bottom:1px solid #e1e6eb!important;
}

/* Make all Properties content occupy row 2 and scroll together */
#measurementHistory .history-drawer-copy,
#measurementHistory .history-tools,
#measurementHistory #historyEmpty,
#measurementHistory #historyList{
  width:min(1240px,calc(100% - 56px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Build a scrolling content layer for Properties using the page itself */
#measurementHistory{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

/* Keep Properties header visible in document order, not sticky */
#measurementHistory .history-drawer-head{
  position:relative!important;
}

/* Add top spacing after Properties header before explanatory copy */
#measurementHistory .history-drawer-copy{
  margin-top:30px!important;
}
#measurementHistory #historyList{
  padding-bottom:70px!important;
}

/* ---------------- COMMON VISUAL RHYTHM ---------------- */
#companyProfileModal .pricing-modal-head h2,
#pricingModal .pricing-modal-head h2,
#scopeManagementModal .pricing-modal-head h2,
#salesPipelineModal .sales-pipeline-head h2,
#measurementHistory .history-drawer-head h2{
  margin-top:4px!important;
  margin-bottom:6px!important;
}

#companyProfileModal .pricing-modal-head p,
#pricingModal .pricing-modal-head p,
#scopeManagementModal .pricing-modal-head p,
#salesPipelineModal .sales-pipeline-head p{
  margin:0!important;
  max-width:760px;
}

/* First content block starts cleanly below white page header */
#companyProfileModal .company-profile-form > *:first-child,
#pricingModal .pricing-form > *:first-child,
#scopeManagementModal .scope-management-layout > *:first-child,
#salesPipelineModal .sales-pipeline-body > *:first-child{
  margin-top:0!important;
}

/* ---------------- MOBILE ---------------- */
@media(max-width:820px){
  #companyProfileModal .pricing-modal-head,
  #pricingModal .pricing-modal-head,
  #scopeManagementModal .pricing-modal-head,
  #salesPipelineModal .sales-pipeline-head,
  #measurementHistory .history-drawer-head{
    padding:18px 16px 16px!important;
  }

  #companyProfileModal .company-profile-form,
  #pricingModal .pricing-form,
  #scopeManagementModal .scope-management-layout,
  #salesPipelineModal .sales-pipeline-body{
    padding:22px 14px 54px!important;
  }

  #measurementHistory .history-drawer-copy,
  #measurementHistory .history-tools,
  #measurementHistory #historyEmpty,
  #measurementHistory #historyList{
    width:calc(100% - 28px)!important;
  }

  #measurementHistory .history-drawer-copy{
    margin-top:22px!important;
  }
}

/* Compact icon-only action buttons for Edit / Save / Cancel */
.icon-action-button,
.scope-line-actions .icon-action-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  padding:0!important;
  border-radius:8px!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:800!important;
  cursor:pointer;
}

.scope-line-edit.icon-action-button{
  color:#334155!important;
}
.scope-line-save.icon-action-button{
  color:#087443!important;
  border-color:#a7d7bd!important;
  background:#f0fbf5!important;
}
.scope-line-cancel.icon-action-button{
  color:#a33a32!important;
  border-color:#e6bbb7!important;
  background:#fff7f6!important;
}

.icon-action-button:hover{
  transform:translateY(-1px);
}

/* Keep icon buttons compact even where generic secondary button CSS is wider */
#cancelCompanyProfile.icon-action-button,
#cancelLogoCropTop.icon-action-button,
#cancelLogoCrop.icon-action-button,
#cancelPricing.icon-action-button{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  padding:0!important;
}


/* FIX: hidden state must always override icon-button display */
.icon-action-button.hidden,
.scope-line-actions .icon-action-button.hidden{
  display:none!important;
}

/* Scope line-item action states:
   View mode  = Edit only
   Edit mode  = Save + Cancel only */
.scope-line-row:not([data-mode="edit"]) .scope-line-save,
.scope-line-row:not([data-mode="edit"]) .scope-line-cancel{
  display:none!important;
}

.scope-line-row[data-mode="edit"] .scope-line-edit{
  display:none!important;
}

.scope-line-row[data-mode="edit"] .scope-line-save,
.scope-line-row[data-mode="edit"] .scope-line-cancel{
  display:inline-flex!important;
}

/* ================= INVOICES + DEMO PAYMENTS ================= */
#invoicesPage.app-page-view{overflow:hidden!important;background:#f7f9fb}
.invoice-page-shell{height:100%!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important;background:#f7f9fb}
.invoice-page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:22px 30px 20px;background:#fff;border-bottom:1px solid #e1e6eb}
.invoice-page-head h2{margin:4px 0 6px;color:#082A45;font-size:28px}
.invoice-page-head p{margin:0;color:#64748b;font-size:13px;max-width:720px;line-height:1.45}
.invoice-head-actions{display:flex;align-items:center;gap:12px}
.invoice-demo-badge{font-size:10px;font-weight:900;letter-spacing:.7px;color:#9a5a00;background:#fff7e8;border:1px solid #f0c77d;border-radius:999px;padding:7px 10px}
.invoice-page-body{min-height:0;overflow:auto;padding:30px max(28px,calc((100vw - 1320px)/2)) 70px}
.invoice-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.invoice-metrics>div{background:#fff;border:1px solid #dfe6ec;border-radius:14px;padding:18px}
.invoice-metrics span{display:block;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}
.invoice-metrics strong{display:block;margin-top:6px;color:#082A45;font-size:25px}
.invoice-toolbar{display:flex;gap:12px;margin-bottom:18px}
.invoice-toolbar input,.invoice-toolbar select{height:42px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:0 12px;font:inherit}
.invoice-toolbar input{flex:1}.invoice-toolbar select{min-width:180px}
.invoice-empty{display:grid;gap:5px;place-items:center;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:14px;padding:48px;color:#64748b}.invoice-empty strong{color:#334155}
.invoice-list{display:grid;gap:14px}
.invoice-card{background:#fff;border:1px solid #dfe6ec;border-radius:15px;padding:19px}
.invoice-card-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.invoice-card-top>div{display:grid;gap:3px}.invoice-card-top strong{font-size:17px;color:#0f2f47}.invoice-card-top p{margin:0;color:#64748b;font-size:12px}
.invoice-number{font-size:10px;font-weight:900;letter-spacing:.5px;color:#778493}
.invoice-status-chip{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;background:#eef2f6;color:#52606d}
.invoice-status-chip.status-paid{background:#e9f8ef;color:#087443}.invoice-status-chip.status-processing{background:#eef4ff;color:#315fa8}.invoice-status-chip.status-open,.invoice-status-chip.status-sent,.invoice-status-chip.status-viewed{background:#fff5e7;color:#9a5a00}.invoice-status-chip.status-void{background:#f3f4f6;color:#6b7280}
.invoice-card-money{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;padding:14px;background:#f7f9fb;border-radius:11px}
.invoice-card-money span{display:block;color:#778493;font-size:10px;font-weight:800;text-transform:uppercase}.invoice-card-money strong{display:block;margin-top:3px;color:#18364d;font-size:15px}
.invoice-card-description{margin:0 0 14px;color:#52606d;font-size:13px}
.invoice-card-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.invoice-builder-modal,.invoice-payment-demo-modal{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:18px}.invoice-builder-modal.hidden,.invoice-payment-demo-modal.hidden{display:none!important}
.invoice-builder-backdrop{position:absolute;inset:0;background:rgba(7,22,34,.58);backdrop-filter:blur(2px)}
.invoice-builder-card,.invoice-payment-demo-card{position:relative;z-index:1;width:min(760px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.25)}
.invoice-builder-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px 24px;border-bottom:1px solid #e2e8f0}.invoice-builder-head h2{margin:4px 0 5px;color:#082A45}.invoice-builder-head p{margin:0;color:#64748b;font-size:12px}
.invoice-builder-form{padding:22px 24px 26px;display:grid;gap:15px}.invoice-builder-form label{display:grid;gap:6px;color:#334155;font-size:12px;font-weight:800}
.invoice-builder-form input,.invoice-builder-form select{height:42px;border:1px solid #cbd5e1;border-radius:9px;padding:0 11px;background:#fff;font:inherit}.invoice-builder-form input[readonly]{background:#f7f9fb;color:#52606d}
.invoice-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.invoice-contract-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#f7f9fb;border-radius:12px;padding:14px}.invoice-contract-summary span{display:block;color:#778493;font-size:10px;font-weight:800;text-transform:uppercase}.invoice-contract-summary strong{display:block;margin-top:3px;color:#18364d}
.invoice-builder-actions{display:flex;justify-content:flex-end;gap:10px}
.payment-demo-body{padding:24px}.payment-demo-mode{display:grid;gap:3px;padding:12px 14px;border:1px solid #f1c36e;background:#fff8e8;border-radius:11px;color:#845300}.payment-demo-mode span{font-size:12px}
.payment-demo-brand{display:flex;align-items:center;gap:12px;padding:20px 0}.payment-demo-brand img{width:48px;height:48px;border-radius:10px;object-fit:cover;border:1px solid #dfe6ec}.payment-demo-brand div{display:grid;gap:3px}.payment-demo-brand strong{color:#0f2f47}.payment-demo-brand span{color:#64748b;font-size:12px}
.payment-demo-amount{text-align:center;padding:26px 16px;background:#f7f9fb;border-radius:14px}.payment-demo-amount span,.payment-demo-amount small{display:block;color:#64748b}.payment-demo-amount strong{display:block;font-size:38px;color:#082A45;margin:5px 0}
.payment-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.payment-method-card{display:grid;text-align:left;gap:4px;padding:18px;border:1px solid #d8e0e7;background:#fff;border-radius:13px;cursor:pointer}.payment-method-card:hover{border-color:#F7941D;box-shadow:0 5px 20px rgba(8,42,69,.08)}.payment-method-card strong{color:#173850}.payment-method-card span{color:#52606d;font-size:12px}.payment-method-card small{color:#a66418;font-weight:800;margin-top:5px}
.property-invoice-card .property-stat-grid{margin-top:14px}
@media(max-width:820px){
 .invoice-page-head{padding:18px 16px 16px;align-items:flex-start;flex-direction:column}.invoice-head-actions{width:100%;justify-content:space-between}
 .invoice-page-body{padding:22px 14px 54px}.invoice-metrics{grid-template-columns:1fr 1fr}.invoice-card-money{grid-template-columns:1fr 1fr}.invoice-toolbar{flex-direction:column}.invoice-toolbar select{width:100%}
 .invoice-builder-grid,.payment-method-grid{grid-template-columns:1fr}.invoice-contract-summary{grid-template-columns:1fr}.invoice-card-actions{justify-content:stretch}.invoice-card-actions button{flex:1}
}

/* Matched property-capacity pricing architecture */
.pricing-plan-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.pricing-plan-card{border:1px solid #d9e1e8;border-radius:12px;padding:15px;background:#fff;display:flex;flex-direction:column;gap:5px}
.pricing-plan-card.selected{border:2px solid #f7941d}
.pricing-plan-card>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#6d7a87}
.pricing-plan-card>strong{font-size:27px;color:#0f2742}.pricing-plan-card>strong small{font-size:12px;color:#718092}
.pricing-plan-card>b{font-size:12px;color:#263b50}
.intelligence-addon-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.intelligence-addon-preview>div{border:1px solid #e0e6eb;border-radius:10px;padding:12px;background:#fafbfc;display:flex;flex-direction:column;gap:5px}
.intelligence-addon-preview strong{color:#0f2742;font-size:13px}.intelligence-addon-preview span{font-size:11px;color:#687786;line-height:1.35}.intelligence-addon-preview b{font-size:11px;color:#f7941d}
@media(max-width:720px){.pricing-plan-preview,.intelligence-addon-preview{grid-template-columns:1fr}}

/* Internal SaaS economics dashboard */
.economics-shell{height:100%;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);gap:16px;padding:24px;overflow:hidden}
.economics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.economics-head h2{margin:4px 0 6px}.economics-head p{margin:0;color:#64748b}
.economics-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.economics-metrics article{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.economics-metrics span{display:block;font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.economics-metrics strong{display:block;margin-top:6px;font-size:24px;color:#0f172a}
.economics-cost-note{font-size:12px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px}.economics-toolbar{display:flex;gap:10px}.economics-toolbar input{flex:1}.economics-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.economics-table{width:100%;border-collapse:collapse;white-space:nowrap}.economics-table th,.economics-table td{padding:12px 14px;border-bottom:1px solid #eef2f7;text-align:right;font-size:13px}.economics-table th{position:sticky;top:0;background:#f8fafc;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.04em;z-index:1}.economics-table th:first-child,.economics-table td:first-child,.economics-table th:nth-child(2),.economics-table td:nth-child(2),.economics-table th:nth-child(3),.economics-table td:nth-child(3){text-align:left}.econ-positive{font-weight:800}.econ-muted{color:#64748b}.econ-addon{display:inline-block;padding:3px 7px;border-radius:999px;background:#f1f5f9;margin-right:4px;font-size:11px;font-weight:700}
@media(max-width:1100px){.economics-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.economics-shell{padding:14px}.economics-metrics{grid-template-columns:repeat(2,1fr)}.economics-toolbar{flex-direction:column}}

/* SaaS Economics — standardized full-page app layout */
#economicsPage.app-page-view{overflow:hidden!important;background:#f7f9fb!important}
#economicsPage .economics-shell{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:0!important;padding:0!important;overflow:hidden!important;background:#f7f9fb!important}
#economicsPage .economics-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:22px 30px 20px;background:#fff;border-bottom:1px solid #e1e6eb}
#economicsPage .economics-head h2{margin:4px 0 6px;color:#082A45;font-size:28px;line-height:1.15}
#economicsPage .economics-head p{margin:0;color:#64748b;font-size:13px;line-height:1.45;max-width:760px}
#economicsPage .economics-head .eyebrow{color:#f7941d}
#economicsPage .economics-head #refreshEconomicsButton{min-width:96px}
#economicsPage .economics-body{min-height:0;overflow:auto;padding:30px max(28px,calc((100vw - 1320px)/2)) 70px}
#economicsPage .economics-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}
#economicsPage .economics-metrics article{min-width:0;background:#fff;border:1px solid #dfe6ec;border-radius:14px;padding:18px;box-shadow:0 1px 2px rgba(15,39,66,.02)}
#economicsPage .economics-metrics article.economics-metric-emphasis{border-top:3px solid #f7941d;padding-top:16px}
#economicsPage .economics-metrics span{display:block;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}
#economicsPage .economics-metrics strong{display:block;margin-top:6px;color:#082A45;font-size:25px;line-height:1.1;overflow:hidden;text-overflow:ellipsis}
#economicsPage .economics-metrics small{display:block;margin-top:6px;color:#94a3b8;font-size:10px;line-height:1.3}
#economicsPage .economics-panel{background:#fff;border:1px solid #dfe6ec;border-radius:14px}
#economicsPage .economics-assumptions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:28px;align-items:center;padding:17px 19px;margin-bottom:18px}
#economicsPage .economics-panel-label{display:block;color:#f7941d;font-size:10px;font-weight:900;letter-spacing:.7px;margin-bottom:4px}
#economicsPage .economics-assumptions strong{color:#18364d;font-size:14px}
#economicsPage .economics-assumptions p{margin:4px 0 0;color:#64748b;font-size:12px;line-height:1.45}
#economicsPage .economics-assumption-detail{padding-left:22px;border-left:1px solid #e5eaf0}
#economicsPage .economics-contractors-panel{overflow:hidden}
#economicsPage .economics-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px 18px 16px;border-bottom:1px solid #e8edf2}
#economicsPage .economics-section-head h3{margin:2px 0 0;color:#18364d;font-size:17px}
#economicsPage .economics-toolbar{display:flex;gap:10px;align-items:center;margin:0}
#economicsPage .economics-toolbar input,#economicsPage .economics-toolbar select{height:40px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:0 12px;font:inherit;font-size:13px;color:#334155;outline:none}
#economicsPage .economics-toolbar input{width:min(330px,34vw)}
#economicsPage .economics-toolbar select{min-width:150px}
#economicsPage .economics-toolbar input:focus,#economicsPage .economics-toolbar select:focus{border-color:#f7941d;box-shadow:0 0 0 3px rgba(247,148,29,.10)}
#economicsPage .economics-table-wrap{overflow:auto;border:0;border-radius:0;background:#fff;max-height:none}
#economicsPage .economics-table{width:100%;border-collapse:collapse;white-space:nowrap}
#economicsPage .economics-table th,#economicsPage .economics-table td{padding:13px 15px;border-bottom:1px solid #eef2f5;text-align:right;font-size:12px;vertical-align:middle}
#economicsPage .economics-table th{position:sticky;top:0;z-index:2;background:#f7f9fb;color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.45px}
#economicsPage .economics-table tbody tr:hover{background:#fafcfd}
#economicsPage .economics-table tbody tr:last-child td{border-bottom:0}
#economicsPage .economics-table th:first-child,#economicsPage .economics-table td:first-child,#economicsPage .economics-table th:nth-child(2),#economicsPage .economics-table td:nth-child(2),#economicsPage .economics-table th:nth-child(3),#economicsPage .economics-table td:nth-child(3){text-align:left}
#economicsPage .economics-table td:first-child{font-weight:800;color:#18364d}
#economicsPage .econ-positive{font-weight:900;color:#087443}
#economicsPage .econ-muted{color:#64748b}
#economicsPage .econ-addon{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#f1f5f9;color:#52606d;margin:1px 4px 1px 0;font-size:10px;font-weight:800}
#economicsPage #economicsMessage{margin-bottom:16px}
@media(max-width:1180px){#economicsPage .economics-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  #economicsPage .economics-head{padding:18px 16px 16px;align-items:flex-start;flex-direction:column}
  #economicsPage .economics-head #refreshEconomicsButton{width:100%}
  #economicsPage .economics-body{padding:22px 14px 54px}
  #economicsPage .economics-metrics{grid-template-columns:1fr 1fr;gap:10px}
  #economicsPage .economics-metrics article{padding:15px}
  #economicsPage .economics-assumptions{grid-template-columns:1fr;gap:12px}
  #economicsPage .economics-assumption-detail{padding-left:0;padding-top:12px;border-left:0;border-top:1px solid #e5eaf0}
  #economicsPage .economics-section-head{align-items:stretch;flex-direction:column}
  #economicsPage .economics-toolbar{flex-direction:column;align-items:stretch}
  #economicsPage .economics-toolbar input,#economicsPage .economics-toolbar select{width:100%;min-width:0}
}


/* Invoices: match standardized full-page title/subtitle treatment */
#invoicesPage .invoice-page-head.standardized-page-head{
  min-height:104px;
  padding:22px 28px 20px;
  background:#fff;
  border-bottom:1px solid #e5e7eb;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex:0 0 auto;
}
#invoicesPage .standardized-page-title{
  min-width:0;
}
#invoicesPage .standardized-page-title h2{
  margin:0;
  font-size:26px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.02em;
  color:#111827;
}
#invoicesPage .standardized-page-title p{
  margin:7px 0 0;
  max-width:760px;
  font-size:14px;
  line-height:1.45;
  color:#6b7280;
}
#invoicesPage .invoice-head-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
}
@media (max-width:760px){
  #invoicesPage .invoice-page-head.standardized-page-head{
    min-height:auto;
    padding:18px 18px 16px;
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
  }
  #invoicesPage .standardized-page-title h2{font-size:23px}
  #invoicesPage .invoice-head-actions{
    width:100%;
    justify-content:space-between;
  }
}


/* Economics subscription status */
.econ-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.04em;background:#f3f4f6;color:#4b5563}
.econ-status-active{background:#ecfdf3;color:#067647}
.econ-status-trialing{background:#fff7ed;color:#c2410c}
.econ-status-past_due{background:#fef2f2;color:#b42318}
.econ-negative{color:#b42318;font-weight:800}




/* FINAL PAGE SPACING FIX — use the real page IDs */

/* Properties is a full page. Do not use a two-row grid here: the explanatory
   copy was filling the minmax row and pushing the search controls far down. */
#measurementHistory.app-page-view{
  display:block!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0!important;
  background:#f7f9fb!important;
}
#measurementHistory .history-drawer-head{
  position:relative!important;
  top:auto!important;
  min-height:auto!important;
  padding:24px max(28px,calc((100vw - 1240px)/2)) 18px!important;
  margin:0!important;
  background:#fff!important;
  border-bottom:1px solid #e1e6eb!important;
}
#measurementHistory .history-drawer-copy,
#measurementHistory .history-tools,
#measurementHistory #historyEmpty,
#measurementHistory #historyList{
  width:min(1240px,calc(100% - 56px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#measurementHistory .history-drawer-copy{
  margin-top:20px!important;
  margin-bottom:12px!important;
}
#measurementHistory .history-tools{
  margin-top:0!important;
  margin-bottom:16px!important;
}
#measurementHistory #historyEmpty{
  margin-top:0!important;
}
#measurementHistory #historyList{
  margin-top:0!important;
  padding-bottom:70px!important;
}

/* SaaS Economics: match the breathing room used by the other page headers. */
#economicsPage .economics-head{
  min-height:104px!important;
  box-sizing:border-box!important;
  padding:26px max(28px,calc((100vw - 1320px)/2)) 21px!important;
  margin:0!important;
  align-items:center!important;
}
#economicsPage .economics-head h2{
  margin:4px 0 6px!important;
}

@media(max-width:760px){
  #measurementHistory .history-drawer-head{
    padding:18px 16px 16px!important;
  }
  #measurementHistory .history-drawer-copy,
  #measurementHistory .history-tools,
  #measurementHistory #historyEmpty,
  #measurementHistory #historyList{
    width:calc(100% - 28px)!important;
  }
  #measurementHistory .history-drawer-copy{
    margin-top:16px!important;
    margin-bottom:10px!important;
  }
  #economicsPage .economics-head{
    min-height:auto!important;
    padding:20px 18px 17px!important;
    align-items:flex-start!important;
  }
}

/* Four-tier Plan & Billing */
.plan-builder-modal{max-width:820px}
.plan-builder-section-label{margin-top:18px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#526273}
.four-tier-plan-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.four-tier-plan-grid .pricing-plan-card{appearance:none;text-align:left;cursor:pointer;width:100%;font-family:inherit}
.four-tier-plan-grid .pricing-plan-card:hover{border-color:#aeb9c4;transform:translateY(-1px)}
.four-tier-plan-grid .pricing-plan-card.selected{border:2px solid #f7941d;box-shadow:0 0 0 3px rgba(247,148,29,.10)}
.selectable-addons>label{border:1px solid #e0e6eb;border-radius:10px;padding:14px;background:#fafbfc;display:flex;flex-direction:column;gap:7px;cursor:pointer}
.selectable-addons>label:has(input:checked){border-color:#f7941d;background:#fffaf4}
.selectable-addons .addon-check-line{display:flex;align-items:center;gap:8px}
.selectable-addons input{width:18px;height:18px;accent-color:#f7941d}
.selectable-addons strong{font-size:13px;color:#0f2742}
.selectable-addons>label>span:not(.addon-check-line){font-size:11px;color:#687786;line-height:1.35}
.selectable-addons b{font-size:12px;color:#f7941d}
.plan-builder-total{margin-top:16px;border-radius:12px;background:#102a43;color:#fff;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.plan-builder-total>div{display:flex;flex-direction:column;gap:3px}.plan-builder-total span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.plan-builder-total>div strong{font-size:13px}
.plan-builder-total>strong{font-size:23px;white-space:nowrap}
@media(max-width:820px){.four-tier-plan-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.four-tier-plan-grid,.intelligence-addon-preview{grid-template-columns:1fr}.plan-builder-total{align-items:flex-start;flex-direction:column}}


/* =========================
   FULL-PAGE PLAN & BILLING
   ========================= */
#planBillingPage.app-page-view{
  display:block!important;
  background:#f5f7f9;
  overflow:auto;
}
#planBillingPage.hidden{display:none!important}
.plan-billing-shell{
  min-height:100%;
  background:#f5f7f9;
}
.plan-billing-body{
  max-width:1180px;
  margin:0 auto;
  padding:26px 28px 40px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.plan-current-card{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);
  gap:22px;
  padding:22px;
  background:#102a43;
  color:#fff;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(15,39,66,.08);
}
.plan-section-kicker{
  display:block;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  color:#f7941d;
  margin-bottom:6px;
}
.plan-current-main h3{
  margin:0 0 7px;
  font-size:26px;
}
.plan-current-main p{
  margin:0;
  color:#d7e1e9;
  line-height:1.5;
}
.plan-feature-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:15px;
}
.plan-feature-chips span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  font-size:12px;
  font-weight:800;
}
.plan-feature-chips span.inactive{opacity:.55}
.plan-usage-card{
  align-self:stretch;
  padding:17px;
  background:#fff;
  color:#102a43;
  border-radius:13px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.plan-usage-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
  font-weight:800;
}
.plan-usage-top strong{font-size:17px}
.plan-usage-track{
  height:9px;
  margin:12px 0 8px;
  overflow:hidden;
  background:#e9eef2;
  border-radius:999px;
}
.plan-usage-track span{
  display:block;
  height:100%;
  background:#f7941d;
  border-radius:999px;
  transition:width .2s ease;
}
.plan-usage-card small{color:#6c7a88;line-height:1.4}
.plan-builder-panel{
  padding:22px;
  background:#fff;
  border:1px solid #e1e6eb;
  border-radius:16px;
}
.plan-builder-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:16px;
}
.plan-builder-heading h3{
  margin:0;
  font-size:20px;
  color:#102a43;
}
.plan-builder-heading p{
  margin:0;
  max-width:360px;
  color:#71808e;
  font-size:12px;
  text-align:right;
}
#planBillingPage .four-tier-plan-grid{margin:0}
#planBillingPage .pricing-plan-card{
  min-height:132px;
  justify-content:center;
}
#planBillingPage .selectable-addons{margin-top:0}
.plan-checkout-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:22px;
  padding:20px 22px;
  background:#fff;
  border:1px solid #dce3e8;
  border-radius:16px;
  box-shadow:0 6px 20px rgba(15,39,66,.06);
}
.plan-checkout-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.plan-checkout-copy>strong{
  font-size:15px;
  color:#102a43;
}
.plan-checkout-copy small{color:#758391}
.plan-checkout-price{
  min-width:130px;
  text-align:right;
}
.plan-checkout-price span{
  display:block;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#71808e;
}
.plan-checkout-price strong{
  display:block;
  margin-top:2px;
  font-size:25px;
  color:#102a43;
}
.plan-checkout-button{
  min-width:220px;
  min-height:48px;
}
.plan-billing-footnote{
  margin:0;
  padding:0 8px;
  color:#7a8793;
  text-align:center;
  font-size:11px;
  line-height:1.5;
}
@media(max-width:900px){
  .plan-current-card{grid-template-columns:1fr}
  .plan-checkout-card{grid-template-columns:1fr}
  .plan-checkout-price{text-align:left}
  .plan-checkout-button{width:100%}
}
@media(max-width:700px){
  .plan-billing-body{padding:18px 14px 30px}
  .plan-builder-heading{align-items:flex-start;flex-direction:column}
  .plan-builder-heading p{text-align:left}
}


/* Plan & Billing header — exact visual structure of Invoices & Payments */
#planBillingPage.app-page-view{
  overflow:hidden!important;
  background:#f7f9fb!important;
}
#planBillingPage .plan-billing-shell{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
  background:#f7f9fb!important;
}
#planBillingPage .plan-billing-head{
  grid-row:1!important;
  position:relative!important;
  top:auto!important;
  width:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:24px!important;
  min-height:auto!important;
  padding:22px 30px 20px!important;
  margin:0!important;
  background:#fff!important;
  border-bottom:1px solid #e1e6eb!important;
}
#planBillingPage .standardized-page-title{
  min-width:0!important;
}
#planBillingPage .standardized-page-title h2{
  margin:4px 0 6px!important;
  color:#082A45!important;
  font-size:28px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
#planBillingPage .standardized-page-title p{
  margin:0!important;
  color:#64748b!important;
  font-size:13px!important;
  max-width:720px!important;
  line-height:1.45!important;
}
#planBillingPage .plan-billing-body{
  grid-row:2!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  width:100%!important;
  box-sizing:border-box!important;
  max-width:none!important;
  margin:0!important;
  padding:26px max(28px,calc((100vw - 1180px)/2)) 40px!important;
  background:#f7f9fb!important;
}
@media(max-width:700px){
  #planBillingPage .plan-billing-head{
    padding:18px!important;
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:14px!important;
  }
  #planBillingPage .standardized-page-title h2{font-size:23px!important}
  #planBillingPage .plan-billing-body{padding:18px 14px 30px!important}
}


/* Plan & Billing — breathing room below black app navigation */
#planBillingPage .plan-billing-head{
  padding-top:32px!important;
  padding-bottom:22px!important;
}
@media(max-width:700px){
  #planBillingPage .plan-billing-head{
    padding-top:26px!important;
  }
}


/* Plan & Billing — dedicated separation from black app header */
#planBillingPage.app-page-view{
  padding-top:18px!important;
  background:#f7f9fb!important;
}
#planBillingPage .plan-billing-shell{
  height:calc(100% - 18px)!important;
  min-height:0!important;
  background:#f7f9fb!important;
}
#planBillingPage .plan-billing-head{
  padding-top:22px!important;
  padding-bottom:20px!important;
  border-top:1px solid #e1e6eb!important;
}
@media(max-width:700px){
  #planBillingPage.app-page-view{
    padding-top:14px!important;
  }
  #planBillingPage .plan-billing-shell{
    height:calc(100% - 14px)!important;
  }
  #planBillingPage .plan-billing-head{
    padding-top:18px!important;
  }
}

/* Automatic property analysis flow */
.property-analysis-progress{margin:16px 0;padding:18px;border:1px solid #dfe5ea;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(18,31,44,.06)}
.property-analysis-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.property-analysis-progress-head h3{margin:2px 0 4px;font-size:20px;color:#182430}
.property-analysis-progress-head p{margin:0;color:#6d7a86;font-size:13px}
.property-analysis-badge{border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#eef2f5;color:#56636f}
.property-analysis-badge.working{background:#fff3e8;color:#b65d08}.property-analysis-badge.ready{background:#eaf8ef;color:#237244}.property-analysis-badge.partial{background:#fff7db;color:#8a6500}.property-analysis-badge.failed{background:#fdecec;color:#a93838}
.property-analysis-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.property-analysis-step{display:flex;gap:9px;align-items:center;border:1px solid #e6eaee;border-radius:10px;padding:10px;background:#fafbfc;min-width:0}
.analysis-step-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#e8edf1;color:#52616e;font-size:11px;font-weight:800}
.property-analysis-step strong{display:block;font-size:11px;color:#263543;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-analysis-step small{display:block;margin-top:2px;color:#7b8893;font-size:10px}
.property-analysis-step.active{border-color:#f2a760;background:#fffaf5}.property-analysis-step.active .analysis-step-icon{background:#ef7d22;color:#fff}
.property-analysis-step.complete{border-color:#bfe4cb;background:#f5fbf7}.property-analysis-step.complete .analysis-step-icon{background:#2d8a50;color:#fff}.property-analysis-step.complete .analysis-step-icon::after{content:'✓';font-size:12px}.property-analysis-step.complete .analysis-step-icon{font-size:0}
.property-analysis-step.partial{border-color:#f0d57e;background:#fffaf0}.property-analysis-step.partial .analysis-step-icon{background:#c69616;color:#fff}.property-analysis-step.failed{border-color:#efc2c2;background:#fff7f7}.property-analysis-step.failed .analysis-step-icon{background:#bd4545;color:#fff}
.property-analysis-message{margin-top:12px;color:#5e6b77;font-size:12px}
.property-next-action-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #efc093;border-radius:14px;background:#fff9f3;margin-bottom:16px}
.property-next-action-card h3{margin:3px 0 4px}.property-next-action-card p{margin:0;max-width:720px;color:#64717d;font-size:13px;line-height:1.5}
@media(max-width:900px){.property-analysis-steps{grid-template-columns:1fr 1fr}.property-next-action-card{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.property-analysis-steps{grid-template-columns:1fr}.property-analysis-progress-head{flex-direction:column}}


/* P91 FIX — Properties must actually disappear when closed.
   This ID-specific rule must beat the full-page display:block!important rule. */
#measurementHistory.app-page-view.hidden{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
#measurementHistory.app-page-view.open{
  display:block!important;
  visibility:visible!important;
  pointer-events:auto!important;
}


/* CRM INTELLIGENCE — AUTOMATIC / READ-ONLY */
.property-intelligence-auto-note{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #edf1f4;
  color:#7b8794;
  font-size:11px;
  font-weight:700;
}
.property-data-status{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#eef7f1;
  border:1px solid #cfe7d7;
  color:#24734a;
  font-size:11px;
  font-weight:800;
}


/* Explicit roof editing mode directly beneath satellite image */
.roof-map-controls{
  margin-top:10px;
}
.roof-map-controls .toolbar{
  margin-top:0;
}
#editModeEntry{
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.roof-edit-entry-copy{
  color:#667482;
  font-size:13px;
  line-height:1.4;
}
.roof-edit-entry{
  min-width:110px;
}
.roof-edit-panel{
  border:1px solid #dfe5ea;
  border-radius:12px;
  padding:12px;
  background:#fff;
}
.roof-edit-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.roof-edit-toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.roof-edit-panel .hint{
  margin-top:10px;
}
@media (max-width:700px){
  .roof-edit-panel-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .roof-edit-toolbar > button{
    flex:1 1 140px;
  }
}


/* Full-page Property Record — measurement-workspace visual language */
#propertyRecordModal.property-record-page{
  top:var(--app-header-height,72px)!important;
  min-height:calc(100% - var(--app-header-height,72px))!important;
  background:#f4f7f9!important;
}
#propertyRecordModal .property-record-shell{
  background:#f4f7f9!important;
  min-height:100%!important;
}
#propertyRecordModal .property-record-head{
  position:relative;
  top:auto;
  z-index:1;
  padding:22px max(28px,calc((100vw - 1240px)/2));
  border-bottom:1px solid #e3e9ee;
  background:#fff;
}
#propertyRecordModal .property-record-head h2{
  font-size:28px;
  margin:2px 0 4px;
}
#propertyRecordModal .property-record-body{
  width:min(1240px,calc(100% - 56px));
  margin:0 auto;
  padding:28px 0 64px;
  overflow:visible;
  display:grid;
  gap:18px;
}
.property-roof-overview{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);
  gap:18px;
  align-items:stretch;
}
.property-roof-map-card{
  position:relative;
  min-height:460px;
  height:min(52vw,600px);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#d9dee3;
}
#propertyRoofMap{
  width:100%;
  height:100%;
  min-height:460px;
}
.property-roof-map-overlay{
  position:absolute;
  left:16px;
  bottom:16px;
  max-width:78%;
  padding:11px 15px;
  border-radius:10px;
  background:rgba(16,24,32,.9);
  color:#fff;
}
.property-roof-map-overlay span{
  display:block;
  margin-bottom:3px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  opacity:.72;
}
.property-roof-map-overlay strong{
  font-size:14px;
}
.property-roof-summary-panel{
  background:#fff;
  border:1px solid #dfe6ed;
  border-radius:18px;
  padding:22px;
}
.property-roof-summary-panel h3{
  margin:4px 0 0;
  color:#0f2742;
  font-size:22px;
}
.property-roof-summary-panel .property-section-head{
  display:grid;
  gap:14px;
}
.property-roof-summary-panel .property-section-head button{
  width:100%;
}
.property-roof-primary-metric{
  margin:24px 0 16px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.property-roof-primary-metric span{
  display:block;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}
.property-roof-primary-metric strong{
  display:inline-block;
  margin-top:5px;
  color:var(--ink);
  font-size:42px;
  line-height:1;
}
.property-roof-primary-metric small{
  margin-left:5px;
  color:var(--muted);
}
.property-roof-summary-panel .property-stat-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.property-roof-summary-copy{
  margin:16px 0 0;
  color:#657384;
  font-size:13px;
  line-height:1.55;
}
.property-roof-map-unavailable{
  display:grid;
  place-items:center;
  height:100%;
  min-height:460px;
  padding:30px;
  color:#677687;
  text-align:center;
  background:#eef2f5;
}
#propertyRecordModal .property-next-action-card,
#propertyRecordModal .property-record-card{
  border-radius:15px;
}
#propertyRecordModal .property-customer-card{
  order:initial;
}
#propertyRecordModal .property-record-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.property-record-open{
  overflow:auto;
}
@media(max-width:900px){
  .property-roof-overview{
    grid-template-columns:1fr;
  }
  .property-roof-map-card,
  #propertyRoofMap{
    min-height:380px;
    height:460px;
  }
}
@media(max-width:700px){
  #propertyRecordModal .property-record-body{
    width:min(100% - 28px,1240px);
    padding-top:18px;
  }
  #propertyRecordModal .property-record-head{
    padding:18px 14px;
  }
  #propertyRecordModal .property-record-grid,
  #propertyRecordModal .property-form-grid{
    grid-template-columns:1fr;
  }
  .property-roof-summary-panel .property-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .property-roof-map-card,
  #propertyRoofMap{
    min-height:320px;
    height:380px;
  }
}


/* Property Record action modals must sit above full-page Property Record (z-index 5000). */
#proposalBuilderModal.proposal-builder-modal,
#mailerBuilderModal.mailer-builder-modal{
  z-index:6200!important;
}
.property-customer-modal{
  position:fixed;
  inset:0;
  z-index:6300;
  display:grid;
  place-items:center;
  padding:20px;
}
.property-customer-modal.hidden{display:none!important}
.property-customer-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,22,38,.62);
  backdrop-filter:blur(3px);
}
.property-customer-modal-shell{
  position:relative;
  z-index:1;
  width:min(760px,96vw);
  max-height:92vh;
  overflow:hidden;
  background:#fff;
  border-radius:18px;
  box-shadow:0 28px 80px rgba(5,20,36,.32);
}
.property-customer-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px;
  border-bottom:1px solid #e3e9ee;
}
.property-customer-modal-head h2{margin:3px 0 4px;color:#0f2742}
.property-customer-modal-head p{margin:0;color:#64748b;font-size:13px}
.property-customer-modal-body{
  padding:20px 22px 22px;
  overflow:auto;
  max-height:calc(92vh - 92px);
}
.property-customer-modal-body .property-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.property-customer-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:18px;
}
.property-customer-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.property-customer-summary>div,
.property-customer-summary-foot{
  padding:12px;
  border:1px solid #e5ebf0;
  border-radius:10px;
  background:#f8fafb;
}
.property-customer-summary span,
.property-customer-summary-foot span{
  display:block;
  color:#788696;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.property-customer-summary strong,
.property-customer-summary-foot strong{
  display:block;
  margin-top:4px;
  color:#0f2742;
  font-size:14px;
  overflow-wrap:anywhere;
}
.property-customer-summary-foot{margin-top:10px}
@media(max-width:700px){
  .property-customer-modal-body .property-form-grid,
  .property-customer-summary{
    grid-template-columns:1fr;
  }
}


/* Action modals launched from full-page records must cover the sticky app header. */
#proposalBuilderModal.proposal-builder-modal,
#mailerBuilderModal.mailer-builder-modal{
  z-index:10000!important;
}
#propertyCustomerModal.property-customer-modal{
  z-index:10000!important;
}
#invoiceBuilderModal.invoice-builder-modal,
#invoicePaymentDemoModal.invoice-payment-demo-modal,
#invoiceDetailModal.invoice-detail-modal{
  z-index:10000!important;
}

/* Property-level invoice list */
.property-invoice-list{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.property-invoice-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border:1px solid #e4eaf0;
  border-radius:10px;
  background:#f8fafb;
}
.property-invoice-row>div{min-width:0}
.property-invoice-row strong{
  display:block;
  color:#0f2742;
  font-size:13px;
}
.property-invoice-row span{
  display:block;
  margin-top:3px;
  color:#738192;
  font-size:11px;
}
.property-invoice-row button{
  flex:0 0 auto;
}

/* Invoice detail modal */
.invoice-detail-modal{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
}
.invoice-detail-modal.hidden{display:none!important}
.invoice-detail-card{
  position:relative;
  z-index:1;
  width:min(680px,96vw);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}
.invoice-detail-body{
  padding:22px 24px 26px;
  display:grid;
  gap:18px;
}
.invoice-detail-status-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.invoice-detail-status-row>strong{
  color:#082A45;
  font-size:28px;
}
.invoice-detail-description{
  padding:14px;
  border:1px solid #e4eaf0;
  border-radius:10px;
  background:#f8fafb;
}
.invoice-detail-description span{
  display:block;
  color:#788696;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.invoice-detail-description p{
  margin:5px 0 0;
  color:#243b53;
}
.invoice-detail-actions{
  display:flex;
  justify-content:flex-end;
}
@media(max-width:700px){
  .property-invoice-row{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Property action modal headers — consistent light UI */
#propertyCustomerModal .property-customer-modal-head,
#invoiceBuilderModal .invoice-builder-head,
#invoiceDetailModal .invoice-builder-head,
#invoicePaymentDemoModal .invoice-builder-head{
  background:#fff!important;
  color:#101820!important;
  border-bottom:1px solid #e2e8f0!important;
}
#propertyCustomerModal .property-customer-modal-head h2,
#invoiceBuilderModal .invoice-builder-head h2,
#invoiceDetailModal .invoice-builder-head h2,
#invoicePaymentDemoModal .invoice-builder-head h2{
  color:#082A45!important;
}
#propertyCustomerModal .property-customer-modal-head p,
#invoiceBuilderModal .invoice-builder-head p,
#invoiceDetailModal .invoice-builder-head p,
#invoicePaymentDemoModal .invoice-builder-head p{
  color:#64748b!important;
}
#propertyCustomerModal .property-customer-modal-head .eyebrow,
#invoiceBuilderModal .invoice-builder-head .eyebrow,
#invoiceDetailModal .invoice-builder-head .eyebrow,
#invoicePaymentDemoModal .invoice-builder-head .eyebrow{
  color:var(--accent)!important;
}


/* Properties — operational opportunity listing */
#measurementHistory .history-tools{
  display:grid!important;
  gap:12px!important;
}
.properties-toolbar-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.properties-toolbar-main #historyCount{
  font-weight:800;
  color:#334155;
  white-space:nowrap;
}
.properties-toolbar-main #historySearch{
  width:min(420px,100%);
}
.properties-status-filters{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.properties-filter{
  border:1px solid #d9e1e8;
  background:#fff;
  color:#536273;
  border-radius:999px;
  padding:7px 11px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.properties-filter:hover{border-color:#aab7c4;color:#17324d}
.properties-filter.active{
  border-color:#17324d;
  background:#17324d;
  color:#fff;
}
.properties-filter.mailer-opportunity-filter.active{
  border-color:#F7941D;
  background:#F7941D;
}
#measurementHistory .history-list{
  display:grid;
  gap:14px;
}
#measurementHistory .properties-ops-card{
  display:block!important;
  padding:18px!important;
  border:1px solid #dfe6ec!important;
  border-radius:14px!important;
  background:#fff!important;
}
.properties-card-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}
.properties-card-header .history-address{
  font-size:16px;
  font-weight:900;
  color:#102a43;
}
.properties-card-header .history-customer{
  margin-top:4px;
  color:#536273;
  font-size:12px;
}
.properties-card-header .history-customer span{color:#7b8794}
.properties-stage-chip{
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:999px;
  background:#edf2f6;
  color:#334e68;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.properties-roof-meta{
  margin-top:12px!important;
  padding-bottom:13px;
  border-bottom:1px solid #edf1f4;
}
.properties-status-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:13px;
}
.property-list-status{
  padding:10px 11px;
  border:1px solid #e4eaf0;
  border-radius:9px;
  background:#f8fafb;
}
.property-list-status span{
  display:block;
  color:#7a8794;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.property-list-status strong{
  display:block;
  margin-top:3px;
  font-size:12px;
  color:#64748b;
}
.property-list-status strong.success{color:#18794e}
.property-list-status strong.attention{color:#a65300}
.property-list-status strong.active{color:#1769aa}
.property-list-status strong.neutral{color:#475569}
.property-list-status strong.empty{color:#8995a3}
.property-mailer-status{
  border-color:#f5dfc6;
  background:#fffaf4;
}
.properties-next-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:13px;
  padding:12px 13px;
  border-radius:10px;
  background:#f5f8fa;
}
.properties-next-action>div:first-child span{
  display:block;
  color:#F7941D;
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
}
.properties-next-action>div:first-child strong{
  display:block;
  margin-top:2px;
  color:#17324d;
  font-size:13px;
}
.properties-next-action>div:first-child small{
  display:block;
  margin-top:2px;
  color:#728090;
  font-size:10px;
}
.properties-card-actions{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}
@media(max-width:760px){
  .properties-toolbar-main,
  .properties-card-header,
  .properties-next-action{
    align-items:stretch;
    flex-direction:column;
  }
  .properties-toolbar-main #historySearch{width:100%}
  .properties-status-row{grid-template-columns:1fr}
  .properties-card-actions{width:100%}
  .properties-card-actions button{flex:1}
}


/* =========================================================
   MODERN APP BUTTON SYSTEM
   ========================================================= */
:root{
  --btn-primary:#17324d;
  --btn-primary-hover:#10283f;
  --btn-accent:#F7941D;
  --btn-accent-hover:#e9850e;
  --btn-secondary:#2563A6;
  --btn-secondary-hover:#1f568f;
  --btn-success:#18794e;
  --btn-success-hover:#12633f;
  --btn-danger:#C93A3A;
  --btn-danger-hover:#ad2f2f;
  --btn-neutral:#E8EEF3;
  --btn-neutral-hover:#DCE5EC;
  --btn-neutral-text:#334E68;
  --btn-radius:10px;
  --btn-height:38px;
}

button,
.button,
.btn,
input[type="button"],
input[type="submit"]{
  border-radius:var(--btn-radius)!important;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .05s ease;
}

button:not(.icon-only):not(.history-close):not(.modal-close):not(.task-status-toggle){
  min-height:var(--btn-height);
}

button:active,.button:active,.btn:active{transform:translateY(1px)}

button:focus-visible,.button:focus-visible,.btn:focus-visible{
  outline:3px solid rgba(37,99,166,.18);
  outline-offset:2px;
}

button.primary,.primary.button,.btn-primary{
  background:var(--btn-primary)!important;
  border:1px solid var(--btn-primary)!important;
  color:#fff!important;
  box-shadow:0 1px 2px rgba(16,40,63,.12);
}
button.primary:hover,.primary.button:hover,.btn-primary:hover{
  background:var(--btn-primary-hover)!important;
  border-color:var(--btn-primary-hover)!important;
}

button.accent,.btn-accent,button.orange-action{
  background:var(--btn-accent)!important;
  border:1px solid var(--btn-accent)!important;
  color:#fff!important;
}
button.accent:hover,.btn-accent:hover,button.orange-action:hover{
  background:var(--btn-accent-hover)!important;
  border-color:var(--btn-accent-hover)!important;
}

button.secondary,.secondary.button,.btn-secondary,button.history-create-mailer{
  background:var(--btn-secondary)!important;
  border:1px solid var(--btn-secondary)!important;
  color:#fff!important;
  box-shadow:0 1px 2px rgba(37,99,166,.12);
}
button.secondary:hover,.secondary.button:hover,.btn-secondary:hover,button.history-create-mailer:hover{
  background:#e2e8f0!important;
  border-color:#94a3b8!important;
  color:#172b40!important;
}

button.neutral,.btn-neutral,button.utility,button.ghost-neutral{
  background:var(--btn-neutral)!important;
  border:1px solid var(--btn-neutral)!important;
  color:var(--btn-neutral-text)!important;
}
button.neutral:hover,.btn-neutral:hover,button.utility:hover,button.ghost-neutral:hover{
  background:var(--btn-neutral-hover)!important;
  border-color:var(--btn-neutral-hover)!important;
}

button.success,.btn-success{
  background:var(--btn-success)!important;
  border:1px solid var(--btn-success)!important;
  color:#fff!important;
}
button.success:hover,.btn-success:hover{
  background:var(--btn-success-hover)!important;
  border-color:var(--btn-success-hover)!important;
}

button.danger,button.destructive,.btn-danger,button.delete,button.void{
  background:var(--btn-danger)!important;
  border:1px solid var(--btn-danger)!important;
  color:#fff!important;
}
button.danger:hover,button.destructive:hover,.btn-danger:hover,button.delete:hover,button.void:hover{
  background:var(--btn-danger-hover)!important;
  border-color:var(--btn-danger-hover)!important;
}

button.small,.btn-small,
.toolbar button,
.history-card button,
.property-record-page button,
.proposal-builder-modal button,
.mailer-builder-modal button,
.property-customer-modal button,
.invoice-builder-modal button,
.invoice-detail-modal button,
.invoice-payment-demo-modal button,
.pipeline-card button,
.settings-card button{
  border-radius:10px!important;
  padding-left:14px!important;
  padding-right:14px!important;
}

.properties-filter,
.properties-stage-chip,
.property-analysis-badge,
.pipeline-proposal-status{
  border-radius:999px!important;
}

button.icon-only,.history-close,.modal-close,.task-status-toggle{
  border-radius:9px!important;
}

button:disabled,.button:disabled,.btn:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}

.history-create-mailer{
  font-weight:800!important;
  letter-spacing:.01em;
}

.modal-actions .secondary,
.property-record-actions .secondary,
.invoice-builder-actions .secondary,
.mailer-builder-actions .secondary,
.proposal-builder-actions .secondary{
  background:var(--btn-secondary)!important;
  border-color:var(--btn-secondary)!important;
  color:#fff!important;
}

@media(max-width:760px){
  button:not(.icon-only):not(.history-close):not(.modal-close):not(.task-status-toggle){
    min-height:40px;
  }
}

/* Company account + role foundation */
.company-team-shell{max-width:1180px!important}
.company-account-summary{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:14px;margin:18px 0}
.company-account-summary>div{border:1px solid #dfe6ec;border-radius:14px;background:#fff;padding:18px}
.company-account-summary span{display:block;font-size:10px;font-weight:900;letter-spacing:.07em;color:#718096}
.company-account-summary strong{display:block;margin-top:5px;color:#17324d;font-size:18px}
.company-account-summary small{display:block;margin-top:4px;color:#65758b}
.company-account-rule{background:#f3f7fb!important;border-color:#d8e5f1!important}
.company-account-rule strong{margin:0;font-size:14px}
.company-account-rule p{margin:5px 0 0;color:#52677c;font-size:12px;line-height:1.5}
.company-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.company-role-card{border:1px solid #dfe6ec;border-radius:14px;background:#fff;padding:18px}
.company-role-card h3{margin:6px 0;color:#17324d}
.company-role-card p{color:#607286;font-size:12px;line-height:1.45}
.company-role-card ul{padding-left:18px;margin:14px 0 0;color:#43566a;font-size:12px;line-height:1.8}
.company-role-label{font-size:9px;font-weight:900;letter-spacing:.07em;color:#2563A6}
.company-role-card.owner{border-top:4px solid #F7941D}
.company-role-card.sales{border-top:4px solid #2563A6}
.company-role-card.field{border-top:4px solid #18794e}
.company-team-list-section{margin-top:18px;border:1px solid #dfe6ec;border-radius:14px;background:#fff;padding:18px}
.company-team-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.company-team-list-head h3{margin:3px 0 0;color:#17324d}
.company-team-list{display:grid;gap:8px;margin-top:14px}
.company-team-member{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e4eaf0;border-radius:10px;background:#f8fafb}
.company-team-member strong,.company-team-member span{display:block}
.company-team-member>div span{font-size:10px;color:#7a8794;margin-top:2px}
.company-member-role{padding:5px 9px;border-radius:999px;background:#e7f0fa;color:#215a91;font-size:10px;font-weight:900}
.company-team-note{margin:12px 0 0;color:#718096;font-size:11px}
@media(max-width:760px){
  .company-account-summary,.company-role-grid{grid-template-columns:1fr}
  .company-team-list-head{align-items:stretch;flex-direction:column}
}

.role-hidden{display:none!important}
.company-invite-panel{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto auto;gap:10px;align-items:end;margin:14px 0;padding:14px;border:1px solid #dbe5ee;border-radius:12px;background:#f8fafc}
.company-invite-panel label{font-size:11px;font-weight:800;color:#42566a}.company-invite-panel input,.company-invite-panel select{display:block;width:100%;margin-top:5px;min-height:38px;border:1px solid #cbd7e2;border-radius:9px;background:#fff;padding:7px 9px}
.company-invite-result{margin:14px 0;padding:14px;border:1px solid #bdd8ca;border-radius:12px;background:#f1faf5}.company-invite-result strong{color:#18794e}.company-invite-result p{margin:4px 0 10px;color:#52677c;font-size:12px}.company-invite-result>div{display:flex;gap:8px}.company-invite-result input{flex:1;min-width:0;border:1px solid #cbd7e2;border-radius:9px;padding:8px;background:#fff}
@media(max-width:760px){.company-invite-panel{grid-template-columns:1fr}.company-invite-result>div{flex-direction:column}}


/* P91 invite-only account creation */
.company-invite-auth-context{
  border:1px solid #d7dee8;
  border-radius:10px;
  padding:14px 16px;
  margin:0 0 16px;
  background:#f7f9fc;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.company-invite-auth-context.hidden{display:none}
.company-invite-auth-kicker{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  color:#687386;
}
.company-invite-auth-context strong{
  font-size:17px;
  color:#182235;
}
.company-invite-auth-context span:last-child{
  font-size:13px;
  color:#566174;
}
#registerEmail[readonly]{
  background:#eef2f7;
  cursor:not-allowed;
  color:#344054;
  font-weight:600;
}


/* Team & Roles — active users + pending invitations */
.company-team-member{gap:16px}
.company-team-member-main{min-width:0;display:flex;flex-direction:column;gap:5px}
.company-team-member-side{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.company-member-status{width:max-content;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;letter-spacing:.02em}
.company-member-status.active{background:#edf7ef;color:#26663a}
.company-member-status.pending{background:#fff5df;color:#8a5b00}
.company-member-status.expired{background:#f1f3f6;color:#667085}
.company-team-invite-row{border-style:dashed}
.company-invite-row-actions{display:flex;align-items:center;gap:7px}
.compact-action{min-height:32px!important;padding:6px 10px!important;font-size:12px!important}
#loginEmail[readonly],#registerEmail[readonly]{background:#eef2f7;cursor:not-allowed;color:#344054;font-weight:600}
@media (max-width:700px){
  .company-team-member-side{width:100%;margin-left:0;justify-content:flex-start}
}


/* Company onboarding */
.company-onboarding-gate{
  align-items:flex-start;
  overflow:auto;
  padding:28px 18px 48px;
}
.company-onboarding-shell{
  width:min(100%,980px);
  margin:0 auto;
}
.company-onboarding-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
  color:#fff;
}
.company-onboarding-topbar p{
  margin:4px 0 0;
  font-size:13px;
  color:rgba(255,255,255,.68);
}
.company-onboarding-logout{
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:10px;
  padding:10px 14px;
  font-weight:800;
  cursor:pointer;
}
.company-onboarding-logout:hover{
  background:rgba(255,255,255,.14);
}
.company-onboarding-card{
  width:100%;
  background:#fff;
  border-radius:22px;
  padding:36px;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
.company-onboarding-heading{
  max-width:720px;
  margin-bottom:28px;
}
.company-onboarding-heading .auth-kicker{
  margin-top:0!important;
}
.company-onboarding-heading h1{
  font-size:38px;
  letter-spacing:-1.2px;
  margin:0 0 10px;
}
.company-onboarding-form{
  display:grid;
  gap:22px;
}
.company-onboarding-section{
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px;
  background:#fff;
}
.company-onboarding-section-title{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:18px;
}
.company-onboarding-section-title strong{
  font-size:17px;
  color:var(--ink);
}
.company-onboarding-section-title span{
  font-size:13px;
  color:var(--muted);
}
.company-onboarding-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.company-onboarding-field{
  display:grid;
  gap:7px;
  font-size:13px;
  font-weight:800;
  color:var(--ink);
}
.company-onboarding-field.span-2{
  grid-column:span 2;
}
.company-onboarding-field input{
  width:100%;
  height:46px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:0 12px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:600;
  outline:none;
}
.company-onboarding-field input:focus{
  border-color:#3b82f6;
  box-shadow:0 0 0 3px rgba(59,130,246,.12);
}
.company-logo-onboarding-upload{
  display:flex;
  align-items:center;
  gap:16px;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  padding:16px;
  cursor:pointer;
  background:#f8fafc;
}
.company-logo-onboarding-upload:hover{
  border-color:#94a3b8;
}
.company-logo-onboarding-upload input{
  display:none;
}
.company-logo-onboarding-upload>div:last-of-type{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.company-logo-onboarding-upload strong{
  font-size:14px;
}
.company-logo-onboarding-upload span{
  font-size:12px;
  color:var(--muted);
}
.company-logo-onboarding-preview{
  width:96px;
  height:64px;
  flex:0 0 96px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#fff;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.company-logo-onboarding-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.company-logo-onboarding-preview>span{
  font-size:11px;
  font-weight:800;
  color:#64748b;
}
.company-onboarding-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:2px;
}
.company-onboarding-actions p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.company-onboarding-submit{
  width:auto;
  min-width:240px;
  padding:0 22px;
}
@media (max-width:720px){
  .company-onboarding-card{padding:24px 18px}
  .company-onboarding-heading h1{font-size:31px}
  .company-onboarding-grid{grid-template-columns:1fr}
  .company-onboarding-field.span-2{grid-column:auto}
  .company-onboarding-actions{align-items:stretch;flex-direction:column}
  .company-onboarding-submit{width:100%;min-width:0}
}
\n
/* P91_CREATE_ACCOUNT_WIDTH_FIX */
.auth-card,.auth-card *,.auth-form,.auth-form *{box-sizing:border-box}
.auth-card{width:min(100%,520px);max-width:calc(100vw - 36px)}
.auth-form{width:100%;min-width:0}
.auth-form label,.auth-form input,.auth-form select,.auth-form textarea,.auth-form button{width:100%;max-width:100%;min-width:0}
@media(max-width:560px){.auth-card{width:100%;max-width:calc(100vw - 24px);padding:24px 18px}}

/* P91_COMPANY_INTELLIGENCE_ONBOARDING_V3 */
.company-intelligence-section{
  margin-top:8px;
  padding-top:26px;
  border-top:1px solid rgba(15,23,42,.09);
}
.company-intelligence-note{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-top:16px;
  padding:14px 16px;
  border-radius:12px;
  background:#f8fafc;
  font-size:13px;
  line-height:1.45;
}
.company-intelligence-note strong{white-space:nowrap}
.company-intelligence-note span{color:#64748b}
.company-onboarding-span-2{grid-column:1/-1}
@media(max-width:700px){
  .company-intelligence-note{flex-direction:column;gap:4px}
  .company-onboarding-span-2{grid-column:auto}
}

/* P91_COMPANY_PROFILE_INTELLIGENCE_EDITOR */
.company-profile-section-title{
  margin-top:12px;
  padding-top:22px;
  border-top:1px solid rgba(15,23,42,.10);
}
.company-profile-section-title h3{
  margin:5px 0 5px;
  font-size:18px;
}
.company-profile-section-title p{
  margin:0;
  color:#64748b;
  font-size:13px;
  line-height:1.5;
  max-width:760px;
}
#companyProfileForm input{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
}


/* AUTO COMPANY INTELLIGENCE ONBOARDING V1 */
#companyGate .company-onboarding-card{max-width:980px}
#companyGate .company-onboarding-form.hidden,#companyGate .company-onboarding-heading.hidden{display:none!important}
.company-intelligence-build,.company-intelligence-onboarding-review{padding:14px 4px 6px}
.company-intelligence-build{text-align:center;max-width:720px;margin:0 auto}
.ci-build-icon{width:58px;height:58px;border-radius:18px;background:#fff4ec;border:1px solid #ffd8bd;margin:4px auto 18px;display:flex;align-items:center;justify-content:center;gap:5px}
.ci-build-icon span{width:7px;height:7px;border-radius:50%;background:#ef6c21;animation:ciPulse 1.15s infinite ease-in-out}.ci-build-icon span:nth-child(2){animation-delay:.15s}.ci-build-icon span:nth-child(3){animation-delay:.3s}
@keyframes ciPulse{0%,70%,100%{transform:translateY(0);opacity:.35}35%{transform:translateY(-6px);opacity:1}}
.company-intelligence-build h1,.ci-onboarding-review-head h1{margin:6px 0 8px;font-size:34px;line-height:1.08;color:#0f2940}
.ci-build-progress{margin:28px auto 20px;text-align:left;display:grid;gap:8px}.ci-build-step{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:center;padding:13px 14px;border:1px solid #e6edf3;border-radius:12px;background:#fff;opacity:.55;transition:.2s ease}
.ci-build-step i{width:18px;height:18px;border:2px solid #cbd5e1;border-radius:50%;display:block;position:relative}.ci-build-step strong,.ci-build-step span{display:block}.ci-build-step strong{font-size:13px;color:#20384d}.ci-build-step span{font-size:11px;color:#7b8b99;margin-top:2px}
.ci-build-step.active{opacity:1;border-color:#ffbf93;background:#fffaf7;box-shadow:0 5px 18px rgba(30,55,75,.05)}.ci-build-step.active i{border-color:#ef6c21;border-right-color:transparent;animation:ciSpin .8s linear infinite}.ci-build-step.done{opacity:1}.ci-build-step.done i{border-color:#16a34a;background:#16a34a}.ci-build-step.done i:after{content:'✓';position:absolute;color:white;font-size:11px;left:2px;top:-1px;font-style:normal;font-weight:900}@keyframes ciSpin{to{transform:rotate(360deg)}}
.ci-build-error-actions{display:flex;gap:9px;justify-content:center;margin-top:12px}.auth-secondary{border:1px solid #d7e0e8;background:#fff;color:#294358;border-radius:10px;padding:11px 16px;font-weight:800;cursor:pointer}
.company-intelligence-onboarding-review{max-width:900px;margin:0 auto}.ci-onboarding-review-head{text-align:center;margin-bottom:24px}
.ci-onboarding-summary,.ci-onboarding-google,.ci-onboarding-group{border:1px solid #e1e9f0;border-radius:14px;background:#fff;padding:16px}.ci-onboarding-summary{margin-bottom:12px}.ci-onboarding-summary label{display:block;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#697d8e;margin-bottom:8px}.ci-onboarding-summary textarea{width:100%;box-sizing:border-box;border:1px solid #ced9e2;border-radius:10px;padding:11px 12px;font:inherit;line-height:1.5;resize:vertical}
.ci-onboarding-google{margin-bottom:12px;background:#fafdff}.ci-onboarding-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.ci-onboarding-section-title>strong{font-size:13px;color:#20384d}.ci-onboarding-section-title>span{font-size:11px;font-weight:800;color:#6b7f90}
.ci-onboarding-google-main{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.ci-onboarding-google-main>div:first-child>*{display:block}.ci-onboarding-google-main span{font-size:11px;color:#718293;margin-top:3px}.ci-onboarding-google-stats{display:flex;gap:18px}.ci-onboarding-google-stats span{font-size:10px;text-transform:uppercase}.ci-onboarding-google-stats strong{display:block;font-size:17px;color:#0f2940}.ci-onboarding-google-contact{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:12px}.ci-onboarding-google-contact a{color:#1f65a6}
.ci-onboarding-google-candidates{margin-top:14px;padding-top:12px;border-top:1px solid #e5edf4}.ci-onboarding-google-candidates>strong{font-size:12px}.ci-onboarding-google-candidate{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f6}.ci-onboarding-google-candidate div>*{display:block}.ci-onboarding-google-candidate span,.ci-onboarding-google-candidate small{font-size:10px;color:#718293}.ci-onboarding-google-candidate button{border:1px solid #d5e0e9;background:#fff;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.ci-onboarding-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ci-onboarding-add{border:0;background:transparent;color:#d95f18;font-size:11px;font-weight:900;cursor:pointer}.ci-onboarding-chip-list{display:flex;flex-wrap:wrap;gap:6px}.ci-onboarding-edit-chip{display:inline-grid;grid-template-columns:minmax(50px,auto) 23px;align-items:center;border:1px solid #d8e2ea;border-radius:999px;overflow:hidden;background:#fff;max-width:100%}.ci-onboarding-edit-chip input{border:0!important;outline:0;padding:7px 2px 7px 10px!important;font-size:11px;min-width:95px;background:transparent}.ci-onboarding-remove{border:0;background:transparent;color:#91a0ad;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:15px;line-height:18px}.ci-onboarding-remove:hover{background:#fff0ed;color:#b42318}.ci-onboarding-undo{margin-top:7px;border:0;background:transparent;color:#718293;text-decoration:underline;font-size:10px;cursor:pointer;padding:0}.ci-onboarding-empty{font-size:11px;color:#8b9aa7}
.ci-onboarding-review-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:14px;padding:16px;border-radius:13px;background:#f7fafc;border:1px solid #e1e9f0}.ci-onboarding-review-footer p{margin:0;max-width:560px;font-size:11px;line-height:1.5;color:#647789}.ci-onboarding-review-footer .auth-primary{white-space:nowrap}
@media(max-width:760px){.ci-onboarding-review-grid{grid-template-columns:1fr}.ci-onboarding-google-main,.ci-onboarding-review-footer{flex-direction:column;align-items:stretch}.ci-onboarding-google-stats{justify-content:flex-start}.ci-onboarding-review-footer .auth-primary{width:100%}}
.quick-estimate-delivery{border:1px solid #dfe6ec;border-radius:10px;padding:14px;margin:4px 0 14px;display:grid;grid-template-columns:max-content max-content;justify-content:start;gap:10px 22px}.quick-estimate-delivery legend{font-weight:800;padding:0 6px}.quick-estimate-delivery>label{display:inline-flex!important;width:max-content!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;margin:0!important}.quick-estimate-delivery input[type="checkbox"]{width:16px!important;height:16px!important;min-width:16px!important;flex:0 0 16px!important;margin:0!important}.quick-estimate-delivery small,.quick-estimate-delivery .quick-estimate-sms-consent{grid-column:1/-1}.quick-estimate-delivery .quick-estimate-sms-consent{width:auto!important;align-items:flex-start!important}.quick-estimate-history{display:grid;gap:10px}.quick-estimate-section-head{margin-bottom:12px}.quick-estimate-section-head .property-card-action{width:auto!important;margin:0!important}.quick-estimate-history-row{border:1px solid #dfe6ec;border-radius:12px;padding:14px;background:#fff}.quick-estimate-history-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.quick-estimate-history-label{display:block;color:#718293;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.quick-estimate-history-price{display:block!important;margin-top:3px!important;padding:0!important;background:transparent!important;color:#102a43!important;font-size:20px!important;line-height:1.2!important}.quick-estimate-status-chip{display:inline-flex;border-radius:999px;padding:5px 9px;background:#eaf3fb;color:#24577d;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.quick-estimate-history-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:9px;color:#607584;font-size:12px}.quick-estimate-history-meta span+span:before{content:'•';margin-right:14px;color:#a5b1bb}.quick-estimate-history-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.quick-estimate-history-actions button{width:auto!important;margin:0!important;padding:9px 13px!important}.quick-estimate-history-actions .property-view-estimate{background:#f7941d!important;color:#fff!important;border-color:#f7941d!important}

/* Properties and Property Record each own one vertical scroller. Keep this
   page-scoped so the shared navigation and other app pages remain interactive. */
body.app-section-page-open{overflow:hidden!important}.app-section-page-open #measurementHistory.app-page-view,.app-section-page-open #propertyRecordModal.app-page-view{overflow-y:auto!important;overflow-x:hidden!important}.app-section-page-open #propertyRecordModal .property-record-shell,.app-section-page-open #propertyRecordModal .property-record-body{overflow:visible!important;max-height:none!important}

/* Integrations uses a semantic header, so explicitly override the legacy
   global header rule that is reserved for the black application navigation. */
#integrationsPage .integrations-shell{background:#f7f9fb!important;min-height:100%!important}#integrationsPage .integrations-head{position:relative!important;top:auto!important;width:100%!important;height:auto!important;min-height:0!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:24px max(28px,calc((100vw - 1180px)/2)) 20px!important;margin:0!important;background:#fff!important;color:#0f2742!important;border-bottom:1px solid #e1e6eb!important}#integrationsPage .integrations-head h2{margin:4px 0 6px!important;color:#0f2742!important;font-size:28px!important}#integrationsPage .integrations-head p{margin:0!important;color:#64748b!important;line-height:1.5!important}#integrationsPage .integrations-grid{width:min(1180px,calc(100% - 56px));margin:0 auto;padding:30px 0 70px}

/* Integration catalog cards */
#integrationsPage .integrations-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:18px!important}#integrationsPage .integration-card{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:250px!important;padding:22px!important;border:1px solid #dfe6ed!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px rgba(15,39,66,.06)!important;color:#0f2742!important}#integrationsPage .integration-card-future{background:linear-gradient(145deg,#fff,#f7fafc)!important;border-style:dashed!important;box-shadow:none!important}#integrationsPage .integration-card-top{display:grid!important;grid-template-columns:46px minmax(0,1fr) auto!important;align-items:center!important;gap:13px!important}#integrationsPage .integration-icon{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;border-radius:12px!important;background:#fff3e7!important;color:#d96713!important;font-size:21px!important;font-weight:900!important}#integrationsPage .integration-card-future .integration-icon{background:#edf2f6!important;color:#607584!important}#integrationsPage .integration-category{margin-bottom:3px!important;color:#d96713!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important}#integrationsPage .integration-card h3{margin:0!important;color:#0f2742!important;font-size:19px!important}#integrationsPage .integration-card>p{margin:20px 0!important;color:#64748b!important;font-size:13px!important;line-height:1.6!important}#integrationsPage .integration-status{align-self:start!important;border-radius:999px!important;padding:6px 9px!important;background:#f1f5f8!important;color:#607584!important;font-size:10px!important;font-weight:900!important;white-space:nowrap!important}#integrationsPage .integration-status[data-state="connected"]{background:#eaf7ef!important;color:#197044!important}#integrationsPage .integration-connected-email{margin-top:auto!important;margin-bottom:12px!important;padding:10px 12px!important;border-radius:9px!important;background:#f2f7fb!important;color:#31546d!important;font-size:12px!important;font-weight:700!important}#integrationsPage .integration-actions{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:9px!important;margin-top:auto!important}#integrationsPage .integration-actions button{width:auto!important;margin:0!important}#integrationsPage .settings-message{margin-top:12px!important}
@media(max-width:760px){#integrationsPage .integrations-grid{grid-template-columns:1fr!important;width:calc(100% - 28px)!important;padding-top:18px!important}#integrationsPage .integration-card{min-height:0!important}#integrationsPage .integration-card-top{grid-template-columns:42px minmax(0,1fr)!important}#integrationsPage .integration-status{grid-column:2!important}#integrationsPage .integrations-head{padding:18px!important}}

/* Persistent navigation always stays above full-page workspaces and receives input. */
body>header{z-index:20000!important;pointer-events:auto!important}body>header .account-area,body>header .app-nav-button{position:relative!important;z-index:1!important;pointer-events:auto!important}

/* Territory Analysis and Portfolios */
.analysis-mode-switch{display:inline-flex;gap:4px;margin:22px 0 14px;padding:4px;border:1px solid #d8e1e8;border-radius:12px;background:#eef3f6}.analysis-mode-switch button{border:0;border-radius:8px;padding:10px 15px;background:transparent;color:#587083;font-weight:800;cursor:pointer}.analysis-mode-switch button.active{background:#f7941d;color:#fff;box-shadow:0 3px 9px rgba(165,83,0,.18)}.territory-start-card{display:grid;grid-template-columns:minmax(220px,390px) auto;align-items:end;gap:10px;padding:18px;border:1px solid #dce5ec;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,39,66,.06)}.territory-start-card label{display:grid;gap:6px;color:#40576a;font-size:12px;font-weight:800}.territory-start-card input{width:100%;box-sizing:border-box;border:1px solid #cbd7e1;border-radius:9px;padding:12px;font-size:16px}.territory-start-card button{height:44px}.territory-start-card small{grid-column:1/-1;color:#758594}.territory-page-head,.portfolios-head{height:auto!important;min-height:0!important;background:#fff!important;color:#0f2742!important;padding:22px max(28px,calc((100vw - 1180px)/2))!important}.territory-page-head h2,.portfolios-head h2{margin:4px 0 6px!important;color:#0f2742!important;font-size:28px!important}.territory-page-head p,.portfolios-head p{margin:0!important;color:#64748b!important}.territory-builder-body,.portfolios-body{width:min(1180px,calc(100% - 56px));margin:0 auto;padding:30px 0 70px}.territory-filter-card{margin-bottom:16px;padding:21px;border:1px solid #dfe6ed;border-radius:15px;background:#fff}.territory-filter-card h3{margin:0 0 16px;color:#0f2742}.territory-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.territory-form-grid label{display:grid;gap:6px;color:#526779;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.territory-form-grid input,.territory-form-grid select{width:100%;box-sizing:border-box;border:1px solid #ccd7e0;border-radius:9px;padding:11px 12px;background:#fff;color:#19364d;font:inherit;text-transform:none;letter-spacing:0}.territory-builder-action{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #f1c28e;border-radius:14px;background:#fff9f2}.territory-builder-action strong,.territory-builder-action span{display:block}.territory-builder-action span{margin-top:4px;color:#6a7885;font-size:12px}.portfolio-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.portfolio-metrics>div{padding:16px;border:1px solid #dfe6ed;border-radius:13px;background:#fff}.portfolio-metrics span{display:block;color:#6b7f90;font-size:10px;font-weight:900;text-transform:uppercase}.portfolio-metrics strong{display:block;margin-top:4px;color:#102a43;font-size:25px}.portfolio-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portfolio-card{padding:19px;border:1px solid #dfe6ed;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(15,39,66,.05)}.portfolio-card-head{display:flex;justify-content:space-between;gap:15px}.portfolio-card-head span{color:#d96713;font-size:10px;font-weight:900}.portfolio-card-head h3{margin:3px 0;color:#102a43}.portfolio-card-head b{align-self:start;border-radius:999px;padding:5px 8px;background:#edf3f7;color:#526779;font-size:9px;text-transform:uppercase}.portfolio-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.portfolio-card-metrics div{padding:10px;border-radius:9px;background:#f5f8fa}.portfolio-card-metrics strong,.portfolio-card-metrics span{display:block}.portfolio-card-metrics strong{color:#102a43;font-size:18px}.portfolio-card-metrics span{color:#758594;font-size:10px}.portfolio-card>p{margin:0;color:#758594;font-size:11px}.portfolio-empty,.portfolio-loading{padding:35px;text-align:center;color:#718293}.portfolio-empty strong,.portfolio-empty span{display:block}.portfolio-empty span{margin-top:5px}
@media(max-width:720px){.territory-start-card,.territory-form-grid,.portfolio-list,.portfolio-metrics{grid-template-columns:1fr}.territory-builder-action{align-items:stretch;flex-direction:column}.territory-builder-body,.portfolios-body{width:calc(100% - 28px);padding-top:18px}.territory-page-head,.portfolios-head{align-items:flex-start!important;flex-direction:column!important;padding:18px!important}}
@media(max-width:560px){.quick-estimate-delivery{grid-template-columns:1fr}.quick-estimate-delivery small,.quick-estimate-delivery .quick-estimate-sms-consent{grid-column:1}.quick-estimate-history-main{align-items:flex-start}.quick-estimate-history-meta{display:grid;gap:4px}.quick-estimate-history-meta span+span:before{display:none}.quick-estimate-section-head{align-items:flex-start}.quick-estimate-section-head .property-card-action{white-space:nowrap}}

/* ===== Property Intelligence analysis card ===== */
.property-intelligence-card{
  margin:18px 0;
  padding:22px;
  border:1px solid var(--line,#e5e7eb);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 30px rgba(15,23,42,.06);
}
.property-intelligence-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.property-intelligence-head h3{margin:3px 0 4px;font-size:1.25rem;}
.property-intelligence-head p{margin:0;color:#64748b;}
.property-intel-notice{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:13px 15px;
  margin-bottom:16px;
  border:1px solid #fed7aa;
  border-radius:12px;
  background:#fff7ed;
}
.property-intel-notice strong{font-size:.9rem;}
.property-intel-notice span{font-size:.86rem;line-height:1.45;color:#7c2d12;}
.property-intel-group{padding:15px 0;border-top:1px solid #eef2f7;}
.property-intel-group:first-child{border-top:0;padding-top:0;}
.property-intel-group h4{margin:0 0 11px;font-size:.92rem;letter-spacing:.02em;}
.property-intel-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
}
.property-intel-item{
  min-width:0;
  padding:11px 12px;
  border:1px solid #eef2f7;
  border-radius:11px;
  background:#fafafa;
}
.property-intel-item span{display:block;margin-bottom:4px;color:#64748b;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.035em;}
.property-intel-item strong{display:block;overflow-wrap:anywhere;font-size:.94rem;line-height:1.35;color:#111827;}
.property-intel-disclaimer,.property-intelligence-foot{margin:11px 0 0;color:#64748b;font-size:.78rem;line-height:1.45;}
.property-intelligence-foot{padding-top:13px;border-top:1px solid #eef2f7;}
@media(max-width:700px){
  .property-intelligence-card{padding:16px;}
  .property-intelligence-head{flex-direction:column;gap:10px;}
  .property-intel-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){.property-intel-grid{grid-template-columns:1fr;}}


/* ===== Regression repair: confirmed-property state ===== */
.confirmed-property-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #dfe6ed;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 18px rgba(15,39,66,.05);
}
.confirmed-property-bar>div{min-width:0}
.confirmed-property-bar span{display:block;color:#d96713;font-size:10px;font-weight:900;letter-spacing:.08em}
.confirmed-property-bar strong{display:block;margin-top:2px;color:#102a43;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.confirmed-property-bar button{flex:0 0 auto}

/* Keep the authenticated navigation on the established compact app layout. */
body>header .account-area{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
}
body>header .account-area button,
body>header .account-area .app-nav-button{
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:9px 11px!important;
  border-radius:9px!important;
  font-size:12px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
@media(max-width:1450px){
  body>header{padding-left:18px!important;padding-right:18px!important;gap:12px!important}
  body>header .account-area{gap:4px!important}
  body>header .account-area button,
  body>header .account-area .app-nav-button{padding:8px 8px!important;font-size:11px!important}
  .header-company-name{max-width:145px!important}
}
@media(max-width:1180px){
  body>header .account-area{overflow-x:auto!important;scrollbar-width:none!important}
  body>header .account-area::-webkit-scrollbar{display:none!important}
}

/* ===== PHASE 1: PROPERTY CRM → CAMPAIGNS → OPPORTUNITIES → PROJECT → PORTFOLIO ===== */
.property-crm-chip{background:#eef4f8!important;border-color:#d6e1e9!important;color:#38556d!important}
.property-lifecycle-card{border-left:4px solid #F7941D!important}
.property-context-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}
.property-context-grid>div{min-width:0;padding:13px 14px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}
.property-context-grid span{display:block;color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.property-context-grid strong{display:block;margin-top:5px;color:#0f2742;font-size:14px;overflow-wrap:anywhere}
.property-context-grid small{display:block;margin-top:5px;color:#8793a0;font-size:10px;line-height:1.35}
.property-create-opportunity{white-space:nowrap}
.managed-portfolio-shell{background:#f4f7f9!important;min-height:100%}
.managed-portfolio-body{width:min(1240px,calc(100% - 56px));margin:0 auto;padding:28px 0 64px}
.managed-portfolio-empty{display:grid;gap:7px;padding:34px;border:1px dashed #cbd5e1;border-radius:14px;background:#fff;text-align:center}
.managed-portfolio-empty strong{color:#0f2742;font-size:18px}.managed-portfolio-empty span{color:#64748b;font-size:13px}
@media(max-width:1000px){.property-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.property-context-grid{grid-template-columns:1fr}.property-lifecycle-card .property-section-head{display:grid;grid-template-columns:1fr}.property-create-opportunity{width:100%}.managed-portfolio-body{width:min(100% - 28px,1240px);padding-top:18px}}


/* PHASE 1B — ACTIVE WORK FIRST / OUTCOMES AS HISTORY */
#salesPipelineModal .opportunity-view-tabs{display:flex;gap:8px;margin:4px 0 16px;padding:4px;width:max-content;background:#eef2f5;border:1px solid #dce3ea;border-radius:11px}
#salesPipelineModal .opportunity-view-tab{border:0;background:transparent;color:#64748b;border-radius:8px;padding:8px 15px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
#salesPipelineModal .opportunity-view-tab.active{background:#fff;color:#0f2742;box-shadow:0 1px 4px rgba(15,39,66,.1)}
#salesPipelineModal .pipeline-board{grid-template-columns:repeat(4,285px)}
#salesPipelineModal .pipeline-outcome-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}
#salesPipelineModal .pipeline-outcome-button{border:1px solid #cbd5e1;background:#fff;border-radius:7px;padding:7px 8px;font-size:10.5px;font-weight:850;cursor:pointer}
#salesPipelineModal .pipeline-outcome-button.won{color:#166534;border-color:#bbf7d0;background:#f0fdf4}
#salesPipelineModal .pipeline-outcome-button.lost{color:#64748b;background:#f8fafc}
#salesPipelineModal .pipeline-board.outcome-board{display:block;min-width:0}
#salesPipelineModal .pipeline-outcome-history{background:#fff;border:1px solid #dce3ea;border-radius:14px;overflow:hidden}
#salesPipelineModal .pipeline-outcome-history>header{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid #e2e8f0;background:#f8fafc}
#salesPipelineModal .pipeline-outcome-history>header strong{display:block;color:#0f2742;font-size:14px}
#salesPipelineModal .pipeline-outcome-history>header span{display:block;color:#64748b;font-size:11px;margin-top:2px}
#salesPipelineModal .pipeline-outcome-history>header b{min-width:30px;text-align:center;border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:4px 8px;color:#475569}
#salesPipelineModal .pipeline-outcome-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}
#salesPipelineModal .outcome-card{cursor:default}
#salesPipelineModal .pipeline-outcome-chip{font-size:9px;text-transform:uppercase;font-weight:900;border-radius:999px;padding:4px 7px}
#salesPipelineModal .pipeline-outcome-chip.won{background:#dcfce7;color:#166534}
#salesPipelineModal .pipeline-outcome-chip.lost{background:#f1f5f9;color:#64748b}
#salesPipelineModal .outcome-actions{grid-template-columns:1fr auto}
@media(max-width:900px){#salesPipelineModal .pipeline-outcome-list{grid-template-columns:1fr 1fr}}
@media(max-width:700px){#salesPipelineModal .pipeline-board{grid-template-columns:repeat(4,260px)}#salesPipelineModal .pipeline-outcome-list{grid-template-columns:1fr}.opportunity-view-tabs{max-width:100%}}


/* PHASE 2A — SALES OWNERSHIP */
.property-assignment-context select{
  width:100%;
  margin-top:7px;
  min-height:38px;
  border:1px solid #cbd5e1;
  border-radius:9px;
  background:#fff;
  padding:0 10px;
  color:#1f3a4d;
  font:inherit;
  font-size:12px;
  font-weight:800;
}
.property-assignment-context select:focus,
.properties-owner-filter:focus,
.pipeline-owner-filter-wrap select:focus{
  outline:none;
  border-color:#F7941D;
  box-shadow:0 0 0 3px rgba(247,148,29,.12);
}
.properties-owner-filter{
  min-height:42px;
  min-width:190px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  padding:0 10px;
  color:#334155;
  font:inherit;
  font-size:12px;
  font-weight:800;
}
.pipeline-head-actions{
  align-items:flex-end;
}
.pipeline-owner-filter-wrap{
  display:grid;
  gap:5px;
  min-width:190px;
}
.pipeline-owner-filter-wrap>span{
  color:#64748b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pipeline-owner-filter-wrap select{
  width:100%;
  min-height:42px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  padding:0 10px;
  color:#334155;
  font:inherit;
  font-size:12px;
  font-weight:800;
}
@media(max-width:760px){
  .properties-owner-filter,
  .pipeline-owner-filter-wrap{width:100%;min-width:0}
}

/* Phase 2B: focused operating navigation */
.settings-nav-wrap{position:relative;display:flex;align-items:center}
body>header .settings-nav-toggle{white-space:nowrap}
.settings-nav-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:220px;padding:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 18px 45px rgba(15,23,42,.18);z-index:25000;display:flex;flex-direction:column;gap:3px}
body>header .settings-nav-menu .app-nav-button{width:100%;text-align:left!important;justify-content:flex-start!important;color:#0f172a!important;background:transparent!important;border:0!important;border-radius:8px!important;padding:10px 12px!important}
body>header .settings-nav-menu .app-nav-button:hover,body>header .settings-nav-menu .app-nav-button.active{background:#f1f5f9!important;color:#0f172a!important}
body>header .settings-nav-menu .app-nav-button.active::after{display:none!important}
.projects-shell{max-width:1500px;margin:0 auto;padding:28px}
.projects-body{padding-top:18px}.project-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.project-metrics>div{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.project-metrics span{font-size:12px;color:#64748b}.project-metrics strong{font-size:24px;color:#0f172a}.projects-board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:14px;overflow-x:auto;align-items:start}.project-column{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;min-height:260px}.project-column>header{padding:13px 14px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between}.project-column-body{padding:10px;display:flex;flex-direction:column;gap:10px}.project-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:13px}.project-card-top{display:flex;justify-content:space-between;gap:10px}.project-card-top p{margin:4px 0 0;color:#64748b;font-size:12px}.project-card-top>span{font-size:11px;color:#64748b;white-space:nowrap}.project-card-meta{display:flex;gap:8px;margin:10px 0;font-size:12px}.project-card-meta span{background:#f1f5f9;border-radius:999px;padding:4px 7px}.project-card-actions{display:flex;gap:8px}.project-card-actions select{min-width:0;flex:1}.project-column-empty,.projects-empty{padding:20px;color:#94a3b8;font-size:13px}.projects-empty{background:#fff;border:1px dashed #cbd5e1;border-radius:12px;display:flex;flex-direction:column;gap:4px}
@media(max-width:1050px){.project-metrics{grid-template-columns:repeat(2,1fr)}.projects-board{grid-template-columns:repeat(4,260px)}}

/* Phase 2B hotfix: Plan & Billing label inside white Settings menu */
body > header .settings-nav-menu #trialStatusButton{
  color:#0f172a!important;
  background:transparent!important;
  border-color:transparent!important;
}
body > header .settings-nav-menu #trialStatusButton:hover,
body > header .settings-nav-menu #trialStatusButton.active{
  color:#0f172a!important;
  background:#f1f5f9!important;
}


/* Property Record cards should size to their own content instead of stretching to match the neighboring column. */
#propertyRecordModal .property-record-grid{
  align-items:start;
}
#propertyRecordModal .property-record-grid > .property-record-card{
  align-self:start;
}


/* ==========================================================================
   P91 UI DESIGN SYSTEM — v1
   These tokens and component rules are the default contract for new UI.
   New features should reuse .primary, .secondary, .neutral, .icon-action-button,
   segmented/tab controls, and .property-record-card instead of introducing
   feature-specific button sizing.
   ========================================================================== */
:root{
  --ui-control-h:40px;
  --ui-control-h-mobile:44px;
  --ui-control-radius:9px;
  --ui-control-pad-x:14px;
  --ui-control-font:13px;
  --ui-card-radius:14px;
  --ui-card-pad:18px;
  --ui-card-border:#dfe6ed;
  --ui-card-shadow:0 4px 14px rgba(15,39,66,.04);
  --ui-secondary-bg:#fff;
  --ui-secondary-border:#cbd5e1;
  --ui-secondary-text:#24384d;
}

/* Shared action controls */
button.primary,
button.secondary,
button.neutral,
label.primary.ui-button,
label.secondary.ui-button,
a.primary,
a.secondary{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:auto;
  min-width:0;
  min-height:var(--ui-control-h);
  height:var(--ui-control-h);
  margin:0;
  padding:0 var(--ui-control-pad-x);
  border-radius:var(--ui-control-radius);
  font-size:var(--ui-control-font);
  line-height:1;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease;
}

button.primary,
label.primary.ui-button,
a.primary{
  border:1px solid var(--accent)!important;
  background:var(--accent)!important;
  color:#fff!important;
}
button.primary:hover,
label.primary.ui-button:hover,
a.primary:hover{background:var(--accent2)!important;border-color:var(--accent2)!important}

button.secondary,
label.secondary.ui-button,
a.secondary{
  border:1px solid var(--ui-secondary-border)!important;
  background:var(--ui-secondary-bg)!important;
  color:var(--ui-secondary-text)!important;
}
button.secondary:hover,
label.secondary.ui-button:hover,
a.secondary:hover{background:#e2e8f0!important;border-color:#94a3b8!important;color:#172b40!important}
:is(button.secondary,label.secondary.ui-button,a.secondary,.secondary.button,.btn-secondary,button.history-create-mailer):focus-visible{background:#e2e8f0!important;color:#172b40!important;outline:2px solid #174d72;outline-offset:2px}

button.neutral{
  border:1px solid #d6dee6!important;
  background:#f5f7f9!important;
  color:#40566a!important;
}
button.primary:disabled,
button.secondary:disabled,
button.neutral:disabled{opacity:.55;cursor:not-allowed}

.icon-action-button{
  width:var(--ui-control-h)!important;
  min-width:var(--ui-control-h)!important;
  padding:0!important;
  aspect-ratio:1;
}

/* Cards */
#propertyRecordModal .property-record-card{
  border:1px solid var(--ui-card-border);
  border-radius:var(--ui-card-radius);
  padding:var(--ui-card-pad);
  box-shadow:var(--ui-card-shadow);
}

/* Property Record masonry: no matched row heights and no vertical dead zones. */
#propertyRecordMasonry{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:8px;
  column-gap:16px;
  row-gap:16px;
  align-items:start;
}
#propertyRecordMasonry > .property-record-card{
  align-self:start;
  min-width:0;
}

/* Property-card actions are compact actions, never arbitrary full-width bars. */
#propertyRecordModal .property-card-action{
  width:auto!important;
  min-width:0;
  margin-top:14px;
}
#propertyRecordModal .quick-estimate-section-head .property-card-action{
  margin-top:0!important;
}

/* Job Photos: segmented control is a tab control, not three oversized buttons. */
#propertyRecordModal .job-photo-phase-tabs{
  display:inline-grid;
  grid-template-columns:repeat(3,minmax(92px,1fr));
  width:auto;
  max-width:100%;
  gap:0;
  margin:12px 0 14px;
  padding:3px;
  border:1px solid #d8e1e8;
  border-radius:10px;
  background:#eef3f6;
}
#propertyRecordModal .job-photo-phase{
  min-height:36px;
  padding:0 11px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#587083;
  font-size:12px;
  font-weight:800;
  box-shadow:none;
}
#propertyRecordModal .job-photo-phase strong{
  min-width:20px;
  height:20px;
  background:#dde6ec;
  font-size:10px;
}
#propertyRecordModal .job-photo-phase.active{
  background:#fff;
  color:#102a43;
  box-shadow:0 1px 4px rgba(15,39,66,.12);
}
#propertyRecordModal .job-photo-phase.active strong{
  background:#fff1df;
  color:#a65300;
}

/* Camera and library are equal-weight, standard-sized field actions. */
#propertyRecordModal .job-photo-field-bar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0;
}
#propertyRecordModal .job-camera-button,
#propertyRecordModal .job-library-button{
  width:auto!important;
  min-width:0!important;
  min-height:var(--ui-control-h)!important;
  height:var(--ui-control-h)!important;
  padding:0 var(--ui-control-pad-x)!important;
  border-radius:var(--ui-control-radius)!important;
  flex:none!important;
  text-align:center;
}
#propertyRecordModal .job-camera-button > span,
#propertyRecordModal .job-library-button > span{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center;
  text-align:center!important;
  font-size:var(--ui-control-font);
  font-weight:800;
}
#propertyRecordModal .job-camera-icon{
  font-size:18px;
  line-height:1;
}

/* Consistent action groups */
#propertyRecordModal .job-photo-head-actions,
#propertyRecordModal .quick-estimate-history-actions,
#propertyRecordModal .job-photo-card-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
#propertyRecordModal .job-photo-head-actions button,
#propertyRecordModal .quick-estimate-history-actions button,
#propertyRecordModal .job-photo-card-actions button{
  width:auto!important;
  min-height:var(--ui-control-h)!important;
  height:var(--ui-control-h)!important;
  margin:0!important;
  padding:0 var(--ui-control-pad-x)!important;
  border-radius:var(--ui-control-radius)!important;
  font-size:var(--ui-control-font)!important;
}

/* Shared segmented controls elsewhere in the app follow the same compact language. */
.analysis-mode-switch,
.opportunity-view-tabs{
  border-radius:10px;
}
.analysis-mode-switch button,
.opportunity-view-tab{
  min-height:36px;
  border-radius:7px;
  font-size:12px;
  font-weight:800;
}

/* Mobile: one natural-flow column and touch-sized controls. */
@media(max-width:820px){
  #propertyRecordMasonry{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
  }
  #propertyRecordMasonry > .property-record-card{grid-row-end:auto!important}
}
@media(max-width:760px){
  button.primary,
  button.secondary,
  button.neutral,
  label.primary.ui-button,
  label.secondary.ui-button,
  a.primary,
  a.secondary{
    min-height:var(--ui-control-h-mobile);
    height:var(--ui-control-h-mobile);
  }
  #propertyRecordModal .job-photo-phase-tabs{
    display:grid;
    width:100%;
    position:static;
    top:auto;
    padding:3px;
  }
  #propertyRecordModal .job-photo-phase{
    min-height:40px;
    height:40px;
    flex-direction:row;
    padding:0 7px;
  }
  #propertyRecordModal .job-photo-field-bar{
    display:flex;
    flex-direction:row;
  }
  #propertyRecordModal .job-camera-button,
  #propertyRecordModal .job-library-button{
    min-height:var(--ui-control-h-mobile)!important;
    height:var(--ui-control-h-mobile)!important;
  }
}


/* ==========================================================================
   P91 PAGE HEADER DESIGN CONTRACT — v1
   LOCKED: all current and future primary app pages use this treatment.
   Page headers are light-surface content. Feature pages must not introduce
   black/dark title banners or white title/subtitle text.
   ========================================================================== */
.app-page-view > .page-head,
.app-page-view > .projects-page-head,
#projectsPage > .page-head,
#projectsPage > .projects-page-head{
  background:transparent!important;
  color:var(--ink)!important;
  border:0!important;
  box-shadow:none!important;
}

.app-page-view > .page-head h1,
.app-page-view > .page-head h2,
.app-page-view > .projects-page-head h1,
.app-page-view > .projects-page-head h2,
#projectsPage .page-head h1,
#projectsPage .page-head h2,
#projectsPage .projects-page-head h1,
#projectsPage .projects-page-head h2{
  color:var(--ink)!important;
}

.app-page-view > .page-head p,
.app-page-view > .projects-page-head p,
#projectsPage .page-head p,
#projectsPage .projects-page-head p{
  color:var(--muted)!important;
}

/* Eyebrows retain the P91 accent rather than inheriting banner text colors. */
.app-page-view > .page-head .eyebrow,
.app-page-view > .projects-page-head .eyebrow,
#projectsPage .page-head .eyebrow,
#projectsPage .projects-page-head .eyebrow{
  color:var(--accent)!important;
}

/*
  Future-page rule:
  Use .app-page-view + .page-head for every new primary page.
  Do not create feature-specific dark header treatments.
*/


/* ==========================================================================
   P91 STANDARD PAGE HEADER — authoritative rule
   IMPORTANT: many page headers use the semantic <header> element. The app's
   global site-header rule styles bare <header> elements black, so every
   in-page header MUST use .standardized-page-head. This rule intentionally
   overrides that global header selector.
   ========================================================================== */
.app-page-view .standardized-page-head,
#projectsPage .standardized-page-head{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:22px max(28px,calc((100vw - 1180px)/2)) 20px!important;
  background:#fff!important;
  color:#0f2742!important;
  border:0!important;
  border-bottom:1px solid #e1e6eb!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.app-page-view .standardized-page-head .standardized-page-title,
#projectsPage .standardized-page-head .standardized-page-title{
  display:block!important;
  color:#0f2742!important;
}

.app-page-view .standardized-page-head h1,
.app-page-view .standardized-page-head h2,
#projectsPage .standardized-page-head h1,
#projectsPage .standardized-page-head h2{
  margin:4px 0 6px!important;
  color:#0f2742!important;
  font-size:28px!important;
  line-height:1.15!important;
}

.app-page-view .standardized-page-head p,
#projectsPage .standardized-page-head p{
  margin:0!important;
  max-width:760px!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.45!important;
}

.app-page-view .standardized-page-head .eyebrow,
#projectsPage .standardized-page-head .eyebrow{
  color:#d96713!important;
}

/* Future-page contract: every newly created primary page header must use
   class="standardized-page-head". Never style a feature page with a bare
   <header> alone because the global application masthead is intentionally dark. */
@media(max-width:720px){
  .app-page-view .standardized-page-head,
  #projectsPage .standardized-page-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    padding:18px 16px 16px!important;
  }
}


/* ==========================================================================
   P91 STANDARD PAGE SYSTEM — v2 (AUTHORITATIVE / LOCKED)
   --------------------------------------------------------------------------
   FUTURE PAGE RULES:
   1. Every primary app page uses .standardized-page-head.
   2. Title content goes inside .standardized-page-title.
   3. Eyebrow is ALWAYS P91 orange (#d96713); no red variants.
   4. Every page title starts on the SAME 1180px content rail.
   5. Every page title uses the same type scale and subtitle treatment.
   6. Page-specific CSS must NOT override header alignment/color/type.
   7. Modals may use their own compact modal header; full app pages may not.
   ========================================================================== */

:root{
  --p91-page-max:1180px;
  --p91-page-gutter:28px;
  --p91-page-gutter-mobile:16px;
  --p91-page-eyebrow:#d96713;
  --p91-page-title:#0f2742;
  --p91-page-subtitle:#64748b;
  --p91-page-divider:#e1e6eb;
}

/* Standard content rail — same left/right origin on every page. */
.app-page-view .standardized-page-head,
.measurement-history .standardized-page-head{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;

  width:min(var(--p91-page-max),calc(100% - (var(--p91-page-gutter) * 2)))!important;
  max-width:var(--p91-page-max)!important;
  height:auto!important;
  min-height:0!important;

  margin:0 auto!important;
  padding:24px 0 20px!important;

  background:transparent!important;
  color:var(--p91-page-title)!important;
  border:0!important;
  border-bottom:1px solid var(--p91-page-divider)!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-align:left!important;
}

/* Never allow feature headers to shift themselves off the common rail. */
#territoryBuilderPage .standardized-page-head,
#portfoliosPage .standardized-page-head,
#projectsPage .standardized-page-head,
#managedPortfolioPage .standardized-page-head,
#planBillingPage .standardized-page-head,
#economicsPage .standardized-page-head,
#invoicesPage .standardized-page-head,
#integrationsPage .standardized-page-head,
#companyTeamPage .standardized-page-head,
#companyProfileModal .standardized-page-head,
#scopeManagementModal .standardized-page-head,
#pricingModal .standardized-page-head,
#salesPipelineModal .standardized-page-head,
#propertyRecordModal .standardized-page-head{
  left:auto!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
}

/* Standardized title block */
.standardized-page-title{
  min-width:0!important;
  max-width:780px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}

.standardized-page-head .eyebrow,
.standardized-page-intro > .eyebrow{
  display:block!important;
  margin:0 0 6px!important;
  color:var(--p91-page-eyebrow)!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.095em!important;
  text-transform:uppercase!important;
}

.standardized-page-head h1,
.standardized-page-head h2,
.standardized-page-intro > h1{
  margin:0 0 7px!important;
  padding:0!important;
  color:var(--p91-page-title)!important;
  font-size:28px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  text-align:left!important;
}

.standardized-page-head p,
.standardized-page-head .history-drawer-copy,
.standardized-page-intro > p{
  margin:0!important;
  padding:0!important;
  max-width:760px!important;
  color:var(--p91-page-subtitle)!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:400!important;
  text-align:left!important;
}

/* Header actions stay aligned to the same baseline and never affect title origin. */
.standardized-page-head > button,
.standardized-page-head > .pipeline-head-actions,
.standardized-page-head > .property-record-head-actions{
  flex:0 0 auto!important;
  margin:0!important;
}

/* Property Analysis is the entry page, but its title still sits on the same rail. */
#analysisHero.standardized-page-intro{
  box-sizing:border-box!important;
  width:min(var(--p91-page-max),calc(100% - (var(--p91-page-gutter) * 2)))!important;
  max-width:var(--p91-page-max)!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:left!important;
}

/* Properties is implemented as a drawer/page hybrid. Make its page title obey the same rail. */
#measurementHistory .history-drawer-head.standardized-page-head{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:24px 28px 20px!important;
}

/* Settings pages previously reused modal header styling. The page system wins. */
.app-page-view .pricing-modal-head.standardized-page-head{
  position:relative!important;
  width:min(var(--p91-page-max),calc(100% - (var(--p91-page-gutter) * 2)))!important;
  max-width:var(--p91-page-max)!important;
  margin:0 auto!important;
  padding:24px 0 20px!important;
  background:transparent!important;
}

/* Explicitly eliminate old red page-eyebrow variants on top-level pages. */
.app-page-view .standardized-page-head > .standardized-page-title > .eyebrow,
.app-page-view .standardized-page-head .sales-pipeline-title-block > .eyebrow{
  color:var(--p91-page-eyebrow)!important;
}

/* Mobile keeps the same system with one predictable gutter. */
@media(max-width:760px){
  .app-page-view .standardized-page-head,
  .measurement-history .standardized-page-head,
  .app-page-view .pricing-modal-head.standardized-page-head{
    width:calc(100% - (var(--p91-page-gutter-mobile) * 2))!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:18px 0 16px!important;
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:12px!important;
  }

  #measurementHistory .history-drawer-head.standardized-page-head{
    width:100%!important;
    margin:0!important;
    padding:18px 16px 16px!important;
  }

  #analysisHero.standardized-page-intro{
    width:calc(100% - (var(--p91-page-gutter-mobile) * 2))!important;
    margin:0 auto!important;
  }

  .standardized-page-head h1,
  .standardized-page-head h2,
  .standardized-page-intro > h1{
    font-size:25px!important;
  }
}


/* ==========================================================================
   P91 PAGE HEADER ALIGNMENT — v2.1 AUTHORITATIVE
   One coordinate system for ALL primary pages.
   The page shell owns horizontal padding; headers do not center themselves.
   This intentionally replaces the earlier max-width/auto-margin header rail.
   ========================================================================== */
:root{
  --p91-page-left:28px;
  --p91-page-right:28px;
}

/* Every full-page header begins at the same left inset. */
.app-page-view .standardized-page-head,
#territoryBuilderPage .standardized-page-head,
#portfoliosPage .standardized-page-head,
#projectsPage .standardized-page-head,
#managedPortfolioPage .standardized-page-head,
#planBillingPage .standardized-page-head,
#economicsPage .standardized-page-head,
#invoicesPage .standardized-page-head,
#integrationsPage .standardized-page-head,
#companyTeamPage .standardized-page-head,
#companyProfileModal .standardized-page-head,
#scopeManagementModal .standardized-page-head,
#pricingModal .standardized-page-head,
#salesPipelineModal .standardized-page-head,
#propertyRecordModal .standardized-page-head{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:var(--p91-page-left)!important;
  padding-right:var(--p91-page-right)!important;
  transform:none!important;
}

/* Properties already visually established the desired left edge; keep it as
   the reference coordinate for the rest of the product. */
#measurementHistory .history-drawer-head.standardized-page-head{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:var(--p91-page-left)!important;
  padding-right:var(--p91-page-right)!important;
}

/* Property Analysis follows the exact same coordinate system. */
#analysisHero.standardized-page-intro{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:var(--p91-page-left)!important;
  padding-right:var(--p91-page-right)!important;
}

/* Settings pages previously inherited centered modal widths. Remove that
   behavior when those headers are functioning as full-page headers. */
.app-page-view .pricing-modal-head.standardized-page-head{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:var(--p91-page-left)!important;
  padding-right:var(--p91-page-right)!important;
}

@media(max-width:760px){
  :root{
    --p91-page-left:16px;
    --p91-page-right:16px;
  }
  .app-page-view .standardized-page-head,
  #measurementHistory .history-drawer-head.standardized-page-head,
  #analysisHero.standardized-page-intro,
  .app-page-view .pricing-modal-head.standardized-page-head{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:var(--p91-page-left)!important;
    padding-right:var(--p91-page-right)!important;
  }
}


/* ==========================================================================
   P91 PAGE ALIGNMENT CORRECTIONS — v2.2
   Projects and Properties alignment fixes based on visual QA.
   ========================================================================== */

/* Projects: remove legacy page-shell horizontal padding / spacer that was
   sitting outside the standardized header and making the title appear inset. */
#projectsPage{
  padding-left:0!important;
  padding-right:0!important;
}
#projectsPage > .standardized-page-head{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:var(--p91-page-left)!important;
  padding-right:var(--p91-page-right)!important;
}
#projectsPage > .standardized-page-head::before,
#projectsPage > .standardized-page-head::after{
  content:none!important;
  display:none!important;
}

/* If a legacy projects wrapper adds a horizontal spacer before the header,
   neutralize it without disturbing the content below. */
#projectsPage > :first-child:not(.standardized-page-head){
  margin-top:0!important;
}
#projectsPage .projects-page-head{
  margin-left:0!important;
  padding-left:var(--p91-page-left)!important;
}

/* Properties: eyebrow, title, and subtitle must share EXACTLY the same x-origin. */
#measurementHistory .history-drawer-head.standardized-page-head{
  padding-left:var(--p91-page-left)!important;
  padding-right:var(--p91-page-right)!important;
}
#measurementHistory .history-drawer-head .standardized-page-title{
  margin:0!important;
  padding:0!important;
  width:auto!important;
  max-width:780px!important;
}
#measurementHistory .history-drawer-head .history-drawer-copy{
  margin-left:0!important;
  padding-left:0!important;
  text-indent:0!important;
  transform:none!important;
}

/* Defensive reset for legacy Properties copy rules. */
#measurementHistory .history-drawer-copy{
  margin-left:0!important;
  padding-left:0!important;
}

@media(max-width:760px){
  #projectsPage > .standardized-page-head,
  #projectsPage .projects-page-head,
  #measurementHistory .history-drawer-head.standardized-page-head{
    padding-left:var(--p91-page-left)!important;
    padding-right:var(--p91-page-right)!important;
  }
}


/* ==========================================================================
   PROJECTS PAGE — shell correction
   Root cause: .projects-shell had max-width:1500px; margin:auto; padding:28px.
   That created BOTH a blank strip above the header and an extra 28px left
   inset before the standardized page-header padding was applied.
   Projects now uses the same page structure as Campaigns:
   full-width shell/header + centered body content.
   ========================================================================== */
#projectsPage .projects-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

#projectsPage .projects-shell > .standardized-page-head{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-top:24px!important;
  padding-right:var(--p91-page-right)!important;
  padding-bottom:20px!important;
  padding-left:var(--p91-page-left)!important;
}

/* Project content remains comfortably constrained, independent of header x-origin. */
#projectsPage .projects-body{
  box-sizing:border-box!important;
  width:min(1180px,calc(100% - 56px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:30px 0 70px!important;
}

@media(max-width:760px){
  #projectsPage .projects-shell{
    padding:0!important;
  }
  #projectsPage .projects-shell > .standardized-page-head{
    padding:18px var(--p91-page-left) 16px!important;
  }
  #projectsPage .projects-body{
    width:calc(100% - 28px)!important;
    padding:18px 0 50px!important;
  }
}


/* ==========================================================================
   P91 SHARED PAGE COMPONENTS — v3 (AUTHORITATIVE)
   ==========================================================================
   Page geometry is owned ONLY by:
     .app-page-shell   outer page structure
     .app-page-header  common page header
     .app-page-title   eyebrow/title/subtitle block
     .app-page-body    page content region

   Feature classes such as .projects-shell, .portfolios-shell, etc. may style
   feature content, but MUST NOT define page-level margin, padding, max-width,
   horizontal alignment, or header positioning.
   ========================================================================== */

:root{
  --app-page-inset:28px;
  --app-page-inset-mobile:16px;
  --app-page-header-pad-y:22px;
  --app-page-body-pad-top:28px;
  --app-page-body-pad-bottom:64px;
  --app-page-title-color:#0f2742;
  --app-page-subtitle-color:#64748b;
  --app-page-eyebrow-color:#d96713;
  --app-page-divider:#e1e6eb;
}

/* 1. OUTER SHELL */
.app-page-view .app-page-shell{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}

/* Feature shells may no longer move the page itself. */
.app-page-view .territory-shell,
.app-page-view .portfolios-shell,
.app-page-view .projects-shell,
.app-page-view .managed-portfolio-shell,
.app-page-view .plan-billing-shell,
.app-page-view .economics-shell,
.app-page-view .invoice-page-shell,
.app-page-view .sales-pipeline-shell,
.app-page-view .property-record-shell,
.app-page-view .pricing-modal-card,
.app-page-view .company-team-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* 2. PAGE HEADER */
.app-page-view .app-page-header,
#measurementHistory .app-page-header{
  box-sizing:border-box!important;
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;

  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;

  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;

  margin:0!important;
  padding:var(--app-page-header-pad-y) var(--app-page-inset) 20px!important;

  background:#fff!important;
  border:0!important;
  border-bottom:1px solid var(--app-page-divider)!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-align:left!important;
}

/* A page header is never centered independently of the shell. */
.app-page-view .app-page-header.standardized-page-head,
#measurementHistory .app-page-header.standardized-page-head{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* 3. TITLE BLOCK */
.app-page-title{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:780px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}

.app-page-title .eyebrow{
  display:block!important;
  margin:0 0 6px!important;
  padding:0!important;
  color:var(--app-page-eyebrow-color)!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.095em!important;
  text-transform:uppercase!important;
  text-align:left!important;
}

.app-page-title h1,
.app-page-title h2{
  margin:0 0 7px!important;
  padding:0!important;
  color:var(--app-page-title-color)!important;
  font-size:28px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  text-align:left!important;
}

.app-page-title p,
.app-page-title .history-drawer-copy{
  margin:0!important;
  padding:0!important;
  color:var(--app-page-subtitle-color)!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:400!important;
  text-align:left!important;
  text-indent:0!important;
  transform:none!important;
}

/* 4. PAGE BODY */
.app-page-view .app-page-body,
#measurementHistory .app-page-body{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:var(--app-page-inset)!important;
  padding-right:var(--app-page-inset)!important;
}

/* Body-specific vertical rhythm can still differ by feature, but horizontal
   geometry is centralized here. */
.app-page-view .projects-body.app-page-body,
.app-page-view .portfolios-body.app-page-body,
.app-page-view .managed-portfolio-body.app-page-body,
.app-page-view .territory-builder-body.app-page-body,
.app-page-view .plan-billing-body.app-page-body,
.app-page-view .economics-body.app-page-body,
.app-page-view .invoice-page-body.app-page-body,
.app-page-view .sales-pipeline-body.app-page-body,
.app-page-view .property-record-body.app-page-body{
  margin-left:0!important;
  margin-right:0!important;
}

/* Properties is a page/drawer hybrid. It follows the exact same x-origin. */
#measurementHistory .app-page-header{
  padding-left:var(--app-page-inset)!important;
  padding-right:var(--app-page-inset)!important;
}
#measurementHistory .app-page-title,
#measurementHistory .app-page-title .history-drawer-copy{
  margin-left:0!important;
  padding-left:0!important;
}

/* Header action groups never shift title geometry. */
.app-page-header > button,
.app-page-header > .pipeline-head-actions,
.app-page-header > .property-record-head-actions{
  flex:0 0 auto!important;
  margin:0!important;
}

/* Compatibility: old feature header classes can no longer override structure. */
.app-page-view .projects-head,
.app-page-view .portfolios-head,
.app-page-view .territory-page-head,
.app-page-view .managed-portfolio-head,
.app-page-view .plan-billing-head,
.app-page-view .economics-head,
.app-page-view .invoice-page-head,
.app-page-view .integrations-head,
.app-page-view .pricing-modal-head,
.app-page-view .sales-pipeline-head,
.app-page-view .property-record-head{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:var(--app-page-inset)!important;
  padding-right:var(--app-page-inset)!important;
}

/* Property Analysis intro uses the same x-origin even though it is not a
   full overlay page. */
#analysisHero.standardized-page-intro{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:var(--app-page-inset)!important;
  padding-right:var(--app-page-inset)!important;
}

/* Mobile */
@media(max-width:760px){
  :root{
    --app-page-inset:16px;
    --app-page-header-pad-y:18px;
  }

  .app-page-view .app-page-header,
  #measurementHistory .app-page-header{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:12px!important;
    padding:var(--app-page-header-pad-y) var(--app-page-inset) 16px!important;
  }

  .app-page-title h1,
  .app-page-title h2{
    font-size:25px!important;
  }

  .app-page-view .app-page-body,
  #measurementHistory .app-page-body{
    padding-left:var(--app-page-inset)!important;
    padding-right:var(--app-page-inset)!important;
  }
}

/* ==========================================================================
   DEVELOPER GUARDRAIL
   Never add page-level layout rules to feature shells.
   BAD:  .projects-shell { max-width:1500px; margin:auto; padding:28px; }
   GOOD: use .app-page-shell / .app-page-header / .app-page-title /
         .app-page-body, then style only the feature content inside the body.
   ========================================================================== */


/* Add As Opportunity feedback belongs in the Property Context card, not in the
   hidden customer modal. */
#propertyRecordModal .property-context-message{
  margin-top:14px;
}


/* ==========================================================================
   OPPORTUNITY CARD — v2
   One Status control owns the entire opportunity lifecycle:
   New / Contacting / Proposal Sent / Negotiating / Won / Lost.
   Details are opened with one compact icon action.
   ========================================================================== */

#salesPipelineModal .pipeline-card{
  cursor:default;
  padding:14px;
}

#salesPipelineModal .pipeline-card[draggable="true"]{
  cursor:grab;
}

#salesPipelineModal .pipeline-card-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) var(--ui-control-h);
  gap:8px;
  align-items:end;
  margin-top:12px;
}

#salesPipelineModal .pipeline-status-field{
  display:grid;
  gap:5px;
  min-width:0;
}

#salesPipelineModal .pipeline-status-field > span{
  color:#64748b;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#salesPipelineModal .pipeline-status-select{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  height:var(--ui-control-h);
  padding:0 34px 0 11px;
  border:1px solid #cbd5e1;
  border-radius:var(--ui-control-radius);
  background:#fff;
  color:#24384d;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

#salesPipelineModal .pipeline-open-record{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:var(--ui-control-h)!important;
  min-width:var(--ui-control-h)!important;
  height:var(--ui-control-h)!important;
  min-height:var(--ui-control-h)!important;
  padding:0!important;
  margin:0!important;
}

#salesPipelineModal .pipeline-open-record span{
  font-size:18px;
  line-height:1;
}

/* Old per-card Won/Lost/Reopen controls are retired from the card design. */
#salesPipelineModal .pipeline-outcome-actions,
#salesPipelineModal .pipeline-reopen{
  display:none!important;
}

#salesPipelineModal .outcome-card .pipeline-card-actions{
  margin-top:12px;
}

@media(max-width:760px){
  #salesPipelineModal .pipeline-card-actions{
    grid-template-columns:minmax(0,1fr) var(--ui-control-h-mobile);
  }
  #salesPipelineModal .pipeline-status-select,
  #salesPipelineModal .pipeline-open-record{
    height:var(--ui-control-h-mobile)!important;
    min-height:var(--ui-control-h-mobile)!important;
  }
  #salesPipelineModal .pipeline-open-record{
    width:var(--ui-control-h-mobile)!important;
    min-width:var(--ui-control-h-mobile)!important;
  }
}


/* ==========================================================================
   OPPORTUNITY STATUS MENU — v3
   Custom dropdown so Won/Lost are visually distinct from active stages.
   ========================================================================== */

#salesPipelineModal .pipeline-status-menu{
  position:relative;
  width:100%;
  min-width:0;
}

#salesPipelineModal .pipeline-status-trigger{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:8px minmax(0,1fr) 16px;
  align-items:center;
  gap:8px;
  width:100%;
  height:var(--ui-control-h);
  padding:0 10px;
  border:1px solid #cbd5e1;
  border-radius:var(--ui-control-radius);
  background:#fff;
  color:#24384d;
  font-size:12px;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}

#salesPipelineModal .pipeline-status-trigger:hover{
  border-color:#aebdca;
  background:#f8fafc;
}

#salesPipelineModal .pipeline-status-trigger-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#94a3b8;
}

#salesPipelineModal .pipeline-status-trigger-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#salesPipelineModal .pipeline-status-trigger-chevron{
  color:#64748b;
  font-size:14px;
  text-align:center;
}

/* Selected outcomes immediately stand out even while the menu is closed. */
#salesPipelineModal .pipeline-status-trigger.won{
  border-color:#86c79b;
  background:#f1fbf4;
  color:#166534;
}
#salesPipelineModal .pipeline-status-trigger.won .pipeline-status-trigger-dot{
  background:#22a447;
}
#salesPipelineModal .pipeline-status-trigger.lost{
  border-color:#e7a5a5;
  background:#fff5f5;
  color:#9f2d2d;
}
#salesPipelineModal .pipeline-status-trigger.lost .pipeline-status-trigger-dot{
  background:#d84a4a;
}

#salesPipelineModal .pipeline-status-popover{
  position:absolute;
  left:0;
  right:0;
  bottom:calc(100% + 6px);
  z-index:50;
  min-width:190px;
  padding:6px;
  border:1px solid #d8e1e8;
  border-radius:11px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,39,66,.16);
}

#salesPipelineModal .pipeline-status-popover.hidden{
  display:none!important;
}

#salesPipelineModal .pipeline-status-group-label{
  padding:6px 8px 5px;
  color:#8a9aaa;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#salesPipelineModal .pipeline-status-separator{
  height:1px;
  margin:5px 4px;
  background:#e7edf2;
}

#salesPipelineModal .pipeline-status-option{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:7px;
  width:100%;
  min-height:34px;
  padding:0 8px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#334b60;
  font-size:12px;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}

#salesPipelineModal .pipeline-status-option:hover{
  background:#f4f7f9;
}

#salesPipelineModal .pipeline-status-option.selected{
  background:#eef3f6;
  color:#102a43;
}

#salesPipelineModal .pipeline-status-option-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  color:#64748b;
  font-size:12px;
  font-weight:900;
}

/* Outcomes are visually separated and semantically stronger. */
#salesPipelineModal .pipeline-status-option.outcome.won{
  color:#166534;
}
#salesPipelineModal .pipeline-status-option.outcome.won:hover,
#salesPipelineModal .pipeline-status-option.outcome.won.selected{
  background:#edf9f0;
}
#salesPipelineModal .pipeline-status-option.outcome.won .pipeline-status-option-mark{
  background:#dff4e5;
  color:#16813a;
}

#salesPipelineModal .pipeline-status-option.outcome.lost{
  color:#9f2d2d;
}
#salesPipelineModal .pipeline-status-option.outcome.lost:hover,
#salesPipelineModal .pipeline-status-option.outcome.lost.selected{
  background:#fff0f0;
}
#salesPipelineModal .pipeline-status-option.outcome.lost .pipeline-status-option-mark{
  background:#fde2e2;
  color:#c83737;
}

/* Native select is retired. */
#salesPipelineModal .pipeline-status-select{
  display:none!important;
}

/* Dropdown clicks must not start card dragging. */
#salesPipelineModal .pipeline-status-menu,
#salesPipelineModal .pipeline-status-menu *{
  -webkit-user-drag:none;
}

@media(max-width:760px){
  #salesPipelineModal .pipeline-status-trigger{
    height:var(--ui-control-h-mobile);
  }
}


/* ==========================================================================
   P91 PLATFORM CONFIRMATION
   Reusable in-app acknowledgement for consequential actions.
   Do not use browser confirm() for Opportunity status changes.
   ========================================================================== */

.platform-confirm-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:20px;
}

.platform-confirm-modal.hidden{
  display:none!important;
}

.platform-confirm-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,39,66,.34);
  backdrop-filter:blur(2px);
}

.platform-confirm-card{
  position:relative;
  z-index:1;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px 16px;
  width:min(440px,100%);
  padding:20px;
  border:1px solid #dce4ea;
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,39,66,.22);
}

.platform-confirm-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:#eef3f6;
  color:#334b60;
  font-size:20px;
  line-height:1;
  font-weight:900;
}

.platform-confirm-copy{
  min-width:0;
}

.platform-confirm-copy .eyebrow{
  margin:0 0 5px;
  color:#d96713;
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.platform-confirm-copy h2{
  margin:0 0 6px;
  color:#0f2742;
  font-size:20px;
  line-height:1.2;
  font-weight:800;
}

.platform-confirm-copy p{
  margin:0;
  color:#64748b;
  font-size:13px;
  line-height:1.5;
}

.platform-confirm-actions{
  grid-column:1 / -1;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:4px;
}

.platform-confirm-modal[data-tone="won"] .platform-confirm-icon{
  background:#e6f7eb;
  color:#16813a;
}

.platform-confirm-modal[data-tone="won"] #platformConfirmAccept{
  background:#1f8f46!important;
  border-color:#1f8f46!important;
  color:#fff!important;
}

.platform-confirm-modal[data-tone="lost"] .platform-confirm-icon{
  background:#fde8e8;
  color:#bd3333;
}

.platform-confirm-modal[data-tone="lost"] #platformConfirmAccept{
  background:#b63b3b!important;
  border-color:#b63b3b!important;
  color:#fff!important;
}

@media(max-width:560px){
  .platform-confirm-modal{
    align-items:end;
    padding:14px;
  }

  .platform-confirm-card{
    width:100%;
    border-radius:16px;
  }

  .platform-confirm-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}


/* ==========================================================================
   OPPORTUNITY STATUS CONFIRMATION — z-index + chevron correction
   Root cause:
   .app-page-view runs at z-index:5000 and the first confirmation modal was
   z-index:1200, so it opened BEHIND Opportunities. The awaited confirmation
   therefore looked like Won/Lost did nothing.
   ========================================================================== */

/* Confirmation must sit above full-screen app pages and the sticky app header. */
.platform-confirm-modal{
  z-index:30000!important;
}

/* Draw the dropdown chevron with CSS instead of a font glyph so it is centered
   consistently across Windows/browser font rendering. */
#salesPipelineModal .pipeline-status-trigger{
  grid-template-columns:8px minmax(0,1fr) 14px!important;
}

#salesPipelineModal .pipeline-status-trigger-chevron{
  box-sizing:border-box!important;
  display:block!important;
  width:7px!important;
  height:7px!important;
  margin:0 auto 3px!important;
  padding:0!important;
  border:0!important;
  border-right:1.5px solid currentColor!important;
  border-bottom:1.5px solid currentColor!important;
  color:#64748b!important;
  font-size:0!important;
  line-height:0!important;
  transform:rotate(45deg)!important;
  transform-origin:center!important;
  align-self:center!important;
  justify-self:center!important;
}

#salesPipelineModal .pipeline-status-menu.open .pipeline-status-trigger-chevron{
  margin-top:3px!important;
  margin-bottom:0!important;
  transform:rotate(225deg)!important;
}


/* ==========================================================================
   PROJECTS PAGE — OPPORTUNITIES VISUAL SYSTEM
   Projects uses the same information hierarchy, card density, spacing, border
   language, and control treatment as Opportunities. Status vocabulary differs,
   but the interaction model should feel like the same product.
   ========================================================================== */

#projectsPage{
  background:#f6f8fa!important;
}

#projectsPage .app-page-header{
  background:#fff!important;
}

#projectsPage .projects-body.app-page-body{
  padding-top:22px!important;
  padding-bottom:64px!important;
}

/* Metrics mirror the Opportunities page: compact, quiet, decision-oriented. */
#projectsPage .projects-metrics,
#projectsPage .project-metrics{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 0 18px!important;
}

#projectsPage .projects-metric,
#projectsPage .project-metric{
  box-sizing:border-box!important;
  min-width:0!important;
  padding:13px 14px!important;
  border:1px solid #dce4ea!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}

#projectsPage .projects-metric span,
#projectsPage .project-metric span{
  display:block!important;
  margin:0 0 5px!important;
  color:#7a8b9b!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}

#projectsPage .projects-metric strong,
#projectsPage .project-metric strong{
  color:#0f2742!important;
  font-size:22px!important;
  line-height:1.1!important;
  font-weight:800!important;
}

/* Board aligns with Opportunities columns instead of using a separate visual system. */
#projectsPage .projects-board{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(245px,1fr))!important;
  gap:12px!important;
  align-items:start!important;
  overflow-x:auto!important;
  padding:0 0 10px!important;
}

#projectsPage .projects-column{
  box-sizing:border-box!important;
  min-width:245px!important;
  padding:10px!important;
  border:1px solid #dde5eb!important;
  border-radius:14px!important;
  background:#eef2f5!important;
}

#projectsPage .projects-column-head,
#projectsPage .project-column-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 9px!important;
  padding:2px 2px 8px!important;
  border-bottom:1px solid #d7e0e7!important;
}

#projectsPage .projects-column-head strong,
#projectsPage .project-column-head strong{
  color:#233b51!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
}

#projectsPage .projects-column-head span,
#projectsPage .project-column-head span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:24px!important;
  height:22px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:800!important;
}

/* Cards use the same restrained white-card treatment as Opportunities. */
#projectsPage .project-card,
#projectsPage .projects-card{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0 0 9px!important;
  padding:14px!important;
  border:1px solid #dbe3e9!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(15,39,66,.035)!important;
  color:#24384d!important;
}

#projectsPage .project-card:hover,
#projectsPage .projects-card:hover{
  border-color:#c8d4dd!important;
  box-shadow:0 4px 12px rgba(15,39,66,.06)!important;
}

#projectsPage .project-card-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
}

#projectsPage .project-card-title-group{
  min-width:0!important;
}

#projectsPage .project-card-title-group strong{
  display:block!important;
  margin:0!important;
  color:#102a43!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:800!important;
}

#projectsPage .project-card-title-group p{
  margin:4px 0 0!important;
  color:#64748b!important;
  font-size:11px!important;
  line-height:1.4!important;
}

#projectsPage .project-card-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px 8px!important;
  margin-top:10px!important;
}

#projectsPage .project-card-meta span{
  color:#6b7d8d!important;
  font-size:10px!important;
  line-height:1.25!important;
}

#projectsPage .project-status-pill{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:23px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:#eef3f6!important;
  color:#506577!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}

#projectsPage .project-status-pill.scheduled{
  background:#edf4fb!important;
  color:#31658d!important;
}

#projectsPage .project-status-pill.in-progress{
  background:#fff4e8!important;
  color:#a85714!important;
}

#projectsPage .project-status-pill.complete{
  background:#edf8f0!important;
  color:#267342!important;
}

/* One status control + one compact details icon, matching Opportunity cards. */
#projectsPage .project-card-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) var(--ui-control-h)!important;
  gap:8px!important;
  align-items:end!important;
  margin-top:12px!important;
}

#projectsPage .project-status-field{
  display:grid!important;
  gap:5px!important;
  min-width:0!important;
}

#projectsPage .project-status-field > span{
  color:#64748b!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

#projectsPage .project-status-select{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:var(--ui-control-h)!important;
  padding:0 34px 0 11px!important;
  border:1px solid #cbd5e1!important;
  border-radius:var(--ui-control-radius)!important;
  background:#fff!important;
  color:#24384d!important;
  font-size:12px!important;
  font-weight:700!important;
  cursor:pointer!important;
}

#projectsPage .project-open-property{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:var(--ui-control-h)!important;
  min-width:var(--ui-control-h)!important;
  height:var(--ui-control-h)!important;
  min-height:var(--ui-control-h)!important;
  padding:0!important;
  margin:0!important;
}

#projectsPage .project-open-property span{
  font-size:18px!important;
  line-height:1!important;
}

/* Remove legacy heavy visual treatments if they are still present. */
#projectsPage .project-card .primary,
#projectsPage .project-card .danger,
#projectsPage .project-card .success{
  box-shadow:none!important;
}

@media(max-width:1000px){
  #projectsPage .projects-metrics,
  #projectsPage .project-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  #projectsPage .projects-body.app-page-body{
    padding-top:16px!important;
  }

  #projectsPage .projects-metrics,
  #projectsPage .project-metrics{
    grid-template-columns:1fr 1fr!important;
  }

  #projectsPage .projects-board{
    grid-template-columns:repeat(4,minmax(270px,82vw))!important;
  }

  #projectsPage .project-card-actions{
    grid-template-columns:minmax(0,1fr) var(--ui-control-h-mobile)!important;
  }

  #projectsPage .project-status-select,
  #projectsPage .project-open-property{
    height:var(--ui-control-h-mobile)!important;
    min-height:var(--ui-control-h-mobile)!important;
  }

  #projectsPage .project-open-property{
    width:var(--ui-control-h-mobile)!important;
    min-width:var(--ui-control-h-mobile)!important;
  }
}


/* ==========================================================================
   PROJECT STATUS COLORS — authoritative fix
   The previous rules targeted .scheduled / .in-progress / .complete directly.
   Projects now emits explicit project-status-* classes to prevent collisions
   and guarantee the intended visual treatment.
   ========================================================================== */

#projectsPage .project-status-pill{
  border:1px solid transparent!important;
}

#projectsPage .project-status-pill.project-status-new{
  background:#eef3f6!important;
  border-color:#dce4ea!important;
  color:#506577!important;
}

#projectsPage .project-status-pill.project-status-scheduled{
  background:#eaf3fb!important;
  border-color:#c7dcef!important;
  color:#2f6f9f!important;
}

#projectsPage .project-status-pill.project-status-in-progress{
  background:#fff1e3!important;
  border-color:#f4cfaa!important;
  color:#b35f18!important;
}

#projectsPage .project-status-pill.project-status-complete{
  background:#eaf7ee!important;
  border-color:#c4e4cf!important;
  color:#237445!important;
}

/* Status selects also communicate the current state without becoming loud. */
#projectsPage .project-status-select[data-current-status="Scheduled"]{
  border-color:#b9d4ea!important;
  background:#f5faff!important;
  color:#2f6f9f!important;
}
#projectsPage .project-status-select[data-current-status="In Progress"]{
  border-color:#edc89f!important;
  background:#fff9f2!important;
  color:#a95616!important;
}
#projectsPage .project-status-select[data-current-status="Complete"]{
  border-color:#b8ddc4!important;
  background:#f4fbf6!important;
  color:#237445!important;
}


/* ==========================================================================
   PROJECT STATUS VISUALS — ACTUAL BOARD-LEVEL IMPLEMENTATION
   Scheduled = blue, In Progress = orange, Complete = green.
   The color is carried by the column header + count + card status, so it is
   visible even before interacting with a card.
   ========================================================================== */

/* Neutral/New */
#projectsPage .project-column-new > .project-column-head{
  border-top:3px solid #94a3b8!important;
}
#projectsPage .project-column-new > .project-column-head strong{
  color:#526779!important;
}

/* Scheduled — blue */
#projectsPage .project-column-scheduled{
  background:#f4f8fc!important;
  border-color:#cfdfec!important;
}
#projectsPage .project-column-scheduled > .project-column-head{
  border-top:3px solid #4f8fbd!important;
  border-bottom-color:#d4e2ed!important;
}
#projectsPage .project-column-scheduled > .project-column-head strong{
  color:#2f6f9f!important;
}
#projectsPage .project-column-scheduled > .project-column-head span{
  background:#e3f0fa!important;
  color:#2f6f9f!important;
}

/* In Progress — orange */
#projectsPage .project-column-in-progress{
  background:#fff8f1!important;
  border-color:#efd8bf!important;
}
#projectsPage .project-column-in-progress > .project-column-head{
  border-top:3px solid #d96713!important;
  border-bottom-color:#f0dcc8!important;
}
#projectsPage .project-column-in-progress > .project-column-head strong{
  color:#a95616!important;
}
#projectsPage .project-column-in-progress > .project-column-head span{
  background:#ffead7!important;
  color:#a95616!important;
}

/* Complete — green */
#projectsPage .project-column-complete{
  background:#f3f9f5!important;
  border-color:#cfe3d5!important;
}
#projectsPage .project-column-complete > .project-column-head{
  border-top:3px solid #3f9460!important;
  border-bottom-color:#d4e8da!important;
}
#projectsPage .project-column-complete > .project-column-head strong{
  color:#237445!important;
}
#projectsPage .project-column-complete > .project-column-head span{
  background:#e0f1e5!important;
  color:#237445!important;
}

/* Card status pills */
#projectsPage .project-status-pill.project-status-scheduled{
  background:#e3f0fa!important;
  border-color:#bdd6e8!important;
  color:#2f6f9f!important;
}
#projectsPage .project-status-pill.project-status-in-progress{
  background:#ffead7!important;
  border-color:#efc99f!important;
  color:#a95616!important;
}
#projectsPage .project-status-pill.project-status-complete{
  background:#e0f1e5!important;
  border-color:#bfddc8!important;
  color:#237445!important;
}

/* Closed Status control reflects the current project state. */
#projectsPage .project-status-select[data-current-status="Scheduled"]{
  background:#eef7fd!important;
  border-color:#b7d2e6!important;
  color:#2f6f9f!important;
}
#projectsPage .project-status-select[data-current-status="In Progress"]{
  background:#fff5ea!important;
  border-color:#e9c39b!important;
  color:#a95616!important;
}
#projectsPage .project-status-select[data-current-status="Complete"]{
  background:#eef8f1!important;
  border-color:#b9d9c3!important;
  color:#237445!important;
}


/* ==========================================================================
   PROJECTS PAGE — MODERN LIGHT BOARD REDESIGN
   Goal: make Projects feel like Opportunities after the sale.
   Keep the board neutral and let stage color act as an accent, not a backdrop.
   ========================================================================== */

#projectsPage{
  background:#f7f9fb!important;
}

#projectsPage .projects-body.app-page-body{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  padding-top:18px!important;
  padding-bottom:72px!important;
}

/* Use more of the available canvas. */
#projectsPage .projects-body{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* Compact summary metrics so the board remains the primary visual. */
#projectsPage .projects-metrics,
#projectsPage .project-metrics{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 0 16px!important;
}

#projectsPage .projects-metric,
#projectsPage .project-metric{
  padding:11px 13px!important;
  min-height:72px!important;
  border:1px solid #e1e7ec!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(15,39,66,.02)!important;
}

#projectsPage .projects-metric span,
#projectsPage .project-metric span{
  margin-bottom:6px!important;
  color:#7c8c9a!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
}

#projectsPage .projects-metric strong,
#projectsPage .project-metric strong{
  font-size:21px!important;
  line-height:1!important;
}

/* Board: light neutral columns, equal visual language across all stages. */
#projectsPage .projects-board{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(260px,1fr))!important;
  gap:12px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  overflow-x:auto!important;
  padding:0 0 8px!important;
}

#projectsPage .project-column,
#projectsPage .projects-column{
  min-width:260px!important;
  padding:0!important;
  border:1px solid #e0e6eb!important;
  border-radius:14px!important;
  background:#f2f5f7!important;
  overflow:hidden!important;
  box-shadow:none!important;
}

/* Remove prior stage-tinted whole-column backgrounds. */
#projectsPage .project-column-new,
#projectsPage .project-column-scheduled,
#projectsPage .project-column-in-progress,
#projectsPage .project-column-complete{
  background:#f2f5f7!important;
  border-color:#e0e6eb!important;
}

/* Column header: light, clean, and stage-accented. */
#projectsPage .project-column-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 12px!important;
  border:0!important;
  border-top:3px solid #94a3b8!important;
  border-bottom:1px solid #e1e7ec!important;
  background:#fff!important;
}

#projectsPage .project-column-head strong{
  color:#33475b!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

#projectsPage .project-column-head span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:24px!important;
  height:22px!important;
  padding:0 7px!important;
  border:1px solid #dce4ea!important;
  border-radius:999px!important;
  background:#f6f8fa!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:800!important;
}

/* Stage accents are concentrated in header/label/count only. */
#projectsPage .project-column-new > .project-column-head{
  border-top-color:#94a3b8!important;
}
#projectsPage .project-column-new > .project-column-head strong{
  color:#526779!important;
}

#projectsPage .project-column-scheduled > .project-column-head{
  border-top-color:#4f8fbd!important;
}
#projectsPage .project-column-scheduled > .project-column-head strong{
  color:#2f6f9f!important;
}
#projectsPage .project-column-scheduled > .project-column-head span{
  border-color:#c9deed!important;
  background:#edf6fc!important;
  color:#2f6f9f!important;
}

#projectsPage .project-column-in-progress > .project-column-head{
  border-top-color:#d96713!important;
}
#projectsPage .project-column-in-progress > .project-column-head strong{
  color:#a95616!important;
}
#projectsPage .project-column-in-progress > .project-column-head span{
  border-color:#efcfac!important;
  background:#fff4e8!important;
  color:#a95616!important;
}

#projectsPage .project-column-complete > .project-column-head{
  border-top-color:#3f9460!important;
}
#projectsPage .project-column-complete > .project-column-head strong{
  color:#237445!important;
}
#projectsPage .project-column-complete > .project-column-head span{
  border-color:#c7dfce!important;
  background:#eef8f1!important;
  color:#237445!important;
}

/* Column body gives cards breathing room without excessive visual mass. */
#projectsPage .project-column-body{
  min-height:185px!important;
  padding:10px!important;
  background:transparent!important;
}

#projectsPage .project-column-empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:120px!important;
  padding:16px!important;
  color:#9aa8b5!important;
  font-size:11px!important;
  text-align:center!important;
}

/* Project cards: slightly more substantial than Opportunities, but still light. */
#projectsPage .project-card,
#projectsPage .projects-card{
  margin:0 0 10px!important;
  padding:14px!important;
  border:1px solid #dbe3e9!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(15,39,66,.025)!important;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease!important;
}

#projectsPage .project-card:hover,
#projectsPage .projects-card:hover{
  border-color:#c8d4dd!important;
  box-shadow:0 6px 18px rgba(15,39,66,.06)!important;
  transform:translateY(-1px)!important;
}

#projectsPage .project-card-top{
  align-items:flex-start!important;
}

#projectsPage .project-card-title-group strong{
  color:#102a43!important;
  font-size:13px!important;
  font-weight:800!important;
}

#projectsPage .project-card-title-group p{
  margin-top:4px!important;
  color:#697b8c!important;
  font-size:10.5px!important;
  line-height:1.45!important;
}

#projectsPage .project-card-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:11px!important;
}

#projectsPage .project-card-meta span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:0 7px!important;
  border:1px solid #e1e7ec!important;
  border-radius:999px!important;
  background:#f8fafb!important;
  color:#617384!important;
  font-size:9.5px!important;
  line-height:1!important;
}

/* Small status badge stays, but no longer competes with the card content. */
#projectsPage .project-status-pill{
  min-height:22px!important;
  padding:0 7px!important;
  font-size:8.5px!important;
  letter-spacing:.03em!important;
}

#projectsPage .project-status-pill.project-status-new{
  background:#f1f4f6!important;
  border-color:#dce4ea!important;
  color:#526779!important;
}

#projectsPage .project-status-pill.project-status-scheduled{
  background:#edf6fc!important;
  border-color:#c9deed!important;
  color:#2f6f9f!important;
}

#projectsPage .project-status-pill.project-status-in-progress{
  background:#fff4e8!important;
  border-color:#efcfac!important;
  color:#a95616!important;
}

#projectsPage .project-status-pill.project-status-complete{
  background:#eef8f1!important;
  border-color:#c7dfce!important;
  color:#237445!important;
}

/* Controls mirror Opportunities and stay visually quiet. */
#projectsPage .project-card-actions{
  margin-top:12px!important;
  padding-top:11px!important;
  border-top:1px solid #edf1f4!important;
}

#projectsPage .project-status-field > span{
  color:#778897!important;
}

#projectsPage .project-status-select{
  border-color:#d2dce4!important;
  background:#fff!important;
  box-shadow:none!important;
}

#projectsPage .project-status-select[data-current-status="Scheduled"]{
  border-color:#c9deed!important;
  background:#f8fcff!important;
  color:#2f6f9f!important;
}

#projectsPage .project-status-select[data-current-status="In Progress"]{
  border-color:#efcfac!important;
  background:#fffaf5!important;
  color:#a95616!important;
}

#projectsPage .project-status-select[data-current-status="Complete"]{
  border-color:#c7dfce!important;
  background:#f8fcf9!important;
  color:#237445!important;
}

#projectsPage .project-open-property{
  border-color:#d2dce4!important;
  background:#fff!important;
  color:#334b60!important;
}

#projectsPage .project-open-property:hover{
  background:#f5f8fa!important;
  border-color:#bdcad4!important;
}

/* Desktop uses full width. */
@media(min-width:1200px){
  #projectsPage .projects-body.app-page-body{
    padding-left:28px!important;
    padding-right:28px!important;
  }
}

/* Tablet/mobile. */
@media(max-width:1000px){
  #projectsPage .projects-metrics,
  #projectsPage .project-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  #projectsPage .projects-metrics,
  #projectsPage .project-metrics{
    grid-template-columns:1fr 1fr!important;
  }

  #projectsPage .projects-board{
    grid-template-columns:repeat(4,minmax(275px,82vw))!important;
  }
}


/* ==========================================================================
   P91 CONTENT RAIL — AUTHORITATIVE PAGE MARGIN RULE
   Every primary application page uses the same horizontal content rail.
   This prevents Projects/Campaigns from stretching edge-to-edge while
   Opportunities sits in a centered rail.
   ========================================================================== */

:root{
  --app-content-max:1320px;
  --app-page-gutter:28px;
  --app-content-inset:max(
    var(--app-page-gutter),
    calc((100vw - var(--app-content-max)) / 2)
  );
}

/* Header and body share the exact same left/right origin. */
.app-page-view .app-page-header,
#measurementHistory .app-page-header{
  padding-left:var(--app-content-inset)!important;
  padding-right:var(--app-content-inset)!important;
}

.app-page-view .app-page-body,
#measurementHistory .app-page-body{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:var(--app-content-inset)!important;
  padding-right:var(--app-content-inset)!important;
}

/* Operational pages may not redefine their horizontal rail. */
#projectsPage .projects-body.app-page-body,
#portfoliosPage .portfolios-body.app-page-body,
#salesPipelineModal .sales-pipeline-body.app-page-body,
#managedPortfolioPage .managed-portfolio-body.app-page-body,
#territoryBuilderPage .territory-builder-body.app-page-body,
#planBillingPage .plan-billing-body.app-page-body,
#invoicePage .invoice-page-body.app-page-body,
#propertyRecordModal .property-record-body.app-page-body{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:var(--app-content-inset)!important;
  padding-right:var(--app-content-inset)!important;
}

/* Remove older page-specific centering rules from the visible result. */
#projectsPage .projects-body{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

#portfoliosPage .portfolios-body{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

#salesPipelineModal .sales-pipeline-body{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:var(--app-content-inset)!important;
  padding-right:var(--app-content-inset)!important;
}

/* The inner boards/lists fill the shared rail, not the viewport. */
#projectsPage .projects-board,
#portfoliosPage .portfolio-metrics,
#portfoliosPage .portfolio-list,
#salesPipelineModal .pipeline-metrics,
#salesPipelineModal .opportunity-view-tabs,
#salesPipelineModal .pipeline-board-wrap,
#salesPipelineModal .pipeline-help{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Mobile keeps one shared compact gutter. */
@media(max-width:760px){
  :root{
    --app-page-gutter:16px;
  }

  .app-page-view .app-page-header,
  .app-page-view .app-page-body,
  #measurementHistory .app-page-header,
  #measurementHistory .app-page-body{
    padding-left:var(--app-page-gutter)!important;
    padding-right:var(--app-page-gutter)!important;
  }
}


/* ==========================================================================
   PROJECT RECORD
   A dedicated execution details page. Uses the shared page shell + content rail.
   ========================================================================== */

#projectRecordPage{
  background:#f7f9fb!important;
}

#projectRecordPage .project-record-body{
  padding-top:22px!important;
  padding-bottom:72px!important;
}

#projectRecordPage .project-record-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:14px;
  align-items:start;
}

#projectRecordPage .project-record-card{
  box-sizing:border-box;
  padding:18px;
  border:1px solid #dfe6eb;
  border-radius:14px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,39,66,.025);
}

#projectRecordPage .project-record-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}

#projectRecordPage .project-record-kicker{
  display:block;
  margin:0 0 5px;
  color:#d96713;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
}

#projectRecordPage .project-record-card h3{
  margin:0;
  color:#102a43;
  font-size:16px;
  line-height:1.2;
  font-weight:800;
}

#projectRecordPage .project-record-status-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border:1px solid #dce4ea;
  border-radius:999px;
  background:#f1f4f6;
  color:#526779;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

#projectRecordPage .project-record-status-badge.scheduled{
  border-color:#c9deed;
  background:#edf6fc;
  color:#2f6f9f;
}

#projectRecordPage .project-record-status-badge.in-progress{
  border-color:#efcfac;
  background:#fff4e8;
  color:#a95616;
}

#projectRecordPage .project-record-status-badge.complete{
  border-color:#c7dfce;
  background:#eef8f1;
  color:#237445;
}

#projectRecordPage .project-record-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

#projectRecordPage .project-record-fields label:first-child{
  grid-column:1 / -1;
}

#projectRecordPage .project-record-fields label{
  display:grid;
  gap:6px;
}

#projectRecordPage .project-record-fields label > span{
  color:#64748b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.065em;
  text-transform:uppercase;
}

#projectRecordPage .project-record-fields input,
#projectRecordPage .project-record-fields select{
  box-sizing:border-box;
  width:100%;
  height:40px;
  padding:0 11px;
  border:1px solid #cfd9e1;
  border-radius:9px;
  background:#fff;
  color:#24384d;
  font-size:12px;
  font-weight:700;
}

#projectRecordPage .project-record-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #edf1f4;
}

#projectRecordPage .project-record-info-list{
  display:grid;
  gap:0;
}

#projectRecordPage .project-record-info-list > div{
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #edf1f4;
}

#projectRecordPage .project-record-info-list > div:first-child{
  padding-top:0;
}

#projectRecordPage .project-record-info-list span{
  color:#758696;
  font-size:10px;
  font-weight:700;
}

#projectRecordPage .project-record-info-list strong{
  color:#21384e;
  font-size:11px;
  font-weight:700;
  text-align:right;
  overflow-wrap:anywhere;
}

#projectRecordPage .project-record-open-property{
  width:100%;
  margin-top:14px;
}

#projectRecordPage .project-record-timeline{
  display:grid;
  gap:10px;
}

#projectRecordPage .project-record-timeline > div{
  position:relative;
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:3px 12px;
  padding:10px 0 10px 17px;
  border-bottom:1px solid #edf1f4;
}

#projectRecordPage .project-record-timeline > div::before{
  content:"";
  position:absolute;
  left:0;
  top:15px;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#d96713;
}

#projectRecordPage .project-record-timeline span{
  color:#748595;
  font-size:10px;
  font-weight:700;
}

#projectRecordPage .project-record-timeline strong{
  color:#21384e;
  font-size:11px;
  font-weight:800;
}

#projectRecordPage .project-record-timeline small{
  grid-column:2;
  color:#91a0ad;
  font-size:9.5px;
}

#projectRecordPage .project-record-timeline > div.muted{
  opacity:.5;
}

#projectRecordPage .project-record-next p{
  margin:0;
  color:#637687;
  font-size:12px;
  line-height:1.55;
}

#projectRecordPage .project-record-next-note{
  margin-top:14px;
  padding:10px 11px;
  border:1px solid #e3e9ee;
  border-radius:9px;
  background:#f7f9fb;
  color:#718392;
  font-size:10.5px;
  line-height:1.45;
}

@media(max-width:900px){
  #projectRecordPage .project-record-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:600px){
  #projectRecordPage .project-record-fields{
    grid-template-columns:1fr;
  }

  #projectRecordPage .project-record-fields label:first-child{
    grid-column:auto;
  }

  #projectRecordPage .project-record-actions{
    align-items:stretch;
    flex-direction:column;
  }
}


/* ==========================================================================
   PORTFOLIO — COMPLETED CUSTOMER ASSETS
   ========================================================================== */
#managedPortfolioPage{background:#f7f9fb!important;}
#managedPortfolioPage .managed-portfolio-body{padding-top:20px!important;padding-bottom:72px!important;}

#managedPortfolioPage .managed-portfolio-metrics{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;
}
#managedPortfolioPage .managed-portfolio-metrics article{
  padding:12px 14px;border:1px solid #dfe6eb;border-radius:11px;background:#fff;
}
#managedPortfolioPage .managed-portfolio-metrics span{
  display:block;margin-bottom:6px;color:#788998;font-size:9px;font-weight:800;
}
#managedPortfolioPage .managed-portfolio-metrics strong{
  color:#102a43;font-size:21px;line-height:1;font-weight:800;
}

#managedPortfolioPage .managed-portfolio-toolbar{
  display:flex;justify-content:flex-end;margin-bottom:14px;
}
#managedPortfolioPage .managed-portfolio-toolbar label{
  display:grid;gap:5px;width:min(320px,100%);
}
#managedPortfolioPage .managed-portfolio-toolbar label span{
  color:#64748b;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;
}
#managedPortfolioPage .managed-portfolio-toolbar input{
  box-sizing:border-box;width:100%;height:40px;padding:0 11px;border:1px solid #cfd9e1;
  border-radius:9px;background:#fff;color:#24384d;
}

#managedPortfolioPage .managed-portfolio-list{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
}
#managedPortfolioPage .managed-asset-card{
  box-sizing:border-box;padding:15px;border:1px solid #dce4ea;border-radius:13px;
  background:#fff;box-shadow:0 1px 2px rgba(15,39,66,.025);
}
#managedPortfolioPage .managed-asset-main{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
}
#managedPortfolioPage .managed-asset-kicker{
  display:block;margin-bottom:5px;color:#d96713;font-size:8.5px;font-weight:900;letter-spacing:.07em;
}
#managedPortfolioPage .managed-asset-main strong{
  display:block;color:#102a43;font-size:13px;font-weight:800;
}
#managedPortfolioPage .managed-asset-main p{
  margin:4px 0 0;color:#687b8b;font-size:10.5px;line-height:1.45;
}
#managedPortfolioPage .managed-asset-status{
  display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border:1px solid #c7dfce;
  border-radius:999px;background:#eef8f1;color:#237445;font-size:8.5px;font-weight:900;text-transform:uppercase;
}
#managedPortfolioPage .managed-asset-meta{
  display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;
}
#managedPortfolioPage .managed-asset-meta span{
  display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border:1px solid #e1e7ec;
  border-radius:999px;background:#f8fafb;color:#617384;font-size:9.5px;
}
#managedPortfolioPage .managed-asset-actions{
  display:grid;grid-template-columns:minmax(0,1fr) var(--ui-control-h);gap:8px;
  margin-top:13px;padding-top:12px;border-top:1px solid #edf1f4;
}
#managedPortfolioPage .managed-asset-open-project{width:100%;}
#managedPortfolioPage .managed-asset-open-property{
  width:var(--ui-control-h)!important;min-width:var(--ui-control-h)!important;
  height:var(--ui-control-h)!important;min-height:var(--ui-control-h)!important;padding:0!important;
}
#managedPortfolioPage .managed-portfolio-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:240px;color:#718392;text-align:center;
}
#managedPortfolioPage .managed-portfolio-empty strong{color:#3d5266;font-size:13px;}
#managedPortfolioPage .managed-portfolio-empty span{margin-top:5px;font-size:11px;}

@media(max-width:1000px){
  #managedPortfolioPage .managed-portfolio-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
  #managedPortfolioPage .managed-portfolio-metrics{grid-template-columns:1fr;}
  #managedPortfolioPage .managed-portfolio-list{grid-template-columns:1fr;}
}


/* ==========================================================================
   MANAGED ASSET MODEL — MULTIPLE PROJECTS PER PROPERTY
   ========================================================================== */

#projectsPage .project-card-name{
  display:block;
  margin:0 0 4px;
  color:#d96713;
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}

#projectRecordPage .project-name-field{
  grid-column:1 / -1;
}

#managedPortfolioPage .managed-asset-actions{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) var(--ui-control-h)!important;
}

#managedPortfolioPage .managed-asset-projects{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #edf1f4;
}

#managedPortfolioPage .managed-asset-project-list{
  display:grid;
  gap:7px;
}

#managedPortfolioPage .managed-asset-project-row{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:48px;
  padding:8px 10px;
  border:1px solid #e1e7ec;
  border-radius:9px;
  background:#f8fafb;
  color:#24384d;
  text-align:left;
  cursor:pointer;
}

#managedPortfolioPage .managed-asset-project-row:hover{
  border-color:#cbd6de;
  background:#fff;
}

#managedPortfolioPage .managed-asset-project-row > span:first-child{
  display:grid;
  gap:3px;
  min-width:0;
}

#managedPortfolioPage .managed-asset-project-row strong{
  color:#21384e;
  font-size:11px;
  font-weight:800;
}

#managedPortfolioPage .managed-asset-project-row small{
  color:#728393;
  font-size:9.5px;
}

#managedPortfolioPage .managed-asset-projects-loading{
  padding:12px;
  color:#7b8b99;
  font-size:10.5px;
  text-align:center;
}

@media(max-width:760px){
  #managedPortfolioPage .managed-asset-actions{
    grid-template-columns:1fr 1fr!important;
  }
  #managedPortfolioPage .managed-asset-open-property{
    grid-column:1 / -1;
    width:100%!important;
  }
}

/* PROJECTS — ACTIVE WORKSPACE + COMPLETED ARCHIVE */
#projectsPage .projects-view-tabs{display:flex;gap:4px;width:max-content;margin:0 0 16px;padding:4px;border:1px solid #dfe6eb;border-radius:10px;background:#eef2f5}
#projectsPage .projects-view-tab{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#66798a;font-size:10.5px;font-weight:800;cursor:pointer}
#projectsPage .projects-view-tab span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#dde5ea;font-size:9px}
#projectsPage .projects-view-tab.active{background:#fff;color:#18354d;box-shadow:0 1px 2px rgba(15,39,66,.07)} #projectsPage .projects-view-tab.active span{background:#fff2e8;color:#c75c0d}
#projectsPage .projects-board{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#projectsPage .projects-completed-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px} #projectsPage .projects-completed-toolbar>div{display:grid;gap:3px}
#projectsPage .projects-completed-toolbar>div strong{color:#18354d;font-size:13px} #projectsPage .projects-completed-toolbar>div span{color:#718392;font-size:10.5px}
#projectsPage .projects-completed-toolbar label{display:grid;gap:5px;width:min(310px,100%)} #projectsPage .projects-completed-toolbar label>span{color:#64748b;font-size:9px;font-weight:900;text-transform:uppercase}
#projectsPage .projects-completed-toolbar input{box-sizing:border-box;width:100%;height:38px;padding:0 11px;border:1px solid #cfd9e1;border-radius:9px;background:#fff}
#projectsPage .projects-completed-list{display:grid;gap:7px}
#projectsPage .completed-project-row{display:grid;grid-template-columns:minmax(240px,2fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(130px,.9fr) var(--ui-control-h);align-items:center;gap:14px;padding:11px 12px;border:1px solid #dfe6eb;border-radius:10px;background:#fff}
#projectsPage .completed-project-name{display:block;margin-bottom:3px;color:#d96713;font-size:8.5px;font-weight:900;text-transform:uppercase} #projectsPage .completed-project-primary strong{display:block;color:#1d354b;font-size:11.5px}
#projectsPage .completed-project-primary p{overflow:hidden;margin:3px 0 0;color:#748594;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap} #projectsPage .completed-project-detail{display:grid;gap:3px}
#projectsPage .completed-project-detail span{color:#82919e;font-size:8.5px;font-weight:800;text-transform:uppercase} #projectsPage .completed-project-detail strong{color:#40566a;font-size:10px}
@media(max-width:900px){#projectsPage .completed-project-row{grid-template-columns:minmax(0,1fr) var(--ui-control-h)}#projectsPage .completed-project-detail{display:none}}
@media(max-width:700px){#projectsPage .projects-completed-toolbar{align-items:stretch;flex-direction:column}#projectsPage .projects-completed-toolbar label{width:100%}}


/* ==========================================================================
   PHASE 2U — SHARED WORKSPACE TOOLBAR + FULL CONTENT RAIL
   Authoritative for Properties / Opportunities / Projects.
   ========================================================================== */

.workspace-head-actions{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:12px!important;
  flex:0 0 auto!important;
  min-width:0!important;
  margin:0!important;
}

.workspace-search-wrap,
.workspace-owner-filter-wrap{
  display:grid!important;
  gap:5px!important;
  margin:0!important;
  min-width:0!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}

.workspace-search-wrap{
  width:300px!important;
}

.workspace-owner-filter-wrap{
  width:190px!important;
}

.workspace-search-wrap > span,
.workspace-owner-filter-wrap > span{
  display:block!important;
  margin:0!important;
  color:#64748b!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}

.workspace-search-wrap input,
.workspace-owner-filter-wrap select{
  box-sizing:border-box!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid #cbd5e1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#334155!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
  outline:none!important;
}

.workspace-search-wrap input:focus,
.workspace-owner-filter-wrap select:focus{
  border-color:#F7941D!important;
  box-shadow:0 0 0 3px rgba(247,148,29,.12)!important;
}

/* Properties: controls and cards occupy the SAME 1320px content rail as header. */
#measurementHistory .history-tools{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:18px var(--app-content-inset) 12px!important;
}

#measurementHistory .properties-toolbar-main{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
}

#measurementHistory .properties-status-filters{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  width:100%!important;
  margin-top:10px!important;
}

#measurementHistory #historyEmpty{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:8px var(--app-content-inset) 18px!important;
}

#measurementHistory #historyList.app-page-body{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 var(--app-content-inset) 70px!important;
}

#measurementHistory #historyList > .properties-ops-card,
#measurementHistory #historyList > .history-card{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  justify-self:stretch!important;
}

/* Projects: page-level controls own search/filter; archive has no duplicate toolbar. */
#projectsPage .projects-completed-toolbar{
  align-items:flex-start!important;
  justify-content:flex-start!important;
}

#projectsPage .projects-completed-toolbar label{
  display:none!important;
}

/* Opportunity legacy classes inherit the exact same dimensions. */
#salesPipelineModal .pipeline-head-actions.workspace-head-actions{
  align-items:flex-end!important;
}

#salesPipelineModal .pipeline-search-wrap.workspace-search-wrap input{
  width:100%!important;
  max-width:none!important;
}

/* Header geometry: controls can shrink, but never push title off the shared rail. */
#measurementHistory .properties-head-actions,
#projectsPage .projects-head-actions,
#salesPipelineModal .pipeline-head-actions{
  max-width:min(510px,46vw)!important;
}

@media(max-width:900px){
  .app-page-header{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .workspace-head-actions{
    width:100%!important;
    max-width:none!important;
    justify-content:flex-start!important;
  }

  .workspace-search-wrap{
    width:min(360px,100%)!important;
  }

  .workspace-owner-filter-wrap{
    width:min(220px,100%)!important;
  }
}

@media(max-width:620px){
  .workspace-head-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .workspace-search-wrap,
  .workspace-owner-filter-wrap{
    width:100%!important;
  }

  #measurementHistory .history-tools{
    padding-left:var(--app-page-gutter)!important;
    padding-right:var(--app-page-gutter)!important;
  }

  #measurementHistory #historyList.app-page-body{
    padding-left:var(--app-page-gutter)!important;
    padding-right:var(--app-page-gutter)!important;
  }

  #measurementHistory #historyEmpty{
    padding-left:var(--app-page-gutter)!important;
    padding-right:var(--app-page-gutter)!important;
  }
}


/* ==========================================================================
   PHASE 2V — PORTFOLIO SHARED WORKSPACE PATTERN
   ========================================================================== */

#managedPortfolioPage .managed-portfolio-head-actions{
  max-width:min(510px,46vw)!important;
}

#managedPortfolioPage .managed-portfolio-body{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:var(--app-content-inset)!important;
  padding-right:var(--app-content-inset)!important;
}

#managedPortfolioPage .managed-portfolio-metrics{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

#managedPortfolioPage .managed-portfolio-list{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

#managedPortfolioPage .managed-asset-card{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}

#managedPortfolioPage .managed-portfolio-empty{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

@media(max-width:1000px){
  #managedPortfolioPage .managed-portfolio-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:700px){
  #managedPortfolioPage .managed-portfolio-list{
    grid-template-columns:minmax(0,1fr)!important;
  }

  #managedPortfolioPage .managed-portfolio-head-actions{
    max-width:none!important;
  }
}


/* ==========================================================================
   PHASE 2W — DEDICATED MANAGED ASSET RECORD
   ========================================================================== */

#managedAssetRecordPage{
  background:#f7f9fb;
}

#managedAssetRecordPage .managed-asset-record-head-actions{
  display:flex;
  align-items:center;
  gap:9px;
}

#managedAssetRecordPage .managed-asset-record-body{
  display:grid;
  gap:16px;
}

#managedAssetRecordPage .managed-asset-record-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

#managedAssetRecordPage .managed-asset-record-metrics article{
  display:grid;
  gap:4px;
  min-height:68px;
  padding:13px 14px;
  border:1px solid #dfe6eb;
  border-radius:10px;
  background:#fff;
}

#managedAssetRecordPage .managed-asset-record-metrics span{
  color:#7b8b99;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

#managedAssetRecordPage .managed-asset-record-metrics strong{
  color:#17344d;
  font-size:17px;
  line-height:1.2;
}

#managedAssetRecordPage .managed-asset-record-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

#managedAssetRecordPage .managed-asset-record-card{
  padding:16px;
  border:1px solid #dfe6eb;
  border-radius:11px;
  background:#fff;
}

#managedAssetRecordPage .managed-asset-project-history-card{
  grid-column:1 / -1;
}

#managedAssetRecordPage .managed-asset-record-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

#managedAssetRecordPage .managed-asset-record-card-head h3{
  margin:3px 0 0;
  color:#18354d;
  font-size:15px;
}

#managedAssetRecordPage .managed-asset-record-kicker{
  color:#d96713;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

#managedAssetRecordPage .managed-asset-record-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0;
}

#managedAssetRecordPage .managed-asset-record-details div{
  min-width:0;
}

#managedAssetRecordPage .managed-asset-record-details dt{
  margin:0 0 4px;
  color:#83919d;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

#managedAssetRecordPage .managed-asset-record-details dd{
  margin:0;
  overflow-wrap:anywhere;
  color:#31495e;
  font-size:11px;
  font-weight:700;
}

#managedAssetRecordPage .managed-asset-relationship-copy{
  display:grid;
  gap:12px;
  color:#617587;
  font-size:11px;
  line-height:1.5;
}

#managedAssetRecordPage .managed-asset-relationship-copy p{
  margin:0;
}

#managedAssetRecordPage .managed-asset-opportunity-state{
  width:max-content;
  max-width:100%;
  padding:7px 10px;
  border-radius:999px;
  background:#f1f5f8;
  color:#536b7d;
  font-size:9.5px;
  font-weight:800;
}

#managedAssetRecordPage .managed-asset-record-projects{
  display:grid;
  gap:7px;
}

#managedAssetRecordPage .managed-asset-record-project{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  padding:10px 11px;
  border:1px solid #e1e7ec;
  border-radius:9px;
  background:#f9fbfc;
  color:#263f54;
  text-align:left;
  cursor:pointer;
}

#managedAssetRecordPage .managed-asset-record-project:hover{
  border-color:#cbd6de;
  background:#fff;
}

#managedAssetRecordPage .managed-asset-record-project-main{
  display:grid;
  gap:3px;
  min-width:0;
}

#managedAssetRecordPage .managed-asset-record-project-main strong{
  font-size:11px;
  font-weight:850;
}

#managedAssetRecordPage .managed-asset-record-project-main small{
  overflow:hidden;
  color:#7a8b99;
  font-size:9.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#managedAssetRecordPage .managed-asset-record-project-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

#managedAssetRecordPage .managed-asset-record-project-meta b{
  color:#314a60;
  font-size:10px;
}

#managedAssetRecordPage .managed-asset-record-project-meta em{
  font-style:normal;
}

#managedAssetRecordPage .managed-asset-record-empty{
  padding:18px;
  border:1px dashed #d8e0e6;
  border-radius:9px;
  color:#7a8b99;
  font-size:10.5px;
  text-align:center;
}

@media(max-width:900px){
  #managedAssetRecordPage .managed-asset-record-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #managedAssetRecordPage .managed-asset-record-grid{
    grid-template-columns:1fr;
  }
  #managedAssetRecordPage .managed-asset-project-history-card{
    grid-column:auto;
  }
}

@media(max-width:620px){
  #managedAssetRecordPage .managed-asset-record-head-actions{
    width:100%;
    flex-wrap:wrap;
  }
  #managedAssetRecordPage .managed-asset-record-metrics{
    grid-template-columns:1fr;
  }
  #managedAssetRecordPage .managed-asset-record-details{
    grid-template-columns:1fr;
  }
  #managedAssetRecordPage .managed-asset-record-project-meta b{
    display:none;
  }
}


/* ==========================================================================
   PHASE 2X — PROPERTY VS PROJECT RESPONSIBILITY SPLIT
   ========================================================================== */

#projectRecordPage .project-job-photos-card{
  grid-column:1 / -1;
}

#projectRecordPage .project-financial-card .property-stat-grid{
  margin-bottom:12px;
}

#projectRecordPage .project-financial-card .property-card-action{
  margin-top:12px;
}

#projectRecordPage .job-photos-card{
  padding:18px;
}

#projectRecordPage .job-photos-head{
  margin-bottom:14px;
}

#projectRecordPage .property-invoice-list{
  display:grid;
  gap:7px;
}

@media(max-width:900px){
  #projectRecordPage .project-job-photos-card{
    grid-column:auto;
  }
}

/* PHASE 2Y — PROPERTY IS THE MASTER LIFETIME RECORD */
#propertyRecordModal .property-lifetime-list{display:grid;gap:7px}
#propertyRecordModal .property-lifetime-row{
  box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;padding:10px 11px;border:1px solid #e1e7ec;border-radius:9px;background:#f9fbfc;
  color:#2e485d;text-align:left
}
#propertyRecordModal button.property-lifetime-row{cursor:pointer}
#propertyRecordModal button.property-lifetime-row:hover{background:#fff;border-color:#cbd6de}
#propertyRecordModal .property-lifetime-row>span:first-child{display:grid;gap:3px;min-width:0}
#propertyRecordModal .property-lifetime-row strong{font-size:11px}
#propertyRecordModal .property-lifetime-row small{color:#7b8b99;font-size:9.5px}
#propertyRecordModal .property-lifetime-row-meta{display:flex;align-items:center;gap:8px;flex:0 0 auto;font-size:10px;font-weight:800}
#propertyRecordModal .property-lifetime-row-meta b{padding:4px 7px;border-radius:999px;background:#eef3f6;color:#566d7f;font-size:8.5px}
@media(max-width:620px){
 #propertyRecordModal .property-lifetime-row{align-items:flex-start;flex-direction:column}
 #propertyRecordModal .property-lifetime-row-meta{width:100%;justify-content:space-between}
}


/* ==========================================================================
   PHASE 2Z — PROJECT RECORD JOB PHOTOS VISUAL RESTORE
   The polished Job Photos component was originally scoped to Property Record.
   Once Job Photos moved to Project Record, those overrides stopped applying.
   Mirror the approved component styling here instead of falling back to the
   older global Job Photos rules.
   ========================================================================== */

#projectRecordPage .job-photo-phase-tabs{
  display:inline-grid;
  grid-template-columns:repeat(3,minmax(92px,1fr));
  width:auto;
  max-width:100%;
  gap:0;
  margin:12px 0 14px;
  padding:3px;
  border:1px solid #d8e1e8;
  border-radius:10px;
  background:#eef3f6;
  position:static;
  top:auto;
}

#projectRecordPage .job-photo-phase{
  min-height:36px;
  height:36px;
  padding:0 11px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#587083;
  font-size:12px;
  font-weight:800;
  box-shadow:none;
  flex-direction:row;
  gap:8px;
}

#projectRecordPage .job-photo-phase strong{
  min-width:20px;
  width:auto;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:#dde6ec;
  font-size:10px;
  line-height:20px;
}

#projectRecordPage .job-photo-phase.active{
  background:#fff;
  color:#102a43;
  border-color:transparent;
  box-shadow:0 1px 4px rgba(15,39,66,.12);
}

#projectRecordPage .job-photo-phase.active strong{
  background:#fff1df;
  color:#a65300;
}

#projectRecordPage .job-photo-field-bar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0;
}

#projectRecordPage .job-camera-button,
#projectRecordPage .job-library-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:auto;
  min-width:0;
  min-height:var(--ui-control-h);
  height:var(--ui-control-h);
  margin:0;
  padding:0 var(--ui-control-pad-x);
  border-radius:var(--ui-control-radius);
  font-size:var(--ui-control-font);
  line-height:1;
  box-sizing:border-box;
  cursor:pointer;
}

#projectRecordPage .job-camera-button input,
#projectRecordPage .job-library-button input{
  display:none!important;
}

#projectRecordPage .job-camera-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  min-width:16px;
  font-size:16px;
  line-height:1;
  overflow:hidden;
}

#projectRecordPage .job-photo-head-actions,
#projectRecordPage .job-photo-card-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

#projectRecordPage .job-photo-head-actions button,
#projectRecordPage .job-photo-card-actions button{
  width:auto!important;
  min-height:var(--ui-control-h)!important;
  height:var(--ui-control-h)!important;
  margin:0!important;
  padding:0 var(--ui-control-pad-x)!important;
  border-radius:var(--ui-control-radius)!important;
  font-size:var(--ui-control-font)!important;
}

@media(max-width:620px){
  #projectRecordPage .job-photo-phase-tabs{
    display:grid;
    width:100%;
  }

  #projectRecordPage .job-photo-phase{
    min-height:40px;
    height:40px;
    padding:0 7px;
    gap:4px;
  }

  #projectRecordPage .job-photo-field-bar{
    display:flex;
    flex-direction:row;
  }

  #projectRecordPage .job-camera-button,
  #projectRecordPage .job-library-button{
    flex:1 1 160px;
  }
}


/* ==========================================================================
   PHASE 2ZB — PROPERTIES PAGE: PROPERTY + LIFETIME RELATIONSHIP ONLY
   ========================================================================== */

#measurementHistory .history-tools{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

#measurementHistory .properties-status-filters{
  display:inline-flex;
  gap:4px;
  padding:3px;
  border:1px solid #dbe3e9;
  border-radius:10px;
  background:#eef3f6;
}

#measurementHistory .properties-filter{
  min-height:34px;
  height:34px;
  padding:0 13px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#617588;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

#measurementHistory .properties-filter.active{
  background:#fff;
  color:#102a43;
  box-shadow:0 1px 4px rgba(15,39,66,.12);
}

#measurementHistory .history-list{
  display:grid;
  gap:12px;
}

#measurementHistory .property-lifetime-card{
  display:grid;
  gap:15px;
  padding:17px 18px;
  border:1px solid #dfe6eb;
  border-radius:13px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,39,66,.035);
}

#measurementHistory .property-lifetime-card-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

#measurementHistory .property-lifetime-identity{
  min-width:0;
}

#measurementHistory .property-lifetime-identity .history-address{
  margin:0 0 4px;
  color:#102a43;
  font-size:16px;
  font-weight:850;
  line-height:1.25;
}

#measurementHistory .property-lifetime-identity .history-customer{
  color:#6e7f8e;
  font-size:11.5px;
}

#measurementHistory .property-relationship-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:27px;
  padding:0 10px;
  border-radius:999px;
  background:#eef3f6;
  color:#536a7d;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}

#measurementHistory .property-relationship-chip.opportunity{
  background:#fff3e4;
  color:#9a5308;
}

#measurementHistory .property-relationship-chip.customer{
  background:#eaf7ef;
  color:#237246;
}

#measurementHistory .property-lifetime-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid #e5eaee;
  border-radius:10px;
  overflow:hidden;
  background:#f9fbfc;
}

#measurementHistory .property-lifetime-facts>div{
  display:grid;
  gap:4px;
  min-width:0;
  padding:10px 12px;
  border-right:1px solid #e5eaee;
}

#measurementHistory .property-lifetime-facts>div:last-child{
  border-right:0;
}

#measurementHistory .property-lifetime-facts span,
#measurementHistory .property-lifetime-footer>div>span{
  color:#83919d;
  font-size:8.5px;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}

#measurementHistory .property-lifetime-facts strong{
  overflow:hidden;
  color:#2e465a;
  font-size:11px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#measurementHistory .property-lifetime-footer{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(200px,1.25fr) auto;
  align-items:end;
  gap:15px;
}

#measurementHistory .property-lifetime-opportunity,
#measurementHistory .property-last-activity{
  display:grid;
  gap:4px;
  min-width:0;
}

#measurementHistory .property-lifetime-opportunity strong,
#measurementHistory .property-last-activity>div>span{
  color:#2f485d;
  font-size:10.5px;
  font-weight:800;
}

#measurementHistory .property-last-activity>div{
  display:flex;
  align-items:baseline;
  gap:7px;
  min-width:0;
}

#measurementHistory .property-last-activity>div>span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#measurementHistory .property-last-activity small{
  flex:0 0 auto;
  color:#8896a1;
  font-size:9.5px;
}

#measurementHistory .property-lifetime-footer .history-record{
  min-width:112px;
  white-space:nowrap;
}

@media(max-width:900px){
  #measurementHistory .property-lifetime-facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #measurementHistory .property-lifetime-facts>div:nth-child(2){
    border-right:0;
  }
  #measurementHistory .property-lifetime-facts>div:nth-child(-n+2){
    border-bottom:1px solid #e5eaee;
  }
  #measurementHistory .property-lifetime-footer{
    grid-template-columns:1fr 1fr;
  }
  #measurementHistory .property-lifetime-footer .history-record{
    grid-column:1/-1;
    justify-self:start;
  }
}

@media(max-width:620px){
  #measurementHistory .history-tools{
    align-items:stretch;
    flex-direction:column;
  }
  #measurementHistory .properties-status-filters{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    width:100%;
  }
  #measurementHistory .property-lifetime-card-main{
    align-items:flex-start;
  }
  #measurementHistory .property-lifetime-facts{
    grid-template-columns:1fr;
  }
  #measurementHistory .property-lifetime-facts>div{
    border-right:0;
    border-bottom:1px solid #e5eaee;
  }
  #measurementHistory .property-lifetime-facts>div:last-child{
    border-bottom:0;
  }
  #measurementHistory .property-lifetime-footer{
    grid-template-columns:1fr;
  }
  #measurementHistory .property-lifetime-footer .history-record{
    grid-column:auto;
    width:100%;
  }
}


/* ==========================================================================
   PHASE 2ZC — ROOF LINEAR MEASUREMENTS
   ========================================================================== */
.roof-line-editor{
  margin-top:12px;
  padding:16px;
  border:1px solid #dce4ea;
  border-radius:12px;
  background:#fff;
}
.roof-line-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.roof-line-editor-head strong{display:block;color:#102a43;font-size:14px;margin:2px 0 4px}
.roof-line-editor-head p{margin:0;max-width:680px;color:#6f7f8c;font-size:11px;line-height:1.45}
.roof-line-toolbar{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}
.roof-line-toolbar label{display:grid;gap:5px;min-width:150px}
.roof-line-toolbar label span{font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#758795}
.roof-line-toolbar select{height:38px;border:1px solid #d8e0e6;border-radius:8px;padding:0 10px;background:#fff;color:#17374f}
.roof-line-hint{margin-top:10px;padding:9px 11px;border-radius:8px;background:#f6f8fa;color:#5f7180;font-size:10.5px}
.roof-line-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:12px}
.roof-line-summary>div,.roof-line-estimating-summary>div{display:grid;gap:3px;padding:9px 10px;border:1px solid #e2e8ed;border-radius:8px;background:#fbfcfd}
.roof-line-summary span,.roof-line-estimating-summary span{font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#81909c}
.roof-line-summary strong,.roof-line-estimating-summary strong{font-size:12px;color:#18384f}
.roof-line-estimating-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}
.roof-line-estimating-summary small{font-size:8.5px;color:#82909b}
.roof-line-list{display:grid;gap:6px;margin-top:12px}
.roof-line-empty{padding:14px;border:1px dashed #d5dfe6;border-radius:9px;text-align:center;color:#7d8c97;font-size:10.5px}
.roof-line-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:9px 10px;border:1px solid #e0e7ec;border-radius:9px;background:#fff;text-align:left;cursor:pointer}
.roof-line-row.selected{border-color:#f7941d;box-shadow:0 0 0 2px rgba(247,148,29,.12)}
.roof-line-swatch{width:8px;height:30px;border-radius:99px}
.roof-line-row>span:nth-child(2){display:grid;gap:2px}
.roof-line-row strong{font-size:10.5px;color:#263f53}
.roof-line-row small{font-size:8.5px;color:#87949e}
.roof-line-row b{font-size:11px;color:#17384f}
.property-roof-lines-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}
.property-roof-lines-summary>div{display:grid;gap:3px;padding:9px;border:1px solid #e2e8ed;border-radius:8px;background:#f8fafb}
.property-roof-lines-summary span{font-size:8px;font-weight:850;text-transform:uppercase;color:#82909b}
.property-roof-lines-summary strong{font-size:11px;color:#193b53}
@media(max-width:900px){
  .roof-line-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .property-roof-lines-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .roof-line-editor-head{flex-direction:column}
  .roof-line-toolbar{display:grid;grid-template-columns:1fr 1fr}
  .roof-line-toolbar label{grid-column:1/-1}
  .roof-line-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* PHASE 2ZD — Separate roof outline editing from roof line measurement */
.roof-measurement-entry{
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
}
.roof-measurement-entry-action{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.roof-line-editor-head-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
@media(max-width:700px){
  .roof-measurement-entry-action{
    width:100%;
    align-items:flex-start;
    flex-direction:column;
  }
  .roof-line-editor-head-actions{
    width:100%;
  }
}


/* ==========================================================================
   PHASE 2ZE — ROOF MEASUREMENT WORKSPACE REDESIGN
   ========================================================================== */

#workspace{
  --roof-panel-w:410px;
}

.roof-workspace-header{
  display:grid!important;
  grid-template-columns:minmax(240px,1.2fr) minmax(460px,2fr) auto;
  align-items:center;
  gap:18px;
  padding:14px 18px!important;
  border:1px solid #dfe6ed!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(16,42,67,.04);
}

.roof-workspace-property{
  display:grid;
  gap:3px;
  min-width:0;
}

.roof-workspace-property>span{
  color:#82919d;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.08em;
}

.roof-workspace-property>strong{
  overflow:hidden;
  color:#102a43;
  font-size:17px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.roof-workspace-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.roof-workspace-metrics>div{
  display:grid;
  gap:3px;
  padding:8px 10px;
  border:1px solid #e4e9ee;
  border-radius:9px;
  background:#fafcfd;
}

.roof-workspace-metrics span{
  color:#82909c;
  font-size:8px;
  font-weight:800;
}

.roof-workspace-metrics strong{
  color:#18384f;
  font-size:11px;
  white-space:nowrap;
}

.roof-measurement-workbench{
  display:grid;
  grid-template-columns:minmax(0,1fr) var(--roof-panel-w);
  gap:14px;
  align-items:start;
  margin-top:14px;
}

.roof-workbench-map{
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe6ec!important;
  border-radius:14px!important;
  background:#fff;
  box-shadow:0 1px 3px rgba(16,42,67,.04);
}

.roof-workbench-map #map{
  min-height:620px;
  height:min(68vh,760px);
}

.roof-workbench-panel{
  display:grid;
  gap:12px;
  align-content:start;
  min-width:0;
  margin:0!important;
}

.roof-tool-mode-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:0!important;
}

.roof-tool-mode-card{
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  gap:9px;
  min-height:74px;
  padding:10px 11px;
  border:1px solid #dce4ea;
  border-radius:11px;
  background:#fff;
  color:#17384f;
  text-align:left;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(16,42,67,.03);
}

.roof-tool-mode-card:hover{
  border-color:#bfcbd5;
  background:#fbfcfd;
}

.roof-tool-mode-card.primary-mode{
  border-color:#f7941d;
  background:#fff8ef;
}

.roof-tool-mode-card>span:last-child{
  display:grid;
  gap:3px;
}

.roof-tool-mode-card strong{
  font-size:10.5px;
  color:#15364e;
}

.roof-tool-mode-card small{
  font-size:8.5px;
  line-height:1.35;
  color:#778894;
}

.roof-tool-icon{
  position:relative;
  display:block;
  width:30px;
  height:30px;
  border:1px solid #dbe4ea;
  border-radius:8px;
  background:#f7fafc;
}

.outline-icon:before{
  content:'';
  position:absolute;
  inset:7px;
  border:2px solid #214c70;
  border-radius:3px;
  transform:rotate(-7deg);
}

.outline-icon:after{
  content:'';
  position:absolute;
  width:5px;height:5px;
  top:4px;left:4px;
  border-radius:50%;
  background:#f7941d;
  box-shadow:17px 2px 0 #f7941d,3px 17px 0 #f7941d,18px 18px 0 #f7941d;
}

.line-icon:before{
  content:'';
  position:absolute;
  width:20px;
  height:2px;
  left:5px;
  top:14px;
  background:#f7941d;
  transform:rotate(-35deg);
  transform-origin:center;
}

.line-icon:after{
  content:'';
  position:absolute;
  width:6px;height:6px;
  left:3px;top:19px;
  border-radius:50%;
  background:#17384f;
  box-shadow:18px -13px 0 #17384f;
}

#roofLineEditor,
#editTools{
  margin:0!important;
  padding:15px!important;
  border:1px solid #dfe6ec!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(16,42,67,.035);
}

.roof-line-editor-head{
  align-items:flex-start!important;
  margin-bottom:10px;
}

.roof-line-editor-head strong{
  font-size:15px!important;
}

.roof-line-editor-head p{
  max-width:290px!important;
  font-size:9.5px!important;
}

.roof-line-editor-head-actions{
  gap:6px!important;
}

.roof-line-editor-head-actions button{
  min-height:34px!important;
  height:34px!important;
  padding:0 10px!important;
  font-size:9px!important;
}

.roof-line-type-native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}

.roof-line-toolbar{
  display:grid!important;
  gap:10px!important;
  margin-top:0!important;
}

.roof-line-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

.roof-line-type-card{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  min-height:42px;
  padding:0 9px;
  border:1px solid #dce4ea;
  border-radius:9px;
  background:#fff;
  color:#40596d;
  font-size:9.5px;
  font-weight:800;
  cursor:pointer;
}

.roof-line-type-card i{
  display:block;
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:#718096;
}

.roof-line-type-card[data-roof-line-type="ridge"] i{background:#ef4444}
.roof-line-type-card[data-roof-line-type="hip"] i{background:#f59e0b}
.roof-line-type-card[data-roof-line-type="valley"] i{background:#7c3aed}
.roof-line-type-card[data-roof-line-type="eave"] i{background:#2563eb}
.roof-line-type-card[data-roof-line-type="rake"] i{background:#10a36f}
.roof-line-type-card[data-roof-line-type="headwall"] i{background:#64748b}

.roof-line-type-card.active{
  border-color:#f7941d;
  background:#fff8ef;
  color:#18384f;
  box-shadow:0 0 0 2px rgba(247,148,29,.08);
}

.roof-line-primary-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

.roof-line-primary-actions button{
  min-height:38px;
  height:38px;
}

.roof-line-hint{
  margin-top:10px!important;
  padding:9px 10px!important;
  border:1px solid #e5eaf0;
  background:#f8fafc!important;
  font-size:9px!important;
}

.roof-line-summary{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  margin-top:10px!important;
}

.roof-line-summary>div{
  padding:7px 8px!important;
  border-radius:7px!important;
}

.roof-line-summary span{font-size:7.5px!important}
.roof-line-summary strong{font-size:10px!important}

.roof-line-takeoff-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #e5eaf0;
}

.roof-line-takeoff-head span{
  color:#18384f;
  font-size:10px;
  font-weight:900;
}

.roof-line-takeoff-head small{
  color:#8896a2;
  font-size:8px;
}

.roof-line-estimating-summary{
  gap:6px!important;
  margin-top:6px!important;
}

.roof-line-estimating-summary>div{
  padding:8px!important;
  border-radius:7px!important;
}

.roof-line-list{
  gap:5px!important;
  max-height:210px;
  overflow:auto;
  padding-right:2px;
}

.roof-line-row{
  padding:8px!important;
  border-radius:8px!important;
}

.roof-line-swatch{
  width:5px!important;
  height:26px!important;
}

.roof-line-row strong{font-size:9.5px!important}
.roof-line-row small{font-size:7.5px!important}
.roof-line-row b{font-size:10px!important}

@media(max-width:1100px){
  #workspace{--roof-panel-w:360px}
  .roof-workspace-header{
    grid-template-columns:1fr auto;
  }
  .roof-workspace-metrics{
    grid-column:1/-1;
    grid-row:2;
  }
}

@media(max-width:900px){
  .roof-measurement-workbench{
    grid-template-columns:1fr;
  }
  .roof-workbench-map #map{
    min-height:480px;
    height:58vh;
  }
  .roof-workspace-header{
    grid-template-columns:1fr auto;
  }
  .roof-tool-mode-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:620px){
  .roof-workspace-header{
    grid-template-columns:1fr;
  }
  .roof-workspace-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-column:auto;
  }
  .roof-workspace-header>#startOverProperty{
    justify-self:start;
  }
  .roof-tool-mode-grid,
  .roof-line-type-grid,
  .roof-line-summary{
    grid-template-columns:1fr 1fr!important;
  }
  .roof-line-primary-actions{
    grid-template-columns:1fr;
  }
}


/* ==========================================================================
   PHASE 2ZF — PERSISTENT ROOF TOOL TABS + POLISHED OUTLINE EDITOR
   ========================================================================== */

#workspace .roof-workbench-panel{gap:10px}

#workspace .roof-tool-tabs{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:0;
}

#workspace .roof-tool-tab{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:68px;
  padding:10px 12px;
  border:1px solid #d9e2e9;
  border-radius:11px;
  background:#fff;
  color:#17384f;
  text-align:left;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(16,42,67,.03);
}

#workspace .roof-tool-tab:hover{border-color:#b9c8d4;background:#fbfcfd}
#workspace .roof-tool-tab.active{
  border-color:#136ef6;
  background:linear-gradient(180deg,#eef6ff 0%,#f7fbff 100%);
  box-shadow:0 0 0 1px rgba(19,110,246,.06);
}
#workspace .roof-tool-tab>span:last-child{display:grid;gap:3px;min-width:0}
#workspace .roof-tool-tab strong{color:#123752;font-size:10.5px;font-weight:900}
#workspace .roof-tool-tab small{color:#738694;font-size:8.2px;line-height:1.3}
#workspace .roof-tool-tab.active strong{color:#0f62db}
#workspace .roof-tool-tab.active .roof-tool-icon{border-color:#bcd8ff;background:#fff}

#workspace #editTools{
  display:grid;
  gap:12px;
  padding:16px!important;
  min-height:0;
}
#workspace #editTools.hidden{display:none!important}

#workspace .roof-edit-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
#workspace .roof-edit-panel-head>div{min-width:0}
#workspace .roof-edit-panel-head .eyebrow{margin-bottom:3px}
#workspace .roof-edit-panel-head strong{display:block;color:#102a43;font-size:15px;line-height:1.2}
#workspace .roof-edit-panel-head p{margin:5px 0 0;color:#718391;font-size:9.4px;line-height:1.45}
#workspace .roof-outline-help{min-height:32px!important;height:32px!important;padding:0 9px!important;font-size:8.5px!important;white-space:nowrap}

#workspace .roof-outline-tool-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
#workspace .roof-outline-tool{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:60px;
  padding:8px 9px;
  border:1px solid #dce4ea;
  border-radius:9px;
  background:#fff;
  color:#17384f;
  text-align:left;
  cursor:pointer;
}
#workspace .roof-outline-tool>span:last-child{display:grid;gap:2px}
#workspace .roof-outline-tool strong{font-size:9.3px;font-weight:900}
#workspace .roof-outline-tool small{color:#7e8c97;font-size:7.7px;line-height:1.2}
#workspace .roof-outline-tool-icon{
  display:grid;
  place-items:center;
  width:28px;height:28px;
  border:1px solid #dbe4ea;border-radius:7px;
  background:#f7fafc;color:#234a69;
  font-size:17px;font-style:normal;font-weight:500;
}
#workspace .select-tool-icon{position:relative}
#workspace .select-tool-icon:before{
  content:'';position:absolute;width:10px;height:14px;
  border-left:2px solid currentColor;border-top:2px solid currentColor;
  transform:rotate(-20deg) skew(-8deg);
}
#workspace .roof-outline-tool.active-tool{
  border-color:#136ef6!important;background:#136ef6!important;color:#fff!important;
  box-shadow:0 4px 12px rgba(19,110,246,.16)!important;
}
#workspace .roof-outline-tool.active-tool strong,
#workspace .roof-outline-tool.active-tool small{color:#fff!important}
#workspace .roof-outline-tool.active-tool .roof-outline-tool-icon{
  border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.14);color:#fff;
}

#workspace .roof-outline-guidance{
  display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:9px;
  padding:10px 11px;border:1px solid #cfe2fb;border-radius:9px;background:#eef6ff;
}
#workspace .roof-outline-guidance-icon{
  display:grid;place-items:center;width:20px;height:20px;
  border:1px solid #5fa4ff;border-radius:50%;color:#136ef6;font-size:10px;font-weight:900;
}
#workspace .roof-outline-guidance>div{display:grid;gap:2px}
#workspace .roof-outline-guidance strong{color:#234d71;font-size:9px}
#workspace .roof-outline-guidance span:last-child{color:#55738c;font-size:8.5px;line-height:1.4}

#workspace .roof-outline-history-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
#workspace .roof-outline-history-actions button{min-height:35px;height:35px;font-size:8.8px}

#workspace .roof-outline-info{padding-top:11px;border-top:1px solid #e5eaee}
#workspace .roof-outline-info-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
#workspace .roof-outline-info-head strong{color:#163750;font-size:10.5px}
#workspace .roof-outline-info-head span{color:#8996a1;font-size:7.8px}
#workspace .roof-outline-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#workspace .roof-outline-info-grid>div{
  display:grid;gap:3px;padding:9px;border:1px solid #e2e8ed;border-radius:8px;background:#fafcfd;
}
#workspace .roof-outline-info-grid span{color:#82909c;font-size:7.5px}
#workspace .roof-outline-info-grid strong{color:#173850;font-size:10px}

#workspace .roof-outline-success{
  display:grid;grid-template-columns:25px minmax(0,1fr);align-items:start;gap:9px;
  padding:10px 11px;border:1px solid #ccebd6;border-radius:9px;background:#effaf3;
}
#workspace .roof-outline-success-icon{
  display:grid;place-items:center;width:21px;height:21px;border-radius:50%;
  background:#149447;color:#fff;font-size:11px;font-weight:900;
}
#workspace .roof-outline-success>div{display:grid;gap:2px}
#workspace .roof-outline-success strong{color:#176a36;font-size:9px}
#workspace .roof-outline-success span:last-child{color:#4e765f;font-size:8.3px;line-height:1.4}
#workspace .roof-outline-update{width:100%;min-height:38px}

#workspace .roof-outline-tips{
  padding:11px;border:1px solid #d5e6fa;border-radius:9px;background:#f2f8ff;
}
#workspace .roof-outline-tips strong{color:#1764c0;font-size:9.5px}
#workspace .roof-outline-tips ul{margin:6px 0 0 16px;padding:0;color:#52718c;font-size:8.2px;line-height:1.55}

#workspace #roofLineEditor{min-height:0}
#workspace #roofLineEditor.hidden{display:none!important}

@media(max-width:1100px){
  #workspace .roof-outline-tool-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  #workspace .roof-outline-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
  #workspace .roof-tool-tabs{grid-template-columns:1fr}
  #workspace .roof-outline-tool-grid{grid-template-columns:1fr}
  #workspace .roof-outline-info-grid{grid-template-columns:1fr}
}


/* ==========================================================================
   PHASE 2ZG — CONTEXTUAL BRUSH CONTROLS + SECONDARY STRUCTURES
   ========================================================================== */

#workspace .roof-outline-tool-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

#workspace .structure-tool-icon{
  position:relative;
}
#workspace .structure-tool-icon:before,
#workspace .structure-tool-icon:after{
  content:'';
  position:absolute;
  border:2px solid currentColor;
  border-radius:2px;
}
#workspace .structure-tool-icon:before{width:12px;height:10px;left:5px;top:6px}
#workspace .structure-tool-icon:after{width:8px;height:7px;right:4px;bottom:5px}

#workspace .roof-brush-size-wrap{
  padding:9px 10px;
  border:1px solid #d8e7f8;
  border-radius:9px;
  background:#f4f9ff;
}
#workspace .roof-brush-size-wrap.hidden{display:none!important}
#workspace .roof-brush-size-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
#workspace .roof-brush-size-label{
  flex:0 0 auto;
  color:#49677f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
#workspace .roof-brush-size-options{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}
#workspace .roof-brush-size-option{
  min-height:29px;
  height:29px;
  padding:0 9px;
  border:1px solid #cad8e4;
  border-radius:999px;
  background:#fff;
  color:#47647b;
  font-size:8.3px;
  font-weight:850;
  cursor:pointer;
}
#workspace .roof-brush-size-option.active{
  border-color:#136ef6;
  background:#136ef6;
  color:#fff;
}

#workspace .roof-structure-controls{
  display:grid;
  gap:8px;
  padding:10px 11px;
  border:1px solid #f0d88d;
  border-radius:9px;
  background:#fffaf0;
}
#workspace .roof-structure-controls.hidden{display:none!important}
#workspace .roof-structure-progress{
  display:grid;
  gap:2px;
}
#workspace .roof-structure-progress span{
  color:#9a7114;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.05em;
}
#workspace .roof-structure-progress strong{
  color:#725411;
  font-size:9px;
}
#workspace .roof-structure-actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px;
}
#workspace .roof-structure-actions button{
  min-height:34px;
  height:34px;
  font-size:8.5px;
}

#workspace .roof-secondary-structures{
  padding:10px;
  border:1px solid #e1e7ec;
  border-radius:9px;
  background:#fbfcfd;
}
#workspace .roof-secondary-structures.hidden{display:none!important}
#workspace .roof-secondary-structures-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:6px;
}
#workspace .roof-secondary-structures-head span{
  color:#405d73;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}
#workspace .roof-secondary-structures-head strong{
  display:grid;
  place-items:center;
  min-width:20px;
  height:20px;
  border-radius:999px;
  background:#eef3f6;
  color:#355269;
  font-size:8px;
}
#workspace .roof-secondary-structure-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 0;
  border-top:1px solid #e7ecef;
}
#workspace .roof-secondary-structure-row>span{
  display:grid;
  gap:2px;
}
#workspace .roof-secondary-structure-row strong{font-size:8.8px;color:#304d63}
#workspace .roof-secondary-structure-row small{font-size:7.5px;color:#84929d}
#workspace .roof-secondary-structure-row button{
  min-height:28px!important;
  height:28px!important;
  padding:0 8px!important;
  font-size:7.5px!important;
}

@media(max-width:620px){
  #workspace .roof-outline-tool-grid{grid-template-columns:1fr!important}
  #workspace .roof-brush-size-controls{align-items:flex-start;flex-direction:column}
}


/* ==========================================================================
   PHASE 2ZI — FOCUSED ROOF EDIT WORKSPACE
   ========================================================================== */

/* Entering from Property Record > Open Measurement / Edit Roof is a focused
   measurement task. Estimating, customer capture and delivery actions remain
   part of Property Analysis / Property Record workflows. */
.focused-roof-edit-mode #results.roof-edit-sales-hidden,
.focused-roof-edit-mode #propertyActions.roof-edit-sales-hidden,
.focused-roof-edit-mode .roof-edit-context-hidden{
  display:none!important;
}

.roof-workspace-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

#returnToPropertyFromRoof{
  border-color:#b8c8d4;
  background:#fff;
  color:#17384f;
  white-space:nowrap;
}

#returnToPropertyFromRoof:hover{
  border-color:#136ef6;
  color:#0f62db;
}

.focused-roof-edit-mode #workspace{
  padding-bottom:28px;
}

.focused-roof-edit-mode #workspace .roof-measurement-workbench{
  margin-bottom:0;
}

@media(max-width:620px){
  .roof-workspace-header-actions{
    width:100%;
    justify-content:flex-start;
  }
}


/* ==========================================================================
   PHASE 2ZJ — PROPERTY ANALYSIS ALIGNMENT + AUTOCOMPLETE VISIBILITY
   ========================================================================== */

#analysisHero.standardized-page-intro{
  position:relative;
  overflow:visible!important;
  text-align:left!important;
  padding-top:42px!important;
  padding-bottom:54px!important;
}

#analysisHero .analysis-hero-inner{
  width:min(100%,1040px);
  margin:0 auto;
  position:relative;
  overflow:visible!important;
}

#analysisHero .analysis-hero-heading{
  max-width:900px;
  margin:0;
  padding:0;
}

#analysisHero .analysis-hero-heading .eyebrow{
  margin:0 0 8px;
}

#analysisHero .analysis-hero-heading h1{
  margin:0;
  max-width:900px;
  font-size:32px;
  line-height:1.08;
  letter-spacing:-.8px;
  color:#102a43;
}

#analysisHero .analysis-hero-heading p{
  max-width:790px;
  margin:10px 0 0;
  color:#647789;
  font-size:13px;
  line-height:1.5;
}

#analysisHero .analysis-mode-switch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin:22px 0 0;
  padding:4px;
  border:1px solid #d4dee6;
  border-radius:10px;
  background:#edf3f7;
}

#analysisHero .analysis-mode-switch button{
  min-height:38px;
  height:38px;
  padding:0 16px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#536b7d;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}

#analysisHero .analysis-mode-switch button.active{
  background:#f7941d;
  color:#fff;
  box-shadow:0 2px 7px rgba(247,148,29,.22);
}

#analysisHero .analysis-entry-region{
  width:min(760px,100%);
  margin-top:14px;
  position:relative;
  z-index:20;
  overflow:visible!important;
}

#analysisHero #singlePropertyEntry,
#analysisHero #addressMount{
  width:100%;
  max-width:none!important;
  margin:0!important;
  position:relative;
  overflow:visible!important;
}

#analysisHero .analysis-search-label{
  display:grid;
  gap:2px;
  margin:0 0 7px;
}

#analysisHero .analysis-search-label strong{
  color:#29465d;
  font-size:10px;
  font-weight:900;
}

#analysisHero .analysis-search-label span{
  color:#7b8d9b;
  font-size:9.5px;
}

#analysisHero #addressMount gmp-place-autocomplete{
  display:block;
  width:100%!important;
  max-width:none!important;
  min-height:50px;
  position:relative;
  z-index:1000;
  overflow:visible!important;
  font-size:15px;
}

/* Google's new Places autocomplete can paint its prediction list inside the
   custom element rather than a body-level .pac-container. These rules keep
   every ancestor in the search stack from clipping that surface. */
#analysisHero.address-search-open,
#analysisHero.address-search-open .analysis-hero-inner,
#analysisHero.address-search-open .analysis-entry-region,
#analysisHero.address-search-open #singlePropertyEntry,
#analysisHero.address-search-open #addressMount,
#analysisHero.address-search-open gmp-place-autocomplete{
  overflow:visible!important;
}

/* Reserve room while suggestions are open. This prevents the next application
   region from visually cutting across the prediction list in browser builds
   where the web component's suggestions participate in its own box. */
#analysisHero.address-search-open{
  min-height:610px;
}

#analysisHero .territory-start-card{
  width:100%;
  max-width:760px;
  margin:0;
}

#analysisHero + .app-page-view{
  position:relative;
  z-index:1;
}

@media(max-width:760px){
  #analysisHero.standardized-page-intro{
    padding-top:26px!important;
    padding-bottom:34px!important;
  }
  #analysisHero .analysis-hero-inner{
    width:100%;
  }
  #analysisHero .analysis-hero-heading h1{
    font-size:27px!important;
  }
  #analysisHero .analysis-mode-switch{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  #analysisHero .analysis-mode-switch button{
    padding:0 9px;
  }
  #analysisHero .analysis-entry-region{
    width:100%;
  }
  #analysisHero.address-search-open{
    min-height:590px;
  }
}


/* ==========================================================================
   PHASE 2ZK — PROPERTIES VISUAL REFRESH
   Approved direction: muted, image-led, cleaner hierarchy.
   ========================================================================== */

#measurementHistory .history-list{
  display:grid;
  gap:10px;
}

#measurementHistory .property-visual-row{
  display:grid;
  grid-template-columns:92px minmax(240px,1.6fr) 116px 116px 138px minmax(190px,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:108px;
  padding:11px 14px;
  border:1px solid #dfe6eb;
  border-radius:13px;
  background:#fff;
  box-shadow:0 1px 3px rgba(15,39,66,.035);
}

#measurementHistory .property-list-thumb{
  width:92px;
  height:74px;
  overflow:hidden;
  border:1px solid #dce4ea;
  border-radius:9px;
  background:#edf2f5;
}

#measurementHistory .property-list-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

#measurementHistory .property-list-thumb-fallback{
  position:relative;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#e9eef2,#f7f9fb);
}

#measurementHistory .property-list-thumb-roof,
#measurementHistory .property-list-thumb-fallback:after{
  content:'';
  display:block;
  position:absolute;
}

#measurementHistory .property-list-thumb-roof{
  width:44px;
  height:34px;
  border:2px solid #8799a8;
  border-radius:3px;
  transform:rotate(-5deg);
  background:#dce4ea;
}

#measurementHistory .property-list-thumb-fallback:after{
  width:26px;
  height:26px;
  border-left:2px solid #8799a8;
  border-top:2px solid #8799a8;
  transform:rotate(45deg);
}

#measurementHistory .property-visual-identity{
  min-width:0;
}

#measurementHistory .property-visual-title-row{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}

#measurementHistory .property-visual-identity .history-address{
  overflow:hidden;
  color:#0d56ae;
  font-size:14px;
  font-weight:900;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#measurementHistory .property-visual-identity .history-customer{
  margin-top:5px;
  color:#586f82;
  font-size:10.5px;
  font-weight:700;
}

#measurementHistory .property-visual-owner{
  margin-top:3px;
  color:#8b98a2;
  font-size:8.8px;
}

#measurementHistory .property-relationship-chip{
  flex:0 0 auto;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  font-size:8.5px;
  font-weight:900;
  white-space:nowrap;
}

#measurementHistory .property-relationship-chip.prospect{
  background:#eaf4fb;
  color:#3c6d8b;
}

#measurementHistory .property-relationship-chip.opportunity{
  background:#fff1d7;
  color:#8a5a08;
}

#measurementHistory .property-relationship-chip.customer{
  background:#e3f5ea;
  color:#2f7650;
}

#measurementHistory .property-visual-metric{
  display:grid;
  align-content:center;
  gap:4px;
  min-height:66px;
  padding:10px 12px;
  border:1px solid #edf1f4;
  border-radius:9px;
  background:#f7f9fb;
}

#measurementHistory .property-visual-metric strong{
  color:#173a66;
  font-size:15px;
  font-weight:900;
}

#measurementHistory .property-visual-metric span{
  color:#748696;
  font-size:8.3px;
  font-weight:700;
}

#measurementHistory .metric-value{
  background:#f4faf6;
}

#measurementHistory .metric-value strong{
  color:#24724a;
}

#measurementHistory .property-visual-activity{
  display:grid;
  gap:3px;
  min-width:0;
}

#measurementHistory .property-visual-activity>span{
  color:#7e8d99;
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

#measurementHistory .property-visual-activity strong{
  overflow:hidden;
  color:#27465f;
  font-size:10.5px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#measurementHistory .property-visual-activity small{
  color:#86939e;
  font-size:8.5px;
}

#measurementHistory .property-open-button{
  min-width:112px;
  height:38px!important;
  min-height:38px!important;
  padding:0 13px!important;
  border-color:#cbdbe8!important;
  color:#0d56ae!important;
  font-size:9.5px!important;
  white-space:nowrap;
}

#measurementHistory .property-open-button:hover{
  border-color:#8db7dc!important;
  background:#f4f9fd!important;
}

@media(max-width:1180px){
  #measurementHistory .property-visual-row{
    grid-template-columns:82px minmax(220px,1.5fr) 102px 102px 125px minmax(160px,1fr) auto;
    gap:10px;
  }
  #measurementHistory .property-list-thumb{
    width:82px;
    height:68px;
  }
}

@media(max-width:900px){
  #measurementHistory .property-visual-row{
    grid-template-columns:74px minmax(0,1fr) auto;
    gap:10px;
  }
  #measurementHistory .property-list-thumb{
    width:74px;
    height:64px;
  }
  #measurementHistory .property-visual-identity{
    grid-column:2;
  }
  #measurementHistory .property-open-button{
    grid-column:3;
    grid-row:1;
  }
  #measurementHistory .property-visual-metric,
  #measurementHistory .property-visual-activity{
    grid-column:auto;
  }
  #measurementHistory .property-visual-metric{
    min-height:58px;
  }
  #measurementHistory .metric-roof{grid-column:1}
  #measurementHistory .metric-pitch{grid-column:2}
  #measurementHistory .metric-value{grid-column:3}
  #measurementHistory .property-visual-activity{
    grid-column:1/-1;
    padding-top:8px;
    border-top:1px solid #edf1f4;
  }
}

@media(max-width:620px){
  #measurementHistory .property-visual-row{
    grid-template-columns:68px minmax(0,1fr);
    padding:10px;
  }
  #measurementHistory .property-list-thumb{
    width:68px;
    height:60px;
  }
  #measurementHistory .property-open-button{
    grid-column:1/-1;
    grid-row:auto;
    width:100%;
  }
  #measurementHistory .property-visual-title-row{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
  #measurementHistory .property-visual-identity .history-address{
    white-space:normal;
  }
  #measurementHistory .property-visual-metric{
    grid-column:auto!important;
  }
  #measurementHistory .metric-roof{grid-column:1!important}
  #measurementHistory .metric-pitch{grid-column:2!important}
  #measurementHistory .metric-value{grid-column:1/-1!important}
}


/* ==========================================================================
   PHASE 2ZL — ROOF LINE V1.1 / COMPLETE TAKEOFF
   ========================================================================== */

.roof-line-type-card[data-roof-line-type="sidewall"] i{
  background:#0f766e;
}

.roof-line-type-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.roof-line-summary{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.roof-takeoff-inputs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:9px;
  padding-top:10px;
  border-top:1px solid #e5eaf0;
}

.roof-takeoff-inputs label{
  display:grid;
  gap:5px;
  color:#607487;
  font-size:8px;
  font-weight:850;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.roof-takeoff-inputs label>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  overflow:hidden;
  border:1px solid #dce4ea;
  border-radius:8px;
  background:#fff;
}

.roof-takeoff-inputs input{
  width:100%;
  min-width:0;
  height:34px;
  padding:0 9px;
  border:0;
  outline:0;
  background:transparent;
  color:#17384f;
  font-size:10px;
  font-weight:850;
}

.roof-takeoff-inputs small{
  padding-right:9px;
  color:#8a98a4;
  font-size:7.5px;
  font-weight:800;
  text-transform:none;
}

.roof-line-estimating-summary.expanded{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

@media(max-width:1100px){
  .roof-line-type-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .roof-line-summary{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:620px){
  .roof-takeoff-inputs{
    grid-template-columns:1fr;
  }
  .roof-line-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .roof-line-estimating-summary.expanded{
    grid-template-columns:1fr!important;
  }
}


/* PHASE 2ZM — Update Estimate available from both measurement tabs */
#workspace .roof-line-save-wrap{
  display:grid;
  gap:5px;
  margin-top:11px;
  padding-top:11px;
  border-top:1px solid #e5eaee;
}

#workspace .roof-line-update-estimate{
  width:100%;
  min-height:38px;
}

#workspace .roof-line-save-wrap small{
  color:#7d8d99;
  font-size:7.8px;
  line-height:1.4;
  text-align:center;
}


/* ==========================================================================
   PHASE 2ZN — ASSISTED LINE PROPOSALS + COMPACT PANEL
   ========================================================================== */

#workspace .compact-line-editor{
  display:grid;
  gap:8px;
  align-content:start;
  max-height:690px;
  overflow:hidden;
}

#workspace .compact-line-editor.hidden{display:none!important}

#workspace .roof-line-editor-head.compact{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

#workspace .roof-line-editor-head.compact p{
  margin-top:3px!important;
  max-width:230px;
}

#workspace .roof-line-editor-head-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

#workspace .roof-line-editor-head-actions button{
  min-height:31px!important;
  height:31px!important;
  padding:0 9px!important;
  font-size:8px!important;
}

#workspace .roof-line-suggestion-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 9px;
  border:1px solid #cfe1f6;
  border-radius:8px;
  background:#f4f8fd;
}

#workspace .roof-line-suggestion-bar.hidden{display:none!important}
#workspace .roof-line-suggestion-bar>div:first-child{display:grid;gap:2px}
#workspace .roof-line-suggestion-bar strong{color:#174e84;font-size:9px}
#workspace .roof-line-suggestion-bar small{color:#6e8397;font-size:7px}
#workspace .roof-line-suggestion-bar>div:last-child{display:flex;gap:5px}
#workspace .roof-line-suggestion-bar button{min-height:28px!important;height:28px!important;padding:0 8px!important;font-size:7.5px!important}

#workspace .roof-line-toolbar.compact{gap:6px!important}

#workspace .roof-line-type-grid.compact{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
}

#workspace .roof-line-type-grid.compact .roof-line-type-card{
  min-height:31px!important;
  padding:5px 6px!important;
  border-radius:7px!important;
}

#workspace .roof-line-type-grid.compact .roof-line-type-card i{
  width:4px!important;
  height:16px!important;
}

#workspace .roof-line-type-grid.compact .roof-line-type-card span{
  font-size:7.5px!important;
}

#workspace .roof-line-primary-actions{
  gap:5px!important;
}
#workspace .roof-line-primary-actions button{
  min-height:32px!important;
  height:32px!important;
}

#workspace .roof-line-hint{
  margin:0!important;
  min-height:30px;
  padding:7px 8px!important;
  line-height:1.35;
}

#workspace .roof-line-collapsible{
  border:1px solid #e1e7ec;
  border-radius:8px;
  background:#fbfcfd;
}

#workspace .roof-line-collapsible>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:34px;
  padding:0 9px;
  cursor:pointer;
  list-style:none;
}

#workspace .roof-line-collapsible>summary::-webkit-details-marker{display:none}
#workspace .roof-line-collapsible>summary span{color:#233f57;font-size:8.5px;font-weight:900}
#workspace .roof-line-collapsible>summary small{color:#8796a2;font-size:7px}
#workspace .roof-line-collapsible[open]>summary{border-bottom:1px solid #e8edf1}

#workspace .roof-line-collapsible .roof-line-summary,
#workspace .roof-line-collapsible .roof-line-estimating-summary,
#workspace .roof-line-collapsible .roof-takeoff-inputs{
  margin:7px!important;
}

#workspace .roof-line-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 1px;
}
#workspace .roof-line-list-head span{color:#233f57;font-size:8.5px;font-weight:900}
#workspace .roof-line-list-head small{color:#83929e;font-size:7px}

#workspace .compact-line-editor .roof-line-list{
  max-height:165px!important;
  min-height:66px;
  overflow:auto;
  padding-right:2px;
}

#workspace .roof-line-row-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:4px;
  border:1px solid #dde5eb;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}

#workspace .roof-line-row-wrap+.roof-line-row-wrap{margin-top:4px}

#workspace .roof-line-row-wrap.suggested{
  border-style:dashed;
  background:#fbfdff;
}

#workspace .roof-line-row-wrap.selected{
  border-color:#91bde9;
  box-shadow:0 0 0 1px rgba(19,110,246,.08);
}

#workspace .roof-line-row-wrap .roof-line-row{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  width:100%;
}

#workspace .roof-line-confirm-one{
  margin-right:6px;
  min-height:26px;
  height:26px;
  padding:0 7px;
  border:1px solid #b9d6ef;
  border-radius:6px;
  background:#eef7ff;
  color:#145c99;
  font-size:7px;
  font-weight:900;
  cursor:pointer;
}

#workspace .compact-line-editor .roof-line-save-wrap{
  position:sticky;
  bottom:0;
  z-index:3;
  margin-top:0!important;
  padding-top:8px!important;
  background:#fff;
}

#workspace .compact-line-editor .roof-line-save-wrap small{
  display:none;
}

@media(max-width:900px){
  #workspace .compact-line-editor{
    max-height:none;
    overflow:visible;
  }
  #workspace .compact-line-editor .roof-line-list{
    max-height:240px!important;
  }
}

@media(max-width:620px){
  #workspace .roof-line-type-grid.compact{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* ==========================================================================
   PHASE 2ZO — ROOF POLYGON REGULARIZATION
   ========================================================================== */

/* The geometry-only roof-line suggestion experiment was removed from the
   user-facing workflow. Keep the compact manual line editor. */
#workspace .roof-line-suggestion-bar{
  display:none!important;
}


/* ==========================================================================
   PHASE 2ZQ — PROPERTY CONFIRMATION STATE
   Before Analyze Property, show only the selected address, a large centered
   satellite image, Analyze Property, and Start Over.
   ========================================================================== */

#workspace.property-confirmation-state{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

#workspace.property-confirmation-state .roof-workspace-header{
  display:block!important;
  max-width:980px;
  margin:0 auto!important;
  padding:18px 20px!important;
  text-align:center;
}

#workspace.property-confirmation-state .roof-workspace-property>span{
  display:none!important;
}

#workspace.property-confirmation-state .roof-workspace-property>strong{
  font-size:20px;
  line-height:1.3;
  white-space:normal;
  text-overflow:clip;
}

#workspace.property-confirmation-state .roof-workspace-metrics,
#workspace.property-confirmation-state .roof-workspace-header-actions{
  display:none!important;
}

#workspace.property-confirmation-state .roof-measurement-workbench{
  display:grid!important;
  grid-template-columns:minmax(0,980px)!important;
  justify-content:center;
  gap:12px;
  margin-top:12px;
}

#workspace.property-confirmation-state .roof-workbench-map{
  width:100%;
}

#workspace.property-confirmation-state .roof-workbench-map #map{
  min-height:500px;
  height:min(58vh,620px);
}

#workspace.property-confirmation-state #mapStatus{
  display:none!important;
}

#workspace.property-confirmation-state .roof-workbench-panel{
  display:block!important;
  width:100%;
}

#workspace.property-confirmation-state .roof-workbench-panel > *:not(#confirmTools){
  display:none!important;
}

#workspace.property-confirmation-state #confirmTools{
  display:grid!important;
  grid-template-columns:minmax(240px,1.2fr) minmax(180px,.8fr);
  gap:10px;
  width:min(620px,100%);
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

#workspace.property-confirmation-state #confirmTools button{
  min-height:48px;
  margin:0!important;
  font-size:14px;
  font-weight:800;
}

#workspace.property-confirmation-state #confirmHouse{
  background:#f7941d!important;
  border-color:#f7941d!important;
  color:#fff!important;
}

@media(max-width:760px){
  #workspace.property-confirmation-state{
    max-width:none;
  }

  #workspace.property-confirmation-state .roof-workspace-header{
    padding:14px 12px!important;
  }

  #workspace.property-confirmation-state .roof-workspace-property>strong{
    font-size:17px;
  }

  #workspace.property-confirmation-state .roof-workbench-map #map{
    min-height:380px;
    height:52vh;
  }

  #workspace.property-confirmation-state #confirmTools{
    grid-template-columns:1fr;
  }
}

/* P91_REMEASURE_ROOF */
.property-roof-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media(max-width:760px){.property-roof-actions{width:100%;justify-content:flex-start}.property-roof-actions button{flex:1 1 auto}}

/* P91_REMEASURE_CONFIRM_MODAL */
.p91-confirm-modal{position:fixed;inset:0;z-index:10050;background:rgba(9,18,31,.48);display:flex;align-items:center;justify-content:center;padding:24px}
.p91-confirm-modal.hidden{display:none}
.p91-confirm-card{width:min(520px,100%);background:#fff;border:1px solid #dce4ed;border-radius:16px;box-shadow:0 24px 70px rgba(9,18,31,.22);padding:26px}
.p91-confirm-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#c91d2e;margin-bottom:8px}
.p91-confirm-card h2{margin:0 0 12px;font-size:24px;color:#071b33}
.p91-confirm-card p{margin:0 0 10px;line-height:1.5;color:#24364b}
.p91-confirm-card .p91-confirm-muted{color:#64748b;font-size:14px}
.p91-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
@media(max-width:600px){.p91-confirm-actions{flex-direction:column-reverse}.p91-confirm-actions button{width:100%}}

/* P91_NATIVE_AGENT_V1 */
.p91-agent-launch{position:fixed;right:24px;bottom:24px;z-index:10020;border:0;border-radius:999px;background:#071b33;color:#fff;box-shadow:0 14px 34px rgba(7,27,51,.25);padding:13px 16px;display:flex;align-items:center;gap:9px;font:700 14px/1 inherit;cursor:pointer}.p91-agent-launch:hover{transform:translateY(-1px)}.p91-agent-spark{font-size:18px}.p91-agent-mic{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:10px}.p91-agent-backdrop{position:fixed;inset:0;z-index:10025;background:rgba(7,27,51,.18)}.p91-agent-drawer{position:fixed;right:0;top:0;bottom:0;z-index:10030;width:min(430px,100vw);background:#fff;box-shadow:-18px 0 50px rgba(7,27,51,.18);display:flex;flex-direction:column}.p91-agent-drawer.hidden,.p91-agent-backdrop.hidden{display:none}.p91-agent-head{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 18px;border-bottom:1px solid #e4eaf0}.p91-agent-head h2{margin:2px 0 0;color:#071b33;font-size:23px}.p91-agent-eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#c91d2e}.p91-agent-head>button{border:0;background:transparent;color:#526276;font-size:30px;cursor:pointer}.p91-agent-intro{margin:18px 20px 4px;padding:16px;border-radius:13px;background:#f6f8fb;display:flex;flex-direction:column;gap:5px;color:#071b33}.p91-agent-intro span{font-size:13px;color:#64748b}.p91-agent-messages{flex:1;overflow:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.p91-agent-message{max-width:88%;padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-wrap}.p91-agent-message.assistant{align-self:flex-start;background:#f1f5f9;color:#24364b;border-bottom-left-radius:5px}.p91-agent-message.user{align-self:flex-end;background:#071b33;color:#fff;border-bottom-right-radius:5px}.p91-agent-message.status{align-self:flex-start;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.p91-agent-compose{padding:14px 18px;display:flex;gap:9px;border-top:1px solid #e4eaf0}.p91-agent-compose textarea{flex:1;resize:none;border:1px solid #ccd6e0;border-radius:11px;padding:11px 12px;font:inherit;min-height:46px}.p91-agent-compose textarea:focus{outline:2px solid rgba(7,27,51,.12);border-color:#8292a6}.p91-agent-compose button{align-self:stretch}.p91-agent-foot{padding:0 20px 16px;text-align:center;color:#94a3b8;font-size:11px}@media(max-width:600px){.p91-agent-launch{right:14px;bottom:14px}.p91-agent-drawer{width:100vw}}

.p91-agent-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#fff}
.p91-agent-mode{border:1px solid #d0d5dd;background:#fff;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer}
.p91-agent-mode.active{border:2px solid #f57c00;background:#fff8f1}
.p91-agent-voice-bar{display:flex;align-items:center;gap:10px;margin:10px 16px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa}
.p91-agent-voice-bar.hidden{display:none}
.p91-agent-voice-bar div{display:flex;flex:1;flex-direction:column}
.p91-agent-voice-bar small{color:#667085;margin-top:2px}
.p91-agent-voice-dot{width:10px;height:10px;border-radius:50%;background:#f57c00;box-shadow:0 0 0 5px rgba(245,124,0,.12)}
#p91AgentVoiceStop{border:1px solid #d0d5dd;background:#fff;border-radius:8px;padding:7px 10px;cursor:pointer}
.p91-agent-message.user::before{content:"You";display:block;font-size:10px;font-weight:800;text-transform:uppercase;opacity:.6;margin-bottom:3px}
.p91-agent-message.assistant::before{content:"Ask SQ";display:block;font-size:10px;font-weight:800;text-transform:uppercase;opacity:.6;margin-bottom:3px}

/* ===== SquaredRoots shared listing filters v8.3 ===== */
.shared-listing-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:14px 0 10px;border-top:1px solid rgba(15,23,42,.08);border-bottom:1px solid rgba(15,23,42,.08);margin:4px 0 10px}.shared-listing-filters label{display:flex;flex-direction:column;gap:6px;min-width:160px}.shared-listing-filters label>span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.shared-listing-filters select,.shared-listing-filters input{height:40px;border:1px solid #d8dee7;border-radius:10px;background:#fff;padding:0 12px;font:inherit;color:#172033}.shared-listing-filters select:focus,.shared-listing-filters input:focus{outline:2px solid rgba(217,103,19,.18);border-color:#d96713}.shared-filter-search{flex:1 1 240px}.shared-filter-clear{height:40px;white-space:nowrap}.shared-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 12px}.shared-active-filters::before{content:'Active filters';font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin-right:2px}.shared-filter-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(217,103,19,.24);background:rgba(217,103,19,.07);color:#7c3a08;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.properties-listing-filters{padding-top:8px}.campaign-listing-filters,.project-listing-filters{margin-top:16px}.projects-view-tabs+.project-listing-filters{margin-top:12px}@media(max-width:760px){.shared-listing-filters{align-items:stretch}.shared-listing-filters label,.shared-filter-search{min-width:100%;flex-basis:100%}.shared-filter-clear{width:100%}}

/* ==========================================================================\n   v8.3.1 — PROPERTIES COMPACT COMMAND BAR\n   Filters are temporary UI; Ask SQ retains the persistent right rail.\n   ========================================================================== */
#measurementHistory .properties-head-actions{display:none!important}
#measurementHistory .properties-compact-tools{position:relative;padding-top:14px!important;padding-bottom:8px!important}
#measurementHistory .properties-command-bar{display:flex;align-items:center;gap:10px;width:100%;position:relative}
#measurementHistory .properties-command-search{flex:1 1 auto;min-width:220px}
#measurementHistory .properties-command-search input{box-sizing:border-box;width:100%;height:42px;border:1px solid #d8dee7;border-radius:11px;background:#fff;padding:0 14px;font:inherit;color:#172033;box-shadow:0 1px 2px rgba(15,23,42,.03)}
#measurementHistory .properties-command-search input:focus{outline:2px solid rgba(217,103,19,.15);border-color:#d96713}
#measurementHistory .properties-filter-anchor{position:relative;flex:0 0 auto}
#measurementHistory .properties-filter-trigger{height:42px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:0 14px!important}
#measurementHistory .properties-filter-trigger::before{content:'⌄';font-size:14px;transform:rotate(90deg);display:inline-block;color:#52637a}
#measurementHistory .properties-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#d96713;color:#fff;font-size:11px;font-weight:800;line-height:1}
#measurementHistory .properties-result-count{margin-left:auto;white-space:nowrap;font-size:13px;font-weight:800;color:#536174}
#measurementHistory .properties-filter-popover{position:absolute;z-index:40;top:50px;right:0;width:min(560px,calc(100vw - 48px));box-sizing:border-box;background:#fff;border:1px solid #dfe5ec;border-radius:14px;box-shadow:0 18px 48px rgba(15,23,42,.16);padding:16px}
#measurementHistory .properties-filter-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #edf0f4}
#measurementHistory .properties-filter-popover-head>div{display:flex;flex-direction:column;gap:2px}
#measurementHistory .properties-filter-popover-head strong{font-size:16px;color:#132238}
#measurementHistory .properties-filter-popover-head span{font-size:12px;color:#718096}
#measurementHistory .properties-filter-close{border:0;background:transparent;color:#64748b;font-size:24px;line-height:1;padding:0 2px;cursor:pointer}
#measurementHistory .properties-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:15px 0}
#measurementHistory .properties-filter-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}
#measurementHistory .properties-filter-grid label>span{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#64748b}
#measurementHistory .properties-filter-grid select{box-sizing:border-box;width:100%;height:40px;border:1px solid #d8dee7;border-radius:10px;background:#fff;padding:0 11px;font:inherit;color:#172033}
#measurementHistory .properties-filter-grid select:focus{outline:2px solid rgba(217,103,19,.15);border-color:#d96713}
#measurementHistory .properties-filter-popover-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:13px;border-top:1px solid #edf0f4}
#measurementHistory .properties-filter-popover-actions button{height:38px}
#measurementHistory .shared-active-filters{padding:10px 0 2px!important;gap:7px!important}
#measurementHistory .shared-active-filters::before{display:none!important}
#measurementHistory .shared-filter-chip{border-color:#dbe6f3;background:#edf5ff;color:#174f8f;padding:6px 10px}
#measurementHistory .properties-status-filters,#measurementHistory .properties-listing-filters{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){#measurementHistory .properties-command-bar{flex-wrap:wrap}#measurementHistory .properties-command-search{flex-basis:100%}#measurementHistory .properties-result-count{margin-left:0}#measurementHistory .properties-filter-popover{right:auto;left:0;width:min(520px,calc(100vw - 32px))}#measurementHistory .properties-filter-grid{grid-template-columns:1fr}}

/* Ask SQ v8.3.8 — persistent voice session indicator */
.p91-agent-listening-status{display:inline-flex;align-items:center;gap:6px;margin-left:2px;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.12);font-size:11px;font-weight:800;letter-spacing:.01em}
.p91-agent-listening-status.hidden{display:none}
.p91-agent-listening-dot{width:7px;height:7px;border-radius:50%;background:#f57c00;box-shadow:0 0 0 0 rgba(245,124,0,.42);animation:p91-agent-listening-pulse 1.6s ease-out infinite}
.p91-agent-launch.voice-listening{box-shadow:0 14px 34px rgba(7,27,51,.25),0 0 0 3px rgba(245,124,0,.16)}
@keyframes p91-agent-listening-pulse{0%{box-shadow:0 0 0 0 rgba(245,124,0,.42)}70%{box-shadow:0 0 0 7px rgba(245,124,0,0)}100%{box-shadow:0 0 0 0 rgba(245,124,0,0)}}

/* v8.4.5 Property Document Intelligence — lazy/isolated */
.property-documents-card{grid-column:1/-1}
.property-documents-intro{margin:4px 0 0;color:#66788a;font-size:13px;line-height:1.5;max-width:820px}
.property-document-workspace{margin-top:16px;padding-top:16px;border-top:1px solid #e8edf1}
.property-document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.property-document-toolbar>div{display:grid;gap:3px}.property-document-toolbar strong{font-size:13px;color:#263f57}.property-document-toolbar span{font-size:12px;color:#7a8998}
.property-document-upload-panel{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(260px,1.35fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid #e5e9ed;border-radius:12px;background:#fafbfc;margin:0 0 14px}
.property-document-upload-panel label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#4c6074}
.property-document-upload-panel input,.property-document-upload-panel select{height:40px;border:1px solid #d9e0e6;border-radius:8px;background:#fff;padding:0 10px;color:#1e3449}
.property-document-upload-actions{display:flex;gap:8px;align-items:center}
.property-document-groups{display:grid;gap:14px}
.property-document-group{border:1px solid #e8edf1;border-radius:12px;overflow:hidden;background:#fff}
.property-document-group-head{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;background:#f8fafb;border-bottom:1px solid #e8edf1}
.property-document-group-head strong{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#43586d}.property-document-group-head span{font-size:12px;color:#7d8b98}
.property-document-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px;border-bottom:1px solid #edf1f4}.property-document-item:last-child{border-bottom:0}
.property-document-name{font-weight:700;color:#263f57;font-size:13px}.property-document-meta{margin-top:3px;color:#82909d;font-size:11px}.property-document-summary{margin-top:7px;color:#516579;font-size:12px;line-height:1.45;max-width:850px}
.property-document-actions{display:flex;gap:6px;align-items:start}.property-document-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#6c7c8b}.property-document-status.ready{color:#16794b}.property-document-status.processing{color:#b56a11}.property-document-status.failed{color:#a33a32}
.property-document-empty{padding:20px;border:1px dashed #d8e0e6;border-radius:12px;color:#7d8b98;text-align:center;font-size:13px}
@media(max-width:850px){.property-document-toolbar{align-items:flex-start;flex-direction:column}.property-document-upload-panel{grid-template-columns:1fr}.property-document-upload-actions{justify-content:flex-end}.property-document-item{grid-template-columns:1fr}.property-document-actions{justify-content:flex-start}}

/* v8.4.7 unified property knowledge repository */
.property-document-source{display:inline-flex;align-items:center;margin-right:7px;padding:2px 6px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;background:#eef2f5;color:#617384;vertical-align:1px}
.property-document-source.proposal,.property-document-source.quick_estimate{background:#fff3e5;color:#a45b0a}
.property-document-source.upload{background:#edf4f8;color:#45677f}
.property-document-status.system{color:#16794b}

/* v8.4.9 document integrity guardrail */
.property-document-alert{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;margin-top:10px;padding:11px 12px;border:1px solid #f0c98f;border-radius:10px;background:#fff9f0;color:#5b4631;font-size:12px;line-height:1.45}
.property-document-alert-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#d96713;color:#fff;font-size:13px;font-weight:800}
.property-document-alert-body>strong{display:block;margin-bottom:3px;color:#6c441e;font-size:12px}
.property-document-alert-reason{margin-top:4px;color:#80684f;font-size:11px}
.property-document-alert-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
@media(max-width:650px){.property-document-alert{grid-template-columns:1fr}.property-document-alert-icon{display:none}.property-document-alert-actions{align-items:stretch}.property-document-alert-actions button{flex:1}}


/* ==========================================================================
   v8.5.9 — Standard property-section preview + collection pattern
   Property Detail shows only immediate context; depth lives in a dedicated
   listing surface. This avoids mini-pagination and giant expanded cards.
   ========================================================================== */
.property-section-head-actions{display:flex;align-items:center;gap:10px}
.property-documents-card .property-section-head-actions .primary{min-height:38px}
.property-documents-card .property-documents-intro{margin-bottom:14px}
.property-document-preview-group{border-radius:10px}
.property-section-view-all{
  width:100%;margin-top:10px;padding:10px 12px;border:0;border-top:1px solid #e8edf1;
  background:transparent;color:#37566f;font:inherit;font-size:12px;font-weight:800;text-align:left;cursor:pointer
}
.property-section-view-all:hover{color:#102a43;background:#f8fafb}
.property-section-view-all.hidden{display:none}
.property-collection-page{position:fixed;top:var(--app-header-height,72px);right:0;bottom:0;left:0;z-index:5100;background:#f5f7fa;overflow:auto}
.property-collection-page.hidden{display:none}
body.property-collection-open{overflow:hidden}
.property-collection-shell{min-height:100vh}
.property-collection-head{
  position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:22px 28px;background:#fff;border-bottom:1px solid #dce3ea
}
.property-collection-head h2{margin:3px 0 4px;color:#102a43;font-size:24px}
.property-collection-head p{margin:0;color:#718093;font-size:13px}
.property-collection-toolbar{
  display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,260px) minmax(160px,220px);
  gap:12px;max-width:1200px;margin:22px auto 0;padding:0 24px
}
.property-collection-toolbar label{display:grid;gap:5px;color:#617488;font-size:11px;font-weight:800}
.property-collection-toolbar input,.property-collection-toolbar select{
  height:40px;border:1px solid #d8e0e7;border-radius:8px;background:#fff;padding:0 11px;color:#18324d;font:inherit
}
.property-collection-resultbar{max-width:1200px;margin:12px auto 0;padding:0 24px;color:#6d7e8e;font-size:12px}
.property-collection-list{
  display:grid;gap:9px;max-width:1200px;margin:12px auto 0;padding:0 24px 24px
}
.property-collection-list>.property-document-item,
.property-collection-list>.property-task-row,
.property-collection-list>.property-collection-activity,
.property-collection-list>.property-lifetime-row{
  background:#fff;border:1px solid #e1e7ec;border-radius:10px;padding:13px
}
.property-collection-activity strong{display:block;color:#18324d;font-size:13px}
.property-collection-activity p{margin:4px 0;color:#526174;font-size:12px}
.property-collection-activity span{display:block;color:#8a96a3;font-size:11px}
.property-collection-pagination{
  display:flex;align-items:center;justify-content:center;gap:12px;max-width:1200px;margin:0 auto;padding:0 24px 30px
}
.property-collection-pagination span{min-width:110px;text-align:center;color:#718093;font-size:12px;font-weight:700}
@media(max-width:760px){
  .property-section-head-actions{align-items:flex-end;flex-direction:column}
  .property-collection-head{padding:16px;align-items:center}
  .property-collection-toolbar{grid-template-columns:1fr;padding:0 16px}
  .property-collection-resultbar,.property-collection-list,.property-collection-pagination{padding-left:16px;padding-right:16px}
}


/* ==========================================================================
   v8.5.13 — Simplified Property Collection Header
   Two-row hierarchy: orange collection title + property address.
   ========================================================================== */
.property-collection-head{
  align-items:flex-start;
  padding-top:18px;
  padding-bottom:18px;
}
.property-collection-heading{display:grid;gap:5px;min-width:0}
.property-collection-title{
  color:#d96713;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  line-height:1.2;
}
.property-collection-address{
  display:block;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:#18324d;
  font:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
  text-align:left;
  cursor:pointer;
}
.property-collection-address:hover{text-decoration:underline;text-underline-offset:2px}
.property-collection-toolbar{margin-top:24px}
@media(max-width:700px){
  .property-collection-head{gap:14px}
  .property-collection-address{font-size:13px}
}


/* ==========================================================================
   v8.6.0 — Shared Listing Architecture: Properties reference implementation
   Search → Filter → Sort → Active Filter Chips → Result Count → Listing
   ========================================================================== */
#measurementHistory .properties-command-bar{
  align-items:center;
}
#measurementHistory .properties-sort-control{
  position:relative;
  display:inline-flex;
  align-items:center;
  margin:0;
}
#measurementHistory .properties-sort-control select{
  height:42px;
  min-width:188px;
  padding:0 34px 0 12px;
  border:1px solid #d8dee7;
  border-radius:10px;
  background:#fff;
  color:#172033;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
#measurementHistory .properties-sort-control select:focus{
  outline:2px solid rgba(217,103,19,.18);
  border-color:#d96713;
}
#measurementHistory .shared-filter-chip-removable{
  appearance:none;
  cursor:pointer;
  font:inherit;
}
#measurementHistory .shared-filter-chip-removable:hover{
  border-color:rgba(217,103,19,.42);
  background:rgba(217,103,19,.11);
}
#measurementHistory .shared-filter-chip-removable:focus-visible{
  outline:2px solid rgba(217,103,19,.22);
  outline-offset:2px;
}
#measurementHistory .shared-filter-chip-x{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:15px;
  height:15px;
  border-radius:999px;
  font-size:14px;
  line-height:1;
  opacity:.72;
}
#measurementHistory .properties-result-count{
  margin-left:auto;
  white-space:nowrap;
}
@media(max-width:900px){
  #measurementHistory .properties-sort-control{
    flex:1 1 180px;
  }
  #measurementHistory .properties-sort-control select{
    width:100%;
    min-width:0;
  }
  #measurementHistory .properties-result-count{
    margin-left:0;
  }
}
@media(max-width:620px){
  #measurementHistory .properties-sort-control{
    flex-basis:100%;
  }
}


/* ==========================================================================
   v8.6.1 — Properties listing row discipline + filter affordance
   ========================================================================== */
#measurementHistory .properties-compact-tools{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
}
#measurementHistory .properties-command-bar{
  grid-column:1!important;
}
#measurementHistory .shared-active-filters{
  grid-column:1!important;
  width:100%!important;
  box-sizing:border-box;
  margin-top:0!important;
}
#measurementHistory .properties-filter-trigger::before{
  content:'▾'!important;
  transform:none!important;
  font-size:12px;
}


/* ===== SquaredRoots v8.7.0: Shared Listing Architecture — Tasks ===== */
#tasksPage{
  position:fixed;
  inset:var(--app-header-height,72px) 0 0;
  z-index:30;
  overflow:auto;
  background:#f6f8fb;
  padding:0 40px 48px;
  box-sizing:border-box;
}
#tasksPage.hidden{display:none!important}
#tasksPage .standardized-page-head{
  max-width:1320px;
  margin:0 auto;
  padding:34px 0 22px;
}
#tasksPage .standardized-page-title .eyebrow{color:#d96713}
.tasks-listing-tools{
  max-width:1320px;
  margin:0 auto;
}
.tasks-command-bar{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  border-top:1px solid #e4e9ef;
  border-bottom:1px solid #e4e9ef;
  padding:8px 0;
}
.tasks-command-search{flex:1 1 420px}
.tasks-command-search input{
  box-sizing:border-box;
  width:100%;
  height:42px;
  border:1px solid #d8dee7;
  border-radius:10px;
  background:#fff;
  padding:0 13px;
  font:inherit;
  color:#172033;
}
.tasks-command-search input:focus,
.tasks-sort-control select:focus,
.tasks-filter-grid select:focus{
  outline:2px solid rgba(217,103,19,.15);
  border-color:#d96713;
}
.tasks-filter-anchor{position:relative;flex:0 0 auto}
.tasks-filter-trigger{
  height:42px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  padding:0 14px!important;
}
.tasks-filter-trigger::before{
  content:'⌄';
  font-size:14px;
  color:#52637a;
}
.tasks-filter-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:#d96713;
  color:#fff;
  font-size:11px;
  font-weight:800;
}
.tasks-filter-popover{
  position:absolute;
  z-index:50;
  top:50px;
  right:0;
  width:min(580px,calc(100vw - 48px));
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dfe5ec;
  border-radius:14px;
  box-shadow:0 18px 48px rgba(15,23,42,.16);
  padding:16px;
}
.tasks-filter-popover-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid #edf0f4;
}
.tasks-filter-popover-head>div{display:flex;flex-direction:column;gap:2px}
.tasks-filter-popover-head strong{font-size:16px;color:#132238}
.tasks-filter-popover-head span{font-size:12px;color:#718096}
.tasks-filter-close{
  border:0;
  background:transparent;
  color:#64748b;
  font-size:24px;
  line-height:1;
  padding:0 2px;
  cursor:pointer;
}
.tasks-filter-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
  padding:15px 0;
}
.tasks-filter-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}
.tasks-filter-grid label>span{
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#64748b;
}
.tasks-filter-grid select{
  box-sizing:border-box;
  width:100%;
  height:40px;
  border:1px solid #d8dee7;
  border-radius:10px;
  background:#fff;
  padding:0 11px;
  font:inherit;
  color:#172033;
}
.tasks-filter-popover-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  padding-top:13px;
  border-top:1px solid #edf0f4;
}
.tasks-sort-control{flex:0 0 190px}
.tasks-sort-control select{
  width:100%;
  height:42px;
  border:1px solid #d8dee7;
  border-radius:10px;
  background:#fff;
  padding:0 11px;
  font:inherit;
  color:#172033;
}
.tasks-result-count{
  margin-left:auto;
  white-space:nowrap;
  font-size:13px;
  font-weight:800;
  color:#536174;
}
#tasksActiveFilters{padding:11px 0 4px}
#tasksActiveFilters .shared-filter-chip{cursor:pointer}
.tasks-listing-body{
  max-width:1320px;
  margin:18px auto 0;
  padding:0!important;
}
.tasks-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.task-listing-row{
  display:grid;
  grid-template-columns:34px minmax(280px,1.8fr) repeat(4,minmax(110px,.72fr)) auto;
  gap:16px;
  align-items:center;
  background:#fff;
  border:1px solid #e3e8ef;
  border-radius:14px;
  padding:15px 16px;
  box-shadow:0 2px 8px rgba(15,23,42,.035);
}
.task-listing-row.overdue{border-left:4px solid #b45309}
.task-listing-row.today{border-left:4px solid #d96713}
.task-listing-row.completed{opacity:.72}
.task-listing-primary{min-width:0}
.task-listing-title-line{display:flex;align-items:center;gap:8px;min-width:0}
.task-listing-title-line strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:15px;
  color:#172033;
}
.task-listing-primary p{
  margin:5px 0 0;
  font-size:13px;
  color:#59697d;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.task-listing-primary p span{color:#a1acb9}
.task-listing-primary small{
  display:block;
  margin-top:6px;
  color:#7a8798;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.task-listing-state{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:#eef2f6;
  color:#59697d;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.task-listing-state.overdue{background:#fff2df;color:#92400e}
.task-listing-state.today{background:rgba(217,103,19,.10);color:#9a460a}
.task-listing-state.completed{background:#edf6ef;color:#2f6b3a}
.task-listing-meta{display:flex;flex-direction:column;gap:4px;min-width:0}
.task-listing-meta span{
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#8a96a6;
}
.task-listing-meta strong{
  font-size:12px;
  color:#2f3d50;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-transform:capitalize;
}
.task-listing-open{white-space:nowrap}
.tasks-empty{
  padding:36px;
  text-align:center;
  color:#718096;
  background:#fff;
  border:1px dashed #d8dee7;
  border-radius:14px;
}
.tasks-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin-top:18px;
}
.tasks-pagination span{font-size:12px;font-weight:800;color:#64748b}
@media(max-width:1080px){
  .task-listing-row{grid-template-columns:34px minmax(250px,1.6fr) repeat(2,minmax(110px,.7fr)) auto}
  .task-listing-meta:nth-of-type(4),
  .task-listing-meta:nth-of-type(5){display:none}
}
@media(max-width:760px){
  #tasksPage{padding:0 18px 36px}
  .tasks-command-bar{flex-wrap:wrap}
  .tasks-command-search{flex-basis:100%}
  .tasks-result-count{margin-left:0}
  .tasks-sort-control{flex:1 1 180px}
  .tasks-filter-popover{right:auto;left:0;width:min(520px,calc(100vw - 36px))}
  .tasks-filter-grid{grid-template-columns:1fr}
  .task-listing-row{grid-template-columns:30px minmax(0,1fr) auto;gap:11px}
  .task-listing-meta{display:none!important}
  .task-listing-open{grid-column:2/4;justify-self:start}
}

/* v8.9.0 — shared company Documents listing */

/* v8.9.1 — Documents Repository UI */
#documentsPage{
  background:#f6f8fb;
  padding:0 40px 48px;
  box-sizing:border-box;
}
#documentsPage .standardized-page-head{
  max-width:1320px;
  margin:0 auto;
  padding:34px 0 22px;
}
#documentsPage .standardized-page-title .eyebrow{color:#d96713}

.documents-listing-tools{
  max-width:1320px;
  margin:0 auto;
  padding:0;
}
.documents-command-bar{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  border-top:1px solid #e4e9ef;
  border-bottom:1px solid #e4e9ef;
  padding:8px 0;
}
.documents-command-search{flex:1 1 460px;min-width:280px}
.documents-command-search input{
  box-sizing:border-box;
  width:100%;
  height:42px;
  border:1px solid #d8dee7;
  border-radius:10px;
  background:#fff;
  padding:0 13px;
  font:inherit;
  color:#172033;
}
.documents-command-search input:focus,
.documents-sort-control select:focus{
  outline:2px solid rgba(217,103,19,.15);
  border-color:#d96713;
}
.documents-filter-anchor{position:relative;flex:0 0 auto}
.documents-filter-trigger{
  height:42px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 14px!important;
  white-space:nowrap;
}
.documents-filter-trigger::before{content:'▾';display:inline-block;transform:none;font-size:12px;line-height:1;color:#52637a}
.documents-filter-popover{
  position:absolute;
  z-index:60;
  top:50px;
  right:0;
  left:auto;
  width:min(680px,calc(100vw - 48px));
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dfe5ec;
  border-radius:14px;
  box-shadow:0 18px 48px rgba(15,23,42,.16);
  padding:16px;
}
.documents-sort-control{flex:0 0 190px}
.documents-sort-control select{
  width:100%;
  height:42px;
  border:1px solid #d8dee7;
  border-radius:10px;
  background:#fff;
  padding:0 11px;
  font:inherit;
  color:#172033;
}
#documentsActiveFilters{padding:11px 0 4px}
.documents-listing-body{
  max-width:1320px;
  margin:18px auto 0;
  padding:0!important;
}
.documents-repository-shell{
  overflow:hidden;
  border:1px solid #e1e7ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 2px 8px rgba(15,23,42,.035);
}
.documents-table-head,
.document-listing-row{
  display:grid;
  grid-template-columns:minmax(280px,2.25fr) minmax(220px,1.55fr) minmax(100px,.72fr) minmax(95px,.65fr) minmax(105px,.72fr) minmax(95px,.68fr) 68px;
  gap:18px;
  align-items:center;
}
.documents-table-head{
  min-height:42px;
  padding:0 18px;
  background:#f8fafc;
  border-bottom:1px solid #e7ecf2;
  color:#718096;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.documents-list{display:flex;flex-direction:column}
.document-listing-row{
  position:relative;
  min-height:76px;
  padding:14px 18px;
  border-bottom:1px solid #edf1f5;
  background:#fff;
  transition:background .14s ease;
}
.document-listing-row:last-child{border-bottom:0}
.document-listing-row:hover{background:#fbfcfd}
.document-listing-row.needs-attention{box-shadow:inset 3px 0 0 #d96713}

.document-listing-primary,
.document-property-cell{min-width:0}
.document-listing-title-line{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.document-file-icon{
  display:inline-flex;
  width:26px;
  height:26px;
  flex:0 0 26px;
  align-items:center;
  justify-content:center;
  border:1px solid #e0e6ec;
  border-radius:7px;
  background:#f8fafc;
  color:#607086;
  font-size:13px;
}
.document-listing-title-line strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#172033;
  font-size:14px;
}
.document-listing-primary p{
  margin:5px 0 0 35px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#6c7a8c;
  font-size:12px;
  line-height:1.4;
}
.document-listing-primary .document-summary-empty{color:#9aa5b1;font-style:italic}

.document-property-cell strong,
.document-property-cell span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.document-property-cell strong{color:#2c3f55;font-size:12px;font-weight:700}
.document-property-cell span{margin-top:4px;color:#8290a0;font-size:11px}

.document-listing-meta{
  min-width:0;
  color:#52637a;
  font-size:12px;
}
.document-listing-meta strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  font-weight:700;
  color:#41536a;
}
.document-source-pill,
.document-ai-pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  max-width:100%;
  box-sizing:border-box;
  padding:3px 8px;
  border-radius:999px;
  background:#f1f4f7;
  color:#52657a;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.document-ai-pill.ready,
.document-ai-pill.completed{background:#edf8f2;color:#24704b}
.document-ai-pill.processing{background:#fff6e8;color:#98611f}
.document-ai-pill.failed{background:#fff1ef;color:#9b453e}

.document-listing-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}
.document-attention{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  padding:0;
  border-radius:999px;
  background:#fff2e7;
  color:#a6520d;
  font-size:12px;
  font-weight:900;
}
.document-row-action{
  border:0;
  background:transparent;
  padding:6px 2px;
  color:#31465c;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.document-row-action:hover{color:#d96713;text-decoration:underline}
.documents-pagination{margin-top:14px}

@media(max-width:1100px){
  .documents-table-head,
  .document-listing-row{
    grid-template-columns:minmax(260px,2fr) minmax(200px,1.4fr) minmax(90px,.7fr) minmax(100px,.72fr) 68px;
  }
  .documents-table-head span:nth-child(4),
  .document-listing-row>.document-listing-meta:nth-child(4),
  .documents-table-head span:nth-child(6),
  .document-listing-row>.document-listing-meta:nth-child(6){display:none}
}
@media(max-width:760px){
  #documentsPage{padding:0 18px 36px}
  .documents-command-bar{align-items:stretch;flex-wrap:wrap}
  .documents-command-search{flex:1 0 100%}
  .documents-sort-control{flex:1 1 160px}
  .documents-table-head{display:none}
  .documents-repository-shell{border-radius:12px}
  .document-listing-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px 14px;
    padding:14px;
  }
  .document-listing-primary{grid-column:1/-1}
  .document-property-cell{grid-column:1/2}
  .document-listing-row>.document-listing-meta{display:none!important}
  .document-listing-actions{grid-column:2/3;grid-row:2}
  .document-listing-primary p{margin-left:35px}
}

/* v8.9.1b — Documents standard component alignment */
#documentsPage .shared-active-filters{
  padding:10px 0 2px!important;
  gap:7px!important;
}
#documentsPage .shared-active-filters::before{display:none!important}
#documentsPage .shared-filter-chip{
  border-color:#dbe6f3;
  background:#edf5ff;
  color:#174f8f;
  padding:6px 10px;
}

/* Six-column repository after removing AI Status. */
#documentsPage .documents-table-head,
#documentsPage .document-listing-row{
  grid-template-columns:minmax(300px,2.35fr) minmax(235px,1.65fr) minmax(110px,.76fr) minmax(105px,.7fr) minmax(105px,.72fr) 82px;
}

/* Use the app's established secondary button system rather than a bespoke link. */
#documentsPage .document-row-action{
  min-height:34px;
  padding:0 12px;
  border-radius:8px;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}
#documentsPage .document-row-action:hover{text-decoration:none}

/* Prevent legacy AI-status presentation styles from occupying layout. */
#documentsPage .document-ai-pill{display:none!important}

@media(max-width:1100px){
  #documentsPage .documents-table-head,
  #documentsPage .document-listing-row{
    grid-template-columns:minmax(270px,2fr) minmax(210px,1.4fr) minmax(95px,.68fr) minmax(100px,.7fr) 82px;
  }
  #documentsPage .documents-table-head span:nth-child(4),
  #documentsPage .document-listing-row>.document-listing-meta:nth-child(4){display:none}
}


/* v8.9.3 — Document Preview Workspace */
body.document-preview-open{overflow:hidden}
.document-preview-modal{
  position:fixed;
  inset:0;
  /* Full-screen document workspace must sit above BOTH app pages and
     the persistent global header so its own title/close controls remain usable. */
  z-index:30000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2.5vh 3vw;
  box-sizing:border-box;
  background:rgba(12,25,39,.58);
  backdrop-filter:blur(2px);
}
.document-preview-modal.hidden{display:none!important}
.document-preview-shell{
  width:min(1540px,94vw);
  height:min(920px,94vh);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #dce4eb;
  border-radius:16px;
  background:#fff;
  box-shadow:0 30px 80px rgba(8,24,40,.3);
}
.document-preview-head{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 20px;
  border-bottom:1px solid #e5eaf0;
  background:#fff;
}
.document-preview-heading{min-width:0}
.document-preview-heading .eyebrow{
  margin-bottom:3px;
  color:#d96713;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
}
.document-preview-heading h2{
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#132c45;
  font-size:20px;
}
.document-preview-context{
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#6d7c8d;
  font-size:12px;
}
.document-preview-close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid #dce3ea;
  background:#fff;
  color:#33485e;
  font-size:20px;
}
.document-preview-body{
  flex:1;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  background:#edf1f5;
}
.document-preview-viewer{
  position:relative;
  min-width:0;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  border-right:1px solid #dde4eb;
}
.document-preview-frame{
  width:100%;
  height:100%;
  border:0;
  border-radius:9px;
  background:#fff;
  box-shadow:0 2px 9px rgba(16,35,52,.08);
}
.document-preview-loading,
.document-preview-unavailable{
  color:#69798a;
  font-size:13px;
  text-align:center;
}
.document-preview-unavailable{
  max-width:380px;
  padding:28px;
  border:1px solid #dce4eb;
  border-radius:12px;
  background:#fff;
}
.document-preview-unavailable strong{display:block;color:#263e55;font-size:15px}
.document-preview-unavailable p{margin:7px 0 0;line-height:1.5}
.document-preview-intelligence{
  overflow:auto;
  padding:18px;
  background:#fff;
}
.document-preview-side-section{
  padding:0 0 18px;
  margin:0 0 18px;
  border-bottom:1px solid #edf1f4;
}
.document-preview-side-section:last-child{border-bottom:0}
.document-preview-label{
  display:block;
  margin-bottom:8px;
  color:#d96713;
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
}
.document-preview-side-section>p{
  margin:0;
  color:#526579;
  font-size:12px;
  line-height:1.6;
}
.document-preview-details,
.document-preview-fields{
  display:grid;
  gap:0;
  margin:0;
}
.document-preview-details>div,
.document-preview-fields>div{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:10px;
  padding:7px 0;
  border-bottom:1px solid #f0f3f6;
}
.document-preview-details>div:last-child,
.document-preview-fields>div:last-child{border-bottom:0}
.document-preview-details dt,
.document-preview-fields dt{
  color:#8390a0;
  font-size:10px;
  font-weight:800;
}
.document-preview-details dd,
.document-preview-fields dd{
  margin:0;
  overflow-wrap:anywhere;
  color:#344b62;
  font-size:11px;
  font-weight:650;
  line-height:1.45;
}
.document-preview-alert{
  padding:10px 11px;
  border-left:3px solid #d96713;
  border-radius:7px;
  background:#fff6ee;
  color:#6b4a2c;
  font-size:11px;
  line-height:1.5;
}
.document-preview-actions{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 18px;
  border-top:1px solid #e5eaf0;
  background:#fff;
}
.document-preview-actions>div{display:flex;gap:8px}

@media(max-width:900px){
  .document-preview-modal{padding:0}
  .document-preview-shell{width:100vw;height:100vh;border:0;border-radius:0}
  .document-preview-body{grid-template-columns:1fr}
  .document-preview-viewer{min-height:58vh;border-right:0;border-bottom:1px solid #dde4eb}
  .document-preview-intelligence{max-height:32vh}
}


/* v8.9.6 — restored known-good material catalog + settings edit/display behavior */
/* Material price catalog */
.material-catalog-card{margin-bottom:24px;padding:22px;border:1px solid #dce4eb;border-radius:14px;background:#fff}.material-catalog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.material-catalog-head h3,.pricing-rules-heading h3{margin:4px 0 5px;color:#102b46}.material-catalog-head p,.pricing-rules-heading p{margin:0;color:#64748b;font-size:13px;line-height:1.45}.material-catalog-head button{flex:0 0 auto;min-height:38px;padding:0 13px;border:1px solid #d96713;border-radius:8px;background:#fff;color:#d96713;font-weight:850;cursor:pointer}.material-price-columns,.material-price-row{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(260px,1.5fr) minmax(150px,.65fr) 36px;gap:10px;align-items:end}.material-price-columns{padding:0 2px 6px;color:#7b8997;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.material-price-list{display:grid;gap:9px}.material-price-row{padding:10px;border:1px solid #e2e8ee;border-radius:10px;background:#f9fbfc}.material-price-row label{display:grid;gap:5px}.material-price-row label>span{display:none}.material-price-row input,.material-price-row select{width:100%;height:41px;border:1px solid #cbd6df;border-radius:8px;background:#fff;padding:0 10px;color:#1f3347;font:inherit;font-size:13px}.material-price-row .money-input{height:41px}.material-price-row .money-input input{height:39px}.material-remove-button{width:34px;height:34px;margin-bottom:3px;border:0;border-radius:8px;background:transparent;color:#8b99a6;font-size:21px;cursor:pointer}.material-remove-button:hover{background:#fff0ed;color:#b42318}.pricing-rules-heading{margin:4px 0 12px}.material-estimate-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important}.material-estimate-grid article{min-width:0}.material-estimate-grid .tier-heading h3{font-size:13px;line-height:1.25;letter-spacing:.04em}
@media(max-width:820px){.material-price-columns{display:none}.material-price-row{grid-template-columns:1fr 1fr 36px}.material-price-row label:nth-child(2){grid-column:1/-2}.material-price-row label>span{display:block;color:#718096;font-size:10px;font-weight:850}.material-catalog-head{flex-direction:column}.material-catalog-head button{width:100%}}
@media(max-width:560px){.material-price-row{grid-template-columns:1fr 36px}.material-price-row label{grid-column:1}.material-remove-button{grid-column:2;grid-row:1}}

/* Contractor Pricing display and edit modes */
#pricingModal .pricing-modal-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important}
#pricingModal .pricing-edit-button{flex:0 0 auto;width:auto!important;margin:0!important;padding:10px 15px!important;border-color:#d96713!important;color:#d96713!important;background:#fff!important;font-weight:850!important}
#pricingForm[data-mode="display"] #addMaterialPrice,
#pricingForm[data-mode="display"] .material-remove-button,
#pricingForm[data-mode="display"] .pricing-modal-actions{display:none!important}
#pricingForm[data-mode="display"] .material-price-row{grid-template-columns:minmax(180px,.9fr) minmax(260px,1.5fr) minmax(150px,.65fr);align-items:center;padding:13px 12px;background:#fff}
#pricingForm[data-mode="display"] input,
#pricingForm[data-mode="display"] select{pointer-events:none!important;opacity:1!important;color:#1f3347!important;-webkit-text-fill-color:#1f3347!important}
#pricingForm[data-mode="display"] .material-price-row input,
#pricingForm[data-mode="display"] .material-price-row select{height:auto!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;appearance:none!important}
#pricingForm[data-mode="display"] .material-price-row .money-input{height:auto!important;border:0!important;background:transparent!important;padding:0!important}
#pricingForm[data-mode="display"] .material-price-row .money-input input{height:auto!important;font-weight:850!important}
#pricingForm[data-mode="display"] .pricing-settings-grid input,
#pricingForm[data-mode="display"] .pricing-settings-grid select,
#pricingForm[data-mode="display"] .financing-fields input,
#pricingForm[data-mode="display"] .financing-fields select{opacity:1!important;background:#f7fafc!important;border-color:#e1e8ee!important;color:#1f3347!important;-webkit-text-fill-color:#1f3347!important}
#pricingForm[data-mode="display"] .financing-fields.disabled{opacity:1!important}
#pricingForm[data-mode="display"] .financing-checkbox{pointer-events:none!important}
#pricingForm[data-mode="display"] .financing-checkbox input{opacity:1!important}
#pricingForm[data-mode="edit"] .pricing-modal-actions{display:flex!important}
@media(max-width:820px){#pricingModal .pricing-modal-head{align-items:stretch!important;flex-direction:column!important}#pricingModal .pricing-edit-button{align-self:flex-start}#pricingForm[data-mode="display"] .material-price-row{grid-template-columns:1fr 1fr}#pricingForm[data-mode="display"] .material-price-row label:nth-child(2){grid-column:1/-1}}
@media(max-width:560px){#pricingForm[data-mode="display"] .material-price-row{grid-template-columns:1fr}#pricingForm[data-mode="display"] .material-price-row label,#pricingForm[data-mode="display"] .material-price-row label:nth-child(2){grid-column:1}}

/* Scope Management display and edit modes */
#scopeManagementModal .scope-management-edit-button{flex:0 0 auto;width:auto!important;margin:0!important;padding:10px 15px!important;border-color:#d96713!important;color:#d96713!important;background:#fff!important;font-weight:850!important}
#scopeManagementWorkspace[data-mode="display"] #addScopeTemplateItem,
#scopeManagementWorkspace[data-mode="display"] .scope-line-actions,
#scopeManagementWorkspace[data-mode="display"] .scope-editor-actions,
#scopeManagementWorkspace[data-mode="display"] .proposal-control-help{display:none!important}
#scopeManagementWorkspace[data-mode="display"] #scopeTemplateName{pointer-events:none!important;opacity:1!important;color:#1f3347!important;-webkit-text-fill-color:#1f3347!important;border-color:transparent!important;background:transparent!important;padding-left:0!important;box-shadow:none!important}
#scopeManagementWorkspace[data-mode="display"] .scope-default-checkbox{pointer-events:none!important;background:#f7fafc!important;opacity:1!important}
#scopeManagementWorkspace[data-mode="display"] .scope-default-checkbox input{opacity:1!important}
#scopeManagementWorkspace[data-mode="display"] .scope-line-row{grid-template-columns:32px 1fr;background:#fff}
#scopeManagementWorkspace[data-mode="display"] .scope-line-row[data-mode="edit"]{border-color:#d9e1e8!important;box-shadow:none!important}
#scopeManagementWorkspace[data-mode="display"] .scope-line-row[data-mode="edit"] .scope-line-content{background:#fff!important}
#scopeManagementWorkspace[data-mode="display"] .scope-line-input{display:none!important}
#scopeManagementWorkspace[data-mode="display"] .scope-line-display{display:flex!important}
#scopeManagementWorkspace[data-mode="display"] .scope-template-list-item{cursor:pointer}
#scopeManagementWorkspace[data-mode="edit"] .scope-editor-actions{display:flex!important}
@media(max-width:820px){#scopeManagementModal .pricing-modal-head{align-items:stretch!important;flex-direction:column!important}#scopeManagementModal .scope-management-edit-button{align-self:flex-start}}


/* v8.9.6a — Contractor Pricing visual polish
   Keep the material-catalog architecture; align presentation with the shared Settings standard. */

/* One continuous settings surface — no isolated white catalog card floating above gray sections. */
#pricingForm .material-catalog-card{
  margin:0 0 26px!important;
  padding:0 0 26px!important;
  border:0!important;
  border-bottom:1px solid #dfe6ed!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#pricingForm .material-catalog-head{
  margin-bottom:16px!important;
}
#pricingForm .material-catalog-head h3,
#pricingForm .pricing-rules-heading h3{
  font-weight:750!important;
}
#pricingForm .material-catalog-head p,
#pricingForm .pricing-rules-heading p{
  max-width:760px;
  color:#64748b!important;
  font-size:12px!important;
}

/* Cleaner repository/table treatment for material pricing. */
#pricingForm .material-price-columns{
  padding:0 10px 7px!important;
  color:#7b8997!important;
  font-size:9px!important;
  font-weight:800!important;
}
#pricingForm .material-price-list{
  gap:0!important;
  overflow:hidden;
  border:1px solid #dfe6ed;
  border-radius:12px;
  background:#fff;
}
#pricingForm .material-price-row{
  min-height:58px;
  padding:10px 12px!important;
  border:0!important;
  border-bottom:1px solid #edf1f4!important;
  border-radius:0!important;
  background:#fff!important;
}
#pricingForm .material-price-row:last-child{
  border-bottom:0!important;
}

/* Display mode should read like information, not disabled form controls. */
#pricingForm[data-mode="display"] .material-price-row{
  align-items:center!important;
}
#pricingForm[data-mode="display"] .material-price-row input,
#pricingForm[data-mode="display"] .material-price-row select{
  color:#263d53!important;
  -webkit-text-fill-color:#263d53!important;
  font-weight:500!important;
  line-height:1.35!important;
}
#pricingForm[data-mode="display"] .material-price-row label:nth-child(2) input{
  font-weight:650!important;
  color:#172f46!important;
  -webkit-text-fill-color:#172f46!important;
}

/* Price reads naturally as "$ 450" instead of two boxes divided by a rule. */
#pricingForm[data-mode="display"] .material-price-row .money-input{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  width:max-content!important;
  min-width:0!important;
}
#pricingForm[data-mode="display"] .material-price-row .money-input span{
  display:inline!important;
  width:auto!important;
  height:auto!important;
  border:0!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:500!important;
}
#pricingForm[data-mode="display"] .material-price-row .money-input input{
  width:74px!important;
  padding:0!important;
  font-weight:650!important;
  color:#172f46!important;
  -webkit-text-fill-color:#172f46!important;
}

/* Edit mode retains clear form affordances without the old heavy row styling. */
#pricingForm[data-mode="edit"] .material-price-row{
  gap:12px!important;
  background:#fbfcfd!important;
}
#pricingForm[data-mode="edit"] .material-price-row .money-input span{
  border-right:0!important;
  color:#64748b!important;
}

/* Calculation Rules and Financing remain on the same visual plane. */
#pricingForm .pricing-rules-heading{
  margin:0 0 14px!important;
}
#pricingForm .pricing-settings-grid{
  margin-top:0!important;
  padding-top:14px!important;
}
#pricingForm .financing-section{
  margin-top:26px!important;
  padding-top:24px!important;
  border-top:1px solid #dfe6ed!important;
}


/* ===== SQ Next Best Action v8.9.7 ===== */
#propertyRecordModal .property-next-action-card{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin:0 0 16px;padding:20px 22px;border:1px solid #e4e8ee;
  border-left:4px solid #d96713;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04);
}
#propertyRecordModal .property-next-action-content{min-width:0;flex:1}
#propertyRecordModal .property-next-action-card h3{margin:3px 0 5px;font-weight:700}
#propertyRecordModal .property-next-action-card p{margin:0;max-width:920px;color:#5e6c7b;font-size:13px;line-height:1.55}
#propertyRecordModal .property-next-action-signals{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
#propertyRecordModal .property-next-action-signal{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid #dde4ec;border-radius:999px;background:#f8fafc;color:#475569;font-size:11px;font-weight:600}
#propertyRecordModal .property-next-action-signal.attention{border-color:#f2d1b4;background:#fff7ed;color:#9a4d0a}
@media(max-width:900px){#propertyRecordModal .property-next-action-card{align-items:flex-start;flex-direction:column}}

/* v8.9.8 — Ask SQ ranked intelligence readability */
.p91-agent-message.assistant{white-space:pre-line}

/* v8.9.8 — canonical document type review */
.document-type-mismatch-note{display:block;margin-top:4px;font-size:11px;font-weight:600;color:#b45309}
.property-document-type-alert{margin-top:10px}
#documentsReviewTypes{white-space:nowrap}

/* v8.9.8a — document-specific type review */
.document-type-cell{align-items:flex-start}
.document-type-review-button,.document-type-check-button{
  margin-top:6px;padding:0;border:0;background:transparent;font:inherit;font-size:12px;font-weight:700;
  color:#b45309;cursor:pointer;text-align:left
}
.document-type-check-button{color:#174f8f}
.document-type-review-button:hover,.document-type-check-button:hover{text-decoration:underline}
.document-preview-type-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.document-preview-alert p{margin:6px 0 0}

/* v8.9.9 — contextual document type review */
.documents-review-count{
  border:1px solid #f0c58c;
  background:#fff7ed;
  color:#9a4d0a;
  border-radius:999px;
  padding:8px 11px;
  font:inherit;
  font-size:12px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
}
.documents-review-count:hover{background:#ffedd5}
.documents-review-count.hidden{display:none}

/* ===== v8.10.0 — Actionable Next Best Action ===== */
#propertyRecordModal .property-next-action-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
#propertyRecordModal .property-next-action-card{margin-top:0;margin-bottom:20px}
@media(max-width:900px){#propertyRecordModal .property-next-action-actions{width:100%;flex-wrap:wrap}}


/* SQUAREDROOTS_OVERTURE_ZIP_SEARCH */
.territory-address-inventory{padding-top:22px!important;padding-bottom:6px!important}.territory-address-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.territory-address-summary>div{border:1px solid #dfe7ec;border-radius:12px;background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:5px}.territory-address-summary span{font-size:12px;color:#70808c;text-transform:uppercase;letter-spacing:.04em}.territory-address-summary strong{font-size:20px;color:#1f3342}.territory-address-status{border:1px solid #dfe7ec;background:#f8fafb;border-radius:10px;padding:12px 14px;color:#526673;margin-bottom:12px}.territory-address-status.success{border-color:#cfe3d4;background:#f7fbf8;color:#2c6841}.territory-address-status.error{border-color:#ebcccc;background:#fff8f8;color:#8c3535}.territory-address-list{display:flex;flex-direction:column;border:1px solid #dfe7ec;border-radius:12px;overflow:hidden;background:#fff}.territory-address-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf1f3}.territory-address-row:last-child{border-bottom:0}.territory-address-number{font-size:12px;color:#8a98a2}.territory-address-row>div{display:flex;flex-direction:column;gap:2px}.territory-address-row>div strong{font-size:14px;color:#203442}.territory-address-row>div span{font-size:12px;color:#71808a}.territory-address-empty{padding:22px;color:#71808a}.territory-builder-body{margin-top:20px!important}@media(max-width:760px){.territory-address-summary{grid-template-columns:1fr}.territory-address-row{grid-template-columns:30px minmax(0,1fr)}.territory-analyze-address{grid-column:2;justify-self:start}}

/* SQUAREDROOTS_CAMPAIGN_BUILDER_V1 */
#territoryBuilderPage .campaign-builder-v1{display:grid;gap:18px;padding-top:18px;padding-bottom:36px}#territoryBuilderPage .campaign-summary-card{border:1px solid #dce4ea;background:#fff;border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(31,47,61,.05)}#territoryBuilderPage .campaign-summary-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}#territoryBuilderPage .campaign-summary-heading>div{display:grid;gap:5px}#territoryBuilderPage .campaign-summary-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;color:#d96713}#territoryBuilderPage .campaign-summary-heading strong{font-size:16px;color:#243847}#territoryBuilderPage .campaign-credit-chip{border:1px solid #ecd5c2;background:#fff8f2;color:#a55417;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;white-space:nowrap}#territoryBuilderPage .campaign-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#territoryBuilderPage .campaign-summary-grid>div{border:1px solid #e3e9ee;background:#f9fbfc;border-radius:14px;padding:16px;display:grid;gap:5px}#territoryBuilderPage .campaign-summary-grid span{font-size:12px;color:#6c7d89;font-weight:700}#territoryBuilderPage .campaign-summary-grid strong{font-size:28px;line-height:1;color:#213746}#territoryBuilderPage .campaign-summary-grid small{color:#7a8994;font-size:12px}#territoryBuilderPage .campaign-refund-rule{margin:16px 0 0;padding-top:14px;border-top:1px solid #edf1f4;color:#536875;font-size:13px}#territoryBuilderPage .campaign-filter-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}#territoryBuilderPage .campaign-filter-heading h3{margin:0}#territoryBuilderPage .campaign-filter-heading p{margin:5px 0 0;color:#6d7e89;font-size:13px;max-width:760px}#territoryBuilderPage .campaign-create-bar{position:sticky;bottom:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #d8e1e7;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-radius:16px;padding:16px 18px;box-shadow:0 -8px 30px rgba(31,47,61,.08)}#territoryBuilderPage .campaign-create-bar>div{display:grid;gap:4px}#territoryBuilderPage .campaign-create-bar strong{color:#263b49}#territoryBuilderPage .campaign-create-bar span{font-size:12px;color:#6a7c88}#territoryBuilderPage #territoryCreateCampaign{min-width:270px}#territoryBuilderPage #territoryCreateCampaign:disabled{opacity:.48;cursor:not-allowed}@media(max-width:800px){#territoryBuilderPage .campaign-summary-grid{grid-template-columns:1fr}#territoryBuilderPage .campaign-summary-heading,#territoryBuilderPage .campaign-create-bar{align-items:stretch;flex-direction:column}#territoryBuilderPage #territoryCreateCampaign{width:100%;min-width:0}}


/* SQUAREDROOTS_TERRITORY_VISIBILITY_HOTFIX_V1 */
/*
  Territory mode must never expose single-property analysis/output UI.
  Removing this body class restores the original visibility state exactly,
  so switching back to Single Property does not force-open anything.
*/
body.territory-analysis-mode #workspace,
body.territory-analysis-mode #results,
body.territory-analysis-mode #propertyActions,
body.territory-analysis-mode #propertyAnalysisProgress,
body.territory-analysis-mode #stormLookupCard,
body.territory-analysis-mode #propertyIntelligenceCard,
body.territory-analysis-mode #confirmedPropertyBar {
  display: none !important;
}

/* Team & Roles — restore standard centered settings-page content rail */
#companyTeamPage .company-team-shell{
  box-sizing:border-box!important;
  width:min(var(--p91-page-max),calc(100% - (var(--p91-page-gutter) * 2)))!important;
  max-width:var(--p91-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

#companyTeamPage .pricing-modal-head.standardized-page-head{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

@media(max-width:760px){
  #companyTeamPage .company-team-shell{
    width:calc(100% - (var(--p91-page-gutter-mobile) * 2))!important;
    max-width:none!important;
  }
}


/* SQUAREDROOTS CAMPAIGN PROGRESS UI V2 - SURGICAL */
#portfoliosPage .portfolio-metrics{display:none!important}

#portfoliosPage .campaign-progress-card{
  padding:20px!important;
  border:1px solid #dfe6eb!important;
  border-radius:14px!important;
  background:#fff!important;
}

#portfoliosPage .campaign-processing{cursor:default!important}
#portfoliosPage .campaign-completed{cursor:pointer!important}

#portfoliosPage .campaign-progress-status{
  display:inline-flex!important;
  align-items:center!important;
  min-height:24px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
#portfoliosPage .campaign-progress-status.processing{
  border:1px solid #d9e2e8!important;
  background:#f1f4f6!important;
  color:#526779!important;
}
#portfoliosPage .campaign-progress-status.completed{
  border:1px solid #c7dfce!important;
  background:#f0f8f2!important;
  color:#237445!important;
}

#portfoliosPage .campaign-progress-label{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:16px!important;
  margin:18px 0 8px!important;
  color:#526779!important;
  font-size:12px!important;
}
#portfoliosPage .campaign-progress-label strong{
  color:#102a43!important;
  font-weight:800!important;
}

#portfoliosPage .campaign-progress-bar{
  width:100%!important;
  height:9px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:#edf2f5!important;
}
#portfoliosPage .campaign-progress-bar>span{
  display:block!important;
  height:100%!important;
  border-radius:inherit!important;
  background:#d96713!important;
  transition:width .25s ease!important;
}

#portfoliosPage .campaign-progress-footer{
  display:flex!important;
  align-items:flex-end!important;
  gap:30px!important;
  margin-top:18px!important;
  padding-top:15px!important;
  border-top:1px solid #edf1f4!important;
}
#portfoliosPage .campaign-progress-footer>div{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}
#portfoliosPage .campaign-progress-footer span{
  color:#71879a!important;
  font-size:10px!important;
}
#portfoliosPage .campaign-progress-footer strong{
  color:#102a43!important;
  font-size:13px!important;
  font-weight:800!important;
}
#portfoliosPage .campaign-view-ready,
#portfoliosPage .campaign-view-locked{
  margin-left:auto!important;
  align-self:center!important;
  font-size:10px!important;
}
#portfoliosPage .campaign-view-ready{
  color:#d96713!important;
  font-weight:800!important;
}
#portfoliosPage .campaign-view-locked{
  color:#8294a3!important;
  font-weight:600!important;
}

@media(max-width:760px){
  #portfoliosPage .campaign-progress-footer{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
  }
  #portfoliosPage .campaign-view-ready,
  #portfoliosPage .campaign-view-locked{
    width:100%!important;
    margin-left:0!important;
  }
}

/* SQUAREDROOTS CAMPAIGN DETAILS V1 */
#portfoliosPage .campaign-progress-footer>div{
  align-items:flex-start!important;
}
#portfoliosPage .campaign-progress-footer>div>span{
  order:0;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:800!important;
}
#portfoliosPage .campaign-progress-footer>div>strong{
  order:1;
  margin-top:2px!important;
  font-size:15px!important;
}
#portfoliosPage .campaign-completed:focus-visible{
  outline:3px solid rgba(217,103,19,.18)!important;
  outline-offset:3px!important;
}

#campaignDetailPage{background:#f7f9fb}
#campaignDetailPage .campaign-detail-head-actions{display:flex;align-items:center;gap:10px}
#campaignDetailPage .campaign-detail-status{
  display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;
  font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase
}
#campaignDetailPage .campaign-detail-status.processing{border:1px solid #d9e2e8;background:#f1f4f6;color:#526779}
#campaignDetailPage .campaign-detail-status.complete{border:1px solid #c7dfce;background:#f0f8f2;color:#237445}
#campaignDetailPage .campaign-detail-body{display:grid;gap:16px}
#campaignDetailPage .campaign-detail-summary,
#campaignDetailPage .campaign-detail-properties-card{background:#fff;border:1px solid #dfe6eb;border-radius:15px}
#campaignDetailPage .campaign-detail-summary{padding:18px}
#campaignDetailPage .campaign-detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#campaignDetailPage .campaign-detail-metrics>div{padding:14px 15px;border:1px solid #e5ebef;border-radius:11px;background:#fbfcfd}
#campaignDetailPage .campaign-detail-metrics span{display:block;color:#71879a;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
#campaignDetailPage .campaign-detail-metrics strong{display:block;margin-top:4px;color:#102a43;font-size:22px}
#campaignDetailPage .campaign-detail-progress-row{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(320px,1.3fr);align-items:center;gap:22px;margin-top:16px;padding-top:16px;border-top:1px solid #edf1f4}
#campaignDetailPage .campaign-detail-progress-row>div:first-child{display:grid;gap:3px}
#campaignDetailPage .campaign-detail-progress-row strong{color:#102a43;font-size:13px}
#campaignDetailPage .campaign-detail-progress-row span{color:#71879a;font-size:11px}
#campaignDetailPage .campaign-detail-progress-track{height:10px;overflow:hidden;border-radius:999px;background:#edf2f5}
#campaignDetailPage .campaign-detail-progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:#d96713;transition:width .25s ease}
#campaignDetailPage .campaign-detail-properties-card{overflow:hidden}
#campaignDetailPage .campaign-detail-properties-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid #edf1f4}
#campaignDetailPage .campaign-detail-properties-head h3{margin:4px 0 5px;color:#102a43;font-size:22px}
#campaignDetailPage .campaign-detail-properties-head p{margin:0;color:#71879a;font-size:12px}
#campaignDetailPage .campaign-detail-properties-head>span{color:#526779;font-size:12px;font-weight:800;white-space:nowrap}
#campaignDetailPage .campaign-detail-filters{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,240px);gap:12px;padding:14px 20px;background:#fbfcfd;border-bottom:1px solid #edf1f4}
#campaignDetailPage .campaign-detail-filters label{display:grid;gap:5px;color:#657b8c;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
#campaignDetailPage .campaign-detail-filters input,
#campaignDetailPage .campaign-detail-filters select{width:100%;min-height:40px;border:1px solid #cfd9e1;border-radius:9px;background:#fff;padding:0 11px;color:#1f3a4d;font:inherit;font-size:12px;text-transform:none;letter-spacing:0}
#campaignDetailPage .campaign-detail-table-wrap{overflow:auto}
#campaignDetailPage .campaign-detail-table{width:100%;border-collapse:collapse;min-width:1080px}
#campaignDetailPage .campaign-detail-table th{padding:11px 14px;background:#f7f9fb;border-bottom:1px solid #e6ecef;color:#657b8c;font-size:9px;font-weight:900;letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap}
#campaignDetailPage .campaign-detail-table td{padding:13px 14px;border-bottom:1px solid #edf1f4;color:#314b60;font-size:12px;vertical-align:middle}
#campaignDetailPage .campaign-detail-table tbody tr:last-child td{border-bottom:0}
#campaignDetailPage .campaign-detail-table tbody tr:hover{background:#fbfcfd}
#campaignDetailPage .campaign-property-address{display:block;padding:0;border:0;background:none;color:#183b56;font:inherit;font-weight:850;text-align:left;cursor:pointer}
#campaignDetailPage .campaign-property-address:hover{text-decoration:underline}
#campaignDetailPage .campaign-property-address.unavailable{cursor:default;color:#314b60;text-decoration:none}
#campaignDetailPage .campaign-property-location{display:block;margin-top:3px;color:#8797a4;font-size:10px}
#campaignDetailPage .campaign-detail-data-cell strong{display:block;color:#213f55;font-size:12px}
#campaignDetailPage .campaign-detail-data-cell>span{display:block;margin-top:3px;color:#8797a4;font-size:10px}
#campaignDetailPage .campaign-analysis-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;white-space:nowrap}
#campaignDetailPage .campaign-analysis-status.complete{background:#eef8f1;color:#237445;border:1px solid #c7dfce}
#campaignDetailPage .campaign-analysis-status.processing{background:#f2f5f7;color:#526779;border:1px solid #d9e2e8}
#campaignDetailPage .campaign-analysis-status.review{background:#fff7ed;color:#a95616;border:1px solid #efcfac}
#campaignDetailPage .campaign-analysis-status.failed{background:#fff2f2;color:#a33a3a;border:1px solid #ecc8c8}
#campaignDetailPage .campaign-analysis-status.neutral{background:#f5f7f9;color:#657b8c;border:1px solid #dfe6eb}
#campaignDetailPage .campaign-open-property{min-height:34px;padding:0 10px;font-size:10px;white-space:nowrap}
#campaignDetailPage .campaign-open-property:disabled{opacity:.48;cursor:not-allowed}
#campaignDetailPage .campaign-detail-chip{display:inline-flex;gap:5px;align-items:center}
#campaignDetailPage .campaign-detail-chip b{font-size:9px}
#campaignDetailPage .campaign-detail-loading{padding:30px!important;text-align:center;color:#71879a!important}
#campaignDetailPage .campaign-detail-empty{padding:30px;text-align:center;color:#71879a}
#campaignDetailPage .campaign-detail-empty strong,#campaignDetailPage .campaign-detail-empty span{display:block}
#campaignDetailPage .campaign-detail-empty span{margin-top:4px;font-size:11px}

@media(max-width:900px){
  #campaignDetailPage .campaign-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  #campaignDetailPage .campaign-detail-progress-row{grid-template-columns:1fr}
}
@media(max-width:700px){
  #campaignDetailPage .campaign-detail-head-actions{align-items:stretch;flex-direction:column}
  #campaignDetailPage .campaign-detail-filters{grid-template-columns:1fr}
  #campaignDetailPage .campaign-detail-metrics{grid-template-columns:1fr 1fr}
}


/* SquaredRoots Properties server-paged collection */
.properties-page-size-control{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#667085;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.properties-page-size-control select{
  height:38px;
  min-width:68px;
  padding:0 28px 0 10px;
  border:1px solid #d0d7de;
  border-radius:9px;
  background:#fff;
  color:#263746;
  font:inherit;
}
.properties-loading{
  width:min(1240px,calc(100% - 56px));
  margin:28px auto 10px;
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:12px;
  color:#52677c;
}
.properties-loading-spinner{
  width:28px;
  height:28px;
  border:3px solid #dfe6ec;
  border-top-color:#d96713;
  border-radius:50%;
  animation:properties-spin .75s linear infinite;
}
@keyframes properties-spin{to{transform:rotate(360deg)}}
.properties-pagination{
  width:min(1240px,calc(100% - 56px));
  margin:18px auto 30px;
  padding:14px 0 4px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}
.properties-pagination span{
  min-width:120px;
  text-align:center;
  color:#52677c;
  font-size:13px;
  font-weight:800;
}
.properties-pagination button{
  min-width:96px;
}
@media(max-width:760px){
  .properties-page-size-control span{display:none}
  .properties-pagination{
    width:calc(100% - 32px);
  }
}


/* Property Details is the primary post-analysis destination */
.property-analysis-live{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid #d9e5ef;
  border-radius:12px;
  background:#f8fbfe;
  color:#17324d;
  margin-bottom:14px;
}
.property-analysis-live>div{display:grid;gap:3px}
.property-analysis-live strong{font-size:14px}
.property-analysis-live span:last-child{font-size:12px;color:#62758a}
.property-analysis-live-spinner{
  width:20px;height:20px;flex:0 0 20px;
  border:2px solid #d5dee7;border-top-color:#d96713;border-radius:50%;
  animation:property-analysis-spin .75s linear infinite;
}
@keyframes property-analysis-spin{to{transform:rotate(360deg)}}
.property-analysis-map-loading{
  min-height:360px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  background:#eef3f7;
  color:#65758b;
  font-weight:700;
}

/* Property pricing summary + drill-in */
.property-pricing-card{grid-column:1/-1}
.property-pricing-summary{
  display:grid;
  grid-template-columns:1.35fr .7fr 1fr;
  gap:12px;
}
.property-pricing-summary>div{
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:15px;
  background:#fbfcfd;
}
.property-pricing-summary span,
.property-pricing-summary small{
  display:block;
  color:#718096;
  font-size:11px;
  font-weight:700;
}
.property-pricing-summary strong{
  display:block;
  margin:5px 0 3px;
  color:#17324d;
  font-size:18px;
}
.property-pricing-options{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
  margin-top:12px;
}
.property-pricing-option{
  border:1px solid #dfe6ec;
  border-radius:12px;
  background:#fff;
  padding:14px;
  display:grid;
  gap:7px;
}
.property-pricing-option div span{display:block;color:#718096;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.property-pricing-option div strong{display:block;margin-top:3px;color:#17324d;font-size:14px}
.property-pricing-option b{font-size:18px;color:#102a43}
.property-pricing-option small{color:#718096}
@media(max-width:760px){
  .property-pricing-summary{grid-template-columns:1fr}
}

/* Dedicated roof editor: editing tools only */
body.focused-roof-edit-mode #analysisHero,
body.focused-roof-edit-mode #propertyAnalysisProgress,
body.focused-roof-edit-mode #stormLookupCard,
body.focused-roof-edit-mode #propertyIntelligenceCard,
body.focused-roof-edit-mode #results,
body.focused-roof-edit-mode #propertyActions{
  display:none!important;
}
body.focused-roof-edit-mode #workspace{
  margin-top:0!important;
  padding-top:18px;
}
body.focused-roof-edit-mode #confirmedPropertyBar{
  display:flex!important;
  position:sticky;
  top:var(--app-header-height,72px);
  z-index:30;
}
body.focused-roof-edit-mode #confirmedPropertyBar .roof-workspace-metrics,
body.focused-roof-edit-mode #confirmedPropertyBar #remeasureCurrentRoof,
body.focused-roof-edit-mode #confirmedPropertyBar #startOverProperty{
  display:none!important;
}
body.focused-roof-edit-mode #confirmedPropertyBar .roof-workspace-header-actions{
  margin-left:auto;
}
body.focused-roof-edit-mode #returnToPropertyFromRoof{
  display:inline-flex!important;
}
body.focused-roof-edit-mode .roof-measurement-workbench{
  margin-top:14px;
}
body.focused-roof-edit-mode #confirmTools{
  display:none!important;
}
body.focused-roof-edit-mode #editModeEntry{
  display:flex!important;
}


/* Property Details v2 hierarchy */
.property-roof-map-card{position:relative}
.property-roof-edit-overlay{
  position:absolute;
  top:14px;
  right:14px;
  z-index:8;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:7px 11px;
  border-radius:9px;
  background:rgba(255,255,255,.94);
  box-shadow:0 2px 10px rgba(15,35,55,.13);
  backdrop-filter:blur(4px);
}
.property-roof-edit-overlay:hover{background:#fff}
.property-roof-summary-panel .property-section-head{padding-right:0}

.property-roof-material-stat{
  grid-column:1 / -1;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
}
.property-roof-material-copy{min-width:0}
.property-roof-material-copy>span{
  display:block;
  color:#687786;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.property-roof-material-copy>strong{
  display:block;
  margin-top:4px;
}
#propertyRoofMaterialMeta{
  display:block;
  margin-top:4px;
  color:#687786;
  font-size:11px;
  font-weight:600;
  line-height:1.35;
}
.property-roof-material-action{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.property-roof-material-action .compact{
  width:auto;
  white-space:nowrap;
}

/* Roof material confirmation modal */

.roof-material-confirm-modal{
  position:fixed;
  inset:0;
  z-index:6500;
  display:grid;
  place-items:center;
  padding:20px;
}
.roof-material-confirm-modal.hidden{display:none!important}

.roof-material-confirm-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,39,66,.34);
  backdrop-filter:blur(2px);
}

.roof-material-confirm-shell{
  position:relative;
  z-index:1;
  width:min(620px,96vw);
  max-height:90vh;
  overflow:hidden;
  border:1px solid #dce4ea;
  border-radius:18px;
  background:#fff;
  box-shadow:0 28px 80px rgba(15,39,66,.22);
}

.roof-material-confirm-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px 18px;
  border-bottom:1px solid #e3e9ee;
  background:#fff;
}

.roof-material-confirm-title-wrap{min-width:0}

.roof-material-confirm-head .eyebrow{
  margin:0 0 5px;
  color:#d96713;
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.roof-material-confirm-head h2{
  margin:0 0 6px;
  color:#0f2742;
  font-size:22px;
  line-height:1.2;
  font-weight:800;
}

.roof-material-confirm-head p{
  margin:0;
  color:#64748b;
  font-size:13px;
  line-height:1.45;
}

.roof-material-confirm-close{
  flex:0 0 auto;
  width:38px;
  height:38px;
  min-width:38px;
  border:1px solid #d7e0e7;
  border-radius:10px;
  background:#fff;
  color:#334b60;
  font-size:24px;
  line-height:1;
  box-shadow:none;
}

.roof-material-confirm-body{
  padding:20px 22px 22px;
  overflow:auto;
  max-height:calc(90vh - 170px);
}

.roof-material-confirm-instruction{
  margin:0 0 14px;
  color:#52677c;
  font-size:13px;
  line-height:1.45;
}

.roof-material-confirm-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.roof-material-choice{
  appearance:none;
  min-height:72px;
  padding:14px 15px;
  border:1px solid #dce4ea;
  border-radius:12px;
  background:#fff;
  color:#17324d;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}

.roof-material-choice:hover{
  border-color:#bfcbd6;
  background:#fbfcfd;
}

.roof-material-choice span{
  font-size:14px;
  font-weight:800;
  line-height:1.25;
}

.roof-material-choice small{
  color:#d96713;
  font-size:10px;
  font-weight:900;
  letter-spacing:.02em;
}

.roof-material-choice.selected{
  border-color:#d96713;
  background:#fff9f4;
  box-shadow:0 0 0 2px rgba(217,103,19,.10);
}

.roof-material-confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:16px 22px 20px;
  border-top:1px solid #e3e9ee;
  background:#fff;
}

.roof-material-confirm-actions .secondary,
.roof-material-confirm-actions .primary{
  min-height:40px;
  padding:0 16px;
  border-radius:9px;
}

@media(max-width:620px){
  .roof-material-confirm-modal{padding:10px}
  .roof-material-confirm-shell{width:100%}
  .roof-material-confirm-options{grid-template-columns:1fr}
  .roof-material-confirm-head,
  .roof-material-confirm-body,
  .roof-material-confirm-actions{padding-left:16px;padding-right:16px}
}

/* During live analysis, SQ recommendations intentionally wait for completed context. */
.property-analysis-live:not(.hidden) + .property-next-action-card{display:none!important}


/* v3 — confirmation screen ends after Analyze Property / Start Over */
body.pre-analysis-confirmation-mode #propertyAnalysisProgress,
body.pre-analysis-confirmation-mode #stormLookupCard,
body.pre-analysis-confirmation-mode #propertyIntelligenceCard,
body.pre-analysis-confirmation-mode #results,
body.pre-analysis-confirmation-mode #propertyActions{display:none!important}

/* v3 — live satellite map during analysis */
.property-roof-map-live-analysis{min-height:520px;background:#dfe7ee}
.property-analysis-live:not(.hidden) ~ .property-roof-overview #propertyOpenRoof{display:none!important}

/* v3 — pricing-only table */
.property-pricing-card{grid-column:1/-1}
.property-pricing-card .property-section-head p{margin:4px 0 0;color:#6b7c8d;font-size:12px}
.property-pricing-table-wrap{border:1px solid #dfe6ec;border-radius:12px;overflow:hidden}
.property-pricing-table-head,.property-pricing-row{
  display:grid;grid-template-columns:minmax(260px,1fr) 140px 190px;gap:16px;align-items:center
}
.property-pricing-table-head{
  padding:10px 16px;background:#f7f9fb;border-bottom:1px solid #dfe6ec;
  color:#6b7c8d;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase
}
.property-pricing-row{padding:14px 16px;border-bottom:1px solid #edf1f4;background:#fff}
.property-pricing-row:last-child{border-bottom:0}
.property-pricing-option-name strong{display:block;color:#17324d;font-size:14px}
.property-pricing-option-name small{display:block;margin-top:3px;color:#718096;font-size:11px}
.property-pricing-rate{color:#52677c;font-size:13px;font-weight:800}
.property-pricing-project{color:#102a43;font-size:17px;font-weight:900}
.property-pricing-message{
  border:1px solid #e1e7ec;border-radius:12px;padding:14px 16px;background:#fbfcfd;
  display:flex;justify-content:space-between;align-items:center;gap:14px
}
.property-pricing-message>div{display:grid;gap:3px}
.property-pricing-message strong{color:#17324d}
.property-pricing-message span{color:#66798d;font-size:12px}
@media(max-width:760px){
  .property-pricing-table-head{display:none}
  .property-pricing-row{grid-template-columns:1fr auto;grid-template-areas:"name price" "rate price"}
  .property-pricing-option-name{grid-area:name}.property-pricing-rate{grid-area:rate}
  .property-pricing-project{grid-area:price;align-self:center}
  .property-pricing-message{align-items:flex-start;flex-direction:column}
}


/* v3.1 — live analysis map motion polish */
.property-roof-map-live-analysis{
  min-height:520px;
  transition:opacity .25s ease;
}
.property-analysis-live:not(.hidden) ~ .property-roof-overview .property-roof-map-card{
  box-shadow:0 10px 28px rgba(18,42,66,.10);
}


/* v3.2 — pricing dependency messaging */
.property-pricing-message{
  justify-content:flex-start;
}
.property-pricing-message>div{
  max-width:760px;
}


/* v3.3 — Roof Material modal must sit above app-page-view (z-index 5000) */
body.roof-material-confirm-open{
  overflow:hidden!important;
}


/* ===== Storm Watch contractor experience ===== */
.storm-watch-dashboard-metrics>div,.storm-watch-metrics>div{
  padding:14px;border:1px solid #e3e9ee;border-radius:12px;background:#f9fbfc
}
.storm-watch-dashboard-metrics span,.storm-watch-metrics span{display:block;color:#718096;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.storm-watch-dashboard-metrics strong,.storm-watch-metrics strong{display:block;margin-top:5px;color:#102a43;font-size:24px}
.storm-watch-dashboard-metrics small{display:block;margin-top:2px;color:#8a99a8;font-size:10px}

.storm-watch-shell{background:#f4f7f9!important}
.storm-watch-head-status{display:flex;align-items:center;gap:8px;color:#375269;font-size:12px}
.storm-watch-live-dot{width:9px;height:9px;border-radius:50%;background:#24a148;box-shadow:0 0 0 4px rgba(36,161,72,.10)}
.storm-watch-body{width:min(1240px,calc(100% - 56px));margin:0 auto;padding:28px 0 64px}
.storm-watch-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.storm-watch-list-card{margin-top:18px;padding:20px;border:1px solid #dfe6ed;border-radius:16px;background:#fff}
.storm-watch-list-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.storm-watch-list-head h3{margin:3px 0 4px;color:#0f2742}
.storm-watch-list-head p{margin:0;color:#6b7c8d;font-size:12px}
#stormWatchResultCount{padding:6px 10px;border-radius:999px;background:#f1f5f8;color:#52677c;font-size:11px;font-weight:800}
.storm-watch-filters{display:grid;grid-template-columns:minmax(260px,1fr) 180px 190px;gap:10px;margin:18px 0 12px}
.storm-watch-filters label{display:grid;gap:5px}
.storm-watch-filters label>span{color:#718096;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.storm-watch-filters input,.storm-watch-filters select{height:40px;padding:0 11px;border:1px solid #d8e1e8;border-radius:9px;background:#fff;color:#17324d}
.storm-watch-table-wrap{overflow:auto;border:1px solid #e2e8ed;border-radius:12px}
.storm-watch-table{width:100%;border-collapse:collapse;min-width:850px}
.storm-watch-table th{padding:10px 14px;background:#f7f9fb;border-bottom:1px solid #dfe6ed;text-align:left;color:#718096;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.storm-watch-table td{padding:13px 14px;border-bottom:1px solid #edf1f4;color:#40566c;font-size:12px;vertical-align:middle}
.storm-watch-table tr:last-child td{border-bottom:0}
.storm-watch-property-cell strong{display:block;color:#17324d;font-size:13px}
.storm-watch-property-cell span{display:block;margin-top:3px;color:#7a8b9a;font-size:11px}
.storm-watch-hail-value{color:#0f2742;font-size:15px}
.storm-watch-severity{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}
.storm-watch-severity.severe{background:#fde8e8;color:#a61b1b}
.storm-watch-severity.high{background:#fff0df;color:#a65300}
.storm-watch-severity.moderate{background:#fff8d9;color:#806000}
.storm-watch-severity.watch{background:#edf4ff;color:#315b8a}
.storm-watch-severity.low,.storm-watch-severity.neutral{background:#f1f4f6;color:#66798d}
.storm-watch-source{color:#607489;font-weight:700}
.storm-watch-empty{padding:36px 20px;text-align:center}
.storm-watch-empty strong{display:block;color:#17324d}
.storm-watch-empty span{display:block;margin-top:5px;color:#77899a;font-size:12px}
.storm-watch-loading{text-align:center;color:#718096;padding:28px!important}

#propertyStormEmpty strong{display:block;color:#17324d}
#propertyStormEmpty span{display:block;margin-top:4px;color:#718096;font-size:11px}
.storm-watch-property-event{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f4}
.storm-watch-property-event:last-child{border-bottom:0}
.storm-watch-property-event>div:first-child strong{display:block;color:#17324d;font-size:12px}
.storm-watch-property-event>div:first-child span{display:block;margin-top:3px;color:#7a8b9a;font-size:10px}
.storm-watch-property-event>div:last-child{display:flex;align-items:center;gap:8px}
.storm-watch-property-event small{color:#8493a1;font-size:10px}

@media(max-width:900px){
  .storm-watch-dashboard-metrics,.storm-watch-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .storm-watch-filters{grid-template-columns:1fr}
}
@media(max-width:620px){
  .storm-watch-dashboard-card,.storm-watch-body{width:calc(100% - 28px)}
    .storm-watch-dashboard-metrics,.storm-watch-metrics{grid-template-columns:1fr 1fr}
}


/* Storm Watch v1.2 — preserve current monitoring + historical hail context */
.property-storm-watch-card{grid-column:1/-1}
.property-storm-watch-monitoring,
.property-storm-history-section{
  border:1px solid #e3e9ee;
  border-radius:12px;
  padding:14px 16px;
  background:#fff;
}
.property-storm-history-section{margin-top:12px}
.property-storm-subhead{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:12px;
}
.property-storm-subhead>div>strong{
  display:block;
  color:#17324d;
  font-size:13px;
}
.property-storm-subhead>div>span{
  display:block;
  margin-top:3px;
  color:#718096;
  font-size:11px;
  line-height:1.4;
}
.property-storm-watch-monitoring .property-summary-empty,
.property-storm-history-section .property-summary-empty{
  margin:0;
}
@media(max-width:700px){
  .property-storm-subhead{flex-direction:column}
}


/* ===== Property Intelligence v2 ===== */
.property-intel-v2{display:flex;flex-direction:column;gap:0}
.property-intel-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.property-intel-meta>div,.property-intel-signal{padding:12px 14px;border:1px solid #e4eaf0;border-radius:11px;background:#fafbfc;min-width:0}
.property-intel-meta span,.property-intel-signal span{display:block;color:#64748b;font-size:.68rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.property-intel-meta strong,.property-intel-signal strong{display:block;margin-top:4px;color:#102a43;font-size:.94rem;line-height:1.3}
.property-intel-meta small,.property-intel-signal small{display:block;margin-top:3px;color:#718096;font-size:.75rem;line-height:1.35}
.property-intel-signals{padding:15px 0;border-top:1px solid #eef2f7}
.property-intel-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px}
.property-intel-section-title h4{margin:0;font-size:.92rem;letter-spacing:.02em}
.property-intel-section-title span{color:#718096;font-size:.76rem}
.property-intel-signal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px}
.property-intel-signal.warning{border-color:#fed7aa;background:#fff7ed}
.property-intel-item.wide{grid-column:span 2}
.property-data-status.complete{background:#ecfdf5;color:#166534}
.property-data-status.partial{background:#fff7ed;color:#9a3412}
.property-data-status.stale{background:#fff7ed;color:#9a3412}
.property-data-status.unavailable{background:#f1f5f9;color:#64748b}
@media(max-width:700px){.property-intel-meta{grid-template-columns:1fr}.property-intel-item.wide{grid-column:span 1}.property-intel-section-title{align-items:flex-start;flex-direction:column;gap:3px}}


/* Property Intelligence v2.1 — explainable Opportunity Signals */
.opportunity-signals .property-intel-section-title{
  align-items:flex-start;
  gap:16px;
}
.opportunity-signals .property-intel-section-title>div:first-child span{
  display:block;
  margin-top:3px;
}
.opportunity-signal-legend{
  flex:0 0 auto;
  border:1px solid #e4e8ec;
  border-radius:999px;
  padding:5px 9px;
  color:#697783;
  background:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.03em;
}
.property-intel-signal.opportunity.attention{
  border-color:#ead8c8;
}
.opportunity-signals-note{
  margin:12px 0 0;
  color:#718096;
  font-size:11px;
  line-height:1.5;
}
@media(max-width:700px){
  .opportunity-signals .property-intel-section-title{
    flex-direction:column;
  }
}


/* ==========================================================================
   Property Intelligence v2.2 — full-width contractor intelligence
   ========================================================================== */
#propertyRecordMasonry > .property-intel-card{
  grid-column:1 / -1!important;
  width:100%;
  box-sizing:border-box;
}

/* Use the horizontal space rather than turning Property Intelligence into a tall sidebar. */
#propertyRecordModal .property-intel-card .property-intel-signal-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
#propertyRecordModal .property-intel-card .property-intel-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}

/* The old metadata component is intentionally not part of the contractor-facing view. */
#propertyRecordModal .property-intel-card .property-intel-meta{
  display:none!important;
}

@media(max-width:900px){
  #propertyRecordModal .property-intel-card .property-intel-signal-grid,
  #propertyRecordModal .property-intel-card .property-intel-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  #propertyRecordModal .property-intel-card .property-intel-signal-grid,
  #propertyRecordModal .property-intel-card .property-intel-grid{
    grid-template-columns:1fr;
  }
}


/* ==========================================================================
   SquaredRoots Product Focus v1
   Product boundary: discover -> understand -> engage -> detect intent -> hand off.
   Tasks and Projects belong to the contractor's CRM, not SquaredRoots.
   ========================================================================== */
#tasksPage,
#projectsPage,
#projectRecordPage{
  display:none!important;
}

/* Old CRM-stage summary UI is no longer part of the Opportunities experience. */
#salesPipelineModal .legacy-crm-opportunity-ui{
  display:none!important;
}
#salesPipelineModal .opportunity-intelligence-help{
  margin-top:12px;
  color:#64748b;
}

/* Property Records should not expose task/project workflow remnants. */
#propertyRecordModal .property-tasks-card,
#propertyRecordModal .property-project-history-card{
  display:none!important;
}

/* SQ Intelligence v1.1 — SQ is the engine, not a destination */
.sq-agent-dormant{display:none!important}
.sq-intelligence-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:24px;align-items:stretch}
.sq-intelligence-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sq-intelligence-heading h3{margin:5px 0 8px}
.sq-strength-badge{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;border:1px solid #dce5ec;background:#f7fafc;color:#607485;white-space:nowrap}
.sq-strength-badge.promising{background:#fff9ed;border-color:#f6d899;color:#8a5b00}
.sq-strength-badge.strong{background:#fff3ea;border-color:#f2bf98;color:#a5480b}
.sq-strength-badge.priority{background:#fff0ef;border-color:#f2b8b3;color:#a62b23}
.sq-intelligence-signals{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.sq-signal-chip{display:inline-flex;border-radius:999px;padding:6px 9px;border:1px solid #dce5ec;background:#f7fafc;color:#52687a;font-size:10px;font-weight:800}
.sq-signal-chip.medium{background:#fff9ed;border-color:#f4dca8;color:#825a08}
.sq-signal-chip.high{background:#fff3ea;border-color:#f0c4a3;color:#9d4b13}
.sq-signal-chip.critical{background:#fff0ef;border-color:#efbbb7;color:#9f2e27}
.sq-intelligence-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;color:#718293;font-size:10px}
.sq-intelligence-meta strong{color:#314b60}
.sq-intelligence-action{border-left:1px solid #e3eaf0;padding-left:22px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.sq-intelligence-action>span{font-size:9px;font-weight:900;letter-spacing:.09em;color:#d96713;margin-bottom:7px}
.sq-intelligence-action>strong{font-size:12px;line-height:1.45;color:#40586b;margin-bottom:14px}
@media(max-width:820px){.sq-intelligence-card{grid-template-columns:1fr}.sq-intelligence-action{border-left:0;border-top:1px solid #e3eaf0;padding-left:0;padding-top:18px}}


/* SQ Intelligence v1.2 — classification is the headline, not another chip */
.sq-intelligence-heading{justify-content:flex-start}
.sq-intelligence-card .sq-strength-badge{display:none!important}
.sq-intelligence-action .primary.hidden{display:none!important}
.sq-intelligence-action:has(.primary.hidden){justify-content:center}


/* ==========================================================================
   Opportunity Intelligence v1 — SQ powered action queue
   ========================================================================== */
.opportunity-intelligence-page .sales-pipeline-body{display:block}
.sq-opportunity-body{max-width:1320px}
.sq-opportunity-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.sq-opportunity-metrics>div{border:1px solid #dce5ec;background:#fff;border-radius:12px;padding:15px 16px}
.sq-opportunity-metrics span{display:block;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#6f8090}
.sq-opportunity-metrics strong{display:block;font-size:26px;line-height:1.1;color:#08223d;margin:5px 0 3px}
.sq-opportunity-metrics small{font-size:10px;color:#7a8996}

.sq-opportunity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.sq-opportunity-filters{display:flex;gap:7px;flex-wrap:wrap}
.sq-opportunity-filters button{border:1px solid #d8e1e8;background:#fff;color:#43586b;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:800;cursor:pointer}
.sq-opportunity-filters button.active{border-color:#d96713;color:#b44e08;background:#fff8f3}
#sqOpportunityResultCount{font-size:11px;color:#718293}

.sq-opportunity-list{display:flex;flex-direction:column;gap:12px}
.sq-opportunity-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:22px;background:#fff;border:1px solid #dce5ec;border-left:4px solid #e0e7ed;border-radius:14px;padding:18px 20px;box-shadow:0 3px 12px rgba(15,37,56,.035)}
.sq-opportunity-card.promising{border-left-color:#e7aa38}
.sq-opportunity-card.strong{border-left-color:#d96713}
.sq-opportunity-card.priority{border-left-color:#c92336}
.sq-opportunity-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sq-opportunity-card-top>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.sq-opportunity-strength,.sq-opportunity-intent{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.sq-opportunity-strength.promising{background:#fff8e8;color:#885a00;border:1px solid #f1d99c}
.sq-opportunity-strength.strong{background:#fff3e9;color:#a84909;border:1px solid #efc29f}
.sq-opportunity-strength.priority{background:#fff0ef;color:#a3232e;border:1px solid #efb7bb}
.sq-opportunity-intent{background:#c92336;color:#fff}
.sq-opportunity-evaluated{font-size:9px;color:#8b98a3}
.sq-opportunity-card h3{margin:9px 0 6px;font-size:16px;color:#08223d}
.sq-opportunity-summary{margin:0;color:#506577;font-size:12px;line-height:1.5}
.sq-opportunity-signals{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.sq-opportunity-signals span{border:1px solid #dce5ec;background:#f8fafb;color:#586b7b;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}
.sq-opportunity-signals span.medium{background:#fff9ed;border-color:#f1dbac;color:#865c09}
.sq-opportunity-signals span.high{background:#fff3ea;border-color:#efc3a2;color:#9f4a11}
.sq-opportunity-signals span.critical{background:#fff0ef;border-color:#efb9b6;color:#9e2828}
.sq-opportunity-property-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:13px;color:#738291;font-size:10px}
.sq-opportunity-property-meta strong{color:#344d61}
.sq-opportunity-card-action{border-left:1px solid #e5ebf0;padding-left:20px;display:flex;flex-direction:column;justify-content:center}
.sq-opportunity-card-action>span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#d96713;margin-bottom:6px}
.sq-opportunity-card-action>strong{font-size:11px;line-height:1.5;color:#3f5668;margin-bottom:13px}
.sq-opportunity-card-buttons{display:flex;gap:8px;flex-wrap:wrap}
.sq-opportunity-empty{border:1px dashed #ccd7df;border-radius:12px;background:#fff;padding:28px;text-align:center;color:#637788}
.sq-opportunity-empty strong,.sq-opportunity-empty span{display:block}
.sq-opportunity-empty strong{color:#203b51;margin-bottom:5px}
.opportunity-refresh-button{white-space:nowrap}

@media(max-width:900px){
  .sq-opportunity-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sq-opportunity-card{grid-template-columns:1fr}
  .sq-opportunity-card-action{border-left:0;border-top:1px solid #e5ebf0;padding-left:0;padding-top:16px}
}
@media(max-width:560px){
  .sq-opportunity-metrics{grid-template-columns:1fr}
  .sq-opportunity-toolbar{align-items:flex-start;flex-direction:column}
}


/* ==========================================================================
   Storm Watch — Event Intelligence v1
   Storm Watch = what happened.
   Opportunities = where the contractor should act.
   ========================================================================== */
.storm-event-intelligence-page .storm-watch-body{max-width:1320px}
.storm-event-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.storm-event-metrics>div small{display:block;margin-top:3px;color:#7b8b98;font-size:9px}

.storm-event-list-card{background:#fff;border:1px solid #dce5ec;border-radius:14px;padding:18px}
.storm-event-list-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.storm-event-list-head h3{margin:4px 0}
.storm-event-list-head p{margin:0;color:#6e7f8e;font-size:11px}
#stormWatchResultCount{font-size:11px;color:#718293;white-space:nowrap}

.storm-event-filters{display:grid;grid-template-columns:minmax(240px,1fr) 180px 200px;gap:10px;margin-bottom:14px}
.storm-event-filters label{display:flex;flex-direction:column;gap:5px}
.storm-event-filters label>span{font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#708190}
.storm-event-filters input,.storm-event-filters select{min-height:38px;border:1px solid #d7e0e7;border-radius:8px;padding:0 10px;background:#fff}

.storm-event-list{display:flex;flex-direction:column;gap:10px}
.storm-event-card{border:1px solid #dce5ec;border-radius:12px;background:#fff;overflow:hidden}
.storm-event-card.open{box-shadow:0 5px 18px rgba(20,44,64,.055)}
.storm-event-summary{width:100%;border:0;background:#fff;display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(4,minmax(100px,.65fr)) 28px;gap:14px;align-items:center;padding:16px;text-align:left;cursor:pointer}
.storm-event-summary:hover{background:#fbfcfd}
.storm-event-identity{display:flex;align-items:center;gap:11px}
.storm-event-identity strong{display:block;color:#102f48;font-size:13px}
.storm-event-identity small{display:block;color:#80909c;font-size:9px;margin-top:2px}
.storm-event-stat span{display:block;font-size:8px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#80909c}
.storm-event-stat strong{display:block;color:#14334c;font-size:17px;line-height:1.15;margin-top:3px}
.storm-event-stat small{display:block;color:#8997a2;font-size:8px;margin-top:1px}
.storm-event-stat.opportunity strong{color:#d96713}
.storm-event-chevron{font-size:18px;color:#8594a0;text-align:center;transition:transform .18s ease}
.storm-event-card.open .storm-event-chevron{transform:rotate(180deg)}

.storm-event-details{border-top:1px solid #e5ebf0;background:#fbfcfd;padding:14px 16px 16px}
.storm-event-detail-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.storm-event-detail-head strong{display:block;color:#28465e;font-size:11px}
.storm-event-detail-head span{display:block;color:#7d8b96;font-size:9px;margin-top:2px}
.storm-event-properties{display:flex;flex-direction:column;gap:6px}
.storm-event-property-row{display:grid;grid-template-columns:minmax(230px,1.3fr) 105px 100px 145px 110px;gap:12px;align-items:center;background:#fff;border:1px solid #e1e7ec;border-radius:9px;padding:10px 11px}
.storm-event-property-main strong{display:block;color:#17364e;font-size:11px}
.storm-event-property-main span{display:block;color:#80909c;font-size:9px;margin-top:2px}
.storm-event-property-row>div:not(.storm-event-property-main) span{display:block;color:#84929d;font-size:8px;text-transform:uppercase;letter-spacing:.04em}
.storm-event-property-row>div:not(.storm-event-property-main) strong{display:block;color:#385166;font-size:11px;margin-top:2px}
.sq-promoted,.storm-event-opportunity-state .monitoring{display:inline-flex!important;width:max-content;border-radius:999px;padding:5px 8px;font-size:8px!important;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.sq-promoted.promising{background:#fff8e8;color:#885a00;border:1px solid #f1d99c}
.sq-promoted.strong{background:#fff3e9;color:#a84909;border:1px solid #efc29f}
.sq-promoted.priority{background:#fff0ef;color:#a3232e;border:1px solid #efb7bb}
.storm-event-opportunity-state .monitoring{background:#f3f6f8;color:#6c7d8b;border:1px solid #dce4e9}
.storm-event-loading{padding:26px;text-align:center;border:1px dashed #ced9e1;border-radius:10px;color:#6b7d8c}

@media(max-width:1050px){
  .storm-event-summary{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(100px,.7fr)) 28px}
  .storm-event-stat:nth-of-type(4),.storm-event-stat:nth-of-type(5){display:none}
  .storm-event-property-row{grid-template-columns:minmax(220px,1fr) 100px 100px 120px}
  .storm-event-property-row .storm-watch-open-property{grid-column:1 / -1;width:max-content}
}
@media(max-width:760px){
  .storm-event-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .storm-event-filters{grid-template-columns:1fr}
  .storm-event-summary{grid-template-columns:1fr 80px 28px}
  .storm-event-summary .storm-event-stat{display:none}
  .storm-event-summary .storm-event-stat:nth-of-type(2){display:block}
  .storm-event-property-row{grid-template-columns:1fr 90px}
  .storm-event-property-row>div:nth-child(n+3){display:none}
}


/* Storm Watch v1.4 — direct vs nearby exposure hierarchy */
.storm-event-summary{
  grid-template-columns:minmax(250px,1.5fr) repeat(5,minmax(92px,.62fr)) 28px;
}
@media(max-width:1180px){
  .storm-event-summary{grid-template-columns:minmax(230px,1.4fr) repeat(3,minmax(95px,.7fr)) 28px}
  .storm-event-summary .storm-event-stat:nth-of-type(4),
  .storm-event-summary .storm-event-stat:nth-of-type(5){display:none}
}


/* ==========================================================================
   Outreach Readiness v1.1 — surgical property workflow additions only
   ========================================================================== */
.property-sequence-nav{
  display:flex;
  align-items:center;
  gap:7px;
}
.property-sequence-nav>span{
  min-width:54px;
  text-align:center;
  font-size:11px;
  font-weight:800;
  color:#637487;
}
.property-sequence-button{
  min-height:34px!important;
  padding:7px 10px!important;
}
.property-sequence-button:disabled{
  opacity:.4;
  cursor:not-allowed;
}
.property-customer-summary{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.property-permission-panel{
  border:1px solid #dfe6ec;
  border-radius:10px;
  padding:12px;
  background:#fafbfd;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.property-permission-panel>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.property-permission-panel strong{
  font-size:12px;
  color:#19374f;
}
.property-permission-panel span{
  font-size:11px;
  color:#71808e;
}
.property-permission-check{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  line-height:1.4!important;
}
.property-permission-check input{
  width:15px!important;
  height:15px!important;
  margin-top:1px!important;
  flex:0 0 auto;
}
.property-contact-reviewed-check{
  grid-column:1 / -1;
  border:1px solid #ead9ca;
  border-radius:10px;
  padding:11px 12px;
  background:#fffaf5;
}
.property-outreach-readiness-card{
  border-color:#ecc49f!important;
  background:#fffaf6!important;
}
.property-outreach-status{
  display:inline-flex;
  border-radius:999px;
  padding:5px 9px;
  background:#fff0e1;
  color:#9a4b0e;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.property-outreach-readiness-copy{
  margin:2px 0 13px;
  color:#607182;
  font-size:12px;
  line-height:1.5;
}
.property-outreach-channel-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.property-outreach-channel{
  border:1px solid #dce4ea;
  border-radius:9px;
  padding:10px 11px;
  background:#fff;
}
.property-outreach-channel span{
  display:block;
  font-size:9px;
  font-weight:900;
  color:#758696;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.property-outreach-channel strong{
  display:block;
  margin-top:3px;
  font-size:11px;
  color:#26445c;
}
.property-outreach-channel.locked{
  background:#f6f8f9;
}
.property-outreach-channel.locked strong{
  color:#7f8b95;
}
.property-outreach-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}
@media(max-width:980px){
  .property-record-head-actions{flex-wrap:wrap}
  .property-sequence-nav{width:100%;justify-content:flex-end}
}
@media(max-width:700px){
  .property-customer-summary,
  .property-outreach-channel-grid{grid-template-columns:1fr}
}


/* Contact modal v1.3 — compact two-column layout */
.property-contact-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 18px!important;
}
.property-contact-channel-field{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}
.property-inline-permission{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#66788a;
  font-weight:600;
  line-height:1.35;
}
.property-inline-permission input{
  width:15px!important;
  height:15px!important;
  margin:0!important;
  flex:0 0 auto;
}
.property-contact-form-grid .property-notes-field{
  grid-column:1 / -1!important;
}
@media(max-width:720px){
  .property-contact-form-grid{
    grid-template-columns:1fr!important;
  }
  .property-contact-form-grid .property-notes-field{
    grid-column:1!important;
  }
}

/* Contact display v1.4 — compact summary */
.property-customer-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.property-contact-value-with-status{display:flex!important;align-items:center;gap:7px;min-width:0}
.property-contact-value-with-status>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.property-contact-permitted{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e8f7ee;color:#148345;font-size:11px;font-weight:900;flex:0 0 auto}
.property-contact-notes-field{grid-column:1 / -1}
.property-contact-notes-field strong{white-space:pre-wrap;line-height:1.45;font-weight:600!important}
@media(max-width:700px){.property-customer-summary-compact{grid-template-columns:1fr!important}.property-contact-notes-field{grid-column:1!important}}


/* Contact input/display polish v1.5 */
#propertyCustomerSummaryPhone,
#propertyCustomerSummaryEmail{
  color:#082b49!important;
  font-weight:700!important;
  text-transform:none!important;
}


/* Outreach Routing v1.6 — contact summary values are primary data */
#propertyCustomerSummaryPhone,
#propertyCustomerSummaryEmail{
  font-size:inherit!important;
  line-height:inherit!important;
  font-family:inherit!important;
  letter-spacing:normal!important;
  color:inherit!important;
  font-weight:inherit!important;
  text-transform:none!important;
}
.property-contact-value-with-status{
  font-size:inherit!important;
  line-height:inherit!important;
}
.property-contact-value-with-status #propertyCustomerSummaryPhone,
.property-contact-value-with-status #propertyCustomerSummaryEmail{
  font-size:inherit!important;
}

.quick-estimate-delivery label:has(input:disabled){
  opacity:.45;
}
#proposalDeliveryPermissionHint{
  display:block;
  margin-top:5px;
}


/* SQ Signal Timeline + Temporal Inference v1.8 */
.sq-reasoning-block{
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(17,55,82,.10);
}
.sq-reasoning-kicker{
  display:block;
  margin-bottom:8px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  color:#7a8792;
}
.sq-reasoning-list{display:grid;gap:7px}
.sq-reasoning-row{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:8px;
  align-items:start;
}
.sq-reasoning-number{
  width:20px;height:20px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:#f2f5f7;color:#526a7d;font-size:9px;font-weight:900;
}
.sq-reasoning-row strong{display:block;font-size:11px;color:#173a55}
.sq-reasoning-row p{margin:2px 0 0;font-size:11px;line-height:1.42;color:#5f7181}
.sq-reasoning-row small{display:block;margin-top:3px;font-size:9px;color:#8a969f}
.sq-reasoning-empty{font-size:11px;color:#7e8c98}
.sq-signal-timeline-block{
  margin-top:12px;
  border-top:1px solid rgba(17,55,82,.10);
  padding-top:10px;
}
.sq-signal-timeline-block summary{
  cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  font-size:10px;font-weight:800;color:#38566e;
}
.sq-signal-timeline-block summary span{font-weight:600;color:#83909a}
.sq-signal-timeline{margin-top:10px;display:grid;gap:0}
.sq-timeline-row{
  position:relative;display:grid;grid-template-columns:16px 1fr;gap:8px;
  padding:0 0 12px;
}
.sq-timeline-row:not(:last-child):before{
  content:"";position:absolute;left:5px;top:11px;bottom:0;width:1px;background:#dce4ea;
}
.sq-timeline-dot{
  width:11px;height:11px;border-radius:50%;margin-top:3px;background:#aeb8c0;border:2px solid #fff;box-shadow:0 0 0 1px #d4dce2;z-index:1
}
.sq-timeline-row.positive .sq-timeline-dot{background:#2d9d62}
.sq-timeline-row.negative .sq-timeline-dot{background:#c95f55}
.sq-timeline-row.catalyst .sq-timeline-dot{background:#d96713}
.sq-timeline-row.restriction .sq-timeline-dot{background:#8c4c92}
.sq-timeline-row.lead .sq-timeline-dot{background:#2d6f9d}
.sq-timeline-title{display:flex;justify-content:space-between;gap:10px}
.sq-timeline-title strong{font-size:10px;color:#183950}
.sq-timeline-title span{font-size:9px;color:#8b969f;white-space:nowrap}
.sq-timeline-content p{margin:2px 0;font-size:10px;line-height:1.4;color:#617281}
.sq-timeline-content small{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#929da6}
.sq-opportunity-reasoning{
  margin:10px 0;padding:9px 10px;border-radius:9px;background:#f7f9fa;border:1px solid #e4e9ed
}
.sq-opportunity-reasoning>span{display:block;margin-bottom:5px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#7d8992}
.sq-opportunity-reasoning>div{margin-top:5px}
.sq-opportunity-reasoning strong{display:block;font-size:10px;color:#1b3a52}
.sq-opportunity-reasoning small{display:block;margin-top:1px;font-size:9px;line-height:1.35;color:#697987}


/* SQ Decision Hierarchy v1.8.3 */
.property-next-action-card.sq-intelligence-card{
  display:block!important;
}
.property-next-action-card .sq-intelligence-main{
  width:100%!important;
  min-width:0!important;
}
.property-next-action-card .sq-intelligence-action{
  width:100%!important;
  margin:14px 0 0!important;
  padding:14px 0!important;
  border-left:0!important;
  border-top:1px solid rgba(17,55,82,.12)!important;
  border-bottom:1px solid rgba(17,55,82,.10)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  column-gap:24px!important;
  row-gap:5px!important;
  align-items:center!important;
}
.property-next-action-card .sq-intelligence-action>span{
  grid-column:1!important;
  grid-row:1!important;
  margin:0!important;
}
.property-next-action-card #sqRecommendedActionReason{
  grid-column:1!important;
  grid-row:2!important;
  margin:0!important;
  max-width:900px!important;
  line-height:1.45!important;
}
.property-next-action-card #propertyNextActionButton{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  margin:0!important;
  white-space:nowrap!important;
}
.property-next-action-card .sq-reasoning-block{
  margin-top:14px!important;
  padding-top:0!important;
  border-top:0!important;
}
.property-next-action-card .sq-reasoning-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:30px!important;
  row-gap:12px!important;
}
@media(max-width:900px){
  .property-next-action-card .sq-reasoning-list{
    grid-template-columns:1fr!important;
  }
  .property-next-action-card .sq-intelligence-action{
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
  }
  .property-next-action-card .sq-intelligence-action>span,
  .property-next-action-card #sqRecommendedActionReason,
  .property-next-action-card #propertyNextActionButton{
    grid-column:1!important;
    grid-row:auto!important;
  }
}


/* SQ Intelligence Card Layout v1.9.3
   Hierarchy: state -> recommendation/CTA -> current meta -> reasons -> history -> supporting chips */
.property-next-action-card.sq-intelligence-card{
  display:block!important;
}
.property-next-action-card .sq-intelligence-main{
  width:100%!important;
  min-width:0!important;
}
.property-next-action-card .sq-intelligence-heading{
  display:block!important;
}
.property-next-action-card .sq-intelligence-heading h3{
  margin-bottom:0!important;
}
.property-next-action-card .sq-decision-row-v193{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin-top:6px;
}
.property-next-action-card .sq-decision-row-v193 #propertyNextActionCopy{
  margin:0;
  max-width:980px;
  color:#5f7181;
  line-height:1.45;
}
.property-next-action-card .sq-decision-row-v193 #propertyNextActionButton{
  margin:0!important;
  white-space:nowrap;
}
.property-next-action-card .sq-intelligence-meta{
  margin-top:12px!important;
  padding-bottom:12px;
  border-bottom:1px solid rgba(17,55,82,.10);
}
.property-next-action-card .sq-reasoning-block{
  margin-top:14px!important;
  padding-top:0!important;
  border-top:0!important;
}
.property-next-action-card .sq-reasoning-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:30px!important;
  row-gap:12px!important;
}
.property-next-action-card .sq-signal-timeline-block{
  margin-top:14px!important;
  padding-top:10px!important;
}
.property-next-action-card .sq-signal-timeline-block summary{
  list-style:none;
  cursor:pointer;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%;
}
.property-next-action-card .sq-signal-timeline-block summary::-webkit-details-marker{
  display:none;
}
.property-next-action-card .sq-timeline-summary-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:10px;
  font-weight:800;
  color:#38566e;
}
.property-next-action-card .sq-timeline-chevron-v193{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  font-size:15px;
  line-height:1;
  color:#38566e;
  transition:transform .15s ease;
}
.property-next-action-card .sq-signal-timeline-block[open] .sq-timeline-chevron-v193{
  transform:rotate(90deg);
}
.property-next-action-card .sq-signals-below-timeline-v193{
  margin-top:12px!important;
}
@media(max-width:900px){
  .property-next-action-card .sq-decision-row-v193{
    grid-template-columns:1fr;
    gap:12px;
  }
  .property-next-action-card .sq-reasoning-list{
    grid-template-columns:1fr!important;
  }
  .property-next-action-card .sq-decision-row-v193 #propertyNextActionButton{
    justify-self:start;
  }
}


/* ==========================================================================\n   SquaredRoots v1.9.4 — Properties operational workspace\n   SQ intelligence + engagement + contextual action in the canonical listing.\n   ========================================================================== */
#measurementHistory .property-operational-row{
  grid-template-columns:92px minmax(220px,1.35fr) 132px minmax(260px,1.55fr) minmax(170px,.9fr) 150px 150px;
  gap:14px;
  min-height:118px;
}
#measurementHistory .property-sq-state,
#measurementHistory .property-sq-recommendation,
#measurementHistory .property-sq-signal,
#measurementHistory .property-sq-outreach{min-width:0;display:grid;align-content:center;gap:4px}
#measurementHistory .property-sq-state>span,
#measurementHistory .property-sq-recommendation>span,
#measurementHistory .property-sq-signal>span,
#measurementHistory .property-sq-outreach>span{color:#7b8996;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
#measurementHistory .property-sq-state strong{color:#173a66;font-size:12px;font-weight:900;line-height:1.25}
#measurementHistory .property-sq-urgency{width:max-content;padding:3px 7px;border-radius:999px;background:#eef3f7;color:#65778a;font-size:8px;font-weight:850;text-transform:capitalize}
#measurementHistory .property-sq-urgency.priority{background:#fff0f1;color:#b42332}
#measurementHistory .property-sq-urgency.strong{background:#fff6e8;color:#9a5b09}
#measurementHistory .property-sq-urgency.promising{background:#eef6ff;color:#28659c}
#measurementHistory .property-sq-recommendation{padding:0 14px;border-left:2px solid #e6ebef}
#measurementHistory .property-operational-row.priority .property-sq-recommendation{border-left-color:#bf1e2e}
#measurementHistory .property-operational-row.strong .property-sq-recommendation{border-left-color:#d96713}
#measurementHistory .property-sq-recommendation strong{display:-webkit-box;overflow:hidden;color:#203e59;font-size:10.5px;font-weight:800;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}
#measurementHistory .property-sq-signal strong,#measurementHistory .property-sq-outreach strong{overflow:hidden;color:#314d65;font-size:10px;font-weight:800;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
#measurementHistory .property-sq-signal small,#measurementHistory .property-sq-outreach small{color:#8996a2;font-size:8.5px;line-height:1.3}
#measurementHistory .property-sq-cta{min-width:140px!important;max-width:160px;height:auto!important;min-height:40px!important;padding:9px 12px!important;white-space:normal!important;line-height:1.2!important}
#measurementHistory .property-sq-cta.primary{border:1px solid #bf1e2e!important;background:#bf1e2e!important;color:#fff!important}
#measurementHistory .property-sq-cta.primary:hover{background:#a71927!important}
@media(max-width:1180px){#measurementHistory .property-operational-row{grid-template-columns:82px minmax(210px,1.2fr) 120px minmax(220px,1.35fr) minmax(150px,.8fr) 140px}.property-sq-outreach{display:none!important}}
@media(max-width:900px){#measurementHistory .property-operational-row{grid-template-columns:74px minmax(0,1fr) auto}#measurementHistory .property-sq-state{grid-column:1}#measurementHistory .property-sq-recommendation{grid-column:2/-1;padding:10px 0 0;border-left:0;border-top:2px solid #e6ebef}#measurementHistory .property-sq-signal{grid-column:1/3}#measurementHistory .property-sq-outreach{display:grid!important;grid-column:3}#measurementHistory .property-sq-cta{grid-column:3;grid-row:1}}
@media(max-width:620px){#measurementHistory .property-operational-row{grid-template-columns:68px minmax(0,1fr)}#measurementHistory .property-sq-state,#measurementHistory .property-sq-recommendation,#measurementHistory .property-sq-signal,#measurementHistory .property-sq-outreach,#measurementHistory .property-sq-cta{grid-column:1/-1!important;grid-row:auto!important}#measurementHistory .property-sq-recommendation{padding-top:10px}#measurementHistory .property-sq-cta{max-width:none;width:100%}}

/* SQ_LISTING_V196 */
.property-visual-row{grid-template-columns:minmax(310px,1.25fr) minmax(0,3.15fr) 170px!important;align-items:center}
.property-sq-listing{display:grid;grid-template-columns:.82fr 1.55fr 1.05fr 1.05fr;min-width:0;align-items:stretch}
.property-sq-cell{min-width:0;padding:4px 18px;border-left:1px solid #dce5ed;display:flex;flex-direction:column;justify-content:center;gap:4px}
.property-sq-cell>span{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#708196}
.property-sq-cell strong{font-size:13px;line-height:1.3;color:#082a4d;overflow:hidden;text-overflow:ellipsis}
.property-sq-cell small{font-size:11px;color:#708196;line-height:1.25}
.property-sq-urgency{display:inline-flex!important;align-self:flex-start;padding:3px 8px;border-radius:999px;background:#edf3f7;color:#52697d!important;font-weight:700}
.property-sq-recommendation-cell strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;white-space:normal}
.property-sq-signal-cell [data-sq-latest-signal],.property-sq-outreach-cell [data-sq-outreach]{display:flex;flex-direction:column;gap:3px;min-width:0}
@media(max-width:1180px){
  .property-visual-row{grid-template-columns:minmax(280px,1fr) minmax(0,2fr) 145px!important}
  .property-sq-listing{grid-template-columns:1fr 1.4fr 1fr}
  .property-sq-outreach-cell{display:none}
}

/* SQ_LISTING_LAYOUT_V1964 */
/* Layout-only correction. No SQ loading/evaluation lifecycle changes. */
#measurementHistory .property-visual-row.property-operational-row{
  display:grid!important;
  grid-template-columns:minmax(300px,1.45fr) 130px minmax(250px,1.45fr) minmax(155px,.8fr) minmax(155px,.8fr) 142px!important;
  gap:0!important;
  align-items:center!important;
  min-height:126px!important;
  padding:14px 16px!important;
}
#measurementHistory .property-listing-identity{
  min-width:0;
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding-right:18px;
}
#measurementHistory .property-listing-identity .property-list-thumb{
  width:92px;
  height:76px;
}
#measurementHistory .property-listing-identity .property-visual-identity{min-width:0}
#measurementHistory .property-sq-state,
#measurementHistory .property-sq-recommendation,
#measurementHistory .property-sq-signal,
#measurementHistory .property-sq-outreach{
  min-width:0!important;
  min-height:76px;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:4px;
  padding:4px 16px!important;
  border-left:1px solid #e2e8f0;
}
#measurementHistory .property-sq-recommendation{
  border-top:0!important;
  border-left:2px solid #e6ebef!important;
}
#measurementHistory .property-operational-row.priority .property-sq-recommendation{border-left-color:#bf1e2e!important}
#measurementHistory .property-operational-row.strong .property-sq-recommendation{border-left-color:#d96713!important}
#measurementHistory .property-sq-cta{
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:142px!important;
  align-self:center;
  justify-self:end;
  margin:0!important;
}
@media(max-width:1180px){
  #measurementHistory .property-visual-row.property-operational-row{
    grid-template-columns:minmax(275px,1.35fr) 120px minmax(220px,1.25fr) minmax(145px,.75fr) 140px!important;
  }
  #measurementHistory .property-sq-outreach{display:none!important}
}
@media(max-width:900px){
  #measurementHistory .property-visual-row.property-operational-row{
    grid-template-columns:minmax(0,1fr) 135px!important;
    gap:10px 0!important;
  }
  #measurementHistory .property-listing-identity{grid-column:1;grid-row:1;padding-right:12px}
  #measurementHistory .property-sq-state{grid-column:2;grid-row:1}
  #measurementHistory .property-sq-recommendation{grid-column:1/-1;grid-row:auto}
  #measurementHistory .property-sq-signal{grid-column:1}
  #measurementHistory .property-sq-outreach{display:flex!important;grid-column:1}
  #measurementHistory .property-sq-cta{grid-column:2!important;grid-row:auto!important}
}
@media(max-width:620px){
  #measurementHistory .property-visual-row.property-operational-row{grid-template-columns:1fr!important}
  #measurementHistory .property-listing-identity,
  #measurementHistory .property-sq-state,
  #measurementHistory .property-sq-recommendation,
  #measurementHistory .property-sq-signal,
  #measurementHistory .property-sq-outreach,
  #measurementHistory .property-sq-cta{grid-column:1!important;grid-row:auto!important}
  #measurementHistory .property-sq-state,
  #measurementHistory .property-sq-recommendation,
  #measurementHistory .property-sq-signal,
  #measurementHistory .property-sq-outreach{min-height:0;padding:9px 0!important;border-left:0!important;border-top:1px solid #e2e8f0!important}
  #measurementHistory .property-sq-cta{max-width:none!important}
}

.territory-draw-layer{position:absolute;inset:0;width:100%;height:100%;z-index:3;touch-action:none;cursor:crosshair}.territory-draw-layer[hidden]{display:none}.territory-drawing-caption{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.territory-drawing-caption span{flex:1}#territory-draw-start[aria-pressed="true"]{border-color:#7aa7d6;background:#edf5ff}
