* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: Arial, sans-serif; background: #f4f4f4; }

.login-page { display: flex; justify-content: center; align-items: center; height: 100vh; background: #2c5f2d; }
.login-box { background: white; padding: 40px; border-radius: 10px; width: 350px; }
.login-box input { width: 100%; padding: 10px; margin: 8px 0; border: 1px solid #ccc; border-radius: 5px; }
.login-box button { width: 100%; padding: 10px; background: #2c5f2d; color: white; border: none; border-radius: 5px; cursor: pointer; }

.main-header { background: #2c5f2d; padding: 15px; }
.main-header nav a { color: white; margin-right: 20px; text-decoration: none; font-weight: bold; }
.sair { float: right; }

.container { max-width: 1100px; margin: 30px auto; padding: 0 20px; }
.top-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }

.btn { padding: 10px 20px; border-radius: 5px; text-decoration: none; color: white; }
.btn-primary { background: #2c5f2d; }

.tabela { width: 100%; background: white; border-collapse: collapse; box-shadow: 0 0 10px rgba(0,0,0,0.1); }
.tabela th, .tabela td { padding: 12px; text-align: left; border-bottom: 1px solid #eee; }
.tabela th { background: #2c5f2d; color: white; }

.cards { display: flex; gap: 20px; }
.card { background: white; padding: 20px; border-radius: 8px; flex: 1; text-align: center; box-shadow: 0 0 10px rgba(0,0,0,0.1); }
.numero { font-size: 40px; color: #2c5f2d; font-weight: bold; }

.form-cadastro { background: white; padding: 30px; border-radius: 8px; display: flex; flex-direction: column; }
.form-cadastro label { margin-top: 12px; font-weight: bold; }
.form-cadastro input, .form-cadastro select, .form-cadastro textarea {
    padding: 10px; margin-top: 5px; border: 1px solid #ccc; border-radius: 5px;
}
.form-cadastro button { margin-top: 20px; }

.erro { color: red; text-align: center; margin-bottom: 10px; }

.filtro-mes { margin-bottom: 20px; }
.filtro-mes input { padding: 8px; border-radius: 5px; border: 1px solid #ccc; }

.status { padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: bold; color: white; }
.status-pago { background: green; }
.status-pendente { background: orange; }
.status-atrasado { background: red; }

.btn-mini { background: #2c5f2d; color: white; padding: 4px 8px; border-radius: 4px; text-decoration: none; font-size: 12px; }
