/* ============================================
   DARK GREEN THEME — Bootstrap 4 Override
   Palette:
     Background:    #0A0E0C
     Surface/Card:  #121815
     Border:        #1F2B26
     Text primary:  #E8F0EB
     Text muted:    #8FA89C
     Accent:        #34D399 (emerald)
     Accent hover:  #059669
     Negative:      #E5484D
   ============================================ */

/* --- Global --- */
body {
  background-color: #0A0E0C !important;
  color: #E8F0EB !important;
}

hr {
  border-color: #1F2B26 !important;
}

a {
  color: #34D399;
}
a:hover {
  color: #059669;
}

/* --- Typography --- */
.text-muted {
  color: #8FA89C !important;
}

h1, h2, h3, h4, h5, h6 {
  color: #E8F0EB;
}

small {
  color: #8FA89C;
}

.lead {
  color: #E8F0EB;
}

/* --- Cards --- */
.card {
  background-color: #121815 !important;
  border-color: #1F2B26 !important;
  color: #E8F0EB !important;
}

.card-body {
  background-color: #121815;
  color: #E8F0EB;
}

.card-title {
  color: #E8F0EB;
}

/* --- Navbar --- */
.navbar {
  background-color: #0D1210 !important;
}

.navbar-dark .navbar-nav .nav-link {
  color: #8FA89C !important;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
  color: #34D399 !important;
}

.navbar-dark .navbar-toggler {
  border-color: #1F2B26;
}

.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(232, 240, 235, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* --- Buttons --- */
.btn-primary {
  background-color: #34D399 !important;
  border-color: #34D399 !important;
  color: #0A0E0C !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: #059669 !important;
  border-color: #059669 !important;
  color: #0A0E0C !important;
}

.btn-outline-primary {
  color: #34D399 !important;
  border-color: #34D399 !important;
  background-color: transparent !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: #34D399 !important;
  border-color: #34D399 !important;
  color: #0A0E0C !important;
}

.btn-success {
  background-color: #34D399 !important;
  border-color: #34D399 !important;
  color: #0A0E0C !important;
}

.btn-success:hover,
.btn-success:focus {
  background-color: #059669 !important;
  border-color: #059669 !important;
  color: #0A0E0C !important;
}

.btn-info {
  background-color: #1F2B26 !important;
  border-color: #2A3D33 !important;
  color: #34D399 !important;
}

.btn-info:hover,
.btn-info:focus {
  background-color: #2A3D33 !important;
  border-color: #34D399 !important;
  color: #34D399 !important;
}

.btn-outline-info {
  color: #34D399 !important;
  border-color: #1F2B26 !important;
  background-color: transparent !important;
}

.btn-outline-info:hover,
.btn-outline-info:focus {
  background-color: #1F2B26 !important;
  border-color: #34D399 !important;
  color: #34D399 !important;
}

.btn-secondary {
  background-color: #1F2B26 !important;
  border-color: #1F2B26 !important;
  color: #E8F0EB !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: #2A3D33 !important;
  border-color: #2A3D33 !important;
  color: #E8F0EB !important;
}

.btn-outline-secondary {
  color: #8FA89C !important;
  border-color: #1F2B26 !important;
}

.btn-outline-secondary:hover {
  background-color: #1F2B26 !important;
  color: #E8F0EB !important;
}

/* --- Forms --- */
.form-control {
  background-color: #0D1210 !important;
  border-color: #1F2B26 !important;
  color: #E8F0EB !important;
}

.form-control:focus {
  background-color: #0D1210 !important;
  border-color: #34D399 !important;
  color: #E8F0EB !important;
  box-shadow: 0 0 0 0.2rem rgba(52, 211, 153, 0.25) !important;
}

.form-control::placeholder {
  color: #8FA89C !important;
}

.form-control-plaintext {
  color: #E8F0EB !important;
}

.form-check-input {
  background-color: #0D1210 !important;
  border-color: #1F2B26 !important;
}

.form-check-input:checked {
  background-color: #34D399 !important;
  border-color: #34D399 !important;
}

.form-check-label {
  color: #E8F0EB;
}

.col-form-label {
  color: #E8F0EB !important;
}

.custom-select {
  background-color: #0D1210 !important;
  border-color: #1F2B26 !important;
  color: #E8F0EB !important;
}

.custom-select:focus {
  border-color: #34D399 !important;
  box-shadow: 0 0 0 0.2rem rgba(52, 211, 153, 0.25) !important;
}

.custom-file-input:focus ~ .custom-file-label {
  border-color: #34D399 !important;
  box-shadow: 0 0 0 0.2rem rgba(52, 211, 153, 0.25) !important;
}

.custom-file-label {
  background-color: #0D1210 !important;
  border-color: #1F2B26 !important;
  color: #8FA89C !important;
}

/* --- Dropdowns --- */
.dropdown-menu {
  background-color: #121815 !important;
  border-color: #1F2B26 !important;
}

.dropdown-item {
  color: #E8F0EB !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: #1F2B26 !important;
  color: #34D399 !important;
}

.dropdown-item:active {
  background-color: #34D399 !important;
  color: #0A0E0C !important;
}

/* --- Alerts --- */
.alert-warning {
  background-color: rgba(255, 193, 7, 0.15) !important;
  border-color: rgba(255, 193, 7, 0.3) !important;
  color: #ffc107 !important;
}

.alert-danger {
  background-color: rgba(229, 72, 77, 0.15) !important;
  border-color: rgba(229, 72, 77, 0.3) !important;
  color: #E5484D !important;
}

.alert-success {
  background-color: rgba(52, 211, 153, 0.15) !important;
  border-color: rgba(52, 211, 153, 0.3) !important;
  color: #34D399 !important;
}

.alert-info {
  background-color: rgba(52, 211, 153, 0.1) !important;
  border-color: rgba(52, 211, 153, 0.2) !important;
  color: #34D399 !important;
}

/* --- Badges --- */
.badge-primary {
  background-color: #34D399 !important;
  color: #0A0E0C !important;
}

.badge-success {
  background-color: rgba(52, 211, 153, 0.2) !important;
  color: #34D399 !important;
}

.badge-info {
  background-color: rgba(52, 211, 153, 0.1) !important;
  color: #8FA89C !important;
}

.badge-warning {
  background-color: rgba(255, 193, 7, 0.2) !important;
  color: #ffc107 !important;
}

.badge-danger {
  background-color: rgba(229, 72, 77, 0.2) !important;
  color: #E5484D !important;
}

.badge-secondary {
  background-color: #1F2B26 !important;
  color: #8FA89C !important;
}

/* --- Pagination --- */
.page-item.active .page-link {
  background-color: #34D399 !important;
  border-color: #34D399 !important;
  color: #0A0E0C !important;
}

.page-link {
  background-color: #121815 !important;
  border-color: #1F2B26 !important;
  color: #34D399 !important;
}

.page-link:hover {
  background-color: #1F2B26 !important;
  border-color: #34D399 !important;
  color: #34D399 !important;
}

.page-item.disabled .page-link {
  background-color: #0D1210 !important;
  border-color: #1F2B26 !important;
  color: #1F2B26 !important;
}

/* --- Progress bars --- */
.progress {
  background-color: #1F2B26 !important;
}

.progress-bar.bg-danger {
  background-color: #E5484D !important;
}

.progress-bar.bg-info {
  background-color: #34D399 !important;
}

.progress-bar.bg-secondary {
  background-color: #8FA89C !important;
}

.progress-bar.bg-success {
  background-color: #34D399 !important;
}

.progress-bar.bg-warning {
  background-color: #ffc107 !important;
}

/* --- Table --- */
.table {
  color: #E8F0EB;
  background-color: #121815;
}

.table-bordered {
  border-color: #1F2B26;
}

.table td,
.table th {
  border-color: #1F2B26;
}

/* --- Modal --- */
.modal-content {
  background-color: #121815 !important;
  border-color: #1F2B26 !important;
  color: #E8F0EB;
}

.modal-header {
  border-color: #1F2B26 !important;
}

.modal-footer {
  border-color: #1F2B26 !important;
}

.modal-title {
  color: #E8F0EB;
}

.close {
  color: #8FA89C;
  text-shadow: none;
}

.close:hover {
  color: #E8F0EB;
}

/* --- List group --- */
.list-group-item {
  background-color: #121815 !important;
  border-color: #1F2B26 !important;
  color: #E8F0EB;
}

/* --- Tooltip / Popover --- */
.tooltip-inner {
  background-color: #121815;
  color: #E8F0EB;
}

.popover {
  background-color: #121815;
  border-color: #1F2B26;
}

/* --- Text utility color overrides --- */
.text-primary {
  color: #34D399 !important;
}

.text-success {
  color: #34D399 !important;
}

.text-danger {
  color: #E5484D !important;
}

.text-info {
  color: #34D399 !important;
}

.text-warning {
  color: #ffc107 !important;
}

.text-dark {
  color: #E8F0EB !important;
}

.text-body {
  color: #E8F0EB !important;
}

/* --- Background utility --- */
.bg-light {
  background-color: #0D1210 !important;
}

.bg-white {
  background-color: #121815 !important;
}

.bg-primary {
  background-color: #34D399 !important;
}

.bg-success {
  background-color: #34D399 !important;
}

.bg-danger {
  background-color: #E5484D !important;
}

.bg-info {
  background-color: #1F2B26 !important;
}

.bg-warning {
  background-color: #ffc107 !important;
}

.bg-secondary {
  background-color: #1F2B26 !important;
}

/* --- Input group --- */
.input-group-text {
  background-color: #121815 !important;
  border-color: #1F2B26 !important;
  color: #8FA89C !important;
}

/* --- Breadcrumb --- */
.breadcrumb {
  background-color: #121815 !important;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: #8FA89C;
}

/* --- Accordion --- */
.accordion .card-header {
  background-color: #121815;
  border-color: #1F2B26;
}

/* --- Scrollbar (Webkit) --- */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #0A0E0C;
}

::-webkit-scrollbar-thumb {
  background: #1F2B26;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #34D399;
}

/* --- Selection --- */
::selection {
  background: rgba(52, 211, 153, 0.3);
  color: #E8F0EB;
}
