:root{--hvd-navy:#142d50;--hvd-blue:#2876c7;--hvd-sky:#dceeff;--hvd-bg:#f5f9fe;--hvd-ink:#192b43;--hvd-muted:#60738c;--hvd-border:#d8e4f1}
.hvd-shell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--hvd-ink);background:var(--hvd-bg);min-height:78vh;border-radius:14px;overflow:hidden;font-size:15px;line-height:1.5}
.hvd-shell *{box-sizing:border-box}.hvd-shell :is(input,select,textarea,button){font:inherit}.hvd-shell a{text-decoration:none}.hvd-shell :focus-visible{outline:3px solid #85c0ff;outline-offset:2px}
.hvd-top{background:var(--hvd-navy);color:white;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 26px}.hvd-brand{display:flex;align-items:center;gap:12px}.hvd-mark,.hvd-login-logo{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#3b92dd;color:white;font-weight:800;font-size:18px}.hvd-brand strong{display:block;font-size:18px;letter-spacing:-.025em}.hvd-brand span{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#b1d1ef}.hvd-account{font-size:13px;text-align:right}.hvd-account a{display:inline-block;color:#d5ebff;margin-left:12px;font-weight:700}
.hvd-layout{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:700px}.hvd-sidebar{padding:18px 11px;background:#edf5fd;border-right:1px solid var(--hvd-border);display:flex;flex-direction:column;gap:4px}.hvd-sidebar a{padding:11px 14px;border-radius:9px;color:#294667;font-weight:650;display:flex;justify-content:space-between;align-items:center}.hvd-sidebar a:hover{background:#dcecff}.hvd-sidebar a.active{background:#d8e9fb;color:var(--hvd-navy);box-shadow:inset 3px 0 var(--hvd-blue)}.hvd-sidebar em{background:#f5bf3c;color:#222;border-radius:20px;font-size:12px;padding:1px 7px;font-style:normal}
.hvd-main{padding:30px;min-width:0}.hvd-head{margin-bottom:21px}.hvd-head h2{font-size:25px;font-weight:760;margin:0 0 6px;color:var(--hvd-navy);letter-spacing:-.025em}.hvd-head p{margin:0;color:var(--hvd-muted);font-size:14px}.hvd-main h3{font-size:18px;color:var(--hvd-navy);margin:0 0 14px}.hvd-main h4{color:#294669;font-size:15px;margin:19px 0 11px}
.hvd-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}.hvd-stat{padding:20px;background:white;border:1px solid var(--hvd-border);border-radius:13px;box-shadow:0 4px 14px rgba(20,45,80,.03)}.hvd-stat span{display:block;color:var(--hvd-muted);font-size:13px}.hvd-stat strong{display:block;font-size:31px;line-height:1.25;color:var(--hvd-navy);margin-top:6px}
.hvd-panel{background:white;border-radius:14px;border:1px solid var(--hvd-border);padding:24px;margin-bottom:18px;box-shadow:0 3px 16px rgba(20,45,80,.025)}.hvd-panel p{margin:8px 0}.hvd-two,.hvd-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hvd-two .hvd-panel{margin:0 0 18px}
.hvd-table-wrap{background:white;border:1px solid var(--hvd-border);overflow:auto;border-radius:12px;margin:12px 0 20px}.hvd-table{width:100%;border-collapse:collapse;margin:0!important;font-size:14px;min-width:610px}.hvd-table th{background:#edf5fe;color:#395371;text-transform:uppercase;letter-spacing:.045em;font-size:11px;text-align:left;font-weight:750;white-space:nowrap;padding:13px 16px;border-bottom:1px solid var(--hvd-border)}.hvd-table td{padding:15px 16px;border-bottom:1px solid #eaf0f7;vertical-align:middle}.hvd-table tbody tr:last-child td{border-bottom:0}.hvd-table tbody tr:hover{background:#f8fbff}.hvd-table td strong{display:block;color:#17375a}.hvd-muted{font-size:12px!important;color:var(--hvd-muted)!important;display:block;margin-top:3px}.hvd-link{white-space:nowrap;color:#126ac1!important;font-weight:700}.hvd-empty{padding:28px;background:white;border:1px dashed #afc7e3;border-radius:12px;color:var(--hvd-muted);text-align:center}
.hvd-tag-row{display:flex;gap:8px;flex-wrap:wrap}.hvd-tag{display:inline-block;padding:4px 9px;border:1px solid #dbe5ee;border-radius:100px;font-size:11px;font-weight:750;color:#385470;background:#eef4fa;white-space:nowrap}.hvd-tag-good{color:#136b49;background:#e6f6ee;border-color:#bde9d0}.hvd-tag-warn{color:#875700;background:#fff2d1;border-color:#f9df9f}.hvd-tag-blue{color:#155eac;background:#e1f0ff;border-color:#bddeff}.hvd-tag-muted{color:#5f6c78;background:#eef0f2}
.hvd-btn{display:inline-flex;gap:8px;justify-content:center;align-items:center;border:1px solid var(--hvd-blue);background:var(--hvd-blue);color:white!important;padding:11px 17px;line-height:1.35;font-size:13px;font-weight:750;border-radius:9px;cursor:pointer;min-height:42px;text-align:center;white-space:normal;box-shadow:none}.hvd-btn:hover{background:#1662b1}.hvd-btn-outline{background:white;color:var(--hvd-blue)!important}.hvd-btn-outline:hover{background:#eaf5ff}.hvd-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}.hvd-back{display:inline-block;margin-bottom:18px;color:var(--hvd-blue)!important;font-weight:700}
.hvd-form{display:flex;flex-direction:column;gap:12px;margin:8px 0}.hvd-field{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:13px;font-weight:650;color:#324c6a}.hvd-field input,.hvd-field select,.hvd-field textarea,.hvd-toolbar input{width:100%;border:1px solid #bfcfdf;border-radius:8px;padding:10px 11px;color:#183550;background:white;line-height:1.45;min-width:0;max-width:none;margin:0}.hvd-field textarea{resize:vertical}.hvd-field input:focus,.hvd-field textarea:focus,.hvd-field select:focus{border-color:#398bd3}.hvd-form>button{align-self:flex-start}.hvd-check{font-size:13px;font-weight:600;color:#314760;display:flex;align-items:center;gap:7px;margin:6px 0}.hvd-check input{min-width:17px;min-height:17px;accent-color:var(--hvd-blue)}.hvd-subpanel{border:1px solid #e4edf7;padding:14px;background:#f7faff;border-radius:11px;display:flex;flex-direction:column;gap:9px}.hvd-subpanel h4{margin:0 0 4px}.hvd-note{border-left:3px solid #4c9cd7;padding:9px 12px;background:#eaf5ff;color:#365b80;font-size:13px}.hvd-toolbar{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.hvd-toolbar>input{flex:1;min-width:175px}.hvd-toolbar .hvd-field{flex:1;min-width:160px}.hvd-toolbar button{margin:0}
.hvd-job-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(130deg,#142d50,#25629c);color:#fff;padding:25px 27px;border-radius:14px;margin-bottom:18px}.hvd-kicker{font-size:11px;letter-spacing:.11em;color:#c9e4ff;font-weight:800}.hvd-job-hero h2{color:#fff;font-size:26px;line-height:1.2;margin:6px 0}.hvd-job-hero p{color:#dceeff;margin:0 0 12px}.hvd-hero-actions{display:flex;flex-wrap:wrap;gap:8px}.hvd-hero-actions .hvd-btn{background:white;color:#164b84!important;border-color:white}.hvd-hero-actions .hvd-btn-outline{background:transparent;color:white!important;border-color:#a4cceb}.hvd-job-hero .hvd-tag{opacity:.95}
.hvd-detail{display:grid;grid-template-columns:1fr;gap:0;margin:0}.hvd-detail>div{display:grid;grid-template-columns:42% 1fr;border-bottom:1px solid #edf1f6;padding:8px 0;gap:5px}.hvd-detail dt{font-size:12px;color:var(--hvd-muted)}.hvd-detail dd{margin:0;font-size:13px;font-weight:650;overflow-wrap:anywhere}.hvd-notes{padding:12px;background:#f5f9fe;border-radius:8px;white-space:normal;overflow-wrap:anywhere}.hvd-signoff{padding:15px;border:1px solid #bad7f0;background:#f5faff;border-radius:10px;display:flex;flex-direction:column;gap:10px}.hvd-signature{touch-action:none;display:block;width:100%;height:auto;max-height:180px;border:2px dashed #8eb9db;background:white;border-radius:8px;cursor:crosshair}.hvd-signoff .hvd-btn{align-self:flex-start}.hvd-sync-indicator{font-size:12px;color:var(--hvd-muted)}
.hvd-part{padding:13px 0;border-top:1px solid var(--hvd-border);display:grid;grid-template-columns:1fr 1fr;gap:15px}.hvd-timeline{border-left:2px solid #dce9f6;padding-left:15px;display:flex;flex-direction:column;gap:14px}.hvd-timeline div{position:relative}.hvd-timeline div:before{content:'';width:8px;height:8px;border-radius:100%;background:#4388ca;position:absolute;left:-20px;top:7px}.hvd-timeline strong{font-size:13px;display:block}.hvd-timeline small{display:block;color:var(--hvd-muted);font-size:11px}.hvd-tabs{display:flex;gap:7px;margin:5px 0 21px}.hvd-tabs a{padding:11px 18px;border:1px solid #d3e3f2;color:#365978;background:white;border-radius:9px;font-weight:750}.hvd-tabs a.active{color:white;background:var(--hvd-blue);border-color:var(--hvd-blue)}
.hvd-warning,.hvd-alert{padding:14px 16px;border-radius:9px;border:1px solid #c9e4fe;background:#eaf5ff;color:#285d92;margin:10px 0 18px}.hvd-alert-error,.hvd-warning{background:#fff3da;border-color:#f3db98;color:#7e5811}.hvd-login{max-width:430px;margin:64px auto;padding:34px;background:white;border-radius:18px;box-shadow:0 15px 40px rgba(20,45,80,.1);border:1px solid #d9e5ef}.hvd-login-logo{width:56px;height:56px;margin-bottom:20px}.hvd-login h2{font-size:26px;margin:0 0 6px;color:var(--hvd-navy)}.hvd-login p{color:var(--hvd-muted);font-size:14px}.hvd-login .hvd-btn{width:100%}.hvd-footer{font-size:12px;color:#8a9cb0;margin-top:28px}
@media (max-width:1050px){.hvd-metrics{grid-template-columns:repeat(2,1fr)}.hvd-main{padding:22px}.hvd-layout{grid-template-columns:180px minmax(0,1fr)}}
@media (max-width:720px){.hvd-top{padding:12px 15px}.hvd-brand strong{font-size:15px}.hvd-account{font-size:12px}.hvd-account a{display:block;margin:2px 0 0}.hvd-layout{display:block;min-height:0}.hvd-sidebar{display:flex;flex-direction:row;overflow:auto;gap:4px;white-space:nowrap;padding:8px;border-bottom:1px solid var(--hvd-border)}.hvd-sidebar a{padding:9px 11px;font-size:12px}.hvd-main{padding:16px 12px}.hvd-metrics{gap:8px}.hvd-stat{padding:14px}.hvd-stat strong{font-size:25px}.hvd-two,.hvd-grid-two{grid-template-columns:1fr;gap:11px}.hvd-panel{padding:16px}.hvd-job-hero{flex-direction:column;align-items:stretch;padding:20px}.hvd-hero-actions .hvd-btn{width:100%}.hvd-part{grid-template-columns:1fr}.hvd-inline-actions .hvd-btn{flex:1}.hvd-head h2{font-size:22px}.hvd-login{margin:22px 12px;padding:24px}.hvd-form>button{width:100%}.hvd-toolbar>button{flex:1}}

/* Technician directory and profile management — v0.3.1 */
.hvd-tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}
.hvd-tech-card{margin-bottom:0;display:flex;flex-direction:column;gap:18px}
.hvd-tech-card-head{display:flex;align-items:center;gap:14px;min-width:0}
.hvd-tech-card-head>div:last-child{min-width:0}
.hvd-tech-card-head h3{margin:0!important;font-size:19px}
.hvd-tech-card-head .hvd-muted{overflow-wrap:anywhere}
.hvd-tech-avatar{display:flex;align-items:center;justify-content:center;flex:none;height:54px;width:54px;border-radius:15px;background:linear-gradient(140deg,#dceeff,#b7d9fb);color:#164f85;font-weight:800;font-size:24px}
.hvd-tech-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;background:#f3f8ff;border-radius:12px;padding:12px}
.hvd-tech-numbers div{min-width:0}.hvd-tech-numbers strong{display:block;color:#142d50;font-size:21px}.hvd-tech-numbers span{display:block;color:#60738c;font-size:11px;line-height:1.4}
.hvd-tech-card .hvd-inline-actions{margin-top:auto}.hvd-tech-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.hvd-tech-summary .hvd-stat{padding:13px}.hvd-tech-summary .hvd-stat strong{font-size:23px}
@media(max-width:650px){.hvd-tech-grid{grid-template-columns:1fr}.hvd-tech-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.hvd-tech-card .hvd-inline-actions{display:grid;grid-template-columns:1fr}.hvd-tech-card .hvd-inline-actions a{width:100%}}

/* v0.3.3: Mobile-first layouts, without horizontal scrolling. */
.hvd-shell,.hvd-layout,.hvd-main,.hvd-panel,.hvd-two,.hvd-grid-two,.hvd-subpanel,.hvd-form,.hvd-table-wrap {min-width:0;max-width:100%;}
.hvd-shell{width:100%;overflow-wrap:anywhere;}
.hvd-shell img,.hvd-shell iframe,.hvd-shell canvas,.hvd-shell video{max-width:100%;}
.hvd-shell :is(input,textarea,select,button){min-width:0;}
.hvd-shell code,.hvd-shell a,.hvd-shell td,.hvd-shell dd{overflow-wrap:anywhere;word-break:normal;}
.hvd-shell input[type=file]{display:block;max-width:100%;width:100%;}
.hvd-table{min-width:0;}
.hvd-tech-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));}
.hvd-main,.hvd-job-hero,.hvd-top{overflow-wrap:anywhere;}
.hvd-account{min-width:0;}
.hvd-brand{min-width:0;}
.hvd-brand>div:last-child{min-width:0;}
.hvd-signature-accepted{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.hvd-signature-preview{width:190px;max-height:76px;object-fit:contain;background:#fff;border:1px solid #b3d3f0;border-radius:8px;padding:6px;}
.hvd-signature-state{display:block;font-size:12px;color:#456583;flex-basis:100%;}
.hvd-signature-error{color:#993520;background:#fff0e8;padding:9px;border-radius:7px;}
.hvd-exception-fields[hidden],.hvd-signature-accepted[hidden],.hvd-signature-preview[hidden]{display:none!important;}

/* Native, keyboard-accessible review dialogs. No extra UI library. */
body.hvd-modal-active{overflow:hidden!important;}
.hvd-dialog[hidden]{display:none!important;}
.hvd-dialog{position:fixed;inset:0;z-index:999999;background:rgba(13,32,54,.7);display:flex;justify-content:center;align-items:center;padding:16px;overflow-y:auto;overscroll-behavior:contain;}
.hvd-dialog-card{background:#fff;width:min(100%,800px);max-width:100%;max-height:calc(100dvh - 32px);overflow-y:auto;padding:22px;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.28);color:#183550;}
.hvd-dialog-header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:15px;}
.hvd-dialog-header h3{color:#142d50!important;font-size:20px;margin:0 0 5px!important;}
.hvd-dialog-header p{margin:0;overflow-wrap:anywhere;}
.hvd-dialog-close{border:1px solid #c7d9eb;border-radius:8px;background:#f1f7ff;color:#142d50;cursor:pointer;width:42px;height:42px;font-size:26px;flex:none;line-height:1;}
.hvd-dialog .hvd-signature{width:100%;height:auto;max-height:none;aspect-ratio:2.8/1;touch-action:none;}
.hvd-report-card{width:min(100%,980px);}
.hvd-pdf-view{background:#dbe5ef;border:1px solid #c4d9eb;padding:8px;border-radius:9px;min-width:0;}
.hvd-pdf-frame{display:block;width:100%;height:min(60dvh,640px);border:none;background:white;}
.hvd-review-confirm{padding:12px;background:#eaf5ff;border-radius:8px;border:1px solid #bddcf8;}
.hvd-report-actions{align-items:stretch;}
.hvd-report-actions form{margin:0;display:flex;flex:1 1 250px;min-width:0;}
.hvd-report-actions form button{width:100%;}
.hvd-report-actions>button{flex:1 1 220px;}
.hvd-report-actions button:disabled{opacity:.5;cursor:not-allowed;}

@media (max-width:800px){
  /* Every job list becomes a vertical stack of full-width cards. */
  .hvd-table-wrap{border:0;background:transparent;overflow:visible;margin:12px 0 20px;}
  .hvd-table,.hvd-table tbody{display:block;width:100%;min-width:0;}
  .hvd-table thead{display:none;}
  .hvd-table tbody tr{display:block;background:white;border:1px solid #d7e6f5;border-radius:12px;margin:0 0 12px;box-shadow:0 2px 8px rgba(20,45,80,.04);overflow:hidden;min-width:0;}
  .hvd-table tbody tr td{display:flex;gap:10px;align-items:start;justify-content:space-between;min-width:0;padding:10px 12px;border-bottom:1px solid #edf3fa;font-size:13px;white-space:normal;}
  .hvd-table tbody tr td:last-child{border-bottom:none;}
  .hvd-table tbody tr td::before{content:attr(data-label);display:block;flex:0 0 38%;font-weight:700;color:#657991;font-size:11px;line-height:1.5;}
  .hvd-table tbody tr td:first-child{display:block;padding:14px 12px;background:#f2f8ff;}
  .hvd-table tbody tr td:first-child::before{display:none;}
  .hvd-table tbody tr td>*{min-width:0;max-width:100%;}
  .hvd-table tbody tr td .hvd-tag{white-space:normal;}
  .hvd-table tbody tr td:last-child a{max-width:100%;}
  .hvd-shell .hvd-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;white-space:normal;gap:5px;padding:10px;}
  .hvd-sidebar a{font-size:12px;min-width:0;overflow-wrap:anywhere;white-space:normal;padding:9px 10px;}
  .hvd-toolbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;}
  .hvd-toolbar>input,.hvd-toolbar .hvd-field,.hvd-toolbar button{width:100%;min-width:0;}
  .hvd-tabs{flex-wrap:wrap;}
  .hvd-tabs a{flex:1;min-width:0;text-align:center;padding:9px;}
  .hvd-detail>div{grid-template-columns:minmax(0,38%) minmax(0,1fr);}
  .hvd-dialog{padding:8px;align-items:center;}
  .hvd-dialog-card{max-height:calc(100dvh - 16px);padding:14px;border-radius:12px;}
  .hvd-pdf-frame{height:50dvh;}
  .hvd-report-actions{display:flex;flex-direction:column;}
  .hvd-report-actions form,.hvd-report-actions>button{flex:auto;width:100%;}
  .hvd-dialog .hvd-inline-actions>.hvd-btn{flex:1 1 auto;}
}
@media (max-width:390px){
  .hvd-main{padding:12px 9px;}
  .hvd-panel{padding:13px;}
  .hvd-job-hero{padding:17px;}
  .hvd-top{gap:8px;}
  .hvd-brand strong{font-size:13px;}
  .hvd-brand span{font-size:9px;}
  .hvd-account{font-size:11px;}
  .hvd-stat{padding:11px;}
}
.hvd-rebuild-option{border-top:1px solid #e7eef6;padding-top:10px;margin-top:14px;}
.hvd-rebuild-option summary{color:#3270ac;font-size:12px;font-weight:700;cursor:pointer;}
.hvd-rebuild-option form{margin-top:9px;}

/* v0.3.5: desktop dispatcher uses all available viewport width, theme-neutral. */
body.hvd-portal-page .content{padding:12px 0;max-width:none;width:100%;}
body.hvd-portal-page .content > .shell,
body.hvd-portal-page .site-content,
body.hvd-portal-page .site-main,
body.hvd-portal-page .entry-content,
body.hvd-portal-page .wp-block-post-content,
body.hvd-portal-page .page-content {
    width:100%;max-width:none;min-width:0;
}
body.hvd-portal-page .content > .shell{padding-inline:clamp(8px,1.2vw,24px);}
body.hvd-portal-page .content article,
body.hvd-portal-page article:has(> .hvd-shell),
body.hvd-portal-page .entry-content:has(.hvd-shell) {
    width:100%;max-width:none;min-width:0;
    padding:0;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent;
}
body.hvd-portal-page .content article > h1 {display:none;}
body.hvd-portal-page .hvd-shell{width:100%;max-width:none;margin:0;}
@media (min-width:1101px){
  body.hvd-portal-page .hvd-layout{grid-template-columns:224px minmax(0,1fr);}
  body.hvd-portal-page .hvd-main{width:100%;min-width:0;padding:clamp(18px,2vw,36px);}
}
@media (max-width:720px){
  body.hvd-portal-page .content{padding:0;}
  body.hvd-portal-page .content > .shell{padding:0;}
  body.hvd-portal-page .hvd-shell{border-radius:0;}
}
