﻿/* Shield contrast layer â€” loaded after the Vaultwarden bundle and brand theme. */
:root,
.theme_light,
.theme_dark {
  color-scheme: dark !important;
}

html, body, app-root, app-vault, app-user-layout, app-organization-layout {
  color: #f6ead6 !important;
  background-color: #050505 !important;
}

/* Core surfaces throughout the vault. */
.tw-bg-background,
.tw-bg-background-alt,
.tw-bg-background-secondary,
.tw-bg-secondary-50,
.tw-bg-secondary-100,
.tw-bg-secondary-200,
.tw-bg-white,
[class*="tw-bg-background"],
bit-card,
bit-dialog,
.card,
table,
thead,
tbody,
tr,
td,
th {
  color: #f6ead6 !important;
  background-color: rgba(8, 8, 8, .92) !important;
  border-color: rgba(212, 166, 79, .32) !important;
}

header, nav, aside,
bit-nav-logo,
bit-nav-item,
app-header,
app-navigation,
[role="navigation"] {
  color: #f6ead6 !important;
  background-color: rgba(3, 3, 3, .96) !important;
  border-color: rgba(212, 166, 79, .3) !important;
}

/* Text hierarchy. */
.tw-text-main,
.tw-text-default,
.tw-text-secondary-700,
.tw-text-secondary-800,
.tw-text-secondary-900,
p, label, legend, dt, dd, li, td, th {
  color: #f6ead6 !important;
}

.tw-text-muted,
.tw-text-secondary-500,
.tw-text-secondary-600,
small,
.text-muted {
  color: #cdbb9b !important;
}

h1, h2, h3, h4, h5, h6,
.tw-text-primary-600,
.tw-text-primary-700 {
  color: #f1ce86 !important;
}

a, a:visited,
button.tw-text-primary-600,
[class*="tw-text-primary"] {
  color: #f0c66f !important;
}

a:hover, button.tw-text-primary-600:hover {
  color: #fff0bd !important;
}

/* Fields and controls. */
input, textarea, select,
[contenteditable="true"],
bit-form-control input,
bit-form-control textarea,
bit-form-control select {
  color: #fff8eb !important;
  background: #090909 !important;
  border: 1px solid rgba(230, 187, 99, .72) !important;
  box-shadow: inset 0 1px 10px rgba(0, 0, 0, .8) !important;
}

input::placeholder,
textarea::placeholder {
  color: #a8977b !important;
  opacity: 1 !important;
}

input:focus, textarea:focus, select:focus,
[contenteditable="true"]:focus {
  color: #fff !important;
  border-color: #f2cf84 !important;
  outline: 2px solid rgba(180, 18, 23, .75) !important;
  box-shadow: 0 0 0 4px rgba(212, 166, 79, .18), 0 0 24px rgba(176, 15, 20, .35) !important;
}

input[type="checkbox"], input[type="radio"] {
  accent-color: #b61318 !important;
}

/* Primary, danger and secondary actions. */
button[type="submit"],
button[class*="tw-bg-primary"],
.btn-primary,
bit-button button[class*="tw-bg-primary"] {
  color: #fff8e9 !important;
  background: linear-gradient(135deg, #c11b20, #810a0e 58%, #500407) !important;
  border: 1px solid #dda94c !important;
  text-shadow: 0 1px 2px #000 !important;
  box-shadow: 0 9px 24px rgba(112, 0, 5, .42), inset 0 1px rgba(255, 255, 255, .13) !important;
}

button[class*="tw-bg-secondary"],
.btn-secondary,
bit-button button:not([class*="tw-bg-primary"]) {
  color: #f4dfba !important;
  background-color: #15120e !important;
  border-color: rgba(212, 166, 79, .58) !important;
}

button:disabled {
  color: #978b78 !important;
  background: #24211d !important;
  border-color: #524b40 !important;
  opacity: .75 !important;
}

/* Menus, popovers, dialogs and vault rows. */
[role="menu"], [role="listbox"], [role="dialog"],
ng-dropdown-panel,
.dropdown-menu,
.modal-content,
.cdk-overlay-pane > * {
  color: #f6ead6 !important;
  background: #0b0a09 !important;
  border-color: rgba(212, 166, 79, .45) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .8) !important;
}

[role="option"]:hover,
[role="menuitem"]:hover,
tr:hover,
bit-nav-item a:hover {
  color: #fff5df !important;
  background-color: rgba(143, 16, 20, .3) !important;
}

[aria-current="page"],
.active,
bit-nav-item a[class*="tw-bg-primary"] {
  color: #ffe9b8 !important;
  background-color: rgba(153, 16, 21, .52) !important;
  border-color: #d4a64f !important;
}

hr, [class*="tw-border-"] {
  border-color: rgba(212, 166, 79, .3) !important;
}

.bwi, bit-icon, svg {
  color: #e2bd70;
}

/* Keep login and footer readable against the artwork. */
body.layout_frontend:not(.shield-login-cleanup) main {
  color: #f8ecd8 !important;
  background: rgba(5, 5, 5, .95) !important;
}

body.layout_frontend main > *,
body.layout_frontend footer,
.shield-brand-footer {
  opacity: 1 !important;
}

.shield-brand-footer {
  color: #dbc9a9 !important;
  background: #050505 !important;
}

@media (prefers-contrast: more) {
  input, textarea, select, button { border-width: 2px !important; }
}

/* Current Bitwarden design-token classes. */
button[buttontype="primary"],
button.tw-bg-bg-brand,
button[class*="tw-bg-bg-brand"] {
  color: #fff8e9 !important;
  background: linear-gradient(135deg, #c61c21, #870b0f 58%, #520407) !important;
  border: 1px solid #e0ad52 !important;
  text-shadow: 0 1px 2px #000 !important;
  box-shadow: 0 9px 24px rgba(112, 0, 5, .48), inset 0 1px rgba(255,255,255,.14) !important;
}

button[buttontype="secondary"],
button.tw-bg-bg-secondary,
button[class*="tw-bg-bg-secondary"] {
  color: #f4dfba !important;
  background: #15120e !important;
  border-color: rgba(224, 173, 82, .65) !important;
}

.tw-bg-bg-base,
.tw-bg-bg-secondary,
.tw-bg-bg-tertiary,
.tw-bg-bg-quaternary,
[class*="tw-bg-bg-base"],
[class*="tw-bg-bg-secondary"],
[class*="tw-bg-bg-tertiary"],
[class*="tw-bg-bg-quaternary"] {
  background-color: rgba(8, 8, 8, .94) !important;
}

.tw-text-fg-heading,
.tw-text-fg-body,
.tw-text-fg-contrast,
[class*="tw-text-fg-heading"],
[class*="tw-text-fg-body"] {
  color: #f8ecd8 !important;
}

.tw-text-fg-muted,
[class*="tw-text-fg-muted"] {
  color: #cdbb9b !important;
}

.tw-text-fg-brand,
.tw-text-fg-brand-strong,
[class*="tw-text-fg-brand"] {
  color: #efc874 !important;
}
