:root {
    --cor-fundo: #f6f4f1;
    --cor-superficie: #ffffff;
    --cor-borda: #ded9d2;
    --cor-texto: #231f1c;
    --cor-texto-suave: #6b645d;
    --cor-primaria: #3d5a4c;
    --cor-primaria-texto: #ffffff;
    --cor-destaque: #e8efe9;
    --cor-perigo: #a33a2f;
    --cor-ok: #2f6b45;
    --cor-agora: #d2452f;
    --cor-info: #3c6fb0;
    --st-aguardando: #3c6fb0;
    --st-confirmado: #2f8a52;
    --st-em_espera: #d4a017;
    --st-em_atendimento: #d9732a;
    --st-atendido: #7a55b8;
    --st-faltou: #c0392b;
    --st-cancelado: #8a8f94;
    --sombra: rgba(35, 31, 28, 0.18);

    /* Fundo da tela de entrada. Para usar uma foto do espaço: --login-imagem: url("data:image/jpeg;base64,..."); */
    --login-imagem: none;
    --login-cor-a: #243a30;
    --login-cor-b: #3d5a4c;
    --login-cor-c: #6d8a76;

    /* Cores das profissionais na agenda (a chave c1..c8 é gravada na equipe). */
    --prof-c1: #3d7a63;
    --prof-c2: #c2603f;
    --prof-c3: #4a6fb5;
    --prof-c4: #a0507f;
    --prof-c5: #a47f1f;
    --prof-c6: #2f8596;
    --prof-c7: #7a5ab0;
    --prof-c8: #82634a;

    --fonte: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --tamanho-base: 16px;
    --tamanho-pequeno: 14px;
    --tamanho-mini: 12px;
    --tamanho-titulo: 20px;

    --espaco-1: 4px;
    --espaco-2: 8px;
    --espaco-3: 16px;
    --espaco-4: 24px;
    --raio: 10px;
    --altura-toque: 44px;
    --altura-menu: 60px;
    --largura-max: 720px;
  }

  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
      --cor-fundo: #151816;
      --cor-superficie: #1e221f;
      --cor-borda: #353b36;
      --cor-texto: #ece9e4;
      --cor-texto-suave: #a39d95;
      --cor-primaria: #6f9a84;
      --cor-primaria-texto: #101311;
      --cor-destaque: #27302a;
      --cor-perigo: #e0796d;
      --cor-ok: #6fbf8a;
      --cor-agora: #ff7a63;
      --cor-info: #7fa8e0;
    --st-aguardando: #7fa8e0;
    --st-confirmado: #6fbf8a;
    --st-em_espera: #e3b93c;
    --st-em_atendimento: #ee9a5c;
    --st-atendido: #b394e6;
    --st-faltou: #e0796d;
    --st-cancelado: #9aa0a6;
      --sombra: rgba(0, 0, 0, 0.55);
      --prof-c1: #6fb596;
      --prof-c2: #e68a69;
      --prof-c3: #7f9fe0;
      --prof-c4: #d083ad;
      --prof-c5: #d9b44f;
      --prof-c6: #6cc0d2;
      --prof-c7: #a88be0;
      --prof-c8: #c0a086;
      color-scheme: dark;
    }
  }

  :root[data-theme="dark"] {
    --cor-fundo: #151816;
    --cor-superficie: #1e221f;
    --cor-borda: #353b36;
    --cor-texto: #ece9e4;
    --cor-texto-suave: #a39d95;
    --cor-primaria: #6f9a84;
    --cor-primaria-texto: #101311;
    --cor-destaque: #27302a;
    --cor-perigo: #e0796d;
    --cor-ok: #6fbf8a;
    --cor-agora: #ff7a63;
    --cor-info: #7fa8e0;
    --st-aguardando: #7fa8e0;
    --st-confirmado: #6fbf8a;
    --st-em_espera: #e3b93c;
    --st-em_atendimento: #ee9a5c;
    --st-atendido: #b394e6;
    --st-faltou: #e0796d;
    --st-cancelado: #9aa0a6;
    --sombra: rgba(0, 0, 0, 0.55);
    --prof-c1: #6fb596;
    --prof-c2: #e68a69;
    --prof-c3: #7f9fe0;
    --prof-c4: #d083ad;
    --prof-c5: #d9b44f;
    --prof-c6: #6cc0d2;
    --prof-c7: #a88be0;
    --prof-c8: #c0a086;
    color-scheme: dark;
  }

  * { box-sizing: border-box; }

  html, body {
    margin: 0;
    background: var(--cor-fundo);
    color: var(--cor-texto);
    font-family: var(--fonte);
    font-size: var(--tamanho-base);
    line-height: 1.4;
  }

.app-topo { background: var(--cor-primaria); color: var(--cor-primaria-texto); padding: var(--espaco-3); display: flex; justify-content: space-between; align-items: center; gap: var(--espaco-2); }
  .app-topo h1 { margin: 0; font-size: var(--tamanho-titulo); }
  .app-conteudo { max-width: var(--largura-max); margin: 0 auto; padding: var(--espaco-3); }
  .app-rodape { text-align: center; color: var(--cor-texto-suave); font-size: var(--tamanho-pequeno); padding: var(--espaco-3); }
  .abas { display: flex; gap: var(--espaco-2); margin-bottom: var(--espaco-3); }
  .aba { flex: 1; min-height: var(--altura-toque); border: 1px solid var(--cor-borda); background: var(--cor-superficie); color: var(--cor-texto); border-radius: var(--raio); font: inherit; cursor: pointer; }
  .aba[aria-selected="true"] { background: var(--cor-primaria); color: var(--cor-primaria-texto); border-color: var(--cor-primaria); }
  .cartao { background: var(--cor-superficie); border: 1px solid var(--cor-borda); border-radius: var(--raio); padding: var(--espaco-3); margin-bottom: var(--espaco-2); }
  .cartao h2 { margin: 0 0 var(--espaco-2); font-size: var(--tamanho-titulo); }
  .linha-item { display: flex; justify-content: space-between; align-items: center; gap: var(--espaco-2); min-height: var(--altura-toque); width: 100%; text-align: left; background: var(--cor-superficie); border: 1px solid var(--cor-borda); border-radius: var(--raio); padding: var(--espaco-2) var(--espaco-3); margin-bottom: var(--espaco-2); font: inherit; color: inherit; cursor: pointer; }
  .suave { color: var(--cor-texto-suave); font-size: var(--tamanho-pequeno); }
  .campo { display: block; margin-bottom: var(--espaco-3); }
  .campo > span { display: block; margin-bottom: var(--espaco-1); font-size: var(--tamanho-pequeno); color: var(--cor-texto-suave); }
  .campo input, .campo textarea, .campo select { width: 100%; min-height: var(--altura-toque); padding: var(--espaco-2) var(--espaco-3); border: 1px solid var(--cor-borda); border-radius: var(--raio); font: inherit; background: var(--cor-superficie); color: var(--cor-texto); }
  .campo-marcar { display: flex; align-items: center; gap: var(--espaco-2); min-height: var(--altura-toque); margin-bottom: var(--espaco-3); }
  .campo-marcar input { width: 24px; height: 24px; }
  .botao { min-height: var(--altura-toque); padding: 0 var(--espaco-3); border: 1px solid var(--cor-primaria); background: var(--cor-primaria); color: var(--cor-primaria-texto); border-radius: var(--raio); font: inherit; cursor: pointer; }
  .botao.secundario { background: var(--cor-superficie); color: var(--cor-primaria); }
  .botao.perigo { background: var(--cor-superficie); color: var(--cor-perigo); border-color: var(--cor-perigo); }
  .botao[disabled] { opacity: 0.6; cursor: wait; }
  .acoes { display: flex; flex-wrap: wrap; gap: var(--espaco-2); margin-top: var(--espaco-3); }
  .carregando { height: 3px; background: var(--cor-destaque); overflow: hidden; }
  .carregando.ativo::after { content: ""; display: block; height: 100%; width: 40%; background: var(--cor-primaria); animation: correr 1s infinite ease-in-out; }
  @keyframes correr { 0% { margin-left: -40%; } 100% { margin-left: 100%; } }
  .aviso { position: fixed; z-index: 40; left: var(--espaco-3); right: var(--espaco-3); bottom: var(--espaco-3); max-width: var(--largura-max); margin: 0 auto; padding: var(--espaco-3); border-radius: var(--raio); background: var(--cor-texto); color: var(--cor-superficie); box-shadow: 0 4px 16px var(--sombra); z-index: 10; }
  .aviso.erro { background: var(--cor-perigo); }
  .aviso.ok { background: var(--cor-ok); }
  .aviso { color: var(--cor-fundo); }
  .aviso.com-acao { display: flex; align-items: center; justify-content: space-between; gap: var(--espaco-3); }
  .aviso-acao { min-height: 36px; padding: 0 14px; border: 1px solid currentColor; border-radius: 8px; background: transparent; color: inherit; font: inherit; font-weight: 600; cursor: pointer; flex: none; }
  .aviso.erro, .aviso.ok { color: #ffffff; }

  /* Largura total para a agenda; as outras páginas ficam na coluna de leitura. */
  .app-conteudo.largo { max-width: none; padding-left: var(--espaco-2); padding-right: var(--espaco-2); }

  /* Menu: barra de baixo no celular, faixa no topo em tela larga. */
  .menu { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: flex; background: var(--cor-superficie); border-top: 1px solid var(--cor-borda); padding-bottom: env(safe-area-inset-bottom, 0px); }
  .menu[hidden] { display: none; }
  .menu-item { flex: 1; min-height: var(--altura-menu); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; background: none; border: 0; color: var(--cor-texto-suave); font: inherit; font-size: var(--tamanho-mini); cursor: pointer; }
  .menu-item[aria-current="page"] { color: var(--cor-primaria); font-weight: 600; }
  .menu-item svg, .icone { width: 24px; height: 24px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
  body.com-menu { padding-bottom: calc(var(--altura-menu) + env(safe-area-inset-bottom, 0px)); }
  body.com-menu .aviso { bottom: calc(var(--espaco-3) + var(--altura-menu) + env(safe-area-inset-bottom, 0px)); }
  @media (min-width: 720px) {
    .menu { position: static; justify-content: center; gap: var(--espaco-2); border-top: 0; border-bottom: 1px solid var(--cor-borda); padding-bottom: 0; }
    .menu-item { flex: 0 0 auto; flex-direction: row; gap: var(--espaco-2); min-height: 48px; padding: 0 var(--espaco-3); font-size: var(--tamanho-pequeno); }
    body.com-menu { padding-bottom: 0; }
    body.com-menu .aviso { bottom: var(--espaco-3); }
  }

  /* Tela larga (computador): barra lateral com todas as áreas; o "Mais" some porque tudo já está à vista. */
  .menu-item.so-largo, .menu-marca, .menu-rodape { display: none; }
  @media (min-width: 900px) {
    .menu { position: fixed; top: 0; bottom: 0; left: 0; right: auto; width: 208px; z-index: 30; flex-direction: column; justify-content: flex-start; gap: 2px; padding: var(--espaco-4) var(--espaco-2); border-bottom: 0; border-right: 1px solid var(--cor-borda); overflow-y: auto; }
    .menu-item { width: 100%; justify-content: flex-start; border-radius: var(--raio); min-height: 44px; padding: 0 var(--espaco-3); }
    .menu-item:hover { background: var(--cor-destaque); }
    .menu-item[aria-current="page"] { background: var(--cor-destaque); }
    .menu-item.so-largo { display: flex; }
    .menu-item.so-celular { display: none; }
    body.com-menu { padding-left: 208px; }
    body.com-menu .app-topo { display: none; }
    .menu-marca { display: flex; align-items: center; gap: var(--espaco-2); padding: 0 var(--espaco-2) var(--espaco-3); font-weight: 700; font-size: 1.05rem; color: var(--cor-primaria); }
    .menu-marca span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--cor-primaria); color: var(--cor-primaria-texto); }
    .menu-rodape { display: flex; flex-direction: column; gap: var(--espaco-2); margin-top: auto; padding: var(--espaco-3) var(--espaco-2) 0; border-top: 1px solid var(--cor-borda); font-size: var(--tamanho-pequeno); color: var(--cor-texto-suave); }
  }

  /* Fichas pequenas */
  .chips { display: flex; flex-wrap: wrap; gap: var(--espaco-2); }
  .chip { min-height: 36px; padding: 0 12px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--cor-borda); border-radius: 999px; background: var(--cor-superficie); color: var(--cor-texto); font: inherit; font-size: var(--tamanho-pequeno); cursor: pointer; }
  .chip[aria-pressed="true"] { background: var(--cor-destaque); border-color: var(--cor-primaria); font-weight: 600; }
  .chip .ponto, .ponto { width: 10px; height: 10px; border-radius: 50%; background: var(--p, var(--cor-primaria)); flex: none; display: inline-block; }
  .selo { display: inline-block; font-size: var(--tamanho-mini); line-height: 1; padding: 3px 6px; border-radius: 6px; border: 1px solid var(--cor-borda); background: var(--cor-destaque); color: var(--cor-texto); white-space: nowrap; }
  .selo.alerta { border-color: var(--cor-perigo); color: var(--cor-perigo); background: transparent; }
  .selo.ok { border-color: var(--cor-ok); color: var(--cor-ok); background: transparent; }
  .titulo-secao { margin: var(--espaco-3) 0 var(--espaco-2); font-size: var(--tamanho-pequeno); font-weight: 600; color: var(--cor-texto-suave); text-transform: uppercase; letter-spacing: 0.06em; }
  a.botao { display: inline-flex; align-items: center; text-decoration: none; }

  /* Folha de baixo (celular) / janela central (tela larga) */
  .modal-fundo { position: fixed; inset: 0; z-index: 30; display: flex; align-items: flex-end; justify-content: center; background: rgba(0, 0, 0, 0.45); }
  .modal { width: 100%; max-width: 560px; max-height: 92vh; overflow-y: auto; background: var(--cor-superficie); color: var(--cor-texto); border-radius: 16px 16px 0 0; padding: var(--espaco-3); padding-bottom: calc(var(--espaco-3) + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -4px 24px var(--sombra); }
  .modal:focus { outline: none; }
  .modal-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--espaco-2); margin-bottom: var(--espaco-3); }
  .modal-cab h2 { margin: 0; font-size: var(--tamanho-titulo); min-width: 0; overflow-wrap: anywhere; }
  .modal-fechar { flex: none; width: var(--altura-toque); height: var(--altura-toque); margin: -8px -8px 0 0; display: grid; place-items: center; border: 0; background: none; color: var(--cor-texto-suave); cursor: pointer; border-radius: var(--raio); }
  @media (min-width: 720px) {
    .modal-fundo { align-items: center; }
    .modal { border-radius: 16px; max-height: 88vh; }
  }
  button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--cor-primaria); outline-offset: 2px; }
  /* Abertura: cobre a tela enquanto o primeiro carregamento acontece (decisão 0006). */
  .abertura { position: fixed; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center; padding: var(--espaco-3); background: var(--cor-fundo); transition: opacity 0.25s ease; }
  .abertura.saindo { opacity: 0; pointer-events: none; }
  .abertura-cartao { width: 100%; max-width: 340px; text-align: center; }
  .abertura-marca { width: 64px; height: 64px; margin: 0 auto var(--espaco-3); border-radius: 18px; display: flex; align-items: center; justify-content: center; background: var(--cor-primaria); color: var(--cor-primaria-texto); font-size: 30px; font-weight: 700; animation: abertura-surge 0.6s cubic-bezier(0.2, 0.9, 0.3, 1.3) both; }
  .abertura-slogan { margin: 0 0 var(--espaco-4); font-size: 22px; font-weight: 700; line-height: 1.25; animation: abertura-sobe 0.6s ease 0.3s both; }
  .abertura-slogan span { color: var(--cor-primaria); }
  /* Barra e frase só entram depois da apresentação: quase sempre o carregamento já está na metade. */
  .abertura-progresso { animation: abertura-aparece 0.4s ease 1.1s both; }
  @keyframes abertura-surge { from { opacity: 0; transform: scale(0.6); } to { opacity: 1; transform: scale(1); } }
  @keyframes abertura-sobe { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
  @keyframes abertura-aparece { from { opacity: 0; } to { opacity: 1; } }
  .abertura-barra { height: 6px; border-radius: 999px; background: var(--cor-destaque); overflow: hidden; }
  .abertura-barra > span { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--cor-primaria); transition: width 0.3s ease; }
  .abertura-frase { min-height: 1.4em; margin-top: var(--espaco-3); color: var(--cor-texto-suave); font-size: var(--tamanho-pequeno); }
  @media (prefers-reduced-motion: reduce) { .abertura, .abertura-barra > span { transition: none; } .abertura-marca, .abertura-slogan, .abertura-progresso { animation: none; } }

body.na-login .app-topo, body.na-login .app-rodape, body.na-login .menu { display: none; }
  body.na-login .app-conteudo { max-width: none; padding: 0; }
  .login-fundo { min-height: calc(100vh - 40px); display: grid; place-items: center; padding: var(--espaco-4) var(--espaco-3); background: var(--login-imagem), linear-gradient(145deg, var(--login-cor-a), var(--login-cor-b) 55%, var(--login-cor-c)); background-size: cover; background-position: center; }
  .login-cartao { width: 100%; max-width: 340px; padding: 28px 24px 24px; border-radius: 18px; background: color-mix(in srgb, var(--cor-superficie) 94%, transparent); box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25); text-align: center; backdrop-filter: blur(6px); }
  .login-marca { width: 56px; height: 56px; margin: 0 auto 12px; display: grid; place-items: center; border-radius: 50%; background: var(--cor-primaria); color: var(--cor-primaria-texto); font-size: 24px; font-weight: 700; }
  .login-cartao h2 { margin: 0 0 2px; font-size: 1.25rem; }
  .login-sub { margin: 0 0 20px; font-size: var(--tamanho-pequeno); color: var(--cor-texto-suave); }
  .login-cartao .campo { text-align: left; margin-bottom: 12px; }
  .login-cartao input { min-height: 42px; }
  .login-ver { display: flex; align-items: center; gap: 6px; margin: -4px 0 14px; font-size: var(--tamanho-pequeno); color: var(--cor-texto-suave); text-align: left; cursor: pointer; }
  .login-cartao .botao { width: 100%; }

.on-pagina { max-width: 560px; margin: 0 auto; padding: var(--espaco-4) 0 var(--espaco-6, 48px); }
  .on-marca { display: flex; align-items: center; gap: var(--espaco-3); margin-bottom: var(--espaco-4); }
  .on-marca .logo { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 1.2rem; background: var(--cor-primaria); color: var(--cor-fundo); }
  .on-marca h1 { margin: 0; font-size: 1.35rem; }
  .on-marca p { margin: 0; color: var(--cor-texto-suave); font-size: var(--tamanho-pequeno); }
  .on-passo { padding: var(--espaco-3); margin-bottom: var(--espaco-3); border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .on-passo h2 { margin: 0 0 var(--espaco-2); font-size: 1rem; }
  .on-passo h2 span { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 8px; border-radius: 50%; background: var(--cor-destaque); font-size: 0.8rem; }
  .on-horas { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 8px; }
  .on-resumo { padding: var(--espaco-3); margin-bottom: var(--espaco-3); border-radius: var(--raio); background: var(--cor-destaque); font-size: var(--tamanho-pequeno); }
  .on-ok { text-align: center; padding: var(--espaco-5, 32px) var(--espaco-3); }
  .on-ok .check { width: 56px; height: 56px; margin: 0 auto var(--espaco-3); border-radius: 50%; display: grid; place-items: center; font-size: 1.8rem; background: var(--cor-primaria); color: var(--cor-fundo); }
  .on-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ag-topo { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espaco-2); margin-bottom: var(--espaco-2); }
  .ag-data { flex: 1; min-width: 0; min-height: var(--altura-toque); padding: 0 var(--espaco-3); border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); color: var(--cor-texto); font: inherit; font-weight: 600; text-align: center; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ag-data-campo { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
  .ag-icone { width: var(--altura-toque); height: var(--altura-toque); display: grid; place-items: center; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); color: var(--cor-texto); cursor: pointer; padding: 0; flex: none; }
  .ag-acoes { display: flex; gap: var(--espaco-2); margin-left: auto; }
  .ag-acoes .botao { display: inline-flex; align-items: center; gap: 6px; }
  .ag-acoes .icone { width: 18px; height: 18px; }
  @media (max-width: 560px) {
    .ag-acoes { flex: 1 0 100%; margin-left: 0; }
    .ag-acoes .botao { flex: 1; justify-content: center; }
  }
  .ag-modos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 4px; margin-bottom: var(--espaco-2); border-radius: var(--raio); background: var(--cor-destaque); }
  .ag-modo { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 8px; background: transparent; color: var(--cor-texto-suave); font: inherit; font-size: var(--tamanho-pequeno); cursor: pointer; }
  .ag-modo .icone { width: 16px; height: 16px; }
  .ag-modo[aria-pressed="true"] { background: var(--cor-superficie); color: var(--cor-texto); font-weight: 600; box-shadow: 0 1px 3px var(--sombra); }
  .ag-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; margin-bottom: var(--espaco-2); }
  .ag-dia { min-height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border: 1px solid transparent; border-radius: var(--raio); background: transparent; color: var(--cor-texto-suave); font: inherit; font-size: var(--tamanho-mini); cursor: pointer; padding: 0; }
  .ag-dia strong { font-size: var(--tamanho-base); color: var(--cor-texto); font-variant-numeric: tabular-nums; }
  .ag-dia[aria-pressed="true"] { background: var(--cor-primaria); color: var(--cor-primaria-texto); }
  .ag-dia[aria-pressed="true"] strong { color: var(--cor-primaria-texto); }
  .ag-dia.hoje:not([aria-pressed="true"]) { border-color: var(--cor-primaria); }
  .ag-dia.alvo { outline: 2px dashed var(--cor-primaria); outline-offset: 1px; background: var(--cor-destaque); }
  .ag-resumo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--espaco-1) var(--espaco-3); margin: var(--espaco-2) 0; font-size: var(--tamanho-pequeno); color: var(--cor-texto-suave); }
  .ag-resumo strong { color: var(--cor-texto); }

  .grade-rolagem { position: relative; overflow: auto; max-height: calc(100vh - 360px); min-height: 380px; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .grade { display: grid; min-width: min-content; }
  .canto, .cab-col { position: sticky; top: 0; z-index: 4; background: var(--cor-superficie); border-bottom: 1px solid var(--cor-borda); }
  .canto { left: 0; z-index: 5; }
  .cab-col { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 4px var(--espaco-2); border-left: 1px solid var(--cor-borda); min-width: 0; }
  .cab-col.hoje { background: var(--cor-destaque); }
  .avatar { flex: none; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--p); color: var(--cor-fundo); font-weight: 700; font-size: var(--tamanho-pequeno); }
  .cab-texto { min-width: 0; display: flex; flex-direction: column; line-height: 1.15; }
  .cab-texto strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--tamanho-pequeno); }
  .cab-texto span { font-size: 11px; color: var(--cor-texto-suave); }
  .gutter { position: sticky; left: 0; z-index: 3; background: var(--cor-superficie); }
  .gutter-hora { position: absolute; left: 0; right: 0; padding-right: 6px; text-align: right; font-size: 11px; color: var(--cor-texto-suave); font-variant-numeric: tabular-nums; transform: translateY(-7px); }
  .coluna { position: relative; border-left: 1px solid var(--cor-borda); }
  .coluna.alvo-coluna { background: var(--cor-destaque); }
  .slot { display: block; width: 100%; height: 36px; padding: 0; border: 0; border-bottom: 1px dotted color-mix(in srgb, var(--cor-borda) 55%, transparent); background: transparent; cursor: pointer; }
  .slot:nth-child(even) { border-bottom: 1px solid color-mix(in srgb, var(--cor-texto-suave) 38%, var(--cor-borda)); }
  .slot.fechado { background: repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--cor-texto-suave) 10%, transparent) 6px 7px); background-color: color-mix(in srgb, var(--cor-texto-suave) 7%, transparent); }
  .gutter-meia { position: absolute; left: 0; right: 0; padding-right: 6px; text-align: right; font-size: 10px; color: var(--cor-texto-suave); opacity: 0.5; font-variant-numeric: tabular-nums; transform: translateY(-6px); }
  .gutter-hora { font-weight: 600; }
  .slot:hover { background: var(--cor-destaque); }
  .slot[disabled] { cursor: default; }
  .slot[disabled]:hover { background: transparent; }
  .agora { position: absolute; left: 0; right: 0; height: 0; border-top: 2px solid var(--cor-agora); z-index: 2; pointer-events: none; }

  .bloco { position: absolute; z-index: 1; display: flex; flex-direction: column; gap: 1px; overflow: hidden; padding: 3px 6px; text-align: left; font: inherit; font-size: 13px; line-height: 1.25; color: var(--cor-texto); cursor: grab; border-radius: 8px; border: 1px solid color-mix(in srgb, var(--p) 50%, var(--cor-borda)); border-left: 4px solid var(--p); background: color-mix(in srgb, var(--p) 17%, var(--cor-superficie)); -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
  .bloco > * { flex-shrink: 0; }
  .bloco.curto > .bloco-nome { flex-shrink: 1; min-width: 0; }
  .bloco { --st: var(--cor-borda); border-color: color-mix(in srgb, var(--st) 55%, var(--cor-borda)); border-left-color: var(--st); background: color-mix(in srgb, var(--st) 20%, var(--cor-superficie)); }
  .bloco.st-aguardando { --st: var(--st-aguardando); }
  .bloco.st-confirmado { --st: var(--st-confirmado); }
  .bloco.st-em_espera { --st: var(--st-em_espera); }
  .bloco.st-em_atendimento { --st: var(--st-em_atendimento); }
  .bloco.st-atendido { --st: var(--st-atendido); }
  .bloco.st-faltou { --st: var(--st-faltou); }
  .bloco.st-cancelado { --st: var(--st-cancelado); opacity: 0.7; }
  .bloco.st-cancelado .bloco-nome { text-decoration: line-through; }
  .bloco.st-atendido, .bloco.st-faltou, .bloco.st-cancelado { cursor: pointer; }
  .selo-st { display: inline-block; padding: 1px 6px; border-radius: 999px; font-size: 10px; font-weight: 600; color: var(--cor-fundo); background: var(--st); }
  .st-aguardando { --st: var(--st-aguardando); } .st-confirmado { --st: var(--st-confirmado); } .st-em_espera { --st: var(--st-em_espera); }
  .st-em_atendimento { --st: var(--st-em_atendimento); } .st-atendido { --st: var(--st-atendido); } .st-faltou { --st: var(--st-faltou); } .st-cancelado { --st: var(--st-cancelado); }
  .bloco.curto { flex-direction: row; align-items: center; gap: 6px; padding: 2px 6px; }
  .bloco.curto .bloco-serv, .bloco.curto .bloco-selos { display: none; }
  .bloco.bloqueio { cursor: pointer; border: 1px dashed var(--cor-texto-suave); border-left: 4px solid var(--cor-texto-suave); background: repeating-linear-gradient(135deg, var(--cor-destaque) 0 6px, transparent 6px 12px); }
  .bloco.pegado { box-shadow: 0 6px 16px var(--sombra); transform: scale(1.02); }
  .bloco.arrastando { opacity: 0.35; }
  .bloco.fantasma { z-index: 6; pointer-events: none; opacity: 0.95; border-style: solid; box-shadow: 0 8px 20px var(--sombra); }
  body.sem-selecao { -webkit-user-select: none; user-select: none; cursor: grabbing; }
  .bloco-hora { font-size: 11px; color: var(--cor-texto-suave); font-variant-numeric: tabular-nums; white-space: nowrap; }
  .bloco-nome { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .bloco-serv { font-size: 12px; color: var(--cor-texto-suave); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .bloco-selos { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 2px; }
  .bloco-selos .selo { font-size: 10px; padding: 2px 4px; }

  .mes-cab, .mes-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
  .mes-cab { margin-bottom: 4px; text-align: center; font-size: var(--tamanho-mini); color: var(--cor-texto-suave); text-transform: uppercase; letter-spacing: 0.06em; }
  .mes-dia { min-height: 72px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 6px; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); color: var(--cor-texto); font: inherit; text-align: left; cursor: pointer; }
  .mes-dia.fora { opacity: 0.45; }
  .mes-dia.hoje { border-color: var(--cor-primaria); border-width: 2px; }
  .mes-num { font-weight: 600; font-variant-numeric: tabular-nums; }
  .mes-qtd { padding: 1px 7px; border-radius: 999px; background: var(--cor-primaria); color: var(--cor-primaria-texto); font-size: var(--tamanho-mini); font-weight: 600; }
  .mes-valor { display: none; font-size: 11px; color: var(--cor-texto-suave); }
  @media (min-width: 720px) { .mes-valor { display: block; } .mes-dia { min-height: 92px; } }

  .lista-ag { display: flex; flex-direction: column; gap: var(--espaco-2); }
  .item-ag { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: var(--espaco-3); align-items: center; width: 100%; padding: var(--espaco-2) var(--espaco-3); text-align: left; border: 1px solid var(--cor-borda); border-left: 4px solid var(--st, var(--p)); border-radius: var(--raio); background: var(--cor-superficie); color: var(--cor-texto); font: inherit; cursor: pointer; }
  .item-ag.st-cancelado { opacity: 0.55; }
  .item-ag-hora { font-variant-numeric: tabular-nums; font-weight: 600; line-height: 1.2; }
  .item-ag-hora span { display: block; font-weight: 400; font-size: var(--tamanho-mini); color: var(--cor-texto-suave); }
  .item-ag-meio { min-width: 0; }
  .item-ag-meio strong, .item-ag-meio div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
  .item-ag-preco { font-weight: 600; white-space: nowrap; }

  .info { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--espaco-1) var(--espaco-3); margin: var(--espaco-3) 0; font-size: var(--tamanho-pequeno); }
  .info dt { color: var(--cor-texto-suave); }
  .info dd { margin: 0; overflow-wrap: anywhere; }
  .lista-itens { list-style: none; margin: 0; padding: 0; }
  .lista-itens li { display: flex; justify-content: space-between; gap: var(--espaco-2); padding: 6px 0; border-bottom: 1px solid var(--cor-borda); }
  .lista-itens li:last-child { border-bottom: 0; font-weight: 600; }
  .dupla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espaco-2); }
  .opcao { display: flex; align-items: center; gap: var(--espaco-2); width: 100%; min-height: var(--altura-toque); margin-bottom: 6px; padding: 6px var(--espaco-3); text-align: left; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); color: var(--cor-texto); font: inherit; cursor: pointer; }
  .opcao::before { content: ""; flex: none; width: 18px; height: 18px; border: 2px solid var(--cor-borda); border-radius: 5px; }
  .opcao[aria-pressed="true"] { border-color: var(--cor-primaria); background: var(--cor-destaque); }
  .opcao[aria-pressed="true"]::before { border-color: var(--cor-primaria); background: var(--cor-primaria); box-shadow: inset 0 0 0 3px var(--cor-destaque); }
  .opcao-nome { flex: 1; min-width: 0; overflow-wrap: anywhere; }
  .opcao-meta { color: var(--cor-texto-suave); font-size: var(--tamanho-pequeno); white-space: nowrap; }
  .caixa-resumo { padding: var(--espaco-3); margin-bottom: var(--espaco-3); border-radius: var(--raio); background: var(--cor-destaque); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--espaco-1) var(--espaco-3); font-size: var(--tamanho-pequeno); }
  .vazio { padding: var(--espaco-4) var(--espaco-3); text-align: center; color: var(--cor-texto-suave); }

.fin-modos { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 4px; padding: 4px; margin-bottom: var(--espaco-3); border-radius: var(--raio); background: var(--cor-destaque); }
  .fin-modo { min-height: 38px; border: 0; border-radius: 8px; background: transparent; color: var(--cor-texto-suave); font: inherit; font-size: var(--tamanho-pequeno); cursor: pointer; }
  .fin-modo[aria-pressed="true"] { background: var(--cor-superficie); color: var(--cor-texto); font-weight: 600; box-shadow: 0 1px 3px var(--sombra); }
  .fin-mes { display: flex; align-items: center; gap: var(--espaco-2); margin-bottom: var(--espaco-3); }
  .fin-mes .rotulo { flex: 1; text-align: center; font-weight: 600; min-height: var(--altura-toque); display: grid; place-items: center; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .fin-mes .acoes-topo { display: flex; gap: var(--espaco-2); }
  .dre-linha { display: flex; justify-content: space-between; gap: var(--espaco-3); padding: 9px var(--espaco-3); border-bottom: 1px solid var(--cor-borda); font-variant-numeric: tabular-nums; }
  .dre-linha.total { font-weight: 600; background: var(--cor-destaque); }
  .dre-linha.resultado { font-weight: 700; font-size: 1.05rem; background: var(--cor-destaque); }
  .dre-linha.item span:first-child { color: var(--cor-texto-suave); }
  .tab-fin { width: 100%; border-collapse: collapse; font-size: var(--tamanho-pequeno); font-variant-numeric: tabular-nums; }
  .tab-fin th, .tab-fin td { padding: 8px 6px; border-bottom: 1px solid var(--cor-borda); text-align: right; }
  .tab-fin th:first-child, .tab-fin td:first-child { text-align: left; }
  .tab-fin-rolagem { overflow-x: auto; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .cat-linha { display: flex; align-items: center; gap: var(--espaco-2); padding: 8px 0; border-bottom: 1px solid var(--cor-borda); }
  .cat-linha .n { flex: 1; min-width: 0; }
  .cat-linha small { color: var(--cor-texto-suave); display: block; }
  .cartoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--espaco-2); margin-bottom: var(--espaco-3); }
  .kpi { padding: var(--espaco-3); border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .kpi span { display: block; font-size: var(--tamanho-pequeno); color: var(--cor-texto-suave); }
  .kpi strong { display: block; margin-top: 2px; font-size: 1.25rem; font-variant-numeric: tabular-nums; }
  .kpi small { display: block; margin-top: 2px; color: var(--cor-texto-suave); }
  .kpi.entrada strong { color: var(--cor-ok); }
  .kpi.saida strong { color: var(--cor-perigo); }
  .kpi.negativo strong { color: var(--cor-perigo); }
  .grafico { display: flex; align-items: stretch; gap: 2px; height: 150px; padding: var(--espaco-2); margin-bottom: var(--espaco-3); border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); overflow-x: auto; }
  .col-dia { flex: 1 0 14px; min-width: 14px; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; cursor: default; }
  .col-dia .barra-e, .col-dia .barra-s { width: 70%; min-height: 0; }
  .col-dia .barra-e { background: var(--cor-ok); border-radius: 3px 3px 0 0; margin-top: auto; }
  .col-dia .barra-s { background: var(--cor-perigo); border-radius: 0 0 3px 3px; margin-bottom: auto; }
  .col-dia .meio { flex: none; width: 100%; height: 1px; background: var(--cor-borda); }
  .col-dia .metade { flex: 1; display: flex; flex-direction: column; width: 100%; align-items: center; }
  .col-dia .metade.baixo { justify-content: flex-start; }
  .col-dia .metade.cima { justify-content: flex-end; }
  .col-dia.hoje { background: var(--cor-destaque); border-radius: 4px; }
  .legenda { display: flex; gap: var(--espaco-3); margin: -6px 0 var(--espaco-3); font-size: var(--tamanho-mini); color: var(--cor-texto-suave); }
  .legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 4px; }
  .tabela-rolagem { overflow-x: auto; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .tabela { width: 100%; border-collapse: collapse; font-size: var(--tamanho-pequeno); font-variant-numeric: tabular-nums; }
  .tabela th, .tabela td { padding: 8px 10px; text-align: right; white-space: nowrap; border-bottom: 1px solid var(--cor-borda); }
  .tabela th:first-child, .tabela td:first-child { text-align: left; }
  .tabela th { position: sticky; top: 0; background: var(--cor-superficie); color: var(--cor-texto-suave); font-weight: 600; }
  .tabela tr.hoje td { background: var(--cor-destaque); }
  .tabela tr.vazio-dia td { color: var(--cor-texto-suave); }
  .pos { color: var(--cor-ok); } .neg { color: var(--cor-perigo); }
  .lanc { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px var(--espaco-3); align-items: center; padding: var(--espaco-3); margin-bottom: var(--espaco-2); border: 1px solid var(--cor-borda); border-left: 4px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .lanc.atrasado { border-left-color: var(--cor-perigo); }
  .lanc.aberto { border-left-color: var(--st-em_espera); }
  .lanc.pago { border-left-color: var(--cor-ok); }
  .lanc strong, .lanc .desc { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lanc .valor { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
  .lanc .valor.entrada { color: var(--cor-ok); }
  .lanc .meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 4px; font-size: var(--tamanho-pequeno); color: var(--cor-texto-suave); }
  .lanc .meta .botao { min-height: 36px; padding: 0 12px; }
  .lanc .meta .espaco { flex: 1; }

.cx-linha { display: flex; justify-content: space-between; gap: var(--espaco-2); padding: 6px 0; border-bottom: 1px solid var(--cor-borda); }
  .cx-linha:last-of-type { border-bottom: 0; }
  .cx-modos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; margin-bottom: var(--espaco-3); border-radius: var(--raio); background: var(--cor-destaque); }
  .cx-modo { min-height: 38px; border: 0; border-radius: 8px; background: transparent; color: var(--cor-texto-suave); font: inherit; font-size: var(--tamanho-pequeno); cursor: pointer; }
  .cx-modo[aria-pressed="true"] { background: var(--cor-superficie); color: var(--cor-texto); font-weight: 600; box-shadow: 0 1px 3px var(--sombra); }
  .cx-dia { display: flex; align-items: center; gap: var(--espaco-2); margin-bottom: var(--espaco-3); }
  .cx-dia .rotulo { flex: 1; text-align: center; font-weight: 600; min-height: var(--altura-toque); display: grid; place-items: center; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .cx-acoes { display: flex; flex-wrap: wrap; gap: var(--espaco-2); margin-bottom: var(--espaco-3); }
  .cx-acoes .botao { flex: 1 1 150px; }
  .rec { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: var(--espaco-3); align-items: center; padding: var(--espaco-2) var(--espaco-3); margin-bottom: var(--espaco-2); border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .rec .h { color: var(--cor-texto-suave); font-variant-numeric: tabular-nums; }
  .rec strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
  .rec .v { font-weight: 700; font-variant-numeric: tabular-nums; }
  .pend { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px var(--espaco-3); padding: var(--espaco-3); margin-bottom: var(--espaco-2); border: 1px solid var(--cor-borda); border-left: 4px solid var(--st-em_espera); border-radius: var(--raio); background: var(--cor-superficie); }
  .pend.velha { border-left-color: var(--cor-perigo); }
  .pend .valor { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
  .pend .meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 4px; font-size: var(--tamanho-pequeno); color: var(--cor-texto-suave); }
  .pend .meta .espaco { flex: 1; }
  .forma-linha { display: grid; grid-template-columns: minmax(0, 1fr) 90px 90px auto; gap: var(--espaco-2); align-items: end; margin-bottom: var(--espaco-2); padding: var(--espaco-3); border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .forma-linha .campo { margin: 0; }
  @media (max-width: 560px) { .forma-linha { grid-template-columns: 1fr 1fr; } .forma-linha strong { grid-column: 1 / -1; } }

.pn-saudacao { margin-bottom: var(--espaco-3); color: var(--cor-texto-suave); }
  .pn-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--espaco-2); margin-bottom: var(--espaco-3); }
  .pn-alerta { display: flex; align-items: center; gap: var(--espaco-3); padding: var(--espaco-3); margin-bottom: var(--espaco-2); border: 1px solid var(--cor-perigo); border-radius: var(--raio); background: var(--cor-superficie); }
  .pn-alerta > div { flex: 1; min-width: 0; }
  .pn-alerta strong { display: block; }
  .pn-bloco { padding: var(--espaco-3); margin-bottom: var(--espaco-3); border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .pn-linha { display: flex; justify-content: space-between; gap: var(--espaco-3); padding: 7px 0; border-top: 1px solid var(--cor-borda); font-size: var(--tamanho-pequeno); }
  .pn-linha:first-of-type { border-top: 0; }
  .pn-duas { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--espaco-3); }

.ms-card { padding: var(--espaco-3); margin-bottom: var(--espaco-2); border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .ms-card header { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--espaco-2); margin-bottom: 4px; }
  .ms-card header strong { flex: 1; min-width: 0; }
  .ms-texto { margin: 8px 0; padding: 8px 10px; border-radius: 8px; background: var(--cor-destaque); font-size: var(--tamanho-pequeno); white-space: pre-wrap; overflow-wrap: anywhere; }
  .ms-modos { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 4px; padding: 4px; margin-bottom: var(--espaco-3); border-radius: var(--raio); background: var(--cor-destaque); }
  .ms-modo { min-height: 38px; border: 0; border-radius: 8px; background: transparent; color: var(--cor-texto-suave); font: inherit; font-size: var(--tamanho-pequeno); cursor: pointer; }
  .ms-modo[aria-pressed="true"] { background: var(--cor-superficie); color: var(--cor-texto); font-weight: 600; box-shadow: 0 1px 3px var(--sombra); }

.es-card { padding: var(--espaco-3); margin-bottom: var(--espaco-2); border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .es-card header { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--espaco-2); }
  .es-card header strong { flex: 1; min-width: 0; }

.es-modos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 4px; margin-bottom: var(--espaco-3); border-radius: var(--raio); background: var(--cor-destaque); }
  .es-modo { min-height: 38px; border: 0; border-radius: 8px; background: transparent; color: var(--cor-texto-suave); font: inherit; font-size: var(--tamanho-pequeno); cursor: pointer; }
  .es-modo[aria-pressed="true"] { background: var(--cor-superficie); color: var(--cor-texto); font-weight: 600; box-shadow: 0 1px 3px var(--sombra); }
  .et-linha { display: flex; justify-content: space-between; align-items: center; gap: var(--espaco-2); padding: 8px 0; border-bottom: 1px solid var(--cor-borda); }
  .et-compra { display: grid; grid-template-columns: minmax(0, 1fr) 70px 90px; gap: 6px; align-items: center; margin-bottom: 6px; }
  .et-compra input { min-height: 40px; width: 100%; box-sizing: border-box; }

.com-prof { padding: var(--espaco-3); margin-bottom: var(--espaco-3); border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
  .com-prof header { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espaco-2) var(--espaco-3); margin-bottom: var(--espaco-2); }
  .com-prof header strong { flex: 1; min-width: 120px; font-size: 1.05rem; }
  .com-prof .total { font-variant-numeric: tabular-nums; }
  .com-item { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto auto; gap: var(--espaco-2); align-items: center; padding: 8px 0; border-top: 1px solid var(--cor-borda); font-size: var(--tamanho-pequeno); }
  .com-item .n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .com-item .v { font-weight: 600; font-variant-numeric: tabular-nums; }

.cfg-grupo { margin-bottom: var(--espaco-4); }
  .cfg-linha { display: flex; align-items: center; justify-content: space-between; gap: var(--espaco-3); padding: var(--espaco-2) 0; border-bottom: 1px solid var(--cor-borda); }
  .cfg-linha label { flex: 1; min-width: 0; }
  .cfg-linha select, .cfg-linha input { width: 130px; flex: none; min-height: 40px; padding: 0 8px; border: 1px solid var(--cor-borda); border-radius: 8px; background: var(--cor-superficie); color: var(--cor-texto); font: inherit; }

.mais-grupo { margin-bottom: var(--espaco-4); }
  .mais-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--espaco-2); }
  .mais-item { display: flex; align-items: center; gap: var(--espaco-3); width: 100%; min-height: 56px; padding: var(--espaco-2) var(--espaco-3); text-align: left; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); color: var(--cor-texto); font: inherit; cursor: pointer; }
  .mais-item .icone { width: 22px; height: 22px; flex: none; color: var(--cor-primaria); }
  .mais-item span.texto { flex: 1; min-width: 0; }
  .mais-item small { display: block; color: var(--cor-texto-suave); }
  .mais-item[data-breve="true"] { cursor: default; opacity: 0.75; }