body.pp-mobile-no-scroll{overflow:hidden}
.pp-mobile-offline-banner{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:1200;transform:translateX(-50%);padding:9px 14px;border-radius:999px;background:#92400e;color:#fff;font:700 12px/1.2 var(--ff,sans-serif);box-shadow:0 8px 24px rgba(15,22,41,.24)}
.pp-mobile-biometric-lock{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:24px;background:#0f1629;color:#fff;text-align:center}
.pp-mobile-biometric-lock[hidden]{display:none}
.pp-mobile-biometric-lock>div{width:min(360px,100%)}
.pp-mobile-biometric-lock img{width:86px;height:86px;border-radius:22px;margin-bottom:22px}
.pp-mobile-biometric-lock h1{font:800 24px/1.2 var(--ffd,var(--ff,sans-serif));margin:0 0 10px}
.pp-mobile-biometric-lock p{color:#c5caf9;margin:0 0 22px}
.pp-mobile-biometric-lock button{min-height:46px;padding:0 24px;border:0;border-radius:10px;background:#4f63e7;color:#fff;font:700 14px var(--ff,sans-serif)}
.pp-capacitor body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.pp-capacitor .topbar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
.pp-role-nav-dot{width:16px;display:inline-grid;place-items:center;color:#92a0ff;font-size:18px;line-height:1}
.pp-sync-panel{display:grid;gap:4px;margin:9px 0;padding:9px;border-radius:9px;background:#f7f8fc}
.pp-sync-panel small{font:600 9.5px/1.35 system-ui,sans-serif;color:#75809a}
.pp-sync-panel small[data-kind="error"]{color:#b1283a}
.pp-sync-panel small[data-kind="pending"]{color:#996607}
.pp-role-space-notice{margin:10px 18px 0;padding:9px 11px;border:1px solid #dfe4ef;border-radius:10px;background:#f8f9fd;color:#56617a;font:600 11px/1.45 system-ui,sans-serif}
.pp-published-row .gr-emp,.gr-emp.pp-published-row{background:#f7f8fc}
.pp-published-badge{display:inline-flex;margin-top:3px;padding:2px 6px;border-radius:99px;background:#eaf0ff;color:#3851bd;font-size:9px;font-weight:800}
.sh-blk.pp-published-shift{cursor:default;box-shadow:none;background:#6576d8!important}
.sh-blk.pp-published-shift .sh-blk-c{opacity:.86}
@media(max-width:768px){.pp-role-space-notice{margin:8px 10px 0}.pp-sync-panel small{font-size:9px}}
.pp-capacitor .sb{padding-left:env(safe-area-inset-left)}
@media (pointer:coarse){
  .sh-blk,.sh-stack,.dg-shift,.gr-cell,.dg-row{-webkit-touch-callout:none;touch-action:pan-x pan-y}
  .planning-context-menu button{min-height:46px;font-size:14px}
}
