/* VOLENG 09-25-NEW-V43
   Team submenu + person agenda layout + high-separation availability palette. */

/* =========================
   OPERATIONS SIDEBAR — TEAM GROUP
   ========================= */
body[data-voleng-product="operations"] .sidebarTeamGroup{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
body[data-voleng-product="operations"] .sidebarTeamGroup>.teamParentNav{
  margin-bottom:1px!important;
}
body[data-voleng-product="operations"] .sidebarSubNav{
  display:grid!important;
  gap:2px!important;
  margin:0 6px 6px 27px!important;
  padding:2px 0 2px 10px!important;
  border-left:1px solid color-mix(in srgb,var(--theme-border) 86%,transparent)!important;
}
body[data-voleng-product="operations"] .simpleApp aside .sidebarSubNav .nav.subNav{
  width:100%!important;
  height:35px!important;
  min-height:35px!important;
  margin:0!important;
  padding:0 9px!important;
  gap:8px!important;
  border-radius:9px!important;
  font-size:11px!important;
  color:var(--theme-muted)!important;
}
body[data-voleng-product="operations"] .simpleApp aside .sidebarSubNav .nav.subNav span{
  font-size:11px!important;
  font-weight:680!important;
}
body[data-voleng-product="operations"] .simpleApp aside .sidebarSubNav .nav.subNav svg{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
  stroke-width:1.9!important;
}
body[data-voleng-product="operations"] .simpleApp aside .sidebarSubNav .nav.subNav:hover{
  transform:none!important;
  background:color-mix(in srgb,var(--product-soft,var(--theme-accent-soft)) 55%,transparent)!important;
}
body[data-voleng-product="operations"] .simpleApp aside .sidebarSubNav .nav.subNav.active{
  background:color-mix(in srgb,var(--product-soft,var(--theme-accent-soft)) 88%,var(--theme-surface))!important;
  color:var(--product-accent,var(--theme-accent-ink))!important;
  box-shadow:inset 3px 0 0 var(--product-accent,var(--theme-accent-ink))!important;
}
body[data-voleng-product="operations"] .simpleApp aside .sidebarSubNav .nav.subNav.active svg{
  color:var(--product-accent,var(--theme-accent-ink))!important;
}

/* =========================
   PERSON AGENDA — RIGHT RAIL
   ========================= */
body[data-voleng-product="operations"] .personAgendaLayout{
  grid-template-columns:minmax(0,1fr) 350px!important;
  gap:16px!important;
}
body[data-voleng-product="operations"] .personAgendaSide{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  align-content:start!important;
  gap:14px!important;
  position:sticky!important;
  top:14px!important;
}
body[data-voleng-product="operations"] .personAgendaOverview,
body[data-voleng-product="operations"] .personAgendaLegend{
  min-width:0!important;
  padding:16px!important;
  border-radius:16px!important;
  border:1px solid var(--theme-border)!important;
  background:var(--theme-surface)!important;
  box-shadow:0 6px 18px rgba(15,23,42,.045)!important;
}
body[data-voleng-product="operations"] .personAgendaPerson{
  gap:11px!important;
  padding-bottom:13px!important;
}
body[data-voleng-product="operations"] .personAgendaPerson>span{
  width:42px!important;
  height:42px!important;
  border:1px solid color-mix(in srgb,var(--theme-accent) 22%,var(--theme-border))!important;
  font-size:12px!important;
}
body[data-voleng-product="operations"] .personAgendaPerson b{font-size:12px!important}
body[data-voleng-product="operations"] .personAgendaPerson small{font-size:9px!important}
body[data-voleng-product="operations"] .personAgendaPerson em{
  padding:5px 8px!important;
  background:#eaf8f0!important;
  color:#126b42!important;
  border:1px solid #bfe3cd!important;
}
body[data-voleng-product="operations"] .personAgendaStats{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  margin-top:12px!important;
}
body[data-voleng-product="operations"] .personAgendaStats article{
  min-height:82px!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  align-items:start!important;
  gap:8px!important;
  padding:10px!important;
  border:1px solid var(--theme-border)!important;
  border-radius:11px!important;
  background:var(--theme-surface-soft)!important;
}
body[data-voleng-product="operations"] .personAgendaStats article>svg{
  width:28px!important;
  height:28px!important;
  padding:6px!important;
  border-radius:8px!important;
  background:color-mix(in srgb,currentColor 10%,var(--theme-surface))!important;
}
body[data-voleng-product="operations"] .personAgendaStats article:nth-child(1)>svg{color:#2563eb!important}
body[data-voleng-product="operations"] .personAgendaStats article:nth-child(2)>svg{color:#15935b!important}
body[data-voleng-product="operations"] .personAgendaStats article:nth-child(3)>svg{color:#d23b52!important}
body[data-voleng-product="operations"] .personAgendaStats article:nth-child(4)>svg{color:#7c3aed!important}
body[data-voleng-product="operations"] .personAgendaStats span{gap:4px!important}
body[data-voleng-product="operations"] .personAgendaStats small{font-size:8.5px!important;line-height:1.2!important}
body[data-voleng-product="operations"] .personAgendaStats b{font-size:16px!important;line-height:1.05!important}
body[data-voleng-product="operations"] .personAgendaJobs{
  min-height:58px!important;
  margin-top:10px!important;
  padding:11px 12px!important;
  border-radius:11px!important;
  background:color-mix(in srgb,var(--theme-accent) 5%,var(--theme-surface-soft))!important;
}
body[data-voleng-product="operations"] .personAgendaJobs svg{
  width:28px!important;
  height:28px!important;
  padding:6px!important;
  border-radius:8px!important;
  background:color-mix(in srgb,var(--theme-accent) 10%,var(--theme-surface))!important;
}
body[data-voleng-product="operations"] .personAgendaJobs b{font-size:10px!important}
body[data-voleng-product="operations"] .personAgendaJobs small{font-size:8.5px!important}
body[data-voleng-product="operations"] .personAgendaLegend h4{
  margin:0 0 10px!important;
  font-size:11px!important;
  letter-spacing:.01em!important;
}
body[data-voleng-product="operations"] .personAgendaLegend .teamCalendarLegend{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
body[data-voleng-product="operations"] .personAgendaLegend .teamCalendarLegend>span{
  min-height:34px!important;
  width:100%!important;
  justify-content:flex-start!important;
  padding:0 9px!important;
  border-radius:10px!important;
  white-space:nowrap!important;
}

/* =========================
   AVAILABILITY PALETTE — CLEARLY DISTINCT
   Working green · Sick red · Training orange · Holiday purple
   Unavailable blue · Day off slate
   ========================= */
body[data-voleng-product="operations"] :is(.teamCalendarLegend,.personAgendaLegend .teamCalendarLegend)>span::before{
  width:16px!important;
  text-align:center!important;
  font-size:12px!important;
  line-height:1!important;
}
body[data-voleng-product="operations"] :is(.teamCalendarLegend,.personAgendaLegend .teamCalendarLegend)>span.working::before{content:"🟢"!important}
body[data-voleng-product="operations"] :is(.teamCalendarLegend,.personAgendaLegend .teamCalendarLegend)>span.sick::before{content:"🔴"!important}
body[data-voleng-product="operations"] :is(.teamCalendarLegend,.personAgendaLegend .teamCalendarLegend)>span.training::before{content:"🟠"!important}
body[data-voleng-product="operations"] :is(.teamCalendarLegend,.personAgendaLegend .teamCalendarLegend)>span.holiday::before{content:"🟣"!important}
body[data-voleng-product="operations"] :is(.teamCalendarLegend,.personAgendaLegend .teamCalendarLegend)>span.unavailable::before{content:"🔵"!important}
body[data-voleng-product="operations"] :is(.teamCalendarLegend,.personAgendaLegend .teamCalendarLegend)>span.off::before{content:"⚪"!important}

body[data-voleng-product="operations"] :is(.teamCalendarLegend>span.working,.personAgendaLegend .teamCalendarLegend>span.working,.matrixCell.working,.matrixCell.availability-working,.personAgendaWeekDay.working,.personAgendaMonthEvent.working,.personAgendaStatusChip.working,.personAgendaMiniMonth button.working){
  background:#eaf8f0!important;border-color:#9ed9b8!important;color:#126b42!important
}
body[data-voleng-product="operations"] :is(.teamCalendarLegend>span.sick,.personAgendaLegend .teamCalendarLegend>span.sick,.matrixCell.availability-sick,.personAgendaWeekDay.sick,.personAgendaMonthEvent.sick,.personAgendaStatusChip.sick,.personAgendaMiniMonth button.sick){
  background:#fff0f2!important;border-color:#f0aeb9!important;color:#b4233a!important
}
body[data-voleng-product="operations"] :is(.teamCalendarLegend>span.training,.personAgendaLegend .teamCalendarLegend>span.training,.matrixCell.availability-training,.personAgendaWeekDay.training,.personAgendaMonthEvent.training,.personAgendaStatusChip.training,.personAgendaMiniMonth button.training){
  background:#fff4df!important;border-color:#efc16b!important;color:#995b00!important
}
body[data-voleng-product="operations"] :is(.teamCalendarLegend>span.holiday,.personAgendaLegend .teamCalendarLegend>span.holiday,.matrixCell.availability-holiday,.personAgendaWeekDay.holiday,.personAgendaMonthEvent.holiday,.personAgendaStatusChip.holiday,.personAgendaMiniMonth button.holiday){
  background:#f3edff!important;border-color:#c9b4f2!important;color:#6237b5!important
}
body[data-voleng-product="operations"] :is(.teamCalendarLegend>span.unavailable,.personAgendaLegend .teamCalendarLegend>span.unavailable,.matrixCell.availability-unavailable,.personAgendaWeekDay.unavailable,.personAgendaMonthEvent.unavailable,.personAgendaStatusChip.unavailable,.personAgendaMiniMonth button.unavailable){
  background:#eaf2ff!important;border-color:#aac6f6!important;color:#225eb8!important
}
body[data-voleng-product="operations"] :is(.teamCalendarLegend>span.off,.personAgendaLegend .teamCalendarLegend>span.off,.matrixCell.off,.personAgendaWeekDay.off,.personAgendaMonthEvent.off,.personAgendaStatusChip.off,.personAgendaMiniMonth button.off){
  background:#eef1f5!important;border-color:#c8d0da!important;color:#566170!important
}

/* Keep status cards readable and visually separated from their cell. */
body[data-voleng-product="operations"] .personAgendaMonthEvent,
body[data-voleng-product="operations"] .personAgendaStatusChip{
  border:1px solid currentColor!important;
  border-color:color-mix(in srgb,currentColor 32%,transparent)!important;
}
body[data-voleng-product="operations"] .matrixCell.availability-sick,
body[data-voleng-product="operations"] .matrixCell.availability-training,
body[data-voleng-product="operations"] .matrixCell.availability-holiday,
body[data-voleng-product="operations"] .matrixCell.availability-unavailable{
  box-shadow:inset 0 3px 0 color-mix(in srgb,currentColor 62%,transparent)!important;
}

/* =========================
   DARK MODE
   ========================= */
body[data-voleng-theme="dark"][data-voleng-product="operations"] .sidebarSubNav{
  border-left-color:#344d66!important;
}
body[data-voleng-theme="dark"][data-voleng-product="operations"] .personAgendaOverview,
body[data-voleng-theme="dark"][data-voleng-product="operations"] .personAgendaLegend{
  background:#17283a!important;
  border-color:#344d66!important;
  box-shadow:none!important;
}
body[data-voleng-theme="dark"][data-voleng-product="operations"] .personAgendaPerson em{
  background:#123a2a!important;color:#a6f0c9!important;border-color:#2d7552!important
}
body[data-voleng-theme="dark"][data-voleng-product="operations"] .personAgendaStats article,
body[data-voleng-theme="dark"][data-voleng-product="operations"] .personAgendaJobs{
  background:#122337!important;
  border-color:#344d66!important;
}
body[data-voleng-theme="dark"][data-voleng-product="operations"] :is(.teamCalendarLegend>span.working,.personAgendaLegend .teamCalendarLegend>span.working,.matrixCell.working,.matrixCell.availability-working,.personAgendaWeekDay.working,.personAgendaMonthEvent.working,.personAgendaStatusChip.working,.personAgendaMiniMonth button.working){background:#123b2a!important;border-color:#2f8158!important;color:#a5f0c8!important}
body[data-voleng-theme="dark"][data-voleng-product="operations"] :is(.teamCalendarLegend>span.sick,.personAgendaLegend .teamCalendarLegend>span.sick,.matrixCell.availability-sick,.personAgendaWeekDay.sick,.personAgendaMonthEvent.sick,.personAgendaStatusChip.sick,.personAgendaMiniMonth button.sick){background:#4c2029!important;border-color:#a3475b!important;color:#ffc7d1!important}
body[data-voleng-theme="dark"][data-voleng-product="operations"] :is(.teamCalendarLegend>span.training,.personAgendaLegend .teamCalendarLegend>span.training,.matrixCell.availability-training,.personAgendaWeekDay.training,.personAgendaMonthEvent.training,.personAgendaStatusChip.training,.personAgendaMiniMonth button.training){background:#4a3216!important;border-color:#ae721f!important;color:#ffda9a!important}
body[data-voleng-theme="dark"][data-voleng-product="operations"] :is(.teamCalendarLegend>span.holiday,.personAgendaLegend .teamCalendarLegend>span.holiday,.matrixCell.availability-holiday,.personAgendaWeekDay.holiday,.personAgendaMonthEvent.holiday,.personAgendaStatusChip.holiday,.personAgendaMiniMonth button.holiday){background:#33204e!important;border-color:#7952b3!important;color:#e3d1ff!important}
body[data-voleng-theme="dark"][data-voleng-product="operations"] :is(.teamCalendarLegend>span.unavailable,.personAgendaLegend .teamCalendarLegend>span.unavailable,.matrixCell.availability-unavailable,.personAgendaWeekDay.unavailable,.personAgendaMonthEvent.unavailable,.personAgendaStatusChip.unavailable,.personAgendaMiniMonth button.unavailable){background:#17345b!important;border-color:#3b70b6!important;color:#c5ddff!important}
body[data-voleng-theme="dark"][data-voleng-product="operations"] :is(.teamCalendarLegend>span.off,.personAgendaLegend .teamCalendarLegend>span.off,.matrixCell.off,.personAgendaWeekDay.off,.personAgendaMonthEvent.off,.personAgendaStatusChip.off,.personAgendaMiniMonth button.off){background:#273340!important;border-color:#56677a!important;color:#d5dee8!important}

/* =========================
   RESPONSIVE
   ========================= */
@media(max-width:1280px){
  body[data-voleng-product="operations"] .personAgendaLayout{grid-template-columns:minmax(0,1fr) 320px!important}
}
@media(max-width:1120px){
  body[data-voleng-product="operations"] .personAgendaLayout{grid-template-columns:1fr!important}
  body[data-voleng-product="operations"] .personAgendaSide{position:static!important;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important}
}
@media(min-width:901px) and (max-width:980px){
  body[data-voleng-product="operations"] .sidebarSubNav{display:none!important}
}
@media(max-width:900px){
  body[data-voleng-product="operations"] #volengNavigation.mobileNavigationOpen .sidebarSubNav{display:grid!important;margin-left:28px!important;margin-right:4px!important}
  body[data-voleng-product="operations"] #volengNavigation.mobileNavigationOpen .sidebarSubNav .nav.subNav{min-height:40px!important;height:40px!important;padding:0 10px!important}
}
@media(max-width:760px){
  body[data-voleng-product="operations"] .personAgendaSide{grid-template-columns:1fr!important}
  body[data-voleng-product="operations"] .personAgendaLegend .teamCalendarLegend{grid-template-columns:1fr 1fr!important}
}
@media(max-width:520px){
  body[data-voleng-product="operations"] .personAgendaLegend .teamCalendarLegend{grid-template-columns:1fr!important}
  body[data-voleng-product="operations"] .personAgendaStats{grid-template-columns:1fr!important}
}

body[data-voleng-product="operations"] .sidebarCompact .sidebarSubNav{display:none!important}
