/* UX audit fixes — no changes to project records. */
.fpm-role-actions,.fpm-role-lanes{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.fpm-role-actions>a,.fpm-role-actions>button,.fpm-role-lanes>a{min-width:0!important;height:auto!important;overflow-wrap:anywhere;white-space:normal!important}
.fpm-role-actions b,.fpm-role-actions small,.fpm-role-lanes b,.fpm-role-lanes small{min-width:0!important;max-width:100%;white-space:normal!important;overflow-wrap:anywhere}
.ux-offline{border:1px solid #cbd9d0;border-radius:12px;margin:12px 0;padding:10px;color:#17382e;background:#f5f8f5}.ux-offline summary{cursor:pointer;font-size:14px;min-height:32px}.ux-offline .fpm-push-card{margin:8px 0 0}
.fpm-app:has([data-screen="profile"]:not([hidden])) .fpm-drawing-os-trigger{display:none!important}
@media(max-width:900px){
.fpm-ui-recovery .fpm-topbar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;height:auto!important;min-height:70px!important;gap:8px!important;padding:8px 12px!important}
.fpm-ui-recovery .fpm-topbar .fpm-3d-model-trigger{position:static!important;inset:auto!important;min-height:44px!important;z-index:auto!important;flex:none;font-size:12px}
.fpm-ui-recovery .fpm-site-summary{flex:1 1 170px;min-width:0!important;padding:0!important;margin:0!important}
.fpm-ui-recovery .fpm-topbar [data-action="open-drawing-os"]{position:static!important;inset:auto!important;min-height:44px!important}
.fpm-ui-recovery .fpm-topbar [data-action="open-outbox"]{position:static!important;inset:auto!important}
.fpm-role-actions,.fpm-role-lanes{gap:8px!important}
}
button:disabled{cursor:not-allowed}.fpm-capture-modal [data-action="save-photo"]:disabled{opacity:.5}


.fpm-role-actions>a,.fpm-role-actions>button,.fpm-role-lanes>a{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:8px!important;padding:14px!important}
.fpm-role-actions b,.fpm-role-actions small,.fpm-role-lanes b,.fpm-role-lanes small{width:100%!important;word-break:normal!important;overflow-wrap:break-word!important}
@media(max-width:900px){.fpm-ui-recovery .fpm-main{padding-top:calc(var(--field-header-height,140px) + 8px)!important}.fpm-ui-recovery .fpm-topbar .fpm-site-summary{display:flex!important;flex-wrap:wrap!important;gap:6px!important}.fpm-site-summary>strong{flex-basis:100%}}
@media(max-width:900px){
.fpm-ui-recovery .fpm-topbar{display:grid!important;grid-template-columns:auto minmax(0,1fr) 44px!important;align-items:start!important}
.fpm-ui-recovery .fpm-topbar>a:first-child{grid-column:1;grid-row:1}
.fpm-ui-recovery .fpm-topbar .fpm-site-summary{grid-column:2;grid-row:1;display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-width:0!important}
.fpm-ui-recovery .fpm-topbar .fpm-site-summary>strong{white-space:normal!important;font-size:13px!important}
.fpm-ui-recovery .fpm-topbar>a:nth-of-type(2){grid-column:1/3;grid-row:2;justify-self:start}
.fpm-ui-recovery .fpm-topbar .fpm-user{position:static!important;grid-column:3;grid-row:1;width:44px;height:44px;margin:0!important}
.fpm-ui-recovery .fpm-topbar .fpm-sync{grid-column:3;grid-row:2;margin:0!important}
.fpm-ui-recovery .fpm-drawing-select-wrap{width:100%!important;min-width:0!important}.fpm-ui-recovery .fpm-drawing-select-wrap select{width:100%!important;min-width:0!important}
}
@media(max-width:900px){
html body.fpm-ui-recovery .fpm-app .fpm-topbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px!important;grid-template-rows:auto auto auto!important;grid-template-areas:none!important}
html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-site-summary{display:contents!important}
html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-site-summary>strong{grid-area:1 / 2!important;width:auto!important;min-width:0!important;max-width:none!important;align-self:center!important;line-height:1.3!important}
html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-drawing-select-wrap{grid-area:2 / 1 / 3 / 3!important;position:relative!important;width:100%!important}
html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-drawing-os-trigger{grid-area:3 / 1!important;width:100%!important}
html body.fpm-ui-recovery .fpm-app .fpm-topbar>a:nth-of-type(2){grid-area:3 / 2 / 4 / 4!important;justify-self:stretch!important}
html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-sync{grid-area:2 / 3!important;align-self:center!important}
html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-user{grid-area:1 / 3!important;align-self:center!important}
html body.fpm-ui-recovery .fpm-app .fpm-topbar>a:first-child{justify-self:start!important}
}

/* Keep filter controls outside the scrolling fields, including short landscape screens. */
.fpm-ui-recovery .fpm-filters{display:flex!important;flex-direction:column;overflow:hidden!important;max-height:none!important;padding:0!important;gap:0!important;}
.fpm-ui-recovery .fpm-filters-title{position:relative!important;top:auto!important;flex:0 0 auto;margin:0!important;padding:12px 16px!important;background:var(--ui-surface,#fff)!important;z-index:5;}
.fpm-ui-recovery .fpm-filters-title button{flex:0 0 48px;min-width:48px;min-height:48px;}
.fpm-filter-fields{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px;}
.fpm-ui-recovery .fpm-filter-actions{position:relative!important;inset:auto!important;flex:0 0 auto;margin:0!important;padding:12px 16px!important;}
@media(max-width:700px){.fpm-ui-recovery .fpm-filters{inset:calc(env(safe-area-inset-top,0px) + 8px) 8px calc(env(safe-area-inset-bottom,0px) + 78px)!important;width:auto!important;}.fpm-filter-fields{grid-template-columns:1fr;}}

.fpm-ui-recovery .fpm-filters[hidden]{display:none!important;}

/* The viewer owns pinch/pan; do not let browser page gestures cancel pointers. */
[data-inspection-canvas], .fpm-photo-view-card .fpm-swipe-stage img {
  touch-action: none !important;
}
/* Unified field workspace: one header, one work area, progressive tools. */
html body.fpm-ui-recovery .fpm-app .fpm-topbar [data-cabot-3d-project-link],
html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-drawing-select-wrap{display:none!important}
html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-drawing-os-trigger{min-height:48px!important}
.ux-workbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;background:#fff;border-bottom:1px solid #d4ded7;position:relative;z-index:15;color:#183d30}
.ux-workbar>a{flex:1;min-width:70px;color:inherit;text-decoration:none}.ux-workbar button,.ux-workbar summary{min-height:48px;padding:10px 12px;border:1px solid #c7d6cc;border-radius:10px;background:#fff;color:#17382e;font:600 14px system-ui;cursor:pointer}.ux-workbar .fpm-primary{background:#b7552d;color:white;border:0}.ux-workbar details{position:relative}.ux-workbar summary{display:flex;align-items:center}.ux-area-actions{position:absolute;right:0;top:100%;width:230px;display:grid;gap:6px;padding:10px;background:white;border:1px solid #c7d6cc;box-shadow:0 8px 24px #0002;border-radius:12px}.ux-area-actions a{padding:14px;color:#17382e;text-decoration:none;border-radius:8px;background:#f1f5f2}
.fpm-photo-mode .fpm-drawing-toolbar{display:none!important}.fpm-full-mode .fpm-mode-switch button{min-height:48px!important}.fpm-camera-fab,.fpm-ipad-action-bar{display:none!important}
.ux-filter-more{grid-column:1/-1}.ux-filter-more>summary{padding:14px;background:#eef4ef;border-radius:8px;cursor:pointer}.ux-filter-more label{margin-top:12px}
.fpm-active-filters{padding:6px 10px!important;margin:6px 0!important}.fpm-active-filters>div>strong{display:none!important}.fpm-active-filters button{min-height:44px!important}.fpm-gallery-screen .fpm-section-head small{display:none!important}.fpm-gallery-screen .fpm-section-head{padding:8px!important}.fpm-gallery-screen .fpm-section-actions button{min-width:48px;min-height:48px}.fpm-gallery-screen .fpm-section-head strong{font-size:21px!important}
.ux-undo{position:fixed;bottom:85px;left:12px;right:12px;z-index:9999;display:flex;gap:10px;align-items:center;padding:12px;background:#17382e;color:#fff;border-radius:12px;box-shadow:0 5px 25px #0004}.ux-undo[hidden]{display:none!important}.ux-undo button{min-height:48px;padding:8px 12px;border:1px solid #fff9;color:#fff;background:transparent;border-radius:8px}.ux-undo span{flex:1}.ux-photo-history{margin:12px;padding:12px;border:1px solid #c7d6cc;border-radius:10px}.ux-photo-history summary{cursor:pointer;padding:10px}.ux-photo-history p{font-size:13px;overflow-wrap:anywhere}.ux-photo-history button{min-height:48px}.ux-management-link{display:block;padding:16px;color:#17382e;background:#eef4ef;border-radius:12px}
.fpm-capture-modal,.fpm-capture-modal *{box-sizing:border-box}.fpm-capture-modal .fpm-modal-card,.fpm-capture-modal .fpm-photo-batch,.fpm-capture-modal button{max-width:100%!important;min-width:0!important}.fpm-capture-modal{overflow-x:hidden!important}.fpm-capture-modal .fpm-source-tabs,.fpm-capture-modal .fpm-camera-launch{min-width:0!important;width:100%!important}
.fpm-admin-summary,.fpm-role-cockpit{margin-top:8px}.fpm-profile-overview{display:none!important}.fpm-profile-hub a[href="team-holidays.php"]{display:none!important}.fpm-profile-hub .fpm-hub-heading{display:none!important}
@media(max-width:900px){
 html body.fpm-ui-recovery .fpm-app .fpm-topbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px!important;grid-template-rows:auto auto!important;padding:8px 12px!important;gap:6px!important}
 html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-site-summary>strong{grid-area:1 / 2!important;font-size:12px!important}
 html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-drawing-os-trigger{grid-area:2 / 1!important;width:auto!important}
 html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-sync{grid-area:2 / 2 / 3 / 4!important;display:flex!important;width:auto!important;max-width:none!important;font-size:12px!important;justify-content:flex-end!important}
 html body.fpm-ui-recovery .fpm-app .fpm-topbar .fpm-sync [data-sync-label]{display:inline!important;max-width:160px!important;white-space:normal!important;font-size:12px!important}
 .ux-workbar{gap:6px;padding:6px 10px}.ux-workbar>a{flex-basis:100%;font-size:13px}.ux-workbar>button{flex:1}.ux-workbar details{flex:0}.fpm-gallery-screen{padding-top:6px!important}
}

.fpm-interface-photo .fpm-drawing-toolbar:has([data-page-controls]:not([hidden])){display:block!important}.fpm-interface-photo .fpm-drawing-toolbar:has([data-page-controls]:not([hidden])) .fpm-toolbar-primary>*:not([data-page-controls]){display:none!important}

.fpm-gallery-screen .fpm-section-actions button{position:relative}.fpm-gallery-screen .fpm-section-actions button:focus-visible{outline:3px solid #bc683e;outline-offset:2px}.fpm-workspace{padding-top:8px!important}.ux-workbar summary:focus-visible{outline:3px solid #bc683e}

/* Native dialog uses the top layer: drawing overflow and bottom navigation cannot cover it. */
.ux-action-dialog{box-sizing:border-box;width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #c7d6cc;border-radius:16px;background:#fff;color:#17382e;overflow:auto;overscroll-behavior:contain;box-shadow:0 16px 60px #0005}
.ux-action-dialog::backdrop{background:#102c2466}
.ux-action-dialog header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid #d4ded7;z-index:1}
.ux-action-dialog button,.ux-action-dialog a{box-sizing:border-box;min-height:48px;padding:12px 16px;border:1px solid #c7d6cc;border-radius:10px;background:#f1f5f2;color:#17382e;font:600 16px system-ui;text-decoration:none;cursor:pointer;text-align:left;white-space:normal}
.ux-action-dialog header button{min-width:48px;text-align:center;font-size:24px}
.ux-action-list{display:grid;gap:8px;padding:12px 16px 16px}
.ux-action-dialog :focus-visible{outline:3px solid #b7552d;outline-offset:2px}
