/* TOWI PRO6 regression hardening — loaded last */
/* Partner auth: navigation only exists visually after successful auth. */
body.partner-page #partnerLogin:not(.hidden) ~ .partner-tabs,
body.partner-page #partnerLogin:not(.hidden) + #partnerApp.hidden ~ .partner-tabs,
body.partner-page #partnerApp.hidden ~ .partner-tabs,
body.partner-page #partnerApp.hidden + .partner-tabs,
body.partner-page #partnerApp.hidden ~ nav.partner-tabs{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* Admin mobile header/nav: keep the navigation in normal flow. No floating overlay. */
@media(max-width:1050px){
  body.admin-page .admin-header{position:sticky!important;top:0!important;z-index:90!important}
  body.admin-page .admin-main{padding-top:14px!important}
  body.admin-page .mobile-admin-tabs{position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important;margin:0 0 16px!important;width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;padding:7px!important;background:#07111f!important;border-radius:14px!important;box-shadow:none!important;overflow:hidden!important;z-index:1!important;backdrop-filter:none!important}
  body.admin-page .mobile-admin-tabs button{min-width:0!important;max-width:100%!important;overflow:hidden!important;padding:10px 4px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#9fb0c6!important;font-size:11px!important;line-height:1.1!important;white-space:nowrap!important;text-overflow:ellipsis!important}
  body.admin-page .mobile-admin-tabs button.active{background:#12243a!important;color:#fff!important}
  body.admin-page .mobile-admin-tabs button.active:after{display:none!important}
}

/* Partner completed-work detail: one clean mobile scroll surface. */
body.partner-page .job-detail-dark{height:100dvh!important;max-height:100dvh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#071321!important;color:#fff!important;padding:0!important}
body.partner-page .job-detail-top{flex:0 0 auto!important;position:relative!important;z-index:3!important;padding:calc(18px + env(safe-area-inset-top,0px)) 18px 16px!important;background:#071321!important;border-bottom:1px solid #26384e!important}
body.partner-page .job-detail-top h2{color:#fff!important;opacity:1!important;margin:6px 0 8px!important}
body.partner-page .job-detail-scroll{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding:16px 16px calc(24px + env(safe-area-inset-bottom,0px))!important}
body.partner-page .job-summary-card,body.partner-page .job-detail-card{position:relative!important;height:auto!important;min-height:0!important;overflow:visible!important;margin:0 0 14px!important;padding:17px!important;background:#102037!important;border:1px solid #31445d!important;border-radius:20px!important;color:#fff!important}
body.partner-page .job-detail-card h3{display:block!important;position:static!important;margin:0 0 14px!important;color:#f7c53d!important;opacity:1!important;font-size:15px!important;line-height:1.2!important}
body.partner-page .job-detail-card b,body.partner-page .job-detail-card dd,body.partner-page .job-detail-card a,body.partner-page .job-summary-card strong{color:#fff!important;opacity:1!important;overflow-wrap:anywhere!important;word-break:normal!important}
body.partner-page .job-detail-card small,body.partner-page .job-detail-card dt,body.partner-page .job-summary-card span,body.partner-page .job-summary-card small{color:#aebbd0!important;opacity:1!important}
body.partner-page .job-detail-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important}
body.partner-page .job-detail-card dl{display:grid!important;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr)!important;gap:10px 14px!important;margin:0!important}
body.partner-page .job-detail-card dd{margin:0!important;min-width:0!important;text-align:left!important}
body.partner-page .route-line{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;margin:10px 0!important}
body.partner-page .route-line>div{min-width:0!important}
body.partner-page .route-line b{display:block!important;white-space:normal!important;line-height:1.35!important}
body.partner-page .job-detail-actions{display:none!important}
body.partner-page .job-detail-close{position:absolute!important;right:16px!important;top:calc(16px + env(safe-area-inset-top,0px))!important;z-index:5!important}

/* Partner company hub: finance KPI is only rendered when API explicitly permits it. */
.v44-company-kpis .finance-hidden{display:none!important}

/* Review queue cards are actionable. */
.pro2-review-item[data-id]{cursor:pointer}.pro2-review-item[data-id]:focus-within,.pro2-review-item[data-id]:hover{border-color:#aebdcd;box-shadow:0 6px 18px rgba(7,17,31,.07)}


/* PRO6 R3 mobile hardening */
@media(max-width:1050px){
 body.admin-page .mobile-admin-tabs{min-height:92px!important;height:auto!important;align-items:stretch!important;overflow:visible!important}
 body.admin-page .mobile-admin-tabs button{min-height:76px!important;height:auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:9px 3px 10px!important;white-space:normal!important;text-overflow:clip!important;overflow:visible!important;font-size:11px!important;line-height:1.08!important}
 body.admin-page .mobile-admin-tabs button span{display:block!important;font-size:25px!important;line-height:1!important;flex:0 0 auto!important}
 body.admin-page .mobile-admin-tabs button.active{min-height:76px!important}
}
body.partner-page .job-detail-card .route-line{min-height:58px!important;padding:4px 0!important;margin:0!important}
body.partner-page .job-detail-card .route-line+ .route-line{margin-top:14px!important;padding-top:14px!important;border-top:1px solid rgba(255,255,255,.08)!important}
body.partner-page .job-detail-card .route-line small{display:block!important;margin-bottom:4px!important;line-height:1.15!important}
body.partner-page .job-detail-card .route-line b{display:block!important;position:static!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.3!important;margin:0!important}
body.partner-page .job-detail-card{contain:none!important}
body.partner-page .job-detail-scroll{overflow-x:hidden!important}
body.admin-page .claim-record{width:100%!important;text-align:left!important;cursor:pointer!important}
body.admin-page .claim-record:hover,body.admin-page .claim-record:focus{border-color:#9eb2c9!important;box-shadow:0 8px 24px rgba(7,17,31,.08)!important;outline:none!important}
