/* Estilos base */
.relatorio-container {
    max-width: 600px;
    margin: auto;
    background: #f9fcff;
    border: 2px solid #dbe9f4;
    border-radius: 12px;
    padding: 20px;
    font-family: 'Segoe UI', sans-serif;
    box-shadow: 0 0 8px rgba(0,0,0,0.05);
}

.relatorio-titulo {
    text-align: center;
    font-size: 1.5em;
    color: #1a2c42;
    margin-bottom: 5px;
}

.relatorio-subtitulo {
    text-align: center;
    color: #5b6e87;
}

/* Estilo para inputs monetários reduzidos e alinhados à direita */
.valor-input {
    text-align: right;
    width: 50%;
    margin-left: auto;
}

.valor-input.readonly {
    background: #eef4f8;
}

/* Elementos de formulário */
.opcoes-container, .campo-item {
    margin: 15px 0;
}

.opcao-item, .campo-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.separador {
    margin: 20px 0;
    border: none;
    border-top: 1px solid #cfdde8;
}

/* Botões */
.botoes-container {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 25px 0;
}

.botao {
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 4px;
}

.botao-primario {
    background: #4b79a1;
    color: white;
    border: none;
}

.botao-secundario {
    border: 1px solid #999;
    background: white;
}

/* Rodapé */
.rodape {
    border-top: 1px solid #d5e2ed;
    padding-top: 15px;
    font-size: 0.9em;
    color: #1a2c42;
}

.nota-rodape {
    font-size: 0.8em;
    color: #6c7a89;
    margin-top: 10px;
}

/* Versão do plugin */
.plugin-version {
    font-size: 12px;
    opacity: 0.6;
    float: left;
    margin-top: 10px;
}

/* Estilos para impressão */
@media print {
    @page {
        margin: 0;
        size: A4 portrait;
    }

    body {
        margin: 0;
        padding: 0;
    }

    .no-print {
        display: none !important;
    }

    .print-only {
        display: block !important;
    }

    #investimentos-imoveis-wrapper {
        page-break-before: avoid;
        page-break-after: avoid;
        page-break-inside: avoid;
        margin: 0 auto;
        width: 100%;
    }
}

/* Estilo padrão para títulos de secção */
.titulo-centralizado {
    color: #1a2c42;
    text-align: center;
    font-size: 1.2em;
    margin: 20px 0 10px 0;
}
/* --- Estilos para visualização mobile --- */
@media screen and (max-width: 768px) {
  .bloco, .linha, .campo {
    display: block;
    width: 100% !important;
    margin-bottom: 10px;
  }

  .titulo-relatorio {
    text-align: center;
    font-size: 18px;
  }

  .botoes {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  input, select, textarea, .resultado {
    width: 100% !important;
    font-size: 16px;
  }

  .relatorio-final, .valores-auxiliares {
    padding: 10px;
    border-radius: 12px;
    box-shadow: 0 0 8px rgba(0,0,0,0.1);
  }

  button {
    min-height: 44px;
    font-size: 16px;
  }
}

/* Estilo responsivo simples para mobile */
@media screen and (max-width: 768px) {
  .bloco, .linha, .campo {
    display: block;
    width: 100% !important;
    margin-bottom: 10px;
  }

  .titulo-relatorio {
    text-align: center;
    font-size: 18px;
  }

  .botoes {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  input, select, textarea, .resultado {
    width: 100% !important;
    font-size: 16px;
  }

  .relatorio-final, .valores-auxiliares {
    padding: 10px;
    border-radius: 12px;
    box-shadow: 0 0 8px rgba(0,0,0,0.1);
  }

  button {
    min-height: 44px;
    font-size: 16px;
  }
}
