:root {
  --bg: #FAF7F1;
  --surface: #FFFFFF;
  --border: #E6E0D2;
  --text: #2A2A24;
  --text-secondary: #756F5F;
  --primary: #33593F;
  --primary-dark: #23402C;
  --primary-tint: #E7EEE7;
  --accent: #C98A3C;
  --accent-tint: #F6E9D6;
  --chip-bg: #F0EBDD;
  --chip-text: #4A4536;
}

/* Prévia local: Manrope traz mais personalidade sem comprometer a leitura. */
body, button, input, select, textarea, h1, h2, h3, .cal-app, .cal-toolbar h1, .cal-toolbar h2 { font-family: 'Manrope', sans-serif !important; }

/* Resumo e organização do painel de gestão. */
.painel-resumo { display: flex; justify-content: space-between; align-items: center; gap: 20px; background: linear-gradient(110deg, #edf8ed, #e5f2e6); border: none; box-shadow: 0 7px 20px rgba(51, 89, 63, .08); }
.painel-resumo-conteudo, .painel-cartao-cabecalho, .secao-cabecalho { display: flex; align-items: flex-start; gap: 12px; }
.painel-resumo p { margin: 8px 0; }
.painel-total { display: flex; flex-direction: column; text-align: center; flex-shrink: 0; color: var(--primary-dark); }
.painel-total strong { font-family: 'Public Sans', sans-serif; font-size: 44px; }
.painel-total span { font-size: 13px; }
.painel-icone { width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; font-size: 22px; font-weight: 700; background: #d8eed9; color: var(--primary); }
.painel-icone-agenda { background: #d9edd9; color: #2c6b45; }
.painel-icone-praticantes { background: #dcefdc; color: #2c6b45; }
.painel-icone-equipe { background: #dce9fc; color: #3166ad; }
.painel-icone-tarefa { background: #e0f2e4; color: #2c6b45; }
.painel-aniversarios { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.aniversario-praticantes { background: linear-gradient(135deg, #f3faf3, #e9f5e9); border: none; border-top: 4px solid #33593f; box-shadow: 0 5px 16px rgba(51, 89, 63, .06); }
.aniversario-equipe { background: linear-gradient(135deg, #f4f8ff, #eaf2ff); border: none; border-top: 4px solid #3166ad; box-shadow: 0 5px 16px rgba(49, 102, 173, .06); }
.painel-etiqueta { display: block; font-size: 12px; font-weight: 600; margin-bottom: 8px; }
.painel-lista { list-style: none; padding: 0; margin: 14px 0 0; }
.painel-lista li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--border); overflow-wrap: anywhere; }
.aniversario-dia { font-weight: 700; white-space: nowrap; }
.aniversario-hoje { display: inline-block; margin-left: 8px; color: var(--primary-dark); font-size: 12px; }
.tarefas-ajuda { font-size: 13px; color: var(--text-secondary); }
.tarefas-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.tarefas-form .campo { margin: 0; }
.tarefas-form .tarefa-texto { flex: 1 1 240px; }
.tarefas-grupos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.tarefas-grupos h4 { margin-bottom: 0; }
.painel-lista .tarefa-item { justify-content: space-between; align-items: flex-start; }
.tarefa-item > span { min-width: 0; white-space: pre-wrap; }
.tarefa-item form { flex-shrink: 0; }
.tarefa-item button { padding: 9px 12px; font-size: 12px; }
.tarefas-concluidas { margin-top: 20px; }
.tarefas-concluidas summary { cursor: pointer; }
.painel-estatisticas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 22px; }
.painel-estatistica { display: flex; align-items: center; justify-content: center; gap: 10px; min-width: 0; padding: 13px 8px; margin: 0; border: none; box-shadow: 0 3px 12px rgba(42, 42, 36, .05); text-align: left; }
.painel-estatistica .painel-icone { width: 32px; height: 32px; font-size: 16px; }
.painel-estatistica strong, .painel-estatistica span { display: block; }
.painel-estatistica strong { font-family: 'Public Sans', sans-serif; font-size: 23px; line-height: 1; }
.painel-estatistica span { font-size: 11px; color: var(--text-secondary); margin-top: 3px; }
.status-a-atender strong { color: #c8872d; }.status-a-atender .painel-icone { background: #f9ecd1; color: #c8872d; }
.status-em-andamento strong { color: #bb7b1c; }.status-em-andamento .painel-icone { background: #ffedc9; color: #c8872d; }
.status-aguardando strong { color: #3166ad; }.status-aguardando .painel-icone { background: #dce9fc; color: #3166ad; }
.status-atendido strong { color: #2c6b45; }.status-atendido .painel-icone { background: #dcefdc; color: #2c6b45; }
.status-faltou strong { color: #a1362a; }.status-faltou .painel-icone { background: #f9dede; color: #a1362a; }
.agenda-fixa-cartao { background: #f8fbf8; border-color: #d7e5d8; }
.agenda-fixa-cartao h3, .agenda-fixa-resumo h3 { margin-bottom: 4px; }
.agenda-fixa-cartao p { font-size: 13px; color: var(--text-secondary); margin: 0 0 16px; }
.agenda-fixa-linha { display: grid; grid-template-columns: 1.25fr .8fr .75fr 1.2fr auto; align-items: end; gap: 10px; padding: 12px; margin-bottom: 10px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.agenda-fixa-linha .campo { margin: 0; }
.agenda-fixa-linha .botao { padding: 11px 12px; }
.agenda-fixa-resumo p { padding: 9px 0; margin: 0; border-top: 1px solid var(--border); font-size: 14px; }
@media (max-width: 600px) {
  .tarefas-grupos { grid-template-columns: 1fr; gap: 8px; }
  .painel-aniversarios { grid-template-columns: 1fr; gap: 0; }
  .painel-resumo { align-items: flex-start; flex-direction: column; }
  .painel-total { flex-direction: row; align-items: center; gap: 12px; }
  .painel-estatisticas { grid-template-columns: 1fr 1fr; }
  .agenda-fixa-linha { grid-template-columns: 1fr 1fr; }
  .agenda-fixa-linha .botao { grid-column: span 2; }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: 'Public Sans', sans-serif;
  background: var(--bg);
  color: var(--text);
}

h1, h2, h3 { font-family: 'Public Sans', sans-serif; margin: 0 0 8px; }
button, input, select, textarea { font-family: inherit; }

a { color: inherit; }

.topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  background: var(--primary);
  color: #fff;
  flex-wrap: wrap;
  gap: 10px;
}
.topo-marca { font-family: 'Public Sans', sans-serif; font-size: 20px; font-weight: 700; display: flex; align-items: center; }
.logo-topo { height: 34px; width: auto; display: block; background: #fff; border-radius: 8px; padding: 2px 8px; }
.logo-login { width: 180px; height: auto; margin-bottom: 4px; }
.topo-nav { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.topo-nav a { text-decoration: none; color: #fff; font-size: 14px; font-weight: 600; }
.topo-usuario { font-size: 13px; color: var(--accent-tint); }

.conteudo { max-width: 960px; margin: 0 auto; padding: 24px 20px 60px; }

.avisos { margin-bottom: 20px; }
.aviso { padding: 12px 16px; border-radius: 10px; font-size: 14px; margin-bottom: 8px; }
.aviso-erro { background: #FBE4E1; color: #A1362A; }
.aviso-sucesso { background: var(--primary-tint); color: var(--primary); }

.cartao {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 18px;
  margin-bottom: 18px;
}

.campo { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.campo label { font-size: 12px; font-weight: 700; color: var(--chip-text); text-transform: uppercase; letter-spacing: 0.03em; }
.campo input[type=text], .campo input[type=date], .campo input[type=time], .campo input[type=number], .campo input[type=tel], .campo input[type=password], .campo select, .campo textarea {
  width: 100%; padding: 11px 13px; border: 1px solid var(--border); border-radius: 8px;
  font-size: 14px; font-family: 'Public Sans', sans-serif; background: #fff; color: var(--text);
}
.campo textarea { resize: vertical; min-height: 90px; }

.grupo-titulo { font-size: 12px; font-weight: 700; color: var(--chip-text); text-transform: uppercase; letter-spacing: 0.03em; margin-bottom: 10px; }
.opcoes { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.opcoes label {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 13px; border-radius: 20px; border: 1px solid var(--border);
  background: var(--chip-bg); color: var(--chip-text); font-size: 13px; cursor: pointer;
}
.opcoes input { accent-color: var(--primary); }

.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 20px; border-radius: 10px; font-size: 14px; font-weight: 600;
  border: none; cursor: pointer; text-decoration: none;
}
.botao-primario { background: var(--primary); color: #fff; }
.botao-secundario { background: #fff; border: 1px solid var(--border); color: var(--text); }
.botao-linha { display: flex; gap: 12px; margin-top: 8px; }

.lista-praticantes { display: flex; flex-direction: column; gap: 10px; }
.item-praticante {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px;
  background: var(--surface); border: 1px solid var(--border); border-radius: 12px; text-decoration: none;
}
.avatar {
  width: 42px; height: 42px; border-radius: 50%; background: var(--chip-bg);
  display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--chip-text); flex-shrink: 0;
}
.item-praticante .nome { font-weight: 600; }
.item-praticante .sub { font-size: 12px; color: var(--text-secondary); }

.busca { display: flex; gap: 10px; margin-bottom: 18px; }
.busca input { flex-grow: 1; padding: 11px 14px; border: 1px solid var(--border); border-radius: 10px; font-size: 14px; }

.tag { display: inline-block; padding: 4px 10px; background: var(--primary-tint); color: var(--primary); border-radius: 20px; font-size: 12px; font-weight: 600; }
.tag-pendente { background: var(--accent-tint); color: var(--accent); }

table.tabela { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
table.tabela th, table.tabela td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--border); font-size: 14px; }
table.tabela th { background: var(--chip-bg); font-size: 12px; text-transform: uppercase; letter-spacing: 0.03em; }
.acoes-tabela { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.acoes-tabela form { margin: 0; }

.link-nome { background: none; border: none; padding: 0; margin: 0; font: inherit; color: var(--primary); font-weight: 600; text-decoration: underline; cursor: pointer; }
.link-nome:hover { color: var(--primary-dark); }

dialog.modal-espera { border: none; border-radius: 14px; padding: 22px; max-width: 380px; width: 90%; background: var(--surface); color: var(--text); }
dialog.modal-espera::backdrop { background: rgba(42, 42, 36, 0.45); }
dialog.modal-espera p { font-size: 14px; margin: 8px 0; }

.login-pagina { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.login-caixa { width: 100%; max-width: 360px; text-align: center; }
.login-caixa h1 { font-size: 30px; margin-bottom: 6px; }
.login-caixa h1 .verde { color: var(--primary); }
.login-caixa h1 .laranja { color: var(--accent); }
.login-caixa form { text-align: left; margin-top: 24px; }

/* Módulo financeiro: recursos da fundação, nunca cobranças aos praticantes. */
.financeiro-cabecalho, .pagina-cabecalho { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:22px; }
.financeiro-cabecalho h1, .pagina-cabecalho h1 { font-size:34px; color:var(--primary-dark); }
.financeiro-cabecalho p, .pagina-cabecalho p { margin:4px 0 0; color:var(--text-secondary); }
.sobretitulo { color:var(--primary) !important; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.financeiro-metricas { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; }
.metrica { margin:0; min-height:134px; display:flex; flex-direction:column; gap:8px; border-top:4px solid var(--primary); }
.metrica.entrada { border-top-color:#61a66d; }.metrica.despesa { border-top-color:#c8872d; }
.metrica span { font-size:13px; color:var(--text-secondary); }.metrica .valor { font-family:'Public Sans',sans-serif; font-size:25px; color:var(--primary-dark); }.metrica small { font-size:12px; color:var(--text-secondary); }
.financeiro-grade { display:grid; grid-template-columns:1.5fr 1fr; gap:18px; margin-top:18px; }.financeiro-grade .cartao { margin:0; }.despesas { grid-column:span 1; }.acompanhar { grid-column:span 1; }
.texto-suave { color:var(--text-secondary); font-size:13px; margin-top:0; }.barras-resumo { margin-top:26px; display:grid; gap:22px; }.barras-resumo div { display:grid; gap:7px; }.barras-resumo span { font-size:13px; font-weight:600; }.barra { display:block; height:18px; min-width:20px; border-radius:100px; }.barra.entrada { background:#75b97f; }.barra.custo { background:#1f6461; }
.fonte { display:grid; grid-template-columns:1fr auto; gap:7px 12px; padding:12px 0; border-bottom:1px solid var(--border); font-size:13px; }.fonte i { grid-column:span 2; height:9px; background:#edf0ec; border-radius:8px; overflow:hidden; }.fonte em { display:block; height:100%; background:#7bb485; border-radius:8px; }.fonte b { color:var(--primary-dark); }
.tabela-responsiva { overflow-x:auto; }.tag-entrada { background:#e4f2e5; color:#27643d; }.tag-despesa { background:#f8ead7; color:#925d17; }.botao-link { border:0; background:none; color:#9a3931; text-decoration:underline; cursor:pointer; font:inherit; font-size:12px; }.lembrete { border:1px solid var(--border); border-radius:10px; padding:12px; margin-top:10px; display:grid; gap:4px; }.lembrete span { color:var(--text-secondary); font-size:13px; }.grade-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }.check { display:block; font-size:14px; margin-bottom:18px; }
@media (max-width:760px) { .financeiro-metricas { grid-template-columns:1fr 1fr; }.financeiro-grade { grid-template-columns:1fr; }.financeiro-cabecalho, .pagina-cabecalho { flex-direction:column; }.grade-form { grid-template-columns:1fr; } }

/* Renovação visual: navegação lateral e painel de gestão. */
body { background:#f6f6f3; color:#12333a; font-family:'Public Sans',sans-serif; }
.pagina-relatorios { max-width: 1180px; margin: 0 auto; }
.pagina-relatorios h1, .pagina-relatorios h2, .pagina-relatorios strong { font-family: 'Public Sans', sans-serif; }
.grade-relatorios { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.relatorio-card { display: flex; min-height: 220px; flex-direction: column; align-items: flex-start; }
.relatorio-card > svg { color: #17605e; width: 28px; height: 28px; margin-bottom: 16px; }
.relatorio-card h2 { font-size: 18px; }
.relatorio-card p { color: var(--text-secondary); line-height: 1.5; font-size: 14px; flex: 1; }
.filtros-relatorio { display: flex; align-items: end; flex-wrap: wrap; gap: 14px; margin-bottom: 18px; }
.filtros-relatorio .campo { flex: 1 1 180px; margin: 0; }
.metricas-relatorio { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.metricas-relatorio .cartao { margin: 0; padding: 18px; }
.metricas-relatorio span { display:block; color: var(--text-secondary); font-size: 13px; }
.metricas-relatorio strong { display:block; margin-top: 7px; font-size: 25px; color: var(--primary-dark); }
.relatorio-acoes { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 18px; }
.linha-valor { display:flex; justify-content:space-between; gap:12px; border-top: 1px solid var(--border); padding:10px 0; margin:0; }
.pagina-profissionais { max-width: 950px; margin: 0 auto; }.formulario-profissional h2 { font-size: 17px; margin: 26px 0 14px; }.perfil-edicao { display:flex; gap:18px; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--border); }.foto-perfil-grande { width:78px; height:78px; border-radius:50%; overflow:hidden; display:grid; place-items:center; background:#e7f3e8; color:#17605e; flex:0 0 auto; }.foto-perfil-grande img { width:100%; height:100%; object-fit:cover; }.foto-perfil-grande svg { width:34px; height:34px; }.nome-profissional { display:flex; align-items:center; gap:8px; }.nome-profissional img,.nome-profissional span { width:32px; height:32px; border-radius:50%; object-fit:cover; display:grid; place-items:center; background:#e7f3e8; color:#17605e; font-size:11px; font-weight:700; }.avatar-perfil { object-fit:cover; overflow:hidden; }
.editor-foto { width:min(92vw,460px); border:0; border-radius:18px; padding:0; color:#12333a; box-shadow:0 20px 70px rgba(0,0,0,.28); }.editor-foto::backdrop { background:rgba(15,34,35,.56); }.editor-foto form { padding:22px; }.editor-foto header,.editor-foto footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }.editor-foto h2 { margin:0; font-size:19px; }.editor-foto p { color:var(--text-secondary); font-size:13px; line-height:1.5; }.fechar-editor { border:0; background:transparent; font-size:28px; cursor:pointer; color:#516568; }.editor-foto footer { justify-content:flex-end; margin-top:18px; }.editor-foto #area-corte { width:320px; height:320px; max-width:100%; margin:14px auto; overflow:hidden; border-radius:50%; background:#e7f3e8; cursor:grab; touch-action:none; }.editor-foto #area-corte:active { cursor:grabbing; }.editor-foto canvas { width:100%; height:100%; display:block; }.controle-zoom { display:grid; grid-template-columns:50px 1fr; align-items:center; gap:12px; font-size:13px; }.controle-zoom input { accent-color:#12615e; }
@media (max-width: 650px) { .metricas-relatorio { grid-template-columns: 1fr 1fr; } }
.aplicacao { min-height:100vh; display:flex; }
.barra-lateral { width:245px; flex:0 0 245px; min-height:100vh; padding:26px 14px 18px; background:#fffefa; border-right:1px solid #e4e8e3; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; }
.marca-lateral { display:flex; align-items:center; gap:10px; padding:0 12px 28px; color:#17383f; font-size:16px; font-weight:700; text-decoration:none; }.marca-lateral img { width:58px; height:58px; object-fit:contain; }.marca-lateral span { max-width:125px; }.marca-lateral small { display:block; margin-top:4px; color:#748286; font-size:11px; font-weight:600; }
.menu-lateral { display:flex; flex-direction:column; gap:5px; }.menu-lateral a { display:flex; align-items:center; gap:12px; padding:12px 13px; border-radius:11px; color:#49616a; text-decoration:none; font-size:14px; font-weight:600; }.menu-lateral a svg { width:19px; height:19px; color:#15645e; stroke-width:1.8; flex:0 0 auto; }.menu-lateral a.ativo,.menu-lateral a:hover { background:#e7f2e8; color:#174d48; }
.cabecalho-modulo { margin-bottom:22px; }.cabecalho-modulo h2 { margin-bottom:5px; }.cabecalho-modulo p { color:var(--text-secondary); margin:0; }.acoes-modulo { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }.ficha-cavalo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; }.ficha-cavalo p { margin:0; }.ficha-cavalo .campo-largo { grid-column:1/-1; }.cuidado-cavalo { margin-bottom:10px; }.cuidado-cavalo p { margin:5px 0 0; color:var(--text-secondary); }
.perfil-lateral { border-top:1px solid #e6e9e5; margin-top:auto; padding:17px 10px 2px; display:grid; grid-template-columns:36px minmax(0,1fr); gap:0 9px; align-items:center; }.avatar-perfil { grid-row:span 2; width:35px; height:35px; border-radius:50%; background:#dff0df; color:#17604d; display:grid; place-items:center; font-size:11px; font-weight:700; }.perfil-lateral > div { min-width:0; display:flex; flex-direction:column; }.perfil-lateral strong { display:block; font-size:12px; line-height:1.35; overflow-wrap:anywhere; }.perfil-lateral small,.perfil-lateral a { display:block; font-size:11px; color:#6f8082; }.perfil-lateral a { grid-column:2; grid-row:2; margin-top:6px; }
.conteudo { width:100%; max-width:none; margin:0; padding:38px 46px 60px; }
.rodape-sistema { max-width:1240px; margin:44px auto 0; padding-top:18px; border-top:1px solid #e2e8e3; color:#7b898a; font-size:11px; text-align:center; }
.novo-painel { max-width:1240px; margin:0 auto; }.novo-painel h1 { font-family:'Public Sans',sans-serif; font-size:31px; letter-spacing:-.8px; margin:0; color:#0e3038; }.novo-painel-cabecalho { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:28px; }.novo-painel-cabecalho p { margin:7px 0 0; color:#718286; font-size:14px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.botao-primario { background:#0e615e; }.botao { border-radius:10px; }.cards-resumo { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:20px; }.cards-resumo article { background:#fff; border:1px solid #e6ebe6; border-radius:14px; padding:18px 20px; display:flex; align-items:center; gap:15px; box-shadow:0 3px 12px rgba(18,51,58,.04); }.cards-resumo .icone-resumo { width:47px; height:47px; display:grid; place-items:center; border-radius:50%; background:#e7f3e8; color:#12645d; flex:0 0 auto; }.cards-resumo .icone-resumo svg { width:21px; height:21px; }.cards-resumo small,.cards-resumo em { display:block; font-size:12px; color:#748285; font-style:normal; }.cards-resumo strong { font-size:28px; color:#103a40; display:block; margin:2px 0; }
.grade-painel { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(310px,.9fr); gap:20px; }.cartao { border-color:#e5eae6; box-shadow:0 3px 12px rgba(18,51,58,.035); }.agenda-hoje { padding:24px; }.cabecalho-cartao { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; border-bottom:1px solid #edf0ed; padding-bottom:15px; }.cabecalho-cartao h2 { font-family:'Public Sans',sans-serif; font-size:19px; color:#133940; margin:0; }.cabecalho-cartao p { color:#748285; margin:5px 0 0; font-size:13px; }.cabecalho-cartao a { color:#17605e; font-size:12px; font-weight:700; text-decoration:none; }.lista-agenda { margin-top:9px; }.linha-agenda { display:grid; grid-template-columns:58px 15px 1fr auto; align-items:center; gap:10px; padding:14px 0; border-bottom:1px solid #edf0ed; }.linha-agenda:last-child { border:0; }.linha-agenda time { color:#506a70; font-weight:600; font-size:13px; }.linha-agenda strong,.aniversariante strong { display:block; font-size:14px; color:#183b42; }.linha-agenda small,.aniversariante small { color:#758589; font-size:12px; }.ponto { width:10px; height:10px; border-radius:50%; background:#72b96f; }.ponto.em_andamento { background:#e6a728; }.ponto.cancelado,.ponto.faltou { background:#dc8178; }
.coluna-lateral-painel { display:grid; gap:20px; align-content:start; }.card-aniversarios { background:linear-gradient(145deg,#f4fbf2,#e7f3e8); }.aniversariante { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #dce9db; }.aniversariante:last-child { border:0; }.aniversariante b { display:grid; place-items:center; width:39px; height:39px; border-radius:9px; background:#fff; color:#1a5d4d; font-size:14px; }.card-afazeres { padding:20px; }.card-afazeres .cabecalho-cartao { align-items:center; }.card-afazeres .botao { padding:7px 10px; font-size:12px; }.filtros-tarefa { display:flex; gap:8px; margin:14px 0 6px; }.filtros-tarefa span { padding:6px 11px; border-radius:20px; background:#e8f2e9; color:#17584e; font-size:11px; font-weight:700; }.tarefa-moderna { display:flex; align-items:flex-start; gap:9px; padding:10px 0; border-bottom:1px solid #edf0ed; font-size:13px; }.tarefa-moderna form { margin:0; }.tarefa-moderna button { cursor:pointer; border:1px solid #89b292; background:white; color:#267143; width:18px; height:18px; padding:0; border-radius:4px; }.novo-afazer { display:grid; grid-template-columns:1fr 100px auto; gap:7px; margin-top:13px; }.novo-afazer input,.novo-afazer select { padding:8px; border:1px solid #dce4df; border-radius:7px; font:inherit; font-size:12px; }.novo-afazer .botao { padding:8px; font-size:12px; }.vazio { color:#77878b; font-size:13px; padding:14px 0; }
@media (max-width:900px) { .barra-lateral { width:72px; flex-basis:72px; padding:18px 8px; }.marca-lateral span,.menu-lateral a:not(:hover)::after,.menu-lateral a { font-size:0; }.marca-lateral { padding:0 0 22px; justify-content:center; }.marca-lateral img { width:46px; }.menu-lateral a { justify-content:center; text-align:center; padding:12px 4px; }.menu-lateral a svg { width:20px; height:20px; }.perfil-lateral div,.perfil-lateral a { display:none; }.perfil-lateral { display:block; padding:13px 10px; }.conteudo { padding:28px 24px; } }
@media (max-width:680px) { .barra-lateral { display:none; }.conteudo { padding:22px 16px; }.cards-resumo,.grade-painel { grid-template-columns:1fr; }.novo-painel-cabecalho { align-items:flex-start; flex-direction:column; }.novo-afazer { grid-template-columns:1fr; } }

.agenda-calendario { max-width:1240px; margin:auto; }.agenda-calendario-topo { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:22px; }.agenda-calendario h1 { font-family:'Public Sans',sans-serif; font-size:31px; margin:0; }.agenda-calendario-topo p { color:#718286; margin:6px 0 0; }.agenda-acoes { display:flex; align-items:center; gap:10px; }.agenda-acoes .botao { white-space:nowrap; }.agenda-acoes svg { width:17px; }.seletor-visao { display:flex; border:1px solid #dde5df; border-radius:10px; padding:3px; background:#fff; }.seletor-visao a { text-decoration:none; color:#4e6367; padding:8px 13px; border-radius:7px; font-size:13px; }.seletor-visao .ativo { color:#fff; background:#0e615e; font-weight:700; }.feriado-form { display:flex; gap:10px; margin:-8px 0 15px; padding:12px; border:1px solid #dce7de; border-radius:10px; background:#f5fbf4; }.feriado-form input { padding:9px; border:1px solid #d5e0d7; border-radius:7px; font:inherit; }.grade-calendario { display:grid; grid-template-columns:58px repeat(5, minmax(145px,1fr)); border:1px solid #e1e7e2; border-radius:13px; overflow:hidden; background:#fff; }.horas { padding-top:63px; background:#fbfcfa; }.horas span { height:58px; display:block; padding:8px; color:#718286; font-size:11px; text-align:right; border-bottom:1px solid #eef1ee; }.dia-calendario { min-width:0; border-left:1px solid #e7ece8; }.dia-calendario>header { height:63px; padding:13px 8px; text-align:center; border-bottom:1px solid #e7ece8; }.dia-calendario>header strong,.dia-calendario>header span { display:block; }.dia-calendario>header strong { font-size:12px; }.dia-calendario>header span { color:#173f45; font-weight:700; font-size:16px; }.dia-calendario>header small { color:#a14841; font-size:10px; }.dia-grade { position:relative; height:638px; }.linha-hora { height:58px; border-bottom:1px solid #edf0ed; }.linha-hora.almoco { background:#f5f1e8; }.linha-hora span { display:block; padding-top:19px; text-align:center; font-size:10px; color:#827967; }.evento-agenda { position:absolute; left:5px; right:5px; z-index:2; padding:6px 8px; overflow:hidden; border-left:4px solid var(--cor); background:color-mix(in srgb, var(--cor) 20%, white); border-radius:7px; color:#17434a; }.evento-agenda strong,.evento-agenda small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.evento-agenda strong { font-size:12px; }.evento-agenda small { font-size:10px; margin-top:2px; }.dia-calendario.feriado .dia-grade { opacity:.55; }.legenda-cores { display:flex; align-items:center; flex-wrap:wrap; gap:13px; margin-top:15px; padding:14px 17px; background:#fff; border:1px solid #e3e9e4; border-radius:11px; font-size:12px; }.legenda-cores span { display:flex; align-items:center; gap:6px; }.legenda-cores i { width:11px; height:11px; border-radius:50%; }
@media (max-width:900px) { .agenda-calendario-topo { align-items:flex-start; flex-direction:column; }.grade-calendario { overflow-x:auto; }.horas,.dia-calendario { min-width:150px; }.horas { min-width:58px; } }

/* Conta: trocar senha e sair (Sair é um formulário POST por segurança, mas parece um link) */
.conta-links{display:flex;flex-direction:column;gap:2px;align-items:flex-start;margin-top:2px}
.conta-links a,.form-sair button{background:none;border:0;padding:0;margin:0;font:inherit;font-size:12px;color:var(--text-secondary);text-decoration:underline;cursor:pointer}
.form-sair{margin:0}
