/* SHINE login page: matches shinefusion.com (hero photo, white wordmark, sky-blue accent).
   Asset URLs use Guacamole's extension path app/ext/<namespace>/..., because the
   extension CSS is bundled into the app stylesheet and relative URLs do not resolve. */
div.login-ui {
    background: #0b1d33 url('app/ext/shine-branding/images/background.jpg') center center / cover no-repeat !important;
}
div.login-ui::before {
    content: ""; position: fixed; inset: 0;
    background: linear-gradient(180deg, rgba(5,18,36,0.10) 0%, rgba(5,18,36,0.38) 100%);
    pointer-events: none;
}
.login-ui .login-dialog {
    position: relative;
    background: rgba(8, 24, 44, 0.78) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    border-top: 3px solid #1ba7e6 !important;
    border-radius: 10px !important;
    box-shadow: 0 18px 48px rgba(0,0,0,0.55) !important;
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    color: #e8f1fa !important;
    padding: 1.6em 2em 1.4em 2em !important;
    width: 26em !important; max-width: 92vw !important;
}
.login-ui .login-dialog .logo {
    background-image: url('app/ext/shine-branding/images/logo.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    width: 100% !important; height: 64px !important;
    margin: 0.6em auto 1.4em auto !important;
}
.login-ui .login-dialog .app-name { display: none !important; }
.login-ui .login-dialog .version, .login-ui .login-dialog .version .version-number { color: rgba(232,241,250,0.55) !important; }
.login-ui .login-dialog .login-fields .labeled-field input,
.login-ui .login-dialog input[type="text"], .login-ui .login-dialog input[type="password"] {
    background: rgba(255,255,255,0.94) !important; color: #0b1d33 !important;
    border: 1px solid rgba(255,255,255,0.35) !important; border-radius: 6px !important;
}
.login-ui .login-dialog .labeled-field .field-header, .login-ui .login-dialog .login-fields .field-header { color: #3d5266 !important; opacity: 1 !important; }
.login-ui .login-dialog .buttons input[type="submit"], .login-ui .login-dialog .button, .login-ui .login-dialog button {
    background: #1ba7e6 !important; border: 1px solid #1ba7e6 !important; color: #ffffff !important;
    border-radius: 6px !important; font-weight: 600 !important; letter-spacing: 0.04em;
}
.login-ui .login-dialog .buttons input[type="submit"]:hover, .login-ui .login-dialog button:hover {
    background: #0a87c4 !important; border-color: #0a87c4 !important;
}
.login-ui .login-dialog .login-error, .login-ui .login-dialog p { color: #ffd2d2; }

.login-ui .login-dialog input::placeholder { color: #5b6f84 !important; opacity: 1 !important; }
.login-ui .login-dialog input::-webkit-input-placeholder { color: #5b6f84 !important; }
.login-ui .login-dialog .version { display: none !important; }
/* Guacamole overlays the field label on the empty input; keep it above our opaque input and readable. */
.login-ui .login-dialog .labeled-field .field-header { z-index: 2 !important; pointer-events: none !important; }
.login-ui .login-dialog .labeled-field .field-header label { color: #4a6076 !important; opacity: 1 !important; }
.login-ui .login-dialog .labeled-field:not(.empty) .field-header { display: none !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;

}
.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}