:root{
  --green-900:#0b3d2e;
  --green-700:#116644;
  --green-500:#2aa573;
  --green-300:#87d6b2;
  --green-100:#eafdf4;
}

/* Page background and body spacing so fixed-top navbar doesn't cover content */
body{
  background-color: #f5f5f5 !important;; /* soft neutral background for comfortable reading */
  color: #083926;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Custom navbar background (used via .bg-steel in templates) */
.bg-steel{
  background: linear-gradient(90deg, var(--green-700), var(--green-500));
  border-bottom: 2px solid rgba(0,0,0,0.06);
}

.navbar-brand, .navbar-dark .navbar-nav .nav-link{
  color: #eafdf4 !important;
}

.navbar-brand:hover, .navbar-dark .navbar-nav .nav-link:hover{
  color: #f5f5f5 !important;
}

.site-header .navbar{
  box-shadow: 0 4px 14px rgba(17,102,68,0.08);
  z-index: 1030; /* ensure navbar sits above page content */
}

/* Layout helpers for left sidebar in chat page (if used) */
.left-panel{
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(0,0,0,0.02));
  border-right: 1px solid rgba(10,40,30,0.06);
  min-height: 70vh;
}

/* Form controls: visible green border and nicer focus state */
.form-control, .form-select{
  border: 2px solid var(--green-300);
  border-radius: .5rem;
  padding: .375rem .75rem;
  font-size: 0.95rem;
  height: 2rem;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  background-color: #f5f5fa;
  font-size: 0.9rem !important;
  height: 1.8rem !important;
  padding: 0.25rem 0.6rem !important;
}

.form-control:focus, .form-select:focus{
  border-color: var(--green-700);
  box-shadow: 0 0 0 0.2rem rgba(34,139,86,0.12);
  outline: none;
  background-color: #f5f5fa;
}

/* Buttons */
.btn-green {
  background: linear-gradient(90deg, var(--green-700), var(--green-500));
  border: none;
  font-size: 0.95rem;
  padding: 0.3rem 1.2rem;
  border-radius: 0.25rem;
}

.btn-green,
.btn-green:disabled,
.btn-green.disabled {
  color: #f5f5f5 !important;
}

.btn-green:hover{
  background: linear-gradient(90deg, var(--green-900), var(--green-700));
}

.active-nav {
  background-color: #f5f5f5 !important;
  color: #116644 !important;
  border-color: #f5f5f5 !important;
}

/* Smaller form and text for register/login */
.content-section {
  max-width: 400px;
  margin: 0 auto;
  font-size: 0.95rem;
}

.content-section legend {
  font-size: 1.2rem;
  font-weight: 500;
}

.form-group {
  margin-bottom: 0.8rem;
}

.border-bottom, .border-top {
  font-size: 0.95rem;
}

.card {
  background-color: #f5f5f5 !important;
  border: 1px solid rgba(0, 0, 0, 0.06);
}

/* Toast popup messages */
.text-warning {
  color: #b8860b !important;
}
.text-info {
  color: #0b3d91 !important;
}
.text-success {
  color: #0b3d91 !important;
}
.toast-container {
  max-width: 580px !important;
}
.toast {
  border: 4px solid #768C88 !important;
  border-radius: 0.5rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  background-color: #f5f5f5 !important;
}
.toast .toast-body {
  font-size: 0.9rem;
  color: var(--green-900);
}

#chatWindow,
#conversation-list {
  font-size: 0.93rem;
}

#rightPanel {
  font-size: 0.85rem;
}

#rightPanel .form-label {
  font-size: 0.85rem;
}

#rightPanel .form-select {
  font-size: 0.8rem;
}

@media (max-width: 576px) {
  #chatWindow,
  #conversation-list {
    font-size: 0.9rem;
  }

  #rightPanel .card h6,
    font-size: 0.85rem;
  }

}

