/* HYPERMARC Remote Gateway Theme - Complete */

body {
    background-color: #f4f4f4;
    background-repeat: no-repeat;
}

div.login-ui {
    background-color: #e9ecef !important;
}

/* Tab & Menu Settings */
.page-tabs .page-list li a[href].current {
    background: #008ce6 !important; /* HYPERMARC Blue */
    color: #FFFFFF !important;
}

.page-tabs .page-list li a[href]:hover {
    background: #006bb3 !important; /* Darker Blue */
    color: #FFFFFF !important;
}

/* --- DASHBOARD DROPDOWNS & MENÜS --- */
.page-list-level li,
.menu-dropdown {
    background: #ffffff !important; /* Helles Grau/Weiß statt Schwarz in der Ecke! */
    color: #1a1a1a !important;
}

.menu-dropdown .menu-title,
.menu-dropdown .menu-indicator {
    color: #1a1a1a !important;
    border-top-color: #1a1a1a !important; /* Macht den kleinen Pfeil im Menü dunkel */
}

.list-item:not(.selected) .caption:hover {
    background: #e6f2ff !important; 
    border: solid 1px #008ce6 !important;
}

.recent-connections .connection:hover {
    background: #cce6ff !important;
}

.user-menu {
    background: #f8f9fa !important;
    color: #1a1a1a !important;    
}

.user-menu:hover {
    background: #e6f2ff !important;
    color: #1a1a1a !important;    
}

.menu-dropdown .ng-isolate-scope .open {
    background: #f8f9fa !important;
}

/* --- DASHBOARD HEADER (Eingeloggter Zustand) --- */
.header {
    background: #f8f9fa !important; /* Helles Grau */
    color: #1a1a1a !important;      /* Dunkle Schrift */
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.15); 
}

.header a {
    color: #1a1a1a !important;
}
.header a:hover {
    color: #008ce6 !important;
}

.list-item .name {
    color: #008ce6;
    font-weight: 500;
    padding: 0.1em;
    margin-left: 0.25em;
}

/* Buttons */
a.button, button, input[type=submit] {
    background-color: #008ce6;
    color: #ffffff;
    border: none;
    border-radius: 4px;
}

a.button:hover, button:hover, input[type=submit]:hover {
    background-color: #006bb3;
}

/* --- LOGIN DIALOG --- */
.login-ui .login-dialog {
    background-color: #ffffff;
    max-width: 5in;
    border: solid 3px #008ce6;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.login-ui .login-dialog .logo {
    display: block;
    margin: 1em auto;
    width: 10em;
    height: 6em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(app/ext/geek2gether/images/geek2gether_logo.png);
}

.login-ui .login-dialog .version .app-name {
    font-weight: 600;
    text-transform: none;
    text-align: center;
    font-size: 1.2em;
    color: #1a1a1a;
    font-family: Arial, Helvetica, sans-serif; 
}

/* Login Error Message */
.login-ui.error p.login-error {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    padding: 1em;
    margin: 0.2em;
    background: #e63946;
    border: 1px solid #b71c1c;
    border-radius: .25em;
    text-align: center;
    color: #ffffff;
    font-weight: bold;
    z-index: 200;
}

/* --- LABELS ALS PLATZHALTER IM FELD --- */
.login-ui .login-dialog .labeled-field {
    position: relative;
    margin-bottom: 10px; 
}

/* Guacamole nutzt .field-header statt <label>! */
.login-ui .login-dialog .labeled-field .field-header {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: #888 !important; /* Dezentes Platzhalter-Grau */
    font-weight: 400 !important;
    pointer-events: none; /* Lässt Klicks durch den Text ins Feld */
    margin: 0;
    transition: opacity 0.1s ease-in-out;
    z-index: 10;
}

/* Platzhalter ausblenden, wenn getippt wird */
.login-ui .login-dialog .labeled-field:focus-within .field-header,
.login-ui .login-dialog .labeled-field:has(input.ng-not-empty) .field-header {
    opacity: 0;
    visibility: hidden;
}

/* Input Fields */
input[name="username"], input[name="password"], input[name="guac-totp"], input[ng-model="searchString"] {
    background-color: #f9f9f9 !important;
    border: 1px solid #ccc;
    color: #333;
    border-radius: 4px;
    padding: 10px 15px !important;
    height: 42px !important;
    box-sizing: border-box;
}

/* --- NAVIGATION HEADER (Login-Seite) --- */
.navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    z-index: 100;
    width: 100%;
    height: 64px;
    background: #f8f9fa !important; /* Sehr helles Grau */
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.15);
    padding: 0 50px;
    box-sizing: border-box;
}

.navigation a {
    color: #1a1a1a !important; 
    text-align: center;
    padding: 8px 16px;
    text-decoration: none;
    border-radius: 4px;
    font-family: Arial, sans-serif;
    font-weight: 500;
}

.navigation a:hover {
    background-color: #008ce6 !important;
    color: white !important;
}

/* Top Left Logo in Header */
.hlogo {
    width: 180px;
    height: 50px;
    background: transparent url(app/ext/geek2gether/images/geek2gether_logo.png) no-repeat left center;
    background-size: contain;
    font-size: 0;
    line-height: 0;
    display: block;
}/*
 * 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;

}
.totp-enroll p,.totp-details{font-size:.8em}.totp-qr-code{text-align:center}.totp-qr-code img{margin:1em;border:1px solid rgba(0,0,0,0.25);box-shadow:1px 1px 2px rgba(0,0,0,0.25);cursor:pointer}h3.totp-details-header{font-size:.8em}h3.totp-details-header::before{content:'▸ '}.totp-details-visible h3.totp-details-header::before{content:'▾ '}.totp-details,.totp-hide-details{display:none}.totp-details-visible .totp-details{display:table}.totp-details-visible .totp-hide-details{display:inline}.totp-details-visible .totp-show-details{display:none}.totp-hide-details,.totp-show-details{color:blue;text-decoration:underline;cursor:pointer;margin:0 .25em;font-weight:normal}.totp-details{margin:0 auto}.totp-details th{padding-right:.25em;text-align:left}.totp-details td{font-family:monospace}.totp-detail{display:inline-block;margin:0 .25em}