html,
body,
#root {
  height: 100%;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  font-family:
    "Poppins",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif !important;
}

body {
  display: flex;
  flex-direction: column;
}

.algolia-autocomplete {
  width: 100%;
}

nav .algolia-autocomplete {
  width: auto;
}

.algolia-autocomplete .aa-input,
.algolia-autocomplete .aa-hint {
  width: 100%;
}

.algolia-autocomplete .aa-hint {
  color: var(--color-accel-gray);
}

.algolia-autocomplete .aa-dropdown-menu {
  width: 100%;
  background-color: var(--color-accel-white);
  border: 1px solid var(--color-accel-gray);
  border-top: none;
}

.algolia-autocomplete .aa-dropdown-menu .aa-suggestion {
  cursor: pointer;
  padding: 5px 4px;
}

.algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor,
.algolia-autocomplete .aa-dropdown-menu .aa-suggestion[aria-selected="true"],
.algolia-autocomplete .aa-dropdown-menu .aa-suggestion:hover {
  background-color: var(--color-biscay-200);
  text-decoration: none;
}

.algolia-autocomplete .aa-dropdown-menu .aa-suggestion em {
  font-weight: bold;
  font-style: normal;
}

.aa-suggestions-category {
  border-bottom: 2px solid
    color-mix(in srgb, var(--color-accel-gray-lighter) 60%, transparent);
  border-top: 2px solid
    color-mix(in srgb, var(--color-accel-gray-lighter) 60%, transparent);
  padding: 6px 12px;
  color: var(--color-accel-gray);
}

/* Dark Mode Styles */
html.dark .algolia-autocomplete .aa-hint {
  color: var(--color-accel-gray-light);
}

html.dark .algolia-autocomplete .aa-dropdown-menu {
  background-color: var(--color-accel-gray-darkest);
  border: 1px solid var(--color-accel-gray-darker);
  border-top: none;
}

html.dark .algolia-autocomplete .aa-dropdown-menu .aa-suggestion {
  color: var(--color-accel-gray-light);
}

html.dark .algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor,
html.dark
  .algolia-autocomplete
  .aa-dropdown-menu
  .aa-suggestion[aria-selected="true"],
html.dark .algolia-autocomplete .aa-dropdown-menu .aa-suggestion:hover {
  background-color: var(--color-accel-gray-darker);
  text-decoration: none;
}

html.dark .algolia-autocomplete .aa-dropdown-menu .aa-suggestion em {
  color: var(--color-accel-white);
}

html.dark .aa-suggestions-category {
  border-bottom: 2px solid
    color-mix(in srgb, var(--color-accel-gray-darker) 60%, transparent);
  border-top: 2px solid
    color-mix(in srgb, var(--color-accel-gray-darker) 60%, transparent);
  color: var(--color-accel-gray-light);
}

.dz-container-outer {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  overflow: visible;
}
.dz-container-outer .dropzone-previews {
  margin-top: 2em;
  margin-right: 2em;
  opacity: 0;
}
.dz-container-outer .dz-error-message {
  opacity: 1 !important;
}

input:invalid,
select:invalid {
  border-color: var(--color-accel-burgundy-light);
}

/* EasyMDE customizations for consistent styling */
.dark .CodeMirror {
  background: inherit !important;
  color: inherit !important;
}

.no-border-simple-mde .editor-toolbar {
  border: 0;
}

.no-border-simple-mde .CodeMirror {
  border: 0;
}

/* Dark mode support for EasyMDE toolbar */
.dark .editor-toolbar {
  background: var(--color-accel-gray-darkest) !important;
  border-color: var(--color-accel-gray-darker) !important;
}

.dark .editor-toolbar a {
  color: var(--color-accel-gray-light) !important;
}

.dark .editor-toolbar a:hover,
.dark .editor-toolbar a.active {
  background: var(--color-accel-gray-darker) !important;
  border-color: var(--color-accel-gray-darker) !important;
}

.dark .editor-toolbar i.separator {
  border-left-color: var(--color-accel-gray-darker) !important;
  border-right-color: var(--color-accel-gray-darkest) !important;
}

.extension-only {
  display: none !important;
}

.browser-extension .extension-only {
  display: block !important;
}
.browser-extension .web-only {
  display: none !important;
}

/* Ensure popovers in table rows appear above subsequent rows */
table tbody tr {
  position: relative;
}

table tbody tr:has([data-popover]:not(.invisible)) {
  z-index: 40;
}
