/* Local, disposable branding example for Apache Guacamole 1.6.0.
 * Scoped to the login so session controls and administration retain their UI.
 * No external fonts, scripts or resources are loaded.
 */
div.login-ui {
    --brand-ink: #182326;
    --brand-muted: #626a6c;
    --brand-paper: #faf8f4;
    --brand-line: #d5d7d3;
    --brand-red: #a51c30;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    min-height: 100%;
    height: auto;
    padding: 56px 24px;
    color: var(--brand-ink);
    font-family: "Segoe UI", "Liberation Sans", Arial, sans-serif;
    background-color: #101a1d;
    background-image:
        radial-gradient(ellipse at 8% 4%, rgba(136, 39, 54, .25), transparent 48%),
        radial-gradient(ellipse at 90% 95%, rgba(86, 117, 117, .17), transparent 48%),
        linear-gradient(rgba(224, 225, 213, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(224, 225, 213, .025) 1px, transparent 1px);
    background-size: auto, auto, 64px 64px, 64px 64px;
    isolation: isolate;
}

.login-ui::before,
.login-ui::after {
    content: "";
    position: fixed;
    width: min(66vw, 880px);
    aspect-ratio: 1;
    border: 1px solid rgba(215, 215, 203, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 72px rgba(215, 215, 203, .025),
                0 0 0 144px rgba(215, 215, 203, .018);
    pointer-events: none;
    z-index: -1;
}

.login-ui::before { left: -32vw; top: -31vw; }
.login-ui::after { right: -35vw; bottom: -36vw; }

.login-ui .login-dialog-middle {
    display: block;
    width: 100%;
    max-width: 456px;
}

.login-ui .login-dialog,
.login-ui.continuation .login-dialog {
    display: block;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding: 42px 42px 40px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 18px;
    background: var(--brand-paper);
    color: var(--brand-ink);
    font-size: 16px;
    text-align: left;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .4), 0 3px 12px rgba(0, 0, 0, .14);
}

.login-ui .login-dialog::before {
    content: "";
    position: absolute;
    left: 42px;
    right: 42px;
    top: -1px;
    height: 3px;
    background: linear-gradient(90deg, #8b1223, #cb3540 60%, #ce9b72);
    border-radius: 0 0 3px 3px;
}

.login-ui .login-dialog .logo {
    width: 280px;
    max-width: 100%;
    height: 90px;
    margin: 0 auto 28px;
    background-image: url("app/ext/control-acceso-example/images/logo.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.login-ui .login-dialog .version {
    padding: 0;
    margin: 0;
}

.login-ui .login-dialog .version .app-name {
    font-family: "Segoe UI", "Liberation Sans", Arial, sans-serif;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 650;
    letter-spacing: -.9px;
    text-transform: none;
    text-align: center;
}

.login-ui .login-dialog .version .version-number {
    display: none;
}

.login-ui .login-dialog .branding-intro {
    margin: 12px 0 30px;
    text-align: center;
    color: var(--brand-muted);
    font-size: 14px;
    line-height: 1.6;
}

.login-ui .login-fields .labeled-field {
    margin: 0 0 20px;
}

.login-ui .login-fields .labeled-field .field-header {
    display: block;
    position: static;
    z-index: auto;
    margin: 0 0 8px;
    opacity: 1;
    overflow: visible;
    color: #414a4d;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.login-ui .login-dialog .login-fields input,
.login-ui .login-dialog .login-fields .labeled-field.empty input {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--brand-line);
    border-radius: 7px;
    background: #fff;
    color: var(--brand-ink);
    font: inherit;
    font-size: 16px;
    box-shadow: 0 1px 2px rgba(24, 35, 38, .025);
}

.login-ui .login-dialog .login-fields input:focus {
    outline: 3px solid rgba(165, 28, 48, .15);
    outline-offset: 1px;
    border-color: var(--brand-red);
    background: #fff;
}

.login-ui .login-dialog .buttons {
    margin: 28px 0 0;
}

.login-ui .login-dialog .buttons input[type="submit"] {
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    padding: 13px 16px;
    border: 1px solid #951528;
    border-radius: 7px;
    background: var(--brand-red);
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    text-shadow: none;
    box-shadow: 0 4px 10px rgba(165, 28, 48, .16);
    cursor: pointer;
}

.login-ui .login-dialog .buttons input[type="submit"]:hover {
    background: #881528;
    border-color: #881528;
}

.login-ui .login-dialog .buttons input[type="submit"]:focus-visible {
    outline: 3px solid #182326;
    outline-offset: 3px;
}

.login-ui .login-dialog .buttons input[type="submit"]:disabled {
    opacity: .6;
    cursor: wait;
}

.login-ui.error p.login-error {
    box-sizing: border-box;
    position: fixed;
    top: 12px;
    left: 16px;
    right: 16px;
    max-width: 600px;
    margin: 0 auto;
    padding: 14px 18px;
    border: 1px solid #cf7e86;
    border-radius: 8px;
    background: #fff0f0;
    color: #84192b;
    font-size: 14px;
    z-index: 2;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .2);
}

/* Keep Guacamole's continuation layout, QR code and help text functional. */
.login-ui.continuation .login-dialog-middle { max-width: 600px; }
.login-ui.continuation .branding-intro { display: none; }
.login-ui.continuation .login-dialog { line-height: 1.55; }
.login-ui .login-dialog img { max-width: 100%; height: auto; }
.login-ui .login-dialog a { color: #981b2c; }

@media (max-width: 520px) {
    div.login-ui { padding: 30px 16px; }
    .login-ui .login-dialog,
    .login-ui.continuation .login-dialog { padding: 30px 24px; border-radius: 13px; }
    .login-ui .login-dialog::before { left: 24px; right: 24px; }
    .login-ui .login-dialog .logo { width: 252px; height: 81px; margin-bottom: 24px; }
    .login-ui .login-dialog .version .app-name { font-size: 27px; }
    .login-ui .login-dialog .branding-intro { margin-bottom: 25px; }
}

@media (prefers-reduced-motion: reduce) {
    div.login-ui,
    .login-ui.error .login-dialog { animation: none; }
}
/*
 * 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}