/* V1.54 sidebar separation; V1.53 payroll presentation retained. */
.sidebar { display:flex; flex-direction:column; overflow-y:auto; }
.sidebar .brand, .sidebar .sidebar-profile { flex-shrink:0; }
.sidebar-navigation { flex:1 0 auto; min-width:0; }
.sidebar .nav-group { margin:0 0 14px; }
.sidebar .nav-group-title {
  margin:15px 0 6px; padding:0 14px; font-size:10px;
  line-height:1.5; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:#7b8597;
}
.sidebar .grouped-nav { padding:0; margin:0; border:0; }
.sidebar .sidebar-area-title {
  margin:0 0 14px; padding:12px 14px; border-radius:9px;
  background:#183b65; color:#fff; font-size:12px;
  line-height:1.5; letter-spacing:.04em; font-weight:750;
}
.sidebar .sidebar-area + .sidebar-area {
  margin-top:24px; padding-top:24px; border-top:2px solid #cfdbeb;
}
.sidebar .nav-group-title {
  margin:14px 0 7px; padding:7px 11px;
  color:#183b65; background:#edf3fa; border-left:3px solid #315f94;
  border-radius:0 5px 5px 0; font-weight:800;
}
.sidebar .nav-item { width:100%; text-align:left; white-space:normal; line-height:1.4; }
.sidebar .nav-item:focus-visible { outline:2px solid #356df3; outline-offset:-2px; }
.sidebar .sidebar-profile { margin-top:14px; }
.generation-page { margin-top:0; }
.generation-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.generation-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.generation-tabs button {
  display:flex; align-items:center; gap:9px; padding:10px 14px;
  border:1px solid #dfe5ef; border-radius:9px; background:#fff;
  color:#526078; font-size:12px; font-weight:600; cursor:pointer;
}
.generation-tabs button.active { color:#244ec3; border-color:#aebff0; background:#edf2ff; }
.generation-tabs button span { padding:2px 7px; border-radius:20px; background:#e8edf7; font-size:11px; }
.generation-tabs button:focus-visible { outline:2px solid #356df3; outline-offset:2px; }
.generation-toolbar { grid-template-columns:160px 120px minmax(180px,1fr); }
.generation-toolbar label { display:flex; flex-direction:column; gap:7px; font-size:12px; font-weight:600; color:#475467; }
.generation-toolbar input, .generation-toolbar select {
  width:100%; min-height:42px; padding:10px 12px; border:1px solid #dce3ef;
  border-radius:9px; background:#fff; color:#172b4d; font:inherit;
}
.payroll-editor-card[hidden] { display:none!important; }
.payroll-editor-card input:disabled, .payroll-editor-card select:disabled { color:#475467; opacity:1; background:#f6f8fb; }
@media(max-width:700px) {
  .generation-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .generation-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .generation-toolbar .bulk-payroll-search { grid-column:1/-1; }
  .generation-tabs button { flex:1 1 auto; justify-content:center; }
  .generation-page .card-heading { flex-wrap:wrap; gap:12px; }
}
