@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-var-latin-Dx4kXJAl.woff2)format("woff2")}@font-face{font-family:Questrial;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/questrial-400-e8YnA9wZ.woff2)format("woff2")}:root{--jfd-red:#e30516;--jfd-gray:#686e7d;--jfd-red-dark:#b10411;--jfd-red-darker:#8a030d;--jfd-red-tint:#fde8ea;--jfd-red-border:#f7b9be;--jfd-red-disabled:#f29ba1;--jfd-gray-50:#f5f6f8;--jfd-gray-100:#e9ebee;--jfd-gray-200:#d7dae0;--jfd-gray-300:#b6bac4;--jfd-gray-400:#8f94a1;--jfd-gray-500:#686e7d;--jfd-gray-600:#535864;--jfd-gray-700:#3f434c;--jfd-gray-800:#2b2e34;--jfd-gray-900:#191b1f;--jfd-green:#16a34a;--jfd-green-dark:#15803d;--jfd-green-bg:#ecfdf5;--jfd-green-border:#bbf7d0;--jfd-bg:var(--jfd-gray-50);--jfd-card:#fff;--jfd-text:var(--jfd-gray-900);--jfd-muted:var(--jfd-gray-500);--jfd-border:var(--jfd-gray-100);--jfd-radius:12px;--jfd-radius-sm:8px;--jfd-radius-pill:999px;--jfd-font-functional:"Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--jfd-font-brand:"Century Gothic", "CenturyGothic", "Questrial", "Trebuchet MS", sans-serif;--jfd-font:var(--jfd-font-functional);--jfd-type-field-body-min:16px;--jfd-type-body:16px;--jfd-type-label:14px;--jfd-type-caption:13px;--jfd-type-data-desktop:13.5px;--jfd-type-data-emphasis:20px;--jfd-type-button:16px;--jfd-type-section-header:20px;--jfd-type-alert:16px;--jfd-type-brand-hero:40px;--jfd-type-brand-header:22px;--jfd-type-app-title:19px;font-family:var(--jfd-font);color:var(--jfd-text)}.jfd-btn{font-family:var(--jfd-font);font-size:var(--jfd-type-button);cursor:pointer;border:none;font-weight:600}.jfd-btn:disabled{cursor:default}.jfd-btn-primary{background:var(--jfd-red);color:#fff;border-radius:var(--jfd-radius-pill);padding:8px 18px}.jfd-btn-primary:hover{background:var(--jfd-red-dark)}.jfd-btn-primary:disabled{background:var(--jfd-red-disabled)}.jfd-btn-secondary{background:var(--jfd-card);color:var(--jfd-text);border:1px solid var(--jfd-border);border-radius:var(--jfd-radius-sm);padding:8px 16px}.jfd-btn-secondary:hover{border-color:var(--jfd-gray-300)}.jfd-btn-outline{background:var(--jfd-card);color:var(--jfd-red);border:2px solid var(--jfd-red);border-radius:var(--jfd-radius-pill);padding:9px 18px}.jfd-btn-outline:hover{background:var(--jfd-red-tint)}.jfd-btn-link{color:var(--jfd-muted);font-size:var(--jfd-type-caption);background:0 0;padding:0;font-weight:400}.jfd-btn-link:hover{color:var(--jfd-text)}.jfd-search{width:100%;font-size:var(--jfd-type-field-body-min);font-family:var(--jfd-font);border:1px solid var(--jfd-border);border-radius:var(--jfd-radius);padding:10px 14px}.jfd-search:focus{outline:2px solid var(--jfd-red-border);border-color:var(--jfd-red-border)}.jfd-filter-chip{border:1px solid var(--jfd-border);background:var(--jfd-card);border-radius:var(--jfd-radius-pill);font-size:var(--jfd-type-caption);font-family:var(--jfd-font);color:var(--jfd-muted);white-space:nowrap;cursor:pointer;padding:4px 12px}.jfd-filter-chip:hover{border-color:var(--jfd-red)}.jfd-filter-chip.active{border-color:var(--jfd-red);color:var(--jfd-text);font-weight:600}.jfd-filter-chip .cnt{opacity:.55;margin-left:2px;font-size:12px}.jfd-filter-chip .dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.jfd-chip{background:var(--jfd-bg);border:1px solid var(--jfd-border);border-radius:var(--jfd-radius-pill);font-size:var(--jfd-type-caption);white-space:nowrap;padding:3px 10px;display:inline-block}.jfd-chip.green{background:var(--jfd-green-bg);border-color:var(--jfd-green-border);color:var(--jfd-green-dark)}.jfd-pill{font-size:var(--jfd-type-caption);border-radius:var(--jfd-radius-pill);white-space:nowrap;background:var(--jfd-bg);color:var(--jfd-muted);border:1px solid var(--jfd-border);padding:2px 10px;font-weight:600;display:inline-block}.jfd-pill.now{background:var(--jfd-red-tint);color:var(--jfd-red);border-color:var(--jfd-red-border)}.jfd-pill.done{background:var(--jfd-green-bg);color:var(--jfd-green);border-color:var(--jfd-green-bg)}.jfd-pill.busy{background:var(--jfd-red-tint);color:var(--jfd-red);border-color:var(--jfd-red-border)}@keyframes jfd-spin{to{transform:rotate(360deg)}}.jfd-spinner{vertical-align:-1px;border:2px solid;border-right-color:#0000;border-radius:50%;width:11px;height:11px;margin-right:6px;animation:.8s linear infinite jfd-spin;display:inline-block}@media (width<=600px){.jfd-doc-row.processing{flex-wrap:wrap}.jfd-doc-row.processing .jfd-doc-main{min-width:120px}.jfd-doc-row.processing .jfd-pill.busy{text-align:left;flex:1 0 100%;margin-top:2px}}.jfd-row-feedback{font-size:var(--jfd-type-caption);white-space:normal;overflow-wrap:anywhere;margin-top:2px;font-weight:600}.jfd-row-feedback.ok{color:var(--jfd-green)}.jfd-row-feedback.fail{color:var(--jfd-red)}.jfd-row-feedback.mixed{color:var(--jfd-muted)}.jfd-queue-row{border-left:3px solid var(--jfd-red);background:var(--jfd-card);border-top:1px solid var(--jfd-border);border-bottom:1px solid var(--jfd-border);border-right:1px solid var(--jfd-border);font-family:var(--jfd-font);border-radius:6px;align-items:center;gap:12px;padding:12px 14px;display:flex}.jfd-queue-row.blocked{border-left-color:var(--jfd-border);opacity:.65}.jfd-queue-row.tappable{cursor:pointer}.jfd-queue-row.tappable:hover{background:var(--jfd-bg)}.jfd-queue-dot{border:2px solid var(--jfd-border);border-radius:50%;flex:none;width:18px;height:18px}.jfd-queue-main{flex:1;min-width:0}.jfd-queue-label{font-weight:600;font-size:var(--jfd-type-field-body-min)}.jfd-doc-item{border-bottom:1px solid var(--jfd-border)}.jfd-doc-item>.jfd-row-feedback{padding:0 4px 8px 34px}.jfd-doc-row{font-size:var(--jfd-type-field-body-min);font-family:var(--jfd-font);align-items:center;gap:10px;padding:9px 4px;display:flex}.jfd-doc-row.na{opacity:.55}.jfd-doc-row.tappable{cursor:pointer}.jfd-doc-row.tappable:hover{background:var(--jfd-bg)}.jfd-doc-status{text-align:center;width:20px;color:var(--jfd-muted);flex:none;font-weight:700}.jfd-doc-row.have .jfd-doc-status{color:var(--jfd-green)}.jfd-doc-main{flex:1;min-width:0}.jfd-doc-label{font-size:var(--jfd-type-field-body-min);color:var(--jfd-text);font-weight:500}.jfd-thumbs{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.jfd-thumb{border-radius:var(--jfd-radius-sm);border:1px solid var(--jfd-border);background:var(--jfd-bg);flex:none;justify-content:center;align-items:center;width:44px;height:44px;text-decoration:none;display:flex;overflow:hidden}.jfd-thumb img{object-fit:cover;width:100%;height:100%}.jfd-thumb .doc{font-size:20px}.jfd-thumb:hover{border-color:var(--jfd-red)}.jfd-doc-row.tappable:focus-visible{outline:2px solid var(--jfd-red);outline-offset:2px}.jfd-done-row{border-bottom:1px solid var(--jfd-border);font-size:var(--jfd-type-body);font-family:var(--jfd-font);align-items:center;gap:10px;padding:10px 4px;display:flex}.jfd-done-check{color:var(--jfd-green);font-weight:700}.jfd-done-label{color:var(--jfd-text)}.jfd-job-row{text-align:left;background:var(--jfd-card);border:1px solid var(--jfd-border);border-radius:var(--jfd-radius);cursor:pointer;width:100%;font-family:var(--jfd-font);font-size:var(--jfd-type-body);border-left:4px solid var(--jfd-border);align-items:center;gap:12px;padding:10px 14px;display:flex}.jfd-job-row:hover{border-color:var(--jfd-gray-300)}.jfd-job-row.health-blocked{border-left-color:var(--jfd-red)}.jfd-job-thumb{border-radius:var(--jfd-radius-sm);object-fit:cover;background:var(--jfd-bg);flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.jfd-job-row-main{flex:1;min-width:0}.jfd-job-row-title{font-weight:600}.jfd-job-row-mid{min-width:0;color:var(--jfd-muted);flex:2.2;align-items:center;font-size:11px;display:flex}.jfd-job-row-mid span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.jfd-job-row-mid .mid-done{text-align:right;color:var(--jfd-green);flex:1;font-weight:600}.jfd-job-row-mid .mid-pipe{opacity:.4;margin:0 8px}.jfd-job-row-mid .mid-next{text-align:left;color:var(--jfd-text);flex:1}.jfd-job-row-side{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.jfd-job-row .pin{opacity:.2;cursor:pointer;align-self:center;margin-left:8px;font-size:15px}.jfd-job-row .pin:hover{opacity:.7}.jfd-job-row .pin.pinned{opacity:1}.jfd-money{background:var(--jfd-bg);font-family:var(--jfd-font);font-variant-numeric:tabular-nums;border-radius:10px;flex-direction:column;gap:8px;max-width:320px;padding:16px;display:flex}.jfd-money-title{letter-spacing:1px;color:var(--jfd-muted);font-size:11px;font-weight:700}.jfd-money-amount{font-size:32px;font-weight:600}.jfd-money-lines{border-top:1px solid var(--jfd-border);flex-direction:column;gap:4px;padding-top:8px;display:flex}.jfd-money-line{font-size:var(--jfd-type-data-desktop);justify-content:space-between;gap:8px;display:flex}.jfd-money-line span:first-child{flex:1}.jfd-money-line.total{border-top:1px solid var(--jfd-border);font-weight:600;font-size:var(--jfd-type-label);padding-top:8px}.jfd-green-text{color:var(--jfd-green);font-weight:600}.jfd-red-text{color:var(--jfd-red);font-weight:600}.jfd-money .muted,.jfd-muted{color:var(--jfd-muted)}.jfd-small{font-size:var(--jfd-type-caption)}.jfd-progress{font-family:var(--jfd-font);padding:12px 4px 4px}.jfd-progress-row{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.jfd-progress-note{color:var(--jfd-green);font-size:var(--jfd-type-label);font-weight:600}.jfd-progress-count{color:var(--jfd-muted);font-size:var(--jfd-type-caption)}.jfd-progress-track{background:var(--jfd-border);border-radius:var(--jfd-radius-pill);height:8px;overflow:hidden}.jfd-progress-fill{background:var(--jfd-green);border-radius:var(--jfd-radius-pill);height:100%;transition:width .4s}.jfd-modal-overlay{z-index:10;background:#191b1f73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.jfd-modal{background:var(--jfd-card);border-radius:var(--jfd-radius);overscroll-behavior:contain;width:min(420px,92vw);max-height:min(85vh,100dvh - 24px);font-family:var(--jfd-font);flex-direction:column;gap:14px;padding:24px;display:flex;overflow-y:auto}.jfd-modal h2{font-size:var(--jfd-type-section-header);margin:0;font-weight:600}.jfd-modal:focus{outline:none}.jfd-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.jfd-modal-close{cursor:pointer;color:inherit;opacity:.55;background:0 0;border:none;margin:-10px;padding:10px;font-size:16px;line-height:1}.jfd-modal-close:hover,.jfd-modal-close:focus-visible{opacity:1}.jfd-option-list{font-family:var(--jfd-font);flex-direction:column;gap:8px;display:flex}.jfd-option-btn{background:var(--jfd-card);border:1px solid var(--jfd-border);border-radius:var(--jfd-radius-sm);font-size:var(--jfd-type-body);font-weight:600;font-family:var(--jfd-font);cursor:pointer;text-align:left;padding:12px 14px}.jfd-option-btn:hover{border-color:var(--jfd-red)}.jfd-option-btn.picked{border-color:var(--jfd-green);background:var(--jfd-green-bg)}.jfd-option-sub{font-size:var(--jfd-type-caption);color:var(--jfd-muted);margin-top:2px;font-weight:400}.jfd-banner{border-radius:var(--jfd-radius);font-weight:600;font-size:var(--jfd-type-alert);font-family:var(--jfd-font);padding:12px 16px}.jfd-banner.error{background:var(--jfd-red-tint);color:var(--jfd-red);border:1px solid var(--jfd-red-border);font-weight:700}.jfd-banner.success{background:var(--jfd-green-bg);color:var(--jfd-green-dark);border:1px solid var(--jfd-green-border)}.jfd-stars-block{font-family:var(--jfd-font);align-items:center;gap:14px;display:flex}.jfd-stars{letter-spacing:3px;color:var(--jfd-red);white-space:nowrap;font-size:26px}.jfd-stars.empty,.jfd-stars .off{color:var(--jfd-border)}.jfd-stars-body{flex:1;min-width:0}.jfd-stars-text{font-size:var(--jfd-type-body);margin-bottom:2px;font-style:italic}.jfd-compliance{background:var(--jfd-green-bg);border:1px solid var(--jfd-green-border);font-family:var(--jfd-font);border-radius:10px;padding:12px 16px}.jfd-compliance-title{color:var(--jfd-green-dark);font-weight:700;font-size:var(--jfd-type-body);margin-bottom:2px}.record-band{border-top:1px solid var(--jfd-border,#e5e7eb);margin-top:8px;padding:8px 0 0}.record-band-item{padding:4px 0 8px}.record-band-title{color:var(--jfd-muted,#6b7280);padding:2px 0 4px;font-size:13px;font-weight:600}@media (width<=600px){.jfd-doc-row{flex-wrap:wrap;row-gap:6px}.jfd-doc-main{min-width:120px}.jfd-doc-row .jfd-pill{order:2}.jfd-doc-row.have:after{content:"";flex-basis:100%;order:3;height:0}.jfd-doc-row.have .jfd-thumbs{order:4;justify-content:flex-start;margin-left:30px}.jfd-doc-row.have>.jfd-small{order:5}.jfd-queue-row{flex-wrap:wrap;row-gap:8px}.jfd-queue-row .jfd-queue-main{flex-basis:calc(100% - 30px)}.jfd-queue-row>.jfd-btn{flex:1 0 auto;min-height:44px;margin-left:30px}.jfd-done-row>.jfd-small{white-space:nowrap}}:root{--bg:var(--jfd-bg);--card:var(--jfd-card);--text:var(--jfd-text);--muted:var(--jfd-muted);--border:var(--jfd-border);--green:var(--jfd-green);--green-bg:var(--jfd-green-bg);--red:var(--jfd-red);--type-insurance:#2563eb;--type-retail:#d97706;--type-hybrid:#7c3aed;--radius:var(--jfd-radius);font-family:var(--jfd-font);color:var(--text)}*{box-sizing:border-box;margin:0}button,input,select,textarea{font-family:inherit}body{background:var(--bg)}.shell{max-width:960px;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));margin:0 auto}.topbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.topbar h1{font-family:var(--jfd-font-brand);font-size:var(--jfd-type-app-title);cursor:pointer;font-weight:400}.gear{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:8px;font-size:20px;line-height:1}.topbar-feed-link,.demo-pack-label,.profile-image-control{display:none}.profile-image-entry{display:contents}.profile-avatar-image{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.profile-image-editor{flex-direction:column;align-items:center;gap:12px;display:flex}.profile-image-preview{border:1px solid var(--border);width:96px;height:96px;color:var(--muted);background:var(--bg);border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.profile-image-preview svg{width:40px;height:40px}.profile-image-hints{color:var(--muted);text-align:center;font-size:12px;line-height:1.5}.profile-image-error{color:var(--red);font-size:12px;line-height:1.4}.profile-image-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.profile-image-actions .jfd-btn{min-height:36px;font-size:13px}.muted{color:var(--muted)}.small{font-size:13px}.italic{font-style:italic}.pad{padding:24px}.green-text{color:var(--green);font-weight:600}.red-text{color:var(--red);font-weight:600}.error-band{color:var(--red);border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;padding:16px}.search{border:1px solid var(--border);border-radius:var(--radius);width:100%;margin-bottom:12px;padding:10px 14px;font-size:15px}.job-list{flex-direction:column;gap:8px;display:flex}.job-row{text-align:left;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;width:100%;font:inherit;border-left:4px solid var(--border);align-items:center;gap:12px;padding:10px 14px;display:flex}.job-row:hover{border-color:#c7cdd6}.job-row.health-blocked{border-left-color:var(--red)}.filter-chip .dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.job-row-mid{min-width:0;color:var(--muted);flex:2.2;align-items:center;font-size:11px;display:flex}.job-row-mid span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.job-row-mid .mid-done{text-align:right;color:var(--green);flex:1;font-weight:600}.job-row-mid .mid-pipe{opacity:.4;margin:0 8px}.job-row-mid .mid-next{text-align:left;color:var(--text);flex:1}@media (width<=640px){.job-row-mid{display:none}}.job-thumb{object-fit:cover;background:var(--bg);border-radius:8px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.job-row-main{flex:1;min-width:0}.job-row-title{font-weight:600}.job-row-side{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.job-card .side-col{grid-area:1/1}.job-card .identity-col{grid-area:1/2}.job-card-nav,.job-card-overview-info,.job-card-photo,.job-client-row,.job-type-control,.job-card-team,.job-card-crew,.job-card-financial-ledger{display:contents}.job-card .header-actions .jfd-btn-secondary{order:0}.job-card .header-actions .header-link{order:1}.job-card .header-actions .jfd-btn-link{order:2}.job-card .job-property-separator,.job-card .job-class-value{color:var(--text)}.job-card .homeowner-address,.job-card .photo-label-short,.job-card .job-module-title,.job-card .job-phone-only{display:none}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.card-header{grid-template-columns:200px minmax(260px,1fr) 280px;gap:20px;padding:20px;display:grid}@media (width<=820px){.card-header{grid-template-columns:200px minmax(0,1fr)}.money-col{grid-column:1/-1}}@media (width<=560px){.card-header{grid-template-columns:1fr}}.side-col{flex-direction:column;gap:10px;display:flex}.photo{object-fit:cover;border-radius:10px;width:200px;height:150px}.photo.placeholder{background:var(--bg);border:1px dashed var(--border);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:24px;display:flex}.photo.placeholder span{font-size:13px}.map-link{color:var(--red);font-size:14px;font-weight:600;text-decoration:none}.side-col .ico{text-indent:0;width:22px;display:inline-block}.side-col .map-link{text-indent:-22px;padding-left:22px}.people{flex-direction:column;gap:10px;display:flex}.people-cell{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;min-width:0;padding:0;display:flex}.people-cell.static{cursor:default}.people-label{color:var(--jfd-gray-400);font-size:11px;font-weight:700}.people-value{font-size:var(--jfd-type-label);color:var(--text);overflow-wrap:break-word;font-weight:500}.people-value.empty{color:var(--muted);font-weight:400}.people-label.missing,.people-value.missing{color:var(--red)}.people-value.missing{font-weight:600}button.people-cell:hover .people-value{text-underline-offset:3px;text-decoration:underline}.people-divider{border-top:1px solid var(--border)}.people-cell-row{align-items:flex-start;gap:6px;display:flex}.people-cell-row .people-cell{flex:1;min-width:0}.people a.crew-link{color:var(--muted);margin-top:13px;text-decoration:none}.people a.crew-link:hover{color:var(--text)}.people a.phone-link{color:var(--text);text-decoration:none}.people a.phone-link:hover{text-underline-offset:3px;text-decoration:underline}.option-btn.picked{border-color:var(--green);background:var(--green-bg)}.identity-col h1{margin-bottom:4px;font-size:26px;font-weight:800;line-height:1.2}.kv{margin-top:6px;font-size:15px}.kv span{color:var(--muted)}.milestones{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.chip{background:var(--bg);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12.5px}.chip.green{background:var(--green-bg);color:#15803d;border-color:#bbf7d0}.money-col{background:var(--bg);border-radius:10px;flex-direction:column;gap:8px;padding:16px;display:flex}.money-title{letter-spacing:1px;color:var(--muted);font-size:11px;font-weight:700}.money-amount{font-size:32px;font-weight:800}.money-lines{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding-top:8px;display:flex}.money-line{justify-content:space-between;gap:8px;font-size:13.5px;display:flex}.money-line span:first-child{flex:1}.money-line.total{border-top:1px solid var(--border);padding-top:8px;font-size:14px;font-weight:700}.queue-section{border-top:1px solid var(--border);padding:16px 20px}.queue-heading{letter-spacing:1px;color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:700}.queue-heading.next{color:var(--red);font-size:18px;font-weight:700}.start-record-strip{flex-wrap:wrap;justify-content:center;gap:8px;padding:0 0 10px;display:flex}.start-record-strip .jfd-btn{padding:4px 14px;font-size:12.5px}.queue-row{border-left:3px solid var(--red);border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:#fff;border-radius:6px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.queue-row.blocked{border-left-color:var(--border);opacity:.65}.queue-dot{border:2px solid var(--border);border-radius:50%;flex:none;width:18px;height:18px}.queue-main{flex:1;min-width:0}.queue-label{font-size:15px;font-weight:600}.do-it{background:var(--red);color:#fff;cursor:pointer;border:none;border-radius:999px;flex:none;padding:8px 18px;font-size:13.5px;font-weight:700}.do-it:hover{background:#b91c1c}.header-actions{flex-direction:column;align-items:flex-end;gap:6px;margin-bottom:10px;display:flex}.change-job{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600}.change-job:hover{border-color:#c7cdd6}.header-link{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:6px 0;font-family:inherit;font-size:13px;text-decoration:none}.header-link:hover{color:var(--text)}.chip-status{text-align:center;width:20px;color:var(--muted);flex:none;font-weight:700}.chip-row.have .chip-status{color:var(--green)}.chip-main{flex:1;min-width:0}.chip-label{color:var(--text);font-size:14px;font-weight:500}.thumbs{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.thumb{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb-doc{font-size:20px}.thumb:hover{border-color:var(--red)}.card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.link{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:none}.error-band.slim{border-radius:var(--radius) var(--radius) 0 0;border-top:none;border-left:none;border-right:none}.notice-band{background:var(--green-bg);color:#15803d;border-radius:var(--radius) var(--radius) 0 0;border-bottom:1px solid #bbf7d0;padding:10px 16px;font-size:14px;font-weight:600}.do-it:disabled{cursor:default;background:#fca5a5}.option-list{flex-direction:column;gap:8px;display:flex}.option-btn{background:var(--card);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:8px;padding:12px 14px;font-size:15px;font-weight:600}.option-btn:hover{border-color:var(--red)}.option-sub{color:var(--muted);margin-top:2px;font-size:13px;font-weight:400}.queue-row.tappable{cursor:pointer}.queue-row.tappable:hover{background:var(--bg)}.done-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 4px;font-size:14px;display:flex}.done-check{color:var(--green);font-weight:700}.done-label{color:var(--text)}.done-pill{background:var(--green-bg);color:var(--green);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.state-pill{background:var(--bg);color:var(--muted);white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.state-pill.now{color:var(--red);background:#fef2f2;border-color:#fecaca}.chip-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 4px;font-size:14px;display:flex}.chip-row.na{opacity:.55}.chip-row.tappable{cursor:pointer}.chip-row.tappable:hover{background:var(--bg)}.other-docs{margin-top:6px}.other-docs summary{cursor:pointer;color:var(--text);border:1px solid var(--border);background:var(--bg);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 8px;font-size:15px;font-weight:600;list-style:none;display:flex}.other-docs summary:hover{border-color:var(--red)}.other-docs summary:focus-visible{outline:2px solid var(--red);outline-offset:2px}.other-docs summary:before{content:"▸";color:var(--red);margin-right:10px;font-size:20px;line-height:1}.other-docs[open] summary:before{content:"▾"}.other-docs summary::-webkit-details-marker{display:none}.upload-result{flex-direction:column;gap:8px;padding:12px 20px 14px;display:flex}.open-job{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.open-job-name{color:var(--text);overflow-wrap:anywhere;min-width:0;font-weight:600}.docs-glimpse{align-items:center;gap:5px;display:flex}.docs-glimpse img,.docs-glimpse .doc{object-fit:cover;background:var(--bg);border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;display:inline-flex}.glimpse-more{color:var(--muted);font-size:11px}.progress-wrap{padding:12px 4px 4px}.progress-row{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.progress-note{color:var(--green);font-size:13px;font-weight:700}.progress-track{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:var(--green);border-radius:999px;height:100%;transition:width .4s}.filter-row{scrollbar-width:none;gap:6px;margin:10px 0 12px;padding-bottom:2px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-chip{border:1px solid var(--border);background:var(--card);color:var(--muted);white-space:nowrap;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:13px}.filter-chip:hover{border-color:var(--red)}.filter-chip.active{border-color:var(--red);color:var(--text);font-weight:600}.filter-chip .cnt{opacity:.55;margin-left:2px;font-size:12px}.job-row .pin{opacity:.2;cursor:pointer;align-self:center;margin-left:8px;font-size:15px}.job-row .pin:hover{opacity:.7}.job-row .pin.pinned{opacity:1}.date-input{border:1px solid var(--border);border-radius:8px;width:100%;margin-bottom:12px;padding:10px 12px;font-size:15px}.chip-files .do-it{padding:4px 12px;font-size:12px}.closed-row{align-items:center;gap:16px;padding:8px 4px;display:flex}.compliance-banner{background:var(--green-bg);border:1px solid #bbf7d0;border-radius:10px;flex:1;padding:12px 16px}.compliance-title{color:#15803d;margin-bottom:2px;font-size:15px;font-weight:700}.closed-row>.muted{flex:1}.warranty-btn{background:var(--card);color:var(--red);border:2px solid var(--red);cursor:pointer;border-radius:999px;flex:none;padding:9px 18px;font-size:13.5px;font-weight:700}.warranty-btn:hover{background:#fef2f2}.review-section{border-top:1px solid var(--border);padding:16px 20px}.review-block{align-items:center;gap:14px;display:flex}.stars{letter-spacing:3px;color:#f59e0b;white-space:nowrap;font-size:26px}.stars.empty,.stars-off{color:var(--border)}.review-body{flex:1;min-width:0}.review-text{margin-bottom:2px;font-size:15px;font-style:italic}.review-block .do-it{margin-left:auto}.review-block .warranty-btn.ask-again{color:var(--muted);border-color:var(--border);margin-left:auto}.settings-overlay{z-index:10;background:#11182773;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings{background:var(--card);border-radius:var(--radius);overscroll-behavior:contain;flex-direction:column;gap:14px;width:min(420px,92vw);max-height:85vh;padding:24px;display:flex;overflow-y:auto}.settings label{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.settings input{border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px}.photo-wrap{width:200px;position:relative}.clickable{cursor:pointer}.photo-wrap.clickable:hover .photo,.photo.placeholder.clickable:hover{outline:2px solid var(--red);outline-offset:2px}.sv-badge{color:#fff;text-align:center;background:#111827b8;border-radius:6px;padding:3px 8px;font-size:10.5px;position:absolute;bottom:6px;left:6px;right:6px}.photo-edit-ico{background:#111827b8;border-radius:6px;padding:4px 6px;font-size:13px;line-height:1;position:absolute;bottom:6px;right:6px}.photo-entry:focus-visible{outline:2px solid var(--red);outline-offset:2px}.photo-entry[aria-disabled=true]{cursor:default}.segment-pick{font:inherit;color:var(--text);cursor:pointer;border:none;border-bottom:1px dashed var(--border);background:0 0;padding:0 2px;font-weight:600}.segment-pick.empty{color:var(--red)}.segment-pick:hover{border-bottom-color:var(--text)}.topbar-actions{align-items:center;gap:8px;display:flex}.demo-packs{flex-direction:column;gap:12px;padding:16px;display:flex}.demo-pack-row{border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.demo-pack-title{font-weight:600}.jfd-lightbox-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:70vh;margin:0 auto;display:block}.lightbox-fallback{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.card-footer .jfd-btn-link{padding:10px 0}@media (width<=640px){.job-card-view .topbar h1,.job-card-view .settings-button{display:none}.job-card-view .topbar-feed-link{align-items:center;min-height:36px;display:inline-flex}.job-card-view .demo-pack-button{align-items:center;gap:3px;padding:8px 4px;display:inline-flex}.job-card-view .demo-pack-label{font-size:9px;font-weight:400;display:inline}.job-card-view .profile-image-control{border:1px solid var(--border);width:36px;height:36px;color:var(--muted);background:var(--card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;overflow:hidden}.job-card-view .profile-image-control svg{width:20px;height:20px}.job-card{margin-bottom:calc(72px + env(safe-area-inset-bottom,0px));background:0 0;border:0;border-radius:0;grid-template-columns:80px repeat(2,minmax(0,1fr));gap:6px;display:grid}.job-card:before{content:"";background:var(--card);border:1px solid var(--border);border-radius:8px;grid-area:1/1/span 2/-1}.job-card .card-header,.job-card .identity-col,.job-card .side-col,.job-card .people,.job-card .job-card-overview-info{display:contents}.job-card .identity-col h1,.job-card .homeowner-icon,.job-card .milestones,.job-card .job-desktop-only{display:none}.job-card .job-phone-only{display:block}.job-card .identity-col .job-phone-title{z-index:1;overflow-wrap:anywhere;grid-area:1/2/auto/-1;align-self:center;min-width:0;margin:6px 8px 0 0;font-size:12px;font-weight:600;line-height:1.3;display:block}.job-card .job-navigate{z-index:1;min-height:36px;color:var(--text);border:1px solid var(--border);border-radius:6px;grid-area:2/3;justify-content:center;align-items:center;margin:0 8px 6px 0;font-size:12px;font-weight:600;text-decoration:none;display:flex}.job-card .job-card-photo{display:contents}.job-card .photo-entry{aspect-ratio:1;z-index:1;border-radius:8px;grid-area:1/1/span 2;width:72px;height:72px;min-height:0;margin:6px 0 6px 8px;position:relative;overflow:hidden}.job-card .photo-wrap .photo{height:100%;position:absolute;inset:0}.job-card .photo{aspect-ratio:1;object-fit:cover;object-position:center;width:72px;height:72px;display:block}.job-card .photo.placeholder{height:72px;font-size:18px;display:flex}.job-card .photo.placeholder>span{padding:0 6px;font-size:11px;line-height:1.3}.job-card .photo.placeholder>span,.job-card .sv-badge{overflow-wrap:anywhere}.job-card .photo.placeholder .photo-label-short{font-size:inherit}.job-card .photo-label-full{display:none}.job-card .photo-label-short{font-size:inherit;display:inline}.job-card .map-link{z-index:1;text-indent:0;min-height:32px;color:var(--text);border:1px solid var(--border);border-radius:6px;grid-area:2/2;justify-content:center;align-self:stretch;align-items:center;margin:0 0 6px;padding:4px 6px;font-size:11px;display:flex}.job-card .map-link .ico{width:auto;margin-right:4px}.job-card :is(.job-card-homeowner,.job-card-details,.job-card-team,.job-card-crew,.job-card-insurance,.job-card-supplier,.money-col,.queue-section,.review-section){background:var(--card);border:1px solid var(--border);border-radius:8px;grid-column:1/-1;min-width:0;padding:8px 10px}.job-card :is(.job-card-homeowner,.job-card-details,.job-card-team,.job-card-crew,.job-card-insurance,.job-card-supplier){padding-block:6px}.job-card .job-module-title{color:var(--muted);border-bottom:1px solid var(--border);margin:0 0 3px;padding-bottom:5px;font-size:12px;font-weight:600;line-height:1.35;display:block}.job-card .job-card-homeowner{order:50;font-size:13px;line-height:1.35}.job-card .job-client-row{grid-template-columns:112px minmax(0,1fr);align-items:center;column-gap:8px;min-height:24px;padding:0;display:grid}.job-card .job-client-row>.job-phone-only{font-size:11px}.job-card .job-client-row.job-desktop-only{display:none}.job-card .homeowner-name{color:var(--text);overflow-wrap:anywhere;font-weight:500}.job-card .homeowner-address{color:var(--text);overflow-wrap:anywhere;display:block}.job-card .job-card-details{flex-direction:column;order:100;gap:0;display:flex}.job-card .job-card-details>.job-module-title{order:0}.job-card .kv,.job-card .job-type-control,.job-card .job-property-class{grid-template-columns:112px minmax(0,1fr);align-items:center;gap:0 8px;min-height:26px;margin:0;font-size:13px;line-height:1.35;display:grid}.job-card .kv>span:first-child,.job-card .job-meta-label,.job-card .job-property-class>.job-phone-only,.job-card .job-permit>.job-phone-only{font-size:11px}.job-card .job-type{display:contents}.job-card .job-type-control{order:1}.job-card .job-property-class{order:2}.job-card .job-property-separator{display:none}.job-card .job-pipeline{order:3}.job-card .job-stage{order:4}.job-card .job-stage b{color:var(--muted);overflow-wrap:anywhere;font-size:13px;font-weight:400}.job-card .job-permit{order:5}.job-card .job-card-details>.small{display:none}.job-card .segment-pick{width:fit-content;min-width:0;max-width:100%;min-height:26px;padding:2px 0;font-size:13px}.job-card .job-card-team{order:110;display:block}.job-card .job-card-crew{order:80;display:block}.job-card .job-card-insurance{order:70}.job-card .job-card-supplier{order:90}.job-card .people-cell,.job-card .job-contact-details>div{grid-template-columns:112px minmax(0,1fr);align-items:center;column-gap:8px;width:100%;min-height:24px;padding:0;display:grid}.job-card .people-cell.job-desktop-only{display:none}.job-card .people-label,.job-card .job-contact-details dt{color:var(--muted);font-size:11px;font-weight:400;line-height:1.35}.job-card .people-label:after{content:":"}.job-card .people-label .job-phone-only{display:inline}.job-card .people-label.missing{color:var(--red)}.job-card .people-value,.job-card .job-contact-details dd{overflow-wrap:anywhere;font-size:13px;line-height:1.35}.job-card .people-value.muted,.job-card .job-contact-details dd{color:var(--muted)}.job-card .people-divider{display:none}.job-card .people-cell-row{align-items:center;min-width:0}.job-card .people a.crew-link{display:none}.job-card .contact-actions{grid-template-columns:1.65fr 1fr 1fr;gap:6px;padding-top:4px;display:grid}.job-card .contact-actions :is(a,button){border:1px solid var(--border);background:var(--card);min-width:0;min-height:32px;color:var(--text);text-align:center;border-radius:6px;justify-content:center;align-items:center;padding:4px 6px;font-size:11px;font-weight:600;line-height:1.3;text-decoration:none;display:flex}.job-card .contact-actions button:disabled{background:var(--bg);color:var(--muted);cursor:default}.job-card .homeowner-actions{grid-template-columns:1fr 1fr .8fr}.job-card .homeowner-actions>:last-child{background:0 0;border-color:#0000}.job-card .job-claim-status select{border:1px solid var(--border);background:var(--card);min-width:0;max-width:100%;min-height:26px;color:var(--muted);font:inherit;border-radius:6px;padding:3px 6px;font-size:13px}.job-card .job-claim-status select:disabled{opacity:1}.job-card .job-deductible{border-bottom:1px solid var(--border);padding:3px 0}.job-card .job-deductible-row{justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:500;display:flex}.job-card .job-deductible-row>:first-child{color:var(--muted)}.job-card .job-deductible-flag{border-radius:6px;padding:2px 6px;font-size:11px}.job-card .job-deductible-flag.received{color:var(--green);background:var(--green-bg)}.job-card .job-deductible-flag.not-received{color:var(--red);background:var(--jfd-red-tint)}.job-card .job-deductible>.muted{margin-top:2px;font-size:10px;line-height:1.35}.job-card .money-col{order:120;gap:2px;padding:6px 10px}.job-card .money-col>.job-module-title{margin-bottom:2px;padding-bottom:4px}.job-card .header-actions{order:5;margin:2px 0 0}.job-card .header-link{display:none}.job-card .original-contract{justify-content:space-between;gap:10px;font-size:13px;font-weight:400;line-height:1.35;display:flex}.job-card .original-contract>:first-child{color:var(--muted);font-size:11px}.job-card .job-card-financial-ledger{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;min-width:0;display:grid}.job-card .current-contract-label{color:var(--muted);grid-area:1/1;align-self:center;font-size:11px;line-height:1.35}.job-card .jfd-money{display:contents}.job-card .jfd-money-title{display:none}.job-card .jfd-money-amount{text-align:right;grid-area:1/2;font-size:13px;font-weight:600;line-height:1.35}.job-card .jfd-money>:not(.jfd-money-title,.jfd-money-amount){grid-column:1/-1;min-width:0;font-size:11px;line-height:1.35}.job-card .jfd-money-lines{gap:2px;padding-top:2px}.job-card .jfd-money-line{align-items:center;gap:8px;min-height:20px;font-size:11px;line-height:1.35}.job-card .jfd-money-line>span:first-child{overflow-wrap:anywhere;min-width:0}.job-card .jfd-money-line .jfd-small{font-size:10px}.job-card .jfd-money-line.total{padding-top:2px;font-size:11px;font-weight:500}.job-card .queue-section{order:30}.job-card .queue-heading.next{margin-bottom:6px;font-size:13px}.job-card .jfd-queue-row{grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.job-card .jfd-queue-dot{width:14px;height:14px}.job-card .jfd-queue-row>.jfd-btn{border-radius:8px;min-width:64px;max-width:100px;min-height:44px;margin:0;padding:8px 12px;font-size:13px}.job-card .jfd-queue-main{min-width:0}.job-card .jfd-queue-label,.job-card .jfd-doc-label{overflow-wrap:anywhere;font-size:13px;line-height:1.35}.job-card .other-docs{margin-top:6px}.job-card .other-docs summary{min-height:36px;padding:6px 10px;font-size:12px}.job-card .review-section{order:130}.job-card>:is(.upload-result,.error-band){order:29;grid-column:1/-1}.job-card>.jfd-progress{order:140;grid-column:1/-1}.job-card .card-footer{display:none}.job-card-nav{z-index:5;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--border);align-items:stretch;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #191b1f0f}.job-card-nav>.jfd-btn{border-radius:8px;flex:1;justify-content:center;align-items:center;min-width:0;min-height:44px;padding:8px;font-size:13px;font-weight:600;line-height:1.35;display:flex}.job-card-nav>.jfd-btn-secondary{background:var(--jfd-gray-900);border-color:var(--jfd-gray-900);color:#fff}.job-card-nav>.jfd-btn-secondary:hover{background:var(--jfd-gray-700);border-color:var(--jfd-gray-700)}.job-card-nav>.jfd-btn-link{color:var(--text);border:1px solid var(--border);text-decoration:none}.job-card-nav>.jfd-btn-link:hover{background:var(--bg);border-color:var(--jfd-gray-300)}.job-card :is(button,a,select,input,summary,[tabindex]){scroll-margin-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.job-row{flex-wrap:wrap;row-gap:6px}.job-row-title{font-size:13px;font-weight:600;line-height:1.3}.job-row-main>.muted{font-size:13px;line-height:1.4}.job-row-side>.small{font-size:12px;line-height:1.4}.job-row-side{flex-direction:row;flex:1 0 100%;order:9;align-items:center;gap:8px;padding-left:60px}}@media (width<=560px){.photo-wrap,.photo{width:100%}.photo,.photo.placeholder{aspect-ratio:4/3;height:auto}}
