body, aside, main { transition: grid-template-columns .2s ease, width .2s ease, padding .2s ease; }
aside { position: relative; }
.sidebar-toggle { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; border: 1px solid #ffffff30; border-radius: 6px; background: #ffffff12; color: white; font-size: 23px; line-height: 20px; cursor: pointer; }
.nav { display: flex; align-items: center; gap: 10px; }
.nav[hidden] { display: none !important; }
.nav-icon { display: none; width: 36px; text-align: center; font-size: 10px; letter-spacing: -.03em; }
body.sidebar-collapsed { grid-template-columns: 76px 1fr; }
body.sidebar-collapsed aside { padding-left: 10px; padding-right: 10px; }
body.sidebar-collapsed .brand { justify-content: center; margin-top: 19px; }
body.sidebar-collapsed .brand-text, body.sidebar-collapsed .nav-label, body.sidebar-collapsed .local { display: none; }
body.sidebar-collapsed .brand-logo { width: 44px; height: 44px; }
body.sidebar-collapsed .nav { justify-content: center; padding-left: 5px; padding-right: 5px; }
body.sidebar-collapsed .nav-icon { display: block; }
body.sidebar-collapsed .sidebar-toggle { right: 24px; transform: rotate(180deg); }
.badge.assignment-full { background: #e4f3e9; color: var(--good); }
.badge.assignment-partial { background: #fff2d9; color: var(--warn); }
.badge.assignment-low { background: #f8e3e3; color: var(--bad); }
.badge.assignment-full small, .badge.assignment-partial small, .badge.assignment-low small { display: block; font-weight: bold; text-align: center; }
#employee-list [data-absences], #employee-list [data-reduced] { display: none; }
.employee-assignments { min-width: 210px; }
.assignment-destination { display: block; padding: 5px 0; border-bottom: 1px solid var(--line); white-space: normal; }
.assignment-destination:last-child { border-bottom: 0; }
.assignment-destination strong, .assignment-destination small { display: block; }
.assignment-destination small { color: var(--muted); }
.assignment-destination .assignment-remove { margin-top: 4px; padding-left: 0; }

@media (max-width: 980px) {
  body.sidebar-collapsed { grid-template-columns: 68px 1fr; }
}
