:root {
  --azul: #075fe8;
  --azul-escuro: #0c1b3d;
  --verde: #19a663;
  --amarelo: #f5aa1c;
  --vermelho: #e72f3c;
  --roxo: #7c4dff;
  --borda: #d8e1f0;
  --texto: #111936;
  --muted: #667392;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--texto);
  background: radial-gradient(circle at 50% -20%, #fff 0, #f5f9ff 42%, #eaf1fb 100%);
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}
svg { width: 22px; height: 22px; }
button, a { transition: .18s ease; }
button:hover, a:hover { transform: translateY(-1px); }

* {
  scrollbar-width: thin;
  scrollbar-color: #edf2f7 transparent !important;
}
*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-track {
  background: transparent !important;
}
*::-webkit-scrollbar-thumb,
*::-webkit-scrollbar-thumb:hover,
*::-webkit-scrollbar-thumb:active,
*::-webkit-scrollbar-thumb:window-inactive {
  background-color: #edf2f7 !important;
  background-image: none !important;
  border: 2px solid transparent;
  border-radius: 999px;
  background-clip: padding-box;
}
[x-cloak] {
  display: none !important;
}

.moldura {
  width: min(1880px, calc(100vw - 20px));
  margin: 12px auto 0;
  padding: 30px 34px 86px;
  border: 1px solid var(--borda);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 55px rgba(29, 52, 88, .14);
}
.cabecalho-app {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-bottom: 22px;
}
.cabecalho-app .marca { flex: 1 1 210px; }
.cabecalho-app .seletor-unidade { flex: 1 1 240px; }
.cabecalho-app .data-topo { flex: 1 1 220px; }
.cabecalho-app .busca-topo { flex: 2 1 300px; }
.cabecalho-app .notificacao-wrap { flex: 0 0 auto; }
.cabecalho-app .usuario-topo { flex: 0 1 220px; }
.marca { display: flex; gap: 12px; align-items: center; text-decoration: none; color: var(--azul); }
.marca img { width: 62px; height: 62px; object-fit: contain; object-position: top; }
.marca strong { display: block; font-size: 25px; line-height: 1; }
.marca small, .usuario-topo small, .seletor-unidade small { display: block; color: #52617e; line-height: 1.2; }
.seletor-unidade, .busca-topo, .usuario-topo, .data-topo {
  display: flex; align-items: center; gap: 14px; min-height: 58px;
}
.seletor-unidade, .busca-topo {
  border: 1px solid var(--borda); border-radius: 13px; padding: 10px 14px; background: #fff;
  box-shadow: 0 8px 20px rgba(10, 42, 95, .05);
}
.seletor-unidade strong { display: block; font-size: 17px; }
.icone-quadrado { display: grid; place-items: center; width: 54px; height: 54px; color: var(--azul); border-radius: 13px; background: #f4f8ff; border: 1px solid var(--borda); }
.data-topo { color: #3f4b66; font-size: 17px; white-space: nowrap; }
.busca-topo input { min-width: 0; width: 100%; outline: 0; color: var(--muted); }
.busca-topo kbd { border: 1px solid var(--borda); border-radius: 6px; padding: 2px 8px; color: #61708b; background: #fff; white-space: nowrap; }
.botao-icone, .notificacao { position: relative; display: grid; place-items: center; color: #152349; }
.notificacao b { position: absolute; right: 4px; top: -8px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; background: var(--azul); font-size: 14px; }
.usuario-topo .avatar-ilustrado, .avatar-grande {
  display: grid; place-items: center; border-radius: 50%; color: #0b62db; background: linear-gradient(#ffe5d2, #d9ebff); font-weight: 800;
}
.usuario-topo .avatar-ilustrado { width: 54px; height: 54px; }
.usuario-topo strong { display: block; }

.grade-indicadores, .indicadores-profissional { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.indicador {
  position: relative; min-height: 190px; padding: 28px 28px 58px; border-radius: 16px; border: 1px solid var(--borda);
  background: linear-gradient(120deg, #fff, #f9fbff); overflow: hidden;
}
.indicador span { float: left; display: grid; place-items: center; width: 72px; height: 72px; margin-right: 26px; border-radius: 20px; }
.indicador p { margin: 8px 0 0; font-weight: 800; font-size: 18px; }
.indicador strong { display: block; font-size: 46px; line-height: 1; }
.indicador small { display: block; margin-top: 8px; color: #52617e; font-size: 15px; }
.indicador a { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; align-items: center; padding: 18px 26px; border-top: 1px solid var(--borda); color: var(--azul); font-weight: 800; }
.indicador.azul { border-color: #cfe0ff; } .indicador.azul span { color: var(--azul); background: #dfeaff; }
.indicador.verde { border-color: #cdeede; background: linear-gradient(120deg, #fff, #f3fff9); } .indicador.verde span { color: var(--verde); background: #dff6e9; }
.indicador.amarelo { border-color: #f8dfaf; background: linear-gradient(120deg, #fff, #fffaf0); } .indicador.amarelo span { color: #fff; background: linear-gradient(135deg, #ffd966, #f2a100); }
.indicador.vermelho { border-color: #ffd2d8; background: linear-gradient(120deg, #fff, #fff7f7); } .indicador.vermelho span { color: var(--vermelho); background: #ffe0e0; }
.indicador.vermelho small, .badge-prioridade.alta { color: var(--vermelho); }

.layout-painel { display: grid; grid-template-columns: 1.08fr 1fr; gap: 26px; margin-top: 26px; }
.cartao { border: 1px solid var(--borda); border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(22, 42, 73, .08); overflow: hidden; }
.titulo-linha { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--borda); }
.titulo-linha h2 { margin: 0; font-size: 25px; font-weight: 850; }
.titulo-linha h2 small { color: #455370; font-weight: 500; }
.titulo-linha button, .cabecalho-pagina button, .consulta-selecionada button, .perfil-profissional button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 0 18px; border: 1px solid var(--borda); border-radius: 10px; background: #fff; color: #132041; font-weight: 800;
}
.primario { color: #fff !important; border-color: var(--azul) !important; background: linear-gradient(135deg, #0c74ff, #0055df) !important; box-shadow: 0 10px 24px rgba(0, 92, 230, .24); }

table { width: 100%; border-collapse: collapse; font-size: 14px; }
th { padding: 16px 24px; text-align: left; color: #2d3956; background: #fbfcff; font-weight: 800; }
td { padding: 16px 24px; border-top: 1px solid #e6edf7; vertical-align: middle; }
td b, td small { display: block; } td small { color: #52617e; }
.avatar { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-right: 14px; border-radius: 50%; background: #eef5ff; color: #0b62db; font-weight: 800; vertical-align: middle; }
.avatar.rosa, .avatar-gigante { color: #df238b; background: #fce0f2; }
.avatar.verde { color: #11935a; background: #e0f6eb; } .avatar.roxo { color: #7c39e7; background: #eee3ff; }
.avatar.foto, .avatar-grande { color: #075fe8; background: linear-gradient(145deg, #ffd8bd, #dceeff); }
.badge-prioridade, .badge-status { display: inline-flex; align-items: center; justify-content: center; min-width: 72px; padding: 8px 12px; border-radius: 8px; font-style: normal; font-weight: 800; }
.badge-prioridade.alta { background: #ffe3e4; border: 1px solid #ffc7cc; } .badge-prioridade.media { color: #d88400; background: #fff3df; border: 1px solid #ffdfad; } .badge-prioridade.baixa { color: #168d59; background: #ddf5e8; border: 1px solid #c7ebda; }
.badge-status { color: #c07700; background: #fff0d5; border: 1px solid #ffd99b; }
.link-centro { display: flex; gap: 10px; justify-content: center; align-items: center; padding: 18px; color: var(--azul); font-weight: 850; border-top: 1px solid var(--borda); }

.agenda-hoje .dias { display: grid; grid-template-columns: repeat(7, 1fr); gap: 18px; padding: 14px 28px 22px; text-align: center; }
.dias span { color: #1d2947; font-weight: 800; } .dias b { display: block; margin-top: 10px; font-size: 20px; }
.dia-ativo b { display: inline-grid; place-items: center; width: 48px; height: 48px; color: #fff; border-radius: 50%; background: var(--azul); }
.faixa-agenda { position: relative; margin: 10px 22px; padding: 16px 90px 16px 22px; border-radius: 12px; border: 1px solid var(--borda); border-left: 4px solid var(--azul); }
.faixa-agenda b, .faixa-agenda span, .faixa-agenda small { display: block; }
.faixa-agenda i { position: absolute; right: 18px; top: 14px; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 16px; }
.faixa-agenda.azul { background: #f4f8ff; } .faixa-agenda.azul i { color: var(--azul); background: #dfeaff; }
.faixa-agenda.verde { border-left-color: var(--verde); background: #f5fff9; } .faixa-agenda.verde i { color: var(--verde); background: #def5e9; }
.faixa-agenda.roxo { border-left-color: var(--roxo); background: #faf7ff; } .faixa-agenda.roxo i { color: var(--roxo); background: #eee4ff; }
.faixa-agenda.laranja { border-left-color: #ff7a28; background: #fff8f3; } .faixa-agenda.laranja i { color: #ff6e19; background: #ffe2d1; }
.equipe, .comunicados { padding-bottom: 12px; }
.equipe { display: grid; grid-template-columns: repeat(4, 1fr); }
.equipe .titulo-linha { grid-column: 1 / -1; }
.equipe div:not(.titulo-linha) { padding: 22px; border-right: 1px solid var(--borda); }
.equipe em { display: inline-block; padding: 5px 10px; color: #14925a; background: #dff6e9; border-radius: 7px; font-style: normal; font-weight: 800; }
.comunicados p { position: relative; margin: 0 24px; padding: 16px 130px 16px 24px; border-bottom: 1px solid #e6edf7; }
.comunicados p::before { content: ""; position: absolute; left: 0; top: 22px; width: 8px; height: 8px; border-radius: 50%; background: var(--azul); }
.comunicados small { display: block; color: #52617e; } .comunicados time { position: absolute; right: 0; top: 18px; color: #52617e; }

.cabecalho-pagina { display: flex; justify-content: space-between; align-items: end; margin: 22px 14px 26px; }
.cabecalho-pagina h1 { margin: 0; font-size: 30px; font-weight: 900; } .cabecalho-pagina p { color: #465574; }
.acoes { display: flex; gap: 14px; flex-wrap: wrap; }
.layout-balcao { display: grid; grid-template-columns: 560px 1fr 520px; gap: 18px; }
.abas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 16px; border-bottom: 1px solid var(--borda); }
.abas b { text-align: center; padding: 12px; border: 1px solid var(--borda); border-radius: 9px; color: var(--azul); background: #f7fbff; }
.linha-fila { display: grid; grid-template-columns: 52px 1.3fr 1.2fr 78px 52px; gap: 10px; align-items: center; padding: 14px 18px; border-bottom: 1px solid #e8eef6; font-size: 13px; }
.linha-fila p, .linha-fila small { margin: 0; display: block; } .linha-fila small { color: #53617f; }
.colunas-profissionais { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 6px 8px; padding: 0 16px 18px; font-size: 13px; }
.colunas-profissionais > time { text-align: right; padding: 7px 8px; color: #111936; font-weight: 700; }
.prof { display: grid; grid-template-columns: 54px 1fr; align-items: center; padding: 14px; border-bottom: 1px solid var(--borda); }
.prof small { grid-column: 2; color: #52617e; }
.slot-livre, .slot-agendado, .slot-bloqueado { min-height: 34px; padding: 8px 12px; border-radius: 7px; overflow: hidden; }
.slot-livre { color: #13915a; background: #eaf9f1; border: 1px solid #cdeedd; }
.slot-agendado { color: #055de4; background: #eef5ff; border: 1px solid #9ec1ff; font-weight: 800; }
.slot-bloqueado { color: #53617f; background: #f1f3f7; border: 1px solid #d8deea; }
.painel-paciente { padding: 24px; position: relative; }
.fechar { position: absolute; right: 18px; top: 18px; }
.paciente-resumo { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; }
.paciente-resumo b, .paciente-resumo small { display: block; } .paciente-resumo em { color: var(--vermelho); background: #ffe1e5; padding: 8px 12px; border-radius: 8px; font-style: normal; font-weight: 800; }
.dados-paciente { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 16px; border: 1px solid var(--borda); border-radius: 12px; }
.dados-paciente p { margin: 0; display: grid; grid-template-columns: 28px 1fr; } .dados-paciente small { color: #52617e; }
.bloco-info { padding: 16px 0; border-bottom: 1px solid #e5edf7; }
.bloco-info p, .bloco-info ul { margin: 5px 0 0; color: #455370; }
.opcoes-prof { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.opcoes-prof button { padding: 14px; border: 1px solid var(--borda); border-radius: 10px; background: #fff; text-align: left; }
.opcoes-prof .selecionado { border-color: var(--azul); box-shadow: 0 0 0 2px rgba(7,95,232,.12); }
.painel-paciente label, .painel-paciente select, .painel-paciente textarea { display: block; width: 100%; margin-top: 14px; }
.painel-paciente select, .painel-paciente textarea { border: 1px solid var(--borda); border-radius: 10px; padding: 14px; }
.largura-total { width: 100%; min-height: 48px; margin-top: 14px; }

.perfil-profissional { display: flex; justify-content: space-between; padding: 28px; margin-bottom: 24px; }
.perfil-profissional > div:first-child { display: grid; grid-template-columns: 120px 1fr; column-gap: 22px; }
.avatar-grande { grid-row: span 4; width: 120px; height: 120px; font-size: 30px; }
.perfil-profissional h1 { margin: 8px 0 0; font-size: 28px; } .perfil-profissional p { margin: 0; font-size: 22px; color: #52617e; }
.perfil-profissional small { display: flex; gap: 10px; align-items: center; margin-top: 8px; } .perfil-profissional em { color: #128b56; background: #dff6e9; padding: 5px 8px; border-radius: 7px; font-style: normal; }
.indicadores-profissional { grid-template-columns: repeat(4, minmax(210px, 1fr)); margin-bottom: 24px; }
.indicadores-profissional .indicador { min-height: 142px; padding-bottom: 24px; }
.layout-profissional { display: grid; grid-template-columns: 1fr 520px; gap: 24px; }
.agenda-lista tr.selecionada { outline: 2px solid var(--azul); background: #f4f8ff; }
.consulta-selecionada { padding: 24px; }
.acao-verde, .acao-vermelha, .acao-roxa, .acao-azul { width: 100%; margin-top: 10px; }
.acao-verde { color: #12925a !important; border-color: #aee4ca !important; background: #f2fff8 !important; }
.acao-vermelha { color: #e42f3c !important; border-color: #ffc5c9 !important; background: #fff6f6 !important; }
.acao-roxa { color: #7037e8 !important; border-color: #d9c9ff !important; background: #fbf8ff !important; }
.acao-azul { color: var(--azul) !important; background: #f5f9ff !important; }

.dock-inferior {
  position: fixed; left: 50%; bottom: 54px; z-index: 50; transform: translateX(-50%);
  display: flex; gap: 22px; align-items: center; padding: 16px 28px;
  min-width: min(1180px, calc(100vw - 44px)); justify-content: space-around;
  border: 1px solid var(--borda); border-radius: 28px; background: rgba(255,255,255,.9);
  box-shadow: 0 16px 42px rgba(23, 45, 80, .18); backdrop-filter: blur(14px);
}
.dock-inferior a { display: grid; place-items: center; min-width: 112px; min-height: 74px; color: #4a5875; text-decoration: none; border-radius: 20px; font-weight: 600; }
.dock-inferior a.ativo { color: var(--azul); background: #f1f6ff; box-shadow: 0 10px 24px rgba(20,75,160,.12); }
.dock-inferior span { margin-top: 4px; }
.rodape-lgpd { position: fixed; left: 0; right: 0; bottom: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #7b879d; font-size: 14px; }

.mobile-palco { min-height: 100vh; display: grid; place-items: center; padding: 28px; background: #edf4fb; }
.telefone { width: 430px; max-width: 100%; min-height: 880px; padding: 18px 22px 102px; border: 10px solid #111; border-radius: 48px; background: #fff; box-shadow: 0 18px 60px rgba(0,0,0,.25); position: relative; overflow: hidden; }
.statusbar, .topo-mobile, .topo-mobile a { display: flex; align-items: center; justify-content: space-between; }
.statusbar { padding: 4px 26px 16px; } .statusbar span { width: 100px; height: 28px; border-radius: 18px; background: #000; }
.topo-mobile { gap: 12px; margin-bottom: 18px; } .topo-mobile a { gap: 8px; color: var(--azul); text-decoration: none; }
.topo-mobile img { width: 34px; height: 34px; object-fit: contain; } .topo-mobile h1 { font-size: 20px; font-weight: 900; }
.paciente-mobile { display: grid; grid-template-columns: 76px 1fr 24px; gap: 16px; align-items: center; padding: 16px; box-shadow: 0 8px 22px rgba(22,42,73,.09); }
.avatar-gigante { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; font-size: 26px; font-weight: 800; }
.paciente-mobile b, .paciente-mobile small { display: block; } .paciente-mobile small { color: #60708f; margin-top: 5px; }
.formulario-mobile { margin-top: 18px; }
.formulario-mobile > label, .linha-switch label { display: block; margin: 18px 0 8px; font-weight: 850; }
.formulario-mobile button, .formulario-mobile textarea {
  width: 100%; min-height: 56px; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid var(--borda); border-radius: 13px; background: #fff; font-size: 16px; color: #132041;
}
.formulario-mobile button svg:last-child { margin-left: auto; }
.prioridades { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.prioridades button { justify-content: center; font-weight: 850; }
.prioridades button:first-child { color: #168d59; border-color: #2daf70; background: #f5fff9; }
.prioridades button:nth-child(2) { color: #d88400; border-color: #f5aa1c; background: #fffaf0; }
.prioridades .alta { color: var(--vermelho); border-color: var(--vermelho); background: #fff6f6; }
.linha-switch { display: flex; align-items: center; justify-content: space-between; }
.linha-switch input { width: 74px; height: 40px; }
.formulario-mobile textarea { height: 142px; resize: none; align-items: flex-start; line-height: 1.55; }
.contador { display: block; text-align: right; margin: -30px 18px 18px 0; color: #647291; }
.resumo-visita { border: 1px solid #bcd3ff; border-radius: 14px; padding: 16px; background: #f8fbff; }
.resumo-visita h2 { display: flex; gap: 10px; align-items: center; color: var(--azul); font-size: 16px; font-weight: 900; border-bottom: 1px solid #d7e4ff; padding-bottom: 12px; }
.resumo-visita > div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.resumo-visita p { margin: 0; font-size: 12px; } .resumo-visita small { display: block; color: #5e6c8a; } .texto-vermelho { color: var(--vermelho); }
.acoes-mobile { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.dock-mobile { position: absolute; left: 22px; right: 22px; bottom: 18px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; padding: 10px; border: 1px solid var(--borda); border-radius: 24px; background: rgba(255,255,255,.95); box-shadow: 0 -10px 30px rgba(22,42,73,.12); }
.dock-mobile a { display: grid; place-items: center; min-height: 58px; border-radius: 15px; color: #53617f; font-size: 12px; }
.dock-mobile a.ativo { color: var(--azul); background: #f1f6ff; font-weight: 800; }
.mobile-palco + .dock-inferior, .mobile-palco ~ .rodape-lgpd { display: none; }

@media (max-width: 1300px) {
  .cabecalho-app { gap: 12px; }
  .busca-topo, .usuario-topo { grid-column: auto; }
  .grade-indicadores, .indicadores-profissional { grid-template-columns: repeat(2, 1fr); }
  .layout-painel, .layout-balcao, .layout-profissional { grid-template-columns: 1fr; }
  .painel-paciente { order: -1; }
}
@media (max-width: 760px) {
  .moldura { width: 100%; margin: 0; border-radius: 0; padding: 16px 14px 110px; }
  .cabecalho-app { gap: 12px; }
  .data-topo, .busca-topo { display: none; }
  .grade-indicadores, .indicadores-profissional, .equipe, .dados-paciente, .opcoes-prof { grid-template-columns: 1fr; }
  .cabecalho-pagina, .perfil-profissional { display: block; }
  .linha-fila { grid-template-columns: 46px 1fr 70px; }
  .linha-fila p:nth-of-type(2), .linha-fila time { display: none; }
  .colunas-profissionais { grid-template-columns: 48px 1fr; }
  .colunas-profissionais > :nth-child(3), .colunas-profissionais > span:nth-child(3n) { display: none; }
  table { font-size: 12px; } th:nth-child(n+4), td:nth-child(n+4) { display: none; }
  td, th { padding: 12px; }
  .dock-inferior { bottom: 20px; min-width: calc(100vw - 18px); padding: 8px; gap: 4px; border-radius: 22px; }
  .dock-inferior a { min-width: 0; min-height: 58px; font-size: 11px; }
  .dock-inferior a:nth-child(n+5) { display: none; }
  .rodape-lgpd { display: none; }
}

/* Refinamento geral da segunda entrega */
body {
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
}
.app-conteudo {
  min-height: 100vh;
  width: 100%;
  max-width: 100vw;
  padding: 12px 12px 32px 292px;
  transition: padding-left .2s ease;
}
.sidebar-app {
  position: fixed;
  inset: 12px auto 12px 12px;
  z-index: 80;
  width: 256px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--borda);
  border-radius: 20px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 16px 42px rgba(23,45,80,.14);
  backdrop-filter: blur(14px);
  transition: width .2s ease, transform .2s ease;
}
.sidebar-marca {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 16px;
  border-bottom: 1px solid #e7eef8;
  color: var(--azul);
}
.sidebar-marca img { width: 46px; height: 46px; object-fit: contain; object-position: top; }
.sidebar-logo-avatar {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .22);
}
.sidebar-logo-avatar img {
  width: 42px;
  height: 42px;
}
.sidebar-marca strong, .sidebar-marca small { display: block; }
.sidebar-marca strong { font-size: 17px; }
.sidebar-marca small { color: #52617e; }
.sidebar-app nav { display: grid; gap: 6px; padding: 14px 10px; }
.sidebar-app nav a, .sidebar-recolher {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 0 13px;
  border-radius: 12px;
  color: #4a5875;
  text-decoration: none;
  font-weight: 750;
  border: 0;
  background: transparent;
}
.sidebar-app nav a.ativo {
  color: var(--azul);
  background: #edf5ff;
  box-shadow: inset 3px 0 0 var(--azul);
}
.sidebar-recolher {
  margin: auto 10px 12px;
  width: calc(100% - 20px);
  border: 1px solid var(--borda);
  background: #fff;
}
.sidebar-mobile-toggle {
  display: none;
  position: fixed;
  left: 16px;
  top: 16px;
  z-index: 90;
  width: 42px;
  height: 42px;
  border: 1px solid var(--borda);
  border-radius: 12px;
  background: #fff;
  color: var(--azul);
  box-shadow: 0 10px 26px rgba(22,42,73,.16);
}
.sidebar-overlay { display: none; }
.sidebar-recolhida .app-conteudo { padding-left: 104px; }
.sidebar-recolhida .sidebar-app { width: 76px; }
.sidebar-recolhida .sidebar-marca span,
.sidebar-recolhida .sidebar-app nav span,
.sidebar-recolhida .sidebar-recolher span { display: none; }
.sidebar-recolhida .sidebar-marca .sidebar-logo-avatar { display: grid; }
.sidebar-recolhida .sidebar-marca { justify-content: center; padding-inline: 8px; }
.sidebar-recolhida .sidebar-app nav a,
.sidebar-recolhida .sidebar-recolher { justify-content: center; padding-inline: 0; }
.moldura {
  width: 100%;
  padding: 22px 26px 84px;
}
.cabecalho-app {
  gap: 18px;
  margin-bottom: 22px;
}
.cabecalho-app .marca { display: flex; }
.marca img { width: 50px; height: 50px; }
.marca strong { font-size: 20px; }
.marca small, .usuario-topo small, .seletor-unidade small { font-size: 11px; }
.seletor-unidade, .busca-topo, .usuario-topo, .data-topo { min-height: 48px; gap: 10px; }
.icone-quadrado { width: 44px; height: 44px; }
.data-topo, .seletor-unidade strong { font-size: 14px; }
.usuario-topo .avatar-ilustrado { width: 44px; height: 44px; }
svg { width: 19px; height: 19px; }
.cabecalho-pagina { margin: 12px 4px 20px; }
.cabecalho-pagina h1 { font-size: 24px; }
.cabecalho-pagina p { margin: 4px 0 0; font-size: 14px; }
.grade-indicadores, .indicadores-profissional { gap: 18px; }
.indicador {
  min-height: 138px;
  padding: 20px 20px 48px;
  border-radius: 14px;
}
.indicador span { width: 52px; height: 52px; margin-right: 16px; border-radius: 16px; }
.indicador p { font-size: 14px; margin-top: 4px; }
.indicador strong { font-size: 34px; }
.indicador small { font-size: 12px; }
.indicador a { padding: 13px 18px; font-size: 13px; }
.grade-indicadores.compacta .indicador { min-height: 118px; padding-bottom: 18px; }
.grade-indicadores.compacta .indicador a { display: none; }
.cartao { border-radius: 14px; box-shadow: 0 8px 22px rgba(22,42,73,.07); }
.titulo-linha { padding: 15px 18px; }
.titulo-linha h2 { font-size: 18px; }
.titulo-linha button, .cabecalho-pagina button, .consulta-selecionada button, .perfil-profissional button, .botao-link {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 9px;
  font-size: 13px;
}
th { padding: 12px 16px; font-size: 12px; }
td { padding: 12px 16px; }
.avatar { width: 36px; height: 36px; margin-right: 10px; font-size: 12px; }
.badge-prioridade, .badge-status { min-width: 64px; padding: 6px 9px; font-size: 12px; }
.dock-inferior {
  display: none;
}
.rodape-lgpd { display: none; }
.notificacao-wrap, .usuario-topo { position: relative; }
.usuario-topo { cursor: pointer; border: 1px solid transparent; border-radius: 14px; padding: 4px 8px; }
.usuario-topo:hover { background: #f7fbff; border-color: var(--borda); }
.menu-flutuante {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  z-index: 100;
  min-width: 250px;
  display: none;
  padding: 12px;
  border: 1px solid var(--borda);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(22,42,73,.16);
}
.menu-flutuante.aberto { display: grid; gap: 10px; }
.menu-flutuante a, .menu-flutuante button {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--borda);
  border-radius: 9px;
  color: #132041;
  background: #fff;
  text-decoration: none;
  font-weight: 750;
}
.notificacoes-menu p {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 10px;
  border-radius: 10px;
  color: #9a4d00;
  background: #fff7e8;
}
.painel-filtro form {
  display: flex;
  gap: 8px;
  align-items: center;
}
.painel-filtro select {
  min-height: 38px;
  border: 1px solid var(--borda);
  border-radius: 9px;
  padding: 0 10px;
  background: #fff;
  font-weight: 700;
}
.tabela-responsiva { overflow-x: auto; }
.estado-vazio-tabela { text-align: center; color: #667392; padding: 28px !important; }
.agenda-hoje .faixa-agenda {
  display: block;
  color: inherit;
  text-decoration: none;
}
.membro-equipe {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  gap: 4px 10px;
  align-items: center;
  color: inherit;
  text-decoration: none;
}
.membro-equipe .avatar { grid-row: span 3; }
.membro-equipe em { justify-self: end; }
.membro-equipe p { grid-column: 2 / 4; margin: 0; color: #52617e; }
/* legado do dock mantido escondido */
body .dock-inferior {
  bottom: 42px;
  min-width: min(980px, calc(100vw - 44px));
  padding: 10px 18px;
  border-radius: 24px;
}
.dock-inferior a { min-width: 92px; min-height: 62px; font-size: 12px; }
.rodape-lgpd { font-size: 12px; }

.login-pagina {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(320px, 560px) 420px;
  gap: 56px;
  align-items: center;
  justify-content: center;
  padding: 42px;
  background:
    linear-gradient(120deg, rgba(7,95,232,.08), rgba(25,166,99,.10)),
    radial-gradient(circle at 18% 10%, #ffffff 0, #f6fbff 38%, #e8f1fb 100%);
}
.login-identidade img { width: 210px; height: 210px; object-fit: contain; object-position: top; filter: drop-shadow(0 18px 24px rgba(0,82,170,.12)); }
.login-identidade h1 { margin: 12px 0; font-size: clamp(42px, 5vw, 66px); line-height: .95; color: var(--azul-escuro); font-weight: 800; }
.login-identidade p { max-width: 520px; color: #465574; font-size: 17px; line-height: 1.55; }
.login-identidade div { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.login-identidade span, .login-selo {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 999px;
  background: rgba(255,255,255,.72); border: 1px solid var(--borda); color: #214061; font-weight: 700;
}
.login-card { padding: 28px; }
.login-card h2 { margin: 20px 0 4px; font-size: 28px; font-weight: 800; }
.login-card p { margin: 0 0 20px; color: #596883; }
.login-card label, .formulario-config label, .formulario-solicitacao label { display: grid; gap: 7px; margin-top: 14px; color: #263451; font-weight: 700; }
.login-card input, .formulario-config input, .formulario-config select, .formulario-solicitacao input, .formulario-solicitacao select, .formulario-solicitacao textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--borda);
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  color: var(--texto);
  font-weight: 500;
}
.login-card button { width: 100%; min-height: 44px; margin-top: 18px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border-radius: 10px; }
.login-card small { display: block; margin-top: 14px; color: #667392; }
.alerta { margin: 12px 0; padding: 11px 13px; border-radius: 10px; border: 1px solid var(--borda); background: #f6f9ff; font-weight: 700; }
.alerta.erro { color: #b4202b; border-color: #ffc8cd; background: #fff6f6; }
.alerta.sucesso { color: #0f8250; border-color: #bce8d1; background: #f2fff8; }

.layout-solicitacao { display: grid; grid-template-columns: 1fr 390px; gap: 20px; align-items: start; }
.formulario-solicitacao { padding: 22px; }
.formulario-solicitacao section + section { margin-top: 22px; padding-top: 18px; border-top: 1px solid #e7eef8; }
.formulario-solicitacao h2, .resumo-solicitacao h2, .formulario-config h2 { margin: 0 0 12px; font-size: 18px; font-weight: 800; }
.campo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.formulario-solicitacao textarea { min-height: 96px; resize: vertical; }
.check-linha { display: flex !important; grid-template-columns: none !important; align-items: center; gap: 10px; }
.check-linha input { width: 18px; min-height: 18px; }
.acoes-formulario { display: flex; justify-content: flex-end; gap: 12px; margin-top: 18px; }
.acoes-formulario button, .botao-link, .mini-botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 14px;
  border: 1px solid var(--borda); border-radius: 10px; background: #fff; color: #132041; font-weight: 800; text-decoration: none;
}
.resumo-solicitacao { padding: 20px; }
.resumo-metricas { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 16px 0; }
.resumo-metricas p { margin: 0; padding: 12px; border: 1px solid #e2eaf6; border-radius: 10px; background: #f8fbff; }
.resumo-metricas small, .resumo-metricas b { display: block; }
.resumo-metricas small { color: #667392; }
.linha-recente { padding: 12px 0; border-top: 1px solid #e6edf7; }
.linha-recente b, .linha-recente small { display: block; }
.estado-vazio { color: #667392; background: #f8fbff; border: 1px dashed #c9d7ea; border-radius: 10px; padding: 14px; }
.sse-status {
  display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 12px; border-radius: 999px;
  color: #0f8250; background: #effcf5; border: 1px solid #c7ebda; font-weight: 800;
}
.sse-status.sem-conexao { color: #b17800; background: #fff8e9; border-color: #f5dfac; }
.sse-status.recebeu-evento { color: var(--azul); background: #f1f6ff; border-color: #cfe0ff; }

.tabela-padrao { margin-top: 18px; }
.status-ativo { color: #128b56; background: #e4f8ee; border-color: #bfe8d3; }
.status-inativo { color: #9a4d00; background: #fff1dc; border-color: #f2d4a7; }
.layout-relatorios { display: grid; grid-template-columns: 430px 1fr; gap: 20px; }
.painel-grafico { align-self: start; }
.barras-relatorio { padding: 20px; display: grid; gap: 18px; }
.barras-relatorio span { display: grid; grid-template-columns: 1fr 2fr 54px; gap: 12px; align-items: center; }
.barras-relatorio i { height: 12px; border-radius: 999px; background: linear-gradient(90deg, var(--azul) var(--valor), #e8eef7 var(--valor)); }
.barras-relatorio em { font-style: normal; font-weight: 800; text-align: right; }
.layout-configuracoes { display: grid; grid-template-columns: 360px 1fr; gap: 20px; align-items: start; }
.formulario-config { padding-bottom: 20px; }
.formulario-config > label, .formulario-config > button, .formulario-config > small { margin-left: 20px; margin-right: 20px; }
.formulario-config button { width: calc(100% - 40px); min-height: 42px; margin-top: 18px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 10px; }
.formulario-config small { display: block; margin-top: 12px; color: #667392; }
.paginacao {
  display: flex; align-items: center; justify-content: center; gap: 14px; padding: 14px; border-top: 1px solid #e6edf7;
}
.paginacao a, .paginacao span {
  display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 12px; border-radius: 9px; border: 1px solid var(--borda); color: var(--azul); background: #fff; font-weight: 800;
}
.paginacao span { color: #9aa5b8; background: #f7f9fc; }
.paginacao strong { color: #53617f; font-size: 13px; }

@media (max-width: 1100px) {
  .app-conteudo { padding: 78px 10px 28px; }
  .sidebar-mobile-toggle { display: grid; place-items: center; }
  .sidebar-app {
    transform: translateX(-110%);
    width: 260px;
  }
  .sidebar-aberta .sidebar-app { transform: translateX(0); }
  .sidebar-aberta .sidebar-overlay {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 70;
    background: rgba(14, 27, 50, .34);
  }
  .sidebar-recolhida .app-conteudo { padding-left: 10px; }
  .sidebar-recolhida .sidebar-app { width: 260px; }
  .sidebar-recolhida .sidebar-marca span,
  .sidebar-recolhida .sidebar-app nav span,
  .sidebar-recolhida .sidebar-recolher span { display: block; }
  .sidebar-recolhida .sidebar-marca .sidebar-logo-avatar { display: grid; }
  .cabecalho-app { gap: 12px; }
  .cabecalho-app .marca { display: flex; }
  .layout-relatorios, .layout-configuracoes { grid-template-columns: 1fr; }
  .login-pagina { grid-template-columns: 1fr; gap: 28px; }
  .login-identidade { text-align: center; }
  .login-identidade p, .login-identidade div { justify-content: center; margin-left: auto; margin-right: auto; }
}
@media (max-width: 760px) {
  .app-conteudo { padding: 70px 0 20px; }
  .campo-grid, .resumo-metricas { grid-template-columns: 1fr; }
  .acoes-formulario { display: grid; grid-template-columns: 1fr; }
  .login-pagina { padding: 20px; }
  .login-identidade img { width: 150px; height: 150px; }
  .login-identidade h1 { font-size: 38px; }
  .cabecalho-app { gap: 12px; }
  .notificacao-wrap, .usuario-topo { justify-self: stretch; }
  .menu-flutuante { left: 0; right: auto; width: min(420px, calc(100vw - 24px)); }
  .painel-filtro { display: grid; gap: 10px; }
  .painel-filtro form { width: 100%; display: grid; grid-template-columns: 1fr auto; }
  .equipe { display: block; }
  .membro-equipe { padding: 14px; border-bottom: 1px solid #e6edf7; }
}

/* Ajustes da revisão: login, agenda e equipe */
.login-v2 {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(360px, 620px) minmax(340px, 440px);
  align-items: center;
  justify-content: center;
  gap: 56px;
  padding: 44px;
  background:
    radial-gradient(circle at 20% 15%, rgba(25,166,99,.16), transparent 28%),
    radial-gradient(circle at 78% 12%, rgba(7,95,232,.14), transparent 30%),
    linear-gradient(135deg, #f8fbff 0%, #edf5fb 100%);
}
.login-v2-hero {
  color: var(--azul-escuro);
}
.login-v2-hero img {
  width: 176px;
  height: 176px;
  object-fit: contain;
  object-position: top;
  filter: drop-shadow(0 18px 26px rgba(7,95,232,.14));
}
.login-v2-hero h1 {
  margin: 20px 0 12px;
  max-width: 560px;
  font-size: clamp(42px, 5vw, 68px);
  line-height: .96;
  font-weight: 800;
}
.login-v2-hero p {
  max-width: 540px;
  color: #4d5d79;
  font-size: 17px;
  line-height: 1.55;
}
.login-v2-recursos {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}
.login-v2-recursos span,
.login-v2-topo span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid var(--borda);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: #244466;
  font-weight: 750;
}
.login-v2-card {
  padding: 28px;
  border: 1px solid rgba(216,225,240,.9);
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 22px 60px rgba(30,55,95,.16);
}
.login-v2-topo {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}
.login-v2-topo span {
  width: 48px;
  height: 48px;
  justify-content: center;
  border-radius: 14px;
  color: var(--verde);
  background: #effcf5;
}
.login-v2-topo strong,
.login-v2-topo small,
.login-v2-card label {
  display: block;
}
.login-v2-topo strong {
  font-size: 22px;
}
.login-v2-topo small {
  color: #61708b;
}
.login-v2-card label {
  margin-top: 14px;
  color: #263451;
  font-weight: 750;
}
.login-v2-card input {
  width: 100%;
  min-height: 46px;
  margin-top: 7px;
  padding: 0 13px;
  border: 1px solid var(--borda);
  border-radius: 12px;
  background: #fff;
}
.login-v2-card button {
  width: 100%;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 20px;
  border-radius: 12px;
}
.login-v2-ajuda {
  margin: 14px 0 0;
  color: #667392;
  font-size: 12px;
}

.agenda-v2 {
  display: grid;
  grid-template-columns: 340px minmax(480px, 1fr) 320px;
  gap: 18px;
  align-items: start;
}
.agenda-v2-fila,
.agenda-v2-calendario,
.agenda-v2-detalhes {
  min-height: 640px;
}
.agenda-v2-scroll,
.agenda-v2-lista {
  max-height: 540px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.agenda-v2-scroll {
  padding: 12px;
}
.agenda-v2-abas {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 12px;
  border-bottom: 1px solid var(--borda);
}
.agenda-v2-abas span {
  display: grid;
  place-items: center;
  min-height: 52px;
  border: 1px solid var(--borda);
  border-radius: 12px;
  background: #f8fbff;
  color: #52617e;
  font-weight: 750;
}
.agenda-v2-abas b {
  color: var(--azul);
  font-size: 18px;
}
.solicitacao-card {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 10px;
  align-items: start;
  padding: 12px;
  border: 1px solid #e5edf7;
  border-radius: 14px;
  background: #fff;
  margin-bottom: 10px;
}
.solicitacao-card b,
.solicitacao-card small {
  display: block;
}
.solicitacao-card p {
  margin: 5px 0 0;
  color: #52617e;
  font-size: 12px;
}
.agenda-v2-nav {
  display: flex;
  gap: 8px;
}
.agenda-v2-dias {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--borda);
  text-align: center;
  color: #52617e;
  font-weight: 750;
}
.agenda-v2-dias b {
  display: block;
  padding: 8px 0;
  border-radius: 12px;
  color: #fff;
  background: var(--azul);
}
.agenda-v2-lista {
  padding: 14px 16px 18px;
}
.agenda-evento {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 12px;
  padding: 12px;
  margin-bottom: 12px;
  border: 1px solid #dce7f5;
  border-left: 4px solid var(--azul);
  border-radius: 14px;
  background: linear-gradient(135deg, #fff, #f8fbff);
}
.agenda-evento time {
  color: var(--azul);
  font-weight: 800;
}
.agenda-evento time small {
  display: block;
  color: #667392;
  font-weight: 600;
}
.agenda-evento-corpo header {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 10px;
  align-items: center;
}
.agenda-evento-corpo b,
.agenda-evento-corpo small {
  display: block;
}
.agenda-evento-corpo p {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 10px 16px 0 0;
  color: #52617e;
  font-size: 12px;
}
.agenda-v2-detalhes {
  position: sticky;
  top: 12px;
}
.paciente-detalhe {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 18px;
}
.paciente-detalhe b,
.paciente-detalhe small {
  display: block;
}
.agenda-v2-detalhes dl {
  margin: 0;
  padding: 0 18px 18px;
}
.agenda-v2-detalhes dl div {
  padding: 12px 0;
  border-top: 1px solid #e6edf7;
}
.agenda-v2-detalhes dt {
  color: #667392;
  font-size: 12px;
}
.agenda-v2-detalhes dd {
  margin: 2px 0 0;
  font-weight: 750;
}
.equipe-nova {
  overflow: hidden;
}
.equipe-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}
.equipe-card {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 8px 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e2eaf6;
  border-radius: 14px;
  color: inherit;
  text-decoration: none;
  background: #fbfdff;
}
.equipe-card b,
.equipe-card small {
  display: block;
}
.equipe-card small {
  color: #667392;
}
.equipe-card em {
  padding: 5px 9px;
  border-radius: 999px;
  color: #128b56;
  background: #e4f8ee;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}
.equipe-card p {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: #52617e;
  font-size: 12px;
}

@media (max-width: 1420px) {
  .agenda-v2 {
    grid-template-columns: 320px 1fr;
  }
  .agenda-v2-detalhes {
    grid-column: 1 / -1;
    min-height: auto;
    position: static;
  }
}

@media (max-width: 980px) {
  .login-v2,
  .agenda-v2 {
    grid-template-columns: 1fr;
  }
  .login-v2 {
    padding: 28px;
  }
  .agenda-v2-fila,
  .agenda-v2-calendario,
  .agenda-v2-detalhes {
    min-height: auto;
  }
  .agenda-v2-scroll,
  .agenda-v2-lista {
    max-height: 420px;
  }
  .equipe-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .login-v2 {
    padding: 18px;
  }
  .login-v2-hero {
    text-align: center;
  }
  .login-v2-hero img {
    width: 128px;
    height: 128px;
  }
  .login-v2-recursos {
    justify-content: center;
  }
  .agenda-evento,
  .agenda-evento-corpo header,
  .solicitacao-card,
  .equipe-card {
    grid-template-columns: 1fr;
  }
  .agenda-v2-dias {
    overflow-x: auto;
    grid-template-columns: repeat(7, 72px);
  }
}

/* Painel: fila no topo; Agenda e Equipe lado a lado no desktop */
.painel-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
  gap: 18px;
  margin-top: 22px;
  align-items: start;
}
.painel-fila {
  grid-column: 1 / -1;
}
.painel-agenda-card,
.painel-equipe-card {
  min-height: 430px;
}
.painel-filtro small,
.titulo-linha small {
  display: block;
  margin-top: 3px;
  color: #667392;
  font-size: 12px;
  font-weight: 500;
}
.painel-dias {
  display: grid;
  grid-template-columns: repeat(7, minmax(54px, 1fr));
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid #e6edf7;
  overflow-x: auto;
}
.painel-dias button {
  display: grid;
  place-items: center;
  gap: 2px;
  min-height: 54px;
  border: 1px solid #e2eaf6;
  border-radius: 12px;
  color: #53617f;
  background: #fff;
  font-weight: 700;
}
.painel-dias button.ativo {
  color: #fff;
  border-color: var(--azul);
  background: linear-gradient(135deg, #0c74ff, #0055df);
  box-shadow: 0 10px 20px rgba(7,95,232,.18);
}
.painel-dias small {
  font-size: 10px;
  opacity: .78;
}
.painel-agenda-lista {
  display: grid;
  gap: 10px;
  max-height: 300px;
  overflow-y: auto;
  padding: 14px 16px 16px;
}
.painel-evento {
  display: grid;
  grid-template-columns: 104px 1fr 38px;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 12px;
  border: 1px solid #e2eaf6;
  border-left: 4px solid var(--azul);
  border-radius: 14px;
  color: inherit;
  text-decoration: none;
  background: #fbfdff;
}
.painel-evento:hover {
  border-color: #bfd4fb;
  background: #f4f8ff;
}
.painel-evento > span {
  color: var(--azul);
  font-weight: 800;
  font-size: 13px;
}
.painel-evento b,
.painel-evento small {
  display: block;
}
.painel-evento small {
  color: #667392;
}
.painel-evento i {
  justify-self: center;
  color: var(--azul);
}
.equipe-controles {
  display: flex;
  gap: 8px;
}
.equipe-controles button {
  width: 34px;
  min-height: 34px;
  padding: 0;
}
.equipe-controles button:disabled {
  opacity: .42;
  cursor: not-allowed;
}
.equipe-carrossel {
  display: flex;
  gap: 12px;
  max-width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 14px 16px 16px;
}
.equipe-carrossel .equipe-card {
  width: min(360px, 86%);
  flex: 0 0 auto;
  scroll-snap-align: start;
}
.painel-equipe-card .link-centro {
  padding: 13px;
}

@media (max-width: 1180px) {
  .painel-grid {
    grid-template-columns: 1fr;
  }
  .painel-fila,
  .painel-agenda-card,
  .painel-equipe-card {
    grid-column: 1;
  }
}

@media (max-width: 700px) {
  .painel-evento {
    grid-template-columns: 1fr;
  }
  .painel-dias {
    grid-template-columns: repeat(7, 64px);
  }
  .painel-filtro {
    display: grid;
    gap: 12px;
  }
  .painel-filtro form {
    grid-template-columns: 1fr auto;
  }
}

/* --- Estilização da Navegação e do Link Ativo (.ativo) --- */
.sidebar-app {
  background: #09090b;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 50px rgba(2, 6, 23, 0.34);
}
.sidebar-marca {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}
.sidebar-marca strong {
  color: #ffffff;
}
.sidebar-marca small {
  color: #a1a1aa;
}
.sidebar-app nav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem 0.75rem;
}
.sidebar-app nav a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0.875rem;
  color: #a1a1aa;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 0.5rem;
  text-decoration: none;
  position: relative;
  transition: all 0.2s ease;
  box-shadow: none;
}
.sidebar-app nav a:hover:not(.ativo) {
  background-color: rgba(255, 255, 255, 0.05);
  color: #f4f4f5;
}
.sidebar-app nav a:hover:not(.ativo) i {
  color: #a1a1aa;
}
.sidebar-app nav a.ativo {
  color: #ffffff;
  font-weight: 600;
  background: linear-gradient(
    135deg,
    rgba(79, 70, 229, 0.15) 0%,
    rgba(79, 70, 229, 0.05) 100%
  );
  box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.05);
}
.sidebar-app nav a.ativo i {
  color: #6366f1;
  filter: drop-shadow(0 0 8px rgba(99, 102, 241, 0.4));
}
.sidebar-app nav a.ativo::before {
  content: "";
  position: absolute;
  left: 0;
  top: 25%;
  height: 50%;
  width: 3px;
  background-color: #6366f1;
  border-radius: 0 4px 4px 0;
}
.sidebar-recolher {
  color: #a1a1aa;
  border-color: rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.sidebar-recolher:hover {
  color: #f4f4f5;
  background: rgba(255,255,255,.06);
}
