@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Oxanium:wght@700;800&display=swap");

:root {
  --void: #04040a;
  --deep: #0a0612;
  --ink: #ccc8be;
  --ink-mid: #6b6660;
  --ink-dim: #38352e;
  --neon-lime: #c8ff00;
  --neon-cyan: #05d9e8;
  --neon-magenta: #ff2a6d;
  --neon-purple: #b300ff;
  --neon-orange: #ff9000;
  --sf-green: #75B835;
  --border-hair: rgba(220, 225, 235, 0.12);
}

html, body {
  background: var(--void) !important;
  color: var(--ink) !important;
  font-family: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(ellipse 70% 45% at 50% 0%, rgba(117, 184, 53, 0.12), transparent 55%),
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(179, 0, 255, 0.14), transparent 55%),
    repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.22) 2px, rgba(0,0,0,0.22) 4px);
}

.login-ui, .login-ui .login-dialog-middle { background: transparent !important; }

.login-ui .login-dialog {
  position: relative;
  z-index: 1;
  background: linear-gradient(180deg, rgba(10,6,18,0.92) 0%, rgba(4,4,10,0.96) 100%) !important;
  border: 1px solid var(--border-hair) !important;
  border-radius: 2px !important;
  box-shadow: 0 0 0 1px rgba(179,0,255,0.28), 0 0 40px rgba(179,0,255,0.14), 0 24px 60px rgba(0,0,0,0.55) !important;
  padding: 1.75em 1.5em 1.5em !important;
}

/* Frog @ logo — no white box */
.login-ui .login-dialog .logo {
  width: 11em !important;
  height: 5.75em !important;
  margin: 0.25em auto 1.35em auto !important;
  background-color: transparent !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-image: url("app/ext/eugene-sf/resources/images/sf-logo.png") !important;
  filter: drop-shadow(0 0 18px rgba(117, 184, 53, 0.35));
  border: none !important;
  box-shadow: none !important;
}

/* Kill all login chrome text except the submit button */
.eugene-kicker,
.login-ui .login-dialog .software-name,
.login-ui .login-dialog h1,
.login-ui .login-dialog h2,
.login-ui .login-dialog a:not(.button),
.footer {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
  color: transparent !important;
}

/* Field labels visible */
.login-ui .login-dialog .login-fields label,
.login-ui .login-dialog .login-fields .caption,
.login-ui .login-dialog .login-fields .labeled-field > .caption {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  margin: 0 0 0.35rem 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  font-size: 0.8rem !important;
  line-height: 1.3 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: #c8ff00 !important;
  font-family: "JetBrains Mono", monospace !important;
  opacity: 1 !important;
}


/* Hide Guacamole app-name text node under logo if present */
.login-ui .login-dialog > .name,
.login-ui .login-dialog .app-name,
.login-ui .login-dialog form::before {
  display: none !important;
}

.login-ui .login-dialog .login-fields input,
.login-ui .login-dialog .login-fields input[type="text"],
.login-ui .login-dialog .login-fields input[type="password"] {
  background: rgba(4,4,10,0.85) !important;
  border: 1px solid var(--border-hair) !important;
  border-radius: 2px !important;
  color: var(--ink) !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 0.95em !important;
  box-shadow: none !important;
  caret-color: var(--neon-lime);
}

.login-ui .login-dialog .login-fields input::placeholder {
  color: transparent !important;
  opacity: 0 !important;
}

.login-ui .login-dialog .login-fields input:focus {
  border-color: var(--neon-lime) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px rgba(200,255,0,0.35), 0 0 18px rgba(200,255,0,0.12) !important;
}

/* Only visible text: login */
input[type="submit"],
button.login,
.login-ui .login-dialog .login-buttons input[type="submit"] {
  background: var(--neon-lime) !important;
  border: 1px solid var(--neon-lime) !important;
  color: var(--void) !important;
  font-family: "Oxanium", "JetBrains Mono", sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.95em !important;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  border-radius: 2px !important;
  box-shadow: 0 0 20px rgba(200,255,0,0.25) !important;
  display: inline-block !important;
  visibility: visible !important;
  height: auto !important;
  width: 100% !important;
}

input[type="submit"]:hover,
button.login:hover {
  background: var(--sf-green) !important;
  border-color: var(--sf-green) !important;
  color: #000 !important;
}

/* Post-login UI still branded */
.header, .menu, .menu-content {
  background: #0e0a18 !important;
  border-color: rgba(200,255,0,0.22) !important;
  color: #f0ece2 !important;
  font-family: "JetBrains Mono", monospace !important;
}
a { color: #c8ff00 !important; }
.list-item, .recent-connections .connection {
  background: #12101c !important;
  border: 1px solid rgba(200,255,0,0.28) !important;
}

/* ===== Post-login home: high contrast ===== */
.home-ui,
.home-ui *,
.content,
.settings,
.menu,
.header,
.list-item,
.recent-connections {
  color: #e8e4d8 !important;
}

.header {
  background: #0e0a18 !important;
  border-bottom: 1px solid rgba(200, 255, 0, 0.25) !important;
}

.header h2,
.header .user-menu,
.header .header-name,
.header a,
.user-menu .username {
  color: #f0ece2 !important;
  opacity: 1 !important;
}

/* Section titles: RECENT / ALL CONNECTIONS */
.recent-connections h1,
.recent-connections h2,
.recent-connections h3,
.recent-connections .header,
.all-connections h1,
.all-connections h2,
.all-connections h3,
.section-header,
.list-view h1,
.list-view h2,
.list-view .caption,
.content h1,
.content h2,
.content h3,
.content .caption,
.group-header,
.connection-list .caption {
  color: #c8ff00 !important;
  opacity: 1 !important;
  font-family: "Oxanium", "JetBrains Mono", sans-serif !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Empty state + body copy */
.empty,
.empty-state,
.no-recent,
.recent-connections .empty,
.notification,
.list-item .name,
.list-item .caption,
.connection .name,
.connection .caption,
.protocol,
.filter input,
.filter label {
  color: #ddd8cc !important;
  opacity: 1 !important;
}

/* Connection / folder rows */
.list-item,
.recent-connections .connection,
.connection,
.clipboard-service,
.group-list .list-item {
  background: #12101c !important;
  border: 1px solid rgba(200, 255, 0, 0.28) !important;
  border-radius: 2px !important;
  color: #f0ece2 !important;
  opacity: 1 !important;
}

.list-item:hover,
.recent-connections .connection:hover,
.connection:hover {
  background: #1a1628 !important;
  border-color: #c8ff00 !important;
  box-shadow: 0 0 16px rgba(200, 255, 0, 0.18) !important;
}

.list-item .icon,
.list-item img,
.connection .icon {
  opacity: 1 !important;
  filter: none !important;
}

/* Filter field */
.filter input,
input[type="text"].filter,
.content input[type="text"],
.content input[type="search"] {
  background: #04040a !important;
  border: 1px solid rgba(220, 225, 235, 0.35) !important;
  color: #f0ece2 !important;
}

.filter input:focus {
  border-color: #c8ff00 !important;
}

/* Menus / settings panels */
.menu,
.menu-content,
.settings .section,
.form-field,
.location {
  background: #0e0a18 !important;
  border-color: rgba(220, 225, 235, 0.2) !important;
  color: #f0ece2 !important;
}

.menu .menu-item,
.menu .menu-item a,
.settings label,
.settings .caption,
.form-field label {
  color: #e8e4d8 !important;
  opacity: 1 !important;
}

.menu .menu-item:hover,
.menu .menu-item a:hover {
  color: #c8ff00 !important;
  background: rgba(200, 255, 0, 0.08) !important;
}

/* Keep login page text-hiding scoped — don't nuke home UI */
.home-ui .version,
.home-ui .software-name {
  color: #6b6660 !important;
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  font-size: 0.7em !important;
}


/* ===== Login page: larger, simpler, visible ===== */
.login-ui {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
}

.login-ui .login-dialog-middle {
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  padding: 0 1.25rem !important;
}

.login-ui .login-dialog {
  width: 100% !important;
  max-width: 420px !important;
  min-width: 320px !important;
  margin: 0 auto !important;
  padding: 2.5rem 2rem 2rem !important;
  box-sizing: border-box !important;
  background: #0c0814 !important;
  border: 1px solid rgba(200, 255, 0, 0.28) !important;
  border-radius: 4px !important;
  box-shadow:
    0 0 0 1px rgba(179, 0, 255, 0.2),
    0 0 48px rgba(117, 184, 53, 0.08),
    0 28px 64px rgba(0, 0, 0, 0.55) !important;
}

.login-ui .login-dialog .logo {
  width: 100% !important;
  max-width: 220px !important;
  height: 115px !important;
  margin: 0 auto 2rem auto !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: transparent !important;
  filter: drop-shadow(0 0 20px rgba(117, 184, 53, 0.4)) !important;
}

.login-ui .login-dialog .login-fields {
  margin: 0 0 1.25rem 0 !important;
  width: 100% !important;
}

.login-ui .login-dialog .login-fields .labeled-field,
.login-ui .login-dialog .login-fields > div {
  margin-bottom: 0.85rem !important;
}

.login-ui .login-dialog .login-fields input,
.login-ui .login-dialog .login-fields input[type="text"],
.login-ui .login-dialog .login-fields input[type="password"] {
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 48px !important;
  padding: 0.85rem 1rem !important;
  background: #16121f !important;
  border: 1px solid rgba(220, 225, 235, 0.35) !important;
  border-radius: 3px !important;
  color: #f0ece2 !important;
  font-size: 1rem !important;
  font-family: "JetBrains Mono", monospace !important;
}

.login-ui .login-dialog .login-fields input:focus {
  border-color: #c8ff00 !important;
  background: #1a1628 !important;
  box-shadow: 0 0 0 1px rgba(200, 255, 0, 0.4), 0 0 20px rgba(200, 255, 0, 0.12) !important;
}

.login-ui .login-dialog .login-buttons,
.login-ui .login-dialog .buttons {
  margin-top: 0.5rem !important;
  width: 100% !important;
}

.login-ui .login-dialog input[type="submit"],
.login-ui .login-dialog button.login {
  width: 100% !important;
  min-height: 48px !important;
  margin-top: 0.35rem !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.08em !important;
}

/* Soften purple glow — simpler lime-forward frame */
body::before {
  background:
    radial-gradient(ellipse 60% 40% at 50% 20%, rgba(117, 184, 53, 0.1), transparent 60%),
    radial-gradient(ellipse 50% 30% at 50% 100%, rgba(179, 0, 255, 0.06), transparent 55%) !important;
  opacity: 1 !important;
}

/* login labels reinforce */

.login-ui .login-dialog .login-fields label,
.login-ui .login-dialog .login-fields .caption {
  display: block !important;
  visibility: visible !important;
  color: #c8ff00 !important;
  font-size: 0.8rem !important;
  margin-bottom: 0.35rem !important;
  opacity: 1 !important;
}


/* Hide blank Continue button (second lime button) — keep only Login */
.login-ui .login-dialog .continue,
.login-ui .login-dialog .login-buttons .continue,
.login-ui .login-dialog button.continue,
.login-ui .login-dialog input.continue,
.login-ui .login-dialog .login-buttons input[type="submit"]:nth-of-type(2),
.login-ui .login-dialog .login-buttons button:nth-of-type(2),
.login-ui .login-dialog form > .buttons > *:nth-child(n+2),
.login-ui .login-dialog .login-buttons > *:nth-child(n+2) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  box-shadow: none !important;
  background: transparent !important;
}


/* Version pill — remove */
.login-ui .login-dialog .version,
.login-ui .login-dialog .version-number,
.login-ui .login-dialog .app-name {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

/* Field labels ABOVE inputs (Guacamole default puts them behind inputs) */
.login-ui .login-fields .labeled-field {
  display: block !important;
  position: relative !important;
  margin: 0 0 1rem 0 !important;
  z-index: 1 !important;
}

.login-ui .login-fields .labeled-field .field-header {
  display: block !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  z-index: 2 !important;
  margin: 0 0 0.4rem 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  font-size: 0.85rem !important;
  line-height: 1.3 !important;
  letter-spacing: 0.04em !important;
  color: #c8ff00 !important;
  opacity: 1 !important;
  text-align: left !important;
  font-family: "JetBrains Mono", monospace !important;
}

.login-ui .login-fields .labeled-field .field-header label {
  display: inline !important;
  visibility: visible !important;
  color: #c8ff00 !important;
  font-size: inherit !important;
  opacity: 1 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.login-ui .login-fields .labeled-field .form-field,
.login-ui .login-fields .labeled-field input {
  position: relative !important;
  z-index: 1 !important;
  background: #16121f !important;
}

/* Continue button class from Guacamole template */
.login-ui .login-dialog input.continue-login {
  display: none !important;
}


/* ===== Accessibility contrast pass ===== */

/* Default readable text on dark surfaces */
.home-ui,
.home-ui .content,
.home-ui .list-item,
.home-ui .list-item .name,
.home-ui .list-item .caption,
.home-ui .connection,
.home-ui .connection .name,
.home-ui a,
.settings,
.menu,
.header {
  color: #f2efe6 !important;
}

.home-ui h1, .home-ui h2, .home-ui h3,
.home-ui .section-header,
.home-ui .caption {
  color: #c8ff00 !important;
}

/* Connection rows: dark card, bright text, visible border */
.home-ui .list-item,
.home-ui .recent-connections .connection,
.home-ui .connection,
.home-ui .list-item-wrapper > .list-item {
  background: #16121f !important;
  border: 1px solid rgba(220, 225, 235, 0.28) !important;
  color: #f2efe6 !important;
}

.home-ui .list-item .name,
.home-ui .list-item span,
.home-ui .list-item a,
.home-ui .connection .name {
  color: #f2efe6 !important;
  opacity: 1 !important;
}

/* Hover / active / selected: lime fill → DARK text (critical) */
.home-ui .list-item:hover,
.home-ui .list-item:focus,
.home-ui .list-item:active,
.home-ui .list-item.selected,
.home-ui .list-item.current,
.home-ui .list-item.active,
.home-ui .recent-connections .connection:hover,
.home-ui .recent-connections .connection:focus,
.home-ui .connection:hover,
.home-ui .connection.selected,
.home-ui a.list-item:hover,
.home-ui .list-item:hover *,
.home-ui .list-item.selected *,
.home-ui .list-item:active *,
.home-ui .connection:hover *,
.home-ui .connection.selected * {
  background-color: #c8ff00 !important;
  background: #c8ff00 !important;
  color: #04040a !important;
  border-color: #c8ff00 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.home-ui .list-item:hover .name,
.home-ui .list-item.selected .name,
.home-ui .list-item:hover .caption,
.home-ui .list-item.selected .caption,
.home-ui .list-item:hover a,
.home-ui .list-item.selected a {
  color: #04040a !important;
}

/* Icons on lime: dark */
.home-ui .list-item:hover .icon,
.home-ui .list-item.selected .icon,
.home-ui .list-item:hover img,
.home-ui .list-item.selected img {
  filter: brightness(0) !important;
  opacity: 1 !important;
}

/* Header bar */
.home-ui .header,
.header {
  background: #0e0a18 !important;
  color: #f2efe6 !important;
  border-bottom: 1px solid rgba(200, 255, 0, 0.35) !important;
}
.home-ui .header *,
.header .username,
.header a {
  color: #f2efe6 !important;
}
.home-ui .header a:hover {
  color: #c8ff00 !important;
}

/* Empty states */
.home-ui .empty,
.home-ui .recent-connections .empty,
.notification .body {
  color: #d8d2c4 !important;
  background: #16121f !important;
  border: 1px solid rgba(220, 225, 235, 0.2) !important;
}

/* Filter */
.home-ui .filter input,
.home-ui input[type="search"],
.home-ui input[type="text"] {
  background: #0a0612 !important;
  color: #f2efe6 !important;
  border: 1px solid rgba(220, 225, 235, 0.4) !important;
}
.home-ui .filter label {
  color: #c8ff00 !important;
}

/* Menus */
.menu, .menu-content {
  background: #12101c !important;
  color: #f2efe6 !important;
}
.menu .menu-item a {
  color: #f2efe6 !important;
}
.menu .menu-item:hover,
.menu .menu-item:hover a {
  background: #c8ff00 !important;
  color: #04040a !important;
}

/* Settings forms */
.settings label,
.settings .caption,
.settings .field-header,
.settings .field-header label {
  color: #c8ff00 !important;
  opacity: 1 !important;
}
.settings input,
.settings select,
.settings textarea {
  background: #16121f !important;
  color: #f2efe6 !important;
  border: 1px solid rgba(220, 225, 235, 0.35) !important;
}

/* Login fields stay high-contrast */
.login-ui .login-fields .labeled-field .field-header,
.login-ui .login-fields .labeled-field .field-header label {
  color: #c8ff00 !important;
  opacity: 1 !important;
}
.login-ui .login-fields input {
  background: #16121f !important;
  color: #f2efe6 !important;
  border: 1px solid rgba(220, 225, 235, 0.4) !important;
}
.login-ui .login-dialog input[type="submit"].login {
  background: #c8ff00 !important;
  color: #04040a !important;
}


/* ===== User dropdown: Guacamole uses light #EEE panel — keep it, force DARK text ===== */
.menu-dropdown .menu-contents {
  background: #f0ece2 !important;
  border: 1px solid rgba(0, 0, 0, 0.25) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
  color: #04040a !important;
  visibility: visible !important;
}

.menu-dropdown.open .menu-contents {
  visibility: visible !important;
}

.menu-dropdown .menu-contents ul,
.menu-dropdown .menu-contents li,
.menu-dropdown .menu-contents .profile,
.menu-dropdown .menu-contents .profile * {
  color: #04040a !important;
  opacity: 1 !important;
}

.menu-dropdown .menu-contents li a,
.user-menu .menu-dropdown .menu-contents li a,
.menu-dropdown .menu-contents li a:link,
.menu-dropdown .menu-contents li a:visited {
  color: #04040a !important;
  background-color: transparent !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.menu-dropdown .menu-contents li a:hover,
.user-menu .menu-dropdown .menu-contents li a:hover {
  background-color: #c8ff00 !important;
  color: #04040a !important;
  opacity: 1 !important;
}

.menu-dropdown .menu-contents li a.danger {
  background-color: #ff2a6d !important;
  color: #ffffff !important;
}

/* Settings page tabs — selected = lime + dark text */
.settings .menu a,
.settings .navigation a,
ul.section-tabs a,
.section-tabs a {
  color: #c8ff00 !important;
  background: transparent !important;
}
.settings .menu a.current,
.settings .navigation a.current,
.settings .menu .current,
ul.section-tabs a.current,
.section-tabs .current a,
.settings .menu a:hover {
  background: #c8ff00 !important;
  color: #04040a !important;
}


/* ===== Icons: visible on dark UI ===== */
/* Guacamole ships dark SVG icons — invert them on dark surfaces */
.home-ui .icon,
.home-ui .caption .icon,
.home-ui .connection .icon,
.home-ui .connection-group .icon,
.home-ui .sharing-profile .icon,
.home-ui .list-item .icon,
.settings .icon,
.header .icon,
.pager .icon,
.icon.add,
.icon.connection,
.icon.connection.add,
.icon.user,
.icon.user.add,
.icon.user-group,
.menu-dropdown .menu-indicator,
.filter,
button .icon,
a.button .icon,
.action-buttons .icon {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

/* Keep add (+) tiles readable */
.home-ui a.add,
.home-ui .add,
.settings .add {
  filter: none !important;
  color: #f2efe6 !important;
  border-color: rgba(220, 225, 235, 0.45) !important;
  background: #16121f !important;
}

/* On lime hover/selected rows: icons must be dark again */
.home-ui .list-item:hover .icon,
.home-ui .list-item.selected .icon,
.home-ui .list-item:active .icon,
.home-ui .connection:hover .icon,
.home-ui .connection.selected .icon,
.home-ui .list-item:hover .caption .icon,
.home-ui .list-item.selected .caption .icon,
.menu-dropdown .menu-contents li a:hover,
.settings .menu a.current,
.settings .menu a:hover {
  /* links handled separately; icons: */
}

.home-ui .list-item:hover .icon,
.home-ui .list-item.selected .icon,
.home-ui .list-item:active .icon,
.home-ui .connection:hover .icon,
.home-ui .connection.selected .icon,
.home-ui .recent-connections .connection:hover .icon {
  filter: brightness(0) !important; /* solid dark on lime */
  opacity: 1 !important;
}

/* User menu title icon (guac-user) on dark header — light */
.user-menu .menu-dropdown .menu-title {
  filter: none !important;
  color: #f2efe6 !important;
}
.user-menu .menu-dropdown .menu-indicator {
  filter: brightness(0) invert(1) !important;
}

/* Dropdown uses light panel + dark-* SVG icons already — do NOT invert those links' bg icons */
.menu-dropdown .menu-contents li a {
  filter: none !important;
}

/* Connection name row chrome */
.home-ui .connection > .caption,
.home-ui .list-item > .caption,
.home-ui .connection-group > .caption {
  color: #f2efe6 !important;
  opacity: 1 !important;
}

.home-ui .connection > .caption .name,
.home-ui .list-item .name {
  color: #f2efe6 !important;
  opacity: 1 !important;
}

.home-ui .list-item:hover .name,
.home-ui .list-item.selected .name,
.home-ui .connection:hover .name,
.home-ui .connection:hover .caption,
.home-ui .connection:hover .caption .name {
  color: #04040a !important;
}


/* ===== FULL FORM / SETTINGS READABILITY ===== */

/* Page chrome */
.settings,
.manage,
.content,
.page,
.header,
.section {
  color: #f2efe6 !important;
}

.settings h1, .settings h2, .settings h3,
.manage h1, .manage h2, .manage h3,
.section-header, .form-header,
.content h1, .content h2, .content h3 {
  color: #c8ff00 !important;
  opacity: 1 !important;
  font-family: "Oxanium", "JetBrains Mono", monospace !important;
}

/* Labels & captions everywhere */
label,
.field-header,
.field-header label,
.caption,
.form-field label,
th,
td,
.settings .name,
.manage .name,
.form table.fields th,
.form table.fields td,
.attributes .field-header,
.connection-parameters .field-header,
.notification .body,
.permission-list,
.permission-list * {
  color: #f2efe6 !important;
  opacity: 1 !important;
}

.field-header,
.field-header label,
.settings label,
.manage label,
.form-header {
  color: #c8ff00 !important;
}

/* Inputs / selects / textareas — dark field, light text (no white voids) */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="time"],
input[type="date"],
input[type="datetime-local"],
textarea,
select,
.form-field input,
.form-field textarea,
.form-field select,
.settings input,
.settings textarea,
.settings select,
.manage input,
.manage textarea,
.manage select {
  background: #16121f !important;
  color: #f2efe6 !important;
  border: 1px solid rgba(220, 225, 235, 0.4) !important;
  border-radius: 3px !important;
  opacity: 1 !important;
  caret-color: #c8ff00 !important;
}

input:focus, textarea:focus, select:focus {
  border-color: #c8ff00 !important;
  outline: none !important;
  box-shadow: 0 0 0 1px rgba(200, 255, 0, 0.35) !important;
}

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

/* Checkboxes / radios — visible box */
input[type="checkbox"],
input[type="radio"] {
  width: 1.1em !important;
  height: 1.1em !important;
  accent-color: #c8ff00 !important;
  opacity: 1 !important;
  filter: none !important;
  visibility: visible !important;
}

/* Tables (permissions, users, sessions) */
table,
table.user-list,
table.session-list,
table.history,
.permission-editor table,
.settings table {
  color: #f2efe6 !important;
  border-color: rgba(220, 225, 235, 0.2) !important;
}

table th {
  color: #c8ff00 !important;
  background: #0e0a18 !important;
  border-bottom: 1px solid rgba(200, 255, 0, 0.3) !important;
}

table td {
  color: #f2efe6 !important;
  border-color: rgba(220, 225, 235, 0.15) !important;
}

table tr:hover td {
  background: rgba(200, 255, 0, 0.08) !important;
  color: #f2efe6 !important;
}

/* Section dividers */
hr, .divider, .section {
  border-color: rgba(200, 255, 0, 0.25) !important;
}

/* Tabs / links in manage pages */
.settings .menu a,
.manage .menu a,
a.tab,
.section-tabs a,
.choice a {
  color: #c8ff00 !important;
  opacity: 1 !important;
}

.settings .menu a.current,
.settings .menu a:hover,
.manage .menu a.current,
.choice a.current,
.choice a:hover {
  background: #c8ff00 !important;
  color: #04040a !important;
}

/* Buttons */
button,
a.button,
input[type="submit"],
input[type="button"],
.action-buttons a,
.action-buttons button {
  background: #16121f !important;
  color: #f2efe6 !important;
  border: 1px solid rgba(220, 225, 235, 0.45) !important;
  opacity: 1 !important;
}

button:hover, a.button:hover, input[type="submit"]:hover {
  background: #c8ff00 !important;
  color: #04040a !important;
  border-color: #c8ff00 !important;
}

/* Primary save still lime */
button.save,
input[type="submit"].save,
.buttons input[type="submit"]:first-child {
  background: #c8ff00 !important;
  color: #04040a !important;
  border-color: #c8ff00 !important;
}

/* Error / notification dialogs */
.notification,
.notification.error,
.guac-notification {
  background: #1a1220 !important;
  color: #f2efe6 !important;
  border: 1px solid #ff2a6d !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.6) !important;
}

.notification .header,
.notification .title,
.notification h1, .notification h2 {
  background: #ff2a6d !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

.notification .body,
.notification .body * {
  background: #12101c !important;
  color: #f2efe6 !important;
}

.notification button,
.notification a.button {
  background: #c8ff00 !important;
  color: #04040a !important;
  border: none !important;
}

/* Icons on dark form pages — lighten */
.settings .icon,
.manage .icon,
.content .icon,
.form-field .icon,
.connection .icon,
.connection-group .icon,
.sharing-profile .icon,
.list-item .icon,
.caption .icon,
.pager .icon,
.header .icon,
button .icon {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

/* Except on lime hover/current */
.settings .menu a.current .icon,
.settings .menu a:hover .icon,
.list-item:hover .icon,
.list-item.selected .icon,
.connection:hover .icon,
button:hover .icon,
a.button:hover .icon {
  filter: brightness(0) !important;
}

/* User dropdown stays light panel + dark text (don't invert icons there) */
.menu-dropdown .menu-contents {
  background: #f0ece2 !important;
  color: #04040a !important;
}
.menu-dropdown .menu-contents li a {
  color: #04040a !important;
  filter: none !important;
}
.menu-dropdown .menu-contents li a:hover {
  background: #c8ff00 !important;
  color: #04040a !important;
}
.menu-dropdown .menu-contents .icon,
.menu-dropdown .menu-contents li a {
  filter: none !important;
}

/* Location chooser / nested dropdowns */
.dropdown,
.location-chooser .dropdown {
  background: #f0ece2 !important;
  color: #04040a !important;
  border: 1px solid rgba(0,0,0,0.3) !important;
}
.dropdown *,
.location-chooser .dropdown * {
  color: #04040a !important;
}

/* Timezone picker popup if light */
.tz-picker, .time-zone, .ui-menu {
  background: #f0ece2 !important;
  color: #04040a !important;
}

/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

/* Label/tag denoting the user that shared a connection */
.jdbc-share-tag {

    background: #0095ff;
    padding: 0.25em;

    -moz-border-radius:    0.25em;
    -webkit-border-radius: 0.25em;
    -khtml-border-radius:  0.25em;
    border-radius:         0.25em;

    color: white;
    font-size: 0.75em;
    font-weight: bold;

}
