/* UtiliNexus 2.8.45.22 — Homeowner Simple Account */

.homeowner-account-modal{
  width:min(1040px,100%);
  max-height:min(92vh,980px);
  overflow:auto;
}

.homeowner-account-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px;
  margin-bottom:16px;
}
.homeowner-account-title h2{margin:4px 0}
.homeowner-account-title p{margin:0}

.homeowner-account-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.homeowner-account-card{
  margin:0!important;
}
.homeowner-properties-card{
  grid-column:1/-1;
}
.homeowner-account-card label{
  display:grid;
  gap:6px;
  margin:10px 0;
  font-size:12px;
  font-weight:800;
}
.homeowner-account-card input,
.homeowner-account-card select,
.homeowner-account-card textarea,
#homeownerPropertyEditor input{
  border:1px solid #35516b;
  background:#0a1a2a;
  color:#eef7ff;
  border-radius:10px;
  padding:10px 11px;
}

.homeowner-properties-list{
  display:grid;
  gap:8px;
}
.homeowner-property-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:11px;
  align-items:center;
  padding:12px;
  border:1px solid #29455d;
  border-radius:13px;
  background:#081827;
}
.homeowner-property-card.primary{
  border-color:#2e6ca7;
  background:linear-gradient(90deg,#0c2845,#081827 60%);
}
.homeowner-property-icon{
  width:38px;
  height:38px;
  border-radius:11px;
  display:grid;
  place-items:center;
  color:#7fbaff;
  background:#1677ff18;
  border:1px solid #205b92;
}
.homeowner-property-main{
  min-width:0;
  display:grid;
  gap:3px;
}
.homeowner-property-main>span{
  color:#9cb0c2;
  font-size:11px;
  overflow-wrap:anywhere;
}
.homeowner-property-main>small{
  color:#718b9f;
}
.homeowner-property-title{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
}
.homeowner-primary-chip{
  border:1px solid #23689f;
  color:#86c0ff;
  background:#0b2944;
  border-radius:999px;
  padding:3px 6px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.homeowner-property-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.homeowner-account-empty{
  display:grid;
  gap:5px;
  padding:16px;
  border:1px dashed #35516b;
  border-radius:12px;
}
.homeowner-account-empty span{
  color:#859db1;
  font-size:11px;
}

.homeowner-location-summary{
  display:grid;
  gap:7px;
  margin:10px 0;
}
.homeowner-location-summary>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  border:1px solid #27435b;
  border-radius:10px;
  background:#081725;
}
.homeowner-location-summary span{
  color:#8fa6b9;
  font-size:11px;
}
.homeowner-location-summary b{
  color:#d9e9f7;
  font-size:11px;
}
.homeowner-privacy-notice,
.homeowner-delete-explain,
.homeowner-delete-warning{
  display:grid;
  gap:5px;
  padding:11px 12px;
  border-radius:11px;
  margin:10px 0;
}
.homeowner-privacy-notice{
  border:1px solid #24557d;
  background:#0a2036;
}
.homeowner-delete-explain,
.homeowner-delete-warning{
  border:1px solid #7c3e45;
  background:#2a1015;
}
.homeowner-privacy-notice span,
.homeowner-delete-explain span,
.homeowner-delete-warning span{
  color:#91a7b9;
  font-size:11px;
  line-height:1.5;
}
.homeowner-danger-zone{
  border-color:#63343b!important;
}
.homeowner-device-note{
  display:block;
  line-height:1.45;
  margin-top:7px;
}

.homeowner-property-map-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:10px 0;
}
.homeowner-property-map{
  height:250px;
  border:1px solid #29465f;
  border-radius:12px;
  overflow:hidden;
  background:#071521;
  margin:10px 0;
}
.homeowner-custom-check{
  padding:10px;
  border:1px solid #2d4d68;
  border-radius:10px;
  background:#081927;
}
.homeowner-custom-check input{
  width:auto!important;
}

.homeowner-location-consent-icon{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:10px;
  background:#1677ff1f;
  border:1px solid #2e75b6;
  color:#7bb9ff;
  font-size:25px;
}
.homeowner-location-consent-points{
  display:grid;
  gap:7px;
  margin:13px 0;
}
.homeowner-location-consent-points>div{
  display:grid;
  gap:2px;
  padding:9px 10px;
  border:1px solid #29465e;
  border-radius:10px;
  background:#081725;
}
.homeowner-location-consent-points span{
  color:#89a2b6;
  font-size:10px;
  line-height:1.45;
}

.homeowner-signup-property-block{
  border:1px solid #2d4c66;
  border-radius:13px;
  padding:12px;
  margin:14px 0;
  background:linear-gradient(145deg,#0a1d2e,#071522);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.homeowner-signup-property-head{
  display:grid;
  gap:3px;
  grid-column:1/-1;
  margin-bottom:2px;
}
.homeowner-signup-property-head small{
  color:#8da4b9;
  line-height:1.4;
}
.homeowner-signup-property-block>label{
  display:grid;
  gap:5px;
  margin:0;
  min-width:0;
  font-size:12px;
}
.homeowner-signup-property-block>label:nth-of-type(1),
.homeowner-signup-property-block>label:nth-of-type(2),
.homeowner-signup-property-block>label:nth-of-type(3){grid-column:1/-1}
.homeowner-signup-property-block input,
.homeowner-signup-property-block select{margin:0}
.homeowner-signup-property-block #signupUseGps,
.homeowner-signup-property-block .form-message{grid-column:1/-1}
.homeowner-signup-property-block #signupUseGps{padding:10px 12px}
@media(max-width:560px){
  .homeowner-signup-property-block{grid-template-columns:1fr}
  .homeowner-signup-property-block>label,
  .homeowner-signup-property-block #signupUseGps,
  .homeowner-signup-property-block .form-message{grid-column:1}
}

.homeowner-quick-locate .request-main{
  max-width:900px;
}
.homeowner-quick-locate .request-intro{
  background:linear-gradient(125deg,#0b2b4c,#081827);
  border-color:#225f96;
}
.homeowner-quick-locate .simple-request-progress{
  grid-template-columns:repeat(4,1fr);
}
.homeowner-quick-locate .simple-request-progress span{
  background:#0a1c2e;
  border:1px solid #284c6c;
  border-radius:10px;
  padding:8px;
  text-align:center;
  font-size:10px;
}
.homeowner-primary-property-select{
  border:1px solid #28669a;
  background:#0a233c;
  border-radius:11px;
  padding:10px;
}
.homeowner-primary-property-select::before{
  content:"Primary property selected automatically";
  display:block;
  color:#78b6f7;
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
  margin-bottom:5px;
}
.homeowner-dig-map-details,
.homeowner-attachment-details,
.homeowner-request-options{
  margin:10px 0;
  border:1px solid #28455e;
  border-radius:12px;
  background:#081827;
  padding:0 11px;
}
.homeowner-dig-map-details>summary,
.homeowner-attachment-details>summary,
.homeowner-request-options>summary{
  cursor:pointer;
  padding:11px 0;
  font-weight:900;
  color:#dcebf8;
}
.homeowner-dig-map-details>summary span,
.homeowner-attachment-details>summary span,
.homeowner-request-options>summary span{
  color:#7993a9;
  font-size:10px;
  font-weight:600;
}
.homeowner-811-review-pop{
  border:2px solid #d8a62f!important;
  background:#2a2208!important;
  color:#ffe49a!important;
  box-shadow:0 0 20px rgba(216,166,47,.08);
}
.homeowner-big-ack{
  border:1px solid #2b638f;
  background:#0a2238;
  border-radius:12px;
  padding:12px!important;
  font-size:13px!important;
}
.homeowner-big-ack input{
  width:auto!important;
  accent-color:#1677ff;
}
.homeowner-help-side{
  opacity:.9;
}

.homeowner-account-deleted-screen{
  min-height:100vh;
  display:grid;
  place-items:center;
  background:#06111d;
  color:#eef7ff;
  padding:20px;
}
.homeowner-account-deleted-card{
  width:min(520px,100%);
  text-align:center;
  border:1px solid #264762;
  border-radius:18px;
  background:#081827;
  padding:28px;
}
.homeowner-account-deleted-card p{color:#8fa6b9}
.homeowner-account-deleted-card button{
  border:0;
  border-radius:11px;
  background:#1677ff;
  color:#fff;
  font-weight:900;
  padding:12px 18px;
}
.homeowner-success-big{
  width:64px;height:64px;border-radius:50%;
  display:grid;place-items:center;
  margin:0 auto 12px;
  background:#53dba1;
  color:#06111d;
  font-size:30px;
  font-weight:900;
}
.danger-text{color:#ff8d99!important}

@media(max-width:820px){
  .homeowner-account-grid{grid-template-columns:1fr}
  .homeowner-properties-card{grid-column:auto}
  .homeowner-property-card{grid-template-columns:auto 1fr}
  .homeowner-property-actions{grid-column:1/-1}
  .homeowner-property-actions button{flex:1}
}

@media(max-width:600px){
  .homeowner-account-title{display:grid}
  .homeowner-property-map-actions{grid-template-columns:1fr}
  .homeowner-quick-locate .simple-request-progress{grid-template-columns:repeat(2,1fr)}
}


/* ============================================================
   UtiliNexus 2.8.45.24 — Simple Homeowner Locate Request
   ============================================================ */

.homeowner-locate-v2.request-shell{
  grid-template-columns:minmax(0,900px) minmax(250px,320px);
  gap:16px;
  align-items:start;
}

.homeowner-locate-v2 .request-main{
  max-width:none;
}

.homeowner-locate-v2 .request-form{
  display:grid;
  gap:12px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.homeowner-locate-progress{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:16px;
}

.homeowner-locate-progress span{
  display:flex;
  gap:7px;
  align-items:center;
  justify-content:center;
  border:1px solid #294d6c;
  background:#081b2c;
  border-radius:11px;
  padding:9px 8px;
  color:#b9ccdb;
  font-size:11px;
  font-weight:800;
}

.homeowner-locate-progress b{
  width:23px;
  height:23px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#1677ff;
  color:#fff;
  font-size:11px;
}

.homeowner-locate-step{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:11px;
  padding:15px;
  border:1px solid #27465f;
  border-radius:15px;
  background:#081827;
}

.homeowner-locate-step-num{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#2588ff,#1269dc);
  color:#fff;
  font-weight:900;
  box-shadow:0 0 18px rgba(22,119,255,.18);
}

.homeowner-locate-step-body{
  min-width:0;
}

.homeowner-locate-step-head{
  margin-bottom:11px;
}

.homeowner-locate-step-head h3{
  margin:0 0 3px;
  font-size:18px;
}

.homeowner-locate-step-head p{
  margin:0;
  color:#819aaf;
  font-size:11px;
  line-height:1.45;
}

.homeowner-locate-step-content{
  display:grid;
  gap:10px;
}

.homeowner-locate-step-content>label{
  margin:0!important;
}

.homeowner-locate-step-content input,
.homeowner-locate-step-content select,
.homeowner-locate-step-content textarea{
  background:#0a1b2b!important;
  border-color:#34516a!important;
  color:#eef7ff!important;
  caret-color:#eef7ff;
  color-scheme:dark;
}

.homeowner-locate-step-content input::placeholder,
.homeowner-locate-step-content textarea::placeholder{
  color:#8fa8bd!important;
  opacity:1;
}

.homeowner-locate-step-content select option{
  background:#0a1b2b;
  color:#eef7ff;
}

.homeowner-primary-property-select{
  color:#e7f2fb;
}

.homeowner-primary-property-select select{
  width:100%;
  margin-top:6px;
  color:#f4f9ff!important;
}

.homeowner-request-field-card{
  display:grid;
  gap:7px;
  padding:13px!important;
  border:1px solid #2b4d67;
  border-radius:12px;
  background:linear-gradient(145deg,#0b2033,#081725);
  color:#edf7ff;
  font-weight:900;
}

.homeowner-request-field-card textarea{
  width:100%;
  min-height:96px;
  resize:vertical;
  line-height:1.5;
  font-weight:600;
}

.homeowner-locator-notes-card{
  border-color:#315b78;
  background:#0a1d2d;
}

.homeowner-locate-v2 .homeowner-dig-map-details,
.homeowner-locate-v2 .homeowner-attachment-details{
  padding:0 12px 12px;
}

.homeowner-extra-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.homeowner-extra-action{
  display:grid;
  gap:7px;
  align-content:start;
  min-height:112px;
  padding:12px;
  border:1px solid #2d506b;
  border-radius:11px;
  background:#091a29;
}

.homeowner-extra-action b{color:#eaf5ff}
.homeowner-extra-action small{color:#91a9bc;line-height:1.45}

.homeowner-gps-status{
  min-height:36px;
  padding:9px 10px;
  border-radius:9px;
  background:#06131f;
  color:#9cb2c4;
  font-size:11px;
}

.homeowner-gps-status.ready{
  border:1px solid #1d795d;
  color:#72e0b2;
  background:#07271f;
}

.homeowner-gps-status.error{
  border:1px solid #8e4a24;
  color:#ffbd8b;
  background:#2a180d;
}

.homeowner-map-location-tools{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.homeowner-map-location-tools button{width:auto;margin:0}

.homeowner-dig-map-details>button#useMyGps,
.homeowner-dig-map-details>button#placeRequestAddress{
  width:auto;
  margin-right:8px;
}

.homeowner-photo-picker{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:43px;
  padding:10px 12px!important;
  border:1px solid #2477c8;
  border-radius:10px;
  background:#0a2b49;
  color:#ddecff;
  cursor:pointer;
  font-weight:900;
}

.homeowner-photo-picker input{display:none}

.homeowner-photo-preview{
  display:grid;
  gap:5px;
  margin-top:8px;
  color:#9eb4c6;
  font-size:11px;
}

.homeowner-photo-preview span{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:7px 9px;
  border:1px solid #29465d;
  border-radius:8px;
  background:#071521;
}

.homeowner-simple-utilities{
  display:grid;
  gap:4px;
  margin-top:2px;
}

.homeowner-simple-utilities>small{
  color:#7f98ad;
  margin-bottom:5px;
}

.homeowner-locate-v2 .utility-choice-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

.homeowner-locate-v2 .utility-choice{
  min-height:48px;
  border:1px solid #2c4961;
  border-radius:11px;
  background:#091a29;
  padding:10px!important;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}

.homeowner-locate-v2 .utility-choice:hover{
  border-color:#3e7099;
  transform:translateY(-1px);
}

.homeowner-locate-v2 .utility-choice:has(input:checked){
  border-color:#1677ff;
  background:#0e3155;
  box-shadow:0 0 0 1px rgba(22,119,255,.12);
}

.homeowner-locate-v2 .utility-choice input{
  accent-color:#1677ff;
}

.homeowner-locate-optional,
.homeowner-locate-suboptional{
  border:1px solid #29465e;
  border-radius:11px;
  background:#071622;
  overflow:hidden;
}

.homeowner-locate-optional>summary,
.homeowner-locate-suboptional>summary{
  cursor:pointer;
  list-style:none;
  padding:11px 12px;
  font-weight:900;
  color:#cfe0ed;
}

.homeowner-locate-optional>summary::-webkit-details-marker,
.homeowner-locate-suboptional>summary::-webkit-details-marker{
  display:none;
}

.homeowner-locate-optional>summary::before,
.homeowner-locate-suboptional>summary::before{
  content:"›";
  display:inline-block;
  margin-right:7px;
  transform:rotate(0deg);
  transition:transform .15s ease;
  color:#70aff1;
}

.homeowner-locate-optional[open]>summary::before,
.homeowner-locate-suboptional[open]>summary::before{
  transform:rotate(90deg);
}

.homeowner-locate-optional>summary span{
  color:#718b9f;
  font-size:10px;
  font-weight:600;
}

.homeowner-optional-content{
  display:grid;
  gap:10px;
  padding:0 11px 11px;
}

.homeowner-gps-simple-row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px;
  align-items:center;
}

.homeowner-locate-v2 .homeowner-dig-map-details,
.homeowner-locate-v2 .homeowner-attachment-details{
  margin:0;
  border-color:#223e55;
  background:#081927;
}

.homeowner-map-not-required{
  display:grid;
  gap:3px;
  margin:0 10px 10px;
  padding:9px 10px;
  border:1px solid #28577d;
  border-radius:9px;
  background:#0a2237;
}

.homeowner-map-not-required b{
  color:#8ac3ff;
  font-size:11px;
}

.homeowner-request-map-panel{
  display:grid;
  gap:10px;
  margin:0 10px 10px;
  padding:12px;
  border:1px solid #2d506b;
  border-radius:13px;
  background:#071724;
}

.homeowner-request-map-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

.homeowner-request-map-head>div{display:grid;gap:4px}
.homeowner-request-map-head b{color:#eff8ff;font-size:14px}
.homeowner-request-map-head small,.homeowner-request-map-tip{color:#9db3c6;line-height:1.45}
.homeowner-request-map-head>span{flex:0 0 auto;border:1px solid #28577d;border-radius:999px;padding:6px 9px;color:#8ac3ff;background:#0a2237;font-size:10px;font-weight:900}
.homeowner-request-map-tools{display:flex;gap:8px;flex-wrap:wrap}
.homeowner-request-map-tools button{width:auto;margin:0}
.homeowner-request-map-tools .is-drawing{background:#0f986d;border-color:#20c98e}
.homeowner-request-map-modes{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.homeowner-request-map-modes button{width:auto;margin:0;padding:8px 12px}.homeowner-request-map-modes button.active{border-color:#4b9dff;background:#123d66;color:#fff;box-shadow:0 0 0 2px rgba(22,119,255,.14)}
.homeowner-signup-property-block select{width:100%;border:1px solid #38506a;background:#0e1e30;color:#fff;border-radius:12px;padding:13px 14px;outline:0;color-scheme:dark}.homeowner-signup-property-block select:focus{border-color:#1677ff;box-shadow:0 0 0 3px #1677ff22}
.homeowner-request-dig-map{height:390px;min-height:300px;border:1px solid #355b78;border-radius:12px;overflow:hidden;background:#0a1827;touch-action:pan-x pan-y}
.homeowner-request-map-tip{margin:0;font-size:10px}

@media(max-width:760px){
  .homeowner-map-location-tools{display:grid;grid-template-columns:1fr}
  .homeowner-map-location-tools button{width:100%}
  .homeowner-dig-map-details>button#useMyGps,
  .homeowner-dig-map-details>button#placeRequestAddress{display:block;width:calc(100% - 20px);margin:0 10px 8px}
  .homeowner-request-map-head{display:grid}
  .homeowner-request-map-head>span{justify-self:start}
  .homeowner-request-map-tools{display:grid;grid-template-columns:1fr 1fr}
  .homeowner-request-map-tools button{width:100%}
  .homeowner-request-map-tools button:first-child{grid-column:1/-1}
  .homeowner-request-map-modes{display:grid;grid-template-columns:repeat(3,1fr)}
  .homeowner-request-map-modes button{width:100%}
  .homeowner-request-dig-map{height:330px;min-height:280px}
}

.homeowner-map-not-required span{
  color:#8099ae;
  font-size:10px;
  line-height:1.45;
}

.homeowner-locate-v2 .company-picker{
  display:grid;
  gap:8px;
}

.homeowner-locate-v2 .company-option{
  min-height:66px;
  border-radius:12px;
  border-color:#2c4c65;
  background:#091927;
}

.homeowner-locate-v2 .company-option:has(input:checked){
  border-color:#1677ff;
  background:#0d3154;
  box-shadow:0 0 0 1px rgba(22,119,255,.13);
}

.homeowner-locate-send-step{
  border-color:#2c5d86;
  background:linear-gradient(120deg,#0a2239,#081827);
}

.homeowner-locate-send-step .request-review{
  display:grid;
  gap:9px;
}

.homeowner-locate-send-step .request-review>div:first-child{
  padding:10px 11px;
  border:1px solid #27445b;
  border-radius:10px;
  background:#071622;
}

.homeowner-locate-send-step .request-review>div:first-child p{
  margin:4px 0 0;
  color:#8da5b9;
  font-size:11px;
}

.homeowner-locate-final-submit{
  width:100%;
  min-height:56px;
  border-radius:12px!important;
  font-size:16px!important;
  margin-top:2px;
}

.homeowner-help-compact{
  position:sticky;
  top:18px;
}

.homeowner-help-compact .sticky-help{
  display:grid;
  gap:9px;
}

.homeowner-next-row{
  display:grid;
  grid-template-columns:29px 1fr;
  gap:8px;
  align-items:start;
  padding:9px 0;
  border-top:1px solid #1f3548;
}

.homeowner-next-row>span{
  width:25px;
  height:25px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#0d3154;
  color:#76b6f7;
  border:1px solid #245e8e;
  font-weight:900;
  font-size:10px;
}

.homeowner-next-row div{
  display:grid;
  gap:2px;
}

.homeowner-next-row small{
  color:#7991a5;
  line-height:1.4;
}

@media(max-width:920px){
  .homeowner-locate-v2.request-shell{
    grid-template-columns:1fr;
  }
  .homeowner-help-compact{
    position:static;
  }
}

@media(max-width:640px){
  .homeowner-locate-progress{
    grid-template-columns:repeat(2,1fr);
  }

  .homeowner-locate-step{
    grid-template-columns:36px minmax(0,1fr);
    padding:12px 10px;
  }

  .homeowner-locate-step-num{
    width:32px;
    height:32px;
  }

  .homeowner-locate-v2 .utility-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .homeowner-gps-simple-row{
    grid-template-columns:1fr;
  }

  .homeowner-extra-grid{
    grid-template-columns:1fr;
  }
}
