/* v109 final runtime fixes: KPI gate, location cards, bottom nav, org chart, modals */
:root{--hr-v109-bottom-safe:calc(86px + env(safe-area-inset-bottom,0px));}
.employee-main{padding-bottom:var(--hr-v109-bottom-safe)!important;}
.employee-bottom-nav{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(360px,calc(100vw - 18px))!important;max-width:360px!important;bottom:8px!important;border-radius:22px!important;padding:7px!important;gap:5px!important;overflow:hidden!important;z-index:950!important;}
.employee-bottom-nav button{min-width:0!important;max-width:68px!important;height:58px!important;padding:6px 4px!important;overflow:hidden!important;white-space:normal!important;}
.employee-bottom-nav button strong{font-size:18px!important;line-height:1!important;display:block!important;}
.employee-bottom-nav button span{font-size:9px!important;line-height:1.1!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.employee-more-backdrop{z-index:960!important;}
.employee-more-sheet{z-index:970!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(340px,calc(100vw - 18px))!important;max-height:min(72vh,560px)!important;display:flex!important;flex-direction:column!important;border-radius:22px!important;overflow:hidden!important;}
.employee-more-sheet.hidden{display:none!important;}
.more-sheet-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;overflow-y:auto!important;max-height:calc(72vh - 72px)!important;padding:10px!important;overscroll-behavior:contain!important;}
.more-sheet-grid button{min-height:58px!important;padding:7px 5px!important;border-radius:12px!important;overflow:hidden!important;}
.more-sheet-grid button strong{font-size:18px!important;display:block!important;line-height:1!important;}
.more-sheet-grid button span{font-size:10px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.hr-toast,.hr-qc-toast,.message,.risk-box,.success-box,.danger-box{max-width:min(340px,calc(100vw - 28px))!important;max-height:36vh!important;overflow:auto!important;border-radius:16px!important;word-break:break-word!important;white-space:normal!important;line-height:1.6!important;}
.modal-backdrop .confirm-modal,.push-explain-overlay .confirm-modal,.live-location-alert-modal{width:min(340px,calc(100vw - 28px))!important;max-height:min(72vh,560px)!important;overflow:auto!important;border-radius:20px!important;padding:18px!important;}
.live-location-alert-actions,.employee-actions-row,.employee-actions-stack{gap:8px!important;}
.live-location-alert-actions .button,.employee-actions-row>.button,.employee-actions-row>button{min-width:0!important;max-width:100%!important;white-space:normal!important;line-height:1.35!important;}
.attendance-floating-reminder{width:min(330px,calc(100vw - 24px))!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;bottom:calc(var(--hr-v109-bottom-safe) + 8px)!important;border-radius:18px!important;overflow:hidden!important;}
.attendance-floating-reminder .button,.attendance-floating-reminder button{max-width:100%!important;white-space:normal!important;}
.readable-location{display:grid!important;gap:8px!important;background:rgba(5,17,35,.74)!important;border:1px solid rgba(65,185,255,.18)!important;border-radius:16px!important;padding:10px!important;min-width:0!important;}
.readable-location.compact{padding:8px!important;background:transparent!important;border-color:rgba(65,185,255,.12)!important;}
.readable-location strong{font-size:13px!important;line-height:1.55!important;white-space:normal!important;overflow-wrap:anywhere!important;color:#eaf7ff!important;}
.readable-location small{font-size:11px!important;color:#9fb7d6!important;}
.location-meta-row{display:flex!important;flex-wrap:wrap!important;gap:6px!important;align-items:center!important;}
.location-meta-row span,.location-meta-row a{font-size:11px!important;border-radius:999px!important;padding:5px 8px!important;background:rgba(17,42,74,.72)!important;border:1px solid rgba(94,185,255,.16)!important;text-decoration:none!important;}
.location-history-item{align-items:stretch!important;gap:10px!important;}
.location-history-main{min-width:0!important;display:grid!important;gap:5px!important;}
.location-history-item .list-item-side{align-self:center!important;}
.kpi-advanced .form-hint{border:1px solid rgba(255,193,7,.28)!important;background:rgba(255,193,7,.08)!important;border-radius:14px!important;padding:10px!important;color:#ffd88b!important;}
.kpi-advanced button[disabled]{opacity:.62!important;filter:saturate(.65)!important;cursor:not-allowed!important;}
.v109-kpi-closed-note{border:1px dashed rgba(255,193,7,.35)!important;background:rgba(255,193,7,.08)!important;border-radius:16px!important;padding:12px!important;color:#ffe3a3!important;}
.team-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
.team-summary-card{min-height:auto!important;padding:12px 10px!important;text-align:center!important;overflow:hidden!important;}
.team-summary-card strong{font-size:15px!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:break-word!important;}
.employee-org-tree{overflow-x:auto!important;padding:8px 4px 14px!important;}
.employee-org-tree-item{min-width:0!important;}
.employee-org-node{border-radius:18px!important;padding:12px!important;background:linear-gradient(180deg,rgba(8,29,56,.95),rgba(5,17,35,.98))!important;box-shadow:0 12px 28px rgba(0,0,0,.24)!important;}
.employee-org-node.is-me{outline:2px solid rgba(0,196,255,.75)!important;box-shadow:0 0 0 5px rgba(0,196,255,.12),0 12px 28px rgba(0,0,0,.24)!important;}
.employee-org-node.is-my-manager{border-color:rgba(185,102,255,.62)!important;}
.employee-org-node.is-direct-report{border-color:rgba(36,220,150,.62)!important;}
.org-node-head{gap:10px!important;align-items:center!important;}
.org-node-copy{min-width:0!important;}
.org-node-copy strong,.org-node-copy span{white-space:normal!important;overflow-wrap:break-word!important;}
.employee-org-children{margin-inline-start:16px!important;padding-inline-start:12px!important;border-inline-start:1px solid rgba(65,185,255,.18)!important;}
@media(max-width:480px){
  .team-overview-grid{grid-template-columns:1fr!important;}
  .employee-org-children{margin-inline-start:8px!important;padding-inline-start:8px!important;}
  .employee-org-node{padding:10px!important;}
  .employee-bottom-nav{width:min(340px,calc(100vw - 14px))!important;}
}
