/* Stronger contrast, one Navigator, and readable split panes on phones. */
:root{--workspace-nav-height:0px;--workspace-top:calc(var(--header-height) + var(--job-header-height));--ink:#15273d;--accent:#b51939;--border:#8fa4ba;--bg:#edf1f6}
body{color:#15273d}button,.button,.filebtn{border-color:#8fa4ba;color:#233d58}button.primary,.button.primary{background:#b51939;border-color:#b51939;color:#fff}button.primary:hover{background:#97142f}
input,select,textarea{border-color:#829ab2;color:#15273d;background:#fff}input::placeholder,textarea::placeholder{color:#52667b;opacity:1}input:focus,select:focus,textarea:focus{outline:2px solid #b51939;outline-offset:1px}
label{color:#243f5b}.muted,.job-id,.job-description,.asset-location,.asset-reference-line,.asset-breadcrumb{color:#42586f}
dialog{border-color:#718aa4;box-shadow:0 16px 50px #15273d33}dialog::backdrop{background:#15273d80}.modalhead{border-bottom-color:#91a7bd}.form-message{color:#9e2032}
.status-choice,.report-form-section,.export-option,.saved-report-row,.asset-reference-summary,.client-profile>div{background:#edf2f7;border-color:#94aac1}.status-choice:has(input:checked){background:#f6dfe6;border-color:#b51939}.status-choice small,.export-option p,.asset-reference-summary dt,.asset-remarks-editor summary,.report-form-section label,.saved-report-row small{color:#374f68}
.job-status-badge.new,.asset-status{background:#dbe6f7;color:#193b72}.job-status-badge.in_progress,.is-follow-up .asset-status{background:#ffe8b3;color:#6b4300}.job-status-badge.completed,.is-completed .asset-status{background:#cfeedd;color:#105338}
.unified-layout>.job-header{top:var(--header-height);padding:12px 22px;border-bottom:2px solid #9baec2}.unified-layout>.job-header h1{color:#14273d}.unified-layout>.job-header .job-id{font-size:13px;color:#42586f}.job-reference-label{font-size:14px;color:#9e1b36;font-weight:700}
.unified-layout>.job-header #chooseJob{background:#fbe4eb;color:#8b1831;border-color:#a52640;font-size:14px;min-height:36px}
.unified-layout>.workspace-navigator{background:#e2eaf3;color:#213c59;border-right:2px solid #8da4bd}.unified-layout>.job-workspace{scrollbar-width:auto;scrollbar-color:#627d99 #e0e8f1}
.navigator-heading h2{font-size:13px;color:#374f69}.workspace-navigator #toggleNavigator{display:none}
.navigator-section>.navigator-branch>summary{background:#c8d8e8;color:#183653;border-color:#819db8;font-weight:700;min-height:42px}.navigator-branch>summary:before{color:#315572}.navigator-section>.navigator-branch>summary>small{color:#294c6a;background:#b1c7de;font-weight:700}.navigator-section>details>summary:hover{background:#b9cee3}.navigator-section>.navigator-add{background:#fff1f5;color:#941732;border-color:#a52640;font-size:13px;font-weight:700}
.workspace-navigator .job-search-label{color:#304e6b;font-size:13px}.workspace-navigator .job-search-label input{border-color:#829db8;font-size:14px;color:#16334f}.workspace-navigator .folder{color:#244564;font-size:14px;font-weight:700}.workspace-navigator .folder.active{background:#cbdced;color:#173957}.workspace-navigator .folder-count{background:#b3c9df;color:#234967}.workspace-navigator .job-branch ul{border-left-color:#809fbc}
.workspace-navigator .tree-job{color:#1b3a56}.workspace-navigator .tree-job strong{font-size:14px}.workspace-navigator .tree-job span{font-size:13px;color:#3c5570}.workspace-navigator .tree-job small{color:#814b04}.workspace-navigator .tree-job:hover,.tree-client:hover{background:#cbdced}.tree-client{color:#213d59}.tree-client>span,.tree-client>small{color:#405972}.workspace-navigator .tree-job.selected,.tree-client.selected{background:#efbdcd;color:#85122d;box-shadow:inset 3px 0 #ac1937}
.navigator-empty{color:#3f5772}.navigator-footer{background:#cbd9e8;border-top-color:#8da7c1}.navigator-footer .history-tree-button{color:#294a69;font-size:14px}.navigator-export{background:#fbe5ed;color:#89162f;border-color:#ad3a53;font-size:14px;font-weight:700}.navigator-export small{color:#783449}
.workspace-navigator .asset-heading h2,.workspace-navigator .asset-controls label{color:#2f506e}.workspace-navigator .asset-heading h2 small{color:#395572}.workspace-navigator #add{background:#fff1f5;color:#941732;border-color:#ad3a53}.workspace-navigator .asset-controls label{font-size:13px}.workspace-navigator .asset-controls input,.workspace-navigator .asset-controls select{border-color:#829db8;color:#193853;font-size:13px}
.workspace-navigator .tree-filter-pair>label,.workspace-navigator .asset-filter-options{flex:1;min-width:0}.workspace-navigator .asset-filter-options{border:0;margin:0;padding:0}.workspace-navigator .asset-filter-options>summary{display:none}
.workspace-navigator .asset-tree-group>summary{background:#c8d8e8;color:#183653;border-color:#819db8;font-size:14px;font-weight:750}.workspace-navigator .asset-tree-group>summary:hover{background:#b9cee3}.workspace-navigator .asset-tree-group>summary small{background:#b1c7de;color:#294c6a}.workspace-navigator .asset-tree-items{border-left-color:#809fbc}.workspace-navigator .asset-tree-room{background:#cddded;color:#274e6f;font-weight:750;overflow-wrap:anywhere}
.workspace-navigator .asset-tree-item{color:#1b3a56;font-size:14px}.workspace-navigator .asset-tree-item:hover{background:#cbdced}.workspace-navigator .asset-tree-item.selected{background:#efbdcd;color:#7d112c;box-shadow:inset 3px 0 #ac1937}.workspace-navigator .tree-ref{background:#c7d7e7;color:#2e506e;font-weight:750}.workspace-navigator .selected .tree-ref{background:#e49db2;color:#761027}.workspace-navigator .tree-name small{color:#3f5772}.workspace-navigator .location-detail{color:#173c5d}.workspace-navigator .selected .location-detail{color:#7d112c}.workspace-navigator .tree-status{background:#526e8a}.workspace-navigator .tree-status.completed{background:#14613e}.workspace-navigator .tree-status.follow-up{background:#8b5e00}.workspace-navigator .tree-warning{color:#875100}.workspace-navigator .navigator-counts{border-top-color:#8da7c1;color:#36516d}.workspace-navigator .tree-empty{color:#3f5772}
.navigator-layout .navigator-asset{padding:22px 28px 0}.navigator-asset .assethead{border-bottom-color:#91a7bd}.navigator-asset .asset-name-row h2{color:#14273d}.navigator-asset .photo-section{padding:12px;border:1px solid #8ea5be;border-radius:6px}.navigator-asset .photo-section.original{background:#edf2f8}.navigator-asset .photo-section.visit{background:#fce9ef;border-color:#b15a70}.navigator-asset .photo-section h4{font-size:14px;color:#3a536d;border-bottom-color:#94aac1}.navigator-asset .photo-section.visit h4{color:#96233f;border-bottom-color:#cc8ba0}.navigator-asset .photos img{background:#dbe4ed}.navigator-asset .photos figcaption{color:#364e67;font-size:14px}
.location-level,.job-scope>summary{color:#405a75}.workspace-navigator .selected .location-level{color:#75243c}.navigator-layout .navigator-asset :is(.asset-breadcrumb,.asset-reference-line){color:#42586f}
.navigator-asset .remarks{background:#fff1cc;color:#493200;border-left-color:#a26b00}.navigator-asset .remarks p{color:#493200}.navigator-asset .remarks h4{color:#7c4b00}.navigator-asset .notes{background:#e7eef7;color:#263f5a;border-color:#7f9dbb}.navigator-asset .notes .muted{color:#455c75}.navigator-asset .asset-actions{border-top-color:#91a7bd}.asset-import-warning,.asset-warning-details{color:#694000;background:#fff0c1;border-color:#a57720}
.workspace-welcome h1{color:#14273d}.workspace-welcome>p:last-child{font-size:14px;color:#425a74}.eyebrow{color:#285775}.unified-layout .overview-stats button{background:#e9eff6;border-color:#91a8c0}.unified-layout .overview-stats strong{color:#253f5b}.unified-layout .overview-stats span,.unified-layout .recent-jobs small{color:#425a74}.unified-layout .recent-jobs button{border-bottom-color:#a9bbce}.workspace-start{background:#e9eff6;border-color:#819db8;color:#3c5772}.client-profile dt,.client-job span{color:#425a74}.create-import-choice{background:#e4edf6;color:#304e6b;border-color:#8aa5bf}
@media(max-width:800px){
 :root{--navigator-width:clamp(152px,43vw,240px)}body:has(.navigator-collapsed){--navigator-width:40px}
 body{font-size:14px}body>header{display:grid;grid-template-columns:1fr auto auto;gap:4px 7px;padding:8px 10px;min-height:66px;align-items:center}body>header .brand{font-size:18px;grid-column:1}body>header #settings,body>header #account,body>header #install{font-size:14px;min-height:38px;padding:7px 8px}body>header #settings{grid-column:2}body>header #account{grid-column:3}body>header #sync{grid-column:1/-1;grid-row:2;font-size:14px;color:#d9e4ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}body>header #install{grid-column:3;grid-row:3}
 .unified-layout>.job-header{padding:8px 10px;min-height:0;display:block}.unified-layout>.job-header h1{font-size:17px;line-height:1.35;margin:5px 0}.unified-layout>.job-header .job-id{font-size:14px}.job-reference-label{font-size:14px;margin-left:9px}.unified-layout>.job-header #chooseJob{min-height:38px;font-size:14px;padding:6px 8px}.unified-layout>.job-header .job-meta{gap:8px}.unified-layout>.job-header .job-status-badge{font-size:14px}.unified-layout>.job-header .job-actions{margin-top:7px;justify-content:flex-start;gap:5px}.unified-layout>.job-header .job-actions button{min-height:40px;padding:7px 9px;font-size:14px;flex:none}.unified-layout>.job-header .job-actions #deleteJob{margin-left:auto}
 .unified-layout>.workspace-navigator{display:flex;top:var(--workspace-top);bottom:0;width:var(--navigator-width);padding:6px 6px 0;border-right:2px solid #8da4bd;z-index:15}.unified-layout>.job-workspace{left:var(--navigator-width);bottom:0;width:auto;padding-bottom:16px}
 .navigator-heading{display:flex;min-height:36px;margin:0 0 4px;padding:0;gap:2px}.navigator-heading h2{font-size:13px;letter-spacing:.5px;min-width:0}.workspace-navigator #toggleNavigator{display:flex;align-items:center;justify-content:center;flex:none;min-height:36px;width:30px;padding:0;font-size:26px;line-height:1;background:#c5d5e6;border:1px solid #7c99b5;color:#1e4262;border-radius:4px}
 .job-asset-navigator .active-job-navigation{display:flex!important;align-items:stretch;gap:4px;padding:2px 0 6px}.active-job-navigation #openExports{flex:1;min-width:0}.active-job-navigation #toggleNavigator{min-height:44px}.export-detail{display:none}
 .navigator-collapsed .navigator-heading h2,.navigator-collapsed>:not(.navigator-heading):not(.active-job-navigation),.navigator-collapsed #openExports{display:none!important}.navigator-collapsed .navigator-heading,.navigator-collapsed .active-job-navigation{justify-content:center}
 .navigator-section>.navigator-branch>summary{font-size:14px;min-height:44px;padding:7px 39px 7px 5px;gap:4px}.navigator-section>.navigator-branch>summary>small{font-size:13px;min-width:16px;padding:2px 3px}.navigator-section>.navigator-add{min-height:36px;min-width:32px;font-size:14px;top:4px;right:4px;padding:4px}.navigator-section>.navigator-add .add-label,.workspace-navigator #add .add-label{display:none}.navigator-add>span:first-child,.workspace-navigator #add>span:first-child{font-size:21px;line-height:1}
 .workspace-navigator .job-search-label{font-size:14px;padding:7px 1px}.workspace-navigator .job-search-label input{font-size:16px;min-height:40px;padding:6px 5px}.workspace-navigator .folder{font-size:14px;min-height:44px;padding:8px 2px;gap:3px}.workspace-navigator .folder-label{gap:3px}.workspace-navigator .folder-chevron{font-size:14px;width:8px}.workspace-navigator .folder-count{font-size:13px;padding:2px 4px}.workspace-navigator .job-branch ul{margin-left:5px;padding-left:3px}.workspace-navigator .tree-job{padding:9px 5px;min-height:44px}.workspace-navigator .tree-job strong{font-size:14px}.workspace-navigator .tree-job span{font-size:14px;line-height:1.5}.workspace-navigator .tree-job small{font-size:13px}.tree-client{font-size:14px;padding:9px 5px;min-height:44px}.tree-client strong{font-size:14px}.tree-client>span,.tree-client>small{font-size:14px}.navigator-empty{display:none}.navigator-footer{margin:0 -6px;padding:0 6px}.navigator-footer .history-tree-button{font-size:14px;min-height:44px;padding:8px 3px}
 .navigator-export{font-size:14px;min-height:44px;padding:6px;gap:5px;line-height:1.35}.navigator-export small{display:none}.workspace-navigator .asset-heading h2{font-size:14px;letter-spacing:.3px}.workspace-navigator .asset-heading h2 small{font-size:14px;margin-left:3px}.workspace-navigator #add{min-height:36px;min-width:34px;padding:4px;font-size:14px}.workspace-navigator .asset-heading{margin-bottom:5px}.workspace-navigator .job-tree-assets{padding-top:2px}
 .workspace-navigator .asset-controls{display:block}.workspace-navigator .asset-controls label{font-size:14px;margin-bottom:5px}.workspace-navigator .asset-controls input,.workspace-navigator .asset-controls select{font-size:16px;min-height:40px;height:40px;padding:6px 4px;margin-top:3px}.workspace-navigator .tree-filter-pair{display:block}.workspace-navigator .asset-filter-options{margin:2px 0 4px}.workspace-navigator .asset-filter-options>summary{display:block;font-size:14px;font-weight:650;min-height:36px;padding:7px 5px;cursor:pointer;border:1px solid #91aac3;border-radius:4px;background:#cfdeed;color:#234d6e;list-style:none}.asset-filter-options>summary:after{content:' +';float:right}.asset-filter-options[open]>summary:after{content:' −'}.asset-filter-options[open]>summary{margin-bottom:6px}.workspace-navigator .asset-controls .warning-filter{font-size:14px;line-height:1.3;gap:4px}.workspace-navigator .warning-filter input{width:18px;height:18px;min-height:18px}.workspace-navigator .warning-filter small{display:none}
 .workspace-navigator .asset-tree-group>summary{font-size:14px;padding:8px 5px;min-height:38px}.workspace-navigator .asset-tree-group>summary small{font-size:13px}.workspace-navigator .asset-tree-items{margin-left:4px;padding-left:3px}.workspace-navigator .asset-tree-room{font-size:14px;padding:5px 4px}.workspace-navigator .asset-tree-item{font-size:14px;min-height:44px;padding:8px 4px;gap:4px;line-height:1.4;align-items:flex-start}.workspace-navigator .tree-ref{font-size:14px;min-width:22px;max-width:40px;padding:2px}.workspace-navigator .tree-location,.workspace-navigator .location-detail{font-size:14px}.workspace-navigator .tree-name small{font-size:14px}.workspace-navigator .tree-status{width:7px;height:7px;margin-top:5px}.workspace-navigator .tree-warning{font-size:13px}.workspace-navigator .navigator-counts{font-size:13px;gap:3px 7px;padding:5px 0;line-height:1.4}.workspace-navigator .asset-tree{padding-right:3px}
 .navigator-layout .navigator-asset{padding:14px 10px 0}.navigator-asset .asset-name-row{gap:6px}.navigator-asset .asset-name-row h2{font-size:20px;line-height:1.3;min-width:0;overflow-wrap:anywhere}.navigator-asset .asset-name-row [data-edit]{font-size:14px;min-height:44px;padding:8px 9px}.navigator-asset .asset-status{font-size:14px}.navigator-asset .asset-breadcrumb{font-size:14px;line-height:1.45}.navigator-asset .asset-reference-line{font-size:14px;line-height:1.5;gap:4px;flex-wrap:wrap}.navigator-asset .asset-reference-line button{min-height:32px;min-width:32px}.navigator-asset .assethead{margin-bottom:14px;padding-bottom:14px}.navigator-asset .navigator-pictures{display:grid;grid-template-columns:1fr;gap:12px}.navigator-asset .photo-section{padding:8px;margin:0}.navigator-asset .photo-section h4{font-size:14px}.navigator-asset .photos{grid-template-columns:1fr}.navigator-asset .photos img,.navigator-asset .photo-section.visit img{height:160px;width:100%;object-fit:contain}.navigator-asset .photos figcaption{font-size:14px;line-height:1.5}.navigator-asset .remarks{padding:10px;line-height:1.5;font-size:14px}.navigator-asset .remarks h4{font-size:14px}.navigator-asset .notes{font-size:14px;padding:9px}.navigator-asset .notes .muted{font-size:14px;line-height:1.45}.navigator-asset .no-pictures{font-size:14px;line-height:1.5}.navigator-asset .asset-actions{flex-wrap:wrap;gap:6px}.navigator-asset .asset-actions>span{font-size:14px}.navigator-asset .asset-actions button{min-height:44px;font-size:14px;padding:8px}
 .workspace-welcome{padding:18px 10px 8px}.workspace-welcome h1{font-size:22px;line-height:1.3;letter-spacing:-.3px}.workspace-welcome .eyebrow{font-size:13px;line-height:1.5}.workspace-welcome>p:last-child{font-size:14px}.unified-layout .jobs-overview{margin:0 10px}.unified-layout .overview-stats{grid-template-columns:1fr 1fr;gap:6px}.unified-layout .overview-stats button{padding:10px 7px;min-width:0}.unified-layout .overview-stats strong{font-size:23px}.unified-layout .overview-stats span{font-size:14px}.unified-layout .recent-jobs{margin-top:18px}.unified-layout .recent-jobs button{flex-wrap:wrap;gap:8px;padding:12px 4px;font-size:14px}.unified-layout .recent-jobs small{font-size:14px;line-height:1.5}.unified-layout .recent-jobs .job-status-badge{font-size:13px}.workspace-start{padding:12px;line-height:1.6}
 .client-workspace{padding:18px 10px}.client-workspace h1{font-size:23px;overflow-wrap:anywhere}.client-workspace h2{font-size:18px}.client-actions{flex-wrap:wrap}.client-actions button{font-size:14px;min-height:44px}.client-profile{margin:18px 0;gap:10px}.client-profile>div{padding:10px}.client-profile dt{font-size:14px}.client-profile dd{font-size:14px}.client-job{font-size:14px}.client-job span{font-size:14px;line-height:1.5}
 dialog label,dialog p,dialog .muted{font-size:14px;line-height:1.5}dialog input:not([type=checkbox]):not([type=radio]),dialog textarea,dialog select{font-size:16px}dialog button,dialog .button,dialog .filebtn{font-size:14px;min-height:44px}.create-import-choice{align-items:stretch;flex-direction:column}.create-import-choice button{text-align:left;font-size:14px}.asset-reference-summary dd{font-size:14px}.asset-reference-summary dt{font-size:14px}
}

/* Keep the open-job phone workspace focused on the asset list. */
@media(max-width:800px){
 body:has(.navigator-layout)>header{grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:22px 16px;gap:0 6px;padding:5px 8px;min-height:48px}
 body:has(.navigator-layout)>header .brand{grid-column:1;grid-row:1;justify-self:start;min-height:22px;padding:0;font-size:16px;line-height:22px}
 body:has(.navigator-layout)>header #sync{grid-column:1;grid-row:2;max-width:none;width:100%;margin:0;font-size:12px;line-height:16px}
 body:has(.navigator-layout)>header :is(#settings,#account){grid-row:1/3;min-height:38px;padding:6px;font-size:13px}
 body:has(.navigator-layout)>header #install{grid-row:3;grid-column:1/-1;justify-self:end;min-height:32px;margin-top:3px}
 .unified-layout>.mobile-job-header{padding:2px 8px 5px;margin:0;min-height:0;border-top:0;border-radius:0}
 .mobile-job-bar{display:flex;align-items:center;gap:6px;min-width:0}
 .unified-layout>.mobile-job-header #chooseJob{flex:none;min-height:44px;width:44px;padding:0;font-size:23px;justify-content:center;margin:0}
 .mobile-job-bar .job-reference-label{flex:1;min-width:0;margin:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .mobile-job-bar #openExports,.mobile-job-bar #openJobMenu{flex:none;min-height:44px;width:auto;padding:7px 9px;font-size:14px;white-space:nowrap}
 .unified-layout>.mobile-job-header>h1{font-size:14px;font-weight:600;line-height:20px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}
 #mobileJobDialog{width:min(420px,94vw);padding:16px;max-height:85dvh;overflow:auto}
 #mobileJobDialog .modalhead{gap:12px}#mobileJobDialog h2{font-size:18px;overflow-wrap:anywhere;margin:0}
 #mobileJobDialog .mobile-job-address{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
 #mobileJobDialog .job-actions{display:flex;flex-direction:column;align-items:stretch;margin:16px 0 0;padding:12px 0 0;gap:8px}
 #mobileJobDialog .job-actions button{margin:0;width:100%;min-height:44px;font-size:14px;text-align:left}
 .job-asset-navigator .active-job-navigation{padding:0 0 4px;gap:3px;min-height:44px;align-items:center}
 .job-asset-navigator .active-job-navigation .asset-heading{flex:1;min-width:0;gap:2px;margin:0}
 .job-asset-navigator .active-job-navigation .asset-heading h2{font-size:12px;letter-spacing:0;line-height:1.3}
 .job-asset-navigator .active-job-navigation .asset-heading h2 small{font-size:12px;margin-left:2px}
 .job-asset-navigator .active-job-navigation #add{min-width:32px;width:32px;min-height:44px;padding:0}
 .job-asset-navigator .active-job-navigation #toggleNavigator{min-height:44px;width:30px}
 .job-asset-navigator.navigator-collapsed .active-job-navigation .asset-heading{display:none}
 .workspace-navigator .asset-search-label>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .job-asset-navigator .job-tree-assets{padding-top:0}
 .job-asset-navigator .asset-controls{margin-bottom:5px}
 .job-asset-navigator .asset-controls .asset-search-label{margin:0 0 4px}
 .job-asset-navigator .asset-search-label #search{margin:0;min-height:40px}
 .job-asset-navigator .asset-filter-options{margin:0}
 .job-asset-navigator .asset-filter-options>summary{min-height:40px;padding:9px 5px}
 .job-asset-navigator .asset-filter-options[open]{max-height:min(240px,35dvh);overflow:auto}
 .job-asset-navigator .navigator-counts{font-size:12px;gap:2px 5px;padding:4px 0}
 .navigator-layout .navigator-asset{padding-top:10px}
 .navigator-layout .navigator-asset .assethead{margin-bottom:10px;padding-bottom:10px}
}

/* Sync remains a compact, actionable status on phones. */
body>header #sync{border:0;padding:0;background:transparent;text-align:right;border-radius:3px;min-height:20px}
body>header #sync.has-conflict{color:#ffe1a1;text-decoration:underline;text-underline-offset:3px}
.sync-conflict{border-top:1px solid var(--border);padding-top:16px;margin-top:16px}.sync-conflict [data-summary]{white-space:pre-line}.sync-conflict .toolbar{gap:8px;margin:12px 0}.sync-conflict button{font-size:14px}

/* Address-first job labels and a fixed badge column at every viewport size. */
.unified-layout .recent-jobs button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 12px}
.unified-layout .recent-jobs .job-address-label{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.unified-layout .recent-jobs .job-number-label{font-size:13px;line-height:1.4;margin-top:4px}
.unified-layout .recent-jobs .job-status-badge{justify-self:end;align-self:start;white-space:nowrap;margin-top:1px}
.workspace-navigator .tree-job .job-address-label{display:block;line-height:1.45;overflow-wrap:anywhere}
.workspace-navigator .tree-job .job-number-label{font-size:12px;line-height:1.4;margin-top:4px}
@media(max-width:800px){.unified-layout .recent-jobs .job-number-label,.workspace-navigator .tree-job .job-number-label{font-size:13px}}

body>header #business{color:#d8deea;background:transparent;border-color:#485261;font-size:13px}
.business-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.business-fields .wide{grid-column:1/-1}.business-logo{display:flex;gap:18px;align-items:center;margin:18px 0}.business-logo img{width:140px;height:80px;object-fit:contain;background:white;border:1px solid #91a7bd;border-radius:6px;padding:8px}.business-logo input{max-width:100%}
.unified-layout>.job-header .job-actions #deleteJob{border:1px solid #8fa4ba;padding:7px 9px;min-height:31px;font-size:12px;color:#9e2032;background:#fff}
@media(max-width:800px){
 body>header,body:has(.navigator-layout)>header{grid-template-columns:minmax(0,1fr) auto auto auto;gap:0 5px}
 body>header #business{grid-column:2;grid-row:1;min-height:38px;padding:6px 5px;font-size:13px;white-space:nowrap}body>header #settings{grid-column:3;grid-row:1}body>header #account{grid-column:4;grid-row:1}
 body>header .brand{font-size:16px;padding-left:0;padding-right:0;min-width:0;white-space:nowrap}
 body:has(.navigator-layout)>header :is(#business,#settings,#account){grid-row:1/3;min-height:38px;padding:6px 5px;font-size:13px}
 body>header #sync{grid-column:1/-1}body:has(.navigator-layout)>header #sync{grid-column:1}
 .business-fields{grid-template-columns:1fr}.business-logo{gap:10px;flex-wrap:wrap}.business-logo input{font-size:16px}
 .unified-layout>.job-header .job-actions #deleteJob{font-size:14px;min-height:40px;padding:7px 9px;margin-left:0}
 #businessForm input,#businessForm textarea{font-size:16px}#businessForm button{min-height:44px}
}

#mobileJobDialog .job-actions #deleteJob{min-height:44px;width:100%;padding:7px 11px;font-size:14px;border:1px solid #8fa4ba;background:#fff;color:#9e2032;text-align:left}

/* Show the complete image with its embedded camera orientation in every picture view. */
.photos img,#newphotos img,#viewerImage{image-orientation:from-image;object-fit:contain;background:#f3f5f7}
/* Export choices reveal one clear action panel at a time. */
#exportDialog{width:min(580px,94vw)}
#exportDialog .export-job-context{display:grid;gap:4px;margin:8px 0 18px;overflow-wrap:anywhere}
#exportDialog .export-job-context strong{font-size:14px;font-weight:500;color:#243e57}
#exportDialog .export-job-context small{font-size:14px;color:#456079}
#exportDialog .export-chooser{display:grid;gap:12px;margin-bottom:16px}
#exportDialog .export-choice-group h4{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;color:#456079}
#exportDialog .export-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#exportDialog [data-export-kind]{min-height:44px;padding:9px 11px;text-align:left;font-size:14px;background:white;border:1px solid #a5b6c6;color:#243e57}
#exportDialog [data-export-kind][aria-pressed=true]{color:#8b1530;background:#faedf1;border-color:#b51939;box-shadow:inset 3px 0 #b51939;font-weight:700}
#exportDialog .export-grid{display:block}
#exportDialog .export-option{display:block;padding:16px;border:1px solid #a5b6c6;border-radius:12px;background:#f5f8fb}
#exportDialog .export-option[hidden]{display:none}
#exportDialog .export-format{font-size:12px;letter-spacing:.08em;font-weight:700;color:#456079}
#exportDialog .export-option h3{font-size:20px;line-height:1.2;margin:6px 0}
#exportDialog .export-option p{font-size:14px;line-height:1.45;margin:0;color:#374f68}
#exportDialog .export-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin:16px 0 10px;max-width:none}
#exportDialog .export-buttons button{min-height:44px;padding:10px 16px;font-size:14px;flex:1}
#exportDialog .export-option .export-help{font-size:14px;color:#456079}
#exportDialog .export-more{margin-top:12px;border-top:1px solid #cad5e0;padding-top:4px}
#exportDialog .export-more summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#374f68}
#exportDialog .export-more summary::after{content:'+';margin-left:auto;font-size:18px}
#exportDialog .export-more[open] summary::after{content:'−'}
#exportDialog .export-more>div{display:flex;gap:8px}
#exportDialog .export-more button{min-height:44px;padding:8px 14px;font-size:14px}
#reportPreview{width:min(760px,96vw);padding:16px}
#reportPreview .preview-filename{overflow-wrap:anywhere;font-size:14px;margin:6px 0}
.preview-actions,.preview-pages{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}
.preview-pages{justify-content:center}.preview-pages button{min-width:44px;min-height:44px}
.preview-message{font-size:14px;color:#374f68}.preview-paper{display:block;width:100%;height:auto;background:white;border:1px solid #94aac1}
@media(max-width:600px){#exportDialog{padding:14px}#exportDialog .export-option{padding:14px}#reportPreview{padding:12px}}

#exportDialog .export-formats>summary{min-height:44px;display:flex;align-items:center;font-size:14px;color:#456079;cursor:pointer}#exportDialog .export-formats>summary::after{content:'+';margin-left:auto}#exportDialog .export-formats[open]>summary::after{content:'−'}#exportDialog .export-formats .export-choice-group{padding:8px 0}#exportDialog .export-more>div{flex-wrap:wrap}#exportDialog [data-previous]{font-size:14px;flex-basis:100%;background:transparent;border:0;text-decoration:underline;color:#456079}#exportDialog [hidden]{display:none!important}.preview-actions button{min-height:44px}#reportPreview [data-edit]{font-size:14px}

#exportDialog .export-quick-views{margin-top:16px}#exportDialog .export-quick-views h4{margin:0 0 6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#456079}#exportDialog .export-quick-views>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}#exportDialog .export-quick-views button{min-height:44px;padding:8px;font-size:14px;background:white;color:#243e57;border:1px solid #a5b6c6}#exportDialog>.export-formats{margin-top:12px}

.job-status-badge.records{background:#e9e4f1;color:#594276}

.job-status-badge.active{background:#dcece7;color:#165949}.job-status-badge.archive{background:#e3e7eb;color:#4c5664}#toast{z-index:1000}#toast button{margin-left:10px;padding:5px 14px;min-height:36px}.archive-notice{margin:0 0 14px}

.asset-delete-action{margin-top:16px;padding-top:12px;border-top:1px solid #dce0e5}.asset-delete-action button{color:#a52437;border-color:#d9b8bf;background:#fff6f7;min-height:44px}

/* A compact global header with a fully readable sync status. */
body>header,body:has(.navigator-layout)>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;gap:8px;padding:4px 12px;min-height:44px;align-items:center}
body>header .brand,body:has(.navigator-layout)>header .brand{grid-column:1;grid-row:1;min-height:32px;font-size:16px;line-height:20px;padding:0;margin:0}
body>header #sync,body:has(.navigator-layout)>header #sync{grid-column:2;grid-row:1;width:auto;max-width:none;min-width:0;min-height:24px;margin:0;font-size:14px;line-height:16px;white-space:normal;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;text-align:right}
body>header #account,body:has(.navigator-layout)>header #account{grid-column:3;grid-row:1;min-height:36px;font-size:14px;padding:6px 9px;margin:0}
.workspace-navigator .navigator-heading{display:flex;align-items:center;justify-content:space-between;min-height:36px;gap:4px}
.navigator-controls{display:flex;gap:4px;flex:none}
.workspace-navigator .navigator-controls button,.workspace-navigator .navigator-controls #toggleNavigator{display:flex;align-items:center;justify-content:center;min-height:32px;width:30px;padding:0;font-size:23px;line-height:1;background:#c5d5e6;border:1px solid #7c99b5;color:#1e4262;border-radius:4px}
.job-asset-navigator .active-job-navigation{display:block!important;padding:0 0 6px}
.job-export-actions{display:flex;gap:6px}.job-export-actions>button{flex:1;min-width:0;min-height:36px;font-size:13px;padding:6px 5px;white-space:normal}
.folder-move{border-color:#819db8;background:#edf2f7;color:#244564;font-weight:600}
.navigator-collapsed .navigator-controls{flex-direction:column}.navigator-collapsed .job-export-actions{display:none}.navigator-collapsed .navigator-heading{margin:0;padding:0}
.settings-actions{display:grid;gap:4px;padding:6px}.settings-actions button{width:100%;text-align:left;min-height:40px;color:#244564;background:#f6f8fb;border:1px solid #a6bbce;border-radius:5px}
.navigator-settings>.navigator-branch>summary{padding-right:12px}.job-asset-count{font-weight:500;color:#42586f;font-size:13px}
@media(max-width:800px){
 body>header,body:has(.navigator-layout)>header{gap:6px;padding:3px 8px;min-height:42px}
 body>header .brand,body:has(.navigator-layout)>header .brand{font-size:15px}
 body>header #sync,body:has(.navigator-layout)>header #sync{font-size:13px;line-height:15px}
 body>header #account,body:has(.navigator-layout)>header #account{font-size:13px;padding:5px 7px}
 .mobile-job-bar{gap:4px}.mobile-job-bar #openExports,.mobile-job-bar #moveJobFolder,.mobile-job-bar #openJobMenu{flex:none;min-height:44px;padding:6px;font-size:14px;white-space:nowrap}
 .mobile-job-bar .job-reference-label{font-size:14px}
 .job-asset-navigator .active-job-navigation .asset-heading{display:flex;gap:3px;min-width:0}
 .job-asset-navigator .active-job-navigation .asset-heading h2{flex:1;min-width:0;font-size:12px;overflow-wrap:anywhere}
 .job-asset-navigator .active-job-navigation #add{min-height:36px;min-width:28px;width:28px}
 .job-asset-navigator .active-job-navigation .navigator-controls{gap:3px}
 .job-asset-navigator .active-job-navigation .navigator-controls button,.job-asset-navigator .active-job-navigation .navigator-controls #toggleNavigator{min-height:36px;width:27px}
 .job-asset-navigator.navigator-collapsed .active-job-navigation .asset-heading{display:flex!important;justify-content:center}
 .job-asset-navigator.navigator-collapsed .asset-heading h2,.job-asset-navigator.navigator-collapsed #add{display:none}
 .settings-actions button{min-height:44px;font-size:14px}
}
body:has(.navigator-collapsed){--navigator-width:40px}
.navigator-collapsed .navigator-heading h2,.navigator-collapsed>:not(.navigator-heading):not(.active-job-navigation),.navigator-collapsed .job-export-actions{display:none!important}
.navigator-collapsed .navigator-heading,.navigator-collapsed .active-job-navigation{justify-content:center;padding-left:0;padding-right:0}
.settings-actions button[hidden]{display:none}

body>header,body:has(.navigator-layout)>header{grid-template-columns:minmax(0,1fr) auto}
body>header #sync,body:has(.navigator-layout)>header #sync{grid-column:1;text-align:left}
body>header #account,body:has(.navigator-layout)>header #account{grid-column:2}

/* Add actions live inside the expanded Jobs, Clients and Assets branches. */
.navigator-section>.navigator-branch>summary{padding-right:9px}
.workspace-navigator .navigator-branch>.navigator-add{position:static;display:flex;width:100%;justify-content:flex-start;gap:6px;margin:6px 0;min-height:36px;padding:7px 10px;background:#fff1f5;color:#941732;border:1px solid #a52640;font-size:14px;font-weight:700}
.workspace-navigator .navigator-branch>.navigator-add .add-label{display:inline}
.workspace-navigator .asset-actions-section{display:block;margin-bottom:6px}
.asset-actions-section>.navigator-branch{width:100%;flex:none;margin:0}
.asset-actions-section>.navigator-branch>summary{display:flex;align-items:center;gap:6px;min-height:36px;padding:6px 8px;font-size:13px;font-weight:700;letter-spacing:.5px;background:#c8d8e8;border:1px solid #819db8;border-radius:5px;color:#183653;list-style:none;cursor:pointer}
.asset-actions-section>.navigator-branch>summary>small{margin-left:auto;font-size:13px;color:#294c6a;background:#b1c7de;padding:2px 5px;border-radius:4px}
@media(min-width:801px){body{--navigator-width:280px}}
/* Add actions share the count headers without overlaying their contents. */
.navigator-section>.navigator-branch>summary{display:flex;align-items:center;gap:6px}
.navigator-section>.navigator-branch>summary>.navigator-branch-label{flex:1;min-width:0}
.navigator-section>.navigator-branch>summary>small{float:none;flex:none;margin:0}
.navigator-section>.navigator-branch>summary>.navigator-add{position:static;flex:none;display:flex;align-items:center;gap:4px;margin:0;min-height:32px;padding:5px 7px;background:#fff1f5;color:#941732;border:1px solid #a52640;border-radius:4px;font-size:13px;font-weight:700}
/* Phones retain a fixed split pane; the job toolbar owns the full-screen toggle. */
@media(max-width:800px){
 body{--navigator-width:clamp(152px,43vw,240px)}
 body:has(.navigator-collapsed){--navigator-width:0px}
 body:has(.navigator-full){--navigator-width:100vw}
 .workspace-navigator .navigator-heading{display:none}
 .workspace-navigator.navigator-collapsed{visibility:hidden;padding:0;border:0;pointer-events:none}
 .unified-layout:has(.navigator-full)>.job-workspace{visibility:hidden;pointer-events:none}
 .mobile-job-bar{gap:3px}
 .mobile-job-bar #toggleNavigator{flex:none;min-height:44px;padding:6px;font-size:13px;font-weight:700;color:#244564;border-color:#819db8;background:#edf2f7;white-space:nowrap}
 .mobile-job-bar #openExports,.mobile-job-bar #moveJobFolder,.mobile-job-bar #openJobMenu{padding:6px 5px;font-size:13px}
 .navigator-section>.navigator-branch>summary>.navigator-add{min-height:40px;min-width:32px;justify-content:center;padding:5px}
 .navigator-section>.navigator-branch>summary>.navigator-add .add-label{display:none}
 .navigator-section>.navigator-branch>summary{padding:5px;gap:4px}
 .job-asset-navigator .active-job-navigation{padding-bottom:4px}
 .job-asset-navigator .active-job-navigation .asset-heading{display:block;margin:0}
 .job-asset-navigator .active-job-navigation #add{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:44px;font-size:14px;padding:6px}
 .job-asset-navigator .active-job-navigation #add .add-label{display:inline}
 .job-asset-navigator .asset-controls{margin-bottom:3px}
 .navigator-full .asset-tree-item{padding:10px;font-size:15px}.navigator-full .tree-name small{font-size:14px}
}

/* Full-screen browsing includes previews; normal sidebar rows stay compact. */
.tree-picture-strip{display:none}

 .navigator-full .asset-tree-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:start;gap:8px;padding:10px;border:1px solid #9db2c7;margin:5px 0;background:#f4f7fa}
 .navigator-full .asset-tree-item.selected{background:#f9e4eb;border-color:#ab405a}
 .navigator-full .asset-tree-item .tree-ref{grid-column:1;grid-row:1;max-width:36px}
 .navigator-full .asset-tree-item .tree-name{grid-column:2;grid-row:1;font-size:15px}
 .navigator-full .asset-tree-item .tree-warning{grid-column:3;grid-row:1}
 .navigator-full .asset-tree-item .tree-status{grid-column:4;grid-row:1;margin-top:5px}
 .navigator-full .tree-picture-strip{grid-column:2/5;display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px;min-width:0;text-align:left}
 .navigator-full .tree-picture{display:flex;flex-direction:column;gap:4px;width:calc((100% - 14px)/3);min-width:64px;max-width:150px}
 .navigator-full .tree-picture img{display:block;width:100%;height:100px;object-fit:contain;border:1px solid #8da4bb;background:#fff;border-radius:4px}
 .navigator-full .tree-picture small{font-size:12px;line-height:1.35;color:#244564;white-space:normal}
 .navigator-full .tree-picture-count,.navigator-full .tree-no-pictures{flex-basis:100%;font-size:14px;line-height:1.4;color:#244564}
 .unified-layout:has(.navigator-collapsed) .navigator-asset .photos{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
 .unified-layout:has(.navigator-collapsed) .navigator-asset .photos img,.unified-layout:has(.navigator-collapsed) .navigator-asset .photo-section.visit img{height:240px;max-height:45dvh}
/* A focused all-assets screen: pictures plus a single inline grouping control. */
.full-asset-sort{display:none}

 .navigator-full .active-job-navigation,.navigator-full .asset-controls{display:none!important}
 .navigator-full .full-asset-sort{display:flex;flex:none;gap:6px;padding:0 0 8px}
 .full-asset-sort button{flex:1;min-height:44px;margin:0;font-size:14px;font-weight:700;color:#244564;border:1px solid #819db8;background:#f4f7fa}
 .full-asset-sort button[aria-pressed=true]{color:#941732;border-color:#ab405a;background:#f9e4eb}
 .mobile-job-bar #toggleNavigator{font-size:13px;min-width:0}

/* The same all-assets and Back flow is available on desktop and phone. */
body:has(.navigator-full){--navigator-width:100vw}
body:has(.navigator-collapsed){--navigator-width:0px}
.workspace-navigator.navigator-collapsed{visibility:hidden;padding:0;border:0;pointer-events:none}
.unified-layout:has(.navigator-full)>.job-workspace{visibility:hidden;pointer-events:none}
.navigator-full .asset-actions-section{display:none}
.workspace-navigator .job-export-actions #toggleNavigator{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;width:auto;padding:6px 4px;font-size:13px;font-weight:700;white-space:normal;color:#244564;border-color:#819db8;background:#edf2f7}
.asset-browser-actions{display:flex;align-items:center;gap:6px}
.asset-browser-actions button{min-height:36px;white-space:nowrap}
@media(min-width:801px){
 .unified-layout:has(.navigator-full)>.job-header .job-actions,.unified-layout:has(.navigator-collapsed)>.job-header .job-actions{flex-wrap:wrap;max-width:470px;justify-content:flex-end}
 .navigator-full .full-asset-sort button{flex:0 1 160px}
 .navigator-full .asset-tree-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));align-items:stretch;gap:10px;padding:4px 8px 10px}
 .navigator-full .asset-tree-room{grid-column:1/-1;margin:0;font-size:14px}
 .navigator-full .asset-tree-group>summary{font-size:16px;padding:10px 8px}
 .navigator-full .asset-tree-item{margin:0;align-content:start}
 .navigator-full .tree-picture img{height:128px}
 .unified-layout:has(.navigator-collapsed) .navigator-asset .photos{grid-template-columns:repeat(auto-fit,minmax(260px,340px))}
 .unified-layout:has(.navigator-collapsed) .navigator-asset .photos img,.unified-layout:has(.navigator-collapsed) .navigator-asset .photo-section.visit img{height:320px;max-height:55dvh}
}

.navigator-full .tree-name small{font-size:14px;line-height:1.4}
.navigator-full .tree-location,.navigator-full .location-detail{font-size:14px;line-height:1.4}
.navigator-full .tree-ref{font-size:14px}

/* One contextual Back action stays separate from the job identity. */
.unified-layout>.job-header:not(.mobile-job-header){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px}
.job-header>.job-back-navigation{grid-column:1/-1;display:flex;align-items:center;min-width:0}
.unified-layout>.job-header #chooseJob{display:inline-flex;align-items:center;gap:8px;width:auto;min-width:0;min-height:40px;max-width:100%;padding:7px 11px;font-size:14px;font-weight:700;line-height:1.25;justify-content:flex-start;white-space:nowrap}
.job-header #chooseJob .back-arrow{font-size:20px;line-height:1}
.job-header .job-heading>.job-reference-label,.job-header .job-identity>.job-reference-label{display:block;margin:0}
#toggleNavigator[hidden]{display:none!important}
@media(max-width:800px){
 .unified-layout>.mobile-job-header{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:6px 9px}
 .unified-layout>.mobile-job-header #chooseJob{min-height:44px;padding:7px 10px;font-size:14px}
 .mobile-job-header .job-identity{min-width:0;line-height:1.25}.mobile-job-header .job-identity>.job-reference-label{display:inline;font-size:14px;white-space:nowrap}.mobile-job-header .job-identity>.job-reference-label::after{content:" · ";white-space:pre}
 .unified-layout>.mobile-job-header .job-identity h1{display:inline;margin:0;font-size:15px;line-height:1.25}
 .mobile-job-header .mobile-job-bar{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:5px}
}
@media(max-width:800px) and (max-height:500px){
 .unified-layout>.mobile-job-header{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}
 .mobile-job-header>.job-back-navigation{grid-column:1;grid-row:1}.mobile-job-header .job-identity{grid-column:1/-1;grid-row:2}.mobile-job-header .mobile-job-bar{grid-column:2;grid-row:1;align-self:center;flex-wrap:nowrap}
 .unified-layout>.mobile-job-header .job-identity h1{font-size:14px}
}

.business-numbering{border-top:1px solid #9db2c7;padding-top:12px;margin-top:14px}.numbering-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.numbering-suggestions button{font-size:14px;padding:5px 8px;min-height:36px}.tree-asset-context{display:none}.navigator-full .tree-asset-context{display:flex;flex-direction:column;gap:5px;grid-column:2/5;font-size:14px;text-align:left;color:#244564}.navigator-full .tree-asset-context small{font-size:14px;font-weight:400;line-height:1.45}.navigator-full .tree-asset-context strong{font-size:14px}.export-type-filter{margin:12px 0;padding:10px;border:1px solid #9db2c7;background:#edf2f7;border-radius:6px}

.tree-asset-body{display:none}.navigator-full .tree-asset-body{grid-column:1/5;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(100px,.8fr);align-items:start;gap:12px}.navigator-full .tree-asset-body .tree-picture-strip{grid-column:auto;min-width:0}.navigator-full .tree-asset-body .tree-asset-context{grid-column:auto;min-width:0;overflow-wrap:anywhere}@media(min-width:801px){.navigator-full .asset-tree-items{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}}

.navigator-full .tree-name>small{display:none}

.work-suggestion{border:1px solid #91a9bf;border-left:3px solid #ad2543;border-radius:6px;background:#edf2f7;padding:12px;margin:10px 0 16px}.work-suggestion-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.work-suggestion-heading h4{margin:0;font-size:14px;color:#173448}.work-suggestion-heading label{min-width:130px;font-size:14px}.work-suggestion textarea{font-size:14px;background:#fff;max-height:240px;overflow:auto;line-height:1.5}.work-suggestion-actions{display:flex;flex-wrap:wrap;gap:8px}.work-suggestion-actions button{min-height:40px;padding:7px 12px}.work-suggestion p{font-size:14px;line-height:1.45}@media(max-width:800px){.work-suggestion-heading{align-items:flex-start;flex-wrap:wrap}.work-suggestion textarea{font-size:16px}.work-suggestion-actions button{min-height:44px}}

.job-overview{max-width:760px;margin:20px;padding:24px;background:#fff;border:1px solid #94aac1}.job-overview h2{font-size:23px;margin:4px 0 12px}.job-overview .eyebrow{font-size:13px;letter-spacing:.08em;color:#9e1b36}.job-overview textarea{min-height:140px}.site-comment-state{min-height:20px;margin:8px 0 0;font-size:14px;color:#526a80}.site-comment-state[data-unsaved="true"]{color:#9e1b36;font-weight:600}.job-overview-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.job-overview-footer{font-size:14px;line-height:1.5;margin-bottom:0}.job-overview-actions button{min-height:44px}.job-overview-actions button:disabled{cursor:default}
@media(max-width:800px){.job-overview{margin:12px;padding:16px}.job-overview h2{font-size:20px}.job-overview textarea{font-size:16px}.job-overview-actions button{flex:1;min-width:125px}}

/* Compact site identity; the client job ID remains part of the address. */
.unified-layout>.job-header.compact-job-header{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:10px;padding:6px 16px;min-height:58px;border-bottom-width:1px}
.unified-layout>.compact-job-header>.job-back-navigation{grid-column:1;grid-row:1}
.unified-layout>.compact-job-header>.job-heading{grid-column:2;grid-row:1;min-width:0}
.unified-layout>.compact-job-header>.job-actions{grid-column:3;grid-row:1;display:flex;align-items:center;flex-wrap:nowrap;gap:6px;padding:0;margin:0;border:0}
.unified-layout>.compact-job-header .job-heading h1{font-size:18px;line-height:1.25;margin:2px 0 0;overflow-wrap:anywhere;letter-spacing:0}
.compact-job-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.compact-job-meta .job-reference-label{font-size:13px;line-height:14px}.compact-job-meta .job-status-badge{font-size:12px;line-height:12px;padding:2px 6px}
.unified-layout>.compact-job-header #chooseJob{min-height:36px;font-size:14px;padding:5px 8px}.unified-layout>.compact-job-header .job-actions button{min-height:34px;font-size:13px;padding:5px 8px}
.job-scope{margin:6px 18px;font-size:14px}.job-overview{margin:12px 18px;padding:18px}.job-overview h2{font-size:21px;margin-bottom:8px}
.job-tree-assets>.asset-actions-section{display:flex;flex-direction:column;flex:1;min-height:0;margin:0}
.asset-actions-section>.navigator-branch{min-height:0;width:100%}.asset-actions-section>.navigator-branch[open]{display:flex;flex-direction:column;flex:1}
/* Keep the browser disclosure content in the bounded Navigator flex layout. */
.asset-actions-section>.navigator-branch[open]::details-content{display:contents}
.asset-actions-section>.navigator-branch>summary{flex:none;gap:5px;padding:5px 7px;min-height:40px}
.asset-actions-section>.navigator-branch>summary>.navigator-add{display:flex;align-items:center;justify-content:center;flex:none;width:34px;min-width:34px;min-height:34px;margin:0;padding:3px;font-size:22px}
.asset-actions-section .navigator-add .add-label{display:none}.asset-actions-section>details:not([open])>.asset-node-content{display:none}
.asset-node-content{display:flex;flex-direction:column;flex:1;min-height:0;padding-top:7px}.job-asset-navigator .asset-node-content .asset-tree{display:block;flex:1;min-height:0;overflow:auto}
.full-asset-search{display:block;flex:none;font-size:14px;font-weight:600;margin:0 0 8px;color:#244564}.full-asset-search input{display:block;width:100%;min-height:40px;margin-top:4px;padding:7px 10px;font-size:14px}
.job-asset-navigator.navigator-full .active-job-navigation{display:block!important}.job-asset-navigator .navigator-heading{margin-bottom:4px}
@media(max-width:800px){
 .unified-layout>.job-header.compact-job-header{grid-template-columns:minmax(0,1fr) auto;gap:2px 6px;padding:4px 8px;min-height:0}
 .unified-layout>.compact-job-header>.job-back-navigation{grid-column:1;grid-row:1}.unified-layout>.compact-job-header>.job-actions{grid-column:2;grid-row:1}
 .unified-layout>.compact-job-header>.job-heading{grid-column:1/-1;grid-row:2}.unified-layout>.compact-job-header .job-heading h1{font-size:14px;line-height:17px;margin:0}
 .unified-layout>.compact-job-header #chooseJob,.unified-layout>.compact-job-header .job-actions button{min-height:44px;font-size:14px;padding:5px 8px}
 .compact-job-meta .job-reference-label{font-size:13px;line-height:14px}.compact-job-meta .job-status-badge{font-size:12px}
 .job-asset-navigator .active-job-navigation{padding-bottom:4px}.job-asset-navigator .navigator-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:44px}
 .job-asset-navigator .navigator-heading h2{font-size:12px;letter-spacing:.4px;margin:0;min-width:0}.job-asset-navigator .navigator-controls button{width:36px;min-height:44px;font-size:23px}
 .job-export-actions>button{min-height:44px;font-size:13px}.asset-actions-section>.navigator-branch>summary{min-height:44px;font-size:14px}
 .asset-actions-section>.navigator-branch>summary>.navigator-add{min-height:40px;min-width:34px}.full-asset-search input{font-size:16px}
 .job-overview{margin:10px;padding:14px}.job-overview h2{font-size:19px}.job-scope{margin:5px 10px}
}

/* Share the Navigator action row on short, wide phones so assets keep room to scroll. */
@media(min-width:600px) and (max-width:800px) and (max-height:600px){
 .unified-layout>.job-header.compact-job-header{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto}
 .unified-layout>.compact-job-header>.job-heading{grid-column:2;grid-row:1}
 .unified-layout>.compact-job-header>.job-actions{grid-column:3;grid-row:1}
 .unified-layout>.compact-job-header .job-heading h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .job-asset-navigator:not(.navigator-full):not(.navigator-collapsed) .active-job-navigation{display:grid!important;grid-template-columns:minmax(0,1fr) 44px;gap:4px;align-items:center;padding:0}
 .job-asset-navigator:not(.navigator-full):not(.navigator-collapsed) .navigator-heading{grid-column:2;grid-row:1;min-height:44px;margin:0;justify-content:center}
 .job-asset-navigator:not(.navigator-full):not(.navigator-collapsed) .navigator-heading h2{display:none}
 .job-asset-navigator:not(.navigator-full):not(.navigator-collapsed) .job-export-actions{grid-column:1;grid-row:1;margin:0;padding:0}
}

/* Workspace settings and small, explicit offline states. */
#workspaceSettingsDialog{width:min(660px,calc(100vw - 24px));max-height:90dvh;overflow:auto}
#workspaceStorageUsage{padding:12px;background:#edf4f5;border-radius:8px;margin:12px 0;font-size:14px;line-height:1.6}
.job-sort-control{position:relative}.job-sort-control summary{cursor:pointer;font-size:14px;font-weight:700;padding:7px;border:1px solid #cbd9df;border-radius:6px;list-style:none}
.job-sort-control label{position:absolute;z-index:15;right:0;top:34px;width:195px;background:white;padding:12px;box-shadow:0 5px 18px #17344830;border-radius:8px}
.photo{position:relative}.photo-availability{display:flex;align-items:center;justify-content:center;min-height:90px;padding:10px;text-align:center;font-size:14px;color:#526977;background:#edf2f4;border-radius:5px;line-height:1.4}.photo-availability[hidden]{display:none}
img[data-picture-asset]:not([src]){display:none}.activity-record-link{padding:3px 0;border:0;background:transparent;text-align:left;font-weight:700;color:#155a70;text-decoration:underline;text-underline-offset:3px;max-width:100%;white-space:normal}
.offline-job-notice{max-width:650px;margin:20px}.offline-job-notice h2{font-size:20px}

.jobs-layout .workspace-navigator .navigator-heading{display:flex!important}
@media(max-width:800px){.jobs-layout .job-sort-control>summary{min-height:44px;display:flex;align-items:center;box-sizing:border-box;padding:8px 12px}.jobs-layout .navigator-controls{align-items:center}}

#workspaceSettingsDialog{width:min(620px,calc(100vw - 20px));padding:16px;max-height:94dvh;box-sizing:border-box}#workspaceSettingsDialog .modalhead{margin-bottom:8px}#workspaceSettingsDialog h2{font-size:20px}#workspaceSettingsDialog h3{font-size:14px;margin:0 0 8px}#workspaceSettingsDialog h3 small{font-size:13px;color:#60778b;font-weight:400;margin-left:6px}.workspace-settings-section{padding:11px 0;border-top:1px solid #c9d4de}.workspace-settings-section .muted,.workspace-history-hint{font-size:13px;line-height:1.4;margin:7px 0}.workspace-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workspace-settings-grid label{font-size:14px;margin:0}.workspace-settings-grid select{font-size:14px;min-height:40px;padding:7px 9px}.workspace-settings-section .inline-check{font-size:14px;margin:8px 0}.report-photo-sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;border:0;margin:0}.report-photo-sizes legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.report-photo-sizes label{display:flex;align-items:start;gap:7px;padding:10px 8px;border:1px solid #b8c8d6;border-radius:7px;margin:0;font-size:14px;background:white;cursor:pointer}.report-photo-sizes label:has(input:checked){background:#edf5f1;border-color:#287c5b}.report-photo-sizes input{width:17px;height:17px;flex:none;margin:0;accent-color:#287c5b}.report-photo-sizes small{display:block;font-size:12px;color:#60778b;margin-top:4px}.workspace-settings-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workspace-settings-tools button,#clearOfflineData{font-size:14px;min-height:40px;padding:7px 10px}.workspace-storage-help{display:inline-block;font-size:13px;margin-left:6px}.workspace-storage-help summary{cursor:pointer}.workspace-storage-help p{max-width:400px;font-size:13px}.workspace-settings-section #workspaceStorageUsage{margin-bottom:7px}#workspaceSettingsDialog .editor-actions{position:sticky;bottom:-16px;background:white;padding:10px 0 2px;margin:7px 0 0;border-top:1px solid #c9d4de}#workspaceSettingsDialog .form-message:empty{display:none}
@media(max-width:800px){#workspaceSettingsDialog{padding:12px}#workspaceSettingsDialog .editor-actions{bottom:-12px}.workspace-settings-grid select{font-size:16px;min-height:44px}.report-photo-sizes{gap:5px}.report-photo-sizes label{padding:9px 5px;gap:5px;font-size:14px}.report-photo-sizes small{font-size:11px}.workspace-settings-tools button,#clearOfflineData{min-height:44px}.workspace-storage-help{display:block;margin:7px 0 0}.report-photo-sizes input{width:16px;height:16px}}

/* Sort belongs to the Jobs header, before its existing new-job action. */
.navigator-section>[data-nav-node=jobs]>summary{padding-right:7px;gap:5px;overflow:visible}
[data-nav-node=jobs]>summary>.navigator-branch-label{flex:1;min-width:0}
[data-nav-node=jobs]>summary>.navigator-add{position:static;flex:none;min-width:34px;min-height:34px;padding:3px 7px;margin:0;font-size:20px}
[data-nav-node=jobs]>summary>.navigator-add .add-label{display:none}
[data-nav-node=jobs]>summary>.job-sort-control{flex:none;margin:0;max-width:68px}
[data-nav-node=jobs] .job-sort-control>button{display:flex;align-items:center;justify-content:center;min-height:34px;padding:5px 8px;margin:0;background:#f7faff;color:#183a58;border-color:#9eb2c9}
[data-nav-node=jobs] .job-sort-control label{right:-39px;left:auto;top:34px;width:min(210px,calc(100vw - 44px));font-size:14px;z-index:70}

/* Inline fields overlay existing text space; cards and thumbnails keep their size. */
.navigator-full .quick-asset-card{position:relative;box-sizing:border-box;overflow:hidden;cursor:default;text-align:left}
.navigator-full .quick-open-asset{position:absolute;top:5px;left:5px;right:5px;width:calc(100% - 10px);height:35px;min-height:0;margin:0;padding:0;border:0;background:transparent;color:transparent;z-index:1}
.navigator-full .quick-open-asset:focus-visible{outline:2px solid #bd3155;outline-offset:0}
.navigator-full .quick-description-host{position:relative;display:block!important;overflow:hidden;min-width:0}
.navigator-full .quick-field{position:absolute;inset:0;display:flex;flex-direction:column;margin:0;min-height:0;min-width:0;text-align:left;font-size:13px;font-weight:500;color:#183a58;gap:3px}
.navigator-full .quick-field-title{font-size:13px;line-height:14px;flex:none}
.navigator-full .quick-field textarea,.navigator-full .quick-field input{width:100%;min-width:0;min-height:0;margin:0;padding:4px 5px;border:1px solid #9eb2c9;border-radius:4px;background:white;color:#183a58;font-size:14px;line-height:1.3;box-sizing:border-box}
.navigator-full .quick-field textarea{flex:1;height:0;resize:none;overflow:auto}
.navigator-full .quick-save-state{font-size:12px;line-height:12px;flex:none;color:#425c77}
.navigator-full .quick-picture-pages{display:flex;align-items:flex-start;gap:7px;overflow-x:auto;overflow-y:hidden;max-width:100%;width:100%;scrollbar-width:thin}
.navigator-full .quick-picture-pages .tree-picture{flex:none}
.navigator-full .quick-picture-host{position:relative}
.navigator-full .quick-photo-field{top:auto;bottom:0;height:23px;display:block}
.navigator-full .quick-photo-field input{height:23px;padding:2px 4px;font-size:14px}
.navigator-full .quick-photo-field .quick-field-title,.navigator-full .quick-photo-field .quick-save-state{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.navigator-full .quick-asset-card .tree-picture-strip{align-content:start}
.photo-capture-comment{display:block;font-size:14px;margin:6px 0 0}.photo-capture-comment textarea{font-size:16px;line-height:1.45;min-height:80px;width:100%;resize:vertical;margin-top:4px;padding:7px 8px}
@media(max-width:800px){[data-nav-node=jobs]>summary>.navigator-add,[data-nav-node=jobs] .job-sort-control>button{min-height:44px;min-width:44px}[data-nav-node=jobs] .job-sort-control label{top:44px}.navigator-full .quick-field textarea,.navigator-full .quick-field input,.photo-capture-comment textarea{font-size:16px}}

/* Native dialog close keeps its normal lifecycle while CSS animates the exit. */
@media(prefers-reduced-motion:no-preference){
 dialog{opacity:0;transition:opacity 150ms ease,display 150ms allow-discrete,overlay 150ms allow-discrete}
 dialog[open]{opacity:1}
 dialog::backdrop{opacity:0;transition:opacity 150ms ease,display 150ms allow-discrete,overlay 150ms allow-discrete}
 dialog[open]::backdrop{opacity:1}
 @starting-style{dialog[open]{opacity:0}dialog[open]::backdrop{opacity:0}}

 @keyframes fieldbook-expand{from{opacity:.35;translate:0 -3px}to{opacity:1;translate:0 0}}
 .workspace-enter .job-workspace,.workspace-enter .navigator-full{animation:fieldbook-window-in 160ms ease-out}
 @keyframes fieldbook-window-in{from{opacity:0}to{opacity:1}}
}

.navigator-full .quick-tight .quick-field-title,.navigator-full .quick-tight .quick-save-state{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.navigator-full .quick-tight .quick-field textarea{height:100%;flex:auto;padding:2px 4px;line-height:1.2}

.job-sort-control [hidden]{display:none!important}.job-sort-control{display:block;position:relative}.job-sort-control>button{font-size:14px}.job-sort-control>label{position:absolute;z-index:70}


/* Deliberate interaction feedback is separate from sync renders. */
button,label.button,summary{transition:background-color .14s ease,box-shadow .14s ease,transform .1s ease}
button:active:not(:disabled),label.button:active{transform:scale(.97);filter:brightness(.92)}
button:focus-visible,label.button:focus-within,summary:focus-visible{outline:2px solid #357cc1;outline-offset:2px}
#takePictureButton{background:#174f7b;color:#fff;border-color:#174f7b;font-weight:700}
.asset-editor-result-note{display:flex!important;flex-direction:column;gap:10px}
.asset-editor-result-note>label{width:100%;box-sizing:border-box}
.asset-status-sort{position:relative;min-width:0}
.asset-status-sort>summary{padding:8px 10px;border:1px solid #9eb2c9;border-radius:6px;background:#f7faff;cursor:pointer;font-size:14px;font-weight:700;min-height:34px;box-sizing:border-box;display:flex;align-items:center}
.asset-status-sort>label{position:absolute;right:0;top:100%;z-index:65;background:white;padding:12px;width:min(210px,calc(100vw - 30px));box-sizing:border-box;box-shadow:0 5px 18px #17344830;border-radius:8px}
.full-asset-sort{flex-wrap:wrap;align-items:center}
.filter-clock{position:relative;display:inline-block;width:14px;height:14px;border:1.5px solid currentColor;border-radius:50%;margin-left:7px;vertical-align:middle;flex:none}
.filter-clock:before,.filter-clock:after{content:'';position:absolute;background:currentColor;left:6px;bottom:6px;width:1.5px;transform-origin:bottom center;border-radius:2px}
.filter-clock:before{height:4px;transform:rotate(65deg)}
.filter-clock:after{height:6px;animation:filter-countdown var(--clock-duration,2000ms) linear both}
@keyframes filter-countdown{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.navigator-heading .navigator-controls{display:flex;flex-direction:row;gap:4px;margin-left:auto}
#toggleNavigatorListOnly{min-width:34px;min-height:34px;padding:5px 8px}
#toggleNavigatorListOnly[aria-pressed=true]{background:#174f7b;color:white}
/* Focus keeps the chosen path and hides menu chrome without changing the tree. */
.focus-sibling-hidden{display:none!important}
.navigator-list-only .navigator-empty,.navigator-list-only .navigator-footer,
.navigator-list-only .job-export-actions,.navigator-list-only .asset-controls,
.navigator-list-only .full-asset-filters,.navigator-list-only .full-asset-search,
.navigator-list-only .job-search-label,.navigator-list-only .job-sort-control,
.navigator-list-only .job-sort-menu,.navigator-list-only .navigator-counts{display:none!important}
#toggleNavigatorListOnly{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;white-space:nowrap}
#toggleNavigatorListOnly .focus-label{font-size:14px;font-weight:650}
#toggleNavigatorListOnly[data-state=collapsed]{background:#174f7b;color:#fff;border-color:#174f7b}
#toggleNavigatorListOnly[data-state=expanded]{background:#edf4fa;color:#174f7b;border-color:#91aac3}
.navigator-list-only .active-job-navigation{min-height:0}
@media(max-width:800px){
 #toggleNavigatorListOnly{min-width:44px;min-height:44px}
 .job-asset-navigator:not(.navigator-full):not(.navigator-collapsed) .active-job-navigation{grid-template-columns:minmax(0,1fr)!important}
 .job-asset-navigator:not(.navigator-full):not(.navigator-collapsed) .navigator-heading{grid-column:1!important;grid-row:auto!important;justify-content:flex-end!important}
 .job-asset-navigator:not(.navigator-full):not(.navigator-collapsed) .job-export-actions{grid-column:1!important;grid-row:auto!important}
 .navigator-list-only .active-job-navigation{display:block!important}
 .asset-status-sort>summary{min-height:44px}
}
@media(prefers-reduced-motion:no-preference){
 dialog{transition:opacity .17s ease,transform .17s ease,display .17s allow-discrete,overlay .17s allow-discrete;opacity:0;transform:translateY(8px)}
 dialog[open]{opacity:1;transform:translateY(0)}
 @starting-style{dialog[open]{opacity:0;transform:translateY(8px)}}
 dialog::backdrop{transition:background-color .17s ease,display .17s allow-discrete,overlay .17s allow-discrete}
 @starting-style{dialog[open]::backdrop{background-color:transparent}}
 .asset-filter-options::details-content{transition:opacity .15s ease,content-visibility .15s allow-discrete;opacity:0}
 .asset-filter-options[open]::details-content{opacity:1}
}
@media(prefers-reduced-motion:reduce){button,label.button,summary{transition:none}.filter-clock:after{animation:none}}

#editor .asset-editor-result-note>label:first-child{max-width:none}


.workspace-navigator .asset-filter-options>summary{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:650;min-height:36px;padding:7px 5px;cursor:pointer;border:1px solid #91aac3;border-radius:4px;background:#cfdeed;color:#234d6e;list-style:none}
.workspace-navigator .asset-filter-options>summary:after{margin-left:auto}
@media(max-width:800px){.workspace-navigator .asset-filter-options>summary{min-height:44px}}
@media(max-width:800px){.workspace-navigator .asset-filter-options>summary{min-height:40px}}
@media(min-width:600px) and (max-width:800px) and (max-height:600px){
 .job-asset-navigator:not(.navigator-full):not(.navigator-collapsed) .active-job-navigation{grid-template-columns:minmax(0,1fr) 88px!important}
 .job-asset-navigator:not(.navigator-full):not(.navigator-collapsed) .navigator-heading{grid-column:2!important;grid-row:1!important;justify-content:center!important}
 .job-asset-navigator:not(.navigator-full):not(.navigator-collapsed) .job-export-actions{grid-column:1!important;grid-row:1!important}
 .job-asset-navigator .navigator-controls{gap:3px}
}

.job-sort-menu{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border-bottom:1px solid #a8bed0;background:#edf4fa}
.job-sort-menu[hidden]{display:none!important}
.job-sort-menu button{min-height:44px;flex:1 1 100px;margin:0;padding:6px;font-size:14px}
.job-sort-menu button[aria-pressed=true]{background:#174f7b;color:#fff;border-color:#174f7b}
.full-asset-filters{flex:none;margin:0 0 8px;min-width:0}
.full-filter-content{display:flex;flex-direction:column;gap:10px;padding:10px;background:#f3f7fb;max-height:40vh;overflow:auto;overscroll-behavior:contain}
.full-filter-content fieldset{display:flex;flex-wrap:wrap;align-items:center;gap:3px 14px;min-width:0;margin:0;padding:8px;border:1px solid #adbfce;border-radius:5px}
.full-filter-content legend{font-size:14px;font-weight:700;color:#173956}
.full-filter-content .inline-check{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:44px;margin:0;font-size:14px;overflow-wrap:anywhere}
.full-filter-content input[type=checkbox]{width:19px;height:19px;flex:none;margin:0;accent-color:#174f7b}
.full-filter-content .muted{flex-basis:100%;font-size:13px;margin:0 0 5px}
.tree-status.failed{color:#fff;background:#b3243b;border-color:#9b1930}
.asset.is-failed{border-left:4px solid #b3243b}
@media(max-width:600px){.full-filter-content{grid-template-columns:1fr;gap:6px;max-height:42vh}.full-filter-content fieldset{padding:5px 8px}.full-filter-content .inline-check{min-height:44px}}

.workspace-navigator .full-asset-filters{flex:none;max-height:none;overflow:visible}
@media(max-height:600px){
 .navigator-full .full-asset-filters{position:relative;z-index:30}
 .navigator-full .full-filter-content{position:absolute;left:0;right:0;top:100%;max-height:55dvh;border:1px solid #a8bed0;box-shadow:0 5px 18px #17344830}
}

.full-filter-content .inline-check{max-width:100%;flex:0 1 auto}.full-filter-content legend{padding:0 4px}

/* Each filter category occupies one wrapping row, with a shared label column. */
.full-filter-content fieldset{position:relative;border:0;border-bottom:1px solid #c2cfdb;border-radius:0;padding:3px 0;gap:3px 12px}
.full-filter-content fieldset:last-child{border-bottom:0}
.full-filter-content legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.full-filter-row-label{flex:0 0 62px;font-size:14px;font-weight:700;color:#173956}

/* Keep state labels inside the focus button, including phone and landscape headers. */
#toggleNavigatorListOnly{width:auto;min-width:86px;padding:5px 8px;flex:none}
.workspace-navigator .full-asset-filters[open]{max-height:none;overflow:visible}
.full-filter-content fieldset{flex:none}
@media(min-width:600px) and (max-width:800px) and (max-height:600px){
 .job-asset-navigator:not(.navigator-full):not(.navigator-collapsed) .active-job-navigation{grid-template-columns:minmax(0,1fr) max-content!important}
}

.full-asset-filters[data-auto-closing]::details-content{transition:none!important}

/* Keep Navigator controls on a common baseline without moving expanded filters. */
@media(min-width:801px){.workspace-navigator .tree-filter-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:start}.workspace-navigator .tree-filter-pair>label{margin:0}.workspace-navigator .tree-filter-pair>.asset-filter-options{margin:21px 0 0}.workspace-navigator .tree-filter-pair>.asset-filter-options>summary{height:40px;min-height:40px;box-sizing:border-box}.attendance-primary{grid-template-columns:repeat(6,minmax(0,1fr))}}
.job-description{white-space:pre-wrap;overflow-wrap:anywhere}.job-overview-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.job-overview-actions label.button{margin:0}.attendance-primary input{min-width:0}

@media(min-width:801px){.workspace-navigator .tree-filter-pair>label{display:grid;gap:4px;line-height:16px}.workspace-navigator .tree-filter-pair>label select{margin:0;height:40px}.workspace-navigator .tree-filter-pair>.asset-filter-options{margin-top:20px}}
.history-report-select{font-size:14px;margin-bottom:6px}.activity-history-actions{flex-wrap:wrap}

.attendance-primary,.attendance-day{align-items:end}

/* Navigator-launched forms use the same horizontal opening direction. */
@media(prefers-reduced-motion:no-preference){dialog{transition:opacity 160ms ease,display 160ms allow-discrete,overlay 160ms allow-discrete;opacity:0;transform:none}dialog[open]{opacity:1;transform:none}@starting-style{dialog[open]{opacity:0;transform:none}}}
/* Readable inline notes, with each photo and its comment kept together. */
.navigator-full .quick-asset-card{height:auto;min-height:0;align-content:start}
.navigator-full .quick-description-host{height:auto;overflow:visible}
.navigator-full .quick-field{position:static;display:flex;height:auto;gap:5px}
.navigator-full .quick-field textarea{flex:auto;height:auto;min-height:80px;resize:vertical;font-size:14px;line-height:1.4}
.navigator-full .quick-photo-field .quick-field-title,.navigator-full .quick-photo-field .quick-save-state{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}
.navigator-full .quick-picture-pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));overflow:visible;gap:14px}
.navigator-full .quick-picture-pages .tree-picture{display:flex;flex-direction:column;width:auto;max-width:none;height:auto;min-width:0;gap:5px}
.navigator-full .quick-picture-pages .tree-picture img{width:100%;height:165px;object-fit:contain;background:#e8eef4}
.navigator-full .quick-photo-field{width:100%;min-width:0}
.navigator-full .quick-asset-card .tree-asset-body{grid-template-columns:1fr}
.navigator-full .quick-description-host{grid-row:1}
.navigator-full .quick-asset-card .tree-picture-strip{display:flex;width:100%}
@media(min-width:801px){.navigator-full .asset-tree-items{grid-template-columns:repeat(auto-fill,minmax(520px,1fr))}.navigator-full .quick-description-field textarea{min-height:95px}}
@media(max-width:800px){.navigator-full .quick-picture-pages{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}.navigator-full .quick-picture-pages .tree-picture{flex:0 0 85%;scroll-snap-align:start}.navigator-full .quick-field textarea{font-size:16px;min-height:88px}}

/* Menus fade their contents without changing flex-item heights. */
.navigator-branch::details-content,.asset-tree-group::details-content{opacity:1;transition:none}
/* Navigator presses must not scale the list or flash a brightness overlay. */
#navigatorPane button,#navigatorPane label.button,#navigatorPane summary{transition:background-color .14s ease}
#navigatorPane button:active:not(:disabled),#navigatorPane label.button:active{transform:none;filter:none}
/* Every tip uses the same available width before measuring its reserved height. */
.tip-content>div{flex:1;min-width:0}

/* Job rows keep address and ID; availability is shown once in the open job. */
.compact-job-meta .job-offline-status{font-size:12px;line-height:14px;color:#42586f;white-space:nowrap}

/* Every attendance day uses the same columns; totals apply to the whole job. */
#customerReportDialog{width:min(960px,94vw)}
#customerReportForm .attendance-row{grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr)) minmax(0,.7fr) minmax(0,1.2fr) 96px;gap:0 10px;align-items:end}
#customerReportForm .attendance-row>label{min-width:0}
#customerReportForm .attendance-row :is(input,select){min-width:0;width:100%;height:44px;padding:9px 8px;font:inherit;font-size:16px}
#customerReportForm .attendance-row>button{height:44px;min-width:0;margin:12px 0;padding:8px;white-space:nowrap}
#customerReportForm .attendance-totals{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:end;gap:14px}
#customerReportForm .attendance-totals>.inline-check{align-self:end;min-height:44px}
@media(max-width:1023px){#customerReportForm .attendance-row{grid-template-columns:repeat(3,minmax(0,1fr))}#customerReportForm .attendance-action-space{display:none}}
@media(max-width:600px){#customerReportForm .attendance-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}#customerReportForm .attendance-row>label:first-child,#customerReportForm .attendance-row>button{grid-column:1/-1}#customerReportForm .attendance-totals{grid-template-columns:1fr;gap:0}}

.unified-layout>.compact-job-header>.job-back-navigation{align-self:start}

.site-picture-comment{margin:8px 0}.site-picture-comment label{display:block;font-size:14px}.site-picture-comment textarea{width:100%;max-width:100%;min-height:70px;font-size:16px;resize:vertical}.site-picture-comment button{min-height:40px;padding:7px 10px;font-size:14px}.site-picture-comment small{display:block;color:#42556d;font-size:13px;margin-top:4px}
.site-pictures .photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:14px;align-items:start}.site-pictures .photos figure{width:100%;min-width:0;margin:0;padding:10px;border:1px solid #c4cedb;border-radius:7px;background:white}.site-pictures .photo{display:block;width:100%;height:160px}.site-pictures .photo img{width:100%;height:100%;object-fit:contain}.site-picture-comment textarea{font-family:inherit;font-size:16px;font-weight:400;line-height:1.5}.site-pictures [data-remove-site-picture]{width:auto;min-height:40px;padding:7px 10px;font-size:14px}
