/* Final layout rules shared by all management roles. */
#adminView{--management-control:40px}
#adminView>.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 16px}
#adminView .topbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}
#adminView .topbar-actions>.btn{min-height:var(--management-control);padding:6px 10px;font-size:13px}
#adminServiceMenu{order:10;margin-left:4px}
#adminServiceMenu>summary{min-height:var(--management-control);padding:6px 10px;font-size:14px}
#adminServiceMenu .employee-menu-items{right:0;left:auto;width:min(280px,calc(100vw - 32px));box-sizing:border-box;max-height:75dvh;overflow-y:auto}
.dashboard-view-settings>summary{cursor:pointer;font-size:14px;padding:10px 8px}
.dashboard-view-settings .dashboard-layout-actions{display:grid;gap:6px;padding:6px}
.dashboard-view-settings button{min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface-solid);font-size:13px}
#adminNav{display:flex;flex-wrap:wrap;gap:6px;overflow:visible;white-space:normal;padding:8px}
#adminNav :is(.admin-nav-btn,[data-notifications]){flex:0 1 auto;min-width:0;min-height:40px;padding:7px 10px;font-size:14px;white-space:normal;line-height:1.3}
#adminView:has(#peopleSection[data-workspace=directory]:not(.hidden)){height:auto;min-height:calc(100dvh - 24px)}
#peopleSection[data-workspace=directory]{align-items:start}
#peopleSection[data-workspace=directory]>.admin-panel{overflow:visible;height:auto;max-height:none;min-height:0}
#peopleSection[data-workspace=directory] #adminEditor{overflow:visible;height:auto;max-height:none}
#peopleSection[data-workspace=directory] #staffProfileDetails{font-size:15px;padding:12px;border-radius:12px}
#peopleSection[data-workspace=directory] #staffProfileDetails[open]{max-height:none;overflow:visible}
#peopleSection[data-workspace=directory] #staffProfileDetails>summary{font-size:16px;padding:4px 0 12px}
#staffProfileDetails .profile-grid{gap:14px;margin-top:8px}
#staffProfileDetails :is(input,select,textarea,.readonly-value){font-size:16px;min-height:40px;padding:8px 10px;line-height:1.4;box-sizing:border-box}
#staffProfileDetails input[type=file]{font-size:14px;max-width:100%}
#staffProfileDetails :is(label,.field-hint){font-size:14px;line-height:1.45}
#staffProfileDetails .btn{font-size:14px;min-height:40px;padding:8px 12px;width:auto}
#staffProfileDetails .inline-actions{gap:8px;margin-top:12px}
#staffProfileDetails #adminAvatarPreview{width:88px;height:88px;min-height:88px;padding:0}
#peopleSection[data-workspace=directory] #employeeAdminList{max-height:70dvh;overflow-y:auto}
#employeeView .view-toggle{width:auto;padding:2px;align-self:center}
#employeeView .view-toggle-btn{flex:0 1 auto;height:36px;min-height:36px;padding:5px 9px;font-size:13px}
#employeeView #addEventBtn{min-height:44px;height:auto;padding:10px 14px;font-size:15px;font-weight:700}
#employeeView .report-view-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
#employeeView .context-help-actions{width:auto;margin-left:auto}
@media(max-width:760px){
 #adminView>.topbar{position:relative!important;display:block;padding:12px}
 #adminView>.topbar .brand-heading{padding-right:76px;min-height:40px;gap:8px}
 #adminView>.topbar h1{font-size:18px;line-height:1.3}
 #adminView .topbar-actions{margin-top:8px;justify-content:flex-start;gap:6px}
 #adminServiceMenu{position:absolute;right:10px;top:10px;margin:0}
 #adminView .topbar-actions>.btn{width:auto;flex:0 1 auto;font-size:13px;min-height:38px}
 #adminNav :is(.admin-nav-btn,[data-notifications]){font-size:13px;min-height:38px;padding:7px 9px}
 #adminView .admin-summary-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #adminView .admin-summary-filters .field{width:auto;min-width:0;margin:0}
 #adminView .admin-summary-filters .field:has(#summaryCity),#adminView .admin-summary-filters .filter-grow{grid-column:1/-1}
 #adminView .admin-summary-filters :is(input,select){width:100%;min-width:0;font-size:16px;min-height:40px;padding:8px}
 #adminView .period-presets{display:flex;flex-wrap:wrap;gap:6px;margin-block:10px}
 #adminView .period-presets .btn{width:auto;min-height:36px;padding:6px 9px;font-size:12px}
 #peopleSection[data-workspace=directory]{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 #peopleSection[data-workspace=directory] #employeeAdminList{max-height:240px}
 #staffProfileDetails .profile-grid{grid-template-columns:minmax(0,1fr)}
 #staffProfileDetails .profile-grid>.field{grid-column:1/-1}
 #adminEditor .staff-profile-header{grid-template-columns:64px minmax(0,1fr)}
 #adminEditor .staff-profile-header #staffIdentityAvatar{height:80px}
 #adminEditor .profile-stat{padding:8px}
 #adminEditor .profile-stat span{font-size:12px}
 #adminEditor .profile-stat strong{font-size:15px}
 #correctionQueue .inline-actions{display:flex;gap:6px}
 #correctionQueue .inline-actions .btn{width:auto;min-height:38px;padding:7px 10px;font-size:13px}
}

/* Directory layout must not override the selected page's visibility. */
#peopleSection.hidden{display:none!important}
@media(max-width:760px){
 #adminView #adminNav :is(.admin-nav-btn,[data-notifications]){flex:0 0 auto;white-space:nowrap;min-width:max-content}
}
