@import url("/assets/theme.css?v=20260830.1");

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body {
  margin: 0;
  color: var(--tinta);
  background: var(--papel);
  font-family: "Trebuchet MS", "Gill Sans", sans-serif;
}

button, input { font: inherit; }

.pagina-login {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(320px, 0.92fr) minmax(420px, 1.08fr);
}

.painel-marca {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(32px, 5vw, 72px);
  color: var(--branco);
  background-color: var(--verde-profundo);
  background-image:
    linear-gradient(135deg, var(--cor-verde-vivo-16) 0 1px, transparent 1px 24px),
    linear-gradient(45deg, var(--cor-branco-05) 0 1px, transparent 1px 24px);
  background-size: 24px 24px;
}

.painel-marca::after {
  content: "";
  position: absolute;
  width: min(48vw, 620px);
  aspect-ratio: 1;
  right: -32%;
  bottom: -28%;
  border: 1px solid var(--cor-branco-24);
  border-radius: 50%;
  box-shadow: 0 0 0 56px var(--cor-branco-035), 0 0 0 112px var(--cor-branco-025);
}

.marca {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
}

.marca-logo {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: contain;
  border-radius: 50%;
}

.marca-nome { font: inherit; }

.mensagem-marca { position: relative; z-index: 1; max-width: 560px; }

.rotulo, .sobrelinha {
  margin: 0 0 18px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.rotulo { color: var(--verde-vivo); }
.sobrelinha { color: var(--verde); }

h1 {
  margin: 0;
  max-width: 12ch;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5.2vw, 76px);
  font-weight: 400;
  line-height: 1.02;
}

.apoio { max-width: 48ch; margin: 26px 0 0; color: var(--menta); font-size: 17px; line-height: 1.65; }

.ritmo { position: relative; z-index: 1; display: flex; align-items: flex-end; gap: 8px; height: 34px; }
.ritmo span { width: 5px; background: var(--verde-vivo); animation: pulso 1.8s ease-in-out infinite; }
.ritmo span:nth-child(1) { height: 10px; }
.ritmo span:nth-child(2) { height: 24px; animation-delay: .15s; }
.ritmo span:nth-child(3) { height: 16px; animation-delay: .3s; }
.ritmo span:nth-child(4) { height: 32px; animation-delay: .45s; }
.ritmo span:nth-child(5) { height: 12px; animation-delay: .6s; }

.painel-acesso {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(32px, 7vw, 96px);
  background:
    linear-gradient(var(--cor-verde-06) 1px, transparent 1px),
    var(--papel);
  background-size: 100% 80px;
}

.formulario-wrap { width: min(100%, 440px); }

h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(36px, 4vw, 54px);
  font-weight: 400;
  line-height: 1.08;
}

.instrucao { margin: 14px 0 38px; color: var(--tinta-suave); line-height: 1.6; }
.campo { margin-bottom: 24px; }
.linha-label { display: flex; justify-content: space-between; align-items: center; }

label { display: inline-block; margin-bottom: 9px; font-size: 14px; font-weight: 700; }

input {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  color: var(--tinta);
  background: var(--cor-branco-74);
  border: 1px solid var(--linha);
  border-radius: 4px;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

input:hover { border-color: var(--cor-linha-forte); }
input:focus { border-color: var(--foco); box-shadow: 0 0 0 3px var(--cor-foco-14); background: var(--branco); }
input[aria-invalid="true"] { border-color: var(--erro); }
select { font: inherit; }

.botao-texto {
  padding: 4px;
  color: var(--verde-profundo);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
}

.botao-texto:focus-visible, .botao-entrar:focus-visible { outline: 3px solid var(--cor-foco-30); outline-offset: 3px; }
.acoes-login { display: flex; justify-content: flex-end; margin: -10px 0 18px; }

.erro-campo { display: block; min-height: 18px; padding-top: 5px; color: var(--erro); font-size: 12px; }

.mensagem-formulario {
  margin: 0 0 20px;
  padding: 13px 14px;
  color: var(--erro);
  background: var(--cor-erro-fundo);
  border-left: 3px solid var(--erro);
  font-size: 14px;
  line-height: 1.45;
}

.mensagem-formulario.sucesso { color: var(--cor-sucesso); background: var(--cor-sucesso-fundo); border-color: var(--cor-sucesso-borda); }

.botao-entrar {
  width: 100%;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  color: var(--branco);
  background: var(--verde-profundo);
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 700;
  transition: background .16s ease, transform .16s ease;
}

.botao-entrar:hover { background: var(--cor-verde-hover); transform: translateY(-1px); }
.botao-entrar:disabled { cursor: wait; opacity: .72; transform: none; }
.chamada-cadastro { display: flex; align-items: center; justify-content: center; gap: 5px; margin-top: 18px; color: var(--tinta-suave); font-size: 12px; }
.chamada-cadastro .botao-texto { font-weight: 700; }
.seta { font-size: 24px; font-weight: 400; }
.privacidade { margin: 20px auto 0; max-width: 44ch; color: var(--tinta-suave); font-size: 12px; line-height: 1.55; text-align: center; }

[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

.dashboard-administrador { min-height: 100vh; display: grid; grid-template-columns: 232px minmax(0, 1fr); background: var(--papel); }
.dashboard-persona { min-height: 100vh; display: grid; grid-template-columns: 232px minmax(0, 1fr); background: var(--papel); }
.navegacao-persona { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 24px 16px 18px; color: var(--branco); background-color: var(--verde-profundo); background-image: linear-gradient(135deg, var(--cor-branco-05) 0 1px, transparent 1px 24px); background-size: 24px 24px; }
.fechar-menu-persona { display: none; }
.contexto-organizacao-sidebar { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 9px; margin: 30px 0 10px; padding: 12px 0; border-top: 1px solid var(--cor-branco-12); border-bottom: 1px solid var(--cor-branco-12); }
.contexto-organizacao-sidebar img { width: 34px; height: 34px; object-fit: cover; background: var(--branco); border-radius: 50%; }
.contexto-organizacao-sidebar small, .contexto-organizacao-sidebar strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contexto-organizacao-sidebar small { color: var(--cor-navegacao-grupo); font-size: 9px; text-transform: uppercase; }
.contexto-organizacao-sidebar strong { margin-top: 3px; color: var(--branco); font-size: 11px; }
.navegacao-organizacao { display: grid; gap: 4px; margin-top: 22px; }
.contexto-organizacao-sidebar[hidden] + .navegacao-organizacao { margin-top: 48px; }
.grupo-navegacao-persona { margin: 0 12px 5px; color: var(--cor-navegacao-grupo); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.navegacao-organizacao button { min-height: 44px; padding: 0 12px; color: var(--branco); background: transparent; border: 0; border-left: 3px solid transparent; border-radius: 0 4px 4px 0; cursor: pointer; font-weight: 700; text-align: left; }
.navegacao-organizacao button[aria-current="page"] { background: var(--cor-branco-12); border-left-color: var(--verde-vivo); }
.navegacao-organizacao button:hover, .navegacao-organizacao button:focus-visible { background: var(--cor-branco-08); }
.identidade-persona { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 9px; align-items: center; min-height: 48px; padding: 4px 8px 4px 4px; overflow-wrap: anywhere; color: var(--tinta-suave); font-size: 10px; }
.identidade-persona img { width: 38px; height: 38px; object-fit: cover; background: var(--menta); border: 2px solid var(--branco); border-radius: 50%; box-shadow: 0 0 0 1px var(--linha); }
.identidade-persona img:not([src]) { visibility: hidden; }
.identidade-persona strong, .identidade-persona span { display: block; }
.identidade-persona strong { color: var(--tinta); font-size: 12px; }
.identidade-persona span { margin-top: 2px; color: var(--tinta-suave); font-size: 10px; }
.conteudo-persona { min-width: 0; }
.topo-persona { min-height: 92px; background: var(--cor-branco-88); border-bottom: 1px solid var(--linha); }
.topo-persona-conteudo { width: min(100%, 1180px); min-height: 92px; display: flex; align-items: center; gap: 20px; margin-inline: auto; padding: 18px clamp(24px, 3.5vw, 52px); }
.titulo-topo-persona { margin-right: auto; }
.abrir-menu-persona { display: none; }
.topo-persona h1 { max-width: none; font-size: 32px; }
.topo-persona .sobrelinha { margin-bottom: 8px; }
.estado-persona { width: min(760px, calc(100% - 48px)); margin: 48px auto; padding: 32px; background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; }
.estado-persona h2 { font-size: 32px; }
.estado-persona > p:not(.sobrelinha):not(.estado-consulta) { max-width: 62ch; color: var(--tinta-suave); line-height: 1.6; }
.opcoes-persona { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-top: 24px; }
.opcoes-persona button { min-height: 82px; padding: 16px; color: var(--tinta); background: var(--superficie-suave); border: 1px solid var(--linha); border-left: 4px solid var(--verde); border-radius: 4px; cursor: pointer; text-align: left; }
.opcoes-persona button:hover, .opcoes-persona button:focus-visible { border-color: var(--verde); background: var(--superficie-interativa); }
.opcoes-persona button:disabled { cursor: wait; opacity: .65; }
.opcoes-persona strong, .opcoes-persona span { display: block; }
.opcoes-persona span { margin-top: 6px; color: var(--tinta-suave); font-size: 12px; }
.contextos-persona { display: grid; gap: 10px; margin-top: 26px; }
.contextos-persona section { padding: 15px 16px; background: var(--superficie-suave); border-left: 3px solid var(--verde); }
.contextos-persona strong, .contextos-persona span { display: block; }
.contextos-persona span { margin-top: 5px; color: var(--tinta-suave); overflow-wrap: anywhere; font-size: 12px; }
.painel-secretario, .painel-proprietario, .painel-organizacao, .painel-cliente { width: min(100%, 1180px); margin-inline: auto; padding: 28px clamp(24px, 3.5vw, 52px) 48px; }
.painel-cliente > section { display: grid; gap: 22px; }
.apresentacao-cliente { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 7px 0 4px; }
.apresentacao-cliente h2 { max-width: none; font-size: 32px; }
.apresentacao-cliente p:last-child { max-width: 62ch; margin: 9px 0 0; color: var(--tinta-suave); font-size: 13px; line-height: 1.55; }
.calendario-cliente, .assinaturas-cliente, .busca-agendas-cliente { overflow: hidden; background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 8px 24px var(--cor-verde-06); }
.calendario-cliente h3, .assinaturas-cliente h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 400; }
.resumo-calendario-cliente { display: grid; grid-template-columns: auto auto; align-items: center; gap: 10px; padding: 10px 13px; color: var(--verde-profundo); background: var(--menta); border-left: 3px solid var(--verde); }
.resumo-calendario-cliente strong { font: 27px Georgia, "Times New Roman", serif; }
.resumo-calendario-cliente span { font-size: 9px; font-weight: 700; line-height: 1.3; text-transform: uppercase; }
.cabecalho-calendario-cliente { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; border-bottom: 1px solid var(--linha); }
.navegacao-calendario-cliente { display: grid; grid-template-columns: 40px minmax(126px, auto) 40px; align-items: center; gap: 8px; text-align: center; }
.navegacao-calendario-cliente button { min-width: 40px; padding-inline: 0; }
.navegacao-calendario-cliente strong { color: var(--tinta-suave); font-size: 10px; }
.semana-calendario-cliente, .dias-calendario-cliente { min-width: 700px; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendario-cliente { overflow-x: auto; }
.semana-calendario-cliente { color: var(--tinta-suave); background: var(--superficie-suave); }
.semana-calendario-cliente span { padding: 10px 8px; font-size: 9px; font-weight: 700; text-align: center; text-transform: uppercase; }
.dia-calendario-cliente { min-width: 0; min-height: 104px; display: block; padding: 9px; color: var(--tinta); background: var(--branco); border: 0; border-top: 1px solid var(--linha); border-right: 1px solid var(--linha); text-align: left; }
.dia-calendario-cliente:nth-child(7n) { border-right: 0; }
.dia-calendario-cliente.vazio { background: var(--superficie-suave); }
button.dia-calendario-cliente { cursor: pointer; box-shadow: inset 3px 0 var(--verde); }
button.dia-calendario-cliente:hover, button.dia-calendario-cliente:focus-visible { background: var(--superficie-interativa); outline: 3px solid var(--cor-verde-16); outline-offset: -3px; }
.dia-calendario-cliente strong, .horario-cliente { display: block; }
.horario-cliente { margin-top: 7px; padding: 5px 6px; overflow: hidden; color: var(--verde-profundo); background: var(--menta); border-radius: 3px; font-size: 8px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.horario-cliente.em_disputa { color: var(--tinta); background: var(--cor-estrela); }
.horario-cliente.confirmado { color: var(--branco); background: var(--verde-profundo); }
.modal-agenda-cliente { width: min(720px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; color: var(--tinta); background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 24px 70px var(--cor-sombra-24); }
.modal-agenda-cliente::backdrop, .modal-confirmacao-agenda-cliente::backdrop { background: var(--cor-sombra-62); }
.cabecalho-modal-agenda-cliente { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 22px; border-bottom: 1px solid var(--linha); }
.cabecalho-modal-agenda-cliente h2, .conteudo-confirmacao-agenda-cliente h2 { margin: 0; font-size: 25px; }
.lista-horarios-cliente { display: grid; gap: 10px; margin: 0; padding: 20px 22px; list-style: none; }
.lista-horarios-cliente li { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px; background: var(--superficie-suave); border-left: 3px solid var(--verde); }
.lista-horarios-cliente img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; }
.lista-horarios-cliente strong, .lista-horarios-cliente small, .lista-horarios-cliente b, .lista-horarios-cliente span { display: block; }
.lista-horarios-cliente small, .lista-horarios-cliente span { margin-top: 3px; color: var(--tinta-suave); font-size: 10px; }
.lista-horarios-cliente b { margin-top: 7px; color: var(--verde-profundo); font-size: 13px; }
.botao-perigo { min-height: 40px; padding: 0 15px; color: var(--branco); background: var(--erro); border: 1px solid var(--erro); border-radius: 4px; cursor: pointer; font-weight: 700; }
.modal-confirmacao-agenda-cliente { width: min(430px, calc(100vw - 32px)); padding: 0; color: var(--tinta); background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 24px 70px var(--cor-sombra-24); }
.conteudo-confirmacao-agenda-cliente { padding: 24px; }
.conteudo-confirmacao-agenda-cliente > p:last-child { margin: 12px 0 0; color: var(--tinta-suave); line-height: 1.55; }
.acoes-confirmacao-agenda-cliente { display: flex; justify-content: flex-end; gap: 9px; padding: 16px 24px; background: var(--superficie-suave); border-top: 1px solid var(--linha); }
.assinaturas-cliente > header { padding: 20px 22px; border-bottom: 1px solid var(--linha); }
.lista-agendas-cliente { display: grid; gap: 10px; margin: 0; padding: 0 22px 24px; list-style: none; }
.lista-agendas-cliente li { min-height: 74px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 13px 15px; background: var(--superficie-suave); border: 1px solid var(--linha); border-left: 3px solid var(--verde); border-radius: 4px; }
.lista-agendas-cliente li > div { min-width: 0; display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 12px; }
.lista-agendas-cliente li > div:not(:has(img)) { grid-template-columns: minmax(0, 1fr); }
.lista-agendas-cliente img { width: 48px; height: 48px; object-fit: cover; background: var(--menta); border-radius: 50%; }
.lista-agendas-cliente strong, .lista-agendas-cliente small { display: block; overflow-wrap: anywhere; }
.lista-agendas-cliente small { margin-top: 4px; color: var(--tinta-suave); font-size: 11px; }
.lista-agendas-cliente button { min-width: 168px; }
.lista-agendas-cliente button:disabled { cursor: wait; opacity: .6; }
.assinaturas-cliente > .estado-consulta { padding-top: 17px; }
.busca-agendas-cliente { padding: 22px; }
.busca-agendas-cliente > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.busca-agendas-cliente select { min-height: 46px; }
.busca-agendas-cliente button { min-width: 110px; }
.painel-cliente > [data-visao-painel-cliente="agenda"] > .estado-consulta { padding-inline: 0; }
.painel-secretario > section { min-width: 0; overflow: hidden; background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 8px 24px var(--cor-verde-06); }
.cabecalho-painel-secretario { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 26px; border-bottom: 1px solid var(--linha); }
.cabecalho-painel-secretario h2, .conteudo-indisponivel-secretario h3 { margin: 0; }
.estado-contrato-pendente { padding: 6px 9px; color: var(--tinta-suave); background: var(--superficie-suave); border-radius: 3px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.conteudo-indisponivel-secretario { min-height: 180px; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 28px 26px; }
.conteudo-indisponivel-secretario p { margin: 6px 0 0; color: var(--tinta-suave); font-size: 12px; line-height: 1.55; }
.icone-indisponivel-secretario { width: 36px; height: 36px; display: grid; place-items: center; color: var(--tinta-suave); background: var(--superficie-suave); border: 1px solid var(--linha); border-radius: 50%; font-family: Georgia, serif; font-weight: 700; }
.conteudo-indisponivel-secretario .botao-primario:disabled { cursor: not-allowed; opacity: .5; }
.estado-integracao-secretario { min-height: 156px; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 18px; align-items: center; padding: 28px 26px; }
.estado-integracao-secretario h3 { margin: 0; }
.estado-integracao-secretario p { margin: 6px 0 0; color: var(--tinta-suave); font-size: 12px; line-height: 1.55; }
.estado-integracao-secretario.erro { color: var(--erro); background: var(--cor-erro-fundo); }
.navegacao-calendario-secretario { display: grid; grid-template-columns: 40px minmax(132px, auto) 40px; align-items: center; gap: 8px; text-align: center; }
.navegacao-calendario-secretario button { min-width: 40px; padding-inline: 0; }
.navegacao-calendario-secretario strong { color: var(--tinta-suave); font-size: 11px; }
.calendario-organizacao-secretario { min-width: 0; overflow-x: auto; }
.calendario-organizacao-secretario .dias-calendario { min-width: 630px; display: grid; grid-template-columns: repeat(7, minmax(72px, 1fr)); }
.solicitacoes-vinculo-secretario { margin: 0; padding: 0; list-style: none; }
.solicitacao-vinculo-secretario { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 22px 26px; border-bottom: 1px solid var(--linha); }
.solicitacao-vinculo-secretario:last-child { border-bottom: 0; }
.solicitacao-vinculo-secretario h3 { margin: 0; font-size: 19px; }
.solicitacao-vinculo-secretario p, .solicitacao-vinculo-secretario small { display: block; margin: 6px 0 0; color: var(--tinta-suave); font-size: 11px; line-height: 1.5; }
.solicitacao-vinculo-secretario .estado-contrato-pendente { display: inline-block; margin-bottom: 8px; color: var(--verde-profundo); background: var(--superficie-interativa); }
.calendario-estrutural-secretario { position: relative; min-height: 410px; overflow-x: auto; }
.semana-calendario-secretario, .dias-calendario-secretario { min-width: 630px; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.semana-calendario-secretario { color: var(--tinta-suave); background: var(--superficie-suave); border-bottom: 1px solid var(--linha); }
.semana-calendario-secretario span { padding: 11px 8px; font-size: 9px; font-weight: 700; text-align: center; text-transform: uppercase; }
.dias-calendario-secretario span { min-height: 70px; background: var(--branco); border-right: 1px solid var(--linha); border-bottom: 1px solid var(--linha); }
.dias-calendario-secretario span:nth-child(7n) { border-right: 0; }
.dias-calendario-secretario span:nth-child(7n), .dias-calendario-secretario span:nth-child(7n - 1) { background: var(--superficie-suave); }
.bloqueio-calendario-secretario { position: absolute; inset: 39px 0 0; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 28px; background: var(--cor-branco-88); text-align: left; }
.bloqueio-calendario-secretario h3 { margin: 0; }
.bloqueio-calendario-secretario p { max-width: 52ch; margin: 6px 0 0; color: var(--tinta-suave); font-size: 12px; line-height: 1.55; }
.grade-agenda-secretario { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 290px); }
.calendario-base-agenda-secretario { min-width: 0; overflow-x: auto; border-right: 1px solid var(--linha); }
.calendario-base-agenda-secretario .estado-integracao-secretario { min-height: 410px; }
.calendario-agenda-secretario { min-width: 630px; display: grid; grid-template-columns: repeat(7, minmax(72px, 1fr)); }
.operacoes-agenda-secretario { padding: 24px 20px; background: var(--superficie-suave); }
.operacoes-agenda-secretario h3 { margin: 0; }
.operacoes-agenda-secretario > p, .operacoes-agenda-secretario small { display: block; margin: 10px 0 20px; color: var(--tinta-suave); font-size: 11px; line-height: 1.55; }
.operacoes-agenda-secretario button { width: 100%; margin-top: 9px; }
.operacoes-agenda-secretario button:disabled { cursor: not-allowed; opacity: .5; }
.nota-painel-secretario { min-height: 52px; display: flex; align-items: center; margin: 0; padding: 13px 26px; color: var(--tinta-suave); background: var(--superficie-suave); border-top: 1px solid var(--linha); font-size: 10px; }
.apresentacao-proprietario { padding-bottom: 25px; border-bottom: 1px solid var(--linha); }
.apresentacao-proprietario h2 { max-width: none; font-size: 29px; }
.apresentacao-proprietario > div > span { display: block; margin-top: 6px; color: var(--tinta-suave); font-size: 12px; overflow-wrap: anywhere; }
.grade-proprietario { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 26px; }
.resumo-proprietario { overflow: hidden; background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 8px 24px var(--cor-verde-06); }
.calendario-visao-geral-proprietario { min-width: 0; overflow: hidden; background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 8px 24px var(--cor-verde-06); }
.resumo-proprietario > header { padding: 20px 22px; border-bottom: 1px solid var(--linha); }
.resumo-proprietario h2 { max-width: none; font-size: 25px; }
.estado-recurso-proprietario { min-height: 150px; display: flex; flex-direction: column; justify-content: center; margin: 20px 22px; padding: 18px; color: var(--tinta-suave); background: var(--superficie-suave); border-left: 3px solid var(--verde); }
.estado-recurso-proprietario strong { color: var(--tinta); font-size: 12px; }
.estado-recurso-proprietario p { margin: 5px 0 0; font-size: 11px; line-height: 1.5; }
.estado-recurso-proprietario.erro { border-left-color: var(--erro); }
.resultado-vinculo-secretaria { min-height: 20px; margin: 16px 22px 0; }
.lista-vinculos-secretaria-proprietario { display: grid; gap: 10px; margin: 0; padding: 18px 22px 24px; list-style: none; }
.lista-vinculos-secretaria-proprietario li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 16px; background: var(--superficie-suave); border: 1px solid var(--linha); border-radius: 4px; }
.lista-vinculos-secretaria-proprietario strong, .lista-vinculos-secretaria-proprietario span, .lista-vinculos-secretaria-proprietario small { display: block; overflow-wrap: anywhere; }
.lista-vinculos-secretaria-proprietario span, .lista-vinculos-secretaria-proprietario small { margin-top: 4px; color: var(--tinta-suave); font-size: 11px; }
.lista-vinculos-secretaria-proprietario .vinculos-secretaria-vazio { min-height: 150px; display: grid; place-items: center; color: var(--tinta-suave); text-align: center; }
.acoes-mes-proprietario { display: grid; grid-template-columns: 42px minmax(120px, auto) 42px; align-items: center; gap: 8px; text-align: center; }
.acoes-mes-proprietario .botao-secundario { min-width: 42px; padding-inline: 0; }
.acoes-mes-proprietario .botao-secundario:disabled { color: var(--tinta-suave); background: var(--superficie-suave); border-color: var(--linha); cursor: not-allowed; opacity: .65; }
.estado-integracao-calendario-proprietario { min-height: 360px; display: flex; align-items: center; justify-content: center; gap: 18px; padding: 40px 24px; background: var(--superficie-suave); }
.estado-integracao-calendario-proprietario > div { width: min(100%, 540px); min-width: 0; }
.icone-estado-calendario-proprietario { width: 44px; height: 44px; display: grid; flex: 0 0 44px; place-items: center; color: var(--verde-profundo); background: var(--menta); border: 1px solid var(--linha-forte); border-radius: 50%; font-weight: 800; }
.estado-integracao-calendario-proprietario.erro .icone-estado-calendario-proprietario { color: var(--erro); background: var(--cor-erro-fundo); border-color: var(--erro); }
.estado-integracao-calendario-proprietario h3 { max-width: none; margin: 4px 0 8px; font-size: 25px; }
.detalhe-estado-calendario-proprietario, .protecao-estado-calendario-proprietario { margin: 0; color: var(--tinta-suave); font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.protecao-estado-calendario-proprietario { margin-top: 10px; color: var(--tinta); font-weight: 700; }
.calendario-organizacao-proprietario { display: grid; grid-template-columns: repeat(7, minmax(72px, 1fr)); overflow-x: auto; }
.comandos-agenda-proprietario { display: flex; gap: 8px; }
.comandos-agenda-proprietario button:disabled { color: var(--tinta-suave); background: var(--superficie-suave); border-color: var(--linha); cursor: not-allowed; opacity: .65; }
.barra-mes-agenda-proprietario { display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; align-items: center; gap: 8px; padding: 12px 22px; background: var(--superficie-suave); border-bottom: 1px solid var(--linha); text-align: center; }
.barra-mes-agenda-proprietario .botao-secundario { min-width: 42px; padding-inline: 0; }
.grade-operacao-agenda-proprietario { display: grid; grid-template-columns: minmax(0, 1fr); }
.calendario-base-agenda-proprietario { min-width: 0; overflow: hidden; border-bottom: 1px solid var(--linha); }
.horarios-agenda-proprietario { min-width: 0; background: repeating-linear-gradient(to bottom, var(--branco) 0, var(--branco) 51px, var(--linha) 52px); }
.horarios-agenda-proprietario > header { padding: 18px 20px; background: var(--branco); border-bottom: 1px solid var(--linha); }
.horarios-agenda-proprietario > header h3 { margin: 4px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 19px; font-weight: 400; }
.estado-contrato-agenda-proprietario { display: flex; align-items: flex-start; gap: 12px; margin: 20px; padding: 18px; background: var(--branco); border: 1px solid var(--cor-estrela); }
.estado-contrato-agenda-proprietario h3 { margin: 4px 0 8px; font-size: 20px; }
.estado-contrato-agenda-proprietario p:last-child { margin: 0; color: var(--tinta-suave); font-size: 11px; line-height: 1.5; }
.link-visao-proprietario { width: calc(100% - 44px); min-height: 38px; margin: 0 22px 20px; color: var(--verde-profundo); background: transparent; border: 1px solid var(--linha); border-radius: 4px; cursor: pointer; font-weight: 700; }
.link-visao-proprietario:hover, .link-visao-proprietario:focus-visible { background: var(--superficie-interativa); border-color: var(--verde); }
.painel-secao-proprietario { max-width: 980px; margin-inline: auto; overflow: hidden; background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 8px 24px var(--cor-verde-06); }
.cabecalho-secao-proprietario { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px; border-bottom: 1px solid var(--linha); }
.cabecalho-secao-proprietario h2 { max-width: none; font-size: 26px; }
.cabecalho-secao-proprietario p:last-child { margin: 7px 0 0; color: var(--tinta-suave); font-size: 11px; }
.estado-heranca-proprietario { flex: 0 0 auto; padding: 7px 10px; color: var(--verde-profundo); background: var(--menta); border: 1px solid var(--linha-forte); border-radius: 4px; font-size: 9px; font-weight: 700; }
.estado-recurso-proprietario-amplo { min-height: 290px; align-items: center; text-align: center; }
.legenda-heranca-proprietario { display: flex; align-items: center; gap: 8px; padding: 11px 22px; color: var(--tinta-suave); background: var(--branco); font-size: 10px; }
.legenda-heranca-proprietario i { width: 7px; height: 7px; flex: 0 0 7px; background: var(--verde); border-radius: 50%; }
.painel-organizacao > [data-visao-painel-organizacao]:not([data-visao-painel-organizacao="visao-geral"]) { overflow: hidden; background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; }
.painel-organizacao > [data-visao-painel-organizacao="calendario"] { max-width: 960px; margin-inline: auto; }
.faixa-identidade-organizacao { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--linha); }
.identidade-painel-organizacao { min-width: 0; display: flex; align-items: center; gap: 18px; }
.identidade-painel-organizacao img { width: 72px; height: 72px; object-fit: cover; background: var(--menta); border: 1px solid var(--linha); border-radius: 50%; }
.identidade-painel-organizacao h2, .agenda-organizacao .cabecalho-calendario h2, .cabecalho-colaboradores-organizacao h2 { max-width: none; font-size: 26px; }
.identidade-painel-organizacao .sobrelinha, .agenda-organizacao .cabecalho-calendario .sobrelinha, .cabecalho-colaboradores-organizacao .sobrelinha { margin-bottom: 7px; }
.identidade-painel-organizacao a { display: inline-block; margin-top: 5px; color: var(--verde-profundo); overflow-wrap: anywhere; }
.resumo-organizacao { display: grid; grid-template-columns: repeat(3, auto); gap: 30px; margin: 0; }
.resumo-organizacao div { min-width: 82px; }
.resumo-organizacao dt { color: var(--tinta-suave); font-size: 10px; text-transform: uppercase; }
.resumo-organizacao dd { margin: 5px 0 0; color: var(--verde-profundo); font-family: Georgia, "Times New Roman", serif; font-size: 20px; overflow-wrap: anywhere; }
.agenda-organizacao { margin-top: 26px; overflow: hidden; background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; }
.agenda-organizacao .cabecalho-calendario, .cabecalho-colaboradores-organizacao { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px; border-bottom: 1px solid var(--linha); }
.agenda-organizacao .navegacao-mes, .acoes-colaboradores-organizacao { display: grid; grid-template-columns: repeat(3, minmax(42px, auto)); gap: 8px; }
.acoes-colaboradores-organizacao { width: 288px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#calendario-organizacao { display: grid; grid-template-columns: repeat(7, minmax(72px, 1fr)); overflow-x: auto; }
.cabecalho-dia-organizacao { padding: 12px 7px; color: var(--tinta-suave); font-size: 10px; font-weight: 700; text-align: center; text-transform: uppercase; }
.dia-organizacao { min-height: 92px; padding: 9px; border-top: 1px solid var(--linha); border-right: 1px solid var(--linha); }
.dia-organizacao:nth-child(7n) { border-right: 0; }
.dia-organizacao.vazio { background: var(--superficie-suave); }
.dia-organizacao strong, .dia-organizacao small { display: block; }
.dia-organizacao.hoje strong { width: 27px; height: 27px; display: grid; place-items: center; color: var(--branco); background: var(--verde-profundo); border-radius: 50%; }
.dia-organizacao small { margin-top: 8px; color: var(--tinta-suave); font-size: 10px; line-height: 1.4; }
.dia-organizacao.feriado { background: var(--cor-erro-fundo); }
.estado-agenda-organizacao { display: flex; align-items: center; gap: 12px; margin: 14px 18px 0; padding: 13px 15px; color: var(--tinta-suave); background: var(--superficie-suave); border-left: 3px solid var(--verde); }
.estado-agenda-organizacao > span { color: var(--verde); font-size: 22px; }
.estado-agenda-organizacao strong { display: block; color: var(--tinta); font-size: 12px; }
.estado-agenda-organizacao p { margin: 3px 0 0; font-size: 11px; line-height: 1.4; }
.agenda-organizacao .legenda-calendario { display: flex; gap: 18px; padding: 13px 18px; color: var(--tinta-suave); font-size: 10px; }
.agenda-organizacao .legenda-calendario span { display: flex; align-items: center; gap: 6px; }
.marcador-calendario { width: 8px; height: 8px; display: inline-block; border-radius: 50%; }
.marcador-calendario.feriado { background: var(--cor-estrela); }
.marcador-calendario.hoje { background: var(--verde-profundo); }
.marcador-calendario.agendamento { background: var(--azul); }
.legenda-futura-organizacao { opacity: .5; }
.cabecalho-configuracao-calendario-organizacao { padding: 24px 22px; border-bottom: 1px solid var(--linha); }
.cabecalho-configuracao-calendario-organizacao h2 { max-width: none; font-size: 26px; }
.cabecalho-configuracao-calendario-organizacao .sobrelinha { margin-bottom: 7px; }
.detalhe-calendario-organizacao { margin: 7px 0 0; color: var(--tinta-suave); font-size: 12px; }
.abas-calendario-organizacao { display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); border-bottom: 1px solid var(--linha); }
.abas-calendario-organizacao button { min-height: 48px; color: var(--tinta-suave); background: var(--branco); border: 0; border-bottom: 3px solid transparent; cursor: pointer; font-weight: 700; }
.abas-calendario-organizacao button[aria-selected="true"] { color: var(--verde-profundo); border-bottom-color: var(--verde); }
.feriados-calendario-organizacao { padding: 22px; }
.feriados-calendario-organizacao > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--linha); }
.feriados-calendario-organizacao h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 400; }
.feriados-calendario-organizacao header p { margin: 5px 0 0; color: var(--tinta-suave); font-size: 12px; }
.lista-feriados-organizacao { display: grid; margin: 0; padding: 0; list-style: none; }
.lista-feriados-organizacao li { min-height: 74px; display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--linha); }
.lista-feriados-organizacao time { width: 58px; height: 52px; display: grid; place-content: center; color: var(--verde-profundo); background: var(--superficie-interativa); border-left: 3px solid var(--verde); text-align: center; }
.lista-feriados-organizacao time strong, .lista-feriados-organizacao time span, .lista-feriados-organizacao li > div > strong, .lista-feriados-organizacao li > div > small { display: block; }
.lista-feriados-organizacao time strong { font-size: 18px; }
.lista-feriados-organizacao time span { margin-top: 1px; font-size: 9px; font-weight: 700; }
.lista-feriados-organizacao li > div > small { margin-top: 5px; color: var(--tinta-suave); text-transform: capitalize; }
.lista-feriados-organizacao .feriados-organizacao-vazio { min-height: 90px; display: flex; color: var(--tinta-suave); }
.formulario-feriado-organizacao { display: grid; grid-template-columns: minmax(180px, 1fr) 170px auto; align-items: end; gap: 14px; margin-top: 20px; padding: 18px; background: var(--superficie-suave); border: 1px solid var(--linha); }
.formulario-feriado-organizacao[hidden] { display: none; }
.formulario-feriado-organizacao label { display: grid; gap: 7px; color: var(--tinta-suave); font-size: 11px; font-weight: 700; }
.formulario-feriado-organizacao input:not([type="checkbox"]), .linha-jornada-organizacao input[type="time"] { min-height: 40px; padding: 7px 10px; color: var(--tinta); background: var(--branco); border: 1px solid var(--linha); border-radius: 4px; }
.campo-cadastro select { width: 100%; min-height: 44px; padding: 10px 12px; color: var(--tinta); background: var(--branco); border: 1px solid var(--linha); border-radius: 4px; }
.campo-cadastro select:focus { border-color: var(--foco); box-shadow: 0 0 0 3px var(--cor-foco-14); outline: 0; }
.formulario-feriado-organizacao .campo-checkbox-feriado { display: flex; align-items: center; align-self: center; }
.acoes-formulario-calendario { grid-column: 1 / -1; display: flex; justify-content: center; gap: 8px; }
.formulario-feriado-organizacao > .estado-consulta { grid-column: 1 / -1; text-align: center; }
.jornada-calendario-organizacao { padding: 22px; }
.jornada-calendario-organizacao h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 400; }
.jornada-calendario-organizacao header p { margin: 5px 0 16px; color: var(--tinta-suave); font-size: 12px; }
.linha-jornada-organizacao { min-height: 58px; display: grid; grid-template-columns: minmax(170px, 1fr) minmax(270px, auto); align-items: center; gap: 20px; border-bottom: 1px solid var(--linha); }
.linha-jornada-organizacao > label, .linha-jornada-organizacao > div { display: flex; align-items: center; gap: 9px; }
.linha-jornada-organizacao > label { font-size: 12px; font-weight: 700; }
.linha-jornada-organizacao input[type="checkbox"], .campo-checkbox-feriado input[type="checkbox"] { width: 16px; height: 16px; min-height: 0; flex: 0 0 16px; margin: 0; padding: 0; accent-color: var(--verde-profundo); }
.linha-jornada-organizacao input[type="time"] { width: 112px; }
.linha-jornada-organizacao span { color: var(--tinta-suave); font-size: 11px; }
.linha-jornada-organizacao:not(.ativa) > div { display: none; }
.linha-jornada-organizacao > .dia-inativo { grid-column: 2; color: var(--tinta-suave); font-size: 11px; }
.rodape-formulario-calendario { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 16px; padding-top: 18px; }
.rodape-formulario-calendario p { min-width: 0; margin: 0; }
.rodape-formulario-calendario button { grid-column: 2; }
.acoes-evento-organizacao { display: flex; justify-content: flex-end; gap: 6px; }
.grade-colaboradores-organizacao { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 22px; }
.formulario-vinculo-secretaria { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 14px; padding: 22px; background: var(--superficie-suave); border-bottom: 1px solid var(--linha); }
.formulario-vinculo-secretaria header { grid-column: 1 / -1; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.formulario-vinculo-secretaria h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 20px; font-weight: 400; }
.formulario-vinculo-secretaria header > p { max-width: 430px; margin: 0; color: var(--tinta-suave); font-size: 11px; line-height: 1.5; }
.formulario-vinculo-secretaria label { display: grid; gap: 7px; color: var(--tinta-suave); font-size: 11px; font-weight: 700; }
.formulario-vinculo-secretaria select { width: 100%; min-height: 42px; padding: 8px 10px; color: var(--tinta); background: var(--branco); border: 1px solid var(--linha); border-radius: 4px; }
.formulario-vinculo-secretaria > .estado-consulta { grid-column: 1 / -1; margin: 0; }
.grade-colaboradores-organizacao > section { min-width: 0; }
.grade-colaboradores-organizacao h3 { margin: 0 0 12px; font-family: Georgia, "Times New Roman", serif; font-size: 20px; font-weight: 400; }
.lista-colaboradores-organizacao { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.lista-colaboradores-organizacao li { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px; background: var(--superficie-suave); border: 1px solid var(--linha); border-radius: 4px; }
.lista-colaboradores-organizacao img { width: 44px; height: 44px; object-fit: cover; background: var(--menta); border-radius: 50%; }
.botao-avatar-colaborador { width: 44px; height: 44px; padding: 0; overflow: hidden; background: transparent; border: 1px solid var(--linha); border-radius: 50%; cursor: pointer; }
.botao-avatar-colaborador:hover, .botao-avatar-colaborador:focus-visible { border-color: var(--verde); outline: 3px solid var(--superficie-interativa); }
.botao-avatar-colaborador img { display: block; border: 0; }
.lista-colaboradores-organizacao strong, .lista-colaboradores-organizacao span { display: block; overflow-wrap: anywhere; }
.lista-colaboradores-organizacao span { margin-top: 3px; color: var(--tinta-suave); font-size: 11px; }
.estado-colaborador-organizacao { color: var(--verde-profundo); font-size: 10px; font-weight: 700; }
.modal-status-colaborador { width: min(470px, calc(100vw - 32px)); padding: 0; color: var(--tinta); background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 24px 70px var(--cor-sombra-24); }
.modal-status-colaborador::backdrop { background: var(--cor-sombra-62); }
.conteudo-status-colaborador { display: grid; }
.perfil-status-colaborador { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 15px; align-items: center; padding: 24px 24px 18px; }
.avatar-status-colaborador { width: 64px; height: 64px; object-fit: cover; background: var(--menta); border: 1px solid var(--linha); border-radius: 50%; }
.perfil-status-colaborador strong, .perfil-status-colaborador small { display: block; overflow-wrap: anywhere; }
.perfil-status-colaborador small { margin: 5px 0; color: var(--tinta-suave); font-size: 11px; }
.descricao-status-colaborador { margin: 0; padding: 18px 24px 12px; color: var(--tinta-suave); font-size: 12px; line-height: 1.5; }
#resultado-status-colaborador { min-height: 28px; margin: 0; padding: 0 24px 12px; }
.modal-status-colaborador .rodape-cadastro-colaborador { margin: 0; padding: 16px 24px 24px; }
#cadastro-colaborador { width: min(760px, calc(100vw - 32px)); height: min(760px, calc(100vh - 32px)); max-height: calc(100vh - 32px); padding: 0; overflow: hidden; color: var(--tinta); background: var(--papel); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 24px 70px var(--cor-sombra-24); }
#cadastro-colaborador::backdrop { background: var(--cor-sombra-62); }
#formulario-cadastro-colaborador { height: 100%; display: flex; flex-direction: column; margin: 0; }
.etapas-cadastro-colaborador { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--linha); }
.etapas-cadastro-colaborador li { padding: 12px; color: var(--tinta-suave); font-size: 11px; font-weight: 700; text-align: center; }
.etapas-cadastro-colaborador li[aria-current="step"] { color: var(--verde-profundo); background: var(--superficie-interativa); box-shadow: inset 0 -3px 0 var(--verde); }
.etapa-cadastro-colaborador { min-height: 0; flex: 1; overflow-y: auto; padding: 24px; }
.etapa-cadastro-colaborador > h3 { margin: 0 0 22px; font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 400; }
.rodape-cadastro-colaborador { display: flex; justify-content: flex-end; gap: 8px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--linha); }
#estado-cadastro-colaborador { flex: 0 0 auto; margin: 0; padding: 0 24px 16px; }
.navegacao-administrativa { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 24px 16px 18px; color: var(--branco); background: var(--verde-profundo); }
.navegacao-administrativa .marca, .navegacao-persona .marca { gap: 10px; font-size: 18px; }
.navegacao-administrativa .marca-logo, .navegacao-persona .marca-logo { width: 32px; height: 32px; }
.navegacao-administrativa nav { margin-top: 48px; }
.grupo-navegacao { margin: 0 10px 9px; color: var(--cor-navegacao-grupo); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.grupo-cadastros { margin-top: 28px; }
.navegacao-administrativa nav a, .acao-navegacao { width: 100%; min-height: 44px; display: flex; align-items: center; padding: 0 12px; color: var(--branco); border: 0; border-left: 3px solid transparent; border-radius: 0 4px 4px 0; text-align: left; text-decoration: none; cursor: pointer; font-weight: 700; }
.navegacao-administrativa nav a { background: transparent; }
.navegacao-administrativa nav a[aria-current="page"] { background: var(--cor-branco-12); border-left-color: var(--verde-vivo); }
.acao-navegacao { color: var(--cor-navegacao-texto); background: transparent; }
.acao-navegacao::before { margin-right: 10px; color: var(--verde-vivo); content: "+"; font-size: 20px; font-weight: 400; }
.acao-navegacao:hover, .acao-navegacao:focus-visible { background: var(--cor-branco-08); }
.rodape-navegacao { margin: auto 10px 0; color: var(--cor-navegacao-rodape); font-size: 10px; }
.identidade-administrativa { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 9px; min-height: 48px; padding: 4px 8px 4px 4px; overflow-wrap: anywhere; color: var(--tinta-suave); border: 1px solid transparent; border-radius: 6px; font-size: 10px; }
.identidade-administrativa img { width: 38px; height: 38px; object-fit: cover; background: var(--menta); border: 2px solid var(--branco); border-radius: 50%; box-shadow: 0 0 0 1px var(--linha); }
.identidade-administrativa strong, .identidade-administrativa span { display: block; }
.identidade-administrativa strong { color: var(--tinta); font-size: 12px; }
.editar-card-sessao { background: transparent; border: 1px solid transparent; border-radius: 6px; cursor: pointer; text-align: left; }
.editar-card-sessao:hover, .editar-card-sessao:focus-visible { background: var(--superficie-interativa); border-color: var(--linha); outline: none; }
.editar-card-sessao:disabled { cursor: wait; opacity: .65; }
.estado-imagem-sessao { position: fixed; right: 20px; bottom: 20px; z-index: 20; max-width: min(360px, calc(100vw - 40px)); margin: 0; padding: 12px 14px; color: var(--branco); background: var(--verde-profundo); border-radius: 4px; box-shadow: 0 10px 30px var(--cor-sombra-20); font-size: 13px; }
.estado-imagem-sessao:empty { display: none; }
.conteudo-administrativo { min-width: 0; }
.topo-administrativo { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px clamp(24px, 3.5vw, 52px); background: var(--cor-branco-88); border-bottom: 1px solid var(--linha); }
.topo-administrativo h1 { max-width: none; color: var(--tinta); font-size: 32px; }
.acoes-sessao { display: flex; align-items: center; gap: 7px; }
.botao-icone-sessao { position: relative; width: 42px; height: 42px; display: grid; place-items: center; padding: 0; color: var(--verde-profundo); background: transparent; border: 1px solid transparent; border-radius: 5px; cursor: pointer; font-size: 19px; }
.botao-icone-sessao svg { width: 20px; height: 20px; }
.botao-icone-sessao:hover, .botao-icone-sessao:focus-visible { background: var(--superficie-interativa); border-color: var(--linha); }
.botao-icone-sessao:disabled { color: var(--cor-controle-inativo); cursor: not-allowed; opacity: .55; }
.contador-inbox { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; color: var(--branco); background: var(--erro); border: 2px solid var(--branco); border-radius: 9px; font-size: 9px; font-weight: 700; line-height: 1; }
.modal-inbox { position: fixed; inset: 0 0 0 auto; width: min(430px, 100vw); max-width: none; height: 100vh; max-height: none; margin: 0; padding: 0; color: var(--tinta); background: var(--branco); border: 0; border-left: 1px solid var(--linha); box-shadow: -20px 0 60px var(--cor-sombra-20); }
.modal-inbox::backdrop { background: var(--cor-sombra-62); }
.conteudo-inbox { min-height: 100%; display: flex; flex-direction: column; }
.cabecalho-inbox { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 22px; border-bottom: 1px solid var(--linha); }
.cabecalho-inbox h2 { margin: 0; font-size: 26px; }
.filtros-inbox { display: grid; grid-template-columns: repeat(2, 1fr); border-bottom: 1px solid var(--linha); }
.filtros-inbox button { min-height: 48px; padding: 0 12px; color: var(--tinta-suave); background: var(--branco); border: 0; border-bottom: 3px solid transparent; cursor: pointer; font-size: 12px; font-weight: 700; }
.filtros-inbox button[aria-selected="true"] { color: var(--verde-profundo); border-bottom-color: var(--verde); }
#estado-inbox:empty { display: none; }
.painel-inbox { min-height: 0; overflow-y: auto; }
.lista-inbox { margin: 0; padding: 0; list-style: none; }
.lista-inbox li { border-bottom: 1px solid var(--linha); }
.notificacao-inbox { width: 100%; display: block; padding: 18px 20px; color: var(--tinta); background: var(--branco); border: 0; cursor: pointer; text-align: left; }
.notificacao-inbox:hover, .notificacao-inbox:focus-visible { background: var(--superficie-interativa); outline: 0; }
.notificacao-inbox[disabled] { cursor: default; }
.notificacao-inbox-nao-lida { border-left: 3px solid var(--verde); }
.acao-ativacao-pendente { width: calc(100% - 40px); display: block; margin: 16px 20px 8px; padding: 14px 16px; color: var(--verde-profundo); background: var(--menta); border: 1px solid var(--linha-forte); border-left: 3px solid var(--verde); border-radius: 4px; cursor: pointer; text-align: left; }
.acao-ativacao-pendente strong, .acao-ativacao-pendente span { display: block; }
.acao-ativacao-pendente span { margin-top: 4px; color: var(--tinta-suave); font-size: 11px; }
.modal-confirmacao-ativacao { width: min(440px, calc(100vw - 32px)); padding: 0; color: var(--tinta); background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 22px 70px var(--cor-sombra-24); }
.modal-confirmacao-ativacao::backdrop { background: var(--cor-sombra-62); }
.conteudo-confirmacao-ativacao { display: grid; gap: 9px; padding: 22px; }
.conteudo-confirmacao-ativacao > p:first-child { margin: 0 0 8px; color: var(--tinta-suave); font-size: 12px; line-height: 1.5; }
.conteudo-confirmacao-ativacao label { color: var(--tinta); font-size: 11px; font-weight: 700; }
.conteudo-confirmacao-ativacao input { min-height: 46px; padding: 0 13px; color: var(--tinta); background: var(--branco); border: 1px solid var(--linha-forte); border-radius: 4px; font-size: 18px; letter-spacing: 4px; }
.acoes-confirmacao-ativacao { display: flex; justify-content: flex-end; gap: 9px; padding: 18px 22px; border-top: 1px solid var(--linha); }
.linha-notificacao { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.linha-notificacao strong { min-width: 0; overflow-wrap: anywhere; font-size: 12px; }
.linha-notificacao time { flex: 0 0 auto; color: var(--tinta-suave); font-size: 9px; }
.nome-remetente { display: block; margin-top: 4px; color: var(--verde); font-size: 10px; font-weight: 700; overflow-wrap: anywhere; }
.email-remetente { display: block; margin-top: 2px; color: var(--tinta-suave); font-size: 9px; overflow-wrap: anywhere; }
.resumo-notificacao { display: block; margin-top: 7px; color: var(--tinta-suave); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.foto-remetente-inbox { width: 34px; height: 34px; margin: 8px 0 2px; object-fit: cover; border: 1px solid var(--linha); border-radius: 50%; }
.inbox-vazio { margin: auto; padding: 28px; color: var(--tinta-suave); text-align: center; }
.inbox-vazio strong { display: block; color: var(--tinta); font: 18px Georgia, "Times New Roman", serif; }
.inbox-vazio p { margin: 8px 0 0; font-size: 12px; line-height: 1.5; }
.modal-inbox #mais-inbox { align-self: start; flex: 0 0 auto; }
.botao-primario { min-height: 40px; padding: 0 17px; color: var(--branco); background: var(--verde-profundo); border: 1px solid var(--verde-profundo); border-radius: 4px; cursor: pointer; font-weight: 700; }
.botao-primario:disabled { cursor: wait; opacity: .65; }
.topo-administrativo .sobrelinha, .identidade-organizacao .sobrelinha { margin-bottom: 7px; }
.area-administrativa { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 22px clamp(24px, 3.5vw, 52px) 44px; }
.area-administrativa:has(.detalhe-organizacao:not([hidden])) { grid-template-columns: minmax(520px, 1.15fr) minmax(360px, .85fr); }
.painel-organizacoes, .detalhe-organizacao { min-width: 0; background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; }
.cabecalho-consulta { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 22px; border-bottom: 1px solid var(--linha); }
.cabecalho-consulta h2, .identidade-organizacao h2 { margin: 0; font-size: 24px; }
.cabecalho-consulta p { margin: 6px 0 0; color: var(--tinta-suave); font-size: 13px; }
.seletor-limite { display: grid; gap: 6px; margin: 0; color: var(--tinta-suave); font-size: 12px; }
.seletor-limite select { min-height: 36px; padding: 0 30px 0 10px; border: 1px solid var(--linha); border-radius: 4px; background: var(--branco); }
.busca-administrativa, .busca-vinculos { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.busca-administrativa { padding: 18px 22px; border-bottom: 1px solid var(--linha); }
.busca-vinculos { margin-bottom: 16px; }
.busca-administrativa input, .busca-vinculos input { min-height: 42px; }
.busca-administrativa button, .busca-vinculos button, .botao-secundario { min-height: 38px; padding: 0 15px; color: var(--verde-profundo); background: var(--branco); border: 1px solid var(--verde); border-radius: 4px; cursor: pointer; font-weight: 700; }
.estado-consulta { min-height: 20px; margin: 0; padding: 13px 22px; color: var(--tinta-suave); font-size: 13px; }
.estado-consulta.erro { color: var(--erro); }
.tabela-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 14px 16px; border-bottom: 1px solid var(--linha); text-align: left; vertical-align: top; }
th { color: var(--tinta-suave); background: var(--cor-superficie-cabecalho); font-size: 11px; text-transform: uppercase; }
td { font-size: 13px; }
td strong, td small { display: block; }
td small { margin-top: 4px; color: var(--tinta-suave); }
.celula-organizacao { min-width: 280px; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 10px; }
.avatar-organizacao { width: 44px; height: 44px; object-fit: cover; background: var(--superficie-suave); border: 1px solid var(--linha); border-radius: 50%; }
.imagem-indisponivel { visibility: hidden; }
.dados-organizacao { min-width: 0; }
tr[data-organizacao-id] { cursor: pointer; }
tr[data-organizacao-id]:hover, tr[data-organizacao-id][aria-selected="true"] { background: var(--cor-superficie-selecionada); }
.carregar-mais { margin: 16px 22px 20px; }
.identidade-organizacao { padding: 22px; border-bottom: 1px solid var(--linha); }
.identidade-organizacao dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0 0; }
.identidade-organizacao dt { margin-bottom: 5px; color: var(--tinta-suave); font-size: 10px; text-transform: uppercase; }
.identidade-organizacao dd { margin: 0; overflow-wrap: anywhere; font-size: 12px; }
.abas-detalhe { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--linha); }
.abas-detalhe button { min-height: 46px; color: var(--tinta-suave); background: var(--branco); border: 0; border-bottom: 3px solid transparent; cursor: pointer; font-weight: 700; }
.abas-detalhe button[aria-selected="true"] { color: var(--verde-profundo); border-bottom-color: var(--verde); }
.painel-vinculos { padding: 18px 22px 22px; }
.painel-vinculos .estado-consulta { padding: 0 0 12px; }
.lista-vinculos { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.lista-vinculos li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 11px; align-items: center; padding: 12px 13px; background: var(--superficie-suave); border-left: 3px solid var(--verde); }
.lista-vinculos .avatar-vinculo { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; background: var(--branco); }
.lista-vinculos .dados-vinculo { min-width: 0; }
.lista-vinculos strong, .lista-vinculos small { display: block; }
.lista-vinculos small { margin-top: 4px; color: var(--tinta-suave); overflow-wrap: anywhere; }
.lista-vinculos .situacao { margin-top: 6px; color: var(--verde); font-size: 11px; font-weight: 700; }

#cadastro-organizacao, #recuperacao-senha, #autocadastro-cliente { width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; color: var(--tinta); background: var(--papel); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 24px 70px var(--cor-sombra-24); }
#recuperacao-senha { width: min(560px, calc(100vw - 32px)); }
#cadastro-organizacao::backdrop, #recuperacao-senha::backdrop, #autocadastro-cliente::backdrop { background: var(--cor-sombra-62); }
#formulario-cadastro-organizacao, #formulario-recuperacao-senha, #formulario-autocadastro-cliente { margin: 0; }
.cabecalho-dialogo { display: flex; align-items: start; justify-content: space-between; gap: 24px; padding: 24px 26px 20px; background: var(--branco); border-bottom: 1px solid var(--linha); }
.cabecalho-dialogo h2 { font-size: 30px; }
.botao-fechar { width: 40px; height: 40px; padding: 0; color: var(--tinta); background: transparent; border: 0; cursor: pointer; font-size: 30px; line-height: 1; }
.etapa-cadastro { padding: 24px 26px 8px; }
.etapa-cadastro > p { margin: 0 0 20px; color: var(--tinta-suave); }
.etapa-cadastro > .botao-primario { margin-top: 8px; }
.grade-cadastro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
.campo-cadastro { min-width: 0; }
.introducao-cadastro-colaborador h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 400; }
.introducao-cadastro-colaborador p { margin: 6px 0 22px; color: var(--tinta-suave); font-size: 13px; }
.grupo-cadastro-colaborador { margin: 0 0 22px; padding: 0 0 22px; border: 0; border-bottom: 1px solid var(--linha); }
.grupo-cadastro-colaborador legend { margin-bottom: 14px; color: var(--verde-profundo); font-family: Georgia, "Times New Roman", serif; font-size: 18px; }
.grupo-cadastro-colaborador:last-of-type { margin-bottom: 0; }
.grade-endereco { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
.estado-cep { min-height: 18px; margin: -4px 0 8px; color: var(--tinta-suave); font-size: 12px; }
.estado-cep.erro { color: var(--erro); }
.estado-cep.sucesso { color: var(--cor-sucesso); }
.grade-endereco input[readonly] { color: var(--tinta-suave); background: var(--superficie-suave); }
.ajuda-campo { display: block; margin-top: -8px; margin-bottom: 10px; color: var(--tinta-suave); font-size: 12px; line-height: 1.35; }
.erro-campo { display: block; min-height: 18px; margin-top: -6px; margin-bottom: 6px; color: var(--erro); font-size: 12px; line-height: 1.35; }
.campo-consentimento { display: flex; align-items: center; gap: 9px; min-height: 40px; color: var(--tinta-suave); font-size: 12px; }
.campo-consentimento input { width: 18px; height: 18px; margin: 0; accent-color: var(--verde-profundo); }
.grade-larga { grid-column: 1 / -1; }
.campo-upload { display: grid; gap: 8px; }
.acoes-upload { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.detalhe-upload { min-height: 18px; margin: 0; color: var(--tinta-suave); font-size: 12px; }
.estado-upload { min-height: 18px; margin: 0; color: var(--tinta-suave); font-size: 12px; }
.estado-upload.erro { color: var(--erro); }
.estado-upload.sucesso { color: var(--verde-profundo); }
.rodape-dialogo { padding: 8px 26px 0; }
.rodape-dialogo .botao-primario { width: 100%; }
.estado-cadastro { min-height: 22px; margin: 12px 26px 24px; color: var(--tinta-suave); }
.estado-cadastro.erro { color: var(--erro); }
.estado-cadastro.sucesso { color: var(--cor-sucesso); }

#editor-card { width: min(1180px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; color: var(--tinta); background: var(--papel); border: 1px solid var(--linha); border-radius: 6px; box-shadow: 0 24px 70px var(--cor-sombra-24); }
#editor-card::backdrop { background: var(--cor-sombra-62); }
.cabecalho-editor-card { position: sticky; top: 0; z-index: 3; }
.area-editor-card { display: grid; grid-template-columns: 300px minmax(0, 1fr); align-items: start; gap: 22px; padding: 22px; }
.previa-card { position: sticky; top: 112px; min-width: 0; display: flex; flex-direction: column; align-items: center; padding: 26px; color: var(--branco); background: var(--verde-profundo); border-radius: 6px; box-shadow: 0 16px 40px var(--cor-sombra-20); text-align: center; }
.previa-card .sobrelinha { color: var(--verde-vivo); }
.foto-previa-card { width: 104px; height: 104px; margin-bottom: 18px; object-fit: cover; background: var(--branco); border: 4px solid var(--branco); border-radius: 50%; }
.previa-card > strong { max-width: 100%; overflow-wrap: anywhere; font-size: 19px; line-height: 1.3; }
.dados-previa-card { width: 100%; display: grid; gap: 10px; margin: 18px 0 0; }
.dados-previa-card dt { margin-bottom: 3px; color: var(--menta); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.dados-previa-card dd { margin: 0; color: var(--branco); overflow-wrap: anywhere; font-size: 13px; }
.divisor-previa-card { width: 100%; height: 1px; margin-top: 22px; background: var(--cor-branco-24); }
.links-previa-card { width: 100%; min-height: 34px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 14px; }
.links-previa-card:empty { display: none; }
.links-previa-card a { width: 34px; height: 34px; display: grid; place-items: center; color: var(--branco); background: var(--cor-branco-12); border-radius: 50%; }
.icone-rede-card { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.estado-publicacao-card { align-self: stretch; margin-top: 20px; padding: 7px 9px; color: var(--menta); border: 1px solid var(--cor-branco-24); border-radius: 3px; font-size: 11px; }
.estado-publicacao-card.publico { color: var(--verde-profundo); background: var(--verde-vivo); border-color: var(--verde-vivo); font-weight: 700; }
.avaliacao-card { width: 100%; display: flex; justify-content: center; margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--cor-branco-24); }
.avaliacao-card .estrelas-avaliacao-card { display: flex; align-items: center; font: 16px Georgia, serif; letter-spacing: 0; white-space: nowrap; }
.avaliacao-card .estrelas-preenchidas-card { color: var(--cor-estrela); font-size: inherit; }
.avaliacao-card .estrelas-vazias-card { color: var(--menta); font-size: inherit; }
.formulario-card { min-width: 0; display: grid; gap: 18px; }
.secao-formulario-card { padding: 26px; background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; }
.secao-formulario-card h2 { font-size: 24px; }
.cabecalho-secao-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.editor-foto-card { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: center; gap: 16px; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--linha); }
.editor-foto-card img { width: 76px; height: 76px; object-fit: cover; border: 2px solid var(--branco); border-radius: 50%; box-shadow: 0 0 0 1px var(--linha); }
.detalhe-card { margin: 8px 0 0; color: var(--tinta-suave); font-size: 12px; }
.detalhe-card.erro, .acoes-formulario-card p.erro { color: var(--erro); }
.grade-dados-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.dado-cadastral-card { display: grid; gap: 5px; padding: 14px 16px; background: var(--superficie-suave); border-left: 3px solid var(--verde); }
.dado-cadastral-card span { color: var(--tinta-suave); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.dado-cadastral-card strong { overflow-wrap: anywhere; font-size: 14px; }
.dado-cadastral-card small { color: var(--tinta-suave); font-size: 11px; }
.lista-redes-card { display: grid; gap: 10px; }
.linha-rede-card { display: grid; grid-template-columns: 34px 150px minmax(0, 1fr) 38px; align-items: center; gap: 9px; }
.icone-seletor-rede-card { width: 34px; height: 34px; display: grid; place-items: center; color: var(--verde-profundo); background: var(--menta-claro); border: 1px solid var(--linha); border-radius: 4px; }
.linha-rede-card select { width: 100%; min-height: 42px; padding: 10px 12px; color: var(--tinta); background: var(--branco); border: 1px solid var(--linha); border-radius: 4px; }
.remover-rede-card { width: 38px; height: 42px; padding: 0; color: var(--erro); background: var(--branco); border: 1px solid var(--linha); border-radius: 4px; cursor: pointer; font-size: 20px; }
.lista-vazia-card { margin: 0; padding: 18px; color: var(--tinta-suave); background: var(--superficie-suave); border-left: 3px solid var(--verde); font-size: 13px; }
.secao-publicacao-card { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.secao-publicacao-card p:not(.sobrelinha) { margin: 8px 0 0; color: var(--tinta-suave); font-size: 13px; }
.alternancia-card { display: grid; grid-template-columns: 46px minmax(150px, 210px); align-items: center; gap: 10px; margin: 0; color: var(--tinta); font-size: 12px; font-weight: 700; cursor: pointer; }
.alternancia-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.trilho-card { position: relative; width: 46px; height: 26px; background: var(--cor-controle-inativo); border-radius: 13px; pointer-events: none; transition: background .18s ease; }
.trilho-card::after { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; background: var(--branco); border-radius: 50%; box-shadow: 0 2px 5px var(--cor-sombra-20); content: ""; transition: transform .18s ease; }
.alternancia-card input:checked + .trilho-card { background: var(--verde); }
.alternancia-card input:checked + .trilho-card::after { transform: translateX(20px); }
.acoes-formulario-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 22px; background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; }
.acoes-formulario-card p { margin: 0; color: var(--tinta-suave); font-size: 12px; }
.acoes-formulario-card > div { display: flex; gap: 9px; }

@keyframes pulso { 0%, 100% { opacity: .45; transform: scaleY(.72); } 50% { opacity: 1; transform: scaleY(1); } }

@media (max-width: 800px) {
  .pagina-login { grid-template-columns: 1fr; }
  .painel-marca { min-height: 38vh; justify-content: flex-start; padding: 28px 24px 36px; }
  .mensagem-marca { margin-top: 24px; }
  h1 { max-width: 15ch; font-size: clamp(36px, 10vw, 52px); }
  .apoio { margin-top: 18px; font-size: 15px; }
  .ritmo { display: none; }
  .painel-acesso { min-height: 62vh; padding: 42px 24px 56px; place-items: start center; }
  .dashboard-administrador { grid-template-columns: 1fr; }
  .dashboard-persona { grid-template-columns: 1fr; }
  .rodape-navegacao { display: none; }
  .grade-colaboradores-organizacao { grid-template-columns: 1fr; }
  .formulario-vinculo-secretaria { grid-template-columns: 1fr; }
  .formulario-vinculo-secretaria header { align-items: flex-start; flex-direction: column; }
  .lista-vinculos-secretaria-proprietario li { grid-template-columns: 1fr; }
  .navegacao-persona { position: fixed; inset: 0 auto 0 0; z-index: 30; width: min(280px, 84vw); height: 100vh; min-height: 0; padding: 22px 16px 18px; transform: translateX(-100%); transition: transform .2s ease; }
  body.menu-persona-aberto { overflow: hidden; }
  body.menu-persona-aberto .navegacao-persona { transform: translateX(0); box-shadow: 18px 0 50px var(--cor-sombra-24); }
  .fechar-menu-persona { position: absolute; top: 18px; right: 12px; z-index: 1; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; color: var(--branco); background: transparent; border: 1px solid transparent; border-radius: 4px; cursor: pointer; font-size: 25px; }
  .navegacao-organizacao { width: 100%; grid-template-columns: 1fr; margin-top: 18px; }
  .topo-persona { min-height: 80px; }
  .topo-persona-conteudo { min-height: 80px; padding: 14px 16px; }
  .abrir-menu-persona { display: grid; flex: 0 0 38px; }
  .topo-persona h1 { font-size: 28px; }
  .topo-persona .identidade-persona { grid-template-columns: 38px; padding-right: 4px; }
  .topo-persona .identidade-persona > div { display: none; }
  .estado-persona { width: calc(100% - 28px); margin: 16px auto; padding: 22px; }
  .painel-secretario { width: calc(100% - 28px); margin: 28px auto; }
  .cabecalho-painel-secretario { align-items: flex-start; flex-direction: column; }
  .navegacao-calendario-secretario { width: 100%; grid-template-columns: 40px minmax(0, 1fr) 40px; }
  .solicitacao-vinculo-secretario { grid-template-columns: 1fr; }
  .conteudo-indisponivel-secretario { grid-template-columns: 40px minmax(0, 1fr); }
  .conteudo-indisponivel-secretario button { grid-column: 1 / -1; }
  .grade-agenda-secretario { display: block; }
  .calendario-base-agenda-secretario { border-right: 0; border-bottom: 1px solid var(--linha); }
  .painel-proprietario, .painel-organizacao, .painel-cliente { padding: 20px 16px 36px; }
  .lista-agendas-cliente li { grid-template-columns: 1fr; }
  .lista-agendas-cliente button { width: 100%; }
  .cabecalho-secao-proprietario { align-items: flex-start; flex-direction: column; }
  .comandos-agenda-proprietario { width: 100%; flex-direction: column; }
  .acoes-mes-proprietario { width: 100%; grid-template-columns: 42px minmax(0, 1fr) 42px; }
  .estado-integracao-calendario-proprietario { min-height: 360px; align-items: flex-start; flex-direction: column; justify-content: center; }
  .estado-integracao-calendario-proprietario > div { width: 100%; }
  .grade-proprietario { grid-template-columns: 1fr; }
  .grade-operacao-agenda-proprietario { grid-template-columns: 1fr; }
  .calendario-base-agenda-proprietario { border-right: 0; border-bottom: 1px solid var(--linha); }
  .navegacao-administrativa { position: static; height: auto; min-height: 0; padding: 16px 18px; }
  .navegacao-administrativa nav { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
  .navegacao-administrativa .grupo-navegacao, .rodape-navegacao { display: none; }
  .navegacao-administrativa nav a, .acao-navegacao { min-height: 40px; }
  .topo-administrativo { min-height: 80px; padding: 14px 18px; }
  .topo-administrativo h1 { font-size: 28px; }
  .identidade-administrativa { grid-template-columns: 38px; padding-right: 4px; }
  .identidade-administrativa > div { display: none; }
  .acoes-sessao { gap: 2px; }
  .botao-icone-sessao { width: 38px; }
  .area-administrativa { grid-template-columns: 1fr; padding: 16px 14px 32px; }
  .area-administrativa:has(.detalhe-organizacao:not([hidden])) { grid-template-columns: 1fr; }
  .cabecalho-consulta { align-items: start; }
  .identidade-organizacao dl { grid-template-columns: 1fr; }
  .grade-cadastro { grid-template-columns: 1fr; }
  .grade-endereco { grid-template-columns: 1fr; }
  .grade-larga { grid-column: auto; }
  .area-editor-card { grid-template-columns: 1fr; }
  .previa-card { position: static; }
}

@media (max-width: 360px) {
  .topo-persona-conteudo { gap: 8px; padding-inline: 8px; }
  .titulo-topo-persona { min-width: 0; }
  .topo-persona h1 { font-size: 21px; overflow-wrap: normal; }
  .topo-persona .identidade-persona { min-height: 36px; grid-template-columns: 34px; padding: 0; }
  .topo-persona .identidade-persona img { width: 34px; height: 34px; }
  .acoes-sessao > .botao-icone-sessao { display: none; }
  .acoes-mes-proprietario strong { grid-column: 1 / -1; grid-row: 1; }
  .acoes-mes-proprietario #mes-anterior-proprietario { grid-column: 1; grid-row: 2; }
  .acoes-mes-proprietario #mes-seguinte-proprietario { grid-column: 3; grid-row: 2; }
}

@media (max-width: 620px) {
  .titulo-topo-persona .sobrelinha { display: none; }
  .topo-persona h1 { font-size: 24px; }
  .painel-organizacao { padding: 16px; }
  .painel-cliente { padding: 16px 12px 32px; }
  .apresentacao-cliente h2 { font-size: 27px; }
  .cabecalho-calendario-cliente { align-items: stretch; flex-direction: column; }
  .navegacao-calendario-cliente { width: 100%; grid-template-columns: 40px minmax(0, 1fr) 40px; }
  .semana-calendario-cliente, .dias-calendario-cliente { min-width: 0; }
  .semana-calendario-cliente span { padding-inline: 2px; }
  .dia-calendario-cliente { min-height: 78px; padding: 6px; }
  .estado-integracao-cliente { min-height: 220px; padding: 28px 20px; }
  .busca-agendas-cliente > div { grid-template-columns: 1fr; }
  .lista-agendas-cliente { padding-inline: 14px; }
  .lista-agendas-cliente li > div { grid-template-columns: 42px minmax(0, 1fr); }
  .lista-agendas-cliente img { width: 42px; height: 42px; }
  .faixa-identidade-organizacao, .agenda-organizacao .cabecalho-calendario, .cabecalho-colaboradores-organizacao { align-items: stretch; flex-direction: column; }
  .identidade-painel-organizacao, .agenda-organizacao .cabecalho-calendario, .cabecalho-colaboradores-organizacao { padding: 18px 16px; }
  .faixa-identidade-organizacao { gap: 18px; }
  .identidade-painel-organizacao img { width: 58px; height: 58px; }
  .resumo-organizacao { width: 100%; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .resumo-organizacao div { min-width: 0; }
  .resumo-organizacao dd { font-size: 16px; }
  .acoes-colaboradores-organizacao { width: 100%; }
  #calendario-organizacao { grid-template-columns: repeat(7, minmax(64px, 1fr)); }
  .abas-calendario-organizacao { grid-template-columns: 1fr 1fr; }
  .formulario-feriado-organizacao { grid-template-columns: 1fr; }
  .acoes-formulario-calendario, .formulario-feriado-organizacao > .estado-consulta { grid-column: auto; }
  .linha-jornada-organizacao { grid-template-columns: 1fr; gap: 8px; padding: 10px 0; }
  .linha-jornada-organizacao > div { flex-wrap: wrap; }
  .linha-jornada-organizacao > .dia-inativo { grid-column: 1; }
  .lista-feriados-organizacao li { grid-template-columns: 58px minmax(0, 1fr); }
  .acoes-evento-organizacao { grid-column: 1 / -1; }
  .grade-colaboradores-organizacao { padding: 16px; }
  .etapa-cadastro-colaborador { padding: 20px 16px; }
  #editor-card { width: calc(100vw - 16px); max-height: calc(100vh - 16px); }
  .area-editor-card { padding: 12px; }
  .secao-formulario-card { padding: 20px 16px; }
  .grade-dados-card { grid-template-columns: 1fr; }
  .cabecalho-secao-card, .secao-publicacao-card, .acoes-formulario-card { align-items: stretch; flex-direction: column; }
  .linha-rede-card { grid-template-columns: 34px 1fr 34px; }
  .linha-rede-card select { grid-column: 2 / -1; }
  .linha-rede-card input { grid-column: 1 / 3; }
  .acoes-formulario-card > div { display: grid; grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}