#admin-mobile-nav{display:none}
#admin-mobile-menu{box-sizing:border-box;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:0;background:var(--paper);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
#admin-mobile-menu::backdrop{background:#101d1680}
#admin-mobile-menu header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;box-sizing:border-box;padding:12px 18px;padding-top:max(12px,env(safe-area-inset-top,0px));background:var(--paper);border-bottom:1px solid var(--stone)}#admin-mobile-menu h2{font-size:20px;margin:0}
.admin-mobile-menu-links{display:grid;gap:6px;margin-top:18px}.admin-mobile-menu-links a{display:flex;align-items:center;min-height:48px;padding:12px;border:1px solid var(--stone);border-radius:8px;color:var(--ink);text-decoration:none}.admin-mobile-menu-links a[aria-current]{border-color:#08773d;background:#e3efe6;color:#17462b}
@media(max-width:600px),(display-mode:standalone){
 body:not(.employee-mode):has(#admin-mobile-nav) .shell>aside{display:none}
 body:not(.employee-mode):has(#admin-mobile-nav) .shell>main{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}
 #admin-mobile-nav{position:fixed;inset:auto 0 0;z-index:50;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:0;padding:8px 6px max(10px,env(safe-area-inset-bottom,0px));background:#2e3a2f;color:white;border-top:1px solid #526354}
 #admin-mobile-nav a,#admin-mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;min-width:0;border:0;border-radius:8px;padding:6px 1px;background:transparent;color:white;font:11px/1.2 Inter,system-ui,sans-serif;text-decoration:none}
 #admin-mobile-nav svg{width:22px;height:22px}#admin-mobile-nav [aria-current],#admin-mobile-nav .active{background:#ffffff24;box-shadow:inset 0 -2px #b7cfad}#admin-mobile-nav :focus-visible{outline:2px solid white;outline-offset:-2px}
 .admin-overview-logout{display:none}
}

body.admin-menu-open{overflow:hidden}
.admin-mobile-menu-content{display:flex;flex-direction:column;box-sizing:border-box;min-height:calc(100dvh - 72px);padding:0 18px max(24px,env(safe-area-inset-bottom,0px))}
#admin-mobile-menu footer{margin-top:auto;padding-top:32px}
#admin-mobile-menu .admin-mobile-signout{display:block;width:100%;min-height:48px;padding:12px;border:0;background:transparent;color:#b42318;font:600 16px/1.4 Inter,system-ui,sans-serif;cursor:pointer;text-align:center}
#admin-mobile-menu .admin-mobile-signout:focus-visible{outline:2px solid currentColor;outline-offset:-2px;border-radius:8px}
html[data-theme=dark] #admin-mobile-menu .admin-mobile-signout{color:#ff9b91}

.admin-app-theme{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:24px;padding:12px 0;border-top:1px solid var(--stone);font-size:14px}.admin-app-theme select{min-height:44px;max-width:150px;padding:8px 12px}
/* App entry keeps mobile navigation even after rotating a phone. */
html[data-app-mode=phone] body:not(.employee-mode):has(#admin-mobile-nav) .shell{display:block}
html[data-app-mode=phone] body:not(.employee-mode):has(#admin-mobile-nav) .shell>aside{display:none}
html[data-app-mode=phone] body:not(.employee-mode):has(#admin-mobile-nav) .shell>main{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}
html[data-app-mode=phone] #admin-mobile-nav{position:fixed;inset:auto 0 0;z-index:50;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:0;padding:8px 6px max(10px,env(safe-area-inset-bottom,0px));background:#2e3a2f;color:white;border-top:1px solid #526354}
html[data-app-mode=phone] #admin-mobile-nav a,html[data-app-mode=phone] #admin-mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;min-width:0;border:0;border-radius:8px;padding:6px 1px;background:transparent;color:white;font:11px/1.2 Inter,system-ui,sans-serif;text-decoration:none}
html[data-app-mode=phone] #admin-mobile-nav svg{width:22px;height:22px}
html[data-app-mode=phone] #admin-mobile-nav [aria-current],html[data-app-mode=phone] #admin-mobile-nav .active{background:#ffffff24;box-shadow:inset 0 -2px #b7cfad}
html[data-app-mode=phone] #admin-mobile-nav :focus-visible{outline:2px solid white;outline-offset:-2px}
html[data-app-mode=phone] .admin-overview-logout{display:none}

#admin-mobile-more{position:relative}.admin-pending-badge{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 4px;box-sizing:border-box;border-radius:50%;background:#c42632;color:white;font-size:11px;font-weight:700;line-height:1}#admin-mobile-more>.admin-pending-badge{position:absolute;top:3px;right:8px}.admin-pending-links{display:grid;gap:10px;margin:18px 0}.admin-inbox-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--stone);border-radius:10px;color:var(--ink);text-decoration:none;background:var(--paper)}.admin-inbox-card strong{flex:1}.overview-mini-chart{width:100%;display:block;margin-top:12px}.overview-chart-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--muted)}.overview-chart-legend span{display:inline-flex;gap:4px;align-items:center}.overview-chart-legend i{width:13px;height:3px;border-radius:3px}.overview-data-note{margin-top:8px}.overview-gaps{margin-top:12px}.overview-mini-chart text{fill:var(--muted)}
