/* General Modern Admin Theme */
body {
    padding-top: 70px;
    background-color: #f5f7fa; /* cor clara e neutra para melhor legibilidade */
    min-height: 100vh;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Modern Card Styling */
.card {
    border: none;
    border-radius: 0.75rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease;
}

/* Navbar Enhancement */
.navbar {
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* Table Enhancements */
.table {
    background-color: #fff;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);
}
.table thead th {
    background-color: #f8f9fa;
    border-bottom: 2px solid #e9ecef;
    font-weight: 600;
    color: #495057;
}

/* Hover effects for interactive elements */
.hover-lift { 
    transition: transform 0.2s ease, box-shadow 0.2s ease; 
}
.hover-lift:hover { 
    transform: translateY(-2px); 
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.12) !important; 
}

/* Login Page Specifics */
.login-container { 
    margin-top: 10vh; 
    margin-bottom: 5vh; 
}
.login-card { 
    border-radius: 1.2rem; 
    background: #ffffff;
}
.logo-img { 
    width: 120px; 
    height: 120px;
    object-fit: contain;
    border-radius: 50%; 
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08); 
    margin-top: -60px; 
    background: white; 
    padding: 10px; 
    border: 4px solid #fff;
}
.verification-card {
    border-radius: 1rem;
    background: #ffffff; 
}

/* Stepper Component (Project Status) */
.stepper-wrapper {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}
.stepper-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}
.stepper-item::before {
  position: absolute;
  content: "";
  border-bottom: 3px solid #dee2e6;
  width: 100%;
  top: 18px;
  left: -50%;
  z-index: 2;
}
.stepper-item::after {
  position: absolute;
  content: "";
  border-bottom: 3px solid #dee2e6;
  width: 100%;
  top: 18px;
  left: 50%;
  z-index: 2;
}
.stepper-item .step-counter {
  position: relative;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e9ecef;
  color: #6c757d;
  font-weight: bold;
  margin-bottom: 8px;
  border: 3px solid #fff;
  box-shadow: 0 0 0 1px #dee2e6;
  transition: all 0.3s ease;
}
.stepper-item.completed .step-counter {
  background-color: #198754;
  color: white;
  box-shadow: 0 0 0 1px #198754;
}
.stepper-item.completed::after,
.stepper-item.completed + .stepper-item::before {
  border-bottom: 3px solid #198754;
}
.stepper-item.active .step-counter {
  background-color: #0d6efd;
  color: white;
  box-shadow: 0 0 0 2px #0d6efd;
}
.stepper-item.rejected .step-counter {
  background-color: #dc3545;
  color: white;
  box-shadow: 0 0 0 1px #dc3545;
}
.stepper-item.rejected::after,
.stepper-item.rejected + .stepper-item::before {
  border-bottom: 3px solid #dc3545;
}
.stepper-item.returned .step-counter {
  background-color: #fd7e14;
  color: white;
  box-shadow: 0 0 0 1px #fd7e14;
}
.stepper-item:first-child::before {
  content: none;
}
.stepper-item:last-child::after {
  content: none;
}
.step-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: #495057;
    text-align: center;
}
.stepper-item.completed .step-name { color: #198754; }
.stepper-item.active .step-name { color: #0d6efd; }
.stepper-item.rejected .step-name { color: #dc3545; }
.stepper-item.returned .step-name { color: #fd7e14; }
