html, body, .ng-scope, .main, .page, .page-body {
  background: #0f0f0f !important;
  color: #f5f5f5 !important;
}

* {
  text-shadow: none !important;
}

body, div, span, p, label, h1, h2, h3, h4, h5, h6,
td, th, li, strong, em, small, section, article {
  color: #f5f5f5 !important;
}

.login-ui,
.login-dialog,
.home-ui,
.client-view,
.settings,
.preferences,
.form,
.dialog,
.notification,
.menu,
.sidebar,
.header,
.connection-list,
.connection-group,
.recent-connections,
.manage-connection,
.manage-user,
.manage-group,
.page-tabs,
.tabbed-pane,
.section,
.list-page,
.list {
  background: #1b1b1b !important;
  color: #f5f5f5 !important;
}

/* Menú superior usuario */
.user-menu,
.user-menu *,
.user-menu .menu-title,
.user-menu .menu-content,
.user-menu .menu-dropdown,
.user-menu .dropdown,
.user-menu .menu-item,
.user-menu .menu-item *,
.user-menu .menu-item a,
.user-menu .menu-item span {
  background: #202020 !important;
  color: #ffffff !important;
  border-color: #3a3a3a !important;
}

.user-menu .menu-content,
.user-menu .menu-dropdown,
.user-menu .dropdown {
  box-shadow: 0 8px 30px rgba(0,0,0,.85) !important;
}

.user-menu .menu-item:hover,
.user-menu .menu-item:hover *,
.user-menu a:hover,
.menu-dropdown .menu-item:hover,
.menu-dropdown .menu-item:hover * {
  background: #303030 !important;
  color: #ffffff !important;
}

/* Dropdowns generales */
.menu-dropdown,
.menu-content,
.dropdown,
.context-menu,
.settings-menu,
.user-menu-panel,
.user-menu-content {
  background: #202020 !important;
  color: #ffffff !important;
  border: 1px solid #3a3a3a !important;
}

.menu-dropdown *,
.menu-content *,
.dropdown *,
.context-menu *,
.settings-menu * {
  background-color: transparent !important;
  color: #ffffff !important;
}

.menu-dropdown a,
.menu-content a,
.dropdown a,
.context-menu a,
.settings-menu a {
  color: #ffffff !important;
}

.menu-dropdown a:hover,
.menu-content a:hover,
.dropdown a:hover,
.context-menu a:hover,
.settings-menu a:hover {
  background: #303030 !important;
  color: #ffffff !important;
}

/* Conexiones */
.list-item,
.connection,
.connection-group > .caption,
.connection-list .caption,
.recent-connections .caption,
.connection .caption {
  background: #242424 !important;
  color: #ffffff !important;
  border-color: #333 !important;
}

.list-item:hover,
.connection:hover,
.connection.selected,
.list-item.selected {
  background: #303030 !important;
  color: #ffffff !important;
}

.list-item *,
.connection *,
.connection .name,
.connection-group .name,
.caption,
.caption * {
  color: #ffffff !important;
}

/* El verde feo de selección */
.selected,
.selected *,
.active,
.active *,
.current,
.current * {
  background-color: #2f2f2f !important;
  color: #ffffff !important;
}

/* Tabs y configuración */
.page-tabs,
.page-tabs *,
.tab,
.tabs,
.tabbed-pane,
.tabbed-pane * {
  background-color: #1b1b1b !important;
  color: #ffffff !important;
  border-color: #333 !important;
}

.page-tabs .page-tab:hover,
.page-tabs .page-tab.selected,
.tab:hover,
.tab.selected {
  background: #303030 !important;
  color: #ffffff !important;
}

/* Formularios */
input,
select,
textarea {
  background: #292929 !important;
  color: #ffffff !important;
  border: 1px solid #555 !important;
}

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

button,
input[type="submit"],
.action-button,
.login-ui .login-dialog .buttons input[type="submit"] {
  background: #333333 !important;
  color: #ffffff !important;
  border: 1px solid #555 !important;
}

button:hover,
input[type="submit"]:hover,
.action-button:hover {
  background: #444444 !important;
  color: #ffffff !important;
}

a,
a:visited,
a:hover {
  color: #8fd3ff !important;
}

/* Tablas */
table,
thead,
tbody,
tr,
td,
th {
  background: #1f1f1f !important;
  color: #f5f5f5 !important;
  border-color: #333 !important;
}

/* Iconos */
.icon,
.menu-item .icon,
.user-menu .icon {
  color: #ffffff !important;
  filter: invert(1) brightness(1.5) !important;
}

/* QR: mantenerlo blanco para que escanee bien */
.qr-code,
img[src*="qr"] {
  background: #ffffff !important;
  padding: 12px !important;
  filter: none !important;
}

.logo,
.login-ui .logo {
  filter: none !important;
}

/* Overlay de logout, diálogos y modales */
#dialog,
.dialog-container,
.dialog,
.modal,
.modal-dialog,
.overlay,
.shade,
.mask,
.login-overlay,
.logout-overlay,
.session-expired,
.connection-lost {
    background-color: rgba(0,0,0,0.85) !important;
    color: #ffffff !important;
}

/* Fondo completo detrás de diálogos */
body:has(.dialog),
body:has(.logout-dialog) {
    background: #101010 !important;
}

/* Popup */
.dialog,
.logout-dialog,
.message-dialog {
    background: #1f1f1f !important;
    color: #ffffff !important;
    border: 1px solid #444 !important;
    box-shadow: 0 0 25px rgba(0,0,0,.8) !important;
}

.dialog *,
.logout-dialog *,
.message-dialog * {
    color: #ffffff !important;
}


/* Selectores y dropdowns de Guacamole */

select,
option,
.guac-select,
.guac-dropdown,
.dropdown,
.dropdown-menu,
.dropdown-menu *,
select * {
    background: #2b2b2b !important;
    color: #ffffff !important;
    border-color: #555 !important;
}

/* Angular Material (algunas versiones de Guacamole lo usan) */

md-select,
md-select-value,
md-option,
md-content,
md-select-menu,
md-select-menu *,
md-option *,
md-backdrop {
    background: #2b2b2b !important;
    color: #ffffff !important;
}

/* Lista desplegable abierta */

[role="listbox"],
[role="option"],
[role="menu"],
[role="menuitem"] {
    background: #2b2b2b !important;
    color: #ffffff !important;
}

/* Inputs numéricos */

input[type="number"] {
    background: #2b2b2b !important;
    color: #ffffff !important;
}

/* Campos de configuración */

.parameters input,
.parameters select,
.parameters textarea,
.attributes input,
.attributes select,
.attributes textarea {
    background: #2b2b2b !important;
    color: #ffffff !important;
    border: 1px solid #555 !important;
}

/* Logout / logged out screen */
body,
html,
body.logged-out,
body.login,
.logout-ui,
.logged-out,
.login-ui,
div[class*="logout"],
div[class*="logged-out"] {
    background: #101010 !important;
    background-color: #101010 !important;
    color: #ffffff !important;
}

/* Caja de "You have been logged out" */
.notification,
.logged-out .notification,
.logout-ui .notification,
div[class*="notification"] {
    background: #1f1f1f !important;
    color: #ffffff !important;
    border: 1px solid #444 !important;
    box-shadow: 0 0 30px rgba(0,0,0,.8) !important;
}

/* Header negro de la caja */
.notification .title,
.notification-title,
div[class*="notification"] .title {
    background: #111111 !important;
    color: #ffffff !important;
}

/* Botón Re-login */
.notification button,
.notification input[type="submit"],
.logged-out button,
.logout-ui button,
a[href*="login"] {
    background: #333333 !important;
    color: #ffffff !important;
    border: 1px solid #666 !important;
}

.notification button:hover,
.logged-out button:hover,
.logout-ui button:hover {
    background: #444444 !important;
    color: #ffffff !important;
}
