:root {
  --color-primary:   #14649c;
  --color-primary-dark: #125a87;
  --color-secondary: #80868a;
  --color-light:     #ffffff;
}

/* Base buttons */
.btn-primary {
  background-color: var(--color-primary) !important;
  border-color:     var(--color-primary) !important;
  color:            var(--color-light);
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--color-primary-dark) !important;
  border-color:     var(--color-primary-dark) !important;
}

.btn-outline-primary {
  color:       var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  background:  transparent !important;
}
.btn-outline-primary:hover {
  background-color: var(--color-primary) !important;
  color:            var(--color-light)   !important;
}

.btn-outline-secondary {
  color:        var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
}
.btn-outline-secondary:hover {
  background-color: var(--color-secondary) !important;
  color:            var(--color-light)     !important;
}

/* Navbar & cards */
.navbar-light .navbar-nav .nav-link:hover {
  color: var(--color-primary) !important;
}
.card {
  border: none;
}
.card.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075) !important;
}

/* Form controls */
.form-control:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(20,100,156,0.25) !important;
}

/* Tables */
.table thead th {
  background-color: var(--color-primary) !important;
  color:            var(--color-light);
}
.table-hover tbody tr:hover {
  background-color: rgba(20,100,156,0.1);
}

/* Sidebar */
.sidebar {
  border-right: 1px solid #e0e0e0;
}

/* Small action buttons */
a.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.8rem;
}

/* “Back to Dashboard” button */
.back-btn {
  display:      block;
  margin:       2rem auto;
  max-width:    200px;
  padding:      0.75rem;
  text-align:   center;
  background-color: var(--color-secondary);
  color:            var(--color-light) !important;
  border-radius:    0.25rem;
  text-decoration:  none;
}
.back-btn:hover {
  background-color: #6f6f6f;
  color:            var(--color-light) !important;
}

/* Avatar initials */
.avatar-initials {
  width:             32px;
  height:            32px;
  border-radius:     50%;
  background-color:  var(--color-primary);
  color:             var(--color-light);
  display:           inline-flex;
  align-items:       center;
  justify-content:   center;
  font-size:         0.8rem;
  font-weight:       bold;
  text-transform:    uppercase;
  margin-right:      12px;
}

/* Mini‐calendar (if used) */
.mini-cal {
  background:   var(--color-light);
  padding:      10px;
  border-radius: 8px;
}
.mini-cal table {
  width:            100%;
  border-collapse:  collapse;
}
.mini-cal td,
.mini-cal th {
  width:      14.28%;
  text-align: center;
  padding:    4px;
}
.mini-cal .today {
  background: var(--color-primary);
  color:      var(--color-light);
  border-radius: 50%;
}
