/* Hórus Barbearia · CRM de retorno · views/hoje.css
   Painel do dia. Todo seletor sob .v-hoje. */

.v-hoje { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.v-hoje .card__foot { flex-wrap: wrap; }
.v-hoje .card__head { align-items: center; }
.v-hoje__head-btn { flex: none; }
.v-hoje__card { min-width: 0; }
.v-hoje__none { display: flex; align-items: center; gap: 8px; color: var(--text-3); font-size: 13px; padding: 6px 0; }
.v-hoje__note { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }

/* ---------- saudação ---------- */
.v-hoje__hello { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.v-hoje__hello-main { min-width: 0; }
/* mesma medida de .page-title / .page-sub do core: a saudação é o título desta view e trocar
   de tela não pode mudar o tamanho do título nem do subtítulo */
.v-hoje__greet { font-size: 22px; font-weight: 700; letter-spacing: -.01em; line-height: 1.15; }
.v-hoje__date { font-size: 14px; color: var(--text-2); margin-top: 4px; }
.v-hoje__brief { font-size: 13px; color: var(--text-3); margin-top: 4px; }
.v-hoje__quick { display: flex; gap: 10px; flex: none; }

/* ---------- colunas ---------- */
.v-hoje__cols { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.v-hoje__col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

/* ---------- radar de retorno ---------- */
.v-hoje__radar { display: flex; flex-direction: column; }
.v-hoje__ritem { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); min-width: 0; }
.v-hoje__ritem:first-child { padding-top: 0; }
.v-hoje__ritem:last-child { border-bottom: 0; padding-bottom: 0; }
.v-hoje__rmain { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.v-hoje__rtop { display: flex; align-items: center; gap: 8px; min-width: 0; }
.v-hoje__name { font-weight: 600; font-size: 14px; color: var(--text); transition: color var(--t) var(--ease); }
.v-hoje__name:hover { color: var(--green-400); }
.v-hoje__rline { font-size: 13px; color: var(--text-2); }
.v-hoje__rmeta { display: flex; align-items: center; gap: 6px 10px; flex-wrap: wrap; font-size: 12px; color: var(--text-3); min-width: 0; }
.v-hoje__flag { display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 8px; border-radius: var(--radius-pill); background: var(--surface-3); color: var(--text-2); font-size: 11px; font-weight: 500; white-space: nowrap; }
.v-hoje__flag--ok { background: var(--green-tint); color: var(--green-400); }
.v-hoje__ract { display: flex; gap: 8px; flex: none; }

/* ---------- agenda de hoje ---------- */
.v-hoje__agenda { display: flex; flex-direction: column; }
.v-hoje__aitem { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); min-width: 0; }
.v-hoje__agenda > li:first-child { padding-top: 0; }
.v-hoje__agenda > li:last-child { border-bottom: 0; padding-bottom: 0; }
.v-hoje__aitem.is-link { cursor: pointer; }
.v-hoje__aitem.is-link:hover .v-hoje__aname { color: var(--green-400); }
.v-hoje__atime { display: flex; flex-direction: column; gap: 2px; line-height: 1.2; }
.v-hoje__atime .mono { font-size: 14px; font-weight: 500; }
.v-hoje__adur { font-size: 11px; color: var(--text-3); font-family: var(--mono); }
.v-hoje__next { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--green-400); }
.v-hoje__amain { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.v-hoje__aname { display: block; font-weight: 600; color: var(--text); transition: color var(--t) var(--ease); }
.v-hoje__asub { font-size: 13px; color: var(--text-2); display: flex; align-items: center; gap: 4px 8px; flex-wrap: wrap; min-width: 0; }
.v-hoje__aside { display: flex; align-items: center; gap: 8px; flex: none; }
.v-hoje__aitem.is-done .v-hoje__aname { color: var(--text-2); font-weight: 500; }
.v-hoje__aitem.is-done .v-hoje__atime .mono { color: var(--text-3); font-weight: 400; }
.v-hoje__aitem.is-done .v-hoje__asub { color: var(--text-3); }
.v-hoje__aitem.is-missed .v-hoje__aname { text-decoration: line-through; color: var(--text-3); }
.v-hoje__aitem.is-next .v-hoje__atime .mono { color: var(--green-400); }
.v-hoje__now { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-family: var(--mono); font-size: 11px; font-weight: 500; color: var(--st-sumido); white-space: nowrap; }
.v-hoje__now::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--st-sumido); flex: none; }
.v-hoje__now::after { content: ''; flex: 1 1 auto; height: 1px; background: rgba(239,83,80,.5); }
.v-hoje__bcounts { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.v-hoje__bcount { display: inline-flex; align-items: center; gap: 6px; }
.v-hoje__bcount .mono { font-size: 12px; color: var(--text-3); }

/* ---------- aniversários ---------- */
.v-hoje__bd { display: flex; flex-direction: column; }
.v-hoje__bitem { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); min-width: 0; cursor: pointer; }
.v-hoje__bitem:first-child { padding-top: 0; }
.v-hoje__bitem:last-child { border-bottom: 0; padding-bottom: 0; }
.v-hoje__bitem:hover .v-hoje__name { color: var(--green-400); }
.v-hoje__bmain { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.v-hoje__bmain .v-hoje__name { display: block; }
.v-hoje__bsub { font-size: 13px; color: var(--text-2); }
.v-hoje__bitem.is-today .v-hoje__bsub { color: var(--green-400); font-weight: 600; }
.v-hoje__bicon { color: var(--text-3); display: flex; flex: none; }

/* ---------- últimas ações ---------- */
.v-hoje__acts { display: flex; flex-direction: column; }
.v-hoje__act { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); min-width: 0; }
.v-hoje__act:first-child { padding-top: 0; }
.v-hoje__act:last-child { border-bottom: 0; padding-bottom: 0; }
.v-hoje__act.is-link { cursor: pointer; }
.v-hoje__act.is-link:hover .v-hoje__act-text { color: var(--green-400); }
.v-hoje__act-ico { width: 32px; height: 32px; border-radius: 50%; background: var(--surface-3); color: var(--text-2); display: flex; align-items: center; justify-content: center; flex: none; }
.v-hoje__act-ico--contato { background: var(--green-tint); color: var(--green-400); }
.v-hoje__act-ico--visita { color: var(--text); }
.v-hoje__act-ico--agendamento { color: var(--st-hora); }
.v-hoje__act-ico--fidelidade { color: var(--st-risco); }
.v-hoje__act-ico--sistema { color: var(--text-3); }
.v-hoje__act-text { flex: 1 1 auto; min-width: 0; font-size: 13px; line-height: 1.4; padding-top: 6px; color: var(--text); transition: color var(--t) var(--ease); overflow-wrap: anywhere; }
.v-hoje__act-when { flex: none; font-size: 12px; color: var(--text-3); padding-top: 8px; }

/* ---------- atendimentos por semana ---------- */
.v-hoje__weeks-body { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px; align-items: end; }
.v-hoje__weeks-now { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.v-hoje__weeks-num { font-size: 36px; font-weight: 800; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; color: var(--green-400); }
.v-hoje__weeks-lbl { font-size: 13px; font-weight: 500; color: var(--text-2); }
.v-hoje__weeks-hint { display: flex; flex-direction: column; gap: 2px; margin-top: 4px; font-size: 12px; color: var(--text-3); }
.v-hoje__weeks-chart { min-width: 0; }
.v-hoje__weeks-chart .bars__bar { transition: stroke var(--t) var(--ease); }
.v-hoje__weeks-chart .bars__bar:hover { stroke: var(--green-400); }
.v-hoje__weeks-labels { display: grid; grid-template-columns: repeat(var(--n, 8), minmax(0, 1fr)); gap: 4px; margin-top: 8px; }
.v-hoje__weeks-labels span { font-family: var(--mono); font-size: 11px; color: var(--text-3); text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.v-hoje__weeks-labels span.is-current { color: var(--green-400); font-weight: 500; }

/* ---------- tablet (sidebar recolhida): coluna do radar estreita, ações descem para baixo do texto ---------- */
@media (max-width: 1100px) {
  .v-hoje__ritem { grid-template-columns: auto minmax(0, 1fr); gap: 10px 12px; }
  .v-hoje__ract { grid-column: 2; }
}
/* uma coluna só: os cards passam a ser filhos diretos da grade (display:contents),
   para o gráfico da semana poder ir ao fim pelo order, depois da agenda e das ações */
@media (max-width: 960px) {
  .v-hoje__cols { grid-template-columns: minmax(0, 1fr); }
  .v-hoje__col { display: contents; }
  .v-hoje__weeks { order: 2; }
}

/* ---------- mobile ---------- */
@media (max-width: 768px) {
  .v-hoje { gap: 16px; }
  .v-hoje__greet { font-size: 20px; }
  .v-hoje__ract { grid-column: 1 / -1; }
  .v-hoje__ract .btn { flex: 1 1 0; }
  .v-hoje__aitem { grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; }
  .v-hoje__weeks-body { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .v-hoje__weeks-now { flex-direction: row; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
  .v-hoje__weeks-hint { flex-basis: 100%; flex-direction: row; flex-wrap: wrap; gap: 2px 12px; margin-top: 0; }
}
