/* KYRON Studios — ajustes isolados de homologação sobre v8.11.4. */
.admin-atalhos {
  display: none !important;
}

/* Horários fixos — uma aba por cliente. */
.horario-fixo-cliente {
  border-top: 1px solid rgba(255,255,255,.08);
}
.horario-fixo-cliente summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto 18px;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  cursor: pointer;
  list-style: none;
}
.horario-fixo-cliente summary::-webkit-details-marker {
  display: none;
}
.horario-fixo-cliente summary::after {
  content: "⌄";
  color: #d4af37;
  font-weight: 900;
  transition: transform .18s ease;
}
.horario-fixo-cliente[open] summary::after {
  transform: rotate(180deg);
}
.horario-fixo-cliente-identidade {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.horario-fixo-cliente-identidade strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.horario-fixo-cliente-identidade span {
  font-size: .76rem;
  color: #9d9d9d;
}
.horario-fixo-cliente summary > small {
  color: #d4af37;
  font-weight: 800;
  white-space: nowrap;
}
.horario-fixo-cliente-lista {
  display: grid;
  margin: 0 0 8px 8px;
  padding-left: 12px;
  border-left: 2px solid rgba(212,175,55,.24);
}
.horario-fixo-cliente-linha {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
.horario-fixo-cliente-linha:first-child {
  border-top: 0;
}
.horario-fixo-cliente-dados {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.horario-fixo-cliente-linha span {
  font-size: .86rem;
  color: #bbb;
}
.horario-fixo-cliente-linha small {
  color: #d4af37;
  font-weight: 800;
}
.horario-fixo-cliente-acoes {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}
.horario-fixo-cliente-acoes button {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(212,175,55,.45);
  border-radius: 10px;
  background: rgba(212,175,55,.12);
  color: #f2d28f;
  font-weight: 800;
}
.horario-fixo-cliente-acoes button.perigo {
  border-color: rgba(218,80,80,.5);
  background: rgba(218,80,80,.10);
  color: #ffb1b1;
}
.horario-fixo-cliente-acoes button:disabled {
  opacity: .5;
}

/* Confirmação de cancelamento — substitui o alert nativo do navegador. */
.kyron-confirmacao-overlay {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));
  background: rgba(0,0,0,.76);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.kyron-confirmacao-modal {
  width: min(100%, 420px);
  padding: 24px;
  border: 1px solid rgba(212,175,55,.38);
  border-radius: 22px;
  background: #171719;
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
}
.kyron-confirmacao-etiqueta {
  display: block;
  margin-bottom: 8px;
  color: #d4af37;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .13em;
}
.kyron-confirmacao-modal h3 {
  margin: 0;
  color: #fff;
  font-size: 1.35rem;
}
.kyron-confirmacao-modal p {
  margin: 10px 0 22px;
  color: #b8b8bb;
  line-height: 1.5;
}
.kyron-confirmacao-acoes {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 10px;
}
.kyron-confirmacao-acoes button {
  min-height: 46px;
  border: 1px solid rgba(212,175,55,.36);
  border-radius: 12px;
  background: rgba(212,175,55,.08);
  color: #f2d28f;
  font-weight: 850;
}
.kyron-confirmacao-acoes button.perigo {
  border-color: rgba(218,80,80,.52);
  background: rgba(218,80,80,.16);
  color: #ffc1c1;
}
.kyron-confirmacao-acoes button:focus-visible {
  outline: 2px solid #d4af37;
  outline-offset: 2px;
}

@media (max-width: 520px) {
  .horario-fixo-cliente-linha {
    align-items: stretch;
    flex-direction: column;
    gap: 9px;
  }
  .horario-fixo-cliente-acoes {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .horario-fixo-cliente-acoes button {
    width: 100%;
  }
  .horario-fixo-cliente summary {
    grid-template-columns: minmax(0,1fr) auto 16px;
  }
  .kyron-confirmacao-overlay {
    align-items: end;
    padding: 16px;
  }
  .kyron-confirmacao-modal {
    width: 100%;
    padding: 22px 18px;
    border-radius: 22px;
  }
  .kyron-confirmacao-acoes {
    grid-template-columns: 1fr;
  }
}


/* Agenda ADM — prioridade operacional e ajustes recolhíveis. */
.agenda-excecoes-card.agenda-excecoes-recolhida > :not(.admin-secao-titulo) {
  display: none !important;
}
.agenda-ajustes-topo-acoes {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.agenda-ajustes-toggle {
  min-height: 40px;
  padding-inline: 14px;
}
@media (max-width: 520px) {
  .agenda-excecoes-card .admin-secao-titulo {
    align-items: flex-start;
    gap: 12px;
  }
  .agenda-ajustes-topo-acoes {
    width: 100%;
    justify-content: space-between;
  }
  .agenda-ajustes-toggle {
    flex: 1 1 auto;
  }
}


/* Agenda compacta por cliente — agendado, horário fixo e encaixe. */
.agenda-compacta {
  display: grid;
  gap: 18px;
}
.agenda-periodo {
  display: grid;
  gap: 6px;
}
.agenda-periodo-cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 2px 7px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.agenda-periodo-cabecalho strong {
  color: #f2d28f;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.agenda-periodo-cabecalho span {
  color: #929297;
  font-size: .76rem;
}
.agenda-periodo-lista {
  display: grid;
}
.agenda-cliente-item {
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.agenda-cliente-item:last-child {
  border-bottom: 0;
}
.agenda-cliente-resumo {
  display: grid;
  grid-template-columns: 62px minmax(0,1fr) auto 16px;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 8px 2px;
  cursor: pointer;
  list-style: none;
}
.agenda-cliente-resumo::-webkit-details-marker {
  display: none;
}
.agenda-cliente-resumo::after {
  content: "⌄";
  color: #d4af37;
  font-weight: 900;
  transition: transform .16s ease;
}
.agenda-cliente-item[open] .agenda-cliente-resumo::after {
  transform: rotate(180deg);
}
.agenda-cliente-resumo time {
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.agenda-cliente-identidade {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.agenda-cliente-identidade strong,
.agenda-cliente-identidade small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.agenda-cliente-identidade strong {
  color: #f7f7f8;
  font-size: .94rem;
}
.agenda-cliente-identidade small {
  color: #9b9ba0;
  font-size: .78rem;
}
.agenda-cliente-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}
.agenda-cliente-meta .origem-atendimento,
.agenda-cliente-meta .status {
  margin: 0;
  white-space: nowrap;
}
.agenda-cliente-meta .origem-atendimento {
  padding: 4px 7px;
  border: 1px solid rgba(212,175,55,.25);
  border-radius: 999px;
  background: rgba(212,175,55,.07);
  color: #d8bb68;
  font-size: .66rem;
  font-style: normal;
  font-weight: 850;
}
.agenda-cliente-meta .origem-encaixe {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.05);
  color: #d5d5d8;
}
.agenda-cliente-meta .status {
  font-size: .66rem;
}
.agenda-cliente-detalhes {
  display: grid;
  gap: 12px;
  padding: 4px 2px 16px 72px;
}
.agenda-cliente-detalhes-resumo {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  color: #929297;
  font-size: .78rem;
}
.agenda-cliente-detalhes-resumo span {
  display: inline-flex;
  gap: 5px;
}
.agenda-cliente-detalhes-resumo strong {
  color: #e7e7e9;
}
.agenda-cliente-pagamento {
  display: grid;
  gap: 9px;
}
.agenda-cliente-acoes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.agenda-status-concluido .agenda-cliente-resumo {
  opacity: .58;
}
.agenda-status-cancelado .agenda-cliente-resumo,
.agenda-status-faltou .agenda-cliente-resumo {
  opacity: .66;
}
.agenda-aviso-compacto {
  margin-bottom: 14px;
}

@media (max-width: 520px) {
  .agenda-periodo-cabecalho {
    align-items: flex-start;
  }
  .agenda-periodo-cabecalho span {
    text-align: right;
  }
  .agenda-cliente-resumo {
    grid-template-columns: 54px minmax(0,1fr) 14px;
    gap: 8px;
  }
  .agenda-cliente-meta {
    grid-column: 2;
    justify-content: flex-start;
    margin-top: 2px;
  }
  .agenda-cliente-resumo::after {
    grid-column: 3;
    grid-row: 1 / span 2;
  }
  .agenda-cliente-detalhes {
    padding-left: 62px;
  }
  .agenda-cliente-acoes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  .agenda-cliente-acoes button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 380px) {
  .agenda-cliente-resumo {
    grid-template-columns: 50px minmax(0,1fr) 12px;
  }
  .agenda-cliente-detalhes {
    padding-left: 58px;
  }
  .agenda-cliente-acoes {
    grid-template-columns: 1fr;
  }
}

.kyron-confirmacao-acoes button.primario {
  border-color: rgba(212,175,55,.62);
  background: rgba(212,175,55,.22);
  color: #fff4d0;
}


/* Financeiro — Caderno operacional. */
.financeiro-caderno-painel {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(212,175,55,.28);
  border-radius: 18px;
  background: rgba(212,175,55,.045);
}
.financeiro-caderno-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.financeiro-caderno-topo h3 { margin: 2px 0 4px; }
.financeiro-caderno-topo small { color: #9d9d9d; }
.financeiro-caderno-topo > strong {
  color: #f2d28f;
  font-size: 1.2rem;
  white-space: nowrap;
}
.financeiro-caderno-lista { display: grid; gap: 10px; }
.financeiro-caderno-item {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: rgba(0,0,0,.16);
}
.financeiro-caderno-cliente { display: grid; gap: 4px; min-width: 0; }
.financeiro-caderno-cliente span { color: #a9a9aa; font-size: .84rem; }
.financeiro-caderno-valor { color: #f2d28f; }
.financeiro-caderno-baixa {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 10px;
}
.financeiro-caderno-baixa label { display: grid; gap: 6px; font-size: .82rem; color: #b8b8bb; }
.financeiro-caderno-baixa select { min-height: 44px; }
.financeiro-caderno-baixa button {
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(212,175,55,.45);
  border-radius: 11px;
  background: rgba(212,175,55,.14);
  color: #f2d28f;
  font-weight: 850;
}
.financeiro-caderno-vazio {
  display: grid;
  gap: 3px;
  padding: 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}
.financeiro-caderno-vazio span { color: #999; font-size: .86rem; }
@media (max-width: 520px) {
  .financeiro-caderno-topo { align-items: flex-start; }
  .financeiro-caderno-item { grid-template-columns: minmax(0,1fr) auto; }
  .financeiro-caderno-baixa { grid-template-columns: 1fr; }
  .financeiro-caderno-baixa button { width: 100%; }
}


/* Financeiro — origem rastreável do Caderno. */
.financeiro-caderno-identidade {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.financeiro-caderno-origem {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid rgba(212,175,55,.32);
  border-radius: 999px;
  background: rgba(212,175,55,.08);
  color: #e6c77f;
  font-size: .68rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .02em;
  white-space: nowrap;
}
.financeiro-caderno-origem.origem-encaixe {
  border-color: rgba(126,217,87,.35);
  background: rgba(126,217,87,.08);
  color: #a9e88e;
}
.financeiro-caderno-origem.origem-horario_fixo {
  border-color: rgba(212,175,55,.5);
  background: rgba(212,175,55,.13);
}


/* QA SERVICOS SIMPLIFICADOS */
.servico-editor-operacao {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.servico-disponibilidade {
  font-weight: 700;
}
.servico-editor-acoes-operacionais {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.servico-editor-acoes-operacionais .botao-admin-principal,
.servico-editor-acoes-operacionais .botao-discreto {
  min-height: 44px;
}
@media (max-width: 600px) {
  .servico-editor-acoes-operacionais {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .servico-editor-acoes-operacionais .botao-admin-principal {
    grid-column: 1 / -1;
  }
}


/* Perfil do Estabelecimento — link publico profissional. */
.link-publico-profissional {
  display: grid;
  gap: 18px;
}
.link-publico-apresentacao {
  display: grid;
  gap: 14px;
}
.link-publico-identidade {
  display: grid;
  gap: 7px;
}
.link-publico-identidade p,
.link-publico-dica {
  margin: 0;
  color: #a9a9ad;
  line-height: 1.5;
}
.link-publico-status {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #d9f4df;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .03em;
}
.link-publico-status i {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #34d17f;
  box-shadow: 0 0 0 4px rgba(52,209,127,.12);
}
.link-publico-cartao {
  display: grid;
  gap: 16px;
  padding: 20px;
  border: 1px solid rgba(212,175,55,.28);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(212,175,55,.09), rgba(255,255,255,.025));
  box-shadow: 0 18px 44px rgba(0,0,0,.18);
}
.link-publico-marca {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.link-publico-marca > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.link-publico-marca small {
  color: #d4af37;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .11em;
}
.link-publico-marca strong {
  color: #fff;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.link-publico-icone {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(212,175,55,.35);
  border-radius: 13px;
  background: rgba(212,175,55,.10);
}
.link-publico-icone svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: #f2d28f;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.link-publico-url {
  padding: 14px 15px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 13px;
  background: rgba(0,0,0,.20);
}
.link-publico-url strong {
  display: block;
  color: #f5f5f5;
  font-size: .9rem;
  overflow-wrap: anywhere;
}
.link-publico-acoes-principais {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.link-publico-acoes-principais > :last-child {
  grid-column: 1 / -1;
  text-align: center;
}
.link-publico-acoes-principais button,
.link-publico-acoes-principais a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.link-publico-personalizar {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
  overflow: hidden;
}
.link-publico-personalizar summary {
  padding: 15px 17px;
  cursor: pointer;
  color: #e8e8ea;
  font-weight: 800;
}
.link-publico-personalizar-corpo {
  display: grid;
  gap: 14px;
  padding: 0 17px 17px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.link-publico-personalizar-corpo > .admin-nota {
  margin-top: 14px;
}
.link-publico-mensagem {
  min-height: 20px;
  margin: 0;
}
@media (max-width: 520px) {
  .link-publico-cartao {
    padding: 17px;
    border-radius: 18px;
  }
  .link-publico-acoes-principais {
    grid-template-columns: 1fr;
  }
  .link-publico-acoes-principais > :last-child {
    grid-column: auto;
  }
  .link-publico-acoes-principais button,
  .link-publico-acoes-principais a {
    width: 100%;
  }
  .link-publico-personalizar .campo-link-negocio {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
}


/* Mais opções — organização por contexto. */
.mais-cabecalho-organizado {
  margin-bottom: 18px;
}
.mais-grupos {
  display: grid;
  gap: 18px;
}
.mais-grupo {
  display: grid;
  gap: 10px;
}
.mais-grupo-cabecalho {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 3px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.mais-grupo-cabecalho::-webkit-details-marker {
  display: none;
}
.mais-grupo-cabecalho:focus-visible {
  outline: 2px solid rgba(212,175,55,.65);
  outline-offset: 4px;
  border-radius: 10px;
}
.mais-grupo-seta {
  margin-left: auto;
  color: #d4af37;
  font-size: 1.2rem;
  line-height: 1;
  transition: transform .2s ease;
}
.mais-grupo[open] .mais-grupo-seta {
  transform: rotate(180deg);
}
.mais-grupo:not([open]) .menu-app-lista {
  display: none;
}
.mais-grupo-cabecalho > span {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(212,175,55,.28);
  border-radius: 10px;
  color: #d4af37;
  background: rgba(212,175,55,.07);
  font-size: .68rem;
  font-weight: 900;
}
.mais-grupo-cabecalho > div {
  display: grid;
  gap: 2px;
}
.mais-grupo-cabecalho strong {
  color: #f4f4f5;
  font-size: .92rem;
}
.mais-grupo-cabecalho small {
  color: #8e8e93;
  font-size: .72rem;
}
.mais-grupo .menu-app-lista {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 16px;
  background: rgba(255,255,255,.018);
}
.mais-grupo .menu-app-item {
  border-radius: 0;
  border-left: 0;
  border-right: 0;
}
.mais-grupo .menu-app-item:first-child {
  border-top: 0;
}
.mais-grupo .menu-app-item:last-child {
  border-bottom: 0;
}
.mais-grupo .mais-item-principal {
  background: linear-gradient(90deg, rgba(212,175,55,.075), rgba(212,175,55,.015));
}
.mais-grupo .mais-item-sair strong,
.mais-grupo .mais-item-sair > b {
  color: #ef9b9b;
}
.mais-grupo .mais-item-sair .menu-app-icone {
  border-color: rgba(220,92,92,.24);
  color: #ef9b9b;
  background: rgba(220,92,92,.07);
}
.mais-em-breve {
  display: inline-flex;
  margin-left: 7px;
  padding: 3px 7px;
  border: 1px solid rgba(212,175,55,.25);
  border-radius: 999px;
  color: #d4af37;
  background: rgba(212,175,55,.07);
  font-size: .62rem;
  font-style: normal;
  font-weight: 850;
  vertical-align: middle;
}
@media (max-width: 520px) {
  .mais-grupos {
    gap: 16px;
  }
  .mais-grupo-cabecalho {
    align-items: flex-start;
  }
  .mais-grupo .menu-app-lista {
    border-radius: 14px;
  }
  .mais-em-breve {
    display: inline-flex;
    margin-top: 4px;
    margin-left: 0;
  }
}


/* Clientes — lista compacta com detalhes sob demanda. */
.admin-lista-clientes {
  gap: 10px;
}
.cliente-cadastrado.cliente-flexivel {
  display: block;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.018);
}
.cliente-flexivel-resumo {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto 18px;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.cliente-flexivel-resumo::-webkit-details-marker {
  display: none;
}
.cliente-flexivel-resumo:focus-visible {
  outline: 2px solid rgba(212,175,55,.65);
  outline-offset: -3px;
  border-radius: 15px;
}
.cliente-flexivel-resumo .cliente-identificacao {
  min-width: 0;
}
.cliente-flexivel-resumo .cliente-identificacao h3,
.cliente-flexivel-resumo .cliente-identificacao p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cliente-flexivel-resumo .cliente-identificacao h3 {
  color: #f4f4f5;
}
.cliente-flexivel-resumo .cliente-identificacao p {
  color: #a6a6aa;
}
.cliente-flexivel-alerta {
  display: inline-flex;
  margin-top: 6px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(212,175,55,.12);
  color: #e6c869;
  font-size: .67rem;
  font-weight: 850;
}
.cliente-flexivel-seta {
  color: #d4af37;
  font-size: 1.18rem;
  line-height: 1;
  transition: transform .2s ease;
}
.cliente-flexivel[open] .cliente-flexivel-seta {
  transform: rotate(180deg);
}
.cliente-flexivel-conteudo {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.cliente-flexivel-dados {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.cliente-flexivel-dados > div {
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  background: rgba(255,255,255,.02);
}
.cliente-flexivel .cliente-gestao {
  grid-column: auto;
  margin: 0;
  padding-top: 12px;
}
@media (max-width: 520px) {
  .cliente-flexivel-resumo {
    grid-template-columns: 40px minmax(0,1fr) 16px;
    gap: 10px;
    padding: 11px 12px;
  }
  .cliente-flexivel-resumo .cliente-avatar {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .cliente-flexivel-resumo .cliente-situacao {
    grid-column: 2;
    justify-self: start;
  }
  .cliente-flexivel-resumo .cliente-flexivel-seta {
    grid-column: 3;
    grid-row: 1 / span 2;
  }
  .cliente-flexivel-dados {
    grid-template-columns: 1fr;
  }
  .cliente-flexivel .cliente-gestao .botao-discreto {
    flex: 1 1 calc(50% - .5rem);
  }
}


/* Serviços — catálogo primeiro e configurações recolhíveis. */
.servicos-cadastrados,
.admin-novo-servico-flexivel {
  margin-bottom: 16px;
}
.servicos-bloco-titulo {
  margin-bottom: 10px;
}
.admin-catalogo-editavel {
  grid-template-columns: 1fr;
  gap: 10px;
}
.admin-novo-servico-flexivel {
  overflow: hidden;
  border: 1px solid rgba(212,175,55,.22);
  border-radius: 16px;
  background: rgba(212,175,55,.025);
}
.admin-novo-servico-flexivel > summary,
.servico-flexivel-resumo {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 16px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.admin-novo-servico-flexivel > summary::-webkit-details-marker,
.servico-flexivel-resumo::-webkit-details-marker {
  display: none;
}
.admin-novo-servico-flexivel > summary span {
  display: grid;
  gap: 4px;
}
.admin-novo-servico-flexivel > summary small {
  color: #d4af37;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.admin-novo-servico-flexivel > summary strong {
  color: #f4f4f5;
}
.admin-novo-servico-flexivel > summary b {
  margin-left: auto;
  color: #d4af37;
  font-size: .72rem;
}
.admin-novo-servico-flexivel[open] > summary b {
  font-size: 0;
}
.admin-novo-servico-flexivel[open] > summary b::after {
  content: "Fechar";
  font-size: .72rem;
}
.admin-novo-servico-flexivel .admin-novo-servico {
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.07);
  border-radius: 0;
  background: transparent;
}
.servico-flexivel {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 15px;
  background: rgba(255,255,255,.018);
}
.servico-flexivel-resumo {
  display: grid;
  grid-template-columns: minmax(0,1fr) 18px;
}
.servico-flexivel-resumo .servico-editor-topo {
  min-width: 0;
  margin: 0;
}
.servico-flexivel-seta {
  color: #d4af37;
  font-size: 1.15rem;
  transition: transform .2s ease;
}
.servico-flexivel[open] .servico-flexivel-seta {
  transform: rotate(180deg);
}
.servico-flexivel > .servico-editor {
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.07);
  border-radius: 0;
  background: transparent;
}
@media (max-width: 520px) {
  .admin-novo-servico-flexivel > summary,
  .servico-flexivel-resumo {
    padding: 13px 14px;
  }
}
