/* UtiliNexus 2.8.45.29 — Dedicated Contractor Office Mode */

body.contractor-office-mode-active #workspace{
  padding:0!important;
  overflow:visible;
}

.contractor-office-mode-page{
  min-height:calc(100vh - 2px);
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
  background:#06111d;
  border:0;
  border-radius:0;
}

.contractor-office-mode-rail{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  border-right:1px solid #1d3548;
  background:linear-gradient(180deg,#081725,#06131f);
  padding:20px 13px 14px;
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
}

.contractor-office-mode-brand{
  padding:8px 8px 17px;
  border-bottom:1px solid #1c3448;
  margin-bottom:10px;
}

.contractor-office-mode-brand h2{
  margin:5px 0 2px;
  font-size:18px;
}

.contractor-office-mode-brand small{
  color:#7f9aae;
}

#contractorOfficeModeNav{
  display:grid;
  gap:5px;
}

.contractor-office-mode-nav{
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
  width:100%;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#9bb0c1;
  padding:10px 9px;
  text-align:left;
  cursor:pointer;
}

.contractor-office-mode-nav:hover{
  border-color:#294863;
  background:#0a1d2e;
  color:#e5f0f8;
}

.contractor-office-mode-nav.active{
  border-color:#2069ad;
  background:linear-gradient(90deg,#0d3155,#0a2138);
  color:#fff;
  box-shadow:inset 3px 0 0 #2588ff;
}

.contractor-office-mode-nav>span{
  text-align:center;
  color:#6fb7fc;
}

.contractor-office-mode-nav b{
  font-size:11px;
}

.contractor-office-mode-nav small{
  min-width:21px;
  height:21px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#1677ff;
  color:#fff;
  font-size:8px;
  font-weight:900;
}

.contractor-office-mode-rail-bottom{
  margin-top:auto;
  display:grid;
  gap:7px;
  padding-top:14px;
  border-top:1px solid #1c3448;
}

.contractor-office-mode-rail-bottom button{
  width:100%;
  text-align:left;
  justify-content:flex-start;
}

.contractor-office-mode-main{
  min-width:0;
  min-height:100vh;
}

.contractor-office-mode-top{
  min-height:95px;
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  padding:20px 28px;
  border-bottom:1px solid #1d3548;
  background:rgba(6,17,29,.97);
  position:sticky;
  top:0;
  z-index:10;
  backdrop-filter:blur(12px);
}

.contractor-office-mode-top h2{
  margin:4px 0 0;
  font-size:27px;
}

.contractor-office-mode-top-actions{
  display:flex;
  gap:8px;
  align-items:center;
}

.contractor-office-user{
  border:1px solid #29465f;
  border-radius:999px;
  padding:8px 11px;
  color:#a8bdcc;
  font-size:10px;
  background:#081827;
}

.contractor-office-mode-content{
  padding:22px 28px 40px;
}

.contractor-office-hidden-tabs{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.contractor-office-dashboard{
  display:grid;
  gap:15px;
}

.contractor-office-hero{
  min-height:170px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  border:1px solid #285f8f;
  border-radius:17px;
  padding:22px;
  background:
    radial-gradient(circle at 86% 25%,rgba(22,119,255,.18),transparent 32%),
    linear-gradient(120deg,#0b2947,#081827);
}

.contractor-office-hero h1{
  margin:5px 0 7px;
  font-size:30px;
}

.contractor-office-hero p{
  max-width:720px;
  color:#90a8bb;
  line-height:1.5;
  margin:0;
}

.contractor-office-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.contractor-office-kpis>div{
  min-height:118px;
  display:grid;
  align-content:center;
  gap:4px;
  border:1px solid #27445c;
  border-radius:14px;
  background:#081827;
  padding:14px 16px;
}

.contractor-office-kpis span{
  color:#7395af;
  font-size:9px;
  letter-spacing:.08em;
  font-weight:900;
}

.contractor-office-kpis b{
  font-size:27px;
  color:#fff;
}

.contractor-office-kpis .role-kpi{
  font-size:18px;
}

.contractor-office-kpis small{
  color:#7891a5;
}

.contractor-office-dashboard-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.contractor-office-recent{
  display:grid;
  gap:7px;
}

.contractor-office-recent>button{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  width:100%;
  border:1px solid #233f55;
  border-radius:11px;
  background:#071622;
  color:#e6f0f7;
  text-align:left;
  padding:10px 11px;
  cursor:pointer;
}

.contractor-office-recent>button:hover{
  border-color:#3d7098;
  background:#0a1f32;
}

.contractor-office-recent>button>div{
  display:grid;
  gap:3px;
}

.contractor-office-recent>button span:not(.pill){
  color:#7e98ac;
  font-size:10px;
}

.contractor-office-project-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin:8px 0 15px;
}

.contractor-office-project-head h2{
  margin:4px 0;
}

.contractor-office-project-detail{
  display:grid;
  gap:11px;
}

body.contractor-office-mode-active #contractorWorkspaceModal{
  position:relative!important;
  inset:auto!important;
  display:grid!important;
  background:#06111d!important;
  z-index:auto!important;
  padding:0!important;
}

body.contractor-office-mode-active #contractorWorkspaceModal>.modal-card{
  display:none!important;
}

/* Existing Phase 2 content now fills the real page naturally. */
body.contractor-office-mode-active #contractorWorkspaceBody{
  min-height:420px;
}

body.contractor-office-mode-active #contractorWorkspaceBody>.cw-head:first-child{
  margin-top:0;
}

@media(max-width:980px){
  .contractor-office-mode-page{
    grid-template-columns:205px minmax(0,1fr);
  }
  .contractor-office-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .contractor-office-dashboard-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .contractor-office-mode-page{
    display:block;
  }

  .contractor-office-mode-rail{
    position:static;
    height:auto;
    min-height:auto;
    border-right:0;
    border-bottom:1px solid #1d3548;
  }

  #contractorOfficeModeNav{
    display:flex;
    overflow-x:auto;
    padding-bottom:5px;
  }

  .contractor-office-mode-nav{
    min-width:max-content;
    grid-template-columns:auto auto auto;
  }

  .contractor-office-mode-rail-bottom{
    grid-template-columns:repeat(3,1fr);
  }

  .contractor-office-mode-top{
    position:static;
    padding:15px;
  }

  .contractor-office-mode-content{
    padding:15px;
  }

  .contractor-office-kpis{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:520px){
  .contractor-office-mode-top{
    display:grid;
  }

  .contractor-office-mode-top-actions{
    flex-wrap:wrap;
  }

  .contractor-office-kpis{
    grid-template-columns:1fr;
  }

  .contractor-office-hero{
    display:grid;
  }

  .contractor-office-rail-bottom{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   UtiliNexus 2.8.45.30 — Office-only shell + invites
   ============================================================ */

/* Contractor Office Mode owns the full application canvas. The normal
   contractor/field navigation must not remain visible behind it. */
body.contractor-office-mode-active #app{
  grid-template-columns:minmax(0,1fr)!important;
}
body.contractor-office-mode-active #app>.sidebar{
  display:none!important;
}
body.contractor-office-mode-active .main-shell{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.contractor-office-mode-active .main-shell>.topbar,
body.contractor-office-mode-active .main-shell>.mobile-header{
  display:none!important;
}
body.contractor-office-mode-active .contractor-office-mode-page{
  width:100vw;
  max-width:100%;
}

.office-only-lock{
  display:grid;
  gap:3px;
  border:1px solid #4f5e69;
  border-radius:11px;
  background:#111a22;
  padding:10px 11px;
}
.office-only-lock b{color:#dbe5ec;font-size:10px}
.office-only-lock span{color:#788c9b;font-size:9px;line-height:1.4}

.office-staff-page{
  display:grid;
  gap:14px;
}
.office-staff-hero{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  border:1px solid #285f8f;
  border-radius:16px;
  background:linear-gradient(120deg,#0b2947,#081827);
  padding:18px;
}
.office-staff-hero h2{margin:4px 0}
.office-staff-hero p{color:#8fa8ba;max-width:760px;line-height:1.5;margin:0}
.office-invite-form{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(170px,.7fr) auto;
  gap:9px;
  align-items:end;
}
.office-invite-form label{display:grid;gap:5px;margin:0!important;font-size:10px;font-weight:900}
.office-invite-form input,.office-invite-form select{
  width:100%;
  border:1px solid #34516a;
  background:#0a1a2a;
  color:#eef7ff;
  border-radius:10px;
  padding:10px 11px;
}
.office-invite-note{
  display:grid;
  gap:3px;
  margin-top:10px;
  border:1px solid #275f8b;
  border-radius:10px;
  background:#0a2238;
  padding:9px 10px;
}
.office-invite-note b{color:#85c2ff;font-size:10px}
.office-invite-note span{color:#849eb2;font-size:9px;line-height:1.45}
.office-generated-link{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  margin-top:9px;
}
.office-generated-link input{
  min-width:0;
  border:1px solid #35536c;
  background:#071622;
  color:#91bce3;
  border-radius:9px;
  padding:9px 10px;
}
#officeInviteLink small{display:block;color:#b39466;margin-top:5px;overflow-wrap:anywhere}
.office-staff-list,.office-invite-list{display:grid;gap:7px}
.office-staff-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  border:1px solid #243f55;
  border-radius:11px;
  background:#071622;
  padding:10px 11px;
}
.office-staff-avatar{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:#0e3b65;border:1px solid #2f75ab;color:#9bd0ff;font-weight:900;
}
.office-staff-row>div:nth-child(2){display:grid;gap:2px}
.office-staff-row>div:nth-child(2) span{color:#7f97aa;font-size:9px}
.office-staff-row>small{color:#72b8fa;font-size:8px;font-weight:900;letter-spacing:.08em}
.office-invite-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:9px;
  align-items:center;
  border:1px solid #243f55;
  border-radius:11px;
  background:#071622;
  padding:10px 11px;
}
.office-invite-row>div{display:grid;gap:2px}
.office-invite-row>div span{color:#7f97aa;font-size:9px}

@media(max-width:760px){
  body.contractor-office-mode-active .contractor-office-mode-page{width:100%}
  .office-invite-form{grid-template-columns:1fr}
  .office-staff-row{grid-template-columns:auto 1fr auto}
  .office-staff-row>small{grid-column:2/4}
  .office-invite-row{grid-template-columns:1fr auto}
  .office-invite-row button{grid-column:1/-1}
}


/* ============================================================
   UtiliNexus 2.8.45.31 — Contractor Office Typography Polish
   Slightly larger, more readable text throughout Office Mode.
   ============================================================ */

body.contractor-office-mode-active{
  font-size:16px;
}

.contractor-office-mode-brand h2{
  font-size:20px;
}

.contractor-office-mode-brand small{
  font-size:11px;
}

.contractor-office-mode-nav{
  padding:12px 10px;
}

.contractor-office-mode-nav b{
  font-size:13px;
}

.contractor-office-mode-nav>span{
  font-size:14px;
}

.contractor-office-mode-nav small{
  font-size:9px;
}

.contractor-office-mode-top .eyebrow,
.contractor-office-mode-brand .eyebrow,
.contractor-office-hero .eyebrow,
.office-staff-hero .eyebrow{
  font-size:11px;
  letter-spacing:.12em;
}

.contractor-office-mode-top h2{
  font-size:30px;
}

.contractor-office-user{
  font-size:11px;
  padding:9px 12px;
}

.contractor-office-hero h1{
  font-size:33px;
}

.contractor-office-hero p{
  font-size:15px;
  line-height:1.55;
}

.contractor-office-kpis span{
  font-size:10px;
}

.contractor-office-kpis b{
  font-size:30px;
}

.contractor-office-kpis .role-kpi{
  font-size:20px;
}

.contractor-office-kpis small{
  font-size:11px;
}

.contractor-office-dashboard .section-head h3,
.office-staff-page .section-head h3,
.contractor-office-project-detail h3{
  font-size:20px;
}

.contractor-office-dashboard .section-head p,
.office-staff-page .section-head p,
.contractor-office-project-detail .muted{
  font-size:13px;
}

.contractor-office-recent>button b{
  font-size:14px;
}

.contractor-office-recent>button span:not(.pill){
  font-size:11px;
}

.office-staff-hero h2{
  font-size:27px;
}

.office-staff-hero p{
  font-size:15px;
}

.office-invite-form label{
  font-size:12px;
}

.office-invite-form input,
.office-invite-form select{
  font-size:14px;
  padding:11px 12px;
}

.office-invite-note b{
  font-size:12px;
}

.office-invite-note span{
  font-size:10.5px;
}

.office-staff-row>div:nth-child(2) b,
.office-invite-row>div b{
  font-size:13px;
}

.office-staff-row>div:nth-child(2) span,
.office-invite-row>div span{
  font-size:10.5px;
}

.office-staff-row>small{
  font-size:9px;
}

.office-only-lock b{
  font-size:11px;
}

.office-only-lock span{
  font-size:10px;
}

.contractor-office-mode-content .muted,
.contractor-office-mode-content small{
  line-height:1.5;
}

.contractor-office-mode-content label{
  font-size:12px;
}

.contractor-office-mode-content input,
.contractor-office-mode-content select,
.contractor-office-mode-content textarea{
  font-size:14px;
}

.contractor-office-mode-content .cw-row b,
.contractor-office-mode-content .record-export-row b{
  font-size:13px;
}

.contractor-office-mode-content .cw-row span,
.contractor-office-mode-content .cw-row small,
.contractor-office-mode-content .record-export-row span{
  font-size:10.5px;
}

.contractor-office-mode-rail-bottom button{
  font-size:12px;
  min-height:50px;
}

@media(max-width:760px){
  .contractor-office-mode-nav b{
    font-size:12px;
  }

  .contractor-office-mode-top h2{
    font-size:26px;
  }

  .contractor-office-hero h1{
    font-size:28px;
  }
}


/* ============================================================
   UtiliNexus 2.8.45.38 — Contractor Office Rail Scale
   Match the visual size of Contractor Mode navigation.
   ============================================================ */

.contractor-office-mode-page{
  grid-template-columns:268px minmax(0,1fr);
}

.contractor-office-mode-rail{
  padding:20px 14px 15px;
}

.contractor-office-mode-brand{
  padding:9px 8px 18px;
}

.contractor-office-brand-lockup img,
.contractor-office-brand-fallback{
  width:56px;
  height:56px;
}

.contractor-office-mode-brand .eyebrow{
  font-size:12px;
}

.contractor-office-mode-brand h2{
  font-size:22px;
  line-height:1.25;
}

.contractor-office-mode-brand small{
  font-size:12px;
}

#contractorOfficeModeNav{
  gap:7px;
}

.contractor-office-mode-nav{
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:9px;
  min-height:54px;
  padding:13px 11px;
  border-radius:11px;
}

.contractor-office-mode-nav>span{
  font-size:16px;
}

.contractor-office-mode-nav b{
  font-size:15px;
  line-height:1.2;
}

.contractor-office-mode-nav small{
  min-width:24px;
  height:24px;
  font-size:9px;
}

.contractor-office-mode-rail-bottom{
  gap:9px;
}

.contractor-office-mode-rail-bottom button{
  min-height:56px;
  padding:12px 13px;
  font-size:14px;
  line-height:1.3;
  border-radius:11px;
}

.office-only-lock{
  padding:12px;
}

.office-only-lock b{
  font-size:13px;
}

.office-only-lock span{
  font-size:11px;
}

@media(max-width:980px){
  .contractor-office-mode-page{
    grid-template-columns:235px minmax(0,1fr);
  }

  .contractor-office-mode-nav b{
    font-size:14px;
  }
}

@media(max-width:760px){
  .contractor-office-mode-page{
    display:block;
  }

  .contractor-office-mode-nav{
    min-width:max-content;
  }
}

/* UtiliNexus 2.8.45.93 — polished Contractor Office forms */
#contractorOfficeFormModal.contractor-office-form-backdrop{
  align-items:center;
  overflow-y:auto;
  padding:20px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

#contractorOfficeFormModal .contractor-office-form-card{
  width:min(860px,100%);
  max-height:calc(100dvh - 40px);
  overflow-y:auto;
  padding:34px 36px 30px;
  border-color:#285171;
  background:linear-gradient(145deg,#091d30f5,#071521f7 72%);
  box-shadow:0 28px 80px #000b,0 0 0 1px #1682ff12 inset;
  scrollbar-color:#35678b #071521;
}

#contractorOfficeFormModal .cw-form-header{
  padding:0 52px 22px 0;
  margin-bottom:22px;
  border-bottom:1px solid #1d3d54;
}

#contractorOfficeFormModal .cw-form-header h2{
  margin:7px 0 8px;
  font-size:29px;
  line-height:1.15;
}

#contractorOfficeFormModal .cw-form-header p{
  max-width:650px;
  margin:0;
  color:#91aabd;
  font-size:13px;
  line-height:1.55;
}

#contractorOfficeFormModal .modal-x{
  top:22px;
  right:24px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid transparent;
  border-radius:12px;
  color:#a9bed0;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}

#contractorOfficeFormModal .modal-x:hover,
#contractorOfficeFormModal .modal-x:focus-visible{
  border-color:#315b79;
  background:#10283b;
  color:#fff;
  outline:none;
}

#contractorOfficeFormModal .cw-form{
  gap:20px;
}

#contractorOfficeFormModal .cw-project-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

#contractorOfficeFormModal .cw-project-form-grid .wide{
  grid-column:1/-1;
}

#contractorOfficeFormModal .cw-form label,
#contractorOfficeFormModal .cw-project-form-grid label{
  display:grid;
  gap:8px;
  min-width:0;
  margin:0;
  color:#e8f3fb;
  font-size:12px;
  font-weight:850;
}

#contractorOfficeFormModal .cw-form label>span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

#contractorOfficeFormModal .cw-form label small{
  color:#6f8da3;
  font-size:9px;
  font-weight:750;
  letter-spacing:.05em;
  text-transform:uppercase;
}

#contractorOfficeFormModal .cw-form label em{
  border:1px solid #276fab;
  border-radius:999px;
  padding:3px 7px;
  background:#0c2c48;
  color:#76b8f2;
  font-size:8px;
  font-style:normal;
  letter-spacing:.06em;
  text-transform:uppercase;
}

#contractorOfficeFormModal .cw-form input,
#contractorOfficeFormModal .cw-form select,
#contractorOfficeFormModal .cw-form textarea{
  width:100%;
  min-width:0;
  min-height:50px;
  margin:0;
  border:1px solid #2c526d;
  border-radius:12px;
  outline:0;
  background:#0b2234;
  color:#eef7ff;
  padding:13px 14px;
  font:inherit;
  font-weight:650;
  color-scheme:dark;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

#contractorOfficeFormModal .cw-form select{
  cursor:pointer;
}

#contractorOfficeFormModal .cw-form select option{
  background:#0b2234;
  color:#eef7ff;
}

#contractorOfficeFormModal .cw-form textarea{
  min-height:112px;
  resize:vertical;
  line-height:1.5;
}

#contractorOfficeFormModal .cw-form input::placeholder,
#contractorOfficeFormModal .cw-form textarea::placeholder{
  color:#58768c;
  opacity:1;
}

#contractorOfficeFormModal .cw-form input:hover,
#contractorOfficeFormModal .cw-form select:hover,
#contractorOfficeFormModal .cw-form textarea:hover{
  border-color:#3b6c8d;
  background:#0d263a;
}

#contractorOfficeFormModal .cw-form input:focus,
#contractorOfficeFormModal .cw-form select:focus,
#contractorOfficeFormModal .cw-form textarea:focus{
  border-color:#2c8eff;
  background:#0d263a;
  box-shadow:0 0 0 3px #1682ff24;
}

#contractorOfficeFormModal .cw-form-section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:2px;
  padding:15px 0 0;
  border-top:1px solid #17354a;
}

#contractorOfficeFormModal .cw-form-section-title span{
  color:#e8f3fb;
  font-size:12px;
  font-weight:900;
}

#contractorOfficeFormModal .cw-form-section-title small{
  color:#6f8da3;
  font-size:10px;
}

#contractorOfficeFormModal .cw-grid{
  gap:16px;
}

#contractorOfficeFormModal .cw-money-input{
  position:relative;
}

#contractorOfficeFormModal .cw-money-input>span{
  position:absolute;
  z-index:1;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:#7fa0b8;
  font-weight:900;
  pointer-events:none;
}

#contractorOfficeFormModal .cw-money-input input{
  padding-left:29px;
}

#contractorOfficeFormModal .form-message{
  min-height:0;
  margin:0;
  padding:0;
}

#contractorOfficeFormModal .form-message:not(:empty){
  border:1px solid #72522d;
  border-radius:10px;
  background:#2a1d10;
  color:#ffd18a;
  padding:10px 12px;
}

#contractorOfficeFormModal .cw-form-actions{
  position:sticky;
  bottom:-30px;
  display:grid;
  grid-template-columns:minmax(130px,.35fr) minmax(220px,1fr);
  gap:12px;
  margin:2px -36px -30px;
  padding:18px 36px 30px;
  border-top:1px solid #214158;
  background:linear-gradient(180deg,#071521e8,#071521 28%);
}

#contractorOfficeFormModal .cw-form-actions button{
  min-height:50px;
  margin:0;
  font-size:14px;
}

@media(max-width:760px){
  #contractorOfficeFormModal.contractor-office-form-backdrop{
    align-items:start;
    padding:calc(8px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom));
  }

  #contractorOfficeFormModal .contractor-office-form-card{
    max-height:none;
    padding:25px 17px 20px;
    border-radius:18px;
  }

  #contractorOfficeFormModal .cw-form-header{
    padding-right:44px;
    margin-bottom:18px;
  }

  #contractorOfficeFormModal .cw-form-header h2{
    font-size:25px;
  }

  #contractorOfficeFormModal .cw-project-form-grid,
  #contractorOfficeFormModal .cw-grid{
    grid-template-columns:1fr;
  }

  #contractorOfficeFormModal .cw-form-actions{
    bottom:calc(-20px - env(safe-area-inset-bottom));
    grid-template-columns:1fr;
    margin:0 -17px -20px;
    padding:14px 17px calc(20px + env(safe-area-inset-bottom));
  }

  #contractorOfficeFormModal .cw-form-actions .primary{
    grid-row:1;
  }
}
