.jobDetails{box-sizing:border-box;border:1px solid #ddd;border-radius:10px;padding:0;background:#fff;color:#292b2d;width:min(680px,calc(100% - 20px));max-height:92dvh;overflow:auto;font:15px system-ui,-apple-system,sans-serif}.jobDetails::backdrop{background:#0007}.jobDetails *{box-sizing:border-box}.jobDetails header{position:sticky;top:0;z-index:2;background:#303234;color:#fff;padding:10px 16px;display:flex;align-items:center;justify-content:space-between}.jobDetails h2{font-size:20px;margin:0;color:inherit}.jobDetails main,.jobDetails form{padding:16px}.jobDetails h3{font-size:22px;margin:0}.jobDetails p{margin:7px 0;line-height:1.4}.jobDetails button{cursor:pointer;font:inherit;border:0;background:transparent;color:inherit;padding:9px 4px;min-height:42px;text-align:left}.jobDetails .jobClose{font-size:30px;padding:0;width:44px;text-align:center;color:#fff}.jobDetails button:disabled{opacity:.5}.jobDetails button:focus-visible,.jobDetails summary:focus-visible{outline:2px solid #666;outline-offset:2px}.jobIdentity{margin-bottom:16px}.jobActions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.jobActions button{font-size:14px}.jobSection{border:1px solid #d9dadd;border-radius:8px;margin:12px 0;overflow:hidden}.jobSection summary{padding:13px 14px;font-size:17px;font-weight:600;cursor:pointer}.jobSectionBody{padding:0 14px 12px}.jobTotal{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.jobTotal strong{font-size:17px}.jobExpense{border-top:1px solid #e6e6e6;padding-top:12px;margin-top:12px}.jobMuted{color:#6d7278;font-size:13px}.jobStatus:empty{display:none}.jobStatus{padding:5px 16px;color:#474c50;font-size:14px;white-space:pre-wrap}.jobDetails label{display:block;font-size:14px;margin:0 0 14px;color:#484d52}.jobDetails input,.jobDetails textarea,.jobDetails select{display:block;width:100%;border:1px solid #ccc;border-radius:6px;background:#fff;color:#292b2d;padding:10px;font:16px system-ui;margin-top:5px;min-height:44px}.jobDetails textarea{min-height:75px}.jobDetails .jobPrimary{background:#303234;color:#fff;border-radius:6px;padding:10px 18px;text-align:center}.jobDetails .jobDelete{color:#ad3333}.jobGallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.jobGallery figure{margin:0;min-width:0}.jobGallery figcaption{font-size:12px;line-height:1.4;margin-top:6px}.jobDetails .jobThumbnail{display:block;width:100%;padding:0;border-radius:6px;overflow:hidden;background:#f2f2f2;min-height:100px}.jobThumbnail img{display:block;width:100%;height:150px;object-fit:cover}.jobPreview{width:100%;max-height:220px;object-fit:contain;margin-bottom:14px}.jobFullPhoto{width:100%;max-height:60dvh;object-fit:contain}.jobForm{max-width:460px}.signedEstimateActions .jobOpenButton{font:500 12px system-ui!important;width:auto!important;min-width:0!important;padding:6px!important;white-space:nowrap;background:transparent!important;border:0!important}.signedEstimateActions{flex-wrap:wrap}@media(max-width:480px){.jobDetails{width:100%;max-height:100dvh;height:100dvh;max-width:100%;border:0;border-radius:0;margin:0}.jobDetails header{padding-top:max(10px,env(safe-area-inset-top))}.jobDetails main,.jobDetails form{padding:14px;padding-bottom:max(18px,env(safe-area-inset-bottom))}.jobForm{height:auto;max-height:94dvh;margin:auto 0 0;border-radius:12px 12px 0 0}.jobThumbnail img{height:125px}}
html body dialog.jobDetails,html body dialog.jobDetails>main,html body dialog.jobDetails>form{background:#fff!important;color:#292b2d!important}html body dialog.jobDetails .jobSection{border-radius:8px!important;background:#fff!important}html body dialog.jobDetails input,html body dialog.jobDetails select,html body dialog.jobDetails textarea,html body dialog.jobDetails .jobThumbnail,html body dialog.jobDetails .jobPrimary{border-radius:6px!important}html body dialog.jobDetails>header{background:#303234!important;color:#fff!important}html body dialog.jobDetails .jobStatus{margin:0!important}html body dialog.jobDetails .jobStatus:not(:empty){padding:8px 16px!important}
/* Dedicated Jobs page retains the app's existing scrollable top navigation. */
#jobFolderDirectory{padding-bottom:30px}.jobFolderTools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:8px 0 16px}.jobFolderTools input{flex:1;min-width:170px}.jobFolderTools input,.jobFolderTools select{font:16px system-ui;padding:11px;border:1px solid #d9dce0;background:#fff;color:#303234;border-radius:6px!important}.jobFolderTools button{border:0;background:transparent;color:#41464c;padding:10px;font:14px system-ui;cursor:pointer}.jobFolderCards{display:grid;gap:12px}.jobFolderCard{width:100%;text-align:left;border:1px solid #d9dce0!important;border-radius:8px!important;background:#fff!important;color:#292b2d!important;padding:16px!important;font:15px system-ui;cursor:pointer}.jobFolderCardTop{display:flex;gap:12px;align-items:center}.jobFolderCardTop>div{flex:1;min-width:0}.jobFolderCardTop strong,.jobFolderCardTop .jobMuted{display:block;overflow-wrap:anywhere}.jobFolderCardTop strong{font-size:17px}.jobBadge{font-size:11px;white-space:nowrap;padding:5px 7px;background:#f0f2f4;border-radius:6px!important}.jobFolderCardBottom{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #eee;margin-top:14px;padding-top:11px;font-size:13px;color:#626870}.jobFolderCard small{display:block;margin-top:8px;color:#737980}.jobDetails.jobFolder{width:100%;max-width:none;max-height:none;height:auto;margin:0;border:0;border-radius:0!important;overflow:visible;background:#fff!important}.jobFolder>header{position:static;border-radius:7px 7px 0 0!important}.jobFolder>header button{color:#fff!important}.jobFolder>main{background:#fff!important;border:1px solid #e1e3e5;border-top:0;border-radius:0 0 8px 8px!important}.jobFolder .jobIdentity select{width:auto;max-width:100%;font-size:14px;padding:6px 10px;min-height:36px;margin:10px 0}.jobOverview{border-top:1px solid #e3e5e7;border-bottom:1px solid #e3e5e7;padding:16px 0;margin-bottom:20px}.jobDetails .jobOverview h3{font-size:18px}.jobMetrics{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;margin:16px 0}.jobMetrics span,.jobMetrics strong{display:block}.jobMetrics span{font-size:12px;color:#68717a;margin-bottom:4px}.jobMetrics strong{font-size:18px;font-weight:550}.jobOverview progress{width:100%;height:8px;accent-color:#616d79}.jobRefresh{font-size:13px!important}.jobDetails .jobFolderTitle{font-size:18px;margin-bottom:8px}.jobFileRow{display:flex;width:100%;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e5e7!important;padding:15px 2px!important;font-size:15px!important;gap:12px}.jobFileRow>span:first-child{flex:1;text-align:left}.jobFileRow .jobFileIcon{display:inline-flex;flex:none}.jobDetails .jobBack{margin-bottom:14px;color:#575f68;font-size:14px}.jobFolder .jobSection{background:#fff!important;border-radius:8px!important}.jobFolder input,.jobFolder select,.jobFolder textarea,.jobFolder .jobThumbnail{border-radius:6px!important}.jobFolder .jobSectionBody>select{margin-top:10px}
html body .jobFolder>header h2{color:#fff!important}html body .jobFolder progress{appearance:none;-webkit-appearance:none;border:0;border-radius:5px!important;overflow:hidden;background:#e4e7eb}html body .jobFolder progress::-webkit-progress-bar{background:#e4e7eb}html body .jobFolder progress::-webkit-progress-value{background:#687580}html body .jobFolder progress::-moz-progress-bar{background:#687580}.jobFileRow svg{width:19px;height:19px;flex:none;margin-right:10px;vertical-align:middle}.jobFileRow>span:first-child{display:flex;align-items:center}

html body .jobFolder .jobStatusButtons{display:flex;gap:5px;margin-top:12px}html body .jobFolder .jobStatusButtons button{flex:1;min-width:0;min-height:38px;padding:8px 5px!important;border:1px solid #d4d8dc!important;border-radius:6px!important;background:#fff!important;color:#626971!important;font:500 12px system-ui!important;text-align:center;white-space:nowrap}html body .jobFolder .jobStatusButtons button[aria-pressed="true"]{background:#e7e9ec!important;color:#292d32!important;border-color:#9da5ad!important;font-weight:650!important}
html body .jobFolder .jobStatusButtons button[aria-pressed="true"]{background:#303438!important;color:#fff!important;border-color:#303438!important}html body .jobFolder .jobStatusButtons button[aria-pressed="true"]::before{content:'✓ ';font-weight:700}

.jobFinancialSummary{margin-top:14px}.jobFinancialSummary>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:14px}.jobFinancialSummary strong{white-space:nowrap;font-weight:550}.jobFinancialSummary .jobBalance{border-top:1px solid #d9dce0;margin-top:9px;padding-top:15px;font-size:17px;font-weight:650}.jobFinancialSummary .jobBalance strong{font-size:23px;font-weight:650}
/* Keep native mobile search and status controls aligned. */
html body .jobFolderTools input[type="search"],html body .jobFolderTools select{box-sizing:border-box!important;height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;padding:0 11px!important;font:16px system-ui!important;line-height:normal!important;border:1px solid #d9dce0!important;border-radius:6px!important}

.jobDetails .jobFolderDelete{font-size:13px;margin-top:20px;padding:10px 2px}

.jobDetails .jobFolderArchive{display:block;font-size:14px;margin-top:18px;padding:10px 2px}

#jobFolderDirectory .jobLoadMore{display:block;margin:16px auto 0;padding:10px 16px;min-height:44px;border:1px solid #d9dce0;border-radius:6px!important;background:#fff;color:#41464c;font:14px system-ui;cursor:pointer}

/* Customer identity belongs to the compact folder header. */
html body .jobFolder>header.jobFolderHeader{position:static!important;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;height:auto!important;min-height:0!important;padding:10px 14px 16px!important;background:#303234!important;color:#fff!important}
html body .jobFolderHeader .jobFolderBack{width:auto;min-height:36px;padding:4px 0!important;margin:0 0 8px;font:400 14px system-ui!important;color:#e1e3e5!important}
html body .jobFolderHeader .jobFolderCustomer{margin:0!important;padding:0;font:650 22px/1.25 system-ui!important;text-align:left;overflow-wrap:anywhere;color:#fff!important}
html body .jobFolderHeader .jobFolderProject{margin:5px 0 0!important;padding:0;font:400 15px/1.4 system-ui!important;color:#d9dde1!important;overflow-wrap:anywhere}
html body .jobFolderHeader .jobFolderProject[hidden]{display:none!important}
html body .jobFolder .jobIdentity:empty{display:none}
html body .jobFolder .jobIdentity>.jobStatusButtons{margin-top:0}

/* Compact folder actions, separated left and right with comfortable tap targets. */
html body .jobFolder .jobFolderActions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
html body .jobFolder .jobFolderActions>button{width:auto;min-width:0;min-height:44px;margin:0!important;padding:10px 2px!important;font-size:13px;line-height:1.3}
html body .jobFolder .jobFolderActions>.jobFolderDelete{text-align:right;color:#ad3333!important}
html body .jobFolder>main{padding-bottom:12px!important}

/* Contact shortcuts belong only to an opened folder, beside its customer identity. */
html body .jobFolderContactRow{display:flex;width:100%;align-items:center;gap:10px}
html body .jobFolderHeading{flex:1;min-width:0}
html body .jobFolderContactActions{display:flex;gap:2px;flex-shrink:0}
html body .jobFolderContactActions[hidden]{display:none!important}
html body .jobFolderHeader a.jobFolderContact{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;color:#f0f1f2!important;background:transparent;text-decoration:none;border:0}
html body .jobFolderContact svg{width:20px;height:20px}
html body .jobFolderContact:focus-visible{outline:2px solid #d9dde1;outline-offset:-3px;border-radius:6px}
