.sidebar { min-height: 100vh; }
.brand-badge{
  width: 36px; height: 36px; border-radius: 12px;
  display: grid; place-items: center;
  background: #111827; color: #fff; font-weight: 700;
}
.nav-item{
  display:block;
  padding: .55rem .75rem;
  margin: .15rem .35rem;
  border-radius: .9rem;
  text-decoration:none;
  color:#334155;
  font-weight: 500;
}
.nav-item:hover{ background:#f1f5f9; color:#0f172a; }
.nav-item.active{ background:#0f172a; color:#fff; }
.nav-divider{
  height: 1px;
  margin: .75rem .75rem;
  background: #e2e8f0;
}
.card{ border-radius: 1rem; }


/* Loading overlay (padrão Zait Interno) */
.loading-overlay{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, .35);
  backdrop-filter: blur(2px);
  z-index: 2000;
}
.loading-overlay.show{ display:flex; }
.loading-card{
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 12px 30px rgba(0,0,0,.15);
  padding: 1.25rem 1.25rem;
  min-width: 280px;
  max-width: 92vw;
}
.loading-card .small{ color:#64748b; }

.hr-stat{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:.5rem;
  padding:1rem;
  min-height:112px;
}
.hr-stat-value{
  color:#0f172a;
  font-size:1.75rem;
  font-weight:700;
  line-height:1.1;
  margin:.35rem 0;
}
.hr-year-input{ width:96px; }
.hr-month-select{ width:112px; }
.hr-year-grid{
  display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr));
  gap:.75rem;
}
.hr-month-box{
  border:1px solid #e5e7eb;
  border-radius:.5rem;
  padding:.8rem;
  background:#fff;
  min-height:150px;
}
.hr-month-names{
  border-top:1px solid #eef2f7;
  color:#64748b;
  font-size:.78rem;
  padding-top:.5rem;
}
.hr-calendar-legend{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem .9rem;
}
.hr-calendar-legend-item{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:#475569;
  white-space:nowrap;
}
.hr-calendar-dot{
  width:.55rem;
  height:.55rem;
  border-radius:999px;
  display:inline-block;
}
.hr-calendar-dot-birthday{ background:#f97316; }
.hr-calendar-dot-meal{ background:#10b981; }
.hr-calendar-dot-process{ background:#3b82f6; }
.hr-birthday-highlight{
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-radius:.5rem;
  padding:.85rem;
}
.hr-birthday-list{
  display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr));
  gap:.5rem;
}
.hr-birthday-chip{
  align-items:center;
  background:#fff;
  border:1px solid #fed7aa;
  border-radius:.5rem;
  color:#0f172a;
  display:flex;
  gap:.55rem;
  min-width:0;
  padding:.55rem .65rem;
  text-decoration:none;
}
.hr-birthday-chip:hover{
  background:#fffbeb;
  color:#0f172a;
}
.hr-birthday-day{
  align-items:center;
  background:#f97316;
  border-radius:.45rem;
  color:#fff;
  display:inline-flex;
  font-weight:700;
  height:2rem;
  justify-content:center;
  min-width:2rem;
}
.hr-calendar-panel{
  border:1px solid #e5e7eb;
  border-radius:.5rem;
  background:#fff;
  padding:.85rem;
  min-width:0;
}
.hr-calendar-table,
.hr-year-table{
  table-layout:fixed;
}
.hr-calendar-table th,
.hr-year-table th{
  background:#f8fafc;
  color:#334155;
  font-size:.72rem;
  font-weight:700;
}
.hr-calendar-table-day{
  height:122px;
  min-width:96px;
  vertical-align:top;
}
.hr-calendar-table-empty{
  background:#f8fafc;
}
.hr-calendar-table-day.has-events,
.hr-year-table-day.has-events{
  background:#fbfdff;
}
.hr-calendar-table-day.has-birthday,
.hr-year-table-day.has-birthday{
  background:#fff7ed;
  box-shadow:inset 0 0 0 2px #f97316;
}
.hr-calendar-table-day.today,
.hr-year-table-day.today{
  box-shadow:inset 0 0 0 2px #0f172a;
}
.hr-calendar-table-date{
  color:#0f172a;
  font-size:.95rem;
  font-weight:700;
  line-height:1;
}
.hr-year-table{
  font-size:.72rem;
}
.hr-year-table th,
.hr-year-table td{
  padding:.22rem;
}
.hr-year-table-day{
  height:42px;
  min-width:26px;
  text-align:center;
  vertical-align:top;
}
.hr-year-table-date{
  color:#0f172a;
  font-weight:700;
  line-height:1;
}
.hr-year-mark-row{
  display:flex;
  flex-wrap:wrap;
  gap:.1rem;
  justify-content:center;
  margin-top:.12rem;
}
.hr-year-mark{
  font-size:.55rem;
  line-height:1;
  padding:.16rem .28rem;
}
.hr-summary-box{
  border:1px solid #e5e7eb;
  border-radius:.5rem;
  background:#f8fafc;
  padding:.85rem;
}
.marmita-page{
  min-height:100vh;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:2rem 1rem;
}
.marmita-shell{
  width:100%;
  max-width:760px;
}
.marmita-option-grid{
  display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr));
  gap:.55rem;
}
.marmita-check{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  border:1px solid #e5e7eb;
  border-radius:.5rem;
  background:#fff;
  padding:.75rem;
}
.marmita-check span{
  line-height:1.25;
}

@media (min-width: 768px){
  .hr-year-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hr-birthday-list{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .marmita-option-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width: 1200px){
  .hr-year-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hr-birthday-list{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
