/* ============================================================
   PORTAL RH e CALENDÁRIO do Início — identidade Arca
   Só tokens semânticos (DESIGN.md §1 e §11). A grade .cal-* mora em styles.css.
============================================================ */

/* ---------- widget do Início ---------- */
.hub-cal-cab{display:flex;align-items:center;gap:var(--space-3);margin-bottom:4px;flex-wrap:wrap}
.hub-cal-cab h3{font-size:var(--text-md)}
.hub-cal-cab-sep{margin-left:auto}
.hub-cal-seg button{height:26px;padding:0 var(--space-3);font-size:var(--text-xs)}
.hub-cal-corpo{display:grid;grid-template-columns:1fr 236px;gap:var(--space-5);align-items:start}
@media (max-width:900px){.hub-cal-corpo{grid-template-columns:1fr}}
.cal-nav-compacta{margin:2px 0 8px}
.cal-nav-compacta h3{font-size:var(--text-md);min-width:0;flex:1;text-transform:none}
.cal-nav-compacta .btn{padding:0 var(--space-2);height:28px}

/* perspectiva SEMANA dentro do widget: a grade .week-* da Agenda, mais compacta */
.hub-cal .week-grid{gap:4px;grid-template-columns:repeat(7,minmax(0,1fr))}   /* minmax(0): o título longo não alarga a coluna */
.hub-cal .week-col{padding:var(--space-2);min-height:120px;box-shadow:none;min-width:0}
.hub-cal .week-col.hoje{box-shadow:inset 0 0 0 2px var(--surface-inverse)}   /* devolve o destaque de hoje que o box-shadow:none acima apagava */
.hub-cal .week-col-head{margin-bottom:6px}
.hub-cal-corpo.so-grade{grid-template-columns:1fr}      /* na semana ATUAL a lista "próximos 7 dias" seria repetição: a grade ocupa tudo */
.hub-cal .week-item{padding:5px 6px;margin-bottom:4px;font-size:var(--text-2xs);line-height:var(--lh-normal)}
.hub-cal .week-item-topo{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;overflow:hidden}
.hub-cal .week-item-topo .cal-tipo{width:14px;height:14px}
.hub-cal .week-item-topo .cal-tipo svg{width:9px;height:9px}
.hub-cal .week-item b{display:block;margin-top:2px;font-size:var(--text-xs);font-weight:var(--fw-medium)}
.week-vazio{color:var(--text-subtle);text-align:center;font-size:var(--text-2xs);padding:8px 0}

/* perspectiva DIA: lista detalhada do dia escolhido */
.cal-dia{display:flex;flex-direction:column}
.cal-dia .hub-cal-item{align-items:center;padding:var(--space-3) 0;font-size:var(--text-base)}
.cal-dia > .btn{align-self:flex-start;margin-top:var(--space-3)}
.cal-grid.cal-compacto{gap:4px}
.cal-grid.cal-compacto .cal-cell{min-height:60px;padding:4px 5px;cursor:pointer}
.cal-grid.cal-compacto .cal-mini{font-size:var(--text-2xs);padding:1px 4px;margin-top:2px;display:flex;align-items:center;gap:3px}
.cal-grid.cal-compacto .cal-mini b{font-family:var(--font-mono);font-weight:var(--fw-medium);flex-shrink:0}
.cal-grid.cal-compacto .cal-mini span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-grid.cal-compacto .cal-mini .cal-tipo{width:14px;height:14px}
.cal-grid.cal-compacto .cal-mini .cal-tipo svg{width:9px;height:9px}
.cal-mini.cal-mais{background:none;color:var(--text-muted)}

/* chip de tipo: fundo suave + glifo, mesma régua dos .chip de estado */
.cal-tipo{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-xs);flex-shrink:0}
.cal-tipo svg{width:11px;height:11px}
.cal-tipo-feriado{background:var(--state-danger-bg);color:var(--state-danger-fg)}
.cal-tipo-empresa{background:var(--surface-accent-soft);color:var(--text-link)}
.cal-tipo-facultativo,.cal-tipo-recesso{background:var(--state-warning-bg);color:var(--state-warning-fg)}
.cal-tipo-aniversario{background:var(--surface-terra-soft);color:var(--text-accent)}
.cal-tipo-ausencia{background:var(--surface-sunken);color:var(--text-muted)}
.cal-tipo-reuniao{background:var(--state-info-bg);color:var(--state-info-fg)}

.hub-cal-proximos{display:flex;flex-direction:column;gap:0;padding-top:var(--space-1)}
.hub-cal-proximos .arca-eyebrow{margin-bottom:var(--space-2)}
.hub-cal-item{
  display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-2) 0;
  border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);line-height:var(--lh-normal);
}
.hub-cal-item:last-child{border-bottom:none}
.hub-cal-item > div{min-width:0;flex:1}
.hub-cal-item b{display:block;font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hub-cal-item .muted{display:block}
.hub-cal-item[onclick]{cursor:pointer}
.hub-cal-item[onclick]:hover b{color:var(--text-link)}
.modal .hub-cal-item{align-items:center}

/* ---------- Portal RH ---------- */
.rh-pagina{max-width:1080px;margin:0 auto}
.rh-pagina .toolbar{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-4)}
.rh-pagina .toolbar input,.rh-pagina .toolbar select{width:auto}
.rh-pagina td.right{text-align:right}
.rh-pagina a.kpi{text-decoration:none;color:inherit;display:block}
