:root {
  --primary-color: #2c3e50;
  --secondary-color: #3498db;
  --accent-color: #e74c3c;
  --light-color: #ecf0f1;
  --dark-color: #2c3e50;
  --success-color: #2ecc71;
  --warning-color: #f39c12;
  --danger-color: #e74c3c;
}

body {
  font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.navbar-dark.bg-primary {
  background-color: var(--primary-color) !important;
}

.btn-primary {
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
}

.btn-primary:hover {
  background-color: #2980b9;
  border-color: #2980b9;
}

.alert-priority-high {
  border-left: 4px solid var(--danger-color);
}

.alert-priority-medium {
  border-left: 4px solid var(--warning-color);
}

.alert-priority-low {
  border-left: 4px solid var(--success-color);
}

.footer {
  margin-top: auto;
}

/* Dashboard styles */
.dashboard-card {
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.dashboard-card:hover {
  transform: translateY(-5px);
}

.card-stats {
  padding: 20px;
  text-align: center;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.card-stats-admin {
  background-color: rgba(231, 76, 60, 0.1);
}

.card-stats-board {
  background-color: rgba(241, 196, 15, 0.1);
}

.card-stats-committee {
  background-color: rgba(52, 152, 219, 0.1);
}

.card-stats-member {
  background-color: rgba(46, 204, 113, 0.1);
}

/* Document category badges */
.badge-bylaws {
  background-color: #3498db;
}

.badge-financials {
  background-color: #2ecc71;
}

.badge-minutes {
  background-color: #9b59b6;
}

.badge-rules {
  background-color: #e67e22;
}

.badge-other {
  background-color: #7f8c8d;
}

/* Event styles */
.event-card {
  border-left: 5px solid var(--secondary-color);
  margin-bottom: 15px;
}

.event-past {
  opacity: 0.7;
}

.event-date {
  font-weight: bold;
  color: var(--secondary-color);
}

.event-header-image {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Responsive tables */
@media (max-width: 768px) {
  .table-responsive-cards {
    border: 0;
  }

  .table-responsive-cards thead {
    display: none;
  }

  .table-responsive-cards tr {
    display: block;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 10px;
  }

  .table-responsive-cards td {
    display: block;
    text-align: right;
    border: none;
    position: relative;
    padding-left: 50%;
  }

  .table-responsive-cards td:before {
    content: attr(data-label);
    position: absolute;
    left: 10px;
    font-weight: bold;
  }
}
