/* START DROP ZONE CSS */
/* --- Passing through --- */
@keyframes passing-through {
  0%   { opacity: 0; transform: translateY(40px); }
  30%,
  70%  { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(-40px); }
}

/* --- Slide in --- */
@keyframes slide-in {
  0%   { opacity: 0; transform: translateY(40px); }
  30%  { opacity: 1; transform: translateY(0); }
}

/* --- Pulse --- */
@keyframes pulse {
  0%   { transform: scale(1); }
  10%  { transform: scale(1.1); }
  20%  { transform: scale(1); }
}

/* Optional: consistent easing + better perf hints */
.passing-through,
.slide-in,
.pulse {
  animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  will-change: transform, opacity; /* helps on heavy UIs */
}

/* Accessibility: respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .passing-through,
  .slide-in,
  .pulse {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
.dropzone, .dropzone * {
  box-sizing: border-box;
}

.dropzone {
  min-height: 150px;
  border: 2px solid rgba(0, 0, 0, 0.3);
  background: white;
  padding: 20px 20px;
}
.dropzone.dz-clickable {
  cursor: pointer;
}
.dropzone.dz-clickable * {
  cursor: default;
}
.dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
  cursor: pointer;
}
.dropzone.dz-started .dz-message {
  display: none;
}
.dropzone.dz-drag-hover {
  border-style: solid;
}
.dropzone.dz-drag-hover .dz-message {
  opacity: 0.5;
}
.dropzone .dz-message {
  text-align: center;
  margin: 2em 0;
}
.dropzone .dz-message .dz-button {
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  outline: inherit;
}
.dropzone .dz-preview {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin: 16px;
  min-height: 100px;
}
.dropzone .dz-preview:hover {
  z-index: 1000;
}
.dropzone .dz-preview:hover .dz-details {
  opacity: 1;
}
.dropzone .dz-preview.dz-file-preview .dz-image {
  border-radius: 20px;
  background: #999;
  background: linear-gradient(to bottom, #eee, #ddd);
}
.dropzone .dz-preview.dz-file-preview .dz-details {
  opacity: 1;
}
.dropzone .dz-preview.dz-image-preview {
  background: white;
}
.dropzone .dz-preview.dz-image-preview .dz-details {
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  -ms-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.dropzone .dz-preview .dz-remove {
  font-size: 14px;
  text-align: center;
  display: block;
  cursor: pointer;
  border: none;
}
.dropzone .dz-preview .dz-remove:hover {
  text-decoration: underline;
}
.dropzone .dz-preview:hover .dz-details {
  opacity: 1;
}
.dropzone .dz-preview .dz-details {
  z-index: 20;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  font-size: 13px;
  min-width: 100%;
  max-width: 100%;
  padding: 2em 1em;
  text-align: center;
  color: rgba(0, 0, 0, 0.9);
  line-height: 150%;
}
.dropzone .dz-preview .dz-details .dz-size {
  margin-bottom: 1em;
  font-size: 16px;
}
.dropzone .dz-preview .dz-details .dz-filename {
  white-space: nowrap;
}
.dropzone .dz-preview .dz-details .dz-filename:hover span {
  border: 1px solid rgba(200, 200, 200, 0.8);
  background-color: rgba(255, 255, 255, 0.8);
}
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
  overflow: hidden;
  text-overflow: ellipsis;
}
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
  border: 1px solid transparent;
}
.dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
  background-color: rgba(255, 255, 255, 0.4);
  padding: 0 0.4em;
  border-radius: 3px;
}
.dropzone .dz-preview:hover .dz-image img {
  -webkit-transform: scale(1.05, 1.05);
  -moz-transform: scale(1.05, 1.05);
  -ms-transform: scale(1.05, 1.05);
  -o-transform: scale(1.05, 1.05);
  transform: scale(1.05, 1.05);
  -webkit-filter: blur(8px);
  filter: blur(8px);
}
.dropzone .dz-preview .dz-image {
  border-radius: 20px;
  overflow: hidden;
  width: 120px;
  height: 120px;
  position: relative;
  display: block;
  z-index: 10;
}
.dropzone .dz-preview .dz-image img {
  display: block;
}
.dropzone .dz-preview.dz-success .dz-success-mark {
  -webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
  -moz-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
  -ms-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
  -o-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
  animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
}
.dropzone .dz-preview.dz-error .dz-error-mark {
  opacity: 1;
  -webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
  -moz-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
  -ms-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
  -o-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
  animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
}
.dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
  pointer-events: none;
  opacity: 0;
  z-index: 500;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  margin-left: -27px;
  margin-top: -27px;
}
.dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
  display: block;
  width: 54px;
  height: 54px;
}
.dropzone .dz-preview.dz-processing .dz-progress {
  opacity: 1;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  -ms-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.dropzone .dz-preview.dz-complete .dz-progress {
  opacity: 0;
  -webkit-transition: opacity 0.4s ease-in;
  -moz-transition: opacity 0.4s ease-in;
  -ms-transition: opacity 0.4s ease-in;
  -o-transition: opacity 0.4s ease-in;
  transition: opacity 0.4s ease-in;
}
.dropzone .dz-preview:not(.dz-processing) .dz-progress {
  -webkit-animation: pulse 6s ease infinite;
  -moz-animation: pulse 6s ease infinite;
  -ms-animation: pulse 6s ease infinite;
  -o-animation: pulse 6s ease infinite;
  animation: pulse 6s ease infinite;
}
.dropzone .dz-preview .dz-progress {
  opacity: 1;
  z-index: 1000;
  pointer-events: none;
  position: absolute;
  height: 16px;
  left: 50%;
  top: 50%;
  margin-top: -8px;
  width: 80px;
  margin-left: -40px;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transform: scale(1);
  border-radius: 8px;
  overflow: hidden;
}
.dropzone .dz-preview .dz-progress .dz-upload {
  background: #333;
  background: linear-gradient(to bottom, #666, #444);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 0;
  -webkit-transition: width 300ms ease-in-out;
  -moz-transition: width 300ms ease-in-out;
  -ms-transition: width 300ms ease-in-out;
  -o-transition: width 300ms ease-in-out;
  transition: width 300ms ease-in-out;
}
.dropzone .dz-preview.dz-error .dz-error-message {
  display: block;
}
.dropzone .dz-preview.dz-error:hover .dz-error-message {
  opacity: 1;
  pointer-events: auto;
}
.dropzone .dz-preview .dz-error-message {
  pointer-events: none;
  z-index: 1000;
  position: absolute;
  display: block;
  display: none;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
  -ms-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  border-radius: 8px;
  font-size: 13px;
  top: 130px;
  left: -10px;
  width: 140px;
  background: #be2626;
  background: linear-gradient(to bottom, #be2626, #a92222);
  padding: 0.5em 1.2em;
  color: white;
}
.dropzone .dz-preview .dz-error-message:after {
  content: "";
  position: absolute;
  top: -6px;
  left: 64px;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #be2626;
}
/* END DROP ZONE CSS */
#logo {
    margin: 0 0 0 3px
}
a.button, div.button, span.button, button.button,
input[type=button],
input[type=submit] {
    display: inline-block;
    font-size: 12px;
    text-decoration: none!important;
    font-family: 'Open Sans', sans-serif;
    padding: 8px 12px;
    border-radius: 3px;
    -moz-border-radius: 3px;
    box-shadow: inset 0 0 2px #fff;
    -o-box-shadow: inset 0 0 2px #fff;
    -webkit-box-shadow: inset 0 0 2px #fff;
    -moz-box-shadow: inset 0 0 2px #fff;
    color: var(--text);
    border: 1px solid var(--border);
    background-image: -moz-linear-gradient(#ededed, #e1e1e1);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e1e1e1), to(#ededed));
    background-image: -webkit-linear-gradient(#ededed, #e1e1e1);
    background-image: -o-linear-gradient(#ededed, #e1e1e1);
    text-shadow: 1px 1px 1px #fff;
    background-color: #e1e1e1;
}
a.button:hover, div.button:hover, span.button:hover,
input[type=button]:hover,
input[type=submit]:hover {
    border: 1px solid #b0b0b0;
    background-image: -moz-linear-gradient(#e1e1e1, #ededed);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ededed), to(#e1e1e1));
    background-image: -webkit-linear-gradient(#e1e1e1, #ededed);
    background-image: -o-linear-gradient(#e1e1e1, #ededed);
    background-color: #ededed
}
a.button.delete, div.button.delete, span.button.delete, button.button.delete,
input[type=button].delete,
input[type=submit].delete {
    border-color: #FF0000 !important;
    color: #FF0000 !important;
    font-weight: bold;
}
input[type=submit].tiny,
input[type=button].tiny,
button.tiny {
    padding: 2px 4px!important
}
.mini_button {
    font-size: 10px!important;
    padding: 5px 3px 3px!important
}
img.border {
    padding: 2px;
    border: 1px solid var(--border);
    border-radius: 5px;
}
input[type=checkbox] {
    margin: 0;
    padding: 0;
    z-index: 2;
    cursor: pointer;
    outline: 0;
    opacity: 0;
    -ms-filter: "alpha(opacity=0)";
    filter: alpha(opacity=0);
    -khtml-opacity: 0;
    -moz-opacity: 0;
    width: 16px;
    height: 16px
}
.capitalize {
    text-transform: capitalize;
}
.lowercase {
    text-transform: lowercase;
}
.uppercase {
    text-transform: uppercase;
}
.custom-checkbox {
    background: url(../images/0.png);
    width: 16px;
    height: 16px;
    display: inline-block
}
fieldset .custom-checkbox {
    line-height: 24px;
    margin-top: 5px
}
.custom-checkbox.selected {
    background: url(../images/1.png)
}
.fm-refresh, .remove_option_img, .choose_option_img {
    cursor: pointer;
}
.remove_option_img {
    background-color: var(--panel-muted);
    -webkit-transition: background-color 0.25s ease-out;
    -moz-transition: background-color 0.25s ease-out;
    -o-transition: background-color 0.25s ease-out;
    transition: background-color 0.25s ease-out;
    font-size: 10px;
    line-height: 14px;
}
.remove_option_img:hover {
    background-color: var(--border-strong)
}
.fm-container {
    height: 489px;
    position: relative;
    margin-bottom: 30px;
}
#master_image_block {
    position: relative;
    width: 200px;
    height: 200px; 
}
#master_image_block img {
    max-height: 200px;
    max-width: 200px;
}
.fm-container .loading {
    position: absolute;
    z-index: 99999;
    padding: 5px;
}
.fm-filelist {
    height: 400px;
    width: 525px;
    overflow-y: scroll;
    border: 1px solid var(--border-strong);
    padding: 3px;
    margin: 5px 0;
    float: left;
    position: relative;
}
#fm-actions {
    position: absolute;
    bottom: 0px;
    background-color: #eee;
    width: 526px;
    line-height: 25px;
    padding-left: 5px;
    border: 1px solid var(--border-strong);
}
#fm-actions input {
    margin: 0 5px;
}
.fm-container #assigned_toggle {
    text-align: center;
    cursor: pointer;
    display: block;
    width: 50%;
    margin-left: 25%;
}
#cat_images .fm-container .fm-filelist > ul > li:not(:first-child),
#image .fm-container .fm-filelist > ul > li:not(:first-child) {
    margin-left: 20px;
}
.fm-container .master_image {
    margin-left: 15px;
    font-weight: 700;
    position: absolute;
    left: 525px;
}
#preview_image {
    position: absolute;
    top: 0;
    left: 0;
}
.fm-filelist>div {
    padding: 2px;
    height: 15px;
    line-height: 16px;
    clear: right
}
.fm-filelist>div>span {
    float: right
}
.fm-preview {
    margin-left: 15px;
    max-width: 200px;
    max-height: 200px;
    text-align: right;
    display: inline
}
.fm-upload {
    display: block
}
#gui_message {
    margin: 0 0 5px
}
.preauth-wrapper #gui_message {
    margin: 0
}
#gui_message .success,
#gui_message .error {
    color: var(--text-invert);
    font-size: 14px;
    padding: 4px 8px 4px 10px;
    text-align: left;
    cursor: pointer;
    min-height: 16px;
    display: flex;
    align-items: center
}
#gui_message .success::before,
#gui_message .error::before {
    font-family: FontAwesome;
    margin-right: 8px;
}
#gui_message .success::before {
    content: "\f05a";
}
#gui_message .error::before {
    content: "\f071";
}
#gui_message .error {
    background-color: var(--error)
}
#gui_message .success a, #gui_message .error a {
    color: var(--text-invert);
    text-decoration: underline;
}
#gui_message .success a:hover, #gui_message .error a:hover {
    text-decoration: none;
}
#gui_message .success {
    background-color: #1b4271
}
#gui_message .error ul {
    list-style-type: none;
    padding: 1px 0;
    margin: 0;
    font-weight: 400
}
.inline-source {
    display: none
}
.highlight {
    background-color: #ffcece!important
}
.editable,
img.checkbox {
    cursor: pointer
}
input.editable {
    cursor: text
}
.editable::after {
    font-family: FontAwesome; content: " \f040";
    visibility: hidden;
}
.editable:hover::after {
    font-family: FontAwesome; content: " \f040";
    visibility: visible;
}
#groups select.textbox {
    max-width: 200px;
}
html {
    margin: 0;
    padding: 0
}
body {
    margin: 0;
    padding: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: var(--text-muted);
    background: #ECECEC
}
body.login {
    background-color: var(--primary)
}
hr {
    height: 1px;
    border: 0;
    color: #ddd;
    background-color: #ddd
}
#header {
    padding: 5px;
    height: 30px;
    color: var(--text-invert);
    background: var(--primary);
    border-bottom: 3px solid var(--primary-accent)
}
#navigation {
    float: left;
    width: 120px;
    padding: 5px 0 0 3px;
    height: auto;
    background: var(--panel);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    color: var(--text-light)
}
#navigation a {
    color: var(--text-light)
}
#content {
    margin-left: 128px;
    height: 100%;
    min-height: 100%
}
#tab_control {
    height: 26px;
    margin-top: 10px;
    padding: 0 0 1px;
    border-bottom: 1px solid var(--border)
}
#content_body {
    background-color: var(--bg);
    padding-top: 5px;
    border-left: 1px solid var(--border)
}
#breadcrumbs {
    padding: 0;
    margin-left: 128px;
    background-color: var(--panel);
    border-bottom: 1px solid var(--border);
    border-left: 1px solid var(--border)
}
#breadcrumbs .inner {
    padding: 0;
    margin: 0
}
#breadcrumbs a {
    text-decoration: none;
    font-size: 11px;
    font-weight: 400
}
#breadcrumbs a:hover {
    text-decoration: underline
}
#breadcrumbs ul.location {
    list-style: none;
    margin: 0;
    padding: 0
}
#breadcrumbs ul.location .fa-chevron-right {
    color: var(--border)
}
#breadcrumbs ul.quick_links {
    float: right;
    padding: 0;
    margin: 0;
    list-style: none;
    border-left: 1px solid var(--border)
}
#breadcrumbs .location li {
    display: inline-block;
    padding: 5px
}
#breadcrumbs ul.quick_links li {
    float: left;
    padding: 5px 10px 5px 10px;
}
#breadcrumbs a {
    color: var(--text-light)
}
#breadcrumbs ul.quick_links li:not(:last-child) {
    border-right: 1px solid var(--border)
}
#help_menu > ul > li:last-child {
    border-right: 1px solid var(--border) !important
}
#page_content {
    padding: 0 10px 10px;
    min-height: 400px;
    margin: 10px 0 0 10px
}
#page_content h3 {
    color: var(--primary-accent);
    margin: 0 0 10px
}
#login_ssl_switch {
    float: right
}
fieldset {
    border: 0;
    padding: 0;
    margin: 20px 0;
    line-height: 23px
}
fieldset select {
    max-width: 400px
}
fieldset>legend {
    font-weight: 700;
    border-bottom: 1px solid var(--border-strong);
    background-color: var(--panel-muted);
    width: 100%;
    margin: 10px 0 1px;
    -webkit-padding-start: 0;
    -webkit-padding-end: 0;
    text-indent: 5px;
}
fieldset div.clear {
    clear: left
}
#header .user_info {
    margin-top: 0
}
#header #admin_id {
    color: #fff;
    line-height: 1
}
#header #admin_id:hover {
    color: var(--link-hover)
}
#header .user_info i,
a, .fm-refresh {
    color: var(--primary-accent);
    text-decoration: none
}
a:hover {
    color: var(--link-hover)
}
a.delete {
    color: red
}
img {
    border: 0
}
#header .user_info {
    float: right;
    font-size: 12px;
    display: flex;
    align-items: center;
    height: 30px
}
#header .btn-signout {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    margin-left: 10px;
    background: rgba(255,255,255,0.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 3px;
    font-size: 12px;
    line-height: 1;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s
}
#header .btn-signout:hover {
    background: rgba(255,255,255,0.22);
    border-color: rgba(255,255,255,0.5);
    color: #fff
}
#header .btn-signout i {
    margin-right: 3px;
    color: #fff
}
.store_open {
    color: var(--success)
}
.important,
.store_closed {
    color: var(--error)
}
#navigation div.menu {
    margin-top: 5px;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    background: var(--panel);
    border-bottom: 1px solid #ECECEC;
    padding: 5px
}
#navigation ul.submenu {
    margin: 0;
    padding: 0;
    list-style: none;
    background: var(--panel-subtle)
}
#navigation ul.submenu.hide {
    display: none
}
#navigation ul.submenu>li {
    margin-top: 0;
    padding: 5px;
    border-bottom: 1px solid #EAEAEA
}
#navigation ul.submenu>li a:hover {
    color: var(--link-hover)
}
#navigation ul.submenu>li:last-child {
    border-bottom: none
}
input.textbox[disabled] {
    color: #989797;
}
input.textbox[disabled]:hover, input.textbox[disabled]:focus {
    background-color: var(--input-bg)!important;
}
.phrases input.textbox[disabled] {
    background-color: var(--input-bg)!important;
    border: 1px solid var(--input-border);
    margin: 2px 0;
    min-height: 15px;
    width: 300px
}
.phrase_row i {
    cursor: pointer;
}
.textbox {
    background-color: var(--input-bg);
    border: 1px solid var(--input-border);
    margin: 2px 0;
    min-height: 15px;
    width: 300px
}
.textbox>option {
    margin-right: 5px
}
.textbox:focus,
.textbox:hover {
    background-color: var(--bg)
}
.textbox:focus,
textarea.textbox:focus,
select.textbox:focus,
input.textbox:focus {
    outline: none;
    box-shadow: none;
    border-color: var(--input-border-focus)
}
textarea.textbox {
    width: 500px;
    min-height: 100px
}
optgroup>option {
    padding-left: 15px
}
.tab_content input.textbox,
.tab_content select.textbox,
.tb-form input.textbox,
.tb-form select.textbox {
    width: 300px;
    box-sizing: border-box;
    padding: 2px 4px
}
.tab_content .number {
    width: 100px!important
}
.tab_content .number-right {
    width: 100px!important;
    text-align: right
}
.tab_content .number-center {
    width: 100px!important;
    text-align: center
}
div.tab {
    position: relative;
    height: 26px;
    padding: 0 8px;
    float: left;
    line-height: 27px;
    background: var(--panel-subtle);
    text-align: center;
    cursor: pointer;
    margin-right: 2px;
    border: 1px solid var(--border);
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    color: #ccc
}
div.tab>a {
    color: var(--text-light);
    text-decoration: none
}
div.tab-selected>a {
    color: #000
}
div.tab-selected {
    background-color: var(--bg)!important;
    border-color: var(--border)!important;
    border-bottom: none!important;
    background-image: none!important;
    height: 27px
}
div.tab:hover {
    background-color: var(--bg)
}
.form_control {
    padding: 5px 0
}
div.tab_content {
    margin-bottom: 10px;
    padding: 0;
    clear: right;
    zoom: 1;
    display: none
}
div.tab_content>h3,
div.tb-form>h3 {
    margin: 0 0 10px;
    color: var(--primary-accent);
    font-size: 18px
}
.tb-form {
    margin: 10px
}
.tb-form fieldset {
    border: 0
}
.tb-form fieldset > div,
div.tab_content fieldset > div {
    clear: left;
    min-height: 23px;
    padding: 0px;
    text-indent: 5px;
}
.tb-form fieldset label,
div.tab_content fieldset label {
    line-height: 23px;
    float: left;
    width: 30em;
    min-height: 23px
}
.tb-form fieldset span,
div.tab_content fieldset > span {
    width: auto
}
#disabled-zone-list div,
#enabled-zones div {
    clear: left;
    width: auto
}
div.tab_content fieldset label.narrow {
    width: 12em
}
div.tab_content label.wide {
    width: 50em
}
div.tab_content div>label.spacer:after {
    content: ''!important
}
div.module {
    width: 400px;
    padding: 5px 0;
    margin: 5px;
    clear: right
}
div.module>span.toggle {
    width: 20px;
    float: left
}
input.toggle {
    height: 16px;
    width: 16px
}
.list-footer {
    background-color: var(--bg) !important
}
.list-footer,
.list>div {
    min-height: 25px;
    clear: right;
    vertical-align: middle
}
.list>div.center {
    text-align: center;
    line-height: 30px
}
span.actions {
    float: right
}
span.actions img {
    vertical-align: middle
}
span.actions>a {
    outline: 0
}
div.tools {
    text-align: right
}
table {
    border-spacing: 1px;
    border-collapse: separate
}
td {
    padding: 0 2px
}
.clearfix:after,
.clearfix:before {
    content: " ";
    display: table
}
.clearfix:after {
    clear: both
}
.left {
    float: left
}
.right {
    float: right
}
th a .right {
    color: var(--text-muted);
    margin-right: 3px
}
thead {
    text-align: left;
    background-color: var(--panel-muted);
    height: 30px
}
thead td,
thead th {
    padding: 0 0 0 5px !important
}
fieldset>div:nth-child(even),
tbody tr:nth-child(even) td {
    background-color: var(--highlight)
}
#filemanager div div:nth-child(even) {
    background-color: var(--highlight)!important
}
tbody tr:nth-child(even) td.no-bg {
    background-color: var(--bg)
}
#filemanager #fm-wrapper div:hover {
    background-color: #f7f5ed;
}
#filemanager div div.folder {
    background-color: var(--bg) !important;
}
#filemanager hr {
    margin: 1em 0
}
.stripe div {
    text-indent: 5px !important;
}
.stripe div small {
    margin-left: 5px !important;
}
.stripe div:nth-child(odd) {
    background-color: var(--highlight)
}
.stripe div:nth-child(even) {
    background-color: var(--bg) !important
}
fieldset .checkbox {
    margin-top: 4px
}
table.collapsed {
    border-collapse: collapse;
    border: 1px solid var(--border-strong)
}
.thead,
thead td,
thead th {
    font-weight: 700;
    padding: 0 5px !important;
    border-bottom: 1px solid var(--border-strong);
    background-color: var(--panel-muted)
}
.thead.vertical {
    border-right: 1px solid var(--border-strong);
}
tbody td {
    height: 25px
}
tbody.scroll {
    height: 500px;
    overflow-x: hidden;
    overflow-y: auto
}
tfoot>tr.template {
    display: none
}
tfoot {
    border-top: 1px solid var(--border-strong)!important
}
tfoot tr {
    height: 25px
}
tfoot tr.foot td {
    border-top: 1px solid var(--border-strong)!important;
    background-color: var(--panel-muted)!important;
    font-weight: bold
}
tfoot>tr>th {
    text-align: right
}
div.pagination a, div.pagination div.current {
    padding: 5px 9px;
    border-radius: 3px;
    display:inline;
}
div.pagination div.current {
    background-color:var(--primary-accent);
    color: var(--text-invert);
    cursor: not-allowed;
}
div.pagination a {
    background-color: var(--panel-muted);
    color: var(--text-muted);
    -webkit-transition: background-color 0.25s ease-out;
    -moz-transition: background-color 0.25s ease-out;
    -o-transition: background-color 0.25s ease-out;
    transition: background-color 0.25s ease-out;
}
div.pagination a:hover {
    background-color: var(--border-strong);
}
div.pagination {
    padding: 12px 2px;
    margin: 5px 0;
    position: relative; 
    border-top: 1px solid var(--panel-muted);
}
div.pagination span {
    padding: 5px 9px;
    border-radius: 3px;
    background-color: var(--panel-muted);
    position: absolute; 
    bottom: 7px; 
    right: 0; 
}
#advanced dl {
    margin: 0;
}
#advanced dt, #advanced dd {
    float: left;
    margin: 0;
}
#advanced dt {
    clear:both;
    width: 20%;
    text-indent: 5px;
}
#advanced dd {
    width: 80%;
}
#advanced  dt:nth-of-type(even), #specs dd:nth-of-type(even), #advanced  dd:nth-of-type(even), #specs dt:nth-of-type(even) {
    background-color: var(--highlight)
}
form.note p {
    font-weight: bold;
}
.note {
    padding: 5px;
    background-color: var(--note-bg);
    border: 1px solid var(--note-border);
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    font-size: 12px;
    z-index: 50;
    margin-top: 20px;
    margin-bottom: 5px
}
.note p {
    border-bottom: 1px solid var(--note-border);
    font-size: 12px;
    margin: 0 0 4px;
    padding: 5px 0px;
}
.note textarea {
    border: 0;
    background-color: var(--note-bg);
    width: 99%;
    font-size: 12px;
    padding: 5px;
    height: 60px;
    overflow: auto;
    color: var(--text-muted);
}
.note textarea:focus {
    outline: none;
}
.note input[type=submit] {
    background: #e88e22;
    border: none;
    color: #fff;
    text-shadow: none;
    padding: 3px 9px !important;
    font-size: 12px !important;
}
.review {
    border-top: 1px dotted #999;
    margin: 10px 0;
    padding: 3px 0
}
.details {
    font-size: 10px;
    padding-top: 5px
}
.review-excerpt {
    font-size: 11px;
    color: var(--input-border-focus);
    margin-top: 2px
}
.review-meta {
    font-size: 11px;
    color: var(--input-border-focus);
    margin-top: 2px
}
.tab_notify {
    z-index: 1000;
    position: absolute;
    right: -2px;
    top: -10px;
    min-width: 10px;
    text-align: center;
    color: var(--text-invert);
    font-weight: 400;
    font-size: 10px;
    font-family: 'Open Sans', sans-serif;
    line-height: 10px;
    background: #FF0000;
    border-radius: 10px;
    padding: 3px;
}
input.save-changes {
    border: 1px solid red;
    background-color: #ffcfcf
}
#sidebar_contain {
    background-color: var(--sidebar-bg);
    border: 0 solid var(--sidebar-bg);
    border-right: 0;
    min-height: 200px;
    left: -340px;
    top: 0;
    position: fixed;
    z-index: 10;
    width: 300px;
    -webkit-box-shadow: 0 0 20px 3px rgba(0, 0, 0, 1);
    -moz-box-shadow: 0 0 20px 3px rgba(0, 0, 0, 1);
    box-shadow: 0 0 20px 3px rgba(0, 0, 0, 1)
}
#sidebar_content {
    background-color: var(--panel-subtle);
    margin: 0 5px 5px 0;
    min-height: 200px;
    padding-top: 5px
}
#sidebar_content:last-child {
    padding-bottom: 5px
}
.sidebar_content h4 {
    color: var(--text-muted);
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    font-size: 14px;
    margin: 0 0 5px
}
#sidebar_content #customer_id,
#sidebar_content #product,
#sidebar_content #search_order {
    background-color: var(--bg)
}
.sidebar_content {
    background-color: var(--input-bg);
    margin: 5px 10px 10px!important;
    padding: 5px 5px 7px 5px;
    border-radius: 3px
}
.sidebar_content form {
    display: flex;
    flex-wrap: wrap
}
.sidebar_content form h4 {
    width: 100%
}
.sidebar_content .textbox {
    font-family: 'Open Sans', sans-serif, FontAwesome;
    font-style: normal;
    font-weight: 400;
    text-decoration: inherit;
    height: 28px;
    line-height: 28px;
    text-indent: 5px;
    font-size: 12px;
    flex: 1 1 0;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid var(--input-border);
    border-right: none;
    border-radius: 3px 0 0 3px;
    margin: 0;
    float: none;
    outline: none
}
.sidebar_content .textbox:focus {
    border-color: var(--input-border-focus)
}
input.search {
    font-family: 'Open Sans', sans-serif, FontAwesome;
    font-style: normal;
    font-weight: 400;
    text-decoration: inherit;
    width: 95px;
    border: none;
    border-bottom: 1px solid #D9D9D9;
    background-color: var(--bg);
    padding: 5px;
    margin: 0 5px;
}
input.search {
    outline: none
}
.dashboard_content {
    margin-top: 10px!important;
    padding: 5px 0
}
.dashboard_content h4 {
    margin: 3px 0 8px
}
.dashboard_content table,
.dashboard_content ul {
    padding: 0;
    margin: 0
}
.dashboard_content li {
    list-style: none
}
.courier {
    font-family: "Courier New", Courier, monospace
}
#loading_content {
    text-align: center;
    margin: 150px auto
}
#loading_content i {
    color: var(--border);
    font-size: 10em
}
#option_template {
    display: none;
    visibility: hidden
}
.required-error {
    border: 1px solid red;
    background-color: #ffeded
}
.reorder-position {
    border: 2px dashed var(--border-strong);
    background-color: #cdcdcd;
    height: 18px
}
.reorder-list>tr {
    height: 25px
}
.ui-sortable-helper {
    display: table;
    background: var(--bg);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
a.handle {
    cursor: move
}
.capitalize {
    text-transform: capitalize
}
.uppercase {
    text-transform: uppercase
}
.light-category {
    color: #4c4c4c;
    font-size: 10px
}
#order_overview .order_address {
    width: 310px
}
#order_overview #shipping_address {
    float: right;
    margin-top: 0
}
#order_overview .other {
    width: 375px
}
#order_overview .other label {
    float: left;
    width: 120px;
    margin: 0;
    padding: 0
}
.preauth-body {
    margin: auto;
    width: 320px
}
.preauth-wrapper {
    background-color: var(--bg);
    padding: 0 0 6px
}
.preauth-body #logo {
    margin-top: 30px;
    padding: 20px 0 10px;
    text-align: center
}
#login-box {
    color: #6b6b6b;
    padding-left: 10px;
    padding-right: 10px
}
#login-box>h1 {
    margin: 7px 0 10px;
    padding: 10px 0 3px;
    color: var(--primary-accent);
    font-size: 18px
}
#login-box>div {
    clear: right;
    padding-bottom: 5px;
    font-weight: 700
}
#login-box>div>span {
    float: right
}
#login-box div span input {
    width: 180px
}
#login-box-foot {
    margin-top: 10px
}
#login-box-foot span {
    margin-top: 13px
}
#progress_wrapper {
    border: 1px solid #999;
    margin: 100px auto 10px auto;
    width: 350px
}
#progress_bar {
    background-color: #91d475;
    margin: 0;
    overflow: hidden;
    padding: 3px 0;
    text-align: center;
    width: 0;
    height: 10px;
}
.text-center, #newsletter_send, #elasticsearch #progress_bar_percent {
    text-align: center
}
table.fixed {
    table-layout: fixed;
}
.request {
    margin-bottom: 30px;
    border: 1px solid #ccc;
    table-layout: fixed;
}
.request tr td:nth-child(2) {
    font-family: "Courier New", Courier, monospace;
}
.request td {
    word-wrap: break-word;
    vertical-align: top;
    height: auto;
    padding: 5px;
}
.custom-phrase {
    background: #f2fff2!important
}
.request.error {
    color: red
}
table.phrases td.actions {
    background-color: var(--bg)!important
}
.received strong,
.request strong {
    display: block;
    font-family: 'Open Sans', sans-serif!important
}
.fa {
    color: var(--text-muted);
    padding: 2px
}
.fa-check,
.fa-plus-circle,
.fa-refresh,
.fa-user.registered {
    color: var(--success)
}
.fa-trash,
.fa-user.unregistered {
    color: red
}
.fa-trash.disabled {
    color: #ccc;
    cursor: pointer;
}
table td.text-center {
    text-align: center
}
table#order-builder .textbox {
    width: 100px
}
table#order-builder #ajax_name {
    width: 250px
}
table#order-builder .quantity {
    width: 45px!important;
    text-align: center
}
div#content .powered {
    text-align: center;
    padding: 15px 0;
    font-size: 14px;
    color: #333;
    background: #ececec;
    border-bottom: 1px solid var(--border);
    border-top: 1px solid var(--border);
}
div#content .powered div {
    margin: 10px;
}
div#content .powered ul {
    padding: 0;
}

div#content .powered ul li {
    list-style: none;
    display: inline;
    padding: 5px
}
div#content .powered ul li img {
    height: 50px !important;
}
.preauth-body .powered {
    text-align: center;
    padding: 7px 0;
    font-size: 12px;
    color: var(--text-invert)
}
.joyride_tour_end {
    width: 530px!important
}
.google_chart {
    width: 100%;
    height: 500px
}
.nostripe {
    background: none!important
}
legend a.delete {
    float: right;
    padding-right: 5px
}
textarea[id^='string_'] {
    width: 300px
}
input[type="submit"].go_search {
    width: 50px;
    height: 28px;
    padding: 0;
    margin: 0;
    border: 1px solid var(--input-border);
    border-left: none;
    border-radius: 0 3px 3px 0;
    background: #ddd;
    cursor: pointer;
    font-size: 12px;
    flex: 0 0 50px;
    box-sizing: border-box
}
@media screen and (max-width: 650px) and (min-width: 100px) {
    #content {
        margin-left: 4px !important
    }
    span.user_info,
    #breadcrumbs,
    div#navigation {
        display: none
    }
}
#items .download_info {
    text-align: left !important;
    font-family: courier;
    font-size: 10px
}
.link_expired, .fa-times-circle {
    color: red
}
.link_active, .fa-check-circle {
    color: green
}
.fa-times-circle {
    color: red;
    cursor: pointer;
}
.fa-check-circle {
    color: green;
    cursor: pointer;
}
.fa-exclamation-triangle {
    color: orange;
    cursor: pointer;
}
ul.quick_links li#help_menu {
    position: relative
}
ul.quick_links li#help_menu ul {
    display: none;
    position: absolute;
    background-color: var(--panel);
    padding: 0;
    right: -1px;
    margin-top: 5px;
    border: 1px solid var(--border);
    border-right: none;
}
ul.quick_links li#help_menu:hover ul {
    display: block !important
}
ul.quick_links li#help_menu ul li {
    list-style: none;
    text-align: left;
    float: left;
    border: none;
    width: 10rem;
}
ul.quick_links li#help_menu ul li:not(:last-child) {
    border-bottom: 1px solid var(--border)
}
#breadcrumbs a:hover {
    text-decoration: none;
    color: #000
}
.mail_modal {
    padding: 10px;
    width: 450px
}
.MultiFile-list {
    margin: 10px 0 0 0; 
}
.fa-sticky-note {
    color: #ffea00;
}
#database .fa-exclamation-triangle {
    color: #FF6600;
}
#database .fa-check {
    color: var(--success);
}
.row_warn {
    border: 1px solid #FF6600;
    color: #FF6600;
    padding-left: 5px;
}
.row_error {
    border: 1px solid #FF0000;
    color: #FF0000;
    padding-left: 5px;
}
#php_code {
    height: 300px;
    background: none !important;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    text-indent:0 !important;
}
#clear_cache_master {
    text-transform: uppercase;
}
table.filter td {
    background-color: transparent!important;
}

@keyframes cache_animation {
    0% {
      background-color: #ffb733;
    }
    50% {
      background-color: #fff0d3;
    }
    100% {
      background-color: #ffa500;
    }
}

#clear_cache_master.clear {
    background: #ffa500;
    animation-name: cache_animation;
    animation-duration: 1s;
    animation-iteration-count: 3;
}
#clear_cache_master.clear a {
    color: var(--text-invert);   
}
#clear_cache_master.clear:hover {
    background: #ffb733;
}
.order_status_1 {
	color:#008CBA;
}
.order_status_2 {
	color:orange;
}
.order_status_3 {
	color:#43AC6A;
}
.order_status_4,.order_status_5,.order_status_6 {
	color:#F04124;
}
.line-through {
    text-decoration: line-through;
}
.language_list .flag {
    margin: 1px;
}
.width_30 {
    width: 30%;
}
.width_40 {
    width: 40%;
}
.width_50 {
    width: 50%;
}
#filemanager p.clear {
    clear: both;
}
#fm-cropper .dimensions {
    font-family: 'Courier New', monospace;
    text-align: center;
}
.fm-item {
    float: left;
    margin: 5px 5px 30px 5px;
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    background-color: transparent !important;
    
}
.fm-item.hilighted {
    border: 5px solid red;
    margin: 0px 0px 25px 0px !important;
}
.fm-item .thumbnail {
    text-align: center;
    width: inherit;
    height: inherit;
    position: absolute;
    top: 0;
    background: none;
    overflow: hidden;
}
.fm-item .actions {
    background: rgba(255,255,255, 0.7);
    color: var(--text);
    bottom: 0px;
    position: absolute;
    height: 18px;
    font-size: 12px;
    line-height: 18px;
    display: block;
    width: inherit;
}
.fm-item .actions i.fa {
    color: var(--text);
}
.fm-item img {
    height: inherit;
}
.fm-item > a {
    color: var(--text);
    bottom: -16px;
    position: absolute;
    height: 16px;
    font-size: 10px;
    line-height: 16px;
    width: inherit;
    overflow-x: hidden;
}
.fm-item-small > a {
    font-size: 8px;
}
.folder .actions {
    background: none !important;
}
.folder .actions i.fa {
    color: var(--text);
}
.fm-item-xlarge {
    width: 500px;
    height: 500px;
}
.fm-item-large {
    width: 300px;
    height: 300px;
}
.fm-item-medium {
    width: 150px;
    height: 150px;
}
.fm-item-small {
    width: 100px;
    height: 100px;
}
.fm-item-list {
    width: 550px;
    height: 20px;
    margin: 0;
    position: relative;
    clear: left;
}
.fm-item-list .fa-plus-circle {
    position: absolute;
    right: 0px;
    color: var(--success)!important;
}
.fm-item-list .fa-trash {
    color: #ff0000!important;
}
.fm-item-list img {
    width: auto;
    height: 18px;
    max-width: 20px;
    padding-top: 1px;
    float: left;
}
.fm-item-list .filesize {
    display: none;
}
.fm-item-list .item_link {
    padding-left: 20px;
}
.fm-item-list .actions {
    background: transparent;
}
.fm-item-list > a {
    bottom: 0px;
    text-indent: 25px;
}
.fm-sort {
    float: right;
}
#filemanager .toggle {
    float: right;
}
#filemanager .toggle span {
    display: inline-block;
    margin: 0 2px;
    background-color: var(--text);
    cursor: pointer;
}
#filemanager .toggle span:hover  {
    background-color: var(--link-hover);
}
#filemanager .toggle span:hover i  {
    color: var(--link-hover);
}
#filemanager .toggle span.active {
    background-color: var(--primary-accent);
}
#filemanager .toggle span.active i {
    color: var(--primary-accent);
}
#filemanager .toggle span.xlarge {
    width: 16px;
    height: 16px;
}
#filemanager .toggle span.large {
    width: 14px;
    height: 14px;
}
#filemanager .toggle span.medium {
    width: 12px;
    height: 12px;
}
#filemanager .toggle span.small {
    width:10px;
    height:10px;
    margin-left: 10px;
}
#filemanager .toggle span.list {
    margin: 0;
    background-color: transparent!important; 
    padding-right: 10px;
    border-right: 1px solid #ddd;   
}
#filemanager .digital {
    font-size: 14px;
}
#filemanager .fa-folder {
    color: #72a7cf;
}
ul.fmsearch_images {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    list-style-type: none;
    margin: 0;
    padding: 0;
}
ul.fmsearch_images li {
    margin-bottom: 15px;
    text-align: center;
}
ul.fmsearch_images li.show div:hover {
    background-color: var(--highlight);
    border: 1px solid #ccc;
}
ul.fmsearch_images li div {
    padding: 5px;
    border: 1px solid #fff;  
}
ul.fmsearch_images img {
    max-width: 150px;
    max-height: 150px;
}
.tooltip {
    position: relative;
}  
.tooltip .tooltiptext {
    visibility: hidden;
    background-color: black;
    color: #fff;
    text-align: left;
    padding: 6px;
    border-radius: 6px;
    position: absolute;
    z-index: 1;
    font-family: "Courier New", Courier, monospace;
    display: block;
}
.tooltip:hover .tooltiptext {
    visibility: visible;
}
.w3w {
    color: #E11F26;
    display: block;
}
.w3w a {
    color: #333333;
    text-decoration: none;
}
.severity {
    color: #FFF;
    font-weight: bold;
    list-style: none;
    padding: 0;
    margin: 0;
}
.severity a {
    color: #ffffff;
    text-decoration: underline;
}
.severity a:hover {
    text-decoration: none;
}
.severity li {
    padding: 3px;
}
.severity .green {
    background-color: green;
}
.severity .yellow {
    background-color: yellow;
    color: var(--text-light);
}
.severity .orange {
    background-color: orange;
}
.severity .red {
    background-color: red;
}
#gallery_json ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    list-style-type: none;
    margin: 0;
    padding: 0;
}
#gallery_json ul li {
    padding: 2px;
}
#gallery_json ul li img {
    max-width: 100px;
    max-height: 100px;
}
.text-left {
    text-align: left!important
}
.text-right {
    text-align: right!important
}
#item_id::-webkit-outer-spin-button,
#item_id::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
#item_id[type=number] {
  -moz-appearance: textfield;
}

.ace_email_editor {
    text-indent: 0!important;
    width: 100%;
    height: 450px;
    border: 1px solid var(--input-border);
}

#preview_email_template {
    margin: 10px 0 10px 0;
}
.editable_phrase {
    cursor: text;
}
td.option_image {
    text-align:center;
    line-height:0
}
#plugins hr {
    margin: 30px 0;
    width: 70%;
}
#plugins table, #plugins fieldset, #plugins p {
    width: 70%;
}
.order_break td {
    border-top: 1px solid var(--border-strong)
}
.order_summary > td:nth-child(2) {
    font-weight: bold;
}
.double_ul {
    border-bottom: 4px double var(--border-strong);
}
.new_features .security {
    background-color: #ffcccc;
}
.new_features .security a {
    color: #000000;
}
.new_features thead span {
    float: right
}
.new_features td {
    padding-top: 5px 
}
.new_features td img {
    padding-top: 5px;
}
.new_features tr:last-child td {
    background-color: transparent!important;
}
.new_features .button {
    margin-top: 20px;
}
ul.char_filter {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 0;
}
ul.char_filter li {
    text-align:center; display: block;
    flex: 0 1 auto; 
    list-style-type: none;
}
ul.char_filter li.selected {}
.cke_dialog_ui_checkbox_input {
    opacity: 1!important;
}
.parse_content {
    border-bottom: 1px solid #d1d1d1;
    border-left: 1px solid #d1d1d1;
    border-right: 1px solid #d1d1d1;
    padding: 3px;
    background-color: var(--panel-subtle);
    text-indent: 5px;
}
.parse_content span img.checkbox {
    float: left;
}
.copy_text {
    position: relative;
    float: right;
    margin: 0 3px 0 0;
    opacity: 30%;
}
.copy_text:hover {
    opacity: 100%;
    cursor: pointer;
}
.copy_text:before {
    font-family: FontAwesome;
    content: " \f24d";
}
.copy_text.copied:before {
    content: " \f00c";
    color: var(--copy-success, #5cb85c);
}
.copy_text.copied {
    opacity: 100%;
}
.copy_feedback {
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    white-space: nowrap;
    font-size: 11px;
    padding: 2px 8px;
    margin-left: 4px;
    color: var(--copy-success-text, #fff);
    background: var(--copy-success, #5cb85c);
    border-radius: 3px;
    font-weight: bold;
    z-index: 1;
}
.list > div:nth-child(odd),
.reorder-list > div:nth-child(odd),
.list tbody > tr:nth-child(odd),
.reorder-list tbody > tr:nth-child(odd) { background: var(--rowOdd); }

.list > div:nth-child(even),
.reorder-list > div:nth-child(even),
.list tbody > tr:nth-child(even),
.reorder-list tbody > tr:nth-child(even) { background: var(--rowEven); }

/* hover is free in CSS */
.list > div:hover,
.list tbody > tr:hover,
.reorder-list > div:hover,
.reorder-list tbody > tr:hover { background: var(--rowHover); }
textarea#query {
  font-family: 'Courier New', Courier, monospace;
}

/* ===== LIGHT THEME DEFAULTS ===== */
:root {
  --bg: #fff;
  --panel: #F9F9F9;
  --panel-subtle: #F4F5F5;
  --panel-muted: #e7e7e7;
  --text: #444;
  --text-muted: #555;
  --text-light: #737373;
  --text-invert: #fff;
  --primary: #1E3D45;
  --primary-accent: #4F9AAF;
  --link-hover: #f3068f;
  --border: #d0d0d0;
  --border-strong: #c5c5c5;
  --highlight: #edf4f7;
  --success: #9aaf4f;
  --error: #900;
  --note-bg: #fffbf2;
  --note-border: #ffe6b8;
  --input-bg: #e8e8e8;
  --input-border: #a6a6a6;
  --input-border-focus: #888;
  --sidebar-bg: #27515D;
  --copy-success: #5cb85c;
  --copy-success-text: #fff;
  --rowOdd: transparent;
  --rowEven: transparent;
  --rowHover: var(--highlight);
}

/* ===== DARK THEME OVERRIDES ===== */
@media (prefers-color-scheme: dark) {
  .sidebar_content h4 {
    color: var(--text-muted) !important;
  }
  .fa {
    color: #aab4be !important;
  }
  .fa-check,
  .fa-plus-circle,
  .fa-refresh,
  .fa-user.registered {
    color: #b5cc6a !important;
  }
  :root {
    --bg: #0f1214;
    --panel: #171b1f;
    --panel-subtle: #15191d;
    --panel-muted: #1b2025;
    --text: #e6e6e6;
    --text-muted: #b8c0c7;
    --text-invert: #0f1214;
    --primary: #2a6c7a;
    --primary-accent: #6bbad0;
    --link: #79cdea;
    --link-hover: #ff58c6;
    --border: #2c343b;
    --border-strong: #39424a;

    --rowOdd: #161a1f;
    --rowEven: #13171b;
    --rowHover: #20262c;

    --btn-bg: #2a3036;
    --btn-bg-hover: #343a40;
    --btn-text: #e6e6e6;
    --btn-border: #3b434b;
    --btn-border-hover: #4a545e;

    --success-bg: #21577a;
    --error-bg: #b32828;
    --note-bg: #201a12;
    --note-border: #5b4a2a;

    --input-bg: #1b2025;
    --input-bg-focus: #20262c;
    --input-border: #3a424a;
    --input-border-focus: #6bbad0;

    --text-light: #8a939c;
    --highlight: #1a2530;
    --success: #b5cc6a;
    --error: #b32828;
    --sidebar-bg: #14191e;

    --copy-success: #4cad4c;
    --copy-success-text: #fff;

    --header-bg: #0f2a31;
    --nav-bg: #14191e;
    --breadcrumbs-bg: #14191e;
  }

  /* === global surfaces & text === */
  html,
  body {
    background: var(--bg) !important;
    color: var(--text) !important;
  }
  a,
  .fm-refresh {
    color: var(--link) !important;
  }
  a:hover {
    color: var(--link-hover) !important;
  }

  /* headers / chrome */
  #header {
    background: var(--header-bg) !important;
    border-bottom: 3px solid var(--primary-accent) !important;
    color: #fff !important;
  }
  #header .btn-signout {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.2) !important;
    color: #fff !important
  }
  #header .btn-signout:hover {
    background: rgba(107,186,208,0.25) !important;
    border-color: var(--primary-accent) !important;
    color: #fff !important
  }
  #navigation {
    background: var(--nav-bg) !important;
    border-right: 1px solid var(--border) !important;
    border-bottom: 1px solid var(--border) !important;
    color: var(--text-muted) !important;
  }
  #navigation a {
    color: var(--text-muted) !important;
  }
  #breadcrumbs {
    background: var(--breadcrumbs-bg) !important;
    border-bottom: 1px solid var(--border) !important;
    border-left: 1px solid var(--border) !important;
  }
  #content_body {
    background: var(--panel) !important;
    border-left: 1px solid var(--border) !important;
  }
  #page_content {
    color: var(--text) !important;
  }

  /* panels & borders */
  .note {
    background: var(--note-bg) !important;
    border: 1px solid var(--note-border) !important;
    color: var(--text) !important;
  }
  hr {
    background: var(--border) !important;
    color: var(--border) !important;
  }

  /* inputs */
  .textbox,
  textarea.textbox,
  select.textbox,
  input.textbox {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text) !important;
  }
  .textbox:focus,
  .textbox:hover,
  textarea.textbox:focus,
  textarea.textbox:hover {
    background-color: var(--input-bg-focus) !important;
  }
  input.textbox[disabled],
  .phrases input.textbox[disabled] {
    background-color: var(--panel-muted) !important;
    border-color: var(--border) !important;
    color: var(--text-muted) !important;
  }
  table.phrases td.actions {
    background-color: transparent !important;
  }

  /* Chosen.js — all hardcoded light colours overridden for dark mode */
  .chosen-container-single .chosen-single,
  .chosen-container-multi .chosen-choices {
    background: var(--input-bg) !important;
    background-image: none !important;
    border-color: var(--input-border) !important;
    box-shadow: none !important;
    color: var(--text) !important;
  }
  .chosen-container-single .chosen-default {
    color: var(--text-muted) !important;
  }
  .chosen-container-active .chosen-single,
  .chosen-container-active .chosen-choices {
    border-color: var(--primary-accent) !important;
    box-shadow: 0 0 4px rgba(107,186,208,.35) !important;
  }
  .chosen-container-active.chosen-with-drop .chosen-single {
    background: var(--input-bg-focus) !important;
    background-image: none !important;
    border-color: var(--primary-accent) !important;
    box-shadow: none !important;
  }
  .chosen-container .chosen-drop {
    background: var(--panel) !important;
    border-color: var(--border) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,.5) !important;
  }
  .chosen-container .chosen-results {
    color: var(--text) !important;
  }
  .chosen-container .chosen-results li.highlighted {
    background: var(--primary) !important;
    background-image: none !important;
    color: #fff !important;
  }
  .chosen-container .chosen-results li.no-results {
    background: var(--panel-muted) !important;
    color: var(--text-muted) !important;
  }
  .chosen-container .chosen-results li.disabled-result {
    color: var(--text-muted) !important;
  }
  .chosen-container-single .chosen-search input[type=text],
  .chosen-container-multi .chosen-choices li.search-field input[type=text] {
    background: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text) !important;
  }
  .chosen-container-multi .chosen-choices li.search-choice {
    background: var(--panel-muted) !important;
    background-image: none !important;
    border-color: var(--border) !important;
    box-shadow: none !important;
    color: var(--text) !important;
  }

  /* tables & stripes */
  thead,
  .thead,
  thead td,
  thead th {
    background-color: var(--panel-muted) !important;
    border-bottom: 1px solid var(--border-strong) !important;
    color: var(--text) !important;
  }
  tbody td {
    color: var(--text) !important;
  }
  /* You already use CSS vars for row colors—these set them for dark */
  .list > div:nth-child(odd),
  .reorder-list > div:nth-child(odd),
  .list tbody > tr:nth-child(odd),
  .reorder-list tbody > tr:nth-child(odd) {
    background: var(--rowOdd) !important;
  }

  .list > div:nth-child(even),
  .reorder-list > div:nth-child(even),
  .list tbody > tr:nth-child(even),
  .reorder-list tbody > tr:nth-child(even) {
    background: var(--rowEven) !important;
  }

  .list > div:hover,
  .list tbody > tr:hover,
  .reorder-list > div:hover,
  .reorder-list tbody > tr:hover {
    background: var(--rowHover) !important;
  }

  /* buttons (remove light gradients, switch to solid dark) */
  a.button,
  div.button,
  span.button,
  button.button,
  input[type="button"],
  input[type="submit"] {
    color: var(--btn-text) !important;
    border: 1px solid var(--btn-border) !important;
    background: var(--btn-bg) !important;
    background-image: none !important;
    text-shadow: none !important;
    box-shadow: inset 0 0 0 transparent !important;
  }
  a.button:hover,
  div.button:hover,
  span.button:hover,
  input[type="button"]:hover,
  input[type="submit"]:hover {
    background: var(--btn-bg-hover) !important;
    border-color: var(--btn-border-hover) !important;
  }
  /* destructive button accent still red, but readable on dark */
  a.button.delete,
  div.button.delete,
  span.button.delete,
  button.button.delete,
  input[type="button"].delete,
  input[type="submit"].delete {
    border-color: #ff4d4d !important;
    color: #ff6666 !important;
  }

  /* header accents & titles */
  #page_content h3,
  div.tab_content > h3,
  div.tb-form > h3 {
    color: var(--primary-accent) !important;
  }
  div.tab {
    background: var(--panel-subtle) !important;
    border-color: var(--border) !important;
    color: var(--text-muted) !important;
  }
  div.tab-selected {
    background: var(--panel) !important;
    border-color: var(--border) !important;
  }
  div.tab a,
  div.tab-selected a {
    color: var(--text) !important;
  }

  /* messages */
  #gui_message .success {
    background: var(--success-bg) !important;
    color: #ffffff !important;
  }
  #gui_message .error {
    background: var(--error-bg) !important;
    color: #ffffff !important;
  }
  #gui_message .success a,
  #gui_message .error a {
    color: #ffffff !important;
  }

  /* nav & quick links */
  #breadcrumbs a {
    color: var(--text-muted) !important;
  }
  #breadcrumbs a:hover {
    color: var(--text) !important;
    text-decoration: none !important;
  }
  #navigation ul.submenu {
    background: var(--panel-subtle) !important;
  }
  #navigation ul.submenu > li {
    border-bottom: 1px solid var(--border) !important;
  }
  #navigation ul.submenu > li a:hover {
    color: var(--link-hover) !important;
  }

  /* miscellaneous surfaces */
  .default_modal,
  .tb-form,
  .sidebar_content,
  #sidebar_content,
  .dashboard_content,
  .request {
    background: var(--panel) !important;
    color: var(--text) !important;
  }
  input[type="submit"].go_search {
    background: var(--panel-muted) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
  }
  .request {
    border-color: var(--border) !important;
  }
  .order_break td {
    border-top: 1px solid var(--border-strong) !important;
  }

  /* pagination */
  div.pagination {
    border-top: 1px solid var(--border) !important;
  }
  div.pagination a {
    background: var(--panel-muted) !important;
    color: var(--text) !important;
  }
  div.pagination a:hover {
    background: var(--rowHover) !important;
  }
  div.pagination div.current {
    background: var(--primary-accent) !important;
    color: #fff !important;
  }

  /* “powered by” footer bar */
  div#content .powered {
    background: var(--panel-subtle) !important;
    color: var(--text) !important;
    border-top: 1px solid var(--border) !important;
    border-bottom: 1px solid var(--border) !important;
  }
  #tab_control {
    border-bottom: 1px solid var(--border);
    height: 26px; /* keep your existing height */
    margin-top: 10px;
    padding: 0 0 1px;
  }
  #breadcrumbs ul.quick_links {
    background: var(--panel-subtle) !important;
    border-left: 1px solid var(--border) !important;
  }
  #breadcrumbs ul.quick_links li:not(:last-child) {
    border-right: 1px solid var(--border) !important;
  }
  input.search {
    background-color: var(--input-bg) !important;
    border-bottom: 1px solid var(--input-border) !important;
    color: var(--text) !important;
  }

  input.search:focus,
  input.search:hover {
    background-color: var(--input-bg-focus) !important;
    border-bottom: 1px solid var(--primary-accent) !important;
    color: var(--text) !important;
  }

  input.search::placeholder {
    color: var(--text-muted) !important;
  }
  #navigation div.menu {
    background: var(--panel-subtle) !important;
    border-bottom: 1px solid var(--border) !important;
    color: var(--text) !important;
  }

  #navigation div.menu:hover {
    background: var(--panel) !important;
    color: var(--text) !important;
  }
  fieldset > div:nth-child(even),
  tbody tr:nth-child(even) td {
    background-color: var(--rowEven) !important;
  }

  fieldset > div:nth-child(odd),
  tbody tr:nth-child(odd) td {
    background-color: var(--rowOdd) !important;
  }

  /* #advanced / #specs use dl>dt+dd zebra striping with a hardcoded light
     background (#edf4f7) that becomes invisible against dark-mode text. */
  #advanced dt:nth-of-type(even),
  #advanced dd:nth-of-type(even),
  #specs dt:nth-of-type(even),
  #specs dd:nth-of-type(even) {
    background-color: var(--rowEven) !important;
    color: var(--text) !important;
  }
  #advanced dt:nth-of-type(odd),
  #advanced dd:nth-of-type(odd),
  #specs dt:nth-of-type(odd),
  #specs dd:nth-of-type(odd) {
    background-color: var(--rowOdd) !important;
    color: var(--text) !important;
  }

  /* Optional: hover highlight for tables */
  tbody tr:hover td {
    background-color: var(--rowHover) !important;
  }
  div.pagination span {
    background-color: var(--panel-muted) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
  }
  fieldset > legend {
    background-color: var(--panel-muted) !important;
    border-bottom: 1px solid var(--border) !important;
    color: var(--text) !important;
  }
  .note textarea {
    background-color: var(--panel-subtle) !important;
    border: 1px solid var(--note-border) !important;
    color: var(--text) !important;
  }

  .note textarea:focus {
    background-color: var(--panel) !important;
    border-color: var(--primary-accent) !important;
    color: var(--text) !important;
    outline: none !important;
  }

  .note textarea::placeholder {
    color: var(--text-muted) !important;
  }
  .review-excerpt,
  .review-meta {
    color: var(--text-muted) !important;
  }
  .jqac-menu {
    background-color: var(--panel) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
    box-shadow: 0 3px 8px rgba(0,0,0,.4) !important;
  }
  .jqac-menu li {
    border-bottom-color: var(--border) !important;
  }
  .jqac-menu .jqac-highlight {
    background-color: var(--panel-muted) !important;
  }
  .jqac-menu .jqac-info {
    color: var(--text-muted) !important;
  }
  .jqac-menu .jqac-warning,
  .jqac-menu .jqac-loading {
    color: var(--text-muted) !important;
  }
  .textbox:focus,
  textarea.textbox:focus,
  select.textbox:focus,
  input.textbox:focus {
    outline: none !important; /* removes blue glow */
    box-shadow: none !important; /* removes any inner/outer blur */
    border-color: var(--primary-accent) !important; /* clean theme border */
    background-color: var(--input-bg-focus) !important;
  }
  /* Base (light) */
  .dropzone {
    min-height: 150px;
    padding: 20px;
    background: var(--panel);
    border: 2px dashed var(--border);
    color: var(--text);
  }

  /* Optional hover/focus for both themes */
  .dropzone:hover,
  .dropzone.is-dragover {
    border-color: var(--primary-accent);
    background: var(--panel-subtle);
  }
  #fm-actions {
    background-color: var(--panel-subtle) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
  }

  #fm-actions input {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text) !important;
  }

  #fm-actions input:hover,
  #fm-actions input:focus {
    background-color: var(--input-bg-focus) !important;
    border-color: var(--primary-accent) !important;
  }
  .fm-filelist {
    background-color: var(--panel) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
    scrollbar-color: var(--border) var(--panel-subtle); /* for Firefox */
  }

  .fm-filelist > div,
  .fm-filelist li,
  .fm-filelist ul {
    background-color: transparent !important;
    color: var(--text) !important;
  }

  .fm-filelist > div:nth-child(even),
  .fm-filelist > ul > li:nth-child(even) {
    background-color: var(--rowEven) !important;
  }

  .fm-filelist > div:nth-child(odd),
  .fm-filelist > ul > li:nth-child(odd) {
    background-color: var(--rowOdd) !important;
  }

  .fm-filelist > div:hover,
  .fm-filelist > ul > li:hover {
    background-color: var(--rowHover) !important;
  }

  /* Optional: custom scrollbar to match theme */
  .fm-filelist::-webkit-scrollbar {
    width: 10px;
  }
  .fm-filelist::-webkit-scrollbar-track {
    background: var(--panel-subtle);
  }
  .fm-filelist::-webkit-scrollbar-thumb {
    background: var(--border);
  }
  .fm-filelist::-webkit-scrollbar-thumb:hover {
    background: var(--primary-accent);
  }
  .phpinfodisplay {
    background-color: var(--panel) !important;
    color: var(--text) !important;
  }
  .parse_content {
    border: 1px solid #333;          /* darker, unified border tone */
    border-radius: 4px;              /* optional: soften corners */
    padding: 6px 8px;                /* slightly more breathing room */
    background-color: #1e1e1e;       /* deep neutral background */
    color: #e0e0e0;                  /* readable text colour */
    text-indent: 5px;

    /* subtle inner glow to lift from page background */
    box-shadow: inset 0 0 4px rgba(255, 255, 255, 0.05);
    }

    /* optional hover/focus highlight */
    .parse_content:focus-within,
    .parse_content:hover {
    border-color: #555;
    box-shadow: inset 0 0 6px rgba(255, 255, 255, 0.08);
    }

    /* links and inline elements */
    .parse_content a {
    color: #6ab4ff;                  /* accent link colour */
    text-decoration: none;
    }
    .parse_content a:hover {
    text-decoration: underline;
    }
  .preauth-wrapper {
    background-color: var(--panel) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
  }
  .preauth-wrapper label {
    color: var(--text) !important;
  }
    /* --- Quick Links (breadcrumbs right side) --- */
  #breadcrumbs ul.quick_links {
    background: var(--panel-subtle) !important;
    border-left: 1px solid var(--border) !important;
  }

  #breadcrumbs ul.quick_links li {
    color: var(--text) !important;
  }

  #breadcrumbs ul.quick_links li a {
    color: var(--text-muted);
  }
  #breadcrumbs ul.quick_links li a:hover {
    color: #000000;
  }

  /* separators between items */
  #breadcrumbs ul.quick_links li:not(:last-child) {
    border-right: 1px solid var(--border) !important;
  }

  /* hover/active backgrounds for items */
  #breadcrumbs ul.quick_links li:hover,
  #breadcrumbs ul.quick_links li:focus-within {
    background: var(--rowHover) !important;
  }
  #breadcrumbs ul.quick_links li#clear_cache_master.clear {
    background-color: #e08600;
    animation: cache_animation_dark 1s 3;
  }
  #breadcrumbs ul.quick_links li#clear_cache_master.clear:hover,
  #breadcrumbs ul.quick_links li#clear_cache_master.clear:focus-within {
    background: #ffa500 !important;
  }
  #breadcrumbs ul.quick_links li#clear_cache_master.clear a,
  #breadcrumbs ul.quick_links li#clear_cache_master.clear:hover a,
  #breadcrumbs ul.quick_links li#clear_cache_master.clear:focus-within a {
    color: #000000 !important;
  }
  /* Help menu dropdown */
  ul.quick_links li#help_menu { position: relative }
  ul.quick_links li#help_menu ul {
    background: var(--panel) !important;
    border: 1px solid var(--border) !important;
    border-right: none !important;
  }
  ul.quick_links li#help_menu ul li {
    color: var(--text) !important;
  }
  ul.quick_links li#help_menu ul li:not(:last-child) {
    border-bottom: 1px solid var(--border) !important;
  }
  ul.quick_links li#help_menu ul li a {
    color: var(--text-muted) !important;
  }
  ul.quick_links li#help_menu ul li a:hover,
  ul.quick_links li#help_menu ul li a:focus-visible {
    background: var(--rowHover) !important;
    color: var(--text) !important;
  }
  #breadcrumbs ul.quick_links i.fa {
    color: var(--text-muted) !important;
  }
  #breadcrumbs ul.quick_links li:hover i.fa {
    color: var(--text) !important;
  }
  #help_menu > ul > li:last-child { border-right: 1px solid var(--border) !important; }
  .row_warn {
    border: 1px solid #ff6600;
    color: #ff6600;
  }
  .row_error {
    border: 1px solid #ff0000;
    color: #ff0000;
  }
  @keyframes cache_animation_dark {
    0% { background-color: #e08600; }
    50% { background-color: #cc5500; }
    100% { background-color: #e08600; }
  }
  textarea#query {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text) !important;
  }
  textarea#query:focus {
    background-color: var(--input-bg-focus) !important;
    border-color: var(--primary-accent) !important;
    outline: none !important;
  }
  pre {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text) !important;
    font-family: 'Courier New', Courier, monospace;
  }
  /* filemanager grid/digital view */
  #filemanager div div:nth-child(even) {
    background-color: var(--rowEven) !important;
  }
  #filemanager div div:nth-child(odd) {
    background-color: var(--rowOdd) !important;
  }
  #filemanager #fm-wrapper div:hover {
    background-color: var(--rowHover) !important;
  }
  #filemanager div div.folder {
    background-color: var(--panel-subtle) !important;
  }
  .fm-item .actions {
    background: rgba(0,0,0,0.6) !important;
    color: var(--text) !important;
  }
  .fm-item .actions i.fa {
    color: var(--text-muted) !important;
  }
  .fm-item > a {
    color: var(--text-muted) !important;
  }
  .folder .actions i.fa {
    color: var(--text-muted) !important;
  }
  .fm-sort,
  .fm-sort select {
    color: var(--text) !important;
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
  }
  #filemanager .toggle span.list {
    border-right-color: var(--border) !important;
  }
  .form_control {
    color: var(--text) !important;
  }
  ul.filetree a {
    color: var(--text) !important;
  }
  ul.filetree a:hover {
    background: var(--primary) !important;
    color: var(--text-invert) !important;
  }
  tfoot {
    border-top: 1px solid var(--border) !important;
  }
  tfoot tr.foot td {
    border-top: 1px solid var(--border) !important;
    background-color: var(--panel-muted) !important;
    color: var(--text) !important;
  }
}