/* UtiliNexus 2.8.45.14 — Contractor/Homeowner form polish
   Visual-only. Loaded last so native white browser controls cannot win. */

#contractorWorkspaceModal,
#homeownerProjectHubModal,
#homeownerContractorManager,
#phase2FormModal{
  color-scheme:dark;
}

#contractorWorkspaceModal textarea,
#homeownerProjectHubModal textarea,
#homeownerContractorManager textarea,
#phase2FormModal textarea,
#contractorWorkspaceModal input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#homeownerProjectHubModal input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#homeownerContractorManager input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#phase2FormModal input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#contractorWorkspaceModal select,
#homeownerProjectHubModal select,
#homeownerContractorManager select,
#phase2FormModal select{
  box-sizing:border-box !important;
  width:100%;
  background:linear-gradient(180deg,#0b1e32,#091827) !important;
  color:#eaf3ff !important;
  border:1px solid #294c67 !important;
  border-radius:11px !important;
  padding:12px 14px !important;
  font:inherit !important;
  line-height:1.35 !important;
  outline:none !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 0 0 1px rgba(0,0,0,.08) !important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease !important;
}

#contractorWorkspaceModal textarea,
#homeownerProjectHubModal textarea,
#homeownerContractorManager textarea,
#phase2FormModal textarea{
  min-height:96px;
  resize:vertical;
  scrollbar-color:#245b91 #071521;
}

#contractorWorkspaceModal textarea:focus,
#homeownerProjectHubModal textarea:focus,
#homeownerContractorManager textarea:focus,
#phase2FormModal textarea:focus,
#contractorWorkspaceModal input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
#homeownerProjectHubModal input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
#homeownerContractorManager input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
#phase2FormModal input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
#contractorWorkspaceModal select:focus,
#homeownerProjectHubModal select:focus,
#homeownerContractorManager select:focus,
#phase2FormModal select:focus{
  background:#0b2036 !important;
  border-color:#1674d8 !important;
  box-shadow:0 0 0 3px rgba(0,86,252,.14) !important;
}

#contractorWorkspaceModal textarea::placeholder,
#homeownerProjectHubModal textarea::placeholder,
#homeownerContractorManager textarea::placeholder,
#phase2FormModal textarea::placeholder,
#contractorWorkspaceModal input::placeholder,
#homeownerProjectHubModal input::placeholder,
#homeownerContractorManager input::placeholder,
#phase2FormModal input::placeholder{
  color:#718aa0 !important;
  opacity:1 !important;
}

/* Message composers should feel like part of the card, not a browser text box. */
.hub-message-compose textarea,
.phase2-message-compose textarea{
  min-height:76px !important;
  background:#091a2b !important;
}

/* Larger descriptions / project notes */
#hrDesc,
#projectNote{
  min-height:118px !important;
}

/* Dark dropdown menu hint for supported browsers */
#contractorWorkspaceModal option,
#homeownerProjectHubModal option,
#homeownerContractorManager option,
#phase2FormModal option{
  background:#0a1b2d;
  color:#eaf3ff;
}

/* Checkbox rows stay compact instead of inheriting full-width control styling. */
#contractorWorkspaceModal .check-row input,
#homeownerProjectHubModal .check-row input,
#homeownerContractorManager .check-row input,
#phase2FormModal .check-row input{
  width:auto !important;
  accent-color:#0056FC;
}

/* Keep autofill from flashing white in Chrome. */
#contractorWorkspaceModal input:-webkit-autofill,
#homeownerProjectHubModal input:-webkit-autofill,
#homeownerContractorManager input:-webkit-autofill,
#phase2FormModal input:-webkit-autofill{
  -webkit-text-fill-color:#eaf3ff !important;
  -webkit-box-shadow:0 0 0 1000px #0b1e32 inset !important;
  transition:background-color 9999s ease-out 0s;
}


/* ============================================================
   UtiliNexus 2.8.45.16 — Mandatory 811 / public-utility warning
   ============================================================ */
.unx-legacy-ack-hidden{
  display:none !important;
}

.unx-811-warning-card{
  position:relative;
  overflow:hidden;
  margin:0 0 18px;
  padding:22px;
  border:2px solid #ffb020;
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(255,176,32,.16),rgba(255,122,0,.07) 46%,rgba(4,18,34,.96) 100%);
  box-shadow:
    0 0 0 1px rgba(255,176,32,.10),
    0 16px 42px rgba(0,0,0,.22),
    0 0 30px rgba(255,176,32,.10);
}

.unx-811-warning-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(#ffd15c,#ff8a00);
  box-shadow:0 0 18px rgba(255,176,32,.55);
}

.unx-811-warning-head{
  display:flex;
  gap:15px;
  align-items:center;
  margin-bottom:14px;
}

.unx-811-warning-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#08111f;
  background:#ffbf3f;
  font-size:25px;
  font-weight:900;
  box-shadow:0 0 22px rgba(255,176,32,.30);
}

.unx-811-kicker{
  color:#ffca55;
  font-size:12px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.105em;
}

.unx-811-warning-card h2{
  margin:4px 0 0;
  color:#fff;
  font-size:clamp(21px,2.3vw,30px);
  line-height:1.12;
}

.unx-811-warning-copy{
  display:grid;
  gap:8px;
  color:#d8e4f2;
  line-height:1.55;
}

.unx-811-warning-copy p{
  margin:0;
}

.unx-811-warning-copy strong{
  color:#fff2c7;
}

.unx-811-confirm-row{
  display:flex;
  gap:13px;
  align-items:flex-start;
  margin-top:18px;
  padding:15px 16px;
  border:1px solid rgba(255,190,65,.58);
  border-radius:14px;
  background:rgba(1,10,20,.58);
  cursor:pointer;
}

.unx-811-confirm-row:hover{
  border-color:#ffc34e;
  background:rgba(255,176,32,.08);
}

.unx-811-confirm-row input{
  width:22px !important;
  height:22px;
  margin:1px 0 0;
  accent-color:#ffb020;
  flex:0 0 22px;
}

.unx-811-confirm-row span{
  display:grid;
  gap:4px;
}

.unx-811-confirm-row strong{
  color:#fff;
  font-size:15px;
}

.unx-811-confirm-row small{
  color:#adc0d5;
  line-height:1.45;
}

.unx-811-locked-note{
  margin-top:11px;
  color:#ffc75a;
  font-size:13px;
  font-weight:800;
}

.unx-811-locked-note.confirmed{
  color:#72e6a6;
}

.unx-811-warning-card.acknowledged{
  border-color:rgba(80,214,139,.78);
  background:
    linear-gradient(135deg,rgba(52,199,124,.10),rgba(4,18,34,.96) 72%);
  box-shadow:
    0 0 0 1px rgba(80,214,139,.08),
    0 16px 42px rgba(0,0,0,.20),
    0 0 22px rgba(80,214,139,.08);
}

.unx-811-warning-card.acknowledged::before{
  background:linear-gradient(#72e6a6,#26b96b);
  box-shadow:0 0 18px rgba(76,214,139,.42);
}

#submitHomeLocate.unx-811-submit-locked{
  opacity:.56 !important;
  filter:saturate(.45);
  cursor:not-allowed !important;
  box-shadow:none !important;
}

.unx-811-attention{
  animation:unx811Attention .42s ease-in-out 0s 2 alternate;
}

@keyframes unx811Attention{
  from{transform:translateX(0);box-shadow:0 0 0 1px rgba(255,176,32,.10),0 16px 42px rgba(0,0,0,.22);}
  to{transform:translateX(4px);box-shadow:0 0 0 3px rgba(255,176,32,.28),0 16px 42px rgba(0,0,0,.22),0 0 36px rgba(255,176,32,.20);}
}

@media (max-width:700px){
  .unx-811-warning-card{
    padding:18px 16px;
    border-radius:15px;
  }

  .unx-811-warning-head{
    align-items:flex-start;
  }

  .unx-811-warning-icon{
    flex-basis:42px;
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:22px;
  }

  .unx-811-kicker{
    font-size:10.5px;
  }
}
