.mobile-menu-shell{display:none}.sidebar-menu-icon{align-items:center;border:1px solid #ffffff18;border-radius:10px;color:#fff;display:inline-flex!important;flex:0 0 32px;height:32px;justify-content:center;min-width:32px!important;box-shadow:inset 0 1px #ffffff35,0 5px 14px #0003}.sidebar-menu-icon svg{height:18px;width:18px}.sidebar a:hover .sidebar-menu-icon{filter:brightness(1.15);transform:scale(1.04)}.sidebar a.active .sidebar-menu-icon{border-color:#fff7;box-shadow:inset 0 1px #fff8,0 7px 20px #0005;transform:scale(1.06)}.sidebar a{min-height:50px!important}.sidebar a>span:not(.sidebar-menu-icon){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tone-gold{background:linear-gradient(145deg,#f0d47f,#a8791c)!important;color:#17130a!important}.tone-amber{background:linear-gradient(145deg,#ffbe55,#d27612)!important;color:#241303!important}.tone-blue{background:linear-gradient(145deg,#65a9ff,#2862d8)!important}.tone-green{background:linear-gradient(145deg,#55d99a,#138153)!important}.tone-coral{background:linear-gradient(145deg,#ff806d,#c63d47)!important}.tone-violet{background:linear-gradient(145deg,#b68cff,#6948d4)!important}.tone-purple{background:linear-gradient(145deg,#df83e7,#8b3ca8)!important}.tone-cyan{background:linear-gradient(145deg,#55d7e5,#16839d)!important}.tone-slate{background:linear-gradient(145deg,#9da9b9,#4c596b)!important}
@media(max-width:850px){
  body.mobile-menu-open{overflow:hidden}
  .mobile-nav{align-items:center;background:#111113eb;border-top:1px solid #ffffff16;bottom:0;box-shadow:0 -14px 42px #0005;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:76px;justify-content:stretch;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));z-index:30}
  .mobile-nav a,.mobile-nav button{align-items:center;background:transparent;border:0;border-radius:16px;color:#9e9b95;display:flex;flex-direction:column;font:inherit;gap:3px;height:58px;justify-content:center;min-width:0;padding:5px;text-decoration:none}
  .mobile-nav a.active{background:linear-gradient(180deg,#d6b45c26,#d6b45c0d);color:#efd787}
  .mobile-nav button[aria-expanded="true"]{background:#d6b45c22;color:#efd787}
  .mobile-nav small{font-size:10px;font-weight:680;letter-spacing:0;line-height:1;max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-nav-icon{align-items:center;border:1px solid #ffffff26;border-radius:10px;box-shadow:inset 0 1px #ffffff55,0 5px 13px #0004;display:flex;height:31px;justify-content:center;width:34px}
  .mobile-nav-icon svg{height:20px;width:20px}
  .mobile-menu-shell{display:block;inset:0;position:fixed;z-index:60}
  .mobile-menu-scrim{backdrop-filter:blur(5px);background:#0008;border:0;border-radius:0;inset:0;opacity:0;position:absolute;transition:opacity .22s;width:100%}
  .mobile-menu-sheet{background:linear-gradient(180deg,#202023,#111113);border:1px solid #ffffff18;border-radius:28px 28px 0 0;bottom:0;box-shadow:0 -28px 80px #0009;color:#f6f3ed;display:flex;flex-direction:column;left:0;max-height:min(84vh,780px);padding:0 14px calc(16px + env(safe-area-inset-bottom));position:absolute;right:0;transform:translateY(104%);transition:transform .24s cubic-bezier(.2,.8,.2,1)}
  .mobile-menu-shell.open .mobile-menu-scrim{opacity:1}.mobile-menu-shell.open .mobile-menu-sheet{transform:none}
  .mobile-menu-sheet:before{background:#ffffff35;border-radius:99px;content:"";height:5px;margin:9px auto 2px;width:42px}
  .mobile-menu-sheet header{align-items:center;border-bottom:1px solid #ffffff13;display:flex;justify-content:space-between;padding:13px 8px 15px}
  .mobile-menu-sheet header small{color:#d6b45c;font-size:9px;font-weight:800;letter-spacing:.16em}.mobile-menu-sheet h2{color:#fff;font-size:27px;margin:3px 0 0}
  .mobile-menu-close{align-items:center;background:#ffffff0b;border:1px solid #ffffff17;border-radius:50%;color:#e7c96f;display:flex;height:42px;justify-content:center;padding:0;width:42px}.mobile-menu-close svg{height:22px;transform:rotate(45deg);width:22px}
  .mobile-menu-list{display:grid;gap:8px;grid-template-columns:1fr 1fr;overflow:auto;padding:14px 2px 10px;scrollbar-color:#d6b45c55 transparent}
  .mobile-menu-list a{align-items:center;background:#ffffff08;border:1px solid #ffffff10;border-radius:18px;color:#f1eee8;display:grid;gap:11px;grid-template-columns:42px minmax(0,1fr) auto;min-height:72px;padding:11px;text-decoration:none}
  .mobile-menu-list a:active,.mobile-menu-list a.active{background:#d6b45c1c;border-color:#d6b45c70}
  .mobile-menu-icon{align-items:center;border:1px solid #ffffff3d;border-radius:13px;box-shadow:inset 0 1px #ffffff70,0 8px 18px #0004;color:#fff;display:flex;height:42px;justify-content:center;width:42px}.mobile-menu-icon svg{height:23px;width:23px}
  .mobile-menu-list b{display:block;font-size:12px;line-height:1.25}.mobile-menu-list small{color:#9f9b94;font-size:9px}.mobile-menu-list i{color:#d6b45c;font-size:23px;font-style:normal}
  .mobile-menu-sheet footer{border-top:1px solid #ffffff13;color:#89867f;display:flex;font-size:9px;justify-content:space-between;padding:13px 7px 2px}.mobile-menu-role{color:#d7bd74;font-weight:700}
  .mobile-menu-empty{color:#aaa59d;grid-column:1/-1;padding:28px;text-align:center}
  main{margin-bottom:14px;padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .detail-grid,.form-grid,.location-layout,.lower-grid,.inspection-grid,.security-grid{grid-template-columns:1fr!important}
  .panel,.scan-box,.gate-card,.role-hero,.alert{max-width:100%}
  .panel{overflow-x:auto}.panel-head{gap:10px;min-width:0}.panel-head>div{min-width:0}
  .heading{max-width:100%}.heading>div,.heading h1,.heading p{max-width:100%;overflow-wrap:anywhere}
  dialog{max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);overflow:auto;width:calc(100vw - 24px)}
  table{min-width:640px}.scan-box form>div,.gate-card form>div{display:flex;flex-wrap:wrap}.scan-box input,.gate-card input{min-width:0}
  #workforce-map{height:52vh;max-height:560px;min-height:340px}
}
@media(max-width:520px){.stats{grid-template-columns:1fr 1fr}.stats article{min-height:122px;padding:17px}.mobile-menu-list{grid-template-columns:1fr}.mobile-menu-sheet{max-height:88vh}.mobile-menu-list a{min-height:66px}.heading h1{font-size:30px}.role-tool-grid,.responsibility-grid,.preview-actions{grid-template-columns:1fr!important}}
@media(max-width:360px){.mobile-nav small{font-size:9px}.mobile-nav-icon svg{height:22px;width:22px}.stats{grid-template-columns:1fr}}

/* Mobile application navigation: large, legible controls with phone-safe spacing. */
@media(max-width:850px){
  .mobile-nav{
    height:calc(88px + env(safe-area-inset-bottom));
    padding:8px max(6px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
  }
  .mobile-nav a,.mobile-nav button{
    border-radius:18px;
    gap:4px;
    height:72px;
    min-height:64px;
    overflow:visible;
    padding:5px 2px;
    touch-action:manipulation;
  }
  .mobile-nav a:active,.mobile-nav button:active{transform:scale(.96)}
  .mobile-nav small{
    display:block;
    font-size:10px;
    font-weight:760;
    line-height:1.15;
    max-width:none;
    overflow:visible;
    padding:0 1px;
    text-align:center;
    text-overflow:clip;
    white-space:nowrap;
    width:100%;
  }
  .mobile-nav-icon{
    border-color:#ffffff42;
    border-radius:13px;
    box-shadow:inset 0 1px #ffffff7a,0 7px 18px #0006;
    flex:0 0 42px;
    height:42px;
    width:44px;
  }
  .mobile-nav-icon svg{height:25px;width:25px}
  .mobile-menu-list a{min-height:76px;touch-action:manipulation}
  .mobile-menu-icon{height:46px;width:46px}.mobile-menu-icon svg{height:26px;width:26px}
  .mobile-menu-list b{font-size:13px}.mobile-menu-list small{font-size:10px}
  main{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){
  .mobile-nav{padding-left:3px;padding-right:3px}
  .mobile-nav small{font-size:9px}
  .mobile-nav-icon{height:39px;width:40px}.mobile-nav-icon svg{height:23px;width:23px}
}
