:root{
  --bg:#06111f;--panel:#0b1726;--panel2:#101f31;--line:#223a55;--ink:#edf6ff;--muted:#90a5ba;
  --blue:#1677ff;--blue2:#62a8ff;--green:#17c787;--yellow:#ffc43d;--red:#ff5b5b;--shadow:0 24px 70px #0006;
  --fiber:#ff8a00;--water:#1e88ff;--electric:#ff4d4d;--gas:#ffd400;--sewer:#1ec76d;--other:#9aa6b2;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}
.auth-screen{position:fixed;inset:0;background:#020812 url('assets/utilinexus-home-bg.png') center/cover no-repeat;display:flex;align-items:center;justify-content:flex-end;padding:6vw;z-index:50}.auth-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#02081233,#02081266 54%,#020812aa)}.glass{background:linear-gradient(145deg,#081829ed,#0b1a2aec);border:1px solid #48617a99;backdrop-filter:blur(18px);box-shadow:var(--shadow)}.auth-card{position:relative;width:min(430px,100%);border-radius:24px;padding:34px}.auth-card h1{font-size:30px;margin:5px 0 7px}.auth-card p{color:#b9c8d7;line-height:1.5;margin-bottom:24px}.eyebrow{color:#62a8ff;font-size:11px;font-weight:900;letter-spacing:.15em}.auth-card label,.modal-card label{display:block;font-size:13px;font-weight:800;margin:15px 0 7px}.auth-card input,.modal-card input,.ai-compose textarea,.field-input{width:100%;border:1px solid #38506a;background:#0e1e30;color:#fff;border-radius:12px;padding:13px 14px;outline:0}.auth-card input:focus,.modal-card input:focus,.field-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1677ff22}.primary,.outline,.quiet,.link-btn,.icon-btn{border-radius:12px;border:0;padding:12px 14px;font-weight:850}.primary{background:linear-gradient(90deg,#145ff4,#1682ff);color:white}.outline{background:transparent;border:1px solid #2f83ff;color:white}.quiet{background:#ffffff0c;color:#dce9f6;border:1px solid #ffffff12}.link-btn{background:transparent;color:#55a1ff;padding:8px 0}.auth-card .primary,.auth-card .outline{width:100%;margin-top:12px}.divider{display:flex;gap:12px;align-items:center;margin:20px 0 7px;color:#8094aa}.divider:before,.divider:after{content:"";height:1px;background:#31475f;flex:1}.form-message{min-height:18px;font-size:13px;color:#ffd36c;margin-top:10px}
.modal{position:fixed;inset:0;background:#000a;display:grid;place-items:center;padding:20px;z-index:80}.modal-card{position:relative;width:min(840px,100%);border-radius:22px;padding:28px}.modal-card.compact{width:min(500px,100%)}.modal-x{position:absolute;right:15px;top:12px;border:0;background:transparent;color:#fff;font-size:30px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.role-choice{text-align:left;padding:20px;border:1px solid #34516e;border-radius:18px;background:#0c1b2d;color:white}.role-choice:hover{border-color:#1677ff;transform:translateY(-2px)}.role-choice span{font-size:30px;display:block}.role-choice b{display:block;font-size:18px;margin:9px 0}.role-choice small{color:#9cb0c3;line-height:1.45}
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:#071421;border-right:1px solid #172a3c;display:flex;flex-direction:column}.brand-lockup{display:flex;align-items:center;gap:10px;padding:4px 8px 22px}.brand-lockup img{width:54px;height:54px}.brand-lockup strong{display:block;font-size:18px}.brand-lockup small{display:block;color:#7d93a8;font-size:10px}.sidebar nav{display:grid;gap:7px}.nav-btn{display:flex;align-items:center;gap:11px;border:0;border-radius:12px;background:transparent;color:#9fb2c4;padding:11px 12px;text-align:left;font-weight:750}.nav-btn.active,.nav-btn:hover{background:#1677ff1f;color:#fff}.nav-btn .nicon{width:22px;text-align:center}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.ai-launcher{border:1px solid #1e73ef;background:linear-gradient(120deg,#10284b,#0b1d31);color:#fff;border-radius:12px;padding:11px;text-align:left;font-weight:850}.ai-launcher span{color:#68adff;margin-right:7px}.support-nav-btn{width:100%;min-height:46px;border:1px solid #254b69;border-radius:12px;background:linear-gradient(120deg,#0c2134,#091927);color:#dce9f6;padding:11px 13px;text-align:left;font-weight:800;box-shadow:inset 0 1px 0 #ffffff0a;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.support-nav-btn:hover,.support-nav-btn:focus-visible{border-color:#3b8edf;background:linear-gradient(120deg,#113253,#0c2338);box-shadow:0 0 0 3px #1677ff20,inset 0 1px 0 #ffffff12;outline:none;transform:translateY(-1px)}#feedbackNavBtn{border-color:#2d6593;background:linear-gradient(120deg,#102a43,#0b1d30)}#feedbackNavBtn:hover,#feedbackNavBtn:focus-visible{border-color:#55a5ee;background:linear-gradient(120deg,#153d62,#0d2943)}.main-shell{min-width:0;background:radial-gradient(circle at 70% -10%,#12315866,transparent 36%),#07111d}.topbar{display:flex;align-items:center;justify-content:space-between;padding:26px 30px 16px;gap:20px}.topbar h1{margin:2px 0 0;font-size:30px}.top-actions{display:flex;align-items:center;gap:10px}.pill{font-size:12px;font-weight:800;padding:7px 10px;border-radius:999px;border:1px solid #29435e;background:#0c1b2c}.pill.good{color:#72e0b3}.pill.warn{color:#ffd36c}.tiny{padding:8px 10px;font-size:12px}.account-chip{padding:8px 11px;border-radius:12px;background:#0c1c2c;border:1px solid #20364c;font-size:12px}.workspace{padding:10px 30px 34px}.mobile-header{display:none}
.hero-strip{border:1px solid #1c3f61;border-radius:22px;padding:24px;background:linear-gradient(110deg,#0c2037,#0b1929 70%);box-shadow:0 18px 45px #0003;overflow:hidden;position:relative}.hero-strip:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-80px;top:-100px;background:#1677ff18;filter:blur(5px)}.hero-strip h2{font-size:28px;margin:4px 0}.hero-strip p{color:#a8bacb;max-width:760px;line-height:1.6}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.metric,.card{background:linear-gradient(145deg,#0b1929,#0a1725);border:1px solid #1d3349;border-radius:18px;box-shadow:0 14px 34px #0002}.metric{padding:17px}.metric small{color:#8398ad}.metric strong{display:block;font-size:28px;margin-top:6px}.card{padding:18px}.card h3{margin:0 0 12px}.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.list{display:grid;gap:9px}.job-row{border:1px solid #203950;border-radius:14px;padding:13px;background:#0a1827;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.job-row:hover{border-color:#2f73b6}.job-row strong{display:block}.job-row small{color:#879bae}.status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}.s-requested{background:#334155;color:#dbeafe}.s-enroute{background:#1e3a8a;color:#bfdbfe}.s-arrived{background:#854d0e;color:#fde68a}.s-working{background:#14532d;color:#bbf7d0}.s-complete{background:#064e3b;color:#a7f3d0}.action-row{display:flex;flex-wrap:wrap;gap:8px}.action-row button{width:auto}.field-layout{display:grid;grid-template-columns:360px 1fr;gap:16px}.field-panel{display:grid;gap:12px}.field-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.field-actions button{min-height:52px}.utility-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.utility-card{border:1px solid #29445d;border-radius:14px;padding:12px;background:#0a1827}.utility-card.active{outline:2px solid #1677ff}.utility-card .uhead{display:flex;justify-content:space-between;align-items:center}.utility-card button{margin-top:9px;width:100%}.timer{font-size:36px;font-weight:900;letter-spacing:.04em}.map-wrap{position:relative}.map{height:580px;border-radius:18px;border:1px solid #29445d;overflow:hidden;background:#0b1622}.map-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}.map-toolbar button{width:auto}.legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;color:#a7b7c7;font-size:12px}.legend span:before{content:"";width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px;background:var(--c)}.timeline{position:relative;display:grid;gap:10px}.timeline:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:#243d56}.event{position:relative;padding-left:30px}.event:before{content:"";position:absolute;left:3px;top:4px;width:14px;height:14px;border-radius:50%;background:#1677ff;border:3px solid #07111d}.event b{display:block}.event small{color:#89a0b5}.coord-list{max-height:360px;overflow:auto;border:1px solid #203950;border-radius:13px}.coord-row{display:grid;grid-template-columns:55px 1fr auto;gap:8px;padding:9px 10px;border-bottom:1px solid #172e44;font-size:12px}.coord-row:last-child{border:0}.feature-lock{border:1px dashed #46607a;border-radius:16px;padding:20px;text-align:center;background:#ffffff05}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.price-card{border:1px solid #23425f;border-radius:18px;padding:18px;background:#091827}.price-card.featured{border-color:#1677ff;box-shadow:0 0 0 1px #1677ff55,0 20px 60px #1677ff18}.price-card .price{font-size:34px;font-weight:900}.price-card ul{padding-left:18px;color:#a6b8c8;line-height:1.7}.ai-panel{position:fixed;right:18px;bottom:18px;width:min(430px,calc(100vw - 36px));height:min(620px,calc(100vh - 36px));z-index:100;background:#081625;border:1px solid #2a4968;border-radius:22px;box-shadow:0 30px 90px #000b;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.ai-head{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #1c3349}.ai-head h2{margin:2px 0 0}.icon-btn{background:#ffffff0c;color:#fff;padding:8px 10px}.ai-messages{padding:14px;overflow:auto;display:grid;align-content:start;gap:10px}.ai-bubble{max-width:88%;padding:10px 12px;border-radius:14px;background:#102238;border:1px solid #233e59;line-height:1.45}.ai-bubble.user{margin-left:auto;background:#123b70}.ai-compose{display:grid;grid-template-columns:1fr 80px;gap:8px;padding:12px;border-top:1px solid #1c3349}.toast-stack{position:fixed;right:16px;top:16px;z-index:150;display:grid;gap:8px}.toast{padding:11px 13px;border-radius:12px;background:#102239;border:1px solid #31577b;box-shadow:0 12px 36px #0008;max-width:340px}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.two-col,.field-layout{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr 1fr}.auth-screen{justify-content:center;background-position:28% center}.auth-overlay{background:#02081299}}
@media(max-width:760px){.app{display:block}.sidebar{position:fixed;left:-280px;width:260px;z-index:70;transition:.2s}.sidebar.open{left:0}.mobile-header{display:flex;position:sticky;top:0;z-index:45;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:#071421e8;backdrop-filter:blur(15px);border-bottom:1px solid #173047}.mobile-header img{height:38px;width:120px;object-fit:contain}.topbar{padding:18px 16px 10px}.top-actions{gap:6px}.account-chip{display:none}.workspace{padding:8px 16px calc(25px + env(safe-area-inset-bottom))}.metric-grid{grid-template-columns:1fr 1fr}.three-col,.pricing-grid{grid-template-columns:1fr}.map{height:52vh;min-height:360px}.role-grid{grid-template-columns:1fr}.auth-card{padding:27px 22px}.field-actions,.utility-grid{grid-template-columns:1fr 1fr}.hero-strip{padding:19px}.hero-strip h2{font-size:24px}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.field-actions,.utility-grid{grid-template-columns:1fr}.topbar h1{font-size:25px}.topbar .pill{display:none}}
@media print{.sidebar,.topbar,.mobile-header,.ai-panel,.map-toolbar,.no-print{display:none!important}.app{display:block}.workspace{padding:0}.card,.map{box-shadow:none;border-color:#bbb}.main-shell{background:#fff;color:#111}.map{height:650px}}

/* Keep long role-specific navigation usable without moving the page itself. */
.sidebar{overflow:hidden}.sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin;scrollbar-color:#315f85 transparent}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#315f85;border-radius:999px}.sidebar-bottom{flex:0 0 auto}.mobile-menu-close,.mobile-menu-backdrop{display:none}

/* UtiliNexus 2.8.45.82 — dependable phone navigation and touch layout. */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body.mobile-menu-open{overflow:hidden;touch-action:none}
  .sidebar{left:0;top:0;bottom:0;width:min(86vw,320px);height:auto;max-height:none;padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 50px #000a;visibility:hidden;overflow:hidden;overscroll-behavior:contain}
  .sidebar.open{left:0;transform:translateX(0);visibility:visible}
  .sidebar .brand-lockup{flex:0 0 auto;padding:0 2px 12px;min-width:0}
  .sidebar .brand-lockup>div{min-width:0}
  .sidebar .brand-lockup img{width:46px;height:46px;flex:0 0 auto}
  .sidebar nav{flex:1 1 auto;min-height:0;display:block;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px 4px 18px 0;touch-action:pan-y}
  .sidebar nav .nav-btn,.sidebar nav>button,.sidebar nav>a{width:100%;min-height:46px;margin-bottom:6px;flex:0 0 auto}
  .sidebar-bottom{position:relative;flex:0 0 auto;padding-top:9px;border-top:1px solid #173047;background:#071421}
  .sidebar-bottom button{min-height:46px}
  .mobile-menu-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin-left:auto;padding:0;border:1px solid #29435e;border-radius:12px;background:#0c1c2c;color:#eaf5ff;font-size:28px;line-height:1}
  .mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:65;background:#020812b8;backdrop-filter:blur(2px);touch-action:none}
  .main-shell,.workspace,.workspace>*{min-width:0;max-width:100%}
  .mobile-header .icon-btn{width:44px;height:44px;padding:0;display:grid;place-items:center}
  .topbar{align-items:flex-start;flex-wrap:wrap;gap:10px;padding:14px 14px 8px}
  .topbar>div:first-child{min-width:0}
  .topbar h1{overflow-wrap:anywhere}
  .top-actions{min-width:0;max-width:100%;flex-wrap:wrap}
  .workspace{padding:8px 12px calc(28px + env(safe-area-inset-bottom));overflow-x:hidden}
  .card,.metric,.hero-strip,.dispatch-hero,.homeowner-hero{min-width:0;max-width:100%}
  .modal{align-items:start;overflow-y:auto;padding:calc(10px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  .modal-card{width:100%;max-height:none;margin:auto;padding:24px 16px 20px;overflow:visible}
  button,.nav-btn{touch-action:manipulation}
}
@media(max-width:430px){
  .sidebar{width:min(90vw,310px)}
  .workspace{padding-left:10px;padding-right:10px}
  .topbar{padding-left:12px;padding-right:12px}
  .topbar h1{font-size:24px}
  .card{padding:15px}
}


/* UtiliNexus 2.1 live locate */
.field-status-card{overflow:hidden;position:relative}.field-status-card:after{content:"";position:absolute;right:-70px;top:-70px;width:190px;height:190px;border-radius:50%;background:#1677ff12;pointer-events:none}
.field-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:10px 0 18px}.timer-block{text-align:right}.timer-block small{display:block;color:#6f8ca8;font-size:10px;font-weight:900;letter-spacing:.15em}.workflow-actions{grid-template-columns:repeat(2,1fr)!important}.complete-btn{border:1px solid #1bc987;background:#0c3a2c;color:#8bffd0;border-radius:12px;padding:12px 14px;font-weight:900}.workflow-hint{font-size:12px;color:#7891aa;margin-top:12px;line-height:1.45}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-head h3{margin-top:0}.section-head p{margin-top:-5px}
.utility-card{transition:.2s ease}.utility-card:hover{border-color:#315677;transform:translateY(-1px)}.uhead>div{display:grid}.utility-state{font-size:11px;color:#8196ab;margin-top:3px}.utility-state.mapping{color:#62a8ff}.utility-state.completed,.utility-state.not_found{color:#53dfa9}.utility-state.not_requested{color:#91a6ba}.utility-state.dtl{color:#ffba68;font-weight:900}.utility-dot{font-size:18px}.utility-actions{grid-template-columns:repeat(3,1fr)!important}.danger-lite{color:#ffd08b!important;border-color:#785a24!important}.utility-result-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.utility-result-actions button{min-width:0;min-height:44px;margin-top:0!important;padding:10px 8px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;white-space:nowrap}.utility-result-actions button:first-child{grid-column:1/-1}.utility-clear{color:#7be6bb!important;border-color:#26775e!important}.utility-dtl{color:#ffba68!important;border-color:#95551d!important;background:#ff8b1510!important}
.live-locate{display:grid;gap:16px}.live-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 25px;background:linear-gradient(115deg,#0c2038,#091723)}.live-hero h2{margin:5px 0 2px;font-size:25px}.live-status-side{display:grid;justify-items:end;gap:8px}.live-indicator{font-size:10px;color:#64e6b5;letter-spacing:.14em;font-weight:950}
.progress-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:3px 5px 8px}.progress-step{position:relative;text-align:center;color:#607990;font-size:11px}.progress-step:before{content:"";position:absolute;height:2px;background:#1f3448;left:-50%;right:50%;top:9px}.progress-step:first-child:before{display:none}.progress-step span{width:19px;height:19px;border-radius:50%;background:#13283b;border:3px solid #29445d;display:block;margin:0 auto 7px;position:relative;z-index:1}.progress-step.done,.progress-step.active{color:#dbeeff}.progress-step.done:before,.progress-step.active:before{background:#1677ff}.progress-step.done span{background:#17c787;border-color:#17c787}.progress-step.active span{background:#1677ff;border-color:#75b5ff;box-shadow:0 0 0 5px #1677ff1b}.progress-step b{font-weight:800}
.customer-grid{align-items:start}.customer-utilities{display:grid;gap:9px}.customer-utility{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:11px;padding:13px 12px;border:1px solid #1c3349;border-radius:13px;background:#0a1928}.utility-swatch{width:9px;height:34px;border-radius:6px}.customer-utility b,.customer-utility small{display:block}.customer-utility small{color:#8198ae;margin-top:2px}.utility-check{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;border:1px solid #37506a;color:#7e94a9;font-weight:950}.utility-check.completed{background:#0d3a2c;border-color:#17c787;color:#68edbb}.utility-check.mapping{border-color:#1677ff;color:#67aaff;box-shadow:0 0 0 4px #1677ff12}.utility-check.not_found{border-color:#8a6d2a;color:#ffd36c}
.live-event{display:grid!important;grid-template-columns:34px 1fr;align-items:start!important}.event-icon{width:30px;height:30px;border-radius:10px;background:#10283f;display:grid;place-items:center;border:1px solid #254563}.live-event b,.live-event small{display:block}.live-event small{margin-top:4px}
.ticket-note-card{display:grid;gap:13px}.private-note-badge{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid #315a7c;border-radius:999px;color:#9fc7eb;background:#0c2235;font-size:10px;font-weight:850;white-space:nowrap}.ticket-note-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;background:#071522;border:1px solid #213a52;border-radius:13px}.ticket-note-tabs button{min-height:42px;border:1px solid transparent;border-radius:9px;background:transparent;color:#90a7bc;font-weight:850}.ticket-note-tabs button.active{border-color:#2f83ff;background:#12365b;color:#fff;box-shadow:0 0 0 2px #1677ff18}.ticket-note-panel label{display:block;margin:0 0 7px;color:#bad0e3;font-size:12px;font-weight:800}.ticket-note-save{width:100%;margin-top:9px}.private-note-help{margin:9px 0 0;color:#83a0b9;font-size:11px;line-height:1.45}.private-note-list{display:grid;gap:8px;max-height:290px;overflow-y:auto;margin-top:12px;padding-right:3px}.private-note-item{padding:11px;border:1px solid #29455f;border-radius:12px;background:#091827}.private-note-item>div{display:flex;justify-content:space-between;gap:9px;align-items:start}.private-note-item b{font-size:12px;color:#b8d9f6}.private-note-item small{color:#7892a8;font-size:9px;text-align:right}.private-note-item p{margin:7px 0 0;color:#e5f1fc;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.detail-list{display:grid;gap:0}.detail-list>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #1e3245}.detail-list span{color:#8197ab}.detail-list b{text-align:right}.compact-coords{max-height:220px;overflow:auto;margin-top:12px}.point-kind{font-size:10px;font-weight:900;letter-spacing:.08em}.point-kind.start{color:#62a8ff}.point-kind.stop{color:#ffcf5c}
@media(max-width:760px){
 .live-hero{align-items:flex-start}.live-status-side{justify-items:start}.progress-step b{font-size:9px}.customer-grid{grid-template-columns:1fr}.workflow-actions{grid-template-columns:1fr 1fr!important}.utility-actions{grid-template-columns:1fr 1fr 1fr!important}.ticket-note-card .section-head{display:grid}.private-note-badge{width:max-content;max-width:100%}.ticket-note-panel textarea{font-size:16px}
}

/* UtiliNexus 2.8.45.99 — functional company Team workspace. */
.password-recovery-modal .modal-card{display:grid;gap:4px}.password-recovery-modal h2{margin:6px 0}.password-recovery-modal .muted{margin:0 0 8px;line-height:1.5}.password-recovery-modal .primary,.password-recovery-modal .quiet{width:100%;margin-top:10px}
.team-page{display:grid;gap:16px}.team-page>.card{margin:0}.team-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;background:linear-gradient(125deg,rgba(13,42,72,.97),rgba(5,20,35,.97));border-color:#28577d}.team-hero h2{margin:5px 0 6px;font-size:29px}.team-hero p{margin:0;color:#a7c0d6;line-height:1.55}.team-hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.team-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.team-summary{min-width:0;min-height:138px;padding:18px;text-align:left;border:1px solid #24445f;border-radius:16px;background:linear-gradient(150deg,#0b2033,#071624);color:#eaf5ff;display:grid;grid-template-columns:1fr auto;align-content:start;gap:7px;transition:border-color .16s ease,background .16s ease,transform .16s ease}.team-summary:hover{transform:translateY(-1px);border-color:#3b739d}.team-summary.active{border-color:#2785ff;background:linear-gradient(150deg,#103760,#09213a);box-shadow:0 0 0 3px rgba(22,119,255,.11)}.team-summary>span{font-size:14px;font-weight:900}.team-summary>strong{font-size:26px;color:#6eb2ff;line-height:1}.team-summary>small{grid-column:1/-1;color:#8faabe;line-height:1.4}.team-directory{padding:22px}.team-member-list{display:grid;gap:9px;margin-top:14px}.team-member-row{display:grid;grid-template-columns:48px minmax(180px,1fr) auto auto;align-items:center;gap:13px;padding:13px;border:1px solid #203b53;border-radius:14px;background:#081827}.team-avatar{width:46px;height:46px;border:1px solid #32658d;border-radius:14px;background:linear-gradient(145deg,#174c7d,#0b2a48);color:#fff;display:grid;place-items:center;font-size:19px;font-weight:950}.team-member-identity{min-width:0;display:grid;gap:3px}.team-member-identity b{font-size:14px;overflow-wrap:anywhere}.team-member-identity span,.team-member-identity small{color:#88a5bc;font-size:11px;overflow-wrap:anywhere}.team-role-pill{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:6px 10px;border:1px solid #2e5c80;border-radius:999px;background:#0c2942;color:#9ccfff;font-size:10px;font-weight:900;white-space:nowrap}.team-member-actions{display:flex;gap:7px}.team-remove{border-color:#6b3438!important;color:#ffaaa8!important;background:#291419!important}.team-protected{color:#718ba0;font-size:10px;font-weight:800;text-align:right;white-space:nowrap}.team-empty{display:grid;place-items:center;gap:5px;min-height:120px;padding:18px;border:1px dashed #31506a;border-radius:14px;color:#819db3;text-align:center}.team-empty.compact{min-height:75px}.team-invite-list{display:grid;gap:8px;margin-top:13px}.team-invite-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #1f3a51;border-radius:12px;background:#081725}.team-invite-list span:first-child{display:grid;gap:3px}.team-invite-list small,.team-invite-expiry{color:#819daf;font-size:10px}.team-loading{min-height:240px;display:grid;align-content:center;justify-items:start}.team-action-modal{max-width:580px;padding:28px}.team-action-modal h2{margin:6px 0}.team-action-form{display:grid;gap:13px;margin-top:18px}.team-action-form label{display:grid;gap:7px;margin:0;color:#eaf5ff;font-weight:850}.team-action-form input,.team-action-form select,.team-action-form textarea,.team-invite-ready input{width:100%;border:1px solid #355875!important;border-radius:11px!important;background:#091c2e!important;color:#eef7ff!important;caret-color:#eef7ff;padding:12px!important;font-size:14px;color-scheme:dark}.team-action-form textarea{resize:vertical;line-height:1.5}.team-invite-ready{display:grid;gap:8px;padding:14px;border:1px solid #237255;border-radius:13px;background:#0a2d23;color:#d9fff0}.team-invite-ready>span{font-size:11px;color:#9ed6bf;line-height:1.5}.team-invite-ready>div{display:grid;grid-template-columns:1fr auto;gap:8px}.team-danger-button{min-height:48px;border:1px solid #a94449;border-radius:12px;background:#71262c;color:#fff;font-weight:950}.team-danger-button:hover{background:#8a2d34}.team-danger-button:disabled{opacity:.6}.danger-text{color:#ff9f9c!important}
.contractor-management-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.contractor-management-actions .team-summary{text-align:left;min-height:118px;cursor:pointer}.contractor-management-actions .team-summary span{font-size:17px}.contractor-management-actions .team-summary small{line-height:1.45}.contractor-management-page #contractorManagementTime{padding:0;overflow:hidden}
@media(max-width:1050px){.team-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-member-row{grid-template-columns:48px minmax(160px,1fr) auto}.team-member-actions,.team-protected{grid-column:2/-1;justify-self:start;text-align:left}}
@media(max-width:680px){.team-hero{align-items:flex-start;flex-direction:column;padding:20px}.team-hero-actions{width:100%;justify-content:stretch}.team-hero-actions>*{flex:1}.team-summary-grid{grid-template-columns:1fr 1fr}.team-summary{min-height:120px;padding:15px}.team-member-row{grid-template-columns:44px minmax(0,1fr);align-items:start}.team-avatar{width:42px;height:42px}.team-role-pill{grid-column:2;justify-self:start}.team-member-actions,.team-protected{grid-column:1/-1;width:100%}.team-member-actions>*{flex:1}.team-protected{text-align:left}.team-directory .section-head{display:grid}.team-directory .role-badge{justify-self:start}.team-invite-list>div{align-items:flex-start;flex-direction:column}.team-action-modal{padding:24px 16px}.team-action-form input,.team-action-form select,.team-action-form textarea{font-size:16px}.team-invite-ready>div{grid-template-columns:1fr}.team-invite-ready button{width:100%}}
@media(max-width:430px){.team-summary-grid{grid-template-columns:1fr}.team-summary{min-height:105px}.team-hero-actions{display:grid}.team-member-actions{display:grid}}

/* Field billable-time correction and automatic invoice estimate. */
.field-billable-time-card{display:grid;gap:13px;border-color:#27577d;background:linear-gradient(145deg,#0c2237,#081725)}
.field-billable-time-card h3{margin:4px 0 7px}.field-billable-time-card .section-head p{margin:0;line-height:1.45}
.field-time-corrected{display:inline-flex;align-items:center;align-self:flex-start;padding:6px 9px;border:1px solid #237255;border-radius:999px;background:#0a2d23;color:#76edbb;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.field-time-grid{display:grid;grid-template-columns:.65fr .65fr 1.7fr;gap:9px}.field-time-grid label,.field-time-reason{display:grid;gap:6px;color:#bed3e6;font-size:11px;font-weight:850}.field-time-reason span{color:#7390a8;font-weight:700}
.field-time-grid input,.field-time-grid select,.field-time-reason input{width:100%;min-height:45px;border:1px solid #355875;border-radius:11px;background:#091c2e;color:#eef7ff;padding:10px 11px;font-size:14px;color-scheme:dark;outline:none}
.field-time-grid input:focus,.field-time-grid select:focus,.field-time-reason input:focus{border-color:#2f83ff;box-shadow:0 0 0 3px #2f83ff1f}
.field-billable-time-card>#saveFieldBillableTime{width:100%;min-height:47px}.field-billable-time-card>#saveFieldBillableTime:disabled{opacity:.65}
.field-estimate{display:grid;gap:7px;padding:12px;border:1px solid #24455f;border-radius:12px;background:#071522;color:#9fb8ce;font-size:11px;line-height:1.45}.field-estimate>div{display:flex;justify-content:space-between;gap:12px}.field-estimate>div b{color:#eaf5ff;text-align:right}.field-estimate-total{padding-top:8px;border-top:1px solid #26445c;font-size:13px;font-weight:900}.field-estimate-total b{color:#6eb2ff!important}.timer.corrected{color:#65e7b5}
@media(max-width:560px){.field-time-grid{grid-template-columns:1fr 1fr}.field-time-grid label:last-child{grid-column:1/-1}.field-time-grid input,.field-time-grid select,.field-time-reason input{font-size:16px}.field-billable-time-card .section-head{display:grid}.field-time-corrected{justify-self:start}}


/* UtiliNexus 2.2 homeowner experience */
.homeowner-hero{display:grid;grid-template-columns:1.7fr .8fr;gap:22px;padding:26px;border:1px solid #1e3b58;border-radius:22px;background:linear-gradient(120deg,#0b2139,#0a1725);box-shadow:0 20px 55px #0003;margin-bottom:16px}.homeowner-hero h2{font-size:30px;margin:6px 0 8px}.homeowner-hero p{color:#9bb2c8;max-width:760px;line-height:1.6}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.big-cta{font-size:15px;padding:14px 20px}.home-safe-card{align-self:stretch;border:1px solid #21496c;border-radius:18px;padding:20px;background:#081a2b;display:flex;flex-direction:column;justify-content:center}.home-safe-card .safe-icon{font-size:25px;margin-bottom:8px}.home-safe-card b{font-size:17px}.home-safe-card p{font-size:12px;margin-bottom:0}.homeowner-steps .event{padding-left:20px}
.homeowner-list-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.homeowner-list-head h3{margin:0}.homeowner-list-head p{margin-bottom:0}
.request-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.request-intro h2{font-size:27px;margin:5px 0}.request-form{padding:24px}.form-section{display:flex;gap:13px;align-items:flex-start;margin:3px 0 16px}.form-section h3{margin:0}.form-section p{margin:3px 0}.step-num{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#1677ff;color:white;font-weight:950;flex:0 0 auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-divider{height:1px;background:#1d3449;margin:25px 0}.check-row{display:flex!important;align-items:center;gap:9px;margin:10px 0!important}.utility-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:15px}.utility-choice{display:flex!important;align-items:center;gap:9px!important;border:1px solid #203b55;border-radius:12px;padding:12px!important;background:#091a29;margin:0!important;cursor:pointer}.utility-choice:has(input:checked){border-color:#1677ff;background:#0d2540;box-shadow:0 0 0 3px #1677ff12}.utility-choice .utility-swatch{width:8px;height:25px;border-radius:4px}.company-picker{display:grid;gap:9px}.company-option{display:grid!important;grid-template-columns:auto 42px 1fr auto;align-items:center;gap:10px!important;border:1px solid #213a52;border-radius:14px;padding:13px!important;background:#091827;margin:0!important;cursor:pointer}.company-option:has(input:checked){border-color:#1677ff;background:#0d2540;box-shadow:0 0 0 3px #1677ff12}.company-option input{width:auto}.company-avatar{width:42px;height:42px;border:1px solid #294a67;background:#0d2236;border-radius:12px;display:grid;place-items:center;overflow:hidden}.company-avatar img{width:100%;height:100%;object-fit:contain}.company-option b,.company-option small{display:block}.company-option small{color:#8099b0;margin-top:3px}.company-price{text-align:right}.company-price small{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.company-price b{font-size:18px;color:#77b5ff}.notice-box{padding:12px;border:1px solid #665226;background:#2b2412;color:#f7d57e;border-radius:12px;font-size:12px;line-height:1.5;margin:12px 0}.request-review>div:first-child{padding:12px;background:#091a29;border-radius:12px}.request-review p{margin:4px 0 0;color:#93a9bd}.request-submit{width:100%;height:54px;font-size:16px;margin-top:8px}.sticky-help{position:sticky;top:18px}.mini-feature{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #1b3043}.mini-feature:last-child{border:0}.mini-feature span{font-size:20px}.mini-feature b,.mini-feature small{display:block}.mini-feature small{color:#8098ad;margin-top:3px;line-height:1.35}.empty-state{padding:18px;border:1px dashed #33506a;border-radius:13px;text-align:center}.empty-state p{margin-bottom:0}
.account-grid{align-items:start}.property-list{display:grid;gap:8px}.property-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #1d3449;background:#091927;border-radius:12px;padding:12px}.property-row b,.property-row small{display:block}.property-row small{color:#849bb0;margin-top:3px}.safety-card{border-color:#5d4b24!important;background:#251f10!important}
@media(max-width:900px){.homeowner-hero,.request-shell{grid-template-columns:1fr}.sticky-help{position:static}.home-safe-card{min-height:150px}.utility-choice-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.homeowner-hero{padding:20px}.homeowner-hero h2{font-size:25px}.hero-actions>*{width:100%}.homeowner-list-head{align-items:flex-start;flex-direction:column}.homeowner-list-head button{width:100%}.form-grid,.utility-choice-grid{grid-template-columns:1fr}.company-option{grid-template-columns:auto 38px 1fr}.company-price{grid-column:3;text-align:left}.request-form{padding:17px}}

/* UtiliNexus 2.3 dispatch */
.dispatch-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px;border:1px solid #1e3e5d;border-radius:22px;background:linear-gradient(120deg,#0a2138,#071722);margin-bottom:16px}.dispatch-hero h2{font-size:29px;margin:5px 0}.dispatch-hero p{color:#92aac0;margin:0}.role-badge{padding:9px 14px;border-radius:999px;border:1px solid #315d83;background:#0d2740;color:#84beff;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.1em}.metric.attention{border-color:#315d83;background:linear-gradient(150deg,#0d2740,#0a1825)}.metric.attention strong{color:#6eb1ff}.dispatch-cols{align-items:start}.dispatch-card{display:grid;grid-template-columns:1fr auto;gap:14px;padding:15px 0;border-bottom:1px solid #1d3347}.dispatch-card:last-child{border-bottom:0}.dispatch-main h4,.my-ticket-card h4{margin:5px 0;font-size:15px}.dispatch-main p{color:#8da4b8;margin:4px 0 9px;font-size:12px}.dispatch-ticket-line{display:flex;align-items:center;gap:8px;font-size:12px}.dispatch-ticket-line>span:last-child{color:#7e97ad;font-size:10px;text-transform:uppercase}.new-dot{width:8px;height:8px;border-radius:50%;background:#1677ff;box-shadow:0 0 0 4px #1677ff18}.dispatch-meta{display:flex;flex-wrap:wrap;gap:10px;color:#7f98ae;font-size:10px}.dispatch-actions{display:flex;align-items:center;gap:7px}.dispatch-empty{padding:24px;text-align:center;border:1px dashed #294861;border-radius:14px;color:#7890a4;background:#081725}.my-ticket-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #1d3347}.my-ticket-card:last-child{border:0}.my-ticket-card small{color:#8199af}.dispatch-tabs{display:flex;align-items:center;justify-content:space-between}.dispatch-tabs h3{margin:0}.dispatch-section-title h3{display:flex;align-items:center;gap:8px}.dispatch-section-title span{font-size:10px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#153452;color:#79b7ff;display:grid;place-items:center}.locator-ticket-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #1c3246}.locator-ticket-row:last-child{border:0}.locator-ticket-main{cursor:pointer;display:grid;gap:3px}.locator-ticket-main span{font-size:13px}.locator-ticket-main small{color:#7e96ac}.locator-row-actions{display:flex;gap:6px}.compact{padding:8px 11px!important}.dispatch-modal{max-width:500px}.modal-x{position:absolute;right:18px;top:16px;background:none!important;border:0!important;color:#c8d6e4!important;font-size:28px!important;width:auto!important;padding:0!important}.dispatch-modal{position:relative}.dispatch-modal h2{margin:5px 0}.dispatch-modal select{width:100%}
@media(max-width:760px){.dispatch-hero{align-items:flex-start}.dispatch-card{grid-template-columns:1fr}.dispatch-actions>*{flex:1}.locator-ticket-row{grid-template-columns:1fr auto}.locator-row-actions{grid-column:1/-1}.locator-row-actions>*{flex:1}.my-ticket-card{align-items:flex-start;flex-direction:column}.my-ticket-card button{width:100%}}

/* Office-created locate tickets */
#officeTicketModal{align-items:center;overflow-y:auto;overscroll-behavior:contain}
#officeTicketModal .office-ticket-modal{width:min(780px,calc(100vw - 32px));max-width:780px;max-height:calc(100dvh - 40px);overflow-y:auto;scrollbar-gutter:stable;padding:30px;background:linear-gradient(145deg,#0b2137f5,#071625f7);border-color:#315575;box-shadow:0 28px 90px #000c}
.office-ticket-modal__header{padding:0 48px 22px 0;border-bottom:1px solid #23415b}
.office-ticket-modal__header h2{margin:6px 0 8px;font-size:28px;line-height:1.2}
.office-ticket-modal__header p{max-width:620px;margin:0;color:#9db2c5;line-height:1.55}
.office-ticket-form{display:grid;gap:17px;padding-top:22px}
.office-ticket-form .office-ticket-field{display:grid;gap:7px;margin:0;color:#eef6ff;font-size:13px;font-weight:850}
.office-ticket-field>span{display:flex;align-items:baseline;gap:5px}
.office-ticket-field small{color:#829bb2;font-size:11px;font-weight:700}
.office-ticket-form input,.office-ticket-form select,.office-ticket-form textarea{width:100%;min-width:0;border:1px solid #385a76;background:#0b2033;color:#fff;border-radius:12px;padding:13px 14px;font:inherit;outline:0;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.office-ticket-form input::placeholder,.office-ticket-form textarea::placeholder{color:#71899f}
.office-ticket-form input:focus,.office-ticket-form select:focus,.office-ticket-form textarea:focus{border-color:#2d8cff;background:#0d253b;box-shadow:0 0 0 3px #1677ff24}
.office-ticket-form textarea{min-height:92px;resize:vertical;line-height:1.45}
.office-ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.office-ticket-utilities{min-width:0;margin:0;padding:15px;border:1px solid #294b67;border-radius:15px;background:#081a2a}
.office-ticket-utilities legend{padding:0 7px;color:#eef6ff;font-size:13px;font-weight:850}
.office-ticket-modal .utility-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.office-ticket-modal .utility-choice{min-width:0;padding:12px!important;background:#0b2134;border-color:#2a4862}
.office-ticket-modal .utility-choice:hover{border-color:#4b7599;background:#102a42}
.office-ticket-modal .utility-choice input{width:auto;flex:0 0 auto;accent-color:#1677ff}
.office-ticket-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:5px}
.office-ticket-actions button{min-width:145px}
.office-ticket-form .form-message{margin:0;min-height:0;text-align:right}
@media(max-width:700px){#officeTicketModal{align-items:start;padding:10px}#officeTicketModal .office-ticket-modal{width:100%;max-height:calc(100dvh - 20px);padding:24px 17px}.office-ticket-modal__header{padding-right:40px}.office-ticket-grid{grid-template-columns:1fr}.office-ticket-modal .utility-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.office-ticket-actions{position:sticky;bottom:-1px;margin:0 -4px;padding:13px 4px 3px;background:linear-gradient(0deg,#071625 74%,transparent)}.office-ticket-actions button{flex:1;min-width:0}}
@media(max-width:420px){.office-ticket-modal .utility-choice-grid{grid-template-columns:1fr}.office-ticket-actions{flex-direction:column-reverse}.office-ticket-modal__header h2{font-size:24px}}
.company-ticket-search{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(420px,1.3fr);gap:14px;align-items:end;border-color:#24537a;background:linear-gradient(120deg,#0d2948,#081a2b 72%)}.company-ticket-search h3{margin:4px 0}.company-ticket-search p{margin:0}.company-ticket-search-controls{display:grid;grid-template-columns:160px minmax(220px,1fr) auto;gap:8px}.company-ticket-search-controls input,.company-ticket-search-controls select{width:100%;border:1px solid #385b79;background:#0a1d30;color:#fff;border-radius:11px;padding:10px 11px;outline:none}.company-ticket-search-controls input:focus,.company-ticket-search-controls select:focus{border-color:#2f83ff;box-shadow:0 0 0 3px #2f83ff1f}.company-ticket-search-controls button{width:auto}.company-ticket-search-count{grid-column:2;color:#85a8c5;text-align:right}@media(max-width:760px){.company-ticket-search{grid-template-columns:1fr}.company-ticket-search-controls{grid-template-columns:1fr}.company-ticket-search-count{grid-column:1;text-align:left}}
.field-queue-more{align-items:center;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid #1d3349}

/* Polished field completion dialog */
.field-completion-modal{max-width:560px;padding:28px}
.field-completion-ticket{margin-bottom:16px;line-height:1.5}
.field-completion-options{display:grid;gap:9px;margin:16px 0}
.field-completion-option{display:grid!important;grid-template-columns:auto 1fr;gap:11px;align-items:start;margin:0!important;padding:13px!important;border:1px solid #2b4e69;border-radius:12px;background:#081a29;cursor:pointer}
.field-completion-option:has(input:checked){border-color:#1677ff;background:#0d3154;box-shadow:0 0 0 1px rgba(22,119,255,.15)}
.field-completion-option input{width:auto!important;margin-top:3px;accent-color:#1677ff}
.field-completion-option span{display:grid;gap:3px}
.field-completion-option b{color:#eef7ff}
.field-completion-option small{color:#8da7ba;line-height:1.4}
.field-completion-field{display:grid!important;gap:7px;margin:12px 0!important;color:#eef7ff;font-weight:900}
.field-completion-field input,.field-completion-field textarea{width:100%;background:#0a1b2b!important;border:1px solid #34516a!important;color:#eef7ff!important;caret-color:#eef7ff;border-radius:10px;padding:12px;line-height:1.5;resize:vertical;color-scheme:dark}
.field-completion-field textarea::placeholder{color:#8fa8bd;opacity:1}
.field-completion-submit{width:100%;min-height:50px;margin-top:4px}
@media(max-width:600px){.field-completion-modal{padding:22px 16px}.field-completion-option{padding:12px!important}}
.field-dtl-modal{max-width:590px;padding:28px}.field-dtl-modal h2{margin:6px 0}.field-dtl-notice{display:grid;gap:4px;margin:16px 0}.field-dtl-notice span{color:#d6c18e}.field-dtl-modal textarea{width:100%;margin-top:7px;resize:vertical}.field-dtl-modal .form-message{color:#ffcc75}@media(max-width:600px){.field-dtl-modal{padding:22px 16px}.utility-result-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.utility-result-actions button{width:100%}}

/* Build 3 field workflow: customer context, attachments, and combined arrival/start. */
.workflow-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.field-customer-request{border-color:#28577d;background:linear-gradient(145deg,rgba(8,30,49,.97),rgba(5,20,34,.97))}
.field-customer-request h3{margin:4px 0 0}.field-customer-request .section-head{align-items:flex-start}
.field-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
.field-request-grid>div{display:grid;gap:4px;padding:14px;border:1px solid #25445e;border-radius:13px;background:#081827}
.field-request-grid>div.wide{grid-column:1/-1}.field-request-grid small{color:#6faeff;font-size:10px;font-weight:900;letter-spacing:.1em}.field-request-grid b{color:#f5f9ff;line-height:1.45}.field-request-grid span{color:#a4bdd2;line-height:1.45;overflow-wrap:anywhere}
.field-attachment-modal{width:min(980px,100%);max-height:calc(100vh - 40px);overflow:auto}.field-attachment-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.field-attachment-gallery article{display:grid;gap:8px;padding:10px;border:1px solid #294861;border-radius:14px;background:#071725}.field-attachment-gallery img{display:block;width:100%;height:300px;object-fit:contain;border-radius:10px;background:#020914}.field-attachment-loading{min-height:180px;display:grid;place-items:center;color:#8fa8bd}
.requester-pricing-notice{display:grid;gap:4px;margin-bottom:12px}.requester-pricing-notice span{color:#d9c98f}
@media(max-width:700px){.workflow-actions{grid-template-columns:1fr!important}.field-customer-request .section-head{display:grid}.field-request-grid,.field-attachment-gallery{grid-template-columns:1fr}.field-request-grid>div.wide{grid-column:auto}.field-attachment-gallery img{height:auto;max-height:62vh}}

/* Contractor team filters and role-aware invitations. */
.team-directory-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.team-empty>.primary{margin-top:10px;min-width:190px}
@media(max-width:680px){.team-directory-actions{justify-content:flex-start}.team-directory-actions button{width:100%}}

/* Shared employee invitation signup for contractor and locate-company teams. */
.employee-invite-block{display:grid;gap:7px;margin:14px 0;padding:14px;border:1px solid #285b84;border-radius:14px;background:linear-gradient(145deg,#09243d,#071827)}
.employee-invite-block.hidden{display:none}
.employee-invite-block label{margin:2px 0 0}
.employee-invite-block select{width:100%;border:1px solid #38506a;background:#0e1e30;color:#fff;border-radius:12px;padding:13px 14px;outline:0}
.employee-invite-block select:focus,.employee-invite-block input:focus{border-color:#0870ff;box-shadow:0 0 0 3px rgba(8,112,255,.16)}
.employee-invite-block small{line-height:1.5}
#signupModal{overflow-y:auto;align-items:center}
#signupModal .modal-card.compact{max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
@media(max-width:760px){#signupModal{align-items:start;padding:calc(10px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))}#signupModal .modal-card.compact{max-height:calc(100dvh - 20px);margin:0 auto}}

/* Employee account recovery and contractor workflow polish. */
.signup-existing-account{display:grid;gap:8px;padding:13px;border:1px solid #a97828;border-radius:12px;background:#2a2112;color:#ffe2a4;line-height:1.45}
.signup-existing-account span{color:#dccca9}.signup-existing-account>div{display:flex;gap:8px;flex-wrap:wrap}.signup-existing-account button{flex:1 1 150px}
.office-mode-signout{width:100%;border-color:#8d3943!important;color:#ffd7da!important}
#contractorLocateRequestModal{overflow-y:auto;padding:20px}
#contractorLocateRequestModal .modal-card{width:min(760px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;padding:30px;scrollbar-gutter:stable}
#contractorLocateRequestForm{display:grid;gap:16px;margin-top:20px}
#contractorLocateRequestForm>label{display:grid;gap:7px;margin:0;color:#edf5ff}
#contractorLocateRequestForm select,#contractorLocateRequestForm input,#contractorLocateRequestForm textarea{width:100%;min-width:0;border:1px solid #38506a;background:#0e1e30;color:#fff;border-radius:12px;padding:13px 14px;font:inherit;outline:0}
#contractorLocateRequestForm select:focus,#contractorLocateRequestForm input:focus,#contractorLocateRequestForm textarea:focus{border-color:#1677ff;box-shadow:0 0 0 3px #1677ff22}
#contractorLocateRequestForm textarea{min-height:96px;resize:vertical}
#contractorLocateRequestForm .utility-choice-grid{margin:0}
#contractorLocateRequestForm .utility-choice input{width:auto;accent-color:#1677ff}
#contractorLocateRequestForm .wide{width:100%;min-height:50px;margin-top:2px}
@media(max-width:600px){#contractorLocateRequestModal{padding:10px;align-items:start}#contractorLocateRequestModal .modal-card{max-height:calc(100dvh - 20px);padding:24px 16px}#contractorLocateRequestForm .utility-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.owner-mfa-modal{z-index:10000;background:rgba(2,8,16,.92)}
.owner-mfa-modal .modal-card{max-width:520px}
.owner-mfa-enroll{text-align:center}
.owner-mfa-enroll img{display:block;width:min(260px,80vw);height:auto;margin:18px auto;padding:12px;border-radius:16px;background:#fff}
.owner-mfa-enroll details{margin:14px 0;text-align:left}
.owner-mfa-enroll code{display:block;margin-top:10px;padding:12px;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.25);user-select:all}
.owner-mfa-ready{padding:12px;border:1px solid rgba(35,209,139,.45);border-radius:12px;color:#75efbd;background:rgba(35,209,139,.1)}
#ownerMfaCode{font-size:1.45rem;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}
#ownerMfaMessage.error{color:#ff8d91}
