.conta-topo{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;
}
.conta-topo h1{font-size:1.5rem;margin:0 0 .2rem}
.botao-simples{
  border:1px solid var(--linha);border-radius:var(--raio);
  padding:.55rem 1rem;text-decoration:none;font-size:.88rem;
  color:var(--tinta-suave);background:var(--superficie);white-space:nowrap;
}
.botao-simples:hover{border-color:var(--verde);color:var(--tinta)}

.cartao-credito{
  background:var(--livre);border:1px solid #dcebcd;border-radius:var(--raio);
  padding:1.1rem 1.25rem;margin-bottom:2rem;
}
.cartao-credito .etiqueta{display:block;font-size:.75rem;color:var(--tinta-suave)}
.cartao-credito strong{font-size:1.9rem;color:var(--verde-escuro);line-height:1.2}
.cartao-credito .sub{margin:.25rem 0 0;font-size:.82rem}

.titulo-conta{font-size:1.05rem;margin:0 0 .75rem}
.vazio-conta{
  color:var(--tinta-suave);background:var(--superficie);
  border:1px solid var(--linha);border-radius:var(--raio);
  padding:1.5rem;text-align:center;margin-bottom:2rem;
}

.lista-conta{
  background:var(--superficie);border:1px solid var(--linha);
  border-radius:var(--raio);padding:0 1.25rem;margin-bottom:2rem;
}
.cartao-reserva{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  padding:.95rem 0;border-top:1px solid var(--linha);
}
.cartao-reserva:first-child{border-top:0}
.cr-info{flex:1;min-width:200px}
.cr-quando{font-size:1rem;font-weight:600}
.cr-meta{
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  font-size:.8rem;color:var(--tinta-suave);margin-top:.3rem;
}
.cr-meta a{color:var(--tinta-suave);font-family:ui-monospace,monospace}
.cr-valor{
  font-size:1.15rem;font-weight:600;font-variant-numeric:tabular-nums;
  min-width:90px;text-align:right;
}
.cr-valor.positivo{color:var(--verde-escuro)}
.cr-valor.negativo{color:#a8551f}

.etiqueta-tipo{
  padding:.1rem .45rem;border-radius:5px;font-size:.72rem;
  background:#eef0ed;color:var(--tinta-suave);
}
.tipo-Mensal,.tipo-mensal{background:#e8f0e0;color:#40651f}
.tipo-Evento,.tipo-evento{background:#f6ecdd;color:#8a6414}
.por-pagar{background:#fdf1ee;color:#a03a1c}

.historico .cr-quando{font-weight:500;font-size:.92rem}
.historico .cr-valor{font-size:1rem;color:var(--tinta-suave)}

.conta-menu{display:flex;gap:.5rem;flex-wrap:wrap}
.cartao-credito.ligacao{display:block;text-decoration:none}
.cartao-credito.ligacao:hover{border-color:var(--verde)}
.cartao-credito .sub{display:block}

/* ---- arvore: o principal a vista, o detalhe a um clique ---- */
.arvore{border-top:1px solid var(--linha)}
.arvore:first-child{border-top:0}
.arvore.solta{
  background:var(--superficie);border:1px solid var(--linha);
  border-radius:var(--raio);margin-bottom:2rem;padding:0 1.25rem;
}
.arvore summary{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  padding:.95rem 0;cursor:pointer;list-style:none;
}
.arvore summary::-webkit-details-marker{display:none}
.arvore .seta{color:var(--tinta-suave);font-size:.8rem;transition:transform .15s}
.arvore[open] .seta{transform:rotate(180deg)}
.cr-valor small{font-size:.7rem;font-weight:400;color:var(--tinta-suave)}

.ramos{padding:.25rem 0 1.1rem}
.ramo{
  display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap;
  padding:.4rem 0 .4rem .9rem;border-left:2px solid var(--linha);
  font-size:.87rem;
}
.ramo-data{min-width:150px;font-variant-numeric:tabular-nums}
.ramo-estado{color:var(--tinta-suave);font-size:.82rem}
.ramo.estado-libertada{border-left-color:#e0c68a}
.ramo.estado-revendida{border-left-color:var(--verde)}
.ramo.estado-dispensada{border-left-color:#c3cbc0;opacity:.7}
.nota-ramo{
  font-size:.8rem;color:var(--tinta-suave);margin:.8rem 0 0;padding-left:.9rem;
}

/* ---- horario fixo ---- */
.bloco-contrato{
  background:var(--superficie);border:1px solid var(--linha);
  border-radius:var(--raio);padding:1.1rem 1.35rem;margin-bottom:1.5rem;
}
/* O contrato abre como arvore: fechado mostra so o essencial. */
.bloco-contrato > summary.contrato-cabeca{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;cursor:pointer;list-style:none;
}
.bloco-contrato > summary::-webkit-details-marker{display:none}
.bloco-contrato[open] > summary.contrato-cabeca{
  padding-bottom:.9rem;border-bottom:1px solid var(--linha);margin-bottom:.2rem;
}
.bloco-contrato > summary .seta{
  color:var(--tinta-suave);font-size:.8rem;transition:transform .15s;
}
.bloco-contrato[open] > summary .seta{transform:rotate(180deg)}

.accoes-contrato{
  display:flex;gap:.6rem;align-items:flex-start;flex-wrap:wrap;
  margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--linha);
}
.cc-titulo{font-size:1.1rem;font-weight:600}
.cc-meta{font-size:.85rem;color:var(--tinta-suave);margin-top:.2rem}
.cc-horario{color:var(--verde-escuro);font-weight:600}

.terminar summary{list-style:none;cursor:pointer;display:inline-block}
.terminar summary::-webkit-details-marker{display:none}
.caixa-terminar{
  margin-top:.6rem;background:#fdf5f2;border:1px solid #f0cfc2;
  border-radius:8px;padding:.9rem 1rem;max-width:340px;font-size:.85rem;
}
.caixa-terminar p{margin:0 0 .75rem;line-height:1.5}
.botao-perigo{
  background:#c4562a;color:#fff;border:0;border-radius:8px;
  padding:.55rem 1rem;font:inherit;font-size:.85rem;cursor:pointer;
}
.botao-perigo:hover{background:#a8471f}

.mes-contrato{border-bottom:1px solid #f2f4f1}
.mes-contrato summary{
  display:flex;align-items:center;gap:.75rem;cursor:pointer;
  padding:.7rem 0;list-style:none;font-size:.9rem;
}
.mes-contrato summary::-webkit-details-marker{display:none}
.mc-nome{font-weight:600;min-width:130px}
.mc-info{flex:1;color:var(--tinta-suave);font-size:.82rem}

.linha-data{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  padding:.4rem 0 .4rem .9rem;margin-bottom:.2rem;
  border-left:2px solid var(--linha);font-size:.87rem;
}
.ld-data{min-width:110px;font-variant-numeric:tabular-nums}
.ld-estado{flex:1;color:var(--tinta-suave);font-size:.82rem}
.ld-accao form{margin:0}
.linha-data.estado-libertada{border-left-color:#e0c68a;background:#fdfaf3}
.linha-data.estado-revendida{border-left-color:var(--verde);background:#f6fbf1}
.linha-data.estado-dispensada{border-left-color:#c3cbc0;opacity:.65}
.nota-contrato{font-size:.8rem;color:var(--tinta-suave);margin:.9rem 0 0}
.folha-mes{padding:.6rem 0 .8rem .9rem}
.form-folha{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:0}
.form-folha label{margin:0;font-size:.82rem;display:flex;align-items:center;gap:.5rem}
.form-folha input{width:70px;margin:0;padding:.4rem .5rem;font-size:.85rem}

.cr-saldo{
  min-width:90px;text-align:right;font-size:.85rem;color:var(--tinta-suave);
  font-variant-numeric:tabular-nums;
}
.form-transferir{padding-left:.9rem;max-width:380px}
.separador{border:0;border-top:1px solid var(--linha);margin:1.5rem 0 1rem}

@media (max-width:560px){
  .cr-valor{text-align:left;min-width:0}
  .cr-saldo{text-align:left;min-width:0}
}
