﻿/* All administrative menus share the employee overview sidebar frame. */
.soumu-shared-workspace { display:flex; min-height:calc(100dvh - 72px); }
body.dashboard-page *:has(> #businessSidebar.shared-sidebar) {
  display:flex !important;
  min-width:0;
  gap:0 !important;
}
body.dashboard-page #businessSidebar.shared-sidebar {
  position:fixed !important;
  inset:var(--soumu-header-height,72px) auto 0 0 !important;
  z-index:1020 !important;
  display:flex !important;
  flex-direction:column;
  width:264px !important;
  max-width:min(84vw,264px);
  height:auto !important;
  min-width:0;
  border-right:1px solid var(--employee-border,#dfe5ec);
  background:#fff;
  translate:-100% 0;
  transform:none;
  overflow:hidden;
  transition:width .2s ease, translate .2s ease;
}
body.dashboard-page #businessSidebar.shared-sidebar.translate-x-0 { translate:0 0; }
.shared-sidebar .business-sidebar-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; }
.shared-sidebar .business-sidebar-copy { min-width:0; }
.shared-sidebar .business-sidebar-copy p { margin:0; font-size:12px; color:#64748b; }
.shared-sidebar .business-sidebar-copy h2 { margin:4px 0 0; font-size:18px; font-weight:800; color:#0f172a; }
.shared-sidebar .business-sidebar-collapse-toggle { display:none; width:32px; height:32px; flex:0 0 32px; place-items:center; border:1px solid #d7dee8; background:#fff; color:#526174; }
.shared-sidebar .business-sidebar-link { display:flex; align-items:center; gap:12px; min-height:42px; padding:10px 12px; border-radius:8px; font-size:13px; color:#526174; text-decoration:none; }
.shared-sidebar .business-sidebar-link > i { flex:0 0 18px; width:18px; text-align:center; color:#94a3b8; }
.shared-sidebar .business-sidebar-link:hover { background:#f8fafc; color:#1e293b; }
.shared-sidebar .business-sidebar-link[aria-current="page"] { background:#eff6ff; color:#123b79; font-weight:700; }
.shared-sidebar .business-sidebar-link[aria-current="page"] > i { color:#123b79; }
.shared-sidebar .business-sidebar-link:focus-visible,.shared-sidebar button:focus-visible { outline:2px solid #31588f; outline-offset:2px; }
.shared-sidebar nav { flex:1; min-height:0; overflow-y:auto; }
.shared-sidebar .business-sidebar-footer { flex-shrink:0; }
.shared-sidebar-mobile-toggle { position:fixed; bottom:16px; left:14px; z-index:1040; display:grid; place-items:center; width:44px; height:44px; border:1px solid #cbd5e1; border-radius:8px; background:white; color:#31588f; box-shadow:0 2px 10px #0f172a20; }
body:has(#businessSidebar.shared-sidebar) #sidebarScrim { z-index:1010; }
@media(min-width:1024px) {
  body.dashboard-page *:has(> #businessSidebar.shared-sidebar) { padding-left:264px !important; }
  body.dashboard-page *:has(> #businessSidebar.shared-sidebar.is-collapsed) { padding-left:72px !important; }
  body.dashboard-page #businessSidebar.shared-sidebar { max-width:none; translate:0 0; }
  body.dashboard-page #businessSidebar.shared-sidebar.is-collapsed { width:72px !important; }
  .shared-sidebar .business-sidebar-collapse-toggle { display:grid; }
  .shared-sidebar-mobile-toggle { display:none; }
  body:has(#businessSidebar.shared-sidebar) #sidebarToggle,body:has(#businessSidebar.shared-sidebar) #sidebarScrim { display:none; }
  body.attendance-page:has(#businessSidebar.shared-sidebar) .att-main { margin-left:0 !important; flex:1; }
  body .la-workspace:has(> #businessSidebar.shared-sidebar) .la-shell { flex:1; }
}
@media(max-width:1023px) {
  body.dashboard-page *:has(> #businessSidebar.shared-sidebar) { padding-left:0 !important; }
  body.attendance-page:has(#businessSidebar.shared-sidebar) .att-main { margin-left:0 !important; }
  body.dashboard-page #businessSidebar.shared-sidebar .business-sidebar-copy,
  body.dashboard-page #businessSidebar.shared-sidebar .business-sidebar-label,
  body.dashboard-page #businessSidebar.shared-sidebar .business-sidebar-section-label,
  body.dashboard-page #businessSidebar.shared-sidebar .business-sidebar-footer { display:block; }
}
@media(prefers-reduced-motion:reduce) { body.dashboard-page #businessSidebar.shared-sidebar { transition:none; } }
body.dashboard-page *:has(> #businessSidebar.shared-sidebar) > .soumu-business-main { flex:1; min-width:0; }
.shared-sidebar .business-sidebar-link:not([aria-current]) { background:transparent; font-weight:500; color:#526174; }
.shared-sidebar .business-sidebar-link:not([aria-current]):hover { background:#f8fafc; color:#1e293b; }
