:root {
  --navy: #153754;
  --navy2: #0e2b45;
  --blue: #2878a6;
  --sky: #eaf4f8;
  --ink: #17334a;
  --muted: #6e7e8d;
  --line: #dce5ea;
  --paper: #fff;
  --bg: #f3f7f8;
  --gold: #e6ab42;
  --green: #1f7a5a;
  --shadow: 0 18px 55px rgba(18, 48, 72, 0.09);
}

/* Measured roof follow-up and top-position extra entry */
.roof-linear-active-entry{padding:10px;border:2px solid #74b2d1;border-radius:11px;background:#fff}
.roof-linear-saved-entry{grid-template-columns:minmax(0,1fr) minmax(110px,150px) 78px 42px;padding:9px;border-radius:10px;background:#eaf3f7}
.roof-linear-saved-entry select:disabled,.roof-linear-saved-entry input:disabled{opacity:1;background:#f7fbfd;color:#234c64;-webkit-text-fill-color:#234c64}
.roof-linear-line>button[data-save-roof-linear],.roof-linear-line>button[data-edit-roof-linear]{width:auto;min-width:78px;padding:0 10px;font-size:.82rem}
.roof-linear-line>button[data-save-roof-linear]{border-color:#147aa9;background:#147aa9;color:#fff}
.roof-linear-line>button[data-edit-roof-linear]{border-color:#8eafc0;color:#176184}
.roof-result-appointment{width:100%;margin-top:10px;min-height:48px;border:1px solid #6b53a3;border-radius:11px;background:#f3effc;color:#58388e;font-weight:900}
.appointment-result-measurement-note{display:grid;gap:3px;margin:0 0 12px;padding:11px 12px;border:1px solid #a6d3bd;border-radius:11px;background:#edf9f2;color:#215f43}
.appointment-result-measurement-note span{font-size:.8rem;line-height:1.4}
@media(max-width:680px){.roof-linear-active-entry{grid-template-columns:minmax(0,1fr) 100px 78px}.roof-linear-saved-entry{grid-template-columns:minmax(0,1fr) 64px 42px}.roof-linear-saved-entry label:first-child{grid-column:1/-1}.roof-linear-saved-entry label:nth-child(2){grid-column:1}.roof-linear-saved-entry>button[data-edit-roof-linear]{grid-column:2;grid-row:2}.roof-linear-saved-entry>button[data-remove-roof-linear]{grid-column:3;grid-row:2}}

.trial-access-banner{position:sticky;top:var(--topbar-height,0);z-index:38;display:flex;align-items:center;justify-content:center;gap:.7rem;padding:.55rem 1rem;background:#e8f5ff;border-bottom:2px solid #2b84ad;color:#123c56}.trial-access-banner b{border-radius:999px;background:#197ba7;color:#fff;padding:.3rem .75rem;text-transform:uppercase;letter-spacing:.08em}.appointment-history{border:1px solid #3185aa;border-radius:12px;background:#edf8fc;color:#135779;font-weight:800;padding:.65rem .85rem}.client-history-dialog{width:min(680px,calc(100vw - 24px))}.client-history-item{border:1px solid #cbdde6;border-radius:14px;padding:.9rem;margin-bottom:.7rem}.client-history-summary{display:grid;gap:.45rem}.client-history-summary span{display:grid;gap:.2rem}.client-history-item details{margin-top:.7rem}.client-history-item summary{cursor:pointer;color:#17698e;font-weight:800}.client-history-item p{white-space:pre-wrap;line-height:1.55}.reuse-estimate-button{display:block;width:100%;margin-top:.85rem;border:0;border-radius:12px;background:#187eaa;color:#fff;font:inherit;font-weight:850;padding:.8rem 1rem;cursor:pointer}.reuse-estimate-button:hover,.reuse-estimate-button:focus-visible{background:#126789}.reuse-estimate-unavailable{display:block;margin-top:.8rem;color:#6b7f8b}.reuse-estimate-explanation{border-left:4px solid #2586af;background:#eef8fc;border-radius:8px;padding:.8rem;line-height:1.5}.trial-toggle{display:flex;gap:.7rem;align-items:flex-start;border:1px solid #b9d4e1;border-radius:14px;padding:.8rem;background:#f3fafc}.trial-toggle span{display:grid;gap:.25rem}.operations-workflow-fields{display:grid;gap:1rem;border-top:1px solid #cbdde6;margin-top:1.2rem;padding-top:1.2rem}.operations-milestones{display:grid;gap:.65rem}.operations-milestones>label{display:flex;gap:.7rem;align-items:flex-start;border:1px solid #d5e3ea;border-radius:12px;padding:.7rem}.operations-milestones>label span{display:grid;grid-template-columns:minmax(130px,1fr) 145px minmax(180px,2fr);gap:.6rem;align-items:center;width:100%}.operations-add-record{border:1px solid #b9d4e1;border-radius:16px;padding:1rem;background:#f6fbfd}.operations-alerts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.operations-alerts b{background:#fee7e4;color:#a3362b;border-radius:999px;padding:.3rem .6rem;font-size:.78rem}.operations-overdue{border-left:5px solid #c94a3b!important}#operationsHistoryList p{display:grid;grid-template-columns:auto 1fr;gap:.4rem;border-bottom:1px solid #e1ebf0;padding:.55rem 0}#operationsHistoryList small{grid-column:2;color:#687f8d}
@media(max-width:700px){.operations-milestones>label span{grid-template-columns:1fr}.appointment-meta-actions{flex-wrap:wrap}.appointment-history{width:100%}}

/* Landscape section-based measurement workflow */
.landscape-workspace{display:grid;gap:14px}.landscape-section-list{display:grid;gap:14px}.landscape-section-card{background:#fff;border:1px solid #cbd8e2;border-radius:18px;box-shadow:0 8px 22px rgba(4,35,61,.07);overflow:hidden}.landscape-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px 16px;background:#e9f2f8;border-bottom:1px solid #cbd8e2}.landscape-section-head input{width:100%;min-width:0;border:0;background:transparent;color:#082b49;font:700 1.05rem/1.2 inherit;padding:6px 2px}.landscape-section-head button,.landscape-line-remove{border:0;background:transparent;color:#9b2734;font-weight:700}.landscape-product-lines{display:grid;gap:12px;padding:14px}.landscape-product-line{display:grid;gap:10px;padding:13px;border:1px solid #dce5eb;border-radius:14px;background:#fbfdfe}.landscape-product-line label{display:grid;gap:5px;color:#496171;font-size:.78rem;font-weight:750}.landscape-product-line select,.landscape-product-line input{width:100%;min-width:0;border:1px solid #b9c9d4;border-radius:10px;background:#fff;padding:11px;color:#0b2a43;font:inherit}.landscape-product-pickers{display:grid;grid-template-columns:minmax(150px,.38fr) minmax(0,1fr);gap:10px}.landscape-area-measurement{display:grid;grid-template-columns:minmax(90px,1fr) auto minmax(90px,1fr) minmax(110px,.7fr);gap:9px;align-items:end;padding:11px;border-radius:12px;background:#eef6fa}.landscape-times{align-self:end;padding:0 2px 12px;color:#527083;font-size:1.2rem;font-weight:900}.landscape-derived-area{display:grid;gap:5px;padding:0 4px 10px}.landscape-derived-area span{color:#496171;font-size:.78rem;font-weight:750}.landscape-derived-area b{color:#0871a7;font-size:1rem}.landscape-direct-measurement{max-width:220px}.landscape-measurement-placeholder{padding:12px;border-radius:10px;background:#f1f5f7;color:#667986;font-size:.83rem}.landscape-road-base{display:flex!important;grid-template-columns:auto 1fr;gap:10px!important;align-items:flex-start;padding:11px 12px;border:1px solid #b8d2df;border-radius:11px;background:#edf8fc}.landscape-road-base input{width:20px;height:20px;margin:1px 0 0}.landscape-road-base span{display:grid;gap:2px}.landscape-road-base b{color:#123e5d;font-size:.88rem}.landscape-road-base small{color:#607785;font-size:.75rem;font-weight:600}.landscape-driveway-question{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid #e1b84e;border-radius:11px;background:#fff8df}.landscape-driveway-question>div:first-child{display:grid;gap:3px}.landscape-driveway-question b{color:#5c4300}.landscape-driveway-question small{color:#775f20}.landscape-driveway-question>div:last-child{display:flex;gap:7px;flex:0 0 auto}.landscape-driveway-question button{border:1px solid #c79b2f;border-radius:9px;background:#fff;padding:8px 10px;color:#624600;font-weight:800}.landscape-line-remove{justify-self:start;padding:4px 0}.landscape-line-meta{display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid #e2e9ed;color:#5f7180;font-size:.78rem}.landscape-line-meta b{color:#0d6b98}.add-landscape-product,.add-landscape-section{border:1px dashed #7ea4bb;background:#f4f9fc;color:#0c5d87;border-radius:12px;padding:12px;font-weight:800}.add-landscape-section{width:100%;min-height:48px}.landscape-measurement-total{display:grid!important;gap:12px;margin-top:14px;background:#fff!important;color:#17334a!important;border:1px solid #cbd8e2}.landscape-total-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding-bottom:11px;border-bottom:1px solid #dce5ea}.landscape-total-heading>div{display:grid;gap:3px}.landscape-total-heading span{color:#557080;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.landscape-total-heading strong{color:#0b4169;font-size:1.55rem}.landscape-total-heading small{color:#607785;font-weight:750}.landscape-quantity-summary h2{margin:0;color:#0b3150;font-size:1rem}.landscape-quantity-summary>p{margin:3px 0 10px;color:#677b88;font-size:.78rem}.landscape-quantity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 0;border-top:1px solid #e4eaee}.landscape-quantity-row:first-child{border-top:0}.landscape-quantity-row small{display:block;margin-top:3px;color:#667b88;font-size:.75rem}.landscape-quantity-row>b{color:#0871a7;text-align:right}.landscape-quantity-row>b span{color:#617986;font-size:.7rem;font-weight:700}.landscape-quantity-empty{margin:0;color:#6b7e8a;font-size:.8rem}.landscape-minimum-warnings{margin:14px 0 0;padding:12px 14px;border:1px solid #e3b74d;border-radius:12px;background:#fff8df;color:#694b00}.landscape-minimum-warnings b{display:block;margin-bottom:5px}.landscape-minimum-warnings ul{margin:0;padding-left:18px}.landscape-pricing-sections{display:grid;gap:12px}.landscape-pricing-section{border:1px solid #cbd8e2;border-radius:16px;background:#fff;overflow:hidden}.landscape-pricing-section h3{margin:0;padding:13px 15px;background:#e9f2f8;color:#082b49}.landscape-pricing-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 15px;border-top:1px solid #e3eaef}.landscape-pricing-row p{margin:3px 0 0;color:#60717d;font-size:.8rem}.landscape-pricing-row strong{color:#0871a7}.landscape-pricing-discount{display:flex;justify-content:space-between;gap:10px;padding:11px 15px;background:#eef8e7;color:#315d18;font-weight:800}.landscape-commission-card{margin-top:14px}
@media(max-width:680px){.landscape-product-pickers{grid-template-columns:1fr}.landscape-area-measurement{grid-template-columns:1fr auto 1fr}.landscape-derived-area{grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;padding:2px 0}.landscape-derived-area b{text-align:right}.landscape-driveway-question{align-items:flex-start;flex-direction:column}.landscape-driveway-question>div:last-child{width:100%}.landscape-driveway-question button{flex:1}.landscape-line-meta{font-size:.72rem}.landscape-total-heading{align-items:flex-start;flex-direction:column}.landscape-quantity-row{align-items:start}}
.hvac-workspace{align-items:start}.hvac-builder{display:grid;gap:14px}.hvac-card{display:grid;gap:13px}.hvac-card .section-bar{margin:-18px -18px 2px}.hvac-system-details{display:grid;gap:7px;padding:13px;border:1px solid #d9e4eb;border-radius:13px;background:#f7fafc;color:#405766}.hvac-system-details>div{display:flex;justify-content:space-between;gap:14px}.hvac-system-details strong{color:#0b3150;text-align:right}.hvac-package-option{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #bbcfda;border-radius:13px;background:#fff}.hvac-package-option input{width:20px;height:20px;margin:1px 0 0}.hvac-package-option span{display:grid;gap:3px}.hvac-package-option small,.hvac-helper{color:#657985}.hvac-helper{margin:0;font-size:.82rem}.hvac-custom-lines{display:grid;gap:10px}.hvac-custom-line{display:grid;grid-template-columns:minmax(0,1fr) 90px 130px auto;gap:9px;align-items:end;padding:11px;border:1px solid #d9e4eb;border-radius:13px;background:#fbfdfe}.hvac-custom-line label{display:grid;gap:5px;color:#496171;font-size:.74rem;font-weight:750}.hvac-custom-line input{width:100%;min-width:0;border:1px solid #b9c9d4;border-radius:10px;background:#fff;padding:10px;color:#0b2a43;font:inherit}.hvac-custom-line button{border:0;background:transparent;color:#9b2734;font-weight:800;padding:10px 4px}.hvac-fixed-extras{display:grid;gap:8px}.hvac-extra-row,.hvac-extra-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #dce5eb;border-radius:12px;background:#fbfdfe}.hvac-extra-row.selected,.hvac-extra-toggle.selected{border-color:#63a4c5;background:#edf8fd;box-shadow:0 0 0 1px rgba(40,120,166,.12)}.hvac-extra-row div,.hvac-extra-toggle div{min-width:0}.hvac-extra-row b,.hvac-extra-toggle b{display:block;color:#0b3150}.hvac-extra-row small,.hvac-extra-toggle small{display:block;margin-top:3px;color:#657985}.hvac-extra-row>strong,.hvac-extra-toggle>strong{min-width:80px;text-align:right;color:#0871a7}.hvac-extra-toggle{grid-template-columns:auto auto minmax(0,1fr) auto;cursor:pointer}.hvac-extra-toggle>input{position:absolute;opacity:0;pointer-events:none}.hvac-extra-check{display:grid;place-items:center;width:25px;height:25px;border:2px solid #9eb4c1;border-radius:7px;background:#fff;color:transparent;font-weight:900}.hvac-extra-toggle.selected .hvac-extra-check{border-color:#1678ac;background:#1678ac;color:#fff}.hvac-zone-stepper{display:grid!important;grid-template-columns:36px 38px 36px;align-items:center;border:1px solid #aec3cf;border-radius:10px;overflow:hidden;background:#fff}.hvac-zone-stepper button{height:38px;border:0;background:#edf5f8;color:#0b5f8a;font-size:1.15rem;font-weight:900}.hvac-zone-stepper button:disabled{color:#a7b4bc}.hvac-zone-stepper b{text-align:center}.hvac-list-breakdown{display:grid;gap:7px;margin:12px 0;padding:11px 0;border-top:1px solid #d8e1e7;border-bottom:1px solid #d8e1e7}.hvac-list-breakdown div{display:flex;justify-content:space-between;gap:12px}.hvac-btm{margin-top:12px}.hvac-commission-card{margin-top:14px}
@media(max-width:680px){.hvac-custom-line{grid-template-columns:minmax(0,1fr) 78px 110px}.hvac-custom-line button{grid-column:1/-1;justify-self:start}.hvac-zone-row{grid-template-columns:minmax(0,1fr) auto}.hvac-zone-row>strong{grid-column:1/-1;text-align:right}.hvac-extra-toggle{grid-template-columns:auto minmax(0,1fr) auto}.hvac-extra-check{grid-column:1}.hvac-extra-toggle>div{grid-column:2}.hvac-extra-toggle>strong{grid-column:3;min-width:64px}.hvac-system-details>div{align-items:flex-start;flex-direction:column;gap:3px}.hvac-system-details strong{text-align:left}}
.hvac-extra-toggle{grid-template-columns:auto minmax(0,1fr) auto}
* {
  box-sizing: border-box;
}
html {
  background: var(--bg);
}
body {
  margin: 0;
  color: var(--ink);
  background: linear-gradient(135deg, #f8fbfc 0%, #eef4f6 100%);
  font-family:
    -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  min-height: 100vh;
}
.app-shell {
  max-width: 1180px;
  margin: 0 auto;
  min-height: 100vh;
}
.app-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  margin-top: 34px;
  padding: 22px 20px max(22px, env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.5;
  text-align: center;
}
.topbar {
  height: 82px;
  padding: max(15px, env(safe-area-inset-top)) 26px 12px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(14px);
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 100;
  isolation: isolate;
}
.brand-mark {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 13px;
  background: #fff;
  display: block;
  position: relative;
  overflow: visible;
  cursor: pointer;
}
.brand-mark img{display:block;width:100%;height:100%;object-fit:cover;border-radius:13px}
.brand-mark small{position:absolute;right:-7px;bottom:-6px;padding:3px 6px;border:2px solid #fff;border-radius:999px;background:#153754;color:#fff;font-size:7px;line-height:1;text-transform:uppercase;letter-spacing:.06em;font-weight:900;box-shadow:0 2px 5px rgba(7,27,45,.22)}
.brand-copy {
  margin-left: 12px;
}
.brand-copy strong,
.brand-copy span {
  display: block;
}
.brand-copy strong {
  font-size: 16px;
}
.brand-copy span {
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
}
.draft-pill {
  margin-left: auto;
  border: 1px solid #bcd6c8;
  background: #edf7f1;
  color: var(--green);
  font-size: 12px;
  font-weight: 750;
  padding: 7px 10px;
  border-radius: 999px;
}
.draft-pill[data-state="pending"],
.draft-pill[data-state="saving"] {
  background: #eef7fb;
  border-color: #a9cbdc;
  color: #17658f;
}
.draft-pill[data-state="failed"] {
  background: #fff0ed;
  border-color: #e5a89e;
  color: #9b3024;
}
main {
  padding: 42px 32px 52px;
}
.intro {
  max-width: 640px;
  margin-bottom: 24px;
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 800;
  font-size: 11px;
  color: var(--blue);
  margin: 0 0 7px;
}
.intro h1 {
  font-size: 38px;
  letter-spacing: -0.035em;
  line-height: 1.05;
  margin: 0 0 11px;
}
.intro > p:last-child {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
}
.appointment-card,
.form-card {
  background: var(--paper);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 22px;
}
.appointment-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 20px 22px;
  border-left: 5px solid var(--gold);
  margin-bottom: 20px;
}
.calendar-icon {
  width: 58px;
  border: 1px solid var(--line);
  border-radius: 12px;
  text-align: center;
  overflow: hidden;
  background: #fff;
}
.calendar-icon span {
  display: block;
  background: var(--navy);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  padding: 5px;
}
.calendar-icon b {
  font-size: 25px;
  display: block;
  padding: 6px;
}
.live-row {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--green);
  font-weight: 700;
}
.live-dot {
  width: 8px;
  height: 8px;
  background: #2aa778;
  border-radius: 50%;
  box-shadow: 0 0 0 4px #dff4ec;
}
.appointment-copy h2 {
  font-size: 19px;
  margin: 6px 0 4px;
}
.appointment-copy p {
  display: inline;
  margin: 0 14px 0 0;
  color: var(--muted);
  font-size: 13px;
}
.product-chip {
  display: inline-block;
  background: var(--sky);
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  border-radius: 999px;
  padding: 5px 9px;
  margin-top: 9px;
}
.appointment-meta-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:9px}.appointment-meta-actions .product-chip{margin-top:0}.appointment-directions{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid #90b5ca;border-radius:999px;background:#fff;color:#12638f;padding:6px 11px;font:inherit;font-size:.76rem;font-weight:850;cursor:pointer}.appointment-directions span{font-size:1rem;line-height:1}.appointment-directions:disabled{opacity:.48;cursor:not-allowed}.appointment-directions:not(:disabled):hover,.appointment-directions:not(:disabled):focus-visible{border-color:#2878a6;background:#edf7fb}.client-details-heading{grid-template-columns:auto minmax(0,1fr) auto}.clear-client-details{align-self:start;min-height:40px;border:1px solid #d6a9a5;border-radius:10px;background:#fff;color:#96362f;padding:8px 13px;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}.clear-client-details:hover,.clear-client-details:focus-visible{background:#fff1ef;border-color:#bd746e}.directions-dialog{width:min(460px,calc(100% - 24px))}.directions-destination{display:grid;gap:4px;padding:14px;border:1px solid #c8dbe6;border-radius:13px;background:#f1f8fb}.directions-destination span{color:#60798a;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.directions-destination b{color:#153754;line-height:1.4;overflow-wrap:anywhere}.directions-app-list{display:grid;gap:9px}.directions-app-list>button{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:64px;border:1px solid #cfdee7;border-radius:14px;background:#fff;padding:10px 13px;color:#153754;text-align:left;font:inherit;cursor:pointer}.directions-app-list>button:hover,.directions-app-list>button:focus-visible{border-color:#5795b7;background:#f1f8fb}.directions-app-list>button>span:nth-child(2){display:grid;gap:3px}.directions-app-list small{color:#697f8d}.directions-app-list i{font-style:normal;font-weight:900}.directions-app-icon{display:grid!important;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff;font-weight:950}.directions-app-icon.apple{background:#263746}.directions-app-icon.google{background:#2777d0}.directions-app-icon.waze{background:#1596c7}
@media(max-width:1049px){.app-shell{padding-top:82px}.topbar{position:fixed;inset:0 0 auto 0;width:100%;max-width:none}.training-mode-banner{top:82px}}
@media(max-width:520px){.client-details-heading{grid-template-columns:auto minmax(0,1fr)}.client-details-heading .clear-client-details{grid-column:2;justify-self:start;margin-top:2px}.appointment-meta-actions{gap:7px}.appointment-directions{min-height:36px}}
.appointment-question {
  min-width: 245px;
  border-left: 1px solid var(--line);
  padding-left: 20px;
}
.appointment-question strong {
  font-size: 13px;
}
.choice-row {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.choice-row > .choice {
  flex: 1 1 0;
  min-width: 0;
}
.choice {
  border: 0;
  border-radius: 10px;
  padding: 10px 12px;
  font-weight: 750;
  cursor: pointer;
}
.choice.primary {
  background: var(--navy);
  color: #fff;
}
.choice.secondary {
  background: #eff3f5;
  color: var(--ink);
}
.choice.selected {
  box-shadow: 0 0 0 3px rgba(40, 120, 166, 0.22);
}
.form-card {
  padding: 28px;
}
.section-heading {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding-bottom: 23px;
  border-bottom: 1px solid var(--line);
}
.section-heading > span {
  display: grid;
  place-items: center;
  flex: none;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}
.section-heading h2 {
  font-size: 19px;
  margin: 1px 0 3px;
}
.section-heading p {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 24px;
}
.field {
  display: grid;
  gap: 8px;
}
.field > span {
  font-size: 13px;
  font-weight: 750;
}
.field input,
.field select {
  width: 100%;
  height: 50px;
  border: 1px solid #ccd9df;
  border-radius: 12px;
  background: #fbfdfe;
  padding: 0 14px;
  color: var(--ink);
  font: inherit;
  font-size: 16px;
  outline: none;
  transition: 0.2s;
}
.field input:focus,
.field select:focus {
  background: #fff;
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(40, 120, 166, 0.12);
}
.field input.invalid,
.field select.invalid {
  background: #fff7ce;
  border-color: #d2a12f;
}
.input-with-icon {
  position: relative;
}
.input-with-icon input {
  padding-right: 44px;
}
.input-with-icon svg {
  position: absolute;
  right: 14px;
  top: 14px;
  width: 21px;
  fill: none;
  stroke: var(--blue);
  stroke-width: 1.8;
}
.address-field a {
  font-size: 12px;
  color: var(--blue);
  text-decoration: none;
  font-weight: 650;
  width: max-content;
}
.footer-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 4px 0;
}
.footer-action p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}
.shield {
  display: inline-grid;
  place-items: center;
  background: #dff2e9;
  color: var(--green);
  font-weight: 800;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  margin-right: 7px;
}
.continue-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  text-align: center;
  line-height: 1.2;
  height: 52px;
  min-width: 170px;
  border: 0;
  border-radius: 13px;
  background: var(--navy);
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(21, 55, 84, 0.16);
}
.continue-btn span {
  margin-left: 14px;
}
.continue-btn:active,
.choice:active {
  transform: translateY(1px);
}
.toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translate(-50%, 20px);
  background: var(--navy2);
  color: #fff;
  padding: 13px 18px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transition: 0.25s;
  z-index: 5;
}
.toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.packet-form{display:grid;gap:18px;padding-bottom:36px}.packet-card{display:grid;gap:18px}.packet-grid{align-items:end}.packet-auto-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#edf4f8;border:1px solid #c9d9e3;border-radius:14px;padding:14px}.packet-auto-summary div{min-width:0}.packet-auto-summary span{display:block;color:#607483;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.packet-auto-summary b{display:block;margin-top:3px;color:#153754;overflow-wrap:anywhere}.packet-finance{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:14px;padding:15px;border-radius:14px;background:#f1f6fa;border:1px solid #c9d9e3}.packet-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.packet-files input[type=file]{padding:12px;background:#f8fafb;border:1px dashed #8ea6b5;border-radius:12px}.packet-order-card{display:grid;grid-template-columns:1fr 1fr;gap:12px}.packet-order-card>div{display:grid;gap:5px;background:#153754;color:white;border-radius:14px;padding:15px}.packet-order-card b{font-size:1rem}.packet-order-card span{font-size:.86rem;line-height:1.45;color:#dbe8ef}.packet-actions{margin-top:0}.packet-downloads{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;border:1px solid #b6cfbe;background:#eff8f1;border-radius:14px}.packet-downloads a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;border-radius:12px;background:#153754;color:white;font-weight:800;text-decoration:none;text-align:center}.menu-button{display:inline-flex;align-items:center;gap:7px;border:1px solid #c6d5df;background:white;color:#153754;border-radius:12px;padding:10px 12px;font-weight:800;font-size:.9rem;white-space:nowrap}.app-menu-dialog{width:min(92vw,410px);max-width:none;height:100dvh;max-height:none;margin:0 0 0 auto;border:0;padding:0;background:transparent}.app-menu-dialog::backdrop{background:rgba(9,28,42,.48)}.app-menu-panel{height:100%;background:#f6f9fb;padding:max(20px,env(safe-area-inset-top)) 18px max(20px,env(safe-area-inset-bottom));box-shadow:-16px 0 40px rgba(10,34,50,.2);display:flex;flex-direction:column;gap:20px}.app-menu-head{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 14px;border-bottom:1px solid #d7e2e9}.app-menu-head h2{margin:2px 0 0;color:#153754;font-size:1.55rem}.app-menu-head button{border:0;background:#e5edf2;color:#153754;width:42px;height:42px;border-radius:50%;font-size:1.55rem}.app-menu-nav{display:grid;gap:10px}.app-menu-nav button{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;border:1px solid #d2dfe7;background:white;border-radius:16px;padding:14px;text-align:left;color:#153754}.app-menu-nav button>span:nth-child(2){display:grid;gap:3px}.app-menu-nav b{font-size:1rem}.app-menu-nav small{color:#667b89;font-size:.82rem;line-height:1.25}.menu-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e7f0f5;color:#153754;font-size:1.15rem;font-weight:900}.app-menu-nav i{font-style:normal;font-weight:900}.menu-badge{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:#d85b43;color:white;font-size:.78rem}.menu-new-project{margin-top:auto;border:0;border-radius:14px;padding:14px;background:#153754;color:white;font-weight:900;font-size:.95rem}.queue-card{padding:0;overflow:hidden}.sale-queue-list{display:grid}.queue-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border-bottom:1px solid #dfe8ed}.queue-row:last-child{border-bottom:0}.queue-row div{min-width:0}.queue-row h3{margin:0;color:#153754;font-size:1rem}.queue-row p{margin:4px 0 0;color:#657986;font-size:.86rem}.queue-row button{border:0;border-radius:11px;background:#153754;color:white;padding:10px 13px;font-weight:800}.queue-empty{padding:28px;text-align:center;color:#667b89}.statistics-content{display:grid;gap:16px}.stats-period{display:grid;gap:12px}.stats-period h2{margin:0;color:#153754}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.stat-card{background:white;border:1px solid #d4e0e7;border-radius:16px;padding:16px;display:grid;gap:5px}.stat-card span{color:#687d8a;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.stat-card strong{color:#153754;font-size:1.55rem}.stat-card small{color:#718490}.product-trend-card{background:white;border:1px solid #d4e0e7;border-radius:16px;padding:18px}.product-trend-card h2{margin:0 0 8px;color:#153754}.stats-explainer{margin:0 0 15px;color:#667b89;line-height:1.45}.product-stat-row{display:grid;grid-template-columns:minmax(130px,1fr) 3fr minmax(86px,auto);gap:12px;align-items:center;margin:12px 0}.product-stat-row span{font-weight:800;color:#314e62}.product-stat-row>b{display:grid;text-align:right;color:#153754}.product-stat-row>b small{font-weight:600;color:#728490}.product-stat-bar{height:10px;border-radius:999px;background:#e4edf2;overflow:hidden}.product-stat-bar i{display:block;height:100%;border-radius:inherit;background:#2780a7}.history-source-note{display:grid;gap:5px;border:1px solid #b6cfbe;background:#eff8f1;border-radius:16px;padding:16px;color:#55705a}.history-source-note b{color:#235d2d}.history-source-note span{line-height:1.45}.history-source-note ul{margin:5px 0 0;padding-left:19px;color:#62766a;line-height:1.45}.history-table-wrap{overflow-x:auto;border:1px solid #dbe5ea;border-radius:12px}.history-table{width:100%;min-width:680px;border-collapse:collapse;background:white}.history-table th,.history-table td{padding:12px 13px;border-bottom:1px solid #e2e9ed;text-align:right;white-space:nowrap}.history-table th{background:#edf4f8;color:#536b7b;font-size:.78rem;text-transform:uppercase;letter-spacing:.035em}.history-table th:first-child,.history-table td:first-child{text-align:left}.history-table tbody tr:last-child td{border-bottom:0}.history-missing td{color:#8a6b34;background:#fff8e8;text-align:left}.seasonality-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.seasonality-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid #dbe5ea;border-radius:13px;background:#f8fafb}.seasonality-row>div{display:grid;gap:3px}.seasonality-row b,.seasonality-row strong{color:#153754}.seasonality-row span,.seasonality-row small{color:#667b89}.seasonality-row>div:last-child{text-align:right}
.required-field>span i{display:inline-flex;margin-left:7px;padding:2px 7px;border-radius:999px;background:#fde9e4;color:#a43827;font-size:.68rem;font-style:normal;font-weight:900;letter-spacing:.035em;text-transform:uppercase}.next-project-card{display:grid;gap:12px;padding:16px;border:2px solid #2b6f94;border-radius:14px;background:#edf5fa;box-shadow:0 6px 18px rgba(21,55,84,.08)}.next-project-card>div{display:grid;gap:3px}.next-project-card>div b{color:#153754;font-size:1.05rem}.next-project-card>div span{color:#607483;font-size:.86rem}.next-project-card textarea{background:white;min-height:92px}.packet-finalize{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border:2px solid #56a34a;border-radius:16px;background:#eff9ec}.packet-finalize div{display:grid;gap:4px}.packet-finalize b{color:#235d2d;font-size:1.05rem}.packet-finalize span{color:#55705a;font-size:.86rem;line-height:1.4}.packet-finalize button{border:0;border-radius:12px;background:#2f7e39;color:white;padding:13px 18px;font-weight:900;white-space:nowrap}
.required-legend{display:inline-flex;margin-left:7px;padding:2px 7px;border-radius:999px;background:#fde9e4;color:#a43827;font-size:.68rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.optional-legend{display:inline-flex;margin-left:7px;padding:2px 7px;border-radius:999px;background:#e9f4fa;color:#236f94;font-size:.68rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.stats-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.stats-card-head>div:first-child{min-width:0}.stats-card-head h2{margin:0}.stats-card-head .stats-explainer{margin:6px 0 0}.stats-view-control{display:grid;grid-template-columns:auto minmax(300px,430px);align-items:center;justify-content:space-between;gap:14px;margin:14px 0 18px;padding:11px 12px;border:2px solid #8fb5ca;border-radius:14px;background:#edf6fb}.stats-view-control>b{color:#153754;font-size:.88rem;text-transform:uppercase;letter-spacing:.035em}.stats-view-toggle{display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid #9eb9c9;border-radius:11px;background:white}.stats-view-toggle button{min-height:44px;border:0;border-radius:8px;padding:8px 12px;background:white;color:#315166;font-weight:900;white-space:nowrap}.stats-view-toggle button span{margin-right:5px;font-size:1.08rem}.stats-view-toggle button[aria-pressed="true"]{background:#153754;color:white;box-shadow:0 2px 8px rgba(21,55,84,.24)}.stats-chart{display:grid;gap:12px;padding-top:3px}.stats-chart-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.stats-chart svg{display:block;width:100%;min-width:620px;height:auto}.stats-chart-grid{stroke:#dbe5ea;stroke-width:1}.stats-chart-line{vector-effect:non-scaling-stroke}.stats-chart-point{stroke:white;stroke-width:2;vector-effect:non-scaling-stroke}.stats-chart-x-label,.stats-chart-y-label{fill:#607483;font-size:12px;font-weight:700}.stats-chart-legend{display:flex;flex-wrap:wrap;gap:8px 15px;color:#536b7b;font-size:.8rem;font-weight:750}.stats-chart-legend span{display:inline-flex;align-items:center;gap:6px}.stats-chart-legend i{display:inline-block;width:18px;height:4px;border-radius:999px}
@media(max-width:700px){.packet-auto-summary,.packet-files,.packet-finance,.packet-order-card,.packet-downloads,.packet-finalize,.stats-grid,.seasonality-list{grid-template-columns:1fr}.packet-actions{align-items:stretch}.packet-actions .continue-btn,.packet-finalize button{width:100%}.topbar .brand-copy{display:none}.queue-row{grid-template-columns:1fr}.queue-row button{width:100%}.product-stat-row{grid-template-columns:minmax(90px,1fr) 1fr minmax(76px,auto)}.seasonality-row{grid-template-columns:1fr}.seasonality-row>div:last-child{text-align:left}}
@media(max-width:700px){.stats-card-head{display:grid}.stats-view-control{grid-template-columns:1fr;gap:7px}.stats-view-toggle{width:100%}.stats-view-toggle button{white-space:normal}.stats-chart-scroll{margin-inline:-6px}.stats-chart svg{min-width:590px}}
.apple-scan-note{display:grid;gap:5px;padding:14px 16px;border-radius:14px;background:#e9f3f8;border:1px solid #b9d1de;color:#35576c}.apple-scan-note b{color:#153754}.apple-scan-note span{font-size:.9rem;line-height:1.45}.packet-file-field{min-width:0;margin:0;padding:14px;border:1px solid #c9d9e3;border-radius:14px;background:#f8fafb}.packet-file-field legend{padding:0 6px;color:#153754;font-weight:900}.packet-file-field label{display:grid;gap:6px;margin-top:9px}.packet-file-field label span{font-size:.82rem;font-weight:800;color:#607483}.packet-file-field input[type=file]{width:100%;box-sizing:border-box;padding:11px;background:#e9f3f8;border:1px solid #8ea6b5;border-radius:11px;color:#153754}
.packet-file-field small{display:block;margin-top:9px;color:#667b89;line-height:1.4}.packet-scan-review{display:grid;gap:14px;padding:15px;border:1px solid #c9d9e3;border-radius:14px;background:#f8fafb}.scan-review-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.scan-review-head>div{display:grid;gap:3px}.scan-review-head b{color:#153754}.scan-review-head span{color:#657986;font-size:.85rem}.packet-detected-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detected-page{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;margin:0;padding:10px;border:1px solid #d5e1e8;border-radius:12px;background:white}.detected-page img{display:block;width:88px;height:112px;object-fit:contain;border:1px solid #d5dce0;background:#eef2f4}.detected-page>div{display:grid;gap:8px}.detected-page b{color:#153754}.detected-page label{display:grid;gap:4px}.detected-page label span{font-size:.76rem;font-weight:800;color:#667b89}.detected-page select{width:100%;min-width:0;padding:9px;border:1px solid #9eb2bf;border-radius:9px;background:white;color:#153754}.scan-warning{margin:0;padding:10px 12px;border-radius:10px;background:#fff3d8;color:#76520c;font-weight:800}.scan-warning.ready{background:#e7f5eb;color:#27633a}@media(max-width:700px){.packet-detected-pages{grid-template-columns:1fr}.scan-review-head{display:grid}}
.admin-head-actions{display:flex;gap:8px}.invite-help{margin:14px 0 0;color:#657f90}.admin-user-row-actions{display:flex;gap:8px}.admin-user-row button.admin-delete-user{border-color:#d8a6a3;color:#9d2c28}@media(max-width:700px){.admin-card-head{align-items:stretch;flex-direction:column}.admin-head-actions{display:grid;grid-template-columns:1fr 1fr}.admin-head-actions button{width:100%}}
.training-mode-banner{position:sticky;top:82px;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px;background:#fff1c7;border-bottom:1px solid #e4c66f;color:#684b05;font-size:.88rem}.training-mode-banner b{padding:3px 8px;border-radius:999px;background:#76520c;color:#fff;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.training-mode-menu{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:14px;border:1px solid #dbc169;border-radius:14px;background:#fff7dc;color:#5d450d}.training-mode-menu div{display:grid;gap:3px}.training-mode-menu span,.training-mode-menu small{font-size:.82rem;line-height:1.35}.training-mode-menu small{grid-column:1/-1;color:#735b22}.training-mode-menu button{align-self:center;border:1px solid #a47a15;border-radius:9px;background:#fff;color:#684b05;padding:9px 12px;font-weight:850}.training-mode-menu button:disabled{opacity:.55}.admin-user-main{display:grid!important;gap:11px!important}.admin-user-identity{display:grid;gap:4px}.admin-product-access{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;border-radius:11px;background:#edf5f9}.admin-product-access>span{color:#597487;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.admin-product-access>div{display:flex;flex-wrap:wrap;gap:6px}.admin-product-access b{padding:5px 9px;border:1px solid #bad1dd;border-radius:8px;background:#fff;color:#1b5878;font-size:.78rem;line-height:1.15}.admin-product-access em{color:#7a6b51;font-size:.82rem}.admin-user-flags{display:flex!important;flex-wrap:wrap;gap:6px!important}.admin-user-flags span{padding:4px 8px;border-radius:999px;background:#eef1f3;color:#526774;font-size:.72rem;font-weight:800}.admin-user-flags span.training{background:#fff0c4;color:#6d500a}@media(max-width:720px){.training-mode-banner{top:72px;align-items:flex-start;justify-content:flex-start}.training-mode-banner span{line-height:1.35}.admin-product-access{grid-template-columns:1fr;gap:6px}}
.training-project-chip{display:inline-block;margin:5px 0 0;padding:3px 7px;border-radius:999px;background:#fff0c4;color:#6d500a;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.stats-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.stat-card em{display:block;margin-top:5px;padding-top:8px;border-top:1px solid #dce7ed;color:#28769b;font-size:.82rem;font-style:normal;font-weight:900}.statistics-projection-note{margin:0;color:#607483;font-size:.88rem}.statistics-date-card{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr);gap:18px;padding:18px;border:1px solid #b9d0dc;border-radius:16px;background:#f1f8fb}.statistics-date-card h2{margin:4px 0;color:#153754}.statistics-date-card p{margin:0;color:#617785;line-height:1.4}.statistics-date-card form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}.statistics-date-card label{display:grid;gap:5px;color:#36586d;font-size:.82rem;font-weight:850}.statistics-date-card input,.statistics-date-card select{width:100%;min-width:0;min-height:46px;border:1px solid #9db8c7;border-radius:10px;background:white;padding:9px;color:#153754;font-size:16px}.statistics-date-card form>button{min-height:46px;border:0;border-radius:10px;background:#153754;color:white;padding:10px 15px;font-weight:850}@media(max-width:700px){.statistics-date-card{grid-template-columns:1fr;padding:15px}.statistics-date-card form{grid-template-columns:1fr 1fr}.statistics-period-choice{grid-column:1/-1}.statistics-date-card form>button{grid-column:1/-1}}
.app-menu-brand{display:flex;align-items:center;gap:12px;min-width:0}.app-menu-brand>img{display:block;width:52px;height:52px;object-fit:cover;border-radius:14px;box-shadow:0 4px 12px rgba(7,27,45,.12)}.app-menu-brand>div{min-width:0}.platform-auth-dialog{max-height:calc(100dvh - 24px);overflow:auto}.platform-auth-logo{display:block;width:min(100%,290px);height:auto;margin:-10px auto -4px;border-radius:18px}
@media(max-width:520px){.platform-auth-logo{width:min(100%,230px);margin:-8px auto -5px}.platform-auth-card{gap:13px}.app-menu-brand>img{width:46px;height:46px;border-radius:12px}}
@media (max-width: 720px) {
  .topbar {
    height: 72px;
    padding-left: 17px;
    padding-right: 17px;
  }
  .brand-mark {
    width: 40px;
    height: 40px;
  }
  .draft-pill {
    font-size: 11px;
  }
  main {
    padding: 28px 16px 34px;
  }
  .intro {
    margin-bottom: 19px;
  }
  .intro h1 {
    font-size: 31px;
  }
  .intro > p:last-child {
    font-size: 14px;
  }
  .appointment-card {
    grid-template-columns: auto 1fr;
    padding: 17px 15px;
    gap: 13px;
    border-radius: 18px;
  }
  .calendar-icon {
    width: 51px;
  }
  .appointment-copy p {
    display: block;
    margin: 2px 0;
  }
  .appointment-question {
    grid-column: 1/-1;
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 15px 0 0;
  }
  .choice-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .choice {
    padding: 12px 8px;
  }
  .form-card {
    padding: 20px 16px;
    border-radius: 18px;
  }
  .form-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .footer-action {
    align-items: stretch;
    flex-direction: column;
    gap: 16px;
  }
  .continue-btn {
    width: 100%;
    padding: 0 20px;
  }
}
.coating-extras-heading {
  margin-top: 14px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.item-meta .par-ref {
  color: #805c18;
  background: #fff4d7;
  border-radius: 999px;
  padding: 3px 7px;
  font-weight: 800;
}
.coating-commission-card {
  margin: 16px 0;
  padding: 15px;
  border-radius: 14px;
  background: #ffffff12;
  border: 1px solid #ffffff22;
}
#coatingPage .pricing-workspace {
  grid-template-columns: minmax(0, 1fr) 330px;
}
.commission-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 13px;
}
.commission-heading > span {
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.commission-heading small,
.commission-input > span small,
.commission-results span small {
  color: #bcd0df;
  font-size: 9px;
}
.commission-input {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}
.commission-input > span {
  font-size: 11px;
  font-weight: 750;
}
.commission-input > div {
  height: 43px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 10px;
  border-radius: 9px;
  background: #fff;
  color: var(--navy);
}
.commission-input i {
  font-style: normal;
  font-weight: 850;
}
.commission-input input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  font: inherit;
  font-size: 17px;
  font-weight: 850;
  color: var(--navy);
  background: transparent;
}
.commission-results {
  display: grid;
  gap: 7px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #ffffff25;
}
.commission-results > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  font-size: 11px;
}
.commission-results span small {
  display: block;
  margin-top: 2px;
}
.commission-results b {
  white-space: nowrap;
}
.commission-results .commission-total {
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid #ffffff25;
  font-size: 13px;
}
.commission-results .negative {
  color: #ffb5aa;
}
@media (max-width: 720px) {
  #coatingPage .pricing-workspace {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 721px) and (orientation: landscape) {
  main {
    padding-top: 34px;
  }
  .appointment-card {
    grid-template-columns: auto 1fr 300px;
  }
  .form-card {
    padding: 30px 34px;
  }
}
.hidden {
  display: none !important;
}
.pricing-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
}
.back-btn {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  border-radius: 10px;
  padding: 9px 13px;
  font-weight: 750;
  cursor: pointer;
}
.version {
  text-align: right;
  color: var(--muted);
  font-size: 10px;
}
.version span,
.version b {
  display: block;
}
.version span {
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.version b {
  color: var(--ink);
  font-size: 11px;
  margin-top: 3px;
}
.pricing-intro {
  margin-bottom: 22px;
}
.roof-type-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 20px 22px;
  box-shadow: var(--shadow);
  margin-bottom: 20px;
}
.roof-type-card > div:first-child {
  display: flex;
  align-items: center;
  gap: 13px;
}
.step-number {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--navy);
  color: white;
  font-weight: 800;
}
.roof-type-card h2 {
  font-size: 18px;
  margin: 0 0 3px;
}
.roof-type-card p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}
.roof-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #e8eef1;
  padding: 4px;
  border-radius: 12px;
  min-width: 250px;
}
.roof-toggle button {
  height: 42px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  font-weight: 800;
  cursor: pointer;
}
.roof-toggle button.active {
  background: var(--navy);
  color: #fff;
  box-shadow: 0 5px 12px #1537542a;
}
.pricing-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 275px;
  gap: 20px;
  align-items: start;
}
.price-column {
  display: grid;
  gap: 14px;
}
.section-bar {
  display: flex;
  justify-content: space-between;
  align-items: end;
  padding: 0 3px;
}
.section-bar span {
  font-size: 11px;
  text-transform: uppercase;
  color: var(--blue);
  font-weight: 800;
  letter-spacing: 0.1em;
}
.section-bar h2 {
  font-size: 20px;
  margin: 2px 0 0;
}
.section-bar small {
  color: var(--muted);
}
.price-items {
  display: grid;
  gap: 8px;
}
.price-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  align-items: center;
  gap: 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 13px 14px;
}
.price-item.selected {
  border-color: #7aa9c5;
  background: #fafdff;
}
.display-name{display:grid;gap:2px;min-width:0;line-height:1.25}.display-name-primary{display:block;color:inherit;font-weight:800;white-space:normal}.display-name-secondary{display:block;color:var(--muted);font-size:12px;font-weight:600;line-height:1.3;white-space:normal}.item-copy>.display-name{color:var(--navy);font-size:14px}.selected-product-name{display:block;margin-top:3px;padding:5px 7px;border-radius:8px;background:#eef5f9;color:var(--navy);font-size:13px}.selected-product-name .display-name-secondary{margin-top:1px}.landscape-pricing-row .display-name,.hvac-extra-row .display-name{color:#0b3150;font-size:14px}.presentation-option-row .display-name,.presentation-measure-row .display-name,.overview-line .display-name{color:#143c5c;font-size:14px}.selected-line>.display-name,.selected-line>span>.display-name{font-size:12px}.selected-line .display-name-secondary{color:#bcd0df;font-size:12px}
.item-copy b {
  display: block;
  font-size: 13px;
  line-height: 1.35;
}
.item-meta {
  display: flex;
  gap: 9px;
  align-items: center;
  margin-top: 5px;
  font-size: 11px;
  color: var(--muted);
}
.item-meta strong {
  color: var(--blue);
}
.qty-wrap {
  background: #111b23;
  border-radius: 10px;
  padding: 6px 8px;
  color: #fff;
}
.qty-wrap span {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9cabb5;
  font-size: 8px;
  font-weight: 800;
}
.qty-wrap input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #fff;
  font-weight: 800;
  font-size: 20px;
  text-align: right;
  padding: 0;
}
.price-item-total {
  grid-column: 1/-1;
  text-align: right;
  font-size: 11px;
  color: var(--green);
  font-weight: 800;
  margin-top: -6px;
}
.custom-extras {
  margin: 12px 0 4px;
  padding: 14px;
  border: 1px dashed #9eb9c8;
  border-radius: 14px;
  background: #f6fafc;
}
.custom-extras-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.custom-extras-heading strong,
.custom-extras-heading span {
  display: block;
}
.custom-extras-heading strong {
  font-size: 13px;
  color: var(--navy);
}
.custom-extras-heading span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}
.custom-extra-rows {
  display: grid;
  gap: 9px;
}
.custom-extra-row {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) 82px 120px 100px 34px;
  gap: 8px;
  align-items: end;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
}
.custom-extra-row label {
  min-width: 0;
}
.custom-extra-row label > span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.custom-extra-row input {
  width: 100%;
  height: 40px;
  border: 1px solid #cbd9df;
  border-radius: 9px;
  background: #fff;
  color: var(--ink);
  padding: 0 10px;
  font: inherit;
  font-size: 16px;
}
.custom-extra-row input[readonly] {
  background: #edf3f6;
  color: var(--navy);
  font-weight: 800;
}
.custom-price-input {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  height: 40px;
  border: 1px solid #cbd9df;
  border-radius: 9px;
  background: #fff;
  overflow: hidden;
}
.custom-price-input i {
  padding-left: 9px;
  color: var(--muted);
  font-style: normal;
  font-weight: 800;
}
.custom-price-input input {
  height: 38px;
  border: 0;
  border-radius: 0;
  padding-left: 4px;
}
.remove-custom-extra {
  width: 34px;
  height: 40px;
  border: 1px solid #dfc2bc;
  border-radius: 9px;
  background: #fff;
  color: #9a4338;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
}
.custom-extra-total {
  grid-column: 1/-1;
  min-height: 14px;
  color: var(--green);
  font-size: 12px;
  text-align: right;
}
.add-custom-extra {
  width: 100%;
  min-height: 42px;
  margin-top: 9px;
  border: 1px solid var(--blue);
  border-radius: 10px;
  background: #fff;
  color: var(--blue);
  font-weight: 850;
  cursor: pointer;
}
.extra {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
  overflow: hidden;
  margin-top: 10px;
}
@media (max-width: 720px) {
  .custom-extras {
    padding: 11px;
  }
  .custom-extra-row {
    grid-template-columns: 1fr 1fr 34px;
  }
  .custom-description {
    grid-column: 1/-1;
  }
  .custom-extra-row label:nth-of-type(2) {
    grid-column: 1;
  }
  .custom-extra-row label:nth-of-type(3) {
    grid-column: 2;
  }
  .custom-extra-row label:nth-of-type(4) {
    grid-column: 1/3;
  }
  .remove-custom-extra {
    grid-column: 3;
    grid-row: 3;
  }
}
.extra summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 17px;
  cursor: pointer;
  font-weight: 800;
}
.extra summary::-webkit-details-marker {
  display: none;
}
.extra summary small {
  color: var(--muted);
  margin-left: 6px;
}
.extra summary span:last-child {
  font-size: 20px;
  color: var(--blue);
}
.extra[open] summary {
  border-bottom: 1px solid var(--line);
}
.extra .price-items {
  padding: 10px;
  background: #f7fafb;
}
.total-card {
  position: sticky;
  top: 104px;
  background: var(--navy);
  color: #fff;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 18px 40px #102d4540;
}
.total-card > span {
  text-transform: uppercase;
  letter-spacing: 0.11em;
  color: #bcd0df;
  font-size: 10px;
  font-weight: 800;
}
.total-card > strong {
  display: block;
  font-size: 34px;
  margin: 6px 0;
}
.total-card > p {
  font-size: 11px;
  color: #bcd0df;
  margin: 0 0 18px;
}
.selected-summary {
  border-top: 1px solid #ffffff25;
  padding-top: 12px;
  display: grid;
  gap: 9px;
}
.selected-summary em {
  font-size: 12px;
  color: #bcd0df;
}
.selected-line {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 11px;
}
.selected-line span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.selected-line>span{white-space:normal}.selected-line .display-name{overflow:visible;text-overflow:clip;white-space:normal}
.total-card button {
  width: 100%;
  height: 45px;
  border: 0;
  border-radius: 10px;
  background: #fff;
  color: var(--navy);
  font-weight: 800;
  margin-top: 18px;
  cursor: pointer;
}
.fee-options {
  border: 0;
  border-top: 1px solid #ffffff25;
  border-bottom: 1px solid #ffffff25;
  margin: 0 0 15px;
  padding: 14px 0;
}
.fee-options legend {
  padding: 13px 0 0;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #bcd0df;
  font-size: 10px;
  font-weight: 800;
}
.fee-options label {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  font-size: 12px;
  cursor: pointer;
}
.fee-options input {
  accent-color: var(--gold);
  width: 17px;
  height: 17px;
}
.fee-options b {
  color: #d9e8f1;
}
.financing-plan-picker{display:grid;gap:10px;margin:-4px 0 16px;padding:13px;border:1px solid #ffffff29;border-radius:12px;background:#ffffff0d}.financing-plan-picker.hidden{display:none}.financing-plan-picker label{display:grid;gap:5px;color:#d9e8f1;font-size:.76rem;font-weight:850}.financing-plan-picker select{width:100%;min-height:42px;border:1px solid #7992a5;border-radius:9px;background:#fff;color:#153754;padding:8px 10px;font:inherit}.financing-plan-summary{display:grid;gap:3px;padding:10px;border-radius:9px;background:#041f39;color:#fff}.financing-plan-summary b{font-size:.88rem}.financing-plan-summary span{color:#c9dce9;font-size:.76rem;line-height:1.35}.presentation-payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.presentation-payment-card{padding:18px;border:1px solid #bad4e2;border-radius:17px;background:#eff7fb;box-shadow:0 6px 18px rgba(11,61,95,.06)}.presentation-payment-card header{margin-bottom:7px}.presentation-payment-card header span{color:#658093;font-size:.73rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.presentation-payment-card h3{margin:3px 0 0;color:#123b5b;font-size:1.16rem}.presentation-payment-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #cfdee7}.presentation-payment-line>span{display:grid;gap:2px;color:#365a72;font-weight:800}.presentation-payment-line small{color:#6b8495;font-size:.75rem;font-weight:650}.presentation-payment-line strong{color:#0a6fa8;font-size:1.08rem;white-space:nowrap}.presentation-payment-line.payment-feature strong{font-size:1.38rem}.presentation-financing-meta{margin:0;padding:0 0 12px;color:#5f788a;font-size:.78rem;line-height:1.45}.presentation-financing-adjuster{border-top:1px solid #cfdee7}.presentation-financing-adjuster summary{padding:12px 0 2px;color:#0b679c;font-size:.84rem;font-weight:850;cursor:pointer}.presentation-financing-adjuster>div{display:grid;gap:9px;padding-top:10px}.presentation-financing-adjuster label{display:grid;gap:4px;color:#5d788b;font-size:.76rem;font-weight:800}.presentation-financing-adjuster select{width:100%;min-height:42px;border:1px solid #9eb8c8;border-radius:9px;background:#fff;color:#153754;padding:8px 10px;font:inherit}.cash-payment-card{background:#f7fbf8;border-color:#bed9c8}.cash-payment-card .presentation-payment-line{border-color:#d8e7dd}.cash-payment-card .presentation-payment-line strong{color:#17633a}.financing-catalog-dialog{width:min(980px,calc(100% - 20px));max-height:92dvh}.financing-catalog-dialog .duplicate-dialog-body{display:grid;gap:14px}.financing-catalog-list{display:grid;gap:12px;max-height:58dvh;overflow:auto;padding-right:4px}.financing-category{display:grid;gap:8px}.financing-category>h3{margin:0;padding:9px 11px;border-radius:9px;background:#e8f1f6;color:#153754;font-size:.92rem}.financing-catalog-row{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(150px,1fr) minmax(0,1.8fr) minmax(90px,.55fr);gap:12px;align-items:start;padding:11px;border:1px solid #d9e4ea;border-radius:10px;background:#fff}.financing-catalog-row>div{display:grid;gap:3px}.financing-catalog-row b{color:#153754}.financing-catalog-row span,.financing-catalog-row small{color:#657b89;line-height:1.35}.financing-catalog-row strong{color:#17633a;text-align:right}.financing-catalog-row.unavailable{background:#f4f6f7;opacity:.68}.financing-catalog-row.unavailable strong{color:#8a5a25}
.price-breakdown {
  display: grid;
  gap: 8px;
  margin-bottom: 15px;
}
.price-breakdown > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #ffffff12;
  border-radius: 9px;
  padding: 10px;
}
.price-breakdown span {
  font-size: 12px;
  font-weight: 750;
}
.price-breakdown small {
  display: block;
  color: #bcd0df;
  font-size: 10px;
  margin-top: 2px;
}
.price-breakdown b {
  font-size: 15px;
}
.total-card .continue-overview {
  background: var(--gold);
  color: #172c3d;
  margin-top: 9px;
}
.overview-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
  padding: 26px;
}
.contact-capture-intro {
  max-width: 700px;
}
.contact-capture-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
  padding: 26px;
}
.contact-capture-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.contact-capture-actions {
  display: grid;
  grid-template-columns: minmax(130px, 0.7fr) minmax(180px, 1fr);
  gap: 12px;
  max-width: 440px;
  margin: 26px 0 0 auto;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.contact-capture-actions button {
  min-height: 50px;
  border-radius: 12px;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}
#skipContactCapture {
  border: 1px solid #c8d6dd;
  background: #fff;
  color: var(--ink);
}
#saveContactCapture {
  border: 0;
  background: var(--navy);
  color: #fff;
  box-shadow: 0 10px 20px rgba(21, 55, 84, 0.16);
}
.contact-capture-actions button:disabled {
  opacity: 0.65;
  cursor: wait;
}
.overview-section {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}
.overview-section:first-child {
  padding-top: 0;
}
.overview-section:last-child {
  border: 0;
  padding-bottom: 0;
}
.overview-section > span {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  margin-bottom: 8px;
}
.overview-section h2 {
  margin: 0 0 5px;
  font-size: 20px;
}
.overview-section p {
  color: var(--muted);
  margin: 3px 0;
  line-height: 1.45;
}
.overview-line {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  padding: 8px 0;
}
.overview-line b {
  font-size: 13px;
}
.overview-total {
  display: flex;
  justify-content: space-between;
  align-items: end;
  background: var(--navy);
  color: #fff;
  border-radius: 14px;
  padding: 18px;
  margin-top: 13px;
}
.overview-total span {
  color: #bcd0df;
  font-size: 12px;
}
.overview-total strong {
  display: block;
  font-size: 26px;
  margin-top: 3px;
}
@media (max-width: 720px) {
  .pricing-head {
    margin-bottom: 22px;
  }
  .version {
    max-width: 185px;
  }
  .pricing-workspace {
    grid-template-columns: 1fr;
  }
  .roof-type-card {
    display: block;
  }
  .roof-toggle {
    min-width: 0;
    margin-top: 17px;
  }
  .section-bar small {
    display: none;
  }
  .price-item {
    grid-template-columns: minmax(0, 1fr) 92px;
    padding: 12px;
  }
  .total-card {
    position: static;
  }
  .pricing-intro h1 {
    font-size: 30px;
  }
  .overview-card {
    padding: 19px 16px;
  }
  .contact-capture-card {
    padding: 20px 16px;
  }
  .contact-capture-grid {
    grid-template-columns: 1fr;
    gap: 17px;
  }
  .contact-capture-actions {
    grid-template-columns: 1fr 1.2fr;
    margin-top: 22px;
  }
}
.project-search {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px 20px;
  margin-bottom: 20px;
}
.search-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.search-heading h2 {
  font-size: 17px;
  margin: 0;
}
.search-heading button {
  border: 0;
  border-radius: 10px;
  background: var(--sky);
  color: var(--blue);
  font-weight: 800;
  padding: 10px 13px;
}
.project-search input {
  width: 100%;
  height: 46px;
  border: 1px solid #ccd9df;
  border-radius: 11px;
  padding: 0 13px;
  font-size: 16px;
  margin: 16px 0 10px;
}
.project-results {
  display: grid;
  gap: 7px;
}
.project-client-group {
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: #f8fbfc;
}
.project-client-group.multi-product {
  border-left: 5px solid var(--gold);
}
.project-client-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 13px;
}
.project-client-head b,
.project-client-head span {
  display: block;
}
.project-client-head span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}
.linked-products {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-content: flex-start;
  gap: 6px;
}
.linked-products span,
.product-list-chip {
  display: inline-block;
  margin: 0;
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--sky);
  color: var(--blue);
  font-size: 11px;
  font-weight: 850;
}
.linked-projects {
  display: grid;
  border-top: 1px solid var(--line);
}
.linked-projects button {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 10px;
  min-height: 53px;
  padding: 9px 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.linked-projects button:last-child {
  border-bottom: 0;
}
.linked-projects button span b,
.linked-projects button span small {
  display: block;
}
.linked-projects button span small {
  margin-top: 3px;
  color: var(--muted);
}
.linked-projects button strong {
  color: var(--blue);
  font-size: 12px;
}
.show-all-projects {
  width: 100%;
  min-height: 46px;
  margin-top: 10px;
  border: 1px solid var(--blue);
  border-radius: 11px;
  background: #fff;
  color: var(--blue);
  font-weight: 850;
}
.all-projects-card {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow);
}
.all-project-search {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}
.all-project-search span {
  font-size: 13px;
  font-weight: 800;
}
.all-project-search input {
  width: 100%;
  height: 50px;
  padding: 0 14px;
  border: 1px solid #ccd9df;
  border-radius: 12px;
  font: inherit;
  font-size: 16px;
}
.project-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.project-table {
  width: 100%;
  min-width: 1020px;
  border-collapse: collapse;
}
.project-table th,
.project-table td {
  padding: 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
  font-size: 13px;
}
.project-table th {
  background: #eef5f7;
}
.project-table th button {
  border: 0;
  background: transparent;
  color: var(--ink);
  font-weight: 850;
  cursor: pointer;
}
.project-table th button.sort-active {
  color: var(--blue);
}
.project-table tbody tr:last-child td {
  border-bottom: 0;
}
.project-name-link {
  border: 0;
  background: transparent;
  color: var(--blue);
  font-weight: 850;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.project-phone-button {
  min-height: 38px;
  padding: 7px 10px;
  border: 1px solid #9bbfd2;
  border-radius: 9px;
  background: #f3faff;
  color: var(--blue);
  font: inherit;
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.project-phone-button:focus-visible,
.project-name-link:focus-visible {
  outline: 3px solid #2878a640;
  outline-offset: 2px;
}
.project-phone-list {
  display: grid;
  gap: 6px;
  justify-items: start;
}
.project-edit-button {
  min-width: 64px;
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid var(--blue);
  border-radius: 9px;
  background: #fff;
  color: var(--blue);
  font: inherit;
  font-weight: 850;
}
.project-save-contact{min-width:64px;min-height:40px;padding:8px 13px;border:0;border-radius:9px;background:#1f7a5a;color:#fff;font:inherit;font-weight:850}.project-save-contact:disabled{background:#a9b7b0;color:#f4f7f5}
.table-action-heading {
  color: var(--ink);
  font-weight: 850;
}
.row-related-products {
  display: block;
  max-width: 210px;
  margin-top: 5px;
  color: #805c18;
  line-height: 1.35;
}
.all-project-count {
  margin: 12px 2px 0;
  color: var(--muted);
  font-size: 12px;
}
.saved-notes-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.saved-notes-actions button:last-child {
  background: var(--gold);
  color: var(--navy2);
}
.project-result {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  border: 1px solid var(--line);
  background: #f8fbfc;
  border-radius: 11px;
  padding: 11px;
  text-align: left;
  color: var(--ink);
}
.project-result b,
.project-result span {
  display: block;
}
.project-result span {
  font-size: 12px;
  color: var(--muted);
  margin-top: 3px;
}
.status {
  align-self: center;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.status.sold {
  background: #dff2e9;
  color: var(--green);
}
.status.unsold {
  background: #fde8e7;
  color: #a52b26;
}
.status.appointment{background:#e5f3fb;color:#17698d}
.status.no_show{background:#edf0f2;color:#4d5b66}.status.called_to_cancel{background:#fff0df;color:#9a4d0f}.status.reset{background:#e5f1fb;color:#176296}.status.one_leg{background:#eee8fb;color:#67429c}.status.no_time{background:#fff4cf;color:#825d00}.status.no_demo_price{background:#f9e9df;color:#98502b}.status.porched{background:#e2f4f1;color:#167064}.status.warranty{background:#e5edf7;color:#315b89}.status.canceled{background:#f2e7e5;color:#934537}.cancel-sale-zone{padding:14px;border:1px solid #e0b6ad;border-radius:13px;background:#fff7f5}.cancel-sale-zone>button{width:100%;border:1px solid #c86b59;border-radius:11px;background:white;color:#a34838;padding:11px;font-weight:850}.cancel-sale-zone .delete-project-confirm{margin-top:0}.cancel-sale-zone .delete-project-confirm>p{color:#7e3c31}
.measurement-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 20px;
  align-items: start;
}
.operations-board-card{margin-bottom:18px}.operations-project-list{display:grid;gap:12px;margin-top:16px}.operations-project-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,1.3fr) minmax(220px,1fr) auto;align-items:center;gap:16px;padding:15px;border:1px solid #d2e0e7;border-radius:14px;background:#fff}.operations-project-summary h3{margin:7px 0 3px;color:#153754}.operations-project-summary p,.operations-project-summary small{display:block;margin:0;color:#667c89}.operations-project-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.operations-project-facts span{display:grid;gap:3px;padding:9px;border-radius:10px;background:#eef5f8}.operations-project-facts small{color:#6a7e89}.operations-project-facts b{color:#153754;font-size:.85rem}.operations-project-facts .pre-site-completed{color:#187451}.operations-project-facts .pre-site-pending{color:#9a5d08}.operations-project-notes{display:grid;gap:6px}.operations-project-notes p{display:grid;gap:2px;margin:0;padding:8px;border-radius:9px;background:#edf6fb;color:#426071;font-size:.82rem}.operations-project-notes p.internal{background:#fff4db}.operations-project-row>button,.admin-card-head>button{border:0;border-radius:10px;background:#197fad;color:#fff;padding:11px 13px;font-weight:850}.operations-edit-dialog textarea{width:100%}.project-live-button{border:0;border-radius:10px;padding:9px 11px;background:#19815d;color:#fff;font-weight:850}
.test-workspace-accounts{display:grid;gap:8px;margin:14px 0}.test-workspace-accounts>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:10px;border:1px solid #d9e4e9;border-radius:10px;background:#f5f9fb}.test-workspace-accounts small{grid-column:1/-1;color:#687d89}
@media(max-width:900px){.operations-project-row{grid-template-columns:1fr}.operations-project-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.operations-project-facts{grid-template-columns:1fr}.operations-project-row>button{width:100%;min-height:46px}}
.facet-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 25px;
  box-shadow: var(--shadow);
}
.coating-setup-card{max-width:780px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:var(--shadow)}
.coating-system-choices{display:grid;gap:12px;margin-bottom:22px}.coating-system-choice{display:flex;align-items:center;gap:14px;border:2px solid #d7e2ea;border-radius:15px;padding:16px;cursor:pointer;background:#fff;transition:.16s ease}.coating-system-choice:hover,.coating-system-choice.selected{border-color:var(--green);background:#f4fbf7}.coating-system-choice input{width:20px;height:20px;accent-color:var(--green)}.coating-system-choice span{display:grid;gap:4px}.coating-system-choice b{color:var(--navy)}.coating-system-choice small{color:var(--muted);font-weight:700}
.coating-measure-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 18px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:16px}.coating-measure-toolbar>div>span,.coating-measure-toolbar label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.coating-mode-control{width:260px}.coating-measure-toolbar select{min-width:190px;border:1px solid #b9cbd9;border-radius:10px;background:#fff;padding:10px;color:var(--navy);font-weight:800}
.coating-wall-editor{display:grid;gap:20px;margin-top:20px;transition:opacity .14s ease,transform .14s ease}.coating-wall-editor.saving{opacity:0;transform:translateX(-12px)}.coating-field-label{display:block;margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.coating-wall-system-options{display:flex;gap:9px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}.coating-wall-system{flex:0 0 220px;scroll-snap-align:start;border:2px solid #d7e2ea;border-radius:12px;padding:12px;cursor:pointer}.coating-wall-system.selected{border-color:var(--green);background:#f4fbf7}.coating-wall-system input{position:absolute;opacity:0;pointer-events:none}.coating-wall-system span{display:block;color:var(--navy);font-size:13px;font-weight:800;line-height:1.35}
#coatingWallMeasurementFields{display:grid;gap:14px}.coating-measure-group{border:1px solid #d7e2ea;border-radius:15px;padding:16px;background:#f8fbfd}.coating-measure-group h3{margin:0 0 12px;color:var(--navy)}.coating-measure-group>b{display:block;margin-top:10px;text-align:right;color:var(--green)}.coating-dimension-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px}.coating-dimension-row label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.coating-dimension-row input{min-width:0;width:100%;height:52px;border:0;border-radius:11px;background:#111b23;color:#fff;text-align:center;font-size:20px;font-weight:800}.coating-dimension-row i{padding-bottom:15px;color:var(--muted);font-style:normal;font-weight:900}.coating-wall-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.coating-wall-actions button{min-height:50px;border-radius:12px;font-weight:850}.coating-wall-actions button:first-child{border:1px solid #b9cbd9;background:#fff;color:var(--navy)}.coating-wall-actions button:last-child{border:0;background:var(--green);color:#fff}.coating-wall-actions button:disabled{opacity:.4}
.coating-wall-optional-fields{display:grid;gap:14px}
.coating-saved-walls{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.coating-saved-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:11px}.coating-saved-head span{font-weight:900;color:var(--navy)}.coating-saved-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.coating-saved-head button{border:1px solid #b9cbd9;border-radius:10px;background:#fff;color:var(--navy);padding:9px 12px;font-weight:800}.coating-wall-list{display:grid;gap:8px}.coating-wall-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;border:1px solid #d7e2ea;border-radius:12px;background:#fff;padding:12px;text-align:left}.coating-wall-summary.active{border-color:#3b8fba;background:#f3f9fc}.coating-wall-summary>span{display:grid;gap:3px}.coating-wall-summary span small{max-width:300px;color:var(--muted)}.coating-wall-summary>strong{display:grid;gap:3px;text-align:right;color:var(--navy)}.coating-wall-summary>strong small{color:var(--muted);font-size:10px;font-weight:750}.coating-subtotals{display:grid!important;gap:7px;margin:-10px 0 20px;padding:12px;border-top:1px solid #33536a;border-bottom:1px solid #33536a}.coating-subtotals span{display:flex;justify-content:space-between;gap:10px;color:#bcd0df;font-size:10px;text-align:left}.coating-subtotals b{color:#fff;white-space:nowrap}
.measurement-layout{grid-template-columns:minmax(0,1fr);gap:14px}.measurement-total-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;margin-top:16px;padding:14px 18px;border-radius:14px;background:var(--navy);color:#fff}.measurement-layout>.measurement-total-bar{margin-top:0}.measurement-total-bar>div:first-child{display:grid;gap:3px}.measurement-total-bar>div:first-child>span{color:#bcd0df;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.measurement-total-bar>div:first-child>strong{font-size:1.65rem;line-height:1}.measurement-total-bar>small{color:#bcd0df;font-weight:750}.measurement-total-bar .coating-subtotals{display:grid!important;gap:3px;margin:0;padding:0 0 0 18px;border:0;border-left:1px solid #49667b}.measurement-total-bar .coating-subtotals span{gap:14px;font-size:.72rem}.measurement-total-bar .coating-subtotals.hidden{display:none!important}
#coatingMeasurementPage .pricing-intro{margin-bottom:12px;padding-top:8px;padding-bottom:8px}#coatingMeasurementPage .pricing-intro h1{font-size:clamp(1.55rem,4vw,2rem);margin-bottom:5px}#coatingMeasurementPage .pricing-intro p{margin-top:5px}.coating-measure-toolbar{padding:11px 13px;margin-bottom:12px}.coating-mode-control{width:230px}.coating-measure-toolbar select{padding:8px 10px}.coating-setup-card{max-width:680px;padding:18px}.coating-system-choices{gap:8px;margin-bottom:14px}.coating-system-choice{padding:11px 13px;border-radius:12px}.coating-system-choice input{width:18px;height:18px}.coating-system-choice b{font-size:.9rem;line-height:1.25}.coating-wall-editor{gap:13px;margin-top:12px;transition:none}.coating-wall-system-options{display:block;width:100%;height:44px;overflow:visible;padding:0 40px 0 12px;border:1px solid #aebfca;border-radius:10px;background:#fff;color:var(--navy);font-size:.88rem;font-weight:800}.coating-field-label{margin-bottom:6px}.coating-measure-group{padding:12px;border-radius:12px}.coating-measure-group h3{margin-bottom:8px;font-size:.95rem}.coating-dimension-row input{height:46px;font-size:1.1rem}.coating-measure-group>b{margin-top:7px;font-size:.85rem}.coating-wall-actions button{min-height:44px}.coating-saved-walls{margin-top:18px;padding-top:14px}.coating-wall-summary{padding:9px 11px}.coating-wall-summary span small{font-size:.72rem}.coating-saved-head{margin-bottom:8px}
#coatingMeasurementPage .facet-card{padding:16px 18px;border-radius:16px}#coatingMeasurementPage .section-heading h2{font-size:1.2rem}
.facet-rows {
  display: grid;
  gap: 10px;
  margin: 22px 0;
}
.facet-row {
  display: grid;
  grid-template-columns: 44px 1fr auto 1fr auto;
  align-items: center;
  gap: 9px;
}
.facet-row > span {
  font-size: 12px;
  color: var(--muted);
  font-weight: 750;
}
.facet-row input {
  min-width: 0;
  width: 100%;
  height: 52px;
  background: #111b23;
  color: #fff;
  border: 0;
  border-radius: 11px;
  text-align: center;
  font-size: 20px;
  font-weight: 800;
}
.facet-row i {
  font-style: normal;
  color: var(--muted);
  font-weight: 800;
}
.facet-row b {
  min-width: 88px;
  text-align: right;
}
.square-total {
  position: sticky;
  top: 104px;
  background: var(--navy);
  color: #fff;
  border-radius: 20px;
  padding: 24px;
  text-align: center;
}
.square-total > span {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #bcd0df;
  font-size: 11px;
}
.square-total > b {
  display: block;
  font-size: 17px;
  margin: 9px 0 22px;
}
.square-total.coating-total > b{font-size:34px;line-height:1.05;margin:10px 0 22px}
.square-total > div {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
}
.square-total strong {
  font-size: 70px;
  line-height: 0.9;
}
.square-total small {
  font-size: 22px;
  font-weight: 800;
}
.square-total p {
  color: #bcd0df;
  font-size: 12px;
  line-height: 1.5;
  margin: 20px 0 0;
}
.sale-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 18px;
}
.sale-actions button {
  height: 54px;
  border-radius: 13px;
  font-weight: 850;
  font-size: 16px;
}
.sale-actions button:first-child {
  background: #fff;
  border: 1px solid #b95c50;
  color: #a33e33;
}
#saleBtn {
  border: 0;
  background: var(--green);
  color: #fff;
}
#shareProjectDetailsBtn {
  grid-column: 1 / -1;
  border: 1px solid #7aa0b8;
  background: #fff;
  color: var(--blue);
}
.workflow-note {
  text-align: center;
  color: var(--muted);
  font-size: 12px;
}
.saved-message,
.error-message {
  padding: 10px;
  border-radius: 10px;
  font-size: 12px;
}
.error-message {
  background: #ffe8e3;
  color: #a23b2f;
}
@media (max-width: 720px) {
  .measurement-layout {
    grid-template-columns: 1fr;
  }
  .facet-card {
    padding: 20px 14px;
  }
  .facet-row {
    grid-template-columns: 32px 1fr auto 1fr;
  }
  .facet-row b {
    grid-column: 2/-1;
    text-align: right;
    min-width: 0;
  }
  .square-total {
    position: static;
    grid-row: 1;
  }
  .square-total strong {
    font-size: 64px;
  }
  .coating-measure-toolbar{align-items:stretch;flex-direction:column}.coating-mode-control,.coating-measure-toolbar label,.coating-measure-toolbar select{width:100%}.coating-wall-actions{grid-template-columns:1fr}.coating-wall-summary{align-items:flex-start}.coating-wall-summary>strong{font-size:13px}.coating-saved-head{align-items:flex-start}.coating-system-choice{padding:11px}.measurement-total-bar{align-items:flex-start;flex-direction:column;gap:9px;padding:12px 14px}.measurement-total-bar .coating-subtotals{width:100%;padding:8px 0 0;border-left:0;border-top:1px solid #49667b}
  .project-result {
    font-size: 13px;
  }
}
@media (max-width: 720px) {
  .edit-phone-grid {
    grid-template-columns: 1fr;
  }
  .project-client-head {
    display: grid;
  }
  .linked-products {
    justify-content: flex-start;
  }
  .linked-projects button {
    grid-template-columns: 1fr auto;
  }
  .linked-projects button strong {
    grid-column: 1/-1;
  }
  .all-projects-card {
    padding: 14px;
  }
  .saved-notes-actions {
    grid-template-columns: 1fr;
  }
}
.review-back {
  width: 100%;
  height: 48px;
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font-weight: 800;
}
.no-sale-dialog {
  width: min(92vw, 520px);
  border: 0;
  border-radius: 20px;
  padding: 0;
  box-shadow: 0 30px 90px #102d4560;
  color: var(--ink);
}
.no-sale-dialog::backdrop {
  background: #0c2338a8;
  backdrop-filter: blur(3px);
}
.no-sale-dialog form {
  padding: 24px;
  display: grid;
  gap: 16px;
}
.dialog-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.dialog-head h2 {
  font-size: 22px;
  margin: 0;
}
.dialog-head button {
  border: 0;
  background: #eef3f5;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  font-size: 22px;
  color: var(--muted);
}
.no-sale-dialog label {
  display: grid;
  gap: 7px;
}
.no-sale-dialog label span {
  font-size: 13px;
  font-weight: 800;
}
.no-sale-dialog input,
.no-sale-dialog select,
.no-sale-dialog textarea {
  width: 100%;
  border: 1px solid #ccd9df;
  border-radius: 11px;
  background: #fbfdfe;
  padding: 12px;
  font: inherit;
  font-size: 16px;
}
.no-sale-dialog select {
  min-width: 0;
  height: 48px;
}
.no-sale-dialog textarea {
  resize: vertical;
}
.no-sale-price-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.no-sale-price-grid label {
  min-width: 0;
}
.no-sale-price-grid input[readonly] {
  background: #edf3f6;
  color: var(--navy);
  font-weight: 850;
}
.sale-price-field input {
  font-size: 19px;
  font-weight: 850;
  color: var(--navy);
}
.pre-site-grid {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 12px;
}
.pre-site-time {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 7px;
}
.pre-site-window {
  padding: 12px 14px;
  border-radius: 11px;
  background: var(--sky);
  color: var(--navy);
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}
.sale-dialog .dialog-actions button:last-child,
.no-sale-email-dialog #sendSaleEmail {
  background: var(--green);
}
.dialog-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 3px;
}
.dialog-actions button {
  height: 48px;
  border-radius: 11px;
  font-weight: 800;
}
.dialog-actions button:first-child {
  background: #fff;
  border: 1px solid var(--line);
  color: var(--ink);
}
.dialog-actions button:last-child {
  border: 0;
  background: #a24c3e;
  color: #fff;
}
.no-sale-email-dialog {
  max-width: 31rem;
}
.no-sale-email-copy {
  margin: 0 0 1.25rem;
  color: var(--muted);
  line-height: 1.55;
}
.no-sale-email-actions {
  grid-template-columns: 1fr 1fr;
}
.no-sale-email-actions button {
  min-height: 3rem;
  font-size: 1rem;
}
.date-icon {
  width: 92px;
}
.date-icon b {
  font-size: 13px;
  padding: 10px 5px;
}
.install-app {
  margin-left: 10px;
  margin-right: 10px;
  border: 0;
  border-radius: 10px;
  background: var(--navy);
  color: #fff;
  padding: 9px 12px;
  font-weight: 800;
  cursor: pointer;
}
.draft-pill {
  margin-left: 0;
}
.new-project-btn {
  margin-left: auto;
  min-height: 38px;
  border: 1px solid #b9ccd7;
  border-radius: 10px;
  background: #fff;
  color: var(--navy);
  padding: 8px 12px;
  font-weight: 850;
  cursor: pointer;
  white-space: nowrap;
}
.new-project-btn:active {
  background: var(--sky);
}
.install-steps {
  margin: 0;
  padding-left: 24px;
  display: grid;
  gap: 13px;
  line-height: 1.4;
}
.install-done {
  height: 48px;
  border: 0;
  border-radius: 11px;
  background: var(--navy);
  color: #fff;
  font-weight: 800;
}
.standalone .install-app {
  display: none;
}
@media (max-width: 520px) {
  .brand-copy span {
    display: none;
  }
  .new-project-btn {
    padding: 8px 9px;
    font-size: 12px;
  }
  .install-app {
    font-size: 12px;
    padding: 8px;
  }
  .draft-pill {
    bottom: calc(12px + env(safe-area-inset-bottom));
    box-shadow: 0 4px 16px #1537542e;
    display: block;
    left: auto;
    position: fixed;
    right: 12px;
    z-index: 80;
  }
}
.new-project-dialog {
  max-width: 32rem;
}
.new-project-actions {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 10px;
  margin-top: 18px;
}
.new-project-actions button {
  min-height: 50px;
  border-radius: 11px;
  font-weight: 850;
}
.new-project-actions button:first-child {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}
.new-project-actions button:last-child {
  border: 0;
  background: var(--navy);
  color: #fff;
}
#startNewWithoutSaving {
  display: block;
  margin: 14px auto 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.new-project-warning {
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid #e0b8b1;
  border-radius: 12px;
  background: #fff2ef;
  color: #87372e;
  line-height: 1.45;
}
.new-project-warning span {
  color: #745a56;
}
.discard-actions button:last-child {
  background: #a24c3e;
}
@media (max-width: 520px) {
  .new-project-actions {
    grid-template-columns: 1fr;
  }
}
.choose-appointment {
  width: 100%;
  margin-top: 9px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--blue);
  border-radius: 10px;
  padding: 10px;
  font-weight: 800;
}
.manual-client-action {
  margin-top: 8px;
  background: #eff3f5;
  color: var(--ink);
}
.appointment-picker {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px 20px;
  margin: -8px 0 20px;
  box-shadow: var(--shadow);
}
.home-appointment-reminder{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin:0 0 16px;padding:13px 15px;border:1px solid #d89c34;border-left:6px solid #b96f00;border-radius:13px;background:#fff4d2;color:#684400;text-align:left;box-shadow:var(--shadow)}.home-appointment-reminder span{display:grid;gap:3px}.home-appointment-reminder b{font-size:1rem}.home-appointment-reminder small{font-size:.84rem;line-height:1.35}.home-appointment-reminder strong{padding:8px 11px;border-radius:9px;background:#b96f00;color:#fff;font-size:.88rem}
.appointment-results {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}
.appointment-reminder-summary{display:grid;gap:3px;margin:12px 0;padding:12px 14px;border:1px solid #dfaa49;border-left:5px solid #c77e00;border-radius:12px;background:#fff5d9;color:#684400}.appointment-reminder-summary b{font-size:1rem}.appointment-reminder-summary span{font-size:.86rem;line-height:1.35}.appointment-needs-result .appointment-option{border-color:#dca44a;background:#fffaf0}.appointment-needs-result .appointment-result-button{border-color:#b96f00;background:#b96f00;color:#fff}.appointment-reminder-status{display:inline-block!important;width:max-content;max-width:100%;margin-top:8px;padding:5px 9px;border-radius:999px;background:#ffe7ad;color:#7a4b00!important;font-size:.76rem!important}
.appointment-option {
  display: grid;
  grid-template-columns: 82px 1fr auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fbfc;
  padding: 12px;
  text-align: left;
  color: var(--ink);
}
.appointment-option time {
  font-weight: 850;
  color: var(--blue);
}
.appointment-time-column {
  display: grid;
  gap: 4px;
  align-content: center;
}
.appointment-time-column small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
}
.appointment-option b,
.appointment-option span {
  display: block;
}
.appointment-option span {
  font-size: 12px;
  color: var(--muted);
  margin-top: 3px;
}
.appointment-option i {
  font-style: normal;
  font-weight: 850;
  color: var(--blue);
}
.appointment-loading {
  color: var(--muted);
  margin: 0;
  padding: 10px 0;
}
@media (max-width: 520px) {
  .appointment-option {
    grid-template-columns: 68px 1fr;
  }
  .appointment-option i {
    grid-column: 2;
  }
}
.appointment-notes-text {
  white-space: pre-wrap;
  max-height: 52vh;
  overflow: auto;
  background: #f4f8fa;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 15px;
  line-height: 1.55;
  color: var(--ink);
}
.appointment-notes-text.empty {
  color: var(--muted);
  font-style: italic;
}
.overview-notes {
  white-space: pre-wrap;
  background: #f4f8fa;
  border-radius: 12px;
  padding: 14px;
  line-height: 1.5;
  color: var(--ink);
}
.measurement-roof-type {
  margin-top: 20px;
}
.roof-features-card{margin-top:20px;padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.roof-feature-counters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.roof-feature-counters article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #d4e0e7;border-radius:14px;background:#f7fafc}.roof-feature-counters article>div:first-child{display:grid;gap:3px}.roof-feature-counters b{color:var(--ink);font-size:1rem}.roof-feature-counters span{color:var(--muted);font-size:.8rem;font-weight:700}.roof-counter{display:grid;grid-template-columns:44px 54px 44px;align-items:center}.roof-counter button{width:44px;height:44px;border:1px solid #9bb3c1;background:#fff;color:var(--navy);font-size:1.45rem;font-weight:900}.roof-counter button:first-child{border-radius:11px 0 0 11px}.roof-counter button:last-child{border-radius:0 11px 11px 0;background:var(--navy);border-color:var(--navy);color:#fff}.roof-counter strong{display:grid;place-items:center;height:44px;border-top:1px solid #9bb3c1;border-bottom:1px solid #9bb3c1;background:#fff;color:var(--ink);font-size:1.15rem}.roof-feature-total{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:12px 15px;border-radius:11px;background:#eaf3f8;color:var(--ink)}.roof-feature-total span{font-weight:800}.roof-feature-total strong{color:var(--blue);font-size:1.05rem}
.roof-counter button:disabled{opacity:.4;cursor:not-allowed}
.measurement-continue {
  display: block;
  margin: 18px 0 0 auto;
}
@media (max-width: 720px) {
  .no-sale-price-grid {
    grid-template-columns: 1fr 1fr;
  }
  .pre-site-grid {
    grid-template-columns: 1fr;
  }
  .measurement-continue {
    width: 100%;
  }
  .roof-feature-counters{grid-template-columns:1fr}.roof-feature-counters article{padding:14px}.roof-features-card{padding:20px}
}
.extra.has-selection:not([open]) {
  border-color: var(--gold);
  border-left: 6px solid var(--gold);
  box-shadow: 0 8px 24px #15375428;
}
.extra.has-selection:not([open]) summary {
  background: var(--navy);
  color: #fff;
}
.extra .section-state {
  display: flex;
  align-items: center;
  gap: 8px;
}
.extra .selection-total {
  display: none;
  font-size: 13px;
  color: var(--navy);
  background: var(--gold);
  border-radius: 999px;
  padding: 7px 10px;
  white-space: nowrap;
}
.extra.has-selection:not([open]) .selection-total {
  display: block;
}
.extra .expand-mark::after {
  content: "＋";
  font-style: normal;
  font-size: 20px;
  color: var(--blue);
}
.extra[open] .expand-mark::after {
  content: "−";
}
.extra.has-selection:not([open]) .expand-mark {
  display: none;
}
.close-extra {
  display: block;
  width: calc(100% - 20px);
  height: 42px;
  margin: 0 10px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--blue);
  font-weight: 800;
}
.duplicate-dialog-body {
  padding: 24px;
  display: grid;
  gap: 16px;
}
.duplicate-message {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}
.duplicate-choices {
  display: grid;
  gap: 9px;
}
.duplicate-record {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: #f8fbfc;
}
.duplicate-record b,
.duplicate-record span {
  display: block;
}
.duplicate-record span {
  font-size: 12px;
  color: var(--muted);
  margin-top: 3px;
}
.duplicate-record button {
  border: 1px solid #b95c50;
  background: #fff;
  color: #a33e33;
  border-radius: 9px;
  padding: 9px;
  font-weight: 800;
}
.duplicate-dialog .dialog-actions button:last-child {
  background: #a24c3e;
  color: #fff;
}
.duplicate-dialog .dialog-actions button:first-child {
  background: var(--navy);
  color: #fff;
  border: 0;
}
.phone-action-number {
  margin: 0;
  color: var(--navy);
  font-size: 22px;
  font-weight: 900;
  text-align: center;
}
.phone-action-help {
  margin: -8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
}
.phone-action-buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.phone-action-buttons button,
.phone-action-buttons a {
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
  color: var(--navy);
  font: inherit;
  font-weight: 850;
  text-decoration: none;
  display: grid;
  place-items: center;
}
.phone-action-buttons a:last-child {
  border-color: var(--navy);
  background: var(--navy);
  color: #fff;
}
.phone-action-buttons a:nth-child(2) {
  border-color: var(--blue);
  color: var(--blue);
}
.edit-phone-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.edit-save-actions button:last-child {
  background: var(--navy);
}
.edit-danger-zone {
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.edit-danger-zone > button {
  width: 100%;
  min-height: 46px;
  border: 1px solid #b95c50;
  border-radius: 11px;
  background: #fff;
  color: #a33e33;
  font: inherit;
  font-weight: 850;
}
.delete-project-confirm {
  padding: 13px;
  border: 1px solid #e0afa8;
  border-radius: 12px;
  background: #fff5f3;
}
.delete-project-confirm p {
  margin: 0 0 10px;
  color: #7f3028;
  font-weight: 800;
}
.delete-project-confirm > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.delete-project-confirm button {
  min-height: 42px;
  border-radius: 9px;
  font: inherit;
  font-weight: 800;
}
.delete-project-confirm button:first-child {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}
.delete-project-confirm button:last-child {
  border: 0;
  background: #a33e33;
  color: #fff;
}

.facet-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
  background: #f8fbfc;
}
.facet-row.facet-selected {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px #2878a620;
  background: #f3faff;
}
.facet-row-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
}
.facet-row-head > span {
  font-size: 13px;
  font-weight: 850;
  color: var(--ink);
}
.facet-row .facet-row-head > b {
  min-width: 88px;
  text-align: right;
  font-size: 13px;
}
.facet-select {
  display: flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  font-size: 12px;
  color: var(--muted);
  font-weight: 750;
}
.facet-row .facet-select input {
  width: 20px;
  height: 20px;
  min-width: 20px;
  accent-color: var(--blue);
}
.facet-entry {
  display: grid;
  grid-template-columns: 1fr auto 1fr 130px;
  align-items: center;
  gap: 9px;
}
.facet-entry input {
  min-width: 0;
  width: 100%;
  height: 52px;
  background: #111b23;
  color: #fff;
  border: 0;
  border-radius: 11px;
  text-align: center;
  font-size: 20px;
  font-weight: 800;
}
.facet-entry i {
  font-style: normal;
  color: var(--muted);
  font-weight: 800;
}
.facet-entry button {
  height: 48px;
  border: 0;
  border-radius: 10px;
  background: var(--navy);
  color: #fff;
  font-weight: 800;
}
.patio-cover-type {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}
.patio-cover-type > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.patio-cover-type select {
  width: 100%;
  height: 48px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
  color: var(--ink);
  padding: 0 12px;
  font: inherit;
  font-weight: 800;
}
.patio-cover-type select:focus {
  border-color: var(--blue);
  outline: 3px solid #2878a620;
}
.patio-total > b {
  margin-bottom: 18px;
}
.patio-total strong {
  font-size: clamp(48px, 6vw, 70px);
}
.facet-tools,
.measurement-danger-zone {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.measurement-danger-zone.coating-danger-zone{grid-template-columns:1fr 1fr 1fr}.measurement-danger-zone.coating-danger-zone button:nth-child(2){border:1px solid #b95c50;background:#fff;color:#a33e33}.measurement-danger-zone.coating-danger-zone button:last-child{border:1px solid #a33e33;color:#fff;background:#a33e33}
.facet-tools {
  margin-top: 12px;
}
.facet-tools button,
.measurement-danger-zone button {
  height: 48px;
  border-radius: 11px;
  font-weight: 800;
}
.facet-tools button:first-child {
  border: 0;
  background: var(--navy);
  color: #fff;
}
.facet-tools button:last-child {
  border: 1px solid #b95c50;
  background: #fff;
  color: #a33e33;
}
.measurement-danger-zone {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.measurement-danger-zone button:first-child {
  border: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
}
.measurement-danger-zone button:last-child {
  border: 1px solid #a33e33;
  color: #fff;
  background: #a33e33;
}
@media (max-width: 720px) {
  .measurement-danger-zone.coating-danger-zone{grid-template-columns:1fr}
  .facet-row-head {
    grid-template-columns: auto 1fr;
  }
  .facet-row .facet-row-head > b {
    grid-column: 1/-1;
    text-align: left;
    min-width: 0;
  }
  .facet-entry {
    grid-template-columns: 1fr auto 1fr;
  }
  .facet-entry button {
    grid-column: 1/-1;
    width: 100%;
  }
  .patio-cover-type {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .facet-tools,
  .measurement-danger-zone {
    grid-template-columns: 1fr;
  }
}

.apple-contact-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid #bfd5c5;
  border-radius: 14px;
  background: #eff8f1;
}
.apple-contact-card > div { display: grid; gap: 3px; }
.apple-contact-card b { color: #174b2a; }
.apple-contact-card span { color: #587063; font-size: 0.88rem; }
.apple-contact-card button {
  border: 0;
  border-radius: 11px;
  padding: 11px 14px;
  background: #174b2a;
  color: white;
  font-weight: 850;
  white-space: nowrap;
}
@media (max-width: 600px) {
  .apple-contact-card { align-items: stretch; flex-direction: column; }
  .apple-contact-card button { width: 100%; }
}

.packet-email-confirm-dialog { width: min(94vw, 680px); }
.packet-email-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.packet-email-overview > div,
.packet-email-overview section { padding: 13px; border: 1px solid #d5e1e8; border-radius: 12px; background: #f8fafb; }
.packet-email-overview > div span { display: block; color: #687d8a; font-size: 0.76rem; font-weight: 800; text-transform: uppercase; }
.packet-email-overview > div b { display: block; margin-top: 4px; color: #153754; overflow-wrap: anywhere; }
.packet-email-overview section { grid-column: 1 / -1; }
.packet-email-overview h3 { margin: 0 0 5px; color: #153754; }
.packet-email-overview p { margin: 0 0 5px; color: #314e62; font-weight: 800; }
.packet-email-overview small { color: #667b89; line-height: 1.4; }
.packet-email-overview ul { margin: 7px 0 0; padding-left: 20px; color: #536c7c; }
.packet-email-notice { display: grid; gap: 4px; padding: 13px 15px; border: 1px solid #bfd5c5; border-radius: 12px; background: #eff8f1; }
.packet-email-notice b { color: #174b2a; }
.packet-email-notice span { color: #587063; }
@media (max-width: 600px) {
  .packet-email-overview { grid-template-columns: 1fr; }
}
.settings-form{display:grid;gap:18px;padding-bottom:110px}.settings-card{display:grid;gap:18px}.settings-grid{align-items:start}.settings-subhead{margin:4px 0 0;color:#17345b;font-size:1rem}.settings-card textarea{resize:vertical;min-height:84px}.settings-card .field{min-width:0}

.project-row-actions{display:grid;gap:7px;min-width:104px}.project-addendum-button{border:0;border-radius:10px;padding:9px 11px;background:#236f94;color:#fff;font-weight:800}.overview-addendum-tools,.overview-addendum-continue{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:16px;border-radius:15px}.overview-addendum-tools{border:1px solid #b8d1df;background:#eef6fa}.overview-addendum-continue{border:1px solid #b8d0be;background:#eff8f1}.overview-addendum-tools>div,.overview-addendum-continue>div{display:grid;gap:4px}.overview-addendum-tools b,.overview-addendum-continue b{color:#153754}.overview-addendum-tools span,.overview-addendum-continue span{color:#647a88;font-size:.88rem}.overview-addendum-tools button,.overview-addendum-continue button{border:0;border-radius:11px;padding:11px 14px;background:#153754;color:#fff;font-weight:850;white-space:nowrap}.addendum-card{display:grid;gap:18px}.addendum-history{display:grid;gap:8px}.addendum-history:empty{display:none}.addendum-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid #d6e2e8;border-radius:12px;background:#fafcfd}.addendum-history-row>div{display:grid;gap:3px}.addendum-history-row b{color:#153754}.addendum-history-row span{color:#667b89;font-size:.84rem}.addendum-history-row a{border-radius:9px;padding:8px 11px;background:#e7f0f5;color:#153754;font-weight:800;text-decoration:none}.addendum-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.addendum-choice-grid label{cursor:pointer}.addendum-choice-grid input{position:absolute;opacity:0;pointer-events:none}.addendum-choice-grid span{display:grid;gap:5px;height:100%;padding:15px;border:2px solid #d2dfe7;border-radius:14px;background:#fff}.addendum-choice-grid input:checked+span{border-color:#236f94;background:#eef6fa;box-shadow:0 0 0 3px #236f941c}.addendum-choice-grid b{color:#153754}.addendum-choice-grid small{color:#667b89;line-height:1.35}.addendum-edit-pricing,.addendum-revised-price{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 15px;border:1px solid #c9d9e3;border-radius:13px;background:#f7fafb}.addendum-edit-pricing>div,.addendum-revised-price{color:#607483}.addendum-edit-pricing span,.addendum-revised-price span{display:block;font-size:.8rem;font-weight:800;text-transform:uppercase}.addendum-edit-pricing strong,.addendum-revised-price strong{color:#153754;font-size:1.25rem}.addendum-edit-pricing button{border:0;border-radius:10px;padding:11px 14px;background:#153754;color:#fff;font-weight:850}.addendum-actions{margin-top:0}
@media(max-width:700px){.overview-addendum-tools,.overview-addendum-continue,.addendum-edit-pricing{align-items:stretch;flex-direction:column}.overview-addendum-tools button,.overview-addendum-continue button,.addendum-edit-pricing button{width:100%}.addendum-choice-grid{grid-template-columns:1fr}.project-row-actions{min-width:92px}.project-row-actions button{width:100%}}

.product-workspace-tabs{position:sticky;top:0;z-index:18;display:flex;align-items:center;gap:9px;margin:0 calc(50% - 50vw) 18px;padding:10px max(18px,calc((100vw - 1120px)/2));background:#eaf2f6;border-bottom:1px solid #cbdbe4;overflow-x:auto;-webkit-overflow-scrolling:touch}.product-tab-list{display:flex;gap:8px}.product-tab,.add-product-tab{min-height:42px;border-radius:11px;padding:9px 13px;font-weight:850;white-space:nowrap}.product-tab{display:flex;align-items:center;gap:8px;border:1px solid #c3d3dd;background:#fff;color:#315166}.product-tab.active{border-color:#153754;background:#153754;color:#fff}.product-tab i{width:8px;height:8px;border-radius:50%;background:#92a6b3}.product-tab i.sold{background:#4fb96a}.product-tab i.canceled{background:#d85b43}.add-product-tab{border:1px dashed #7995a7;background:transparent;color:#153754}.available-product-choices{display:grid;gap:10px}.available-product-choices button{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid #d2dfe7;border-radius:13px;padding:14px;background:#fff;color:#153754;text-align:left;font-weight:850}.available-product-choices button span{color:#6b7f8c;font-weight:700}.multi-product-review{display:grid;gap:10px;margin:0 0 16px}.multi-product-review>header{display:flex;justify-content:space-between;align-items:end;gap:12px}.multi-product-review h2{margin:0;color:#153754}.multi-product-review header span{color:#667b89;font-size:.86rem}.multi-product-review-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #d3e0e7;border-radius:14px;background:#fff}.multi-product-review-card.active{border-color:#236f94;box-shadow:0 0 0 3px #236f9417}.multi-product-review-card>div{display:grid;gap:4px}.multi-product-review-card b{color:#153754}.multi-product-review-card span{color:#667b89;font-size:.85rem}.multi-product-review-actions{display:flex;gap:7px}.multi-product-review-actions button{border-radius:9px;padding:8px 10px;font-weight:800}.multi-product-review-actions .open-product{border:1px solid #b9ccd8;background:#fff;color:#153754}.multi-product-review-actions .decide-product{border:0;background:#153754;color:#fff}
@media(max-width:700px){.product-workspace-tabs{padding-left:14px;padding-right:14px}.multi-product-review-card{grid-template-columns:1fr}.multi-product-review-actions{display:grid;grid-template-columns:1fr 1fr}.multi-product-review-actions button{width:100%}}

.window-setup-card,.window-editor-card{max-width:980px;margin:0 auto 26px}.window-setup-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:16px;margin:22px 0}.window-choice-field{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:12px;border:1px solid #c7d7e0;border-radius:12px}.window-choice-field legend{padding:0 5px;font-weight:800;color:#153754}.window-choice-field label,.window-toggle{position:relative;display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #abc0cc;border-radius:10px;background:#fff;font-weight:800;color:#244b64;cursor:pointer}.window-choice-field input,.window-toggle input{position:absolute;opacity:0}.window-choice-field label:has(input:checked),.window-toggle:has(input:checked){background:#153754;color:#fff;border-color:#153754}.window-editor-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.window-editor-head h2{margin:2px 0;color:#153754}.window-editor-head button{border:1px solid #9db2c0;background:#fff;color:#153754;border-radius:10px;padding:10px 14px;font-weight:800}.room-name-field{margin-bottom:16px}.window-unit-card{display:grid;gap:16px;padding:18px;border:1px solid #bfd1dc;border-radius:16px;background:#f8fbfc}.window-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.window-measure-grid{display:grid;grid-template-columns:1fr auto 1fr minmax(135px,.65fr);align-items:end;gap:10px}.window-measure-grid label{display:grid;gap:6px}.window-measure-grid label span{font-size:.78rem;font-weight:900;color:#526b7b;text-transform:uppercase;letter-spacing:.04em}.window-measure-grid input{width:100%;min-width:0;padding:14px;border:2px solid #172f42;border-radius:10px;background:#101820;color:#fff;font-size:1.15rem;font-weight:900}.window-measure-grid>b{padding-bottom:14px;color:#68808f}.united-inch-result{display:grid;gap:2px;min-height:54px;padding:9px 12px;border-radius:10px;background:#e4f1f7;color:#153754}.united-inch-result span{font-size:.72rem;font-weight:800;text-transform:uppercase}.united-inch-result strong{font-size:1.35rem}.window-price-status{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:11px;background:#e6f5ec;color:#1f633b}.window-price-status.unavailable{background:#fff0dc;color:#87540a}.window-option-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:end}.window-job-setting{display:grid;gap:3px;padding:9px 12px;border:1px solid #bfd1dc;border-radius:10px;background:#fff}.window-job-setting span{font-size:.75rem;color:#617887;font-weight:800}.window-job-setting b{color:#153754}.window-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:14px;border:1px solid #c5d5df;border-radius:12px}.window-extras legend{padding:0 5px;font-weight:900;color:#153754}.window-extras label{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px;border-radius:9px;background:#fff}.window-extras input[type=number]{width:54px}.mullion-builder{display:grid;gap:12px;padding:14px;border-radius:12px;background:#edf3f6}.mullion-position{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.mullion-position>span{font-weight:900;color:#153754}.attached-window{display:grid;gap:12px;padding:14px;border:2px solid #89a8b9;border-radius:12px;background:#fff}.attached-window.above{order:-1}.mullion-band{padding:9px;text-align:center;border-radius:7px;background:#153754;color:#fff;font-weight:900}.window-editor-actions,.window-room-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.window-editor-actions button,.window-room-actions button,.add-window-room-button{border:1px solid #9db3c0;border-radius:11px;padding:13px 17px;background:#fff;color:#153754;font-weight:900}.window-room-actions{padding-top:14px;border-top:1px solid #d2dee5}.window-room-actions button:last-child{background:#153754;color:#fff}.window-pricing-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:24px;align-items:start}.window-room-list{display:grid;gap:12px}.window-room{border:1px solid #c1d3dd;border-radius:14px;background:#fff;overflow:hidden}.window-room summary{display:flex;justify-content:space-between;align-items:center;padding:17px;cursor:pointer;list-style:none}.window-room summary>div{display:grid;gap:3px}.window-room summary b{font-size:1.05rem;color:#153754}.window-room summary span{color:#617887}.window-room summary i{font-style:normal;font-weight:900;color:#357498}.window-review-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 17px;border-top:1px solid #e0e8ed}.window-review-line>div{display:grid;gap:3px}.window-review-line span{font-size:.85rem;color:#627887}.window-review-line button{border:1px solid #9cb2bf;border-radius:8px;background:#fff;color:#153754;padding:8px 11px;font-weight:800}.add-window-room-button{margin-top:14px;width:100%}.window-total-lines{display:grid;gap:8px;margin:14px 0}.window-total-lines>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.window-measurement-actions{display:grid;gap:9px;padding:4px 0}.window-measurement-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.window-measurement-actions>button,.window-measurement-actions>div>button{width:100%;min-height:48px;padding:11px 10px;border:1px solid #9db3c0;border-radius:11px;background:#fff;color:#153754;font-weight:900;font-size:.94rem}.window-measurement-actions button.continue-btn{background:#153754;color:#fff;border-color:#153754}.window-measurement-actions button.active{background:#e1f1f8;color:#075f8d;border-color:#70a9c7}.window-measurement-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.window-setup-grid,.window-field-grid,.window-option-grid,.window-pricing-layout{grid-template-columns:1fr}.window-measure-grid{grid-template-columns:1fr auto 1fr}.united-inch-result{grid-column:1/-1}.window-extras{grid-template-columns:1fr}.window-review-line{grid-template-columns:1fr auto}.window-review-line button{grid-column:1/-1;width:100%}.window-choice-field{grid-template-columns:1fr 1fr}.window-measurement-actions>button,.window-measurement-actions>div>button{font-size:.88rem;padding-inline:7px}}
.window-extras-workspace{grid-template-columns:minmax(0,1fr) 350px}.window-commission-card .commission-results b{max-width:160px;text-align:right;white-space:normal}.window-commission-card #windowCommissionBracket{font-size:.72rem}.price-item input[readonly]{opacity:.85;cursor:not-allowed;background:#edf3f6}
@media(max-width:760px){.window-extras-workspace{grid-template-columns:1fr}.window-extras-workspace .total-card{position:static}.window-commission-card .commission-results b{max-width:55%}}
.window-pricing-warning{margin:0;padding:11px 13px;border-radius:10px;background:#fff4d6;color:#76520c;font-weight:800;line-height:1.4}
.window-pricing-note{margin:0;padding:11px 13px;border-radius:10px;background:#e6f5ec;color:#1f633b;font-weight:800;line-height:1.4}
.window-room-count{display:inline-flex;width:max-content;margin:8px 0 0;padding:6px 10px;border-radius:999px;background:#e4f1f7;color:#153754;font-size:.84rem;font-weight:900}.window-overview-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.window-overview-actions .add-window-room-button{margin-top:0}.add-window-to-room{width:calc(100% - 34px);margin:10px 17px 16px;padding:12px;border:1px dashed #6e98af;border-radius:10px;background:#eef6f9;color:#153754;font-weight:900}
@media(max-width:620px){.window-overview-actions{grid-template-columns:1fr}}
.result-action {
  margin-top: 8px;
}
.appointment-option-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: stretch;
}
.appointment-option-card .appointment-option {
  width: 100%;
}
.appointment-result-button {
  border: 1px solid #9bb3c0;
  border-radius: 12px;
  background: #fff;
  color: #173b4f;
  font-weight: 750;
  padding: 10px 14px;
}
.appointment-option-actions{display:grid;gap:8px}.appointment-delete-button{border:1px solid #c47b73;border-radius:10px;background:#fff;color:#9b3024;padding:9px 12px;font:inherit;font-weight:850;cursor:pointer}.appointment-delete-button:hover,.appointment-delete-button:focus-visible{background:#fff1ef;border-color:#a33e33}.appointment-delete-confirm{border-color:#a33e33!important;background:#a33e33!important;color:#fff!important}.appointment-delete-dialog{width:min(560px,calc(100% - 24px))}.client-history-card .appointment-delete-button{display:block;width:100%;margin-top:10px}
.appointment-search-field{display:grid;gap:6px;margin:12px 0 14px}.appointment-search-field span{color:#36586d;font-size:.82rem;font-weight:850}.appointment-search-field input{width:100%;min-height:46px;border:1px solid #9db8c7;border-radius:11px;background:#fff;padding:10px 12px;color:#153754;font-size:16px}.appointment-is-resulted .appointment-option{background:#f2f5f6;opacity:.88}.appointment-is-resulted .appointment-option:disabled{cursor:default}.appointment-result-status{display:inline-block!important;width:max-content;max-width:100%;margin-top:8px;padding:5px 9px;border-radius:999px;background:#dfe8ed;color:#36586d!important;font-size:.76rem!important}.appointment-is-resulted .appointment-result-button{background:#edf4f8}
.appointment-result-client {
  margin: 0 0 16px;
  padding: 13px 15px;
  border-radius: 12px;
  background: #edf6fa;
  color: #244758;
  line-height: 1.45;
}
.appointment-result-client b,
.appointment-result-client span { display: block; }
.appointment-result-options,
.one-leg-options {
  border: 0;
  padding: 0;
  margin: 0 0 16px;
}
.appointment-result-options legend,
.one-leg-options legend {
  font-weight: 800;
  margin-bottom: 9px;
}
.appointment-result-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.appointment-result-options legend { grid-column: 1 / -1; }
.appointment-result-options label,
.one-leg-options label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid #c8d8df;
  border-radius: 10px;
  background: #fff;
  font-weight: 700;
}
.appointment-result-options label:has(input:checked),
.one-leg-options label:has(input:checked) {
  border-color: #167aa5;
  background: #e7f5fb;
  color: #0b5675;
}
.appointment-result-options input[type="radio"],
.one-leg-options input[type="radio"] {
  width: 20px;
  height: 20px;
  min-width: 20px;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  accent-color: #167aa5;
  flex: 0 0 20px;
}
.one-leg-options { display: flex; gap: 9px; flex-wrap: wrap; }
.result-followup {
  margin: 0 0 16px;
  padding: 14px;
  border: 1px solid #bad0da;
  border-radius: 12px;
  background: #f7fbfd;
}
.appointment-result-summary { display: grid; gap: 12px; }
.result-summary-row {
  display: grid;
  grid-template-columns: minmax(115px, .35fr) minmax(0, 1fr);
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e0e7ea;
}
.result-summary-row:last-child { border-bottom: 0; padding-bottom: 0; }
.result-summary-row span { color: #657982; font-size: .86rem; font-weight: 750; }
.result-summary-row b { color: #193d4f; overflow-wrap: anywhere; }
.outcome-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
}
.outcome-summary-grid article {
  padding: 13px;
  border-radius: 12px;
  background: #f1f7f9;
}
.outcome-summary-grid span,
.outcome-summary-grid small { display: block; color: #667b84; }
.outcome-summary-grid strong { display: block; margin: 4px 0; font-size: 1.45rem; color: #173f53; }
.source-outcome-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.source-outcome-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.source-outcome-table th,
.source-outcome-table td { padding: 10px 9px; border-bottom: 1px solid #dce5e8; text-align: center; white-space: nowrap; }
.source-outcome-table th:first-child,
.source-outcome-table td:first-child { text-align: left; position: sticky; left: 0; background: #fff; z-index: 1; }
.source-outcome-table th { color: #49636f; font-size: .78rem; }
.source-outcome-table td { font-weight: 700; color: #244b5d; }
@media (max-width: 620px) {
  .appointment-option-card { grid-template-columns: 1fr; }
  .appointment-result-options { grid-template-columns: 1fr 1fr; }
  .appointment-result-button,.appointment-option-actions { width: 100%; }
  .appointment-result-dialog {
    width: calc(100vw - 16px);
    max-width: none;
    max-height: calc(100dvh - 16px);
    border-radius: 16px;
    overflow: hidden;
  }
  .appointment-result-dialog form {
    max-height: calc(100dvh - 16px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 14px 14px calc(14px + env(safe-area-inset-bottom));
    gap: 10px;
  }
  .appointment-result-dialog .dialog-head {
    position: sticky;
    top: -14px;
    z-index: 3;
    align-items: center;
    margin: -14px -14px 0;
    padding: 12px 14px 10px;
    background: #fff;
    border-bottom: 1px solid #e2e9ec;
  }
  .appointment-result-dialog .dialog-head .eyebrow {
    margin-bottom: 2px;
    font-size: 12px;
  }
  .appointment-result-dialog .dialog-head h2 {
    font-size: 18px;
    line-height: 1.15;
  }
  .appointment-result-dialog .dialog-head button {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
  }
  .appointment-result-client {
    margin: 0;
    padding: 9px 11px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.3;
  }
  .appointment-result-client b {
    font-size: 15px;
  }
  .appointment-result-client span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .appointment-result-options {
    gap: 6px;
    margin-bottom: 0;
  }
  .appointment-result-options legend,
  .one-leg-options legend {
    margin-bottom: 6px;
    font-size: 14px;
  }
  .appointment-result-options label,
  .one-leg-options label {
    min-height: 44px;
    gap: 7px;
    padding: 8px;
    border-radius: 9px;
    font-size: 14px;
    line-height: 1.12;
  }
  .result-followup {
    margin: 0;
    padding: 10px;
  }
  .result-followup .form-grid {
    gap: 9px;
  }
  .appointment-result-dialog input,
  .appointment-result-dialog textarea {
    padding: 10px;
  }
  .appointment-result-dialog textarea {
    min-height: 68px;
    max-height: 100px;
  }
  .appointment-result-dialog .dialog-actions {
    position: sticky;
    bottom: calc(-14px - env(safe-area-inset-bottom));
    z-index: 3;
    margin: 0 -14px calc(-14px - env(safe-area-inset-bottom));
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    background: #fff;
    border-top: 1px solid #e2e9ec;
  }
}
.presentation-launch{width:100%;margin:16px 0 10px;padding:17px 18px;border:0;border-radius:16px;background:linear-gradient(135deg,#0b3f75,#0878bd);color:#fff;display:flex;align-items:center;justify-content:space-between;text-align:left;box-shadow:0 10px 24px rgba(8,82,139,.2)}
.presentation-launch span{display:grid;gap:3px}.presentation-launch b{font-size:1rem}.presentation-launch small{font-size:.82rem;color:#d8efff}.presentation-launch strong{font-size:.9rem}
.presentation-page{background:#f4f8fc}.presentation-head{margin-bottom:14px}.presentation-hero{padding:26px 22px;border-radius:20px;background:linear-gradient(145deg,#073868,#096fa9);color:#fff;box-shadow:0 14px 32px rgba(5,57,103,.2)}
.presentation-hero .eyebrow{color:#aee0ff}.presentation-hero h1{margin:5px 0 6px;font-size:clamp(1.8rem,7vw,2.7rem);line-height:1.05}.presentation-hero p:last-child{margin:0;color:#e4f4ff;line-height:1.45}
.presentation-content,.presentation-discounts{margin-top:16px;display:grid;gap:14px}.presentation-card{padding:19px;border:1px solid #d7e2ec;border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(19,61,92,.06)}
.presentation-card>span{display:block;margin-bottom:11px;color:#50708a;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.presentation-card h2{margin:0;color:#092f53;font-size:1.15rem}
.presentation-measure-row,.presentation-option-row,.presentation-discount-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #e7eef4}.presentation-measure-row:first-of-type,.presentation-option-row:first-of-type{border-top:0}.presentation-measure-row div,.presentation-option-row div{display:grid;gap:3px}.presentation-measure-row b,.presentation-option-row b{color:#143c5c}.presentation-measure-row small,.presentation-option-row small{color:#657f93;font-size:.82rem}.presentation-measure-row>strong,.presentation-option-row>strong{white-space:nowrap;color:#0a659e}
.presentation-measure-total{padding:21px;border-radius:15px;background:linear-gradient(135deg,#edf8ff,#f8fcff);border:1px solid #cfe5f3;display:grid;gap:5px;text-align:center}.presentation-measure-total strong{font-size:clamp(1.7rem,7vw,2.35rem);line-height:1;color:#086da7}.presentation-measure-total small{font-size:.85rem;color:#58778e}.presentation-room{margin-top:13px;border:1px solid #d9e5ed;border-radius:14px;overflow:hidden}.presentation-room:first-of-type{margin-top:0}.presentation-room header{padding:11px 13px;background:#f0f8fd;display:flex;justify-content:space-between;gap:12px;color:#123c5d}.presentation-room header span{color:#0873ad;font-size:.82rem;font-weight:800}.presentation-room .presentation-measure-row{margin:0 13px}.presentation-room .presentation-measure-row:first-of-type{border-top:0}
.presentation-window-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;padding:14px 16px;border-radius:13px;background:linear-gradient(135deg,#e8f6fd,#f6fbfe);border:1px solid #c7e4f2;color:#153754;font-weight:900}.presentation-window-total strong{font-size:1.65rem;line-height:1;color:#0873ad}.window-editor-actions .duplicate-window-btn{border-color:#0b75ad;background:#eaf7fd;color:#075f8d}
.window-grid-toggle span{display:grid;gap:2px;text-align:center}.window-grid-toggle small{font-size:.72rem;font-weight:750;opacity:.78}.window-selection-panel{margin-bottom:16px;border:1px solid #bdd5e4;border-radius:14px;background:#f8fcfe;overflow:hidden}.window-selection-panel>summary{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;list-style:none;cursor:pointer;color:#123c5d;font-weight:900}.window-selection-panel>summary span{color:#0873ad;font-size:.84rem}.window-selection-all{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 12px}.window-selection-all button{min-height:42px;border:1px solid #78a8c2;border-radius:10px;background:#fff;color:#075f8d;font-weight:850}.window-selection-room{border-top:1px solid #dce9f0}.window-selection-room-head,.window-selection-item{display:flex;align-items:center;gap:10px;padding:11px 14px;color:#163e5b}.window-selection-room-head{background:#eef7fb;font-weight:850}.window-selection-room-head span,.window-selection-item span{display:grid;gap:2px}.window-selection-room-head small,.window-selection-item small{color:#668095;font-size:.76rem}.window-selection-item{margin:0 10px;border-top:1px solid #e5edf2}.window-selection-item input,.window-selection-room-head input{width:21px;height:21px;accent-color:#0873ad}.window-sale-group{margin-top:16px;padding:13px;border:1px solid #cfe0e9;border-radius:16px;background:#fbfdfe}.window-sale-group.included{border-color:#a9d5bd;background:#f7fcf9}.window-sale-group.not-included{border-color:#d8dde2;background:#fafbfc}.window-sale-group-title{display:flex;justify-content:space-between;gap:12px;padding:3px 2px 10px;color:#153754}.window-sale-group.included .window-sale-group-title b{color:#17633a}.window-sale-group.not-included .window-sale-group-title b{color:#65727c}.window-sale-group-title span{font-size:.82rem;font-weight:800}.window-sale-empty{margin:5px 2px 2px;color:#728592}
.window-sale-subtotal{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px 13px;border-radius:11px;background:#eaf4f9;color:#143c5c;font-weight:850}.window-sale-subtotal strong{color:#086da7;white-space:nowrap}.window-sale-group.not-included .window-sale-subtotal{background:#eef1f3;color:#566773}.window-sale-group.not-included .window-sale-subtotal strong{color:#566773}
.platform-auth-dialog{width:min(520px,calc(100% - 24px));border:0;border-radius:20px;padding:0;box-shadow:0 24px 80px #071b2d66}.platform-auth-dialog::backdrop{background:#071b2dd9;backdrop-filter:blur(5px)}.platform-auth-card{display:grid;gap:16px;padding:28px;background:#fff}.platform-auth-card h2{margin:0;color:#153754}.platform-auth-card p{margin:0}.platform-auth-card .continue-btn{width:100%;min-height:50px}.form-error{min-height:20px;color:#a52c25;font-weight:750}.admin-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1100px;margin:0 auto 20px}.admin-summary-grid article{display:grid;gap:5px;padding:18px;border:1px solid #cbdce6;border-radius:15px;background:#fff}.admin-summary-grid span{font-size:.8rem;color:#668092;font-weight:800}.admin-summary-grid strong{font-size:1.8rem;color:#086da7}.admin-card,.admin-tool-grid{max-width:1100px;margin:0 auto 20px}.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-card-head h2{margin:2px 0;color:#153754}.admin-user-list,.admin-deletion-list{display:grid;gap:10px}.admin-user-row,.admin-deletion-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid #d5e1e8;border-radius:13px;background:#f9fcfd}.admin-user-row>div,.admin-deletion-row>div{display:grid;gap:4px}.admin-user-row small,.admin-deletion-row small{color:#647c8d}.admin-user-row button,.admin-deletion-row button,.admin-tool-grid button{border:1px solid #9eb6c4;border-radius:10px;background:#fff;color:#153754;padding:11px 14px;font-weight:850}.admin-user-tags{display:flex!important;flex-wrap:wrap;gap:5px!important}.admin-user-tags span{padding:3px 7px;border-radius:999px;background:#e9f4f9;color:#176184;font-size:.72rem;font-weight:800}.admin-tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-tool-grid button{display:grid;gap:5px;text-align:left;min-height:105px;padding:17px}.admin-tool-grid b{font-size:1rem}.admin-tool-grid span{font-size:.82rem;color:#617988}.admin-user-dialog{width:min(690px,calc(100% - 20px))}.admin-permissions,.admin-products{margin:16px 0 0;padding:14px;border:1px solid #cad9e1;border-radius:12px}.admin-permissions legend,.admin-products legend{padding:0 6px;color:#153754;font-weight:900}.admin-permissions{display:grid;gap:10px}.admin-permissions label,.admin-products label{display:flex;align-items:center;gap:9px;font-weight:750}.admin-products>div{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.admin-gmail-status{display:grid;gap:3px;margin-top:16px;padding:13px;border-radius:11px;background:#edf6fa}.admin-gmail-status span,.admin-gmail-status small{color:#617988}.admin-decision-actions{display:flex;gap:7px}.admin-decision-actions .approve{background:#17633a;color:#fff;border-color:#17633a}
@media(max-width:760px){.admin-summary-grid{grid-template-columns:1fr 1fr}.admin-tool-grid{grid-template-columns:1fr}.admin-user-row,.admin-deletion-row{grid-template-columns:1fr}.admin-user-row button{width:100%}.admin-products>div{grid-template-columns:1fr}.platform-auth-card{padding:22px}}
.admin-role-field{display:grid!important;align-items:stretch!important;gap:6px!important}.admin-role-field select{width:100%;min-height:48px}.admin-role-summary{margin:0;padding:12px 14px;border-radius:10px;background:#edf6fa;color:#34596f;line-height:1.45}.admin-role-summary strong{display:block;color:#153754}.admin-permission-options{display:grid;gap:10px}
.biometric-login{width:100%;min-height:48px;border:1px solid #7fa8bd;border-radius:12px;background:#eef7fb;color:#153754;font-weight:900;font-size:.95rem}.biometric-login:active{transform:scale(.99)}#platformSessionNote{color:#617988;text-align:center;line-height:1.4}
.remember-email{display:flex;align-items:center;gap:10px;color:#36556b;font-weight:750;font-size:.92rem}.remember-email input{width:20px;height:20px;margin:0;accent-color:#0879ad}.admin-user-row-actions{display:flex;gap:8px}.admin-user-row button.admin-delete-user{border-color:#d8a6a3;color:#9d2c28}.admin-owner-note{color:#80600a!important}.client-detail-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1100px;margin:0 auto 20px}.client-contact-item{display:grid;gap:4px;padding:13px;border:1px solid #d4e1e8;border-radius:12px;background:#f9fcfd}.client-contact-item span{color:#657f90;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.client-contact-item b,.client-contact-item a{color:#153754;overflow-wrap:anywhere}.client-detail-section{max-width:1100px;margin:0 auto 20px}.client-detail-heading h2{margin:2px 0 16px;color:#153754}.client-history-list,.client-document-list{display:grid;gap:12px}.client-history-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:15px;border:1px solid #d4e1e8;border-radius:13px;background:#f9fcfd}.client-history-card h3{margin:0 0 6px;color:#153754}.client-history-card p{margin:4px 0;color:#526f82;white-space:pre-line}.client-history-card .result-summary{text-align:right;font-weight:900;color:#153754}.client-document-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #d4e1e8;border-radius:12px}.client-document-item div{display:grid;gap:4px}.client-document-item small{color:#657f90}.client-document-item a{padding:10px 14px;border-radius:10px;background:#153754;color:#fff;font-weight:850;text-decoration:none}.client-empty{margin:0;color:#657f90}@media(max-width:700px){.client-detail-contact{grid-template-columns:1fr}.client-history-card{grid-template-columns:1fr}.client-history-card .result-summary{text-align:left}.client-document-item{align-items:stretch;flex-direction:column}.client-document-item a{text-align:center}.admin-user-row-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.admin-user-row-actions button{width:100%}}
.client-document-item button{min-height:44px;padding:10px 14px;border:0;border-radius:10px;background:#153754;color:#fff;font:inherit;font-weight:850;cursor:pointer}.client-document-actions{display:flex!important;grid-auto-flow:column;gap:8px;align-items:center}.client-document-actions button:nth-child(2){background:#087fad}.client-document-actions button:nth-child(3){background:#078a72}.saved-pdf-email-dialog textarea{width:100%;resize:vertical}
.saved-pdf-viewer{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#eef3f6}.saved-pdf-viewer::backdrop{background:rgba(7,27,42,.72)}.saved-pdf-viewer-shell{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%}.saved-pdf-viewer-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));background:#153754;color:#fff;box-shadow:0 2px 12px rgba(4,25,39,.25)}.saved-pdf-viewer-head>div{display:grid;gap:2px;min-width:0}.saved-pdf-viewer-head span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#bcd4e2}.saved-pdf-viewer-head b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-pdf-viewer-head button{min-width:76px;min-height:44px;padding:9px 15px;border:2px solid #fff;border-radius:999px;background:#fff;color:#153754;font:inherit;font-weight:900}.saved-pdf-viewer iframe{display:block;width:100%;height:100%;border:0;background:#d9e1e5}body.saved-pdf-viewer-open{overflow:hidden}
.mullion-position{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,280px);gap:12px;align-items:center}.mullion-slider{position:relative;display:grid;grid-template-columns:1fr 1fr;isolation:isolate;padding:4px;border:1px solid #9db5c3;border-radius:999px;background:#dce8ee}.mullion-slider::before{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:#153754;box-shadow:0 3px 9px rgba(17,49,73,.22);content:"";transform:translateX(0);transition:transform .22s ease}.mullion-slider.below::before{transform:translateX(100%)}.mullion-slider label{position:relative;z-index:1;display:grid;place-items:center;min-height:42px;cursor:pointer}.mullion-slider input{position:absolute;opacity:0;pointer-events:none}.mullion-slider span{font-weight:900;color:#526f82;transition:color .18s ease}.mullion-slider label:has(input:checked) span{color:#fff}.mullion-slider label:has(input:focus-visible){outline:3px solid #2878a655;outline-offset:1px;border-radius:999px}.mullion-assembly{display:grid;gap:10px}.mullion-primary-window{display:grid;gap:4px;padding:14px;border:2px solid #89a8b9;border-radius:12px;background:#f8fbfc;color:#153754}.mullion-primary-window small,.attached-window>small{color:#647d8d;font-size:.74rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.mullion-primary-window span{color:#526f82;font-weight:750}.mullion-assembly .mullion-band{order:2}.mullion-assembly.below .mullion-primary-window,.mullion-assembly.above .attached-window{order:1}.mullion-assembly.below .attached-window,.mullion-assembly.above .mullion-primary-window{order:3}
@media(max-width:700px){.client-document-item button{width:100%}.client-document-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row}.client-document-actions button{padding:9px 6px}.mullion-position{grid-template-columns:1fr}.mullion-slider{width:100%}.project-table-wrap{overflow:visible;border:0;border-radius:0}.project-table{display:block;width:100%;min-width:0}.project-table thead{display:none}.project-table tbody{display:grid;gap:10px}.project-table tr{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:start;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.project-table td{min-width:0;padding:10px 9px;border:0;font-size:13px}.project-table td:nth-child(1){grid-column:1;grid-row:1;padding-top:14px}.project-table td:nth-child(2){grid-column:2;grid-row:1;padding-top:13px}.project-table td:nth-child(3){grid-column:3;grid-row:1;padding-top:12px;text-align:right}.project-table td:nth-child(4),.project-table td:nth-child(5),.project-table td:nth-child(6){grid-column:2/4;padding-top:2px}.project-table td:nth-child(4)::before,.project-table td:nth-child(5)::before,.project-table td:nth-child(6)::before{display:block;margin-bottom:3px;color:#708492;font-size:.66rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.project-table td:nth-child(4)::before{content:"Product"}.project-table td:nth-child(5)::before{content:"Phone"}.project-table td:nth-child(6)::before{content:"Address"}.project-table td:nth-child(7){grid-column:1/4;padding:11px;border-top:1px solid var(--line);background:#f4f8fa}.project-table td[colspan]{grid-column:1/4;padding:18px}.project-table .status{max-width:105px;white-space:normal;text-align:center;line-height:1.15}.project-name-link{padding:0;font-size:.9rem;overflow-wrap:anywhere}.row-related-products{margin-top:4px}.project-phone-list{display:flex;flex-wrap:wrap}.project-phone-button{min-height:36px}.project-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.project-row-actions button{width:100%;min-height:44px}.project-row-actions button:last-child:nth-child(odd){grid-column:1/-1}}
.manual-client-suggestions{display:grid;gap:7px;margin-top:7px;padding:8px;border:1px solid #bfd3df;border-radius:11px;background:#fff;box-shadow:0 12px 26px #15375420}.manual-client-suggestions button{display:grid;gap:2px;padding:10px;border:0;border-radius:8px;background:#f0f7fa;color:#153754;text-align:left}.manual-client-suggestions button b{font-size:.9rem}.manual-client-suggestions button small{color:#647d8e}
.presentation-section-title{display:flex;align-items:end;justify-content:space-between;gap:14px}.presentation-section-title h2{margin:2px 0 0;color:#0b3155}.presentation-section-title button{padding:10px 12px;border:1px solid #1380be;border-radius:12px;background:#fff;color:#08649b;font-weight:800}
.presentation-discount-list:empty:after{content:"No discount selected";display:block;padding:17px;border:1px dashed #bdd0df;border-radius:14px;color:#6b8192;text-align:center;background:#fff}.presentation-discount-row{padding:13px 15px;border:1px solid #d7e2ec;border-radius:14px;background:#fff;margin-top:8px}.presentation-discount-row div{display:grid;gap:2px}.presentation-discount-row small{color:#677f91}.presentation-discount-row strong{color:#0a659e}.presentation-discount-row button{border:0;background:transparent;color:#a03939;font-weight:800;padding:5px}
.presentation-price-card{padding:20px;border-radius:19px;background:#072f55;color:#fff;display:grid;gap:13px;box-shadow:0 12px 30px rgba(7,47,85,.2)}.presentation-price-card>div{display:flex;justify-content:space-between;gap:15px}.presentation-price-card span{color:#c8ddeb}.presentation-price-card strong{font-size:1.12rem}.presentation-final-price{padding-top:14px;border-top:1px solid rgba(255,255,255,.25);align-items:end}.presentation-final-price strong{font-size:1.8rem;color:#7fdbff}
.presentation-actions{margin-top:16px;border:1px solid #ccdbe7;border-radius:16px;background:#fff;overflow:hidden}.presentation-actions summary{list-style:none;padding:17px 18px;color:#113b5c;font-weight:850;display:flex;justify-content:space-between;cursor:pointer}.presentation-actions summary::-webkit-details-marker{display:none}.presentation-actions[open] summary span{transform:rotate(180deg)}.presentation-actions>div{display:grid;border-top:1px solid #e3ebf2}.presentation-actions button{border:0;border-bottom:1px solid #e3ebf2;background:#fff;padding:16px 18px;text-align:left;display:grid;gap:3px;color:#123d5f}.presentation-actions button:last-child{border-bottom:0}.presentation-actions button small{color:#627d91;font-size:.82rem}.presentation-contact{margin-top:16px;padding:18px;border-radius:16px;background:#fff;border:1px solid #d5e1eb;display:grid;grid-template-columns:1fr auto;gap:4px 16px;color:#173f5e}.presentation-contact span{grid-column:1/-1;color:#647f92;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.presentation-contact b{font-size:1.05rem}.presentation-contact strong{grid-column:1;grid-row:3;color:#45687f;font-size:.88rem}.presentation-contact a{grid-column:2;color:#086ba5;text-decoration:none;font-weight:750;text-align:right}.presentation-contact a:first-of-type{grid-row:2}.presentation-contact a:last-of-type{grid-row:3}.presentation-disclaimer{margin:16px 8px 4px;color:#6f8290;font-size:.78rem;line-height:1.45;text-align:center}
.presentation-discount-dialog .duplicate-dialog-body,.presentation-email-dialog .duplicate-dialog-body{display:grid;gap:15px}.presentation-discount-amount{display:grid;gap:14px}.segmented-control{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:#e8f0f6}.segmented-control button{border:0;border-radius:9px;padding:10px;background:transparent;color:#4b697f;font-weight:800}.segmented-control button.active{background:#fff;color:#08659c;box-shadow:0 2px 8px rgba(14,54,82,.12)}.discount-input-shell{display:flex;align-items:center;border:1px solid #b9cbd9;border-radius:12px;background:#fff;padding:0 12px}.discount-input-shell input{width:100%;border:0!important;padding-left:7px!important;padding-right:7px!important}.discount-input-shell span{color:#45667d;font-weight:800}
@media(max-width:520px){.presentation-page{padding-bottom:28px}.presentation-hero{padding:22px 18px}.presentation-card{padding:16px}.presentation-section-title{align-items:center}.presentation-section-title button{font-size:.82rem}.presentation-final-price strong{font-size:1.55rem}.presentation-contact{grid-template-columns:1fr}.presentation-contact>*{grid-column:1!important;grid-row:auto!important;text-align:left!important}.presentation-discount-dialog,.presentation-email-dialog{width:calc(100% - 20px);max-height:92dvh}.presentation-discount-dialog .duplicate-dialog-body,.presentation-email-dialog .duplicate-dialog-body{padding:17px}.presentation-measure-row,.presentation-option-row{gap:8px}}
@media(max-width:620px){.presentation-payment-options{grid-template-columns:1fr}.financing-catalog-row{grid-template-columns:1fr}.financing-catalog-row strong{text-align:left}}
.menu-account{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 8px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.15);color:#fff}.menu-account span{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-account button{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:9px;padding:8px 12px;font-weight:700}
.appointment-integration-layout{display:grid;gap:18px;max-width:1000px;margin:0 auto;padding-bottom:110px}.appointment-integration-card{display:grid;gap:18px}.integration-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.integration-card-head h2{margin:2px 0 0;color:#153754}.integration-status{padding:7px 11px;border-radius:999px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.integration-status.connected{background:#dff4e8;color:#17633a}.integration-status.pending{background:#fff2c9;color:#775900}.integration-status.off{background:#e9eef1;color:#60717d}.integration-toggle{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid #c7d9e3;border-radius:13px;background:#f8fcfe}.integration-toggle input{width:22px;height:22px;margin:1px 0 0;accent-color:#0879ad}.integration-toggle span{display:grid;gap:4px}.integration-toggle b{color:#153754}.integration-toggle small{color:#607a8c;line-height:1.4}.private-intake-address{display:grid;gap:7px;padding:16px;border-radius:14px;background:#0a3459;color:#fff}.private-intake-address>span{font-size:.78rem;font-weight:800;color:#b9d7e9;text-transform:uppercase;letter-spacing:.06em}.private-intake-address>div{display:flex;align-items:center;gap:10px}.private-intake-address code{flex:1;min-width:0;overflow-wrap:anywhere;font-size:.95rem;color:#fff}.private-intake-address button,.integration-card-head button,.integration-test-actions button{border:1px solid #88afc5;border-radius:10px;background:#fff;color:#124362;padding:10px 13px;font-weight:850}.private-intake-address button:disabled{opacity:.48}.private-intake-address small{color:#c9e0ed}.integration-senders{grid-column:1/-1}.integration-steps{display:grid;gap:10px;margin:0;padding-left:24px;color:#35566b;line-height:1.5}.integration-test-actions{display:flex;align-items:center;gap:14px}.integration-test-actions p{margin:0;color:#5d7586}.integration-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;border:1px solid #bdd5e2;border-radius:14px;background:#f8fcfe}.integration-preview>div{display:grid;gap:3px;padding:10px;border-radius:9px;background:#fff}.integration-preview>div span{color:#617b8d;font-size:.76rem;font-weight:800;text-transform:uppercase}.integration-preview>div b{color:#173f58;overflow-wrap:anywhere}.integration-preview .integration-preview-head{grid-column:1/-1;background:#e7f4fa}.integration-preview-head span{text-transform:none!important;letter-spacing:0!important}.appointment-intake-history{display:grid;gap:9px}.appointment-intake-history>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:13px;border:1px solid #d4e2e9;border-radius:12px;background:#fafcfd}.appointment-intake-history article div{display:grid;gap:3px}.appointment-intake-history article span,.appointment-intake-history article small{color:#647e8f;font-size:.8rem}.appointment-intake-history article strong{align-self:start;padding:4px 8px;border-radius:999px;background:#e7eef2;color:#526875;font-size:.72rem;text-transform:capitalize}.appointment-intake-history article strong.ready{background:#dff4e8;color:#17633a}.appointment-intake-history article strong.needs_review{background:#fff2c9;color:#775900}.appointment-intake-history article strong.rejected{background:#f7dfdd;color:#922e29}.appointment-intake-history article>small{grid-column:1/-1;color:#922e29}
@media(max-width:650px){.integration-card-head,.private-intake-address>div,.integration-test-actions{align-items:stretch;flex-direction:column}.integration-preview{grid-template-columns:1fr}.integration-preview .integration-preview-head{grid-column:1}.appointment-intake-history>article{grid-template-columns:1fr}.appointment-intake-history article>small{grid-column:1}}
.welcome-setup-dialog{width:min(500px,calc(100% - 24px));border:0;border-radius:22px;padding:0;box-shadow:0 24px 80px #071b2d66}.welcome-setup-dialog::backdrop{background:#071b2dc7;backdrop-filter:blur(5px)}.welcome-setup-card{display:grid;gap:15px;padding:28px;background:#fff;text-align:center}.welcome-setup-card>img{width:86px;height:86px;margin:0 auto;object-fit:contain;border-radius:20px}.welcome-setup-card h2{margin:0;color:#153754;font-size:1.55rem;line-height:1.15}.welcome-setup-card>p:not(.eyebrow){margin:0;color:#486779;line-height:1.55}.welcome-email-callout{display:grid;gap:4px;padding:15px;border:1px solid #c8dce7;border-radius:14px;background:#f1f8fb;text-align:left}.welcome-email-callout span{color:#617b8c;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.welcome-email-callout b{color:#153754;overflow-wrap:anywhere}.welcome-email-callout small{margin-top:5px;color:#5f7787;line-height:1.4}.welcome-setup-card .continue-btn{width:100%;min-height:50px}
.financing-plan-summary small{color:#9fbdce;font-size:.69rem;line-height:1.35}
.measurement-notes{display:grid;gap:6px;color:#496171;font-size:.78rem;font-weight:800}.measurement-notes textarea{width:100%;min-height:58px;resize:vertical;border:1px solid #b9c9d4;border-radius:10px;background:#fff;padding:10px;color:#0b2a43;font:inherit}.measurement-include{display:flex!important;align-items:center;gap:9px!important;color:#214d68!important;font-size:.82rem!important;font-weight:850!important}.measurement-include input{width:20px!important;height:20px;accent-color:#168253}.measurement-excluded{border-color:#cfd5da!important;background:#f5f6f7!important;opacity:.82}.measurement-client-note{margin:5px 0 0;padding:6px 8px;border-left:3px solid #79a9c4;background:#eef6fa;color:#395d72;font-size:.76rem;line-height:1.4}.presentation-financing-meta small{font-size:.7rem;color:#7690a1}.overview-measure-group{margin-top:10px;padding:10px;border:1px solid #cfe0e9;border-radius:12px}.overview-measure-group.included{border-color:#a9d5bd;background:#f7fcf9}.overview-measure-group.not-included{border-color:#d8dde2;background:#f7f8f9}.overview-measure-group>b{display:block;margin-bottom:4px;color:#234d65}.overview-measure-group.not-included>b{color:#697680}
.statistics-scope-card{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 18px;padding:15px 17px;border:1px solid #b9d4e3;border-radius:15px;background:#f3f9fc}.statistics-scope-card.hidden{display:none}.statistics-scope-card label{display:grid;gap:6px;flex:1;color:#496171;font-size:.82rem;font-weight:850}.statistics-scope-card select{width:100%;min-height:46px;border:1px solid #94b2c4;border-radius:10px;background:#fff;padding:9px 12px;color:#153754;font:inherit}.statistics-scope-card>small{max-width:320px;color:#647d8d;line-height:1.4}.history-source-note.personal{border-color:#b9d4e3;background:#f3f9fc}.admin-user-identity small:last-child{text-transform:capitalize}@media(max-width:680px){.statistics-scope-card{align-items:stretch;flex-direction:column}.statistics-scope-card>small{max-width:none}}
/* Focused landscape section navigation and required-field feedback */
.add-landscape-product,.add-landscape-section{border:1px solid #0879ad!important;background:#0879ad!important;color:#fff!important;font-weight:850;box-shadow:0 5px 12px rgba(8,121,173,.18)}
.add-landscape-product:hover,.add-landscape-section:hover{background:#066b99!important}
.landscape-section-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 4px;scrollbar-width:thin}
.landscape-section-tabs button{flex:0 0 auto;border:1px solid #a9c1cf;border-radius:999px;background:#fff;color:#28536d;padding:9px 13px;font-weight:800}
.landscape-section-tabs button.active{border-color:#0879ad;background:#e4f4fb;color:#086b99}
.required-missing{border-color:#d89400!important;background:#fff8df!important;box-shadow:0 0 0 3px rgba(216,148,0,.16)!important}
.required-missing-group{border:2px solid #d89400!important;background:#fffaf0!important}
.required-missing-note{display:block;margin:3px 0 0;color:#9a6500;font-size:.78rem;font-weight:800}
.facet-entry input,.coating-dimension-row input,.landscape-area-measurement input,.landscape-direct-measurement input,.window-measure-grid input{font-size:16px}
.stats-result-selector{display:grid;gap:6px;margin:14px 0 18px;padding:12px;border:1px solid #b9d0dc;border-radius:13px;background:#f1f8fb}.stats-result-selector span{color:#36586d;font-size:.82rem;font-weight:850}.stats-result-selector select{width:100%;min-height:46px;border:1px solid #9db8c7;border-radius:10px;background:#fff;padding:10px 38px 10px 12px;color:#153754;font-size:16px;font-weight:800}.stats-selection-empty{margin:0;padding:20px;border:1px dashed #b8cad4;border-radius:12px;background:#f8fafb;color:#647987;text-align:center}.outcome-summary-grid.compact{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
@media(max-width:700px){#statisticsPage{padding-inline:12px}.statistics-content{gap:14px}.statistics-scope-card,.history-source-note,.product-trend-card,.stat-card{border-radius:13px}.product-trend-card{padding:15px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:13px;min-width:0}.stat-card strong{font-size:1.25rem;overflow-wrap:anywhere}.stat-card span{font-size:.72rem}.stat-card small{font-size:.75rem}.stats-result-selector{margin:11px 0 14px}.outcome-summary-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.outcome-summary-grid.compact article{min-width:0;padding:12px}.stats-chart{max-width:100%;overflow:hidden}.stats-chart-scroll{max-width:100%;overflow-x:auto}.stats-chart svg{min-width:520px}.product-stat-row{grid-template-columns:minmax(80px,1fr) minmax(55px,.7fr) minmax(68px,auto);gap:8px}.product-stat-row span{font-size:.82rem}.history-table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}}
/* Desktop owner and administrator browser workspace */
.desktop-admin-nav{display:none}
@media(min-width:1050px){body.desktop-admin-mode{background:#edf3f7}.desktop-admin-mode .app-shell{max-width:none;padding-left:256px}.desktop-admin-mode .desktop-admin-nav{position:fixed;inset:0 auto 0 0;z-index:35;display:flex!important;width:256px;padding:18px 14px;background:#0d304d;color:#fff;box-shadow:8px 0 28px rgba(8,34,54,.16);flex-direction:column}.desktop-admin-brand{display:flex;align-items:center;gap:11px;border:0;border-bottom:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;padding:5px 5px 18px;text-align:left}.desktop-admin-brand img{width:46px;height:46px;border-radius:12px;background:#fff;object-fit:contain}.desktop-admin-brand span{display:grid;gap:2px}.desktop-admin-brand b{font-size:.98rem}.desktop-admin-brand small{color:#b9cfdd}.desktop-admin-nav nav{display:grid;gap:5px;margin-top:18px}.desktop-admin-nav nav button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:45px;border:0;border-radius:10px;background:transparent;color:#dce9f1;padding:9px 11px;text-align:left;font-size:.9rem;font-weight:800}.desktop-admin-nav nav button:hover,.desktop-admin-nav nav button:focus-visible{background:#194766;color:#fff}.desktop-admin-nav nav button>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:rgba(255,255,255,.1);font-style:normal}.desktop-admin-account{display:grid;gap:8px;margin-top:auto;padding:14px 5px 3px;border-top:1px solid rgba(255,255,255,.16)}.desktop-admin-account b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-admin-account button{border:1px solid rgba(255,255,255,.28);border-radius:9px;background:transparent;color:#fff;padding:9px;font-weight:800}.desktop-admin-mode .topbar{left:256px;width:auto}.desktop-admin-mode .menu-button{display:none}.desktop-admin-mode main{max-width:1440px;margin-inline:auto}.desktop-admin-mode #statisticsPage,.desktop-admin-mode #allProjectsPage,.desktop-admin-mode #adminPage,.desktop-admin-mode #settingsPage,.desktop-admin-mode #saleQueuePage,.desktop-admin-mode #appointmentIntegrationPage,.desktop-admin-mode #operationsPortalPage{width:min(100%,1440px);padding-inline:28px}.desktop-admin-mode .all-projects-card,.desktop-admin-mode .statistics-content,.desktop-admin-mode .settings-form{max-width:none}}

/* Facet-level roof materials and measured linear-foot extras */
.roof-measurement-method-card{display:grid;gap:15px;margin:0 0 14px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.roof-measurement-mode{width:min(100%,440px)}.roof-direct-squares{display:grid;grid-template-columns:minmax(0,180px) minmax(120px,180px);align-items:center;gap:7px 14px;padding:14px;border:1px solid #b7d0df;border-radius:13px;background:#f3f9fc;color:#214d68;font-weight:850}.roof-direct-squares input{width:100%;height:48px;border:1px solid #8eacbd;border-radius:10px;background:#fff;padding:8px 12px;color:#0b2a43;font-size:16px;font-weight:850}.roof-direct-squares small{grid-column:1/-1;color:#5f7888;font-weight:700;line-height:1.4}.roof-facet-material{display:grid;gap:6px;color:#355b70;font-size:.8rem;font-weight:850}.roof-facet-material select,.roof-linear-line select,.coating-linear-line select{width:100%;min-height:46px;border:1px solid #a9bdca;border-radius:10px;background:#fff;padding:9px 36px 9px 11px;color:#153754;font-size:16px;font-weight:750}.roof-linear-extras,.coating-linear-extras{display:grid;gap:10px;padding:13px;border:1px solid #cbdce5;border-radius:13px;background:#f6fafc}.roof-linear-heading,.coating-linear-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.roof-linear-heading>div,.coating-linear-heading>div{display:grid;gap:3px}.roof-linear-heading small,.coating-linear-heading p{margin:0;color:#617b8c;font-size:.76rem;line-height:1.35}.roof-linear-heading button,.coating-linear-heading button,.roof-next-facet{min-height:42px;border:0;border-radius:10px;background:var(--blue);color:#fff;padding:9px 13px;font-weight:850}.roof-linear-line,.coating-linear-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,150px) 42px;align-items:end;gap:9px}.roof-linear-line label,.coating-linear-line label{display:grid;gap:5px;color:#526f80;font-size:.76rem;font-weight:850}.roof-linear-line input,.coating-linear-line input{width:100%;height:46px;border:1px solid #a9bdca;border-radius:10px;background:#fff;padding:8px 10px;color:#0b2a43;font-size:16px;font-weight:850}.roof-linear-line>button,.coating-linear-line>button{width:42px;height:42px;border:1px solid #d6b5b3;border-radius:10px;background:#fff;color:#a23832;font-size:1.25rem;font-weight:900}.coating-linear-list{display:grid;gap:9px}.roof-material-pricing-group{display:grid;gap:10px}.roof-material-pricing-group+ .roof-material-pricing-group{margin-top:18px;padding-top:16px;border-top:1px solid #d7e2e9}.roof-material-pricing-group>h3{margin:0;color:#214d68;font-size:.92rem}.roof-next-facet{width:100%}
@media(max-width:680px){.roof-measurement-method-card{padding:15px}.roof-direct-squares{grid-template-columns:1fr}.roof-direct-squares small{grid-column:1}.roof-linear-heading,.coating-linear-heading{align-items:stretch;flex-direction:column}.roof-linear-line,.coating-linear-line{grid-template-columns:1fr 100px 42px}.roof-linear-line label:first-child,.coating-linear-line label:first-child{grid-column:1/-1}.roof-linear-line label:nth-child(2),.coating-linear-line label:nth-child(2){grid-column:1/3}.roof-linear-line>button,.coating-linear-line>button{grid-column:3;grid-row:2}}
.roof-facet-method{display:grid;gap:7px}.roof-facet-method>span,.roof-facet-direct>span{color:#355b70;font-size:.8rem;font-weight:850}.roof-facet-method .segmented-control{width:min(100%,420px)}.roof-facet-direct{display:grid;grid-template-columns:minmax(0,180px) minmax(110px,180px);align-items:center;gap:7px 14px;padding:13px;border:1px solid #b7d0df;border-radius:12px;background:#f3f9fc}.roof-facet-direct input{width:100%;height:48px;border:1px solid #8eacbd;border-radius:10px;background:#fff;padding:8px 12px;color:#0b2a43;font-size:16px;font-weight:850}.roof-facet-direct small{grid-column:1/-1;color:#607989;line-height:1.4}.facet-row{gap:13px}
@media(max-width:680px){.roof-facet-direct{grid-template-columns:1fr}.roof-facet-direct small{grid-column:1}.roof-facet-method .segmented-control{width:100%}}

/* Client-presentation editing and cash-down calculator */
.presentation-item-editor,.presentation-offer-editor{margin-top:14px;border:1px solid #bfd3df;border-radius:13px;background:#f6fafc;overflow:hidden}.presentation-item-editor summary,.presentation-offer-editor summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;color:#17445f;font-weight:850;cursor:pointer}.presentation-item-editor-body,.presentation-offer-editor>div{display:grid;gap:12px;padding:0 14px 14px}.presentation-item-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 92px auto;align-items:center;gap:9px;padding-top:11px;border-top:1px solid #d7e3ea}.presentation-item-edit-row>div{display:grid;gap:3px}.presentation-item-edit-row small{color:#647d8c}.presentation-item-edit-row input,.presentation-item-add input,.presentation-item-add select,.presentation-offer-editor input{width:100%;min-height:46px;border:1px solid #a9bdca;border-radius:10px;background:#fff;padding:8px 11px;color:#0b2a43;font-size:16px;font-weight:800}.presentation-item-edit-row button,.presentation-item-add button{min-height:42px;border:0;border-radius:10px;padding:9px 12px;background:#166b98;color:#fff;font-weight:850}.presentation-item-edit-row button{background:#fff;color:#a23832;border:1px solid #d6b5b3}.presentation-item-add{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;align-items:end;gap:9px;padding-top:13px;border-top:1px solid #c7d9e3}.presentation-item-add label,.presentation-offer-editor label{display:grid;gap:6px;color:#355b70;font-size:.82rem;font-weight:850}.presentation-offer-editor>div{grid-template-columns:1fr 1fr}.presentation-offer-editor small{grid-column:1/-1;color:#607989;line-height:1.4}
@media(max-width:680px){.presentation-item-edit-row{grid-template-columns:1fr 92px}.presentation-item-edit-row>div{grid-column:1/-1}.presentation-item-edit-row button{grid-column:2}.presentation-item-add{grid-template-columns:1fr 96px}.presentation-item-add label:first-child{grid-column:1/-1}.presentation-item-add button{grid-column:1/-1}.presentation-offer-editor>div{grid-template-columns:1fr}.presentation-offer-editor small{grid-column:1}}

/* Compact, contained statistics layout for phones */
#statisticsPage,.statistics-content,.stats-period,.statistics-date-card,.statistics-date-card form,.stats-grid{min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:700px){
  #statisticsPage{width:100%;overflow-x:hidden;padding-inline:12px}
  .statistics-content{width:100%;overflow:hidden}
  .statistics-date-card{width:100%;grid-template-columns:minmax(0,1fr);gap:13px;padding:14px;border-radius:14px}
  .statistics-date-card h2{font-size:1.35rem;line-height:1.15;overflow-wrap:anywhere}
  .statistics-date-card p{font-size:.9rem;line-height:1.4}
  .statistics-date-card form{width:100%;grid-template-columns:minmax(0,1fr);gap:9px}
  .statistics-date-card label,.statistics-period-choice,.statistics-date-card form>button{grid-column:1!important;width:100%;min-width:0}
  .statistics-date-card input,.statistics-date-card select{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;font-size:16px}
  .stats-period{width:100%;gap:9px}
  .stats-period h2{font-size:1.3rem;line-height:1.2;overflow-wrap:anywhere}
  .statistics-projection-note{font-size:.82rem;line-height:1.35}
  .stats-grid{width:100%;grid-template-columns:minmax(0,1fr);gap:9px}
  .stat-card{width:100%;min-width:0;padding:13px 14px}
  .stat-card strong{font-size:1.3rem}
  .stat-card em{font-size:.8rem}
}
.measurement-review-tool{border-left:5px solid #d99020;background:#fff9eb}.measurement-review-tool h3{margin:8px 0;color:#173f59}.measurement-review-tool p{color:#607989;line-height:1.45}.measurement-review-tool button{width:100%;min-height:48px;border-color:#d99020;color:#8a5600}
.client-packet-attach{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr) minmax(180px,.8fr) auto;gap:12px;align-items:end;margin-top:16px;padding:16px;border:1px solid #abd2e4;border-radius:13px;background:#eef8fc}.client-packet-attach.hidden{display:none}.client-packet-attach p{margin:4px 0 0;color:#587486}.client-packet-attach label{display:grid;gap:6px;font-weight:800;color:#153754}.client-packet-attach label span{font-size:.82rem}.client-packet-attach input{width:100%;min-height:46px;padding:8px;border:1px solid #adc4d1;border-radius:10px;background:#fff}.client-packet-attach button{min-height:46px;padding:10px 16px;border:0;border-radius:10px;background:#153754;color:#fff;font-weight:850}@media(max-width:900px){.client-packet-attach{grid-template-columns:1fr 1fr}.client-packet-attach>div,.client-packet-attach button{grid-column:1/-1}}@media(max-width:600px){.client-packet-attach{grid-template-columns:1fr}.client-packet-attach>div,.client-packet-attach button{grid-column:auto}}
.packet-cancellation-date{align-items:end;background:#fff7da;border:2px solid #e2bb45;border-radius:14px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(210px,.45fr);margin:16px 0;padding:16px}.packet-cancellation-date>div{display:grid;gap:5px}.packet-cancellation-date b{color:#4c3900}.packet-cancellation-date>div span{color:#715a18;line-height:1.4}.packet-cancellation-date label{display:grid;gap:6px}.packet-cancellation-date label span{color:#4c3900;font-size:.85rem;font-weight:850}.packet-cancellation-date input{background:#fff;border:1px solid #b89531;border-radius:10px;font:inherit;min-height:48px;padding:9px 11px;width:100%}@media(max-width:650px){.packet-cancellation-date{grid-template-columns:1fr}}
.packet-cancellation-date .packet-date-confirm{align-items:center;color:#4c3900;display:flex;font-weight:800;gap:9px;margin-top:8px}.packet-cancellation-date .packet-date-confirm input{height:22px;min-height:22px;width:22px}

/* Operations expansion planning portal */
.operations-pending-banner{display:flex;gap:14px;align-items:flex-start;margin:0 0 18px;padding:18px;border:1px solid #e1bd53;border-left:6px solid #d89410;border-radius:16px;background:#fff7d9;color:#57420c}.operations-pending-banner>span{display:grid;place-items:center;min-width:38px;height:38px;border-radius:50%;background:#dda019;color:#fff;font-size:1.35rem;font-weight:900}.operations-pending-banner p{margin:5px 0 0;line-height:1.5}.operations-role-grid,.operations-module-grid{display:grid;gap:16px;margin-bottom:18px}.operations-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.operations-role-card,.operations-module-grid>article{border:1px solid #c9dbe5;border-radius:17px;background:#fff;padding:20px;box-shadow:0 8px 24px rgba(17,57,82,.06)}.operations-role-card h2,.operations-module-grid h2,.operations-needed-card h2{margin:4px 0 8px;color:#153754}.operations-role-card>p:not(.eyebrow),.operations-module-grid p{color:#607989;line-height:1.5}.operations-role-card h3{margin:18px 0 9px;color:#315d73;font-size:.9rem}.operations-team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.operations-team-list span{display:grid;gap:2px;padding:10px;border-radius:10px;background:#eef6fa}.operations-team-list small{color:#637d8c}.operations-access-note{display:grid;gap:5px;margin-top:18px;padding:13px;border-radius:12px;background:#eef6fa;color:#315d73}.operations-status{display:inline-block;border-radius:999px;background:#fff1c8;color:#835a04;padding:5px 9px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.operations-module-grid button{width:100%;min-height:44px;margin-top:12px;border:1px solid #c5d3dc;border-radius:10px;background:#edf2f5;color:#677985;font-weight:800}.operations-needed-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:24px}.operations-needed-card ul{margin:0;padding-left:21px;color:#496879;line-height:1.65}
@media(max-width:1050px){.operations-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.operations-role-grid,.operations-module-grid,.operations-needed-card{grid-template-columns:1fr}.operations-team-list{grid-template-columns:1fr}.operations-pending-banner{padding:14px}.operations-role-card,.operations-module-grid>article{padding:16px}}

/* Owner-only, session-scoped role simulation */
.owner-act-as-bar{position:sticky;top:82px;z-index:32;display:grid;grid-template-columns:minmax(240px,auto) minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 24px;border-bottom:2px solid #2580a6;background:#e9f7fc;box-shadow:0 6px 16px rgba(14,55,78,.12);color:#153754}.owner-act-as-bar.hidden{display:none}.owner-act-as-bar label{display:flex;align-items:center;gap:9px;font-weight:900}.owner-act-as-bar select{min-height:42px;border:2px solid #2580a6;border-radius:10px;background:#fff;padding:7px 34px 7px 10px;color:#153754;font:inherit;font-weight:850}.owner-act-as-bar p{margin:0;color:#496879;font-size:.86rem}.owner-act-as-bar button{min-height:42px;border:0;border-radius:10px;background:#153754;color:#fff;padding:9px 15px;font-weight:900}.owner-act-as-bar select:focus-visible,.owner-act-as-bar button:focus-visible{outline:3px solid #e0a11b;outline-offset:2px}@media(max-width:700px){.owner-act-as-bar{top:82px;grid-template-columns:1fr auto;padding:9px 12px}.owner-act-as-bar label{align-items:stretch;flex-direction:column;gap:4px}.owner-act-as-bar label span{font-size:.76rem}.owner-act-as-bar select{min-width:0;width:100%;font-size:16px}.owner-act-as-bar p{display:none}.owner-act-as-bar button{align-self:end;white-space:nowrap;padding-inline:11px}}

/* Owner simulation belongs in the menu so it never covers working pages. */
.app-menu-panel{overflow-y:auto}
.owner-act-as-menu{display:grid;gap:9px;padding:13px;border:2px solid #76b4ce;border-radius:14px;background:#e9f7fc;color:#153754}
.owner-act-as-menu.hidden{display:none}
.owner-act-as-menu label{display:grid;gap:6px;font-weight:900}
.owner-act-as-menu label span{font-size:.8rem}
.owner-act-as-menu select{width:100%;min-width:0;min-height:44px;border:1px solid #5599b8;border-radius:10px;background:#fff;padding:8px 36px 8px 10px;color:#153754;font:inherit;font-size:16px;font-weight:850}
.owner-act-as-menu small{color:#4c6c7e;line-height:1.35}
.owner-act-as-menu button{min-height:42px;border:0;border-radius:10px;background:#153754;color:#fff;padding:9px 13px;font-weight:900}
@media(min-width:1050px){body.desktop-admin-mode.owner-can-simulate .menu-button{display:inline-flex}}

/* Statistics must remain inside the phone viewport; wide content becomes compact rows. */
.statistics-content>*{min-width:0;width:100%;max-width:100%}
@media(max-width:700px){
  #statisticsPage{width:100%;max-width:100vw;overflow-x:hidden;padding-inline:10px}
  #statisticsPage>.pricing-head{margin-bottom:10px}
  #statisticsPage>.intro{margin-bottom:12px;padding:14px}
  #statisticsPage>.intro h1{font-size:1.7rem}
  #statisticsPage>.intro p:not(.eyebrow){font-size:.86rem;line-height:1.35}
  .statistics-content{width:100%;min-width:0;overflow:visible;gap:11px}
  .statistics-content>*,.stats-period,.product-trend-card,.history-source-note,.statistics-date-card{min-width:0;width:100%;max-width:100%;overflow:hidden}
  .statistics-scope-card{margin-bottom:11px;padding:12px}
  .statistics-scope-card>small{font-size:.78rem}
  .statistics-date-card{gap:10px;padding:12px}
  .statistics-date-card h2{font-size:1.15rem}
  .statistics-date-card p{font-size:.8rem;line-height:1.32}
  .statistics-date-card form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .statistics-date-card .statistics-period-choice{grid-column:1/-1!important}
  .statistics-date-card label:not(.statistics-period-choice){grid-column:auto!important}
  .statistics-date-card form>button{grid-column:1/-1!important;min-height:42px}
  .stats-period{gap:7px}
  .stats-period h2{font-size:1.08rem}
  .statistics-projection-note{font-size:.76rem}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .stat-card{width:auto;min-width:0;min-height:0;padding:10px;gap:3px;border-radius:11px}
  .stat-card span{font-size:.66rem;line-height:1.18}
  .stat-card strong{font-size:1.08rem;line-height:1.15}
  .stat-card small,.stat-card em{font-size:.68rem;line-height:1.25}
  .stat-card em{margin-top:3px;padding-top:5px}
  .product-trend-card{padding:12px;border-radius:12px}
  .product-trend-card h2{font-size:1.22rem;line-height:1.2;margin-bottom:5px}
  .stats-explainer{margin-bottom:9px;font-size:.78rem;line-height:1.35}
  .stats-result-selector{margin:8px 0 10px;padding:9px}
  .stats-result-selector select{min-height:42px}
  .outcome-summary-grid.compact{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .outcome-summary-grid.compact article{min-width:0;padding:9px;border-radius:10px}
  .outcome-summary-grid.compact span{font-size:.72rem;line-height:1.2;overflow-wrap:anywhere}
  .outcome-summary-grid.compact strong{font-size:1.15rem}
  .history-source-note{padding:12px;font-size:.8rem}
  .product-stat-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;margin:10px 0}
  .product-stat-row span{min-width:0;font-size:.82rem;overflow-wrap:anywhere}
  .product-stat-row>b{grid-column:2;grid-row:1;font-size:.88rem}
  .product-stat-row>b small{font-size:.68rem}
  .product-stat-bar{grid-column:1/-1;grid-row:2;height:7px}
  .stats-view-control{min-width:0;margin:9px 0 11px;padding:8px;gap:6px}
  .stats-view-control>b{font-size:.72rem}
  .stats-view-toggle{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-view-toggle button{min-width:0;min-height:40px;padding:6px 5px;font-size:.76rem;line-height:1.15;white-space:normal}
  .stats-chart,.stats-chart-scroll{width:100%;min-width:0;max-width:100%;overflow:hidden;margin-inline:0}
  .stats-chart svg{width:100%;min-width:0;max-width:100%;height:auto}
  .stats-chart-legend{gap:5px 9px;font-size:.68rem}
  .history-table-wrap{width:100%;max-width:100%;overflow:visible;border:0}
  .history-table{display:block;width:100%;min-width:0;background:transparent}
  .history-table thead{display:none}
  .history-table tbody{display:grid;gap:8px}
  .history-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #dbe5ea;border-radius:11px;background:#fff;overflow:hidden}
  .history-table td{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px 10px;border-bottom:1px solid #edf1f3;text-align:right;white-space:normal;font-size:.82rem}
  .history-table td::before{content:attr(data-label);color:#687d8a;font-size:.66rem;font-weight:850;text-align:left;text-transform:uppercase;letter-spacing:.03em}
  .history-table td:first-child{grid-column:1/-1;background:#edf4f8;text-align:right}
  .history-table td:last-child{border-bottom:0}
  .history-table .history-missing{display:block;padding:10px;background:#fff8e8}
  .history-table .history-missing td{display:block;padding:3px;border:0;background:transparent;text-align:left}
  .history-table .history-missing td:first-child{font-weight:900}
  .history-table .history-missing td::before{display:none}
  .seasonality-list{grid-template-columns:1fr;gap:7px}
  .seasonality-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px}
  .seasonality-row>div:last-child{text-align:right}
  .seasonality-row span,.seasonality-row small{font-size:.72rem}
}
@media(max-width:680px){.roof-linear-line{grid-template-columns:1fr 100px 78px}.roof-linear-line>button[data-save-roof-linear],.roof-linear-line>button[data-edit-roof-linear]{grid-column:3;grid-row:2}}
.admin-dialog-back{align-self:center;min-height:44px;white-space:nowrap}.commission-upgrade-access{background:#f1f8fb;border-color:#8fb9ce}.commission-upgrade-access legend{color:#153754}.commission-upgrade-access select{font-size:16px}@media(max-width:680px){.admin-user-dialog .duplicate-dialog-head{align-items:flex-start}.admin-dialog-back{padding:10px 13px}}
.client-list-sort{display:grid;grid-template-columns:auto minmax(220px,360px);align-items:center;justify-content:end;gap:12px;margin:14px 0}.client-list-sort span{color:#526f82;font-weight:850}.client-list-sort select{min-height:46px;border:1px solid #b9d4e1;border-radius:11px;background:#fff;color:#153754;padding:0 12px;font:inherit;font-weight:800}.client-history-kind{margin:0 0 4px!important;color:#2780a7!important;font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}@media(max-width:700px){.client-list-sort{grid-template-columns:1fr;justify-content:stretch}.client-list-sort select{width:100%}}

/* Complete Command modal and estimate-reuse styling */
.duplicate-dialog{width:min(680px,calc(100vw - 24px));max-height:92dvh;border:0;border-radius:22px;padding:0;background:#fff;color:#153754;box-shadow:0 24px 80px rgba(7,31,49,.38);overflow:auto}.duplicate-dialog::backdrop{background:rgba(7,31,49,.66);backdrop-filter:blur(4px)}.duplicate-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 17px;border-bottom:1px solid #dbe6ec;background:#fff}.duplicate-dialog-head h2{margin:4px 0 0;color:#153754;font-size:1.55rem;line-height:1.15}.duplicate-dialog-head>button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:#edf3f6;color:#607887;font-size:1.5rem}.duplicate-dialog-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #dbe6ec;background:#fff}.duplicate-dialog-actions button{min-height:48px;border:1px solid #9eb6c5;border-radius:12px;background:#fff;color:#153754;padding:11px 18px;font:inherit;font-weight:850}.duplicate-dialog-actions button.primary{border-color:#123e5e;background:#123e5e;color:#fff}.duplicate-dialog-actions button:disabled{opacity:.48}.client-history-item{background:#f9fcfd}.reuse-estimate-choices{display:grid;gap:11px}.reuse-estimate-choice{display:flex;align-items:flex-start;gap:12px;border:1px solid #c7d9e3;border-radius:14px;background:#f8fcfe;padding:15px;cursor:pointer}.reuse-estimate-choice:has(input:checked){border:2px solid #187eaa;background:#eaf6fb;padding:14px}.reuse-estimate-choice input{flex:0 0 auto;width:21px;height:21px;margin:2px 0 0;accent-color:#187eaa}.reuse-estimate-choice span{display:grid;gap:4px}.reuse-estimate-choice b{color:#153754}.reuse-estimate-choice small{color:#627b8b;line-height:1.35}.reuse-estimate-explanation{margin:0}.overview-discount-controls{border-color:#a9cddd!important;background:#f5fbfd!important}.overview-discount-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.overview-discount-heading h3{margin:4px 0 0;color:#153754}.overview-discount-heading button{border:0;border-radius:10px;background:#187eaa;color:#fff;padding:10px 13px;font-weight:850}.overview-discount-list{display:grid;gap:8px;margin-top:13px}.overview-discount-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid #cbdde6;border-radius:11px;background:#fff}.overview-discount-list span{display:grid;gap:2px}.overview-discount-list small{color:#647d8d}.overview-discount-list button{width:38px;height:38px;border:0;border-radius:9px;background:#f8e5e2;color:#9b342b;font-size:1.2rem;font-weight:900}.overview-discount-total{margin-top:12px!important;border-top:1px solid #cbdde6}.estimate-delivery-status{margin:0;padding:11px 13px;border-left:4px solid #2586af;border-radius:8px;background:#eef8fc;color:#355b70;line-height:1.4}.estimate-email-actions{display:grid!important;grid-template-columns:auto auto minmax(180px,1fr);padding:0!important;border:0!important}.estimate-email-actions #previewEstimatePdf{border-color:#187eaa;color:#126789}
@media(max-width:600px){.duplicate-dialog-head,.duplicate-dialog-body{padding:18px}.duplicate-dialog-actions{display:grid;grid-template-columns:1fr 1fr;padding:14px 18px}.duplicate-dialog-actions .primary{grid-column:1/-1}.overview-discount-heading{align-items:stretch;flex-direction:column}.estimate-email-actions{grid-template-columns:1fr 1fr!important}.estimate-email-actions #createEstimateDraft{grid-column:1/-1}}

/* LIVE PROTECTED CSS */


/* PHASE G1 — measurement inputs stay black with white text, including validation state.
   Validation may use a border/ring, but must never replace the measurement field fill. */
.facet-row input,
.facet-row input:focus,
.facet-row input:active,
.facet-row input.required-missing,
.facet-row input[aria-invalid="true"],
.coating-dimension-row input,
.coating-dimension-row input:focus,
.coating-dimension-row input:active,
.coating-dimension-row input.required-missing,
.coating-dimension-row input[aria-invalid="true"] {
  background: #111b23 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff;
}
.facet-row input.required-missing,
.facet-row input[aria-invalid="true"],
.coating-dimension-row input.required-missing,
.coating-dimension-row input[aria-invalid="true"] {
  border: 2px solid #d89400 !important;
  box-shadow: 0 0 0 3px rgba(216,148,0,.16) !important;
}

/* PHASE H — Roof fixed editor + compact saved facets, matching Coating. */
.roof-facet-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;margin-top:8px;padding:11px 12px;border:1px solid #d7e2ea;border-radius:12px;background:#fff}
.roof-summary-copy{display:grid;gap:3px;min-width:0}.roof-summary-copy b{color:var(--navy);font-size:.92rem}.roof-summary-copy small{color:var(--muted);font-size:.75rem;white-space:normal}.roof-facet-summary>strong{color:var(--navy);font-size:.82rem;white-space:nowrap}.roof-summary-actions{display:flex;align-items:center;gap:7px}.roof-summary-actions button{min-height:34px;border:1px solid #b9cbd9;border-radius:9px;background:#fff;color:var(--navy);padding:6px 10px;font-weight:850}.roof-summary-actions button:last-child{color:#b42318;font-size:1.05rem;padding:4px 9px}
@media(max-width:700px){.roof-facet-summary{grid-template-columns:minmax(0,1fr) auto}.roof-facet-summary>strong{grid-column:1/2}.roof-summary-actions{grid-column:2/3;grid-row:1/3}}

/* PHASE I — unified measurement feel + persistent multi-product switcher */
.patio-cover-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;margin-top:8px;padding:11px 12px;border:1px solid #d7e2ea;border-radius:12px;background:#fff}
.patio-summary-copy{display:grid;gap:3px;min-width:0}.patio-summary-copy b{color:var(--navy);font-size:.92rem}.patio-summary-copy small{color:var(--muted);font-size:.75rem;white-space:normal}.patio-cover-summary>strong{color:var(--navy);font-size:.82rem;white-space:nowrap}.patio-summary-actions{display:flex;align-items:center;gap:7px}.patio-summary-actions button{min-height:34px;border:1px solid #b9cbd9;border-radius:9px;background:#fff;color:var(--navy);padding:6px 10px;font-weight:850}.patio-summary-actions button:last-child{color:#b42318;font-size:1.05rem;padding:4px 9px}
.product-workspace-tabs::before{content:"Products in this estimate";font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#5f7482;white-space:nowrap}
.product-tab-list{display:flex;gap:8px;flex:0 0 auto}
.product-tab{box-shadow:0 1px 2px rgba(21,55,84,.06)}
@media(max-width:700px){.patio-cover-summary{grid-template-columns:minmax(0,1fr) auto}.patio-cover-summary>strong{grid-column:1/2}.patio-summary-actions{grid-column:2/3;grid-row:1/3}.product-workspace-tabs::before{display:none}}

/* PHASE J — all products remain visible; active estimate is unmistakable. */
.product-tab{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.product-tab span{font-weight:850}
.product-tab.active{border-color:#2d86c8;background:#eaf5ff;box-shadow:0 0 0 2px rgba(45,134,200,.12)}
.product-working-indicator{font-size:.65rem;line-height:1;color:#0d6b3b;background:#dff7e8;border-radius:999px;padding:4px 6px;white-space:nowrap}
