/*
 * 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;

}
/* Restor-PC Accès distant */

html,
body,
.login-ui {
    background: #090909 !important;
    color: #f5f5f5 !important;
}

/* Zone centrale */
.login-ui .login-dialog-middle {
    background: transparent !important;
}

/* Carte de connexion */
.login-ui .login-dialog {
    background: #161616 !important;
    border: 1px solid rgba(212, 175, 55, 0.40) !important;
    border-radius: 16px !important;
    box-shadow:
        0 24px 70px rgba(0, 0, 0, 0.70),
        0 0 45px rgba(212, 175, 55, 0.06) !important;
    padding: 28px !important;
}

/* Logo officiel */
.login-ui .login-dialog .logo {
    width: 100% !important;
    height: 170px !important;
    margin: 0 auto 16px auto !important;

    background-image:
        url("app/ext/restorpc-branding/images/restorpc-guacamole.png") !important;

    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Cache Apache Guacamole + version */
.login-ui .login-dialog .version {
    display: none !important;
}

/* Texte d'aide */
.login-ui .login-dialog p {
    color: #a3a3a3 !important;
}

/* Champs */
.login-ui input[type="text"],
.login-ui input[type="password"] {
    background: #0d0d0d !important;
    color: #f5f5f5 !important;

    border: 1px solid #303030 !important;
    border-radius: 9px !important;
}

.login-ui input[type="text"]:focus,
.login-ui input[type="password"]:focus {
    border-color: #d4af37 !important;
    box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.16) !important;
}

/* Bouton connexion */
.login-ui input.login {
    background: #d4af37 !important;
    color: #090909 !important;

    border: 0 !important;
    border-radius: 9px !important;

    font-weight: 700 !important;
}

.login-ui input.login:hover {
    background: #e6c75a !important;
}

/* Interface après connexion */
.header {
    background: #111111 !important;
    border-bottom: 1px solid #262626 !important;
}

.menu,
.menu-dropdown {
    background: #161616 !important;
}

a {
    color: #d4af37 !important;
}

/* Sélection / focus */
.selected,
.focused {
    border-color: #d4af37 !important;
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #090909;
}

::-webkit-scrollbar-thumb {
    background: #333333;
    border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
    background: #d4af37;
}

/* Restor-PC - visibilité champs login */
.login-ui input[type="text"],
.login-ui input[type="password"] {
    color: #f5f5f5 !important;
    caret-color: #d4af37 !important;
}

.login-ui input[type="text"]::placeholder,
.login-ui input[type="password"]::placeholder {
    color: #a3a3a3 !important;
    opacity: 1 !important;
}

/* Firefox */
.login-ui input[type="text"]::-moz-placeholder,
.login-ui input[type="password"]::-moz-placeholder {
    color: #a3a3a3 !important;
    opacity: 1 !important;
}

/* =========================================================
   Restor-PC - lisibilité des listes / connexions Guacamole
   ========================================================= */

/* Lignes de connexion */
.settings .list-item,
.settings .connection.list-item,
.connection-list .list-item,
.connection-list .connection {
    background: #111111 !important;
    color: #f5f5f5 !important;
}

/* Noms, captions et textes */
.settings .list-item .caption,
.settings .list-item .name,
.settings .connection .caption,
.settings .connection .name,
.connection-list .caption,
.connection-list .name {
    color: #f5f5f5 !important;
}

/* Icônes protocole / connexion */
.settings .list-item .icon,
.settings .connection .icon,
.connection-list .icon {
    filter: invert(1) brightness(1.25) !important;
    opacity: 0.95 !important;
}

/* Hover : plus de vert clair Guacamole */
.settings .list-item:hover,
.settings .connection.list-item:hover,
.connection-list .list-item:hover,
.connection-list .connection:hover {
    background: rgba(212, 175, 55, 0.16) !important;
    color: #f5f5f5 !important;
}

/* Sélection */
.settings .list-item.selected,
.settings .connection.selected,
.connection-list .selected {
    background: rgba(212, 175, 55, 0.24) !important;
    border-left: 3px solid #d4af37 !important;
    color: #ffffff !important;
}

/* Garde le nom lisible même pendant hover / sélection */
.settings .list-item:hover *,
.settings .list-item.selected *,
.connection-list .list-item:hover *,
.connection-list .list-item.selected * {
    color: #f5f5f5 !important;
}

/* Zone "aucune connexion récente" */
.recent-connections,
.recent-connections *,
.recent-connections .empty {
    color: #a3a3a3 !important;
}

/* Champ filtre */
.settings input[type="text"],
.settings input[type="search"] {
    background: #111111 !important;
    color: #f5f5f5 !important;
    border: 1px solid #303030 !important;
}

.settings input::placeholder {
    color: #a3a3a3 !important;
    opacity: 1 !important;
}


/* =========================================================
   Restor-PC - visibilité forcée des lignes connexion
   Guacamole 1.6.x
   ========================================================= */

/* Conteneurs de listes */
.list-item,
.list-item .caption,
.list-item .caption *,
.connection,
.connection *,
.connection-group,
.connection-group * {
    color: #f5f5f5 !important;
}

/* Caption normale */
.list-item .caption {
    background: #111111 !important;
}

/* Liens / noms de connexion */
.list-item .caption a,
.list-item .caption span,
.list-item .caption div,
.list-item .caption .name,
.connection .name {
    color: #f5f5f5 !important;
}

/* Icônes sombres */
.list-item .caption .icon,
.list-item .icon,
.connection .icon {
    filter: invert(1) brightness(1.35) !important;
    opacity: 1 !important;
}

/* Hover natif Guacamole */
.list-item:not(.selected) .caption:hover {
    background: rgba(212, 175, 55, 0.18) !important;
    color: #ffffff !important;
}

/* Sélection */
.list-item.selected .caption,
.list-item.selected .caption * {
    background: rgba(212, 175, 55, 0.22) !important;
    color: #ffffff !important;
}

/* Zone settings / connexions */
.settings .list-item,
.settings .list-item *,
.settings-connections .list-item,
.settings-connections .list-item * {
    color: #f5f5f5 !important;
}

/* Eviter les couleurs héritées noires */
.settings .caption,
.settings .caption *,
.connection-list .caption,
.connection-list .caption * {
    color: #f5f5f5 !important;
}


/* Restor-PC - corrections finales accueil Guacamole 1.6 */

/* "Pas de connexion récente." */
.recent-connections .placeholder {
    color: #a3a3a3 !important;
    opacity: 1 !important;
}

/* Champ Filtre de la page d'accueil */
guac-group-list-filter input,
guac-group-list-filter input[type="text"],
guac-group-list-filter input[type="search"] {
    background: #111111 !important;
    color: #f5f5f5 !important;
    border-color: #303030 !important;
}

guac-group-list-filter input::placeholder {
    color: #a3a3a3 !important;
    opacity: 1 !important;
}

/* Icône loupe du filtre */
guac-group-list-filter .icon,
guac-group-list-filter .search-icon {
    opacity: 0.75 !important;
    filter: invert(1) brightness(1.2) !important;
}


/* =========================================================
   Restor-PC - menu utilisateur Guacamole 1.6
   ========================================================= */

/* Fond du menu déroulant */
.user-menu .menu-dropdown .menu-contents {
    background: #161616 !important;
    border-left: 1px solid #262626 !important;
    border-bottom: 1px solid #262626 !important;
    box-shadow: 0 12px 35px rgba(0,0,0,0.55) !important;
}

/* Profil */
.user-menu .menu-dropdown .menu-contents .profile {
    border-bottom: 1px solid #333333 !important;
    color: #f5f5f5 !important;
}

.user-menu .menu-dropdown .menu-contents .profile .full-name {
    color: #d4af37 !important;
}

.user-menu .menu-dropdown .menu-contents .profile .organization,
.user-menu .menu-dropdown .menu-contents .profile .organizational-role {
    color: #a3a3a3 !important;
}

/* Liens du menu */
.user-menu .menu-dropdown .menu-contents li a {
    color: #f5f5f5 !important;
    background-color: #161616 !important;
}

/* Hover doré sombre */
.user-menu .menu-dropdown .menu-contents li a:hover {
    background-color: rgba(212,175,55,0.16) !important;
    color: #ffffff !important;
}

/* Élément courant */
.user-menu .menu-dropdown .menu-contents li a.current,
.user-menu .menu-dropdown .menu-contents li a.current:hover {
    background-color: #111111 !important;
    color: #777777 !important;
    opacity: 1 !important;
}

/* Déconnexion */
.user-menu .menu-dropdown .menu-contents li a.logout {
    color: #e6c75a !important;
}

/* Menu fermé / ouvert dans le header */
.user-menu .menu-dropdown {
    background: #111111 !important;
    border-left: 1px solid #262626 !important;
}

.user-menu .menu-dropdown:hover,
.user-menu .menu-dropdown.open,
.user-menu .menu-dropdown.open:hover {
    background: #161616 !important;
}

/* Titre utilisateur */
.user-menu .menu-dropdown .menu-title {
    color: #f5f5f5 !important;
}


/* =========================================================
   Restor-PC - finitions accueil
   ========================================================= */

/* Texte "Pas de connexion récente." */
.recent-connections .placeholder {
    color: #a3a3a3 !important;
    opacity: 1 !important;
}

/* Connexions - état normal */
.all-connections .connection,
.all-connections .connection a,
.all-connections .connection .caption {
    background: #111111 !important;
    color: #f5f5f5 !important;
}

/* Hover Restor-PC */
.all-connections .connection:hover,
.all-connections .connection:hover a,
.all-connections .connection:hover .caption {
    background: rgba(212, 175, 55, 0.16) !important;
    color: #ffffff !important;
}

/* Nom connexion */
.all-connections .connection .name {
    color: #f5f5f5 !important;
}

/* Élément sélectionné */
.all-connections .connection.selected,
.all-connections .connection.selected .caption {
    background: rgba(212, 175, 55, 0.22) !important;
    border-left: 3px solid #d4af37 !important;
}


/* =========================================================
   Restor-PC - finitions accueil définitives
   ========================================================= */

/* Champ filtre */
.connection-list-ui guac-group-list-filter input {
    background: #111111 !important;
    color: #f5f5f5 !important;
    border: 1px solid #303030 !important;
}

.connection-list-ui guac-group-list-filter input::placeholder {
    color: #a3a3a3 !important;
    opacity: 1 !important;
}

/* Connexion normale */
.all-connections .list-item .caption {
    background: #111111 !important;
    color: #f5f5f5 !important;
    border-left: 3px solid transparent !important;
}

/* Nom */
.all-connections .list-item .caption *,
.all-connections .list-item .caption .name {
    color: #f5f5f5 !important;
}

/* Hover Restor-PC */
.all-connections .list-item:not(.selected) .caption:hover {
    background: rgba(212,175,55,0.16) !important;
    border-left-color: #d4af37 !important;
    color: #ffffff !important;
}

/* Sélection */
.all-connections .list-item.selected .caption {
    background: rgba(212,175,55,0.22) !important;
    border-left-color: #d4af37 !important;
    color: #ffffff !important;
}

