/* MCCSoft Vault — Brand Override CSS
   Colors sourced from mccsoft.io production
   --primary:   #4a5d8c  (steel blue)
   --secondary: #232e42  (dark navy)
   --dark:      #121721  (deep navy)
   --darker:    #0a0d14  (near-black)
   --accent:    #5d7eff  (bright blue)
   --light:     #e6e6e6  (text)
*/

/* ===== NAVBAR ===== */
.navbar,
.theme_light .navbar,
.theme_dark .navbar {
  background-color: #232e42 !important;
}

.navbar.nav-background-alt,
.theme_light .navbar.nav-background-alt,
.theme_dark .navbar.nav-background-alt {
  background-color: #1a2536 !important;
}

/* Nav link text — full opacity white */
.navbar-dark .navbar-nav .nav-link,
.theme_light .navbar .nav-item > .nav-link,
.theme_dark .navbar .nav-item > .nav-link {
  color: #e6e6e6 !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus,
.theme_light .navbar .nav-item > .nav-link:hover,
.theme_dark .navbar .nav-item > .nav-link:hover {
  color: #ffffff !important;
}

.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .active > .nav-link,
.theme_light .navbar .nav-item.active > .nav-link,
.theme_dark .navbar .nav-item.active > .nav-link {
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* Navbar brand text */
.navbar-brand,
.navbar-dark .navbar-brand {
  color: #ffffff !important;
}

/* Navbar icon button (user avatar/menu trigger) */
.navbar .tw-border-0.tw-bg-transparent {
  color: #e6e6e6 !important;
  opacity: 1 !important;
}

.navbar .tw-border-0.tw-bg-transparent:hover {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Caret icon in navbar */
.navbar .bwi-caret-down {
  color: #e6e6e6 !important;
}

/* ===== PAGE BACKGROUNDS ===== */
body,
.theme_light body,
.theme_dark body {
  background-color: #121721 !important;
  color: #e6e6e6 !important;
}

body.layout_frontend,
.theme_light body.layout_frontend,
.theme_dark body.layout_frontend {
  background-color: #121721 !important;
  color: #e6e6e6 !important;
}

/* ===== CARDS / SIDEBAR ===== */
.card,
.theme_light .card,
.theme_dark .card {
  background-color: #1a2233 !important;
  border-color: #2d3a50 !important;
  color: #e6e6e6 !important;
}

.card-header,
.theme_light .card-header,
.theme_dark .card-header {
  background-color: #1e2a3d !important;
  color: #e6e6e6 !important;
}

.card-body,
.theme_light .card-body:not(.bg-light > .card-body),
.theme_dark .card-body {
  background-color: #1a2233 !important;
  color: #e6e6e6 !important;
}

/* ===== DROPDOWN MENUS ===== */
.dropdown-menu,
.theme_light .dropdown-menu,
.theme_dark .dropdown-menu {
  background-color: #1a2233 !important;
  border-color: #2d3a50 !important;
  color: #e6e6e6 !important;
}

.dropdown-item,
.theme_light .dropdown-item,
.theme_dark .dropdown-item {
  background-color: #1a2233 !important;
  color: #e6e6e6 !important;
}

.dropdown-item:hover,
.dropdown-item:focus,
.theme_light .dropdown-item:hover,
.theme_dark .dropdown-item:hover {
  background-color: #232e42 !important;
  color: #ffffff !important;
}

/* ===== SIDEBAR GROUPINGS ===== */
.groupings .card .card-body a,
.theme_light .groupings .card .card-body a,
.theme_dark .groupings .card .card-body a {
  color: #e6e6e6 !important;
}

.groupings .card .card-body a:hover,
.theme_light .groupings .card .card-body a:hover {
  color: #ffffff !important;
}

.groupings .card h3,
.theme_light .groupings .card h3,
.theme_dark .groupings .card h3 {
  color: #8899b3 !important;
}

.groupings .card li.active > button:first-of-type,
.groupings .card li.active > div button:first-of-type,
.theme_light .groupings .card li.active > button:first-of-type,
.theme_dark .groupings .card li.active > button:first-of-type {
  color: #5d7eff !important;
}

.groupings .card #search,
.theme_light .groupings .card #search,
.theme_dark .groupings .card #search {
  background-color: #121721 !important;
  border-color: #2d3a50 !important;
  color: #e6e6e6 !important;
}

.groupings .card #search::placeholder {
  color: #6b7a94 !important;
}

/* ===== ORG NAV / TABBED NAV ===== */
.org-nav,
.theme_light .org-nav,
.theme_dark .org-nav {
  background-color: #1a2233 !important;
  border-bottom-color: #2d3a50 !important;
  color: #e6e6e6 !important;
}

.org-nav .org-name span,
.theme_light .org-nav .org-name span,
.theme_dark .org-nav .org-name span {
  color: #ffffff !important;
}

.tabbed-nav,
.theme_light .tabbed-nav,
.theme_dark .tabbed-nav {
  border-bottom-color: #2d3a50 !important;
  color: #e6e6e6 !important;
}

.org-nav .nav-tabs a:not(.active),
.tabbed-nav .nav-tabs a:not(.active),
.theme_light .org-nav .nav-tabs a:not(.active),
.theme_light .tabbed-nav .nav-tabs a:not(.active),
.theme_dark .org-nav .nav-tabs a:not(.active),
.theme_dark .tabbed-nav .nav-tabs a:not(.active) {
  color: #8899b3 !important;
}

.org-nav .nav-tabs a.active,
.tabbed-nav .nav-tabs a.active,
.theme_light .org-nav .nav-tabs a.active,
.theme_light .tabbed-nav .nav-tabs a.active,
.theme_dark .org-nav .nav-tabs a.active,
.theme_dark .tabbed-nav .nav-tabs a.active {
  border-top-color: #5d7eff !important;
  color: #5d7eff !important;
}

/* ===== NAV TABS (vault items) ===== */
.nav-tabs .nav-link.active,
.theme_light .nav-tabs .nav-link.active,
.theme_dark .nav-tabs .nav-link.active {
  background-color: #1a2233 !important;
  border-color: #2d3a50 !important;
  color: #5d7eff !important;
}

/* ===== BUTTONS — primary uses accent blue ===== */
.btn-primary,
.theme_light .btn-primary,
.theme_dark .btn-primary {
  background-color: #4a5d8c !important;
  border-color: #4a5d8c !important;
  color: #ffffff !important;
}

.btn-primary:hover:not(:disabled),
.btn-primary:active:not(:disabled),
.theme_light .btn-primary:hover:not(:disabled),
.theme_dark .btn-primary:hover:not(:disabled) {
  background-color: #5d7eff !important;
  border-color: #5d7eff !important;
  color: #ffffff !important;
}

.btn-outline-primary,
.theme_light .btn-outline-primary,
.theme_dark .btn-outline-primary {
  border-color: #4a5d8c !important;
  color: #5d7eff !important;
}

.btn-outline-primary:hover:not(:disabled),
.btn-outline-primary:active,
.theme_light .btn-outline-primary:hover:not(:disabled),
.theme_dark .btn-outline-primary:hover:not(:disabled) {
  background-color: #4a5d8c !important;
  border-color: #4a5d8c !important;
  color: #ffffff !important;
}

/* ===== LINKS ===== */
a,
.theme_dark a {
  color: #5d7eff !important;
}

a:hover,
.theme_dark a:hover {
  color: #7e9bff !important;
}

/* ===== INPUTS / FORM CONTROLS ===== */
.form-control,
.theme_light .form-control,
.theme_dark .form-control {
  background-color: #0e1420 !important;
  border-color: #2d3a50 !important;
  color: #e6e6e6 !important;
}

.form-control:focus,
.theme_light .form-control:focus,
.theme_dark .form-control:focus {
  border-color: #5d7eff !important;
  box-shadow: 0 0 0 .2rem rgba(93, 126, 255, .25) !important;
}

.form-control::placeholder {
  color: #6b7a94 !important;
}

/* ===== LIST GROUP (vault items list) ===== */
.list-group-item,
.theme_light .list-group-item,
.theme_dark .list-group-item {
  background-color: #1a2233 !important;
  border-color: #2d3a50 !important;
  color: #e6e6e6 !important;
}

.list-group-item:hover,
.theme_light .list-group-item:hover,
.theme_dark .list-group-item:hover {
  background-color: #1e2a3d !important;
}

/* ===== MODALS ===== */
.modal-content,
.theme_light .modal-content,
.theme_dark .modal-content {
  background-color: #1a2233 !important;
  border-color: #2d3a50 !important;
  color: #e6e6e6 !important;
}

.modal-header,
.theme_light .modal-header,
.theme_dark .modal-header {
  background-color: #232e42 !important;
  border-bottom-color: #2d3a50 !important;
}

.modal-title,
.modal-header .modal-title,
.theme_light .modal-title,
.theme_dark .modal-title {
  color: #ffffff !important;
}

/* Modal close button */
.modal-header .close,
.theme_light .modal-header .close,
.theme_dark .modal-header .close {
  color: #8899b3 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

.modal-header .close:hover {
  color: #ffffff !important;
}

/* Modal body */
.modal-body,
.theme_light .modal-body,
.theme_dark .modal-body {
  background-color: #1a2233 !important;
  color: #e6e6e6 !important;
}

/* Modal body labels */
.modal-body label,
.modal-body .form-group label {
  color: #e6e6e6 !important;
}

/* Modal body headings (e.g. "Custom fields", "Options") */
.modal-body h1,
.modal-body h2,
.modal-body h3,
.modal-body h4 {
  color: #ffffff !important;
}

/* Modal body text / general */
.modal-body .text-muted,
.modal-body .small.text-muted {
  color: #8899b3 !important;
}

.modal-body b,
.modal-body .font-weight-semibold {
  color: #c0cce0 !important;
}

/* Modal inputs — inherit the global form-control styles */
.modal-body .form-control,
.modal-body select.form-control {
  background-color: #0e1420 !important;
  border-color: #2d3a50 !important;
  color: #e6e6e6 !important;
}

.modal-body .form-control:focus {
  border-color: #5d7eff !important;
  box-shadow: 0 0 0 .2rem rgba(93, 126, 255, .25) !important;
}

/* Modal input-group append buttons */
.modal-body .input-group-append .btn-outline-secondary,
.modal-body .btn-outline-secondary {
  background-color: transparent !important;
  border-color: #2d3a50 !important;
  color: #8899b3 !important;
}

.modal-body .input-group-append .btn-outline-secondary:hover,
.modal-body .btn-outline-secondary:hover {
  border-color: #4a5d8c !important;
  color: #e6e6e6 !important;
}

/* Modal icon links (generate password, check exposed, etc.) */
.modal-body .bwi-icon-above-input,
.modal-body a .bwi {
  color: #8899b3 !important;
}

.modal-body .bwi-icon-above-input:hover,
.modal-body a:hover .bwi {
  color: #5d7eff !important;
}

/* Modal inline links */
.modal-body a.d-inline-block,
.modal-body a.d-block {
  color: #5d7eff !important;
}

.modal-body a.d-inline-block:hover,
.modal-body a.d-block:hover {
  color: #7e9bff !important;
}

/* TOTP code display in modal */
.modal-body .totp-code {
  color: #8899b3 !important;
}

.modal-body .totp-sec {
  color: #8899b3 !important;
}

.modal-body .totp-circle-muted {
  stroke: #2d3a50 !important;
}

/* Checkbox in modal */
.modal-body .form-check-input {
  background-color: #0e1420 !important;
  border-color: #2d3a50 !important;
}

.modal-body .form-check-label {
  color: #e6e6e6 !important;
}

/* Select dropdown options */
.modal-body select option {
  background-color: #1a2233 !important;
  color: #e6e6e6 !important;
}

/* Modal footer */
.modal-footer,
.theme_light .modal-footer,
.theme_dark .modal-footer {
  background-color: #1e2a3d !important;
  border-top-color: #2d3a50 !important;
}

/* Footer cancel button (white bg, dark text) */
.modal-footer .btn-outline-secondary {
  border-color: #ced4da !important;
  color: #121721 !important;
  background-color: #ffffff !important;
}

.modal-footer .btn-outline-secondary:hover {
  border-color: #8899b3 !important;
  color: #121721 !important;
  background-color: #e6e6e6 !important;
}

/* Footer icon buttons (favorite, delete) */
.modal-footer .btn-link {
  color: #8899b3 !important;
}

.modal-footer .btn-link:hover {
  color: #5d7eff !important;
}

.modal-footer .btn-outline-danger {
  border-color: #c83522 !important;
  color: #ff6b5e !important;
}

.modal-footer .btn-outline-danger:hover {
  background-color: #c83522 !important;
  color: #ffffff !important;
}

/* Modal backdrop */
.modal-backdrop.show {
  background-color: #0a0d14 !important;
  opacity: 0.8 !important;
}

/* ===== MISC ===== */
.bg-light,
.theme_light .bg-light,
.theme_dark .bg-light {
  background-color: #121721 !important;
}

.text-muted,
.theme_light .text-muted,
.theme_dark .text-muted {
  color: #8899b3 !important;
}

/* Page header / title area */
h1, h2, h3, h4, h5, h6 {
  color: #e6e6e6;
}

/* Callout boxes */
.callout,
.theme_dark .callout {
  background-color: #1a2233 !important;
  border-color: #2d3a50 !important;
}

/* Toast notifications */
.toast {
  background-color: #232e42 !important;
  border-color: #2d3a50 !important;
  color: #e6e6e6 !important;
}

/* Footer area */
.container.my-5.text-muted.text-center {
  color: #6b7a94 !important;
}

/* User menu sidebar info section */
.tw-flex.tw-items-center.tw-px-4 {
  color: #e6e6e6 !important;
}

.tw-text-muted {
  color: #8899b3 !important;
}

.tw-text-info {
  color: #e6e6e6 !important;
}

/* Scrollbar styling for dark theme */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #121721;
}

::-webkit-scrollbar-thumb {
  background: #2d3a50;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #4a5d8c;
}

/* ===== LABELS ===== */
label,
.theme_light label,
.theme_dark label {
  color: #e6e6e6 !important;
}

/* ===== FILTER BUTTONS (vault sidebar org/collection filters) ===== */
.filter-button,
button.filter-button,
.theme_light .filter-button,
.theme_dark .filter-button {
  color: #e6e6e6 !important;
}

.filter-button:hover,
.theme_light .filter-button:hover,
.theme_dark .filter-button:hover {
  color: #ffffff !important;
}

.filter-button.active,
.theme_light .filter-button.active,
.theme_dark .filter-button.active {
  color: #5d7eff !important;
}

/* Filter button icons */
.filter-button .bwi,
.theme_light .filter-button .bwi,
.theme_dark .filter-button .bwi {
  color: inherit !important;
}

/* ===== FOOTER ===== */
.container.my-5.text-muted.text-center {
  color: #8899b3 !important;
}

.container.my-5.text-muted.text-center .small,
.container.my-5.text-muted.text-center div {
  color: #8899b3 !important;
}

/* Login page overrides */
.layout_frontend .container {
  color: #e6e6e6;
}

/* Catch-all: any remaining dark-on-dark text */
.theme_light .text-body,
.theme_dark .text-body {
  color: #e6e6e6 !important;
}

.theme_light .form-group label,
.theme_dark .form-group label,
.theme_light .control-label,
.theme_dark .control-label {
  color: #e6e6e6 !important;
}

/* Checkbox / toggle labels */
.theme_light .form-check-label,
.theme_dark .form-check-label {
  color: #e6e6e6 !important;
}

/* Small helper text under inputs */
.theme_light .form-text,
.theme_dark .form-text,
small.text-muted {
  color: #6b7a94 !important;
}

/* Table styles */
.table,
.theme_light .table,
.theme_dark .table {
  color: #e6e6e6 !important;
}

.table th,
.table td,
.theme_light .table th,
.theme_light .table td {
  border-color: #2d3a50 !important;
}

/* Vault list item names and subtitles */
.list-section-item,
.theme_light .list-section-item,
.theme_dark .list-section-item {
  color: #e6e6e6 !important;
  border-color: #2d3a50 !important;
}

.list-section-item:hover,
.theme_light .list-section-item:hover {
  background-color: #1e2a3d !important;
}

/* Ciphers list action buttons */
.list-section-item .bwi,
.theme_light .list-section-item .bwi {
  color: #8899b3 !important;
}

/* Breadcrumbs / secondary text */
.breadcrumb,
.theme_light .breadcrumb {
  background-color: transparent !important;
  color: #8899b3 !important;
}

.breadcrumb-item a {
  color: #5d7eff !important;
}
