/* UtiliNexus 2.8.45.39 — Contractor Profile Onboarding */

.contractor-signup-flow-note{
  display:grid;
  gap:3px;
  margin:8px 0 3px;
  padding:10px 11px;
  border:1px solid #285b84;
  border-radius:10px;
  background:#092239;
}
.contractor-signup-flow-note b{font-size:12px;color:#dfefff}
.contractor-signup-flow-note span{font-size:10px;color:#8ea9bd;line-height:1.45}

.contractor-onboarding-overlay{
  position:fixed;
  inset:0;
  z-index:100000;
  background:
    radial-gradient(circle at 76% 12%,rgba(20,111,230,.18),transparent 30%),
    rgba(2,10,18,.98);
  overflow:auto;
  padding:28px 18px;
}
.contractor-onboarding-card{
  width:min(1060px,100%);
  margin:0 auto;
  display:grid;
  gap:17px;
  color:#edf7ff;
}
.contractor-onboarding-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:2px;
}
.contractor-onboarding-logo{width:min(230px,58vw);height:52px;object-fit:contain;object-position:left center}
.contractor-onboarding-exit{min-height:42px;white-space:nowrap}
.contractor-onboarding-progress{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.contractor-onboarding-progress span{
  display:flex;align-items:center;justify-content:center;gap:7px;
  border:1px solid #28455d;border-radius:10px;background:#071522;
  padding:9px;color:#718da3;font-size:10px;font-weight:900;
}
.contractor-onboarding-progress span.active{border-color:#2773b8;background:#0a2946;color:#dcecff}
.contractor-onboarding-progress b{
  width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#12314c;
}
.contractor-onboarding-progress .active b{background:linear-gradient(135deg,#0870ff,#0056fc);color:#fff}
.contractor-onboarding-card>.eyebrow{margin-top:5px}
.contractor-onboarding-card>h1{
  font-size:34px;
  line-height:1.12;
  margin:0;
}
.contractor-onboarding-lead{
  max-width:820px;
  margin:0;
  color:#91a9bb;
  font-size:15px;
  line-height:1.55;
}
.contractor-path-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}
.contractor-path-card{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:14px;
  min-height:190px;
  align-items:start;
  border:1px solid #2b4d68;
  border-radius:16px;
  background:linear-gradient(135deg,#0a1c2c,#071522);
  color:#eef7ff;
  text-align:left;
  padding:20px;
  cursor:pointer;
}
.contractor-path-card:hover{
  border-color:#2588ff;
  background:linear-gradient(135deg,#0b3155,#081827);
  transform:translateY(-1px);
}
.contractor-path-icon{
  width:56px;height:56px;border-radius:14px;display:grid;place-items:center;
  background:#0d3154;border:1px solid #2d6fa8;font-size:26px;
}
.contractor-path-card>div{display:grid;gap:8px}
.contractor-path-card b{font-size:20px}
.contractor-path-card p{margin:0;color:#8fa7ba;line-height:1.55;font-size:12px}
.contractor-path-card em{font-style:normal;color:#71b8ff;font-size:12px;font-weight:900}
.contractor-onboarding-safe{
  display:grid;gap:4px;border:1px solid #285c84;border-radius:12px;background:#092039;padding:12px 14px;
}
.contractor-onboarding-safe b{font-size:12px;color:#a9d5ff}
.contractor-onboarding-safe span{font-size:10px;color:#829bae;line-height:1.5}

.contractor-owner-form{display:grid;gap:13px}
.contractor-onboarding-section{
  display:grid;gap:13px;border:1px solid #28475f;border-radius:15px;background:#071522;padding:16px;
}
.contractor-section-title{display:flex;gap:10px;align-items:center}
.contractor-section-title>span{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#0870ff,#0056fc);color:#fff;font-weight:950;
}
.contractor-section-title>div{display:grid;gap:2px}
.contractor-section-title b{font-size:17px}
.contractor-section-title small{font-size:10px;color:#7894a8}
.contractor-onboarding-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.contractor-onboarding-grid label,
.contractor-onboarding-full{
  display:grid;gap:6px;font-size:11px;font-weight:900;
}
.contractor-onboarding-grid label>span,
.contractor-onboarding-full>span{color:#718da2;font-size:9px;font-weight:600}
.contractor-onboarding-grid input,
.contractor-onboarding-grid select,
.contractor-onboarding-full input,
.contractor-onboarding-full textarea,
.contractor-have-invite input{
  width:100%;
  border:1px solid #36536a;
  border-radius:10px;
  background:#091a29;
  color:#edf7ff;
  padding:11px 12px;
  font-size:13px;
}
.contractor-logo-onboarding{
  display:flex;gap:12px;align-items:center;border:1px solid #223f55;border-radius:12px;padding:11px;background:#06131f;
}
.contractor-logo-preview{
  width:78px;height:78px;border-radius:12px;border:1px solid #31546d;background:#081827;
  display:grid;place-items:center;font-size:30px;overflow:hidden;flex:0 0 auto;
}
.contractor-logo-preview img{width:100%;height:100%;object-fit:contain;padding:5px}
.contractor-logo-onboarding>div:last-child{display:grid;gap:4px}
.contractor-logo-onboarding b{font-size:13px}
.contractor-logo-onboarding b span{font-size:9px;color:#718da2}
.contractor-logo-onboarding small{font-size:9px;color:#7892a6}
.contractor-logo-picker{position:relative;overflow:hidden;width:max-content;margin-top:4px}
.contractor-logo-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}
.contractor-onboarding-trades{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.contractor-onboarding-trade{
  display:flex;align-items:center;gap:8px;border:1px solid #2a485f;border-radius:10px;background:#081827;
  padding:10px 11px;cursor:pointer;font-size:10px;font-weight:850;
}
.contractor-onboarding-trade:has(input:checked){border-color:#0870ff;background:#0c3155;color:#fff}
.contractor-onboarding-trade input{accent-color:#0870ff;transform:scale(1.12)}
.contractor-onboarding-map-status{
  border:1px solid #244a68;border-radius:9px;background:#081c2c;color:#7ea7c7;padding:9px 10px;font-size:10px;
}
.contractor-onboarding-actions{display:flex;justify-content:space-between;gap:8px;align-items:center}
.contractor-onboarding-actions button{min-height:48px;padding:11px 16px;font-size:13px}

.contractor-office-profile-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid #2a526f;
  border-radius:14px;
  background:linear-gradient(120deg,#0a2238,#071522);
  padding:14px;
}
.contractor-office-avatar{
  width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#0d3b65;border:1px solid #3479ad;color:#9fd2ff;font-size:20px;font-weight:950;
}
.contractor-office-profile-card>div:nth-child(2){display:grid;gap:2px}
.contractor-office-profile-card>div:nth-child(2) b{font-size:16px}
.contractor-office-profile-card>div:nth-child(2) span{font-size:11px;color:#97adbd}
.contractor-office-profile-card>div:nth-child(2) small{font-size:9px;color:#6faee7}
.contractor-office-connect-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.contractor-office-connect-steps>div{
  display:grid;grid-template-columns:auto 1fr;gap:9px;border:1px solid #28455d;border-radius:12px;background:#071522;padding:11px;
}
.contractor-office-connect-steps>div>span{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0870ff,#0056fc);color:#fff;font-weight:950;
}
.contractor-office-connect-steps p{display:grid;gap:3px;margin:0}
.contractor-office-connect-steps b{font-size:12px}
.contractor-office-connect-steps small{font-size:9px;color:#7893a8;line-height:1.45}
.contractor-have-invite{
  display:grid;gap:9px;border:1px solid #2c5c84;border-radius:14px;background:#092039;padding:14px;
}
.contractor-have-invite h3{margin:0;font-size:17px}
.contractor-have-invite p{margin:0;color:#89a3b6;font-size:10px}
.contractor-have-invite button{min-height:46px}

@media(max-width:760px){
  .contractor-path-grid,
  .contractor-office-connect-steps,
  .contractor-onboarding-grid{grid-template-columns:1fr}
  .contractor-onboarding-trades{grid-template-columns:1fr 1fr}
  .contractor-onboarding-card>h1{font-size:28px}
}
@media(max-width:480px){
  .contractor-onboarding-trades{grid-template-columns:1fr}
  .contractor-onboarding-actions{display:grid}
  .contractor-office-profile-card{grid-template-columns:auto 1fr}
  .contractor-office-profile-card>.pill{grid-column:2}
  .contractor-onboarding-brand{align-items:flex-start}
  .contractor-onboarding-exit{padding:9px 11px;font-size:11px}
}
