/* ── Login page background ── */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    height: 100% !important;
}

.login-ui {
    background: #04247b !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100vh !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ── Top card ── */
.login-ui .login-dialog-middle {
    background: #ffffff !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 36px 40px 24px 40px !important;
    width: 380px !important;
    box-sizing: border-box !important;
    box-shadow: 0 -4px 30px rgba(0,0,0,0.3), 4px 0 30px rgba(0,0,0,0.15), -4px 0 30px rgba(0,0,0,0.15) !important;
}

.login-ui .login-dialog {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border: none !important;
}

.login-ui .login-dialog.notification,
.login-ui .notification {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

.login-ui .login-form {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── Logo ── */
.login-ui .login-dialog-middle::before {
    content: '' !important;
    display: block !important;
    background-image: url('app/ext/apparelgroup-branding/logo.png') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    width: 100% !important;
    height: 72px !important;
    margin-bottom: 20px !important;
}

/* ── Hide default guacamole elements ── */
.login-ui .login-dialog .logo,
.login-ui .login-ui-logo {
    display: none !important;
}

/* ── App name ── */
.login-ui .version {
    text-align: center !important;
    margin-bottom: 18px !important;
    border: none !important;
    background: none !important;
}

.login-ui .app-name {
    font-size: 10px !important;
    font-weight: 600 !important;
    color: #bbbbbb !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    display: block !important;
    text-align: center !important;
}

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

/* ── Field labels as placeholders — login page only ── */
.login-ui .labeled-field {
    position: relative !important;
    margin-bottom: 12px !important;
}

.login-ui .field-header {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    left: 13px !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.login-ui .field-header label {
    font-size: 13px !important;
    color: #bbbbbb !important;
    font-weight: normal !important;
}

.login-ui .labeled-field:not(.empty) .field-header label {
    display: none !important;
}

/* ── Input fields — login page only ── */
.login-ui input[type=text],
.login-ui input[type=password] {
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    padding: 11px 13px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    background: #f9f9f9 !important;
    display: block !important;
    margin: 0 !important;
}

.login-ui input[type=text]:focus,
.login-ui input[type=password]:focus {
    outline: none !important;
    border-color: #c3d30a !important;
    box-shadow: 0 0 0 3px rgba(195,211,10,0.12) !important;
    background: #ffffff !important;
}

/* ── Sign In button — login page only ── */
.login-ui .buttons {
    margin-top: 8px !important;
}

.login-ui input[type=submit].login {
    background: #c3d30a !important;
    color: #04247b !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 6px !important;
    width: 100% !important;
    padding: 12px !important;
    font-size: 14px !important;
    cursor: pointer !important;
    letter-spacing: 0.8px !important;
    display: block !important;
    box-sizing: border-box !important;
}

.login-ui input[type=submit].login:hover {
    background: #a8b800 !important;
    color: #ffffff !important;
}

.login-ui input[type=submit].continue-login {
    display: none !important;
}

/* ── Login error ── */
.login-ui .login-error {
    color: #d93025 !important;
    font-size: 12px !important;
    text-align: center !important;
    min-height: 0 !important;
    margin-bottom: 6px !important;
}

.login-ui .login-error:empty {
    display: none !important;
}

/* ── Bottom card (SSO) ── */
.sso-providers {
    background: #ffffff !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.3), 4px 0 30px rgba(0,0,0,0.15), -4px 0 30px rgba(0,0,0,0.15) !important;
    padding: 16px 40px 28px 40px !important;
    width: 380px !important;
    box-sizing: border-box !important;
    position: static !important;
    transform: none !important;
    font-size: 0 !important;
    color: transparent !important;
}

.sso-provider-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.sso-provider-list::before {
    content: 'or' !important;
    display: block !important;
    text-align: center !important;
    font-size: 12px !important;
    color: #aaaaaa !important;
    margin-bottom: 14px !important;
}

.sso-provider-saml {
    width: 100% !important;
    display: block !important;
}

.sso-provider-saml a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: #ffffff !important;
    border: 1px solid #dadce0 !important;
    border-radius: 6px !important;
    padding: 11px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
    font-size: 0 !important;
    cursor: pointer !important;
}

.sso-provider-saml a:hover {
    background: #f8f8f8 !important;
    border-color: #aaaaaa !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.1) !important;
}

.sso-provider-saml a::before {
    content: '' !important;
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21'%3E%3Crect x='0' y='0' width='10' height='10' fill='%23F25022'/%3E%3Crect x='11' y='0' width='10' height='10' fill='%237FBA00'/%3E%3Crect x='0' y='11' width='10' height='10' fill='%2300A4EF'/%3E%3Crect x='11' y='11' width='10' height='10' fill='%23FFB900'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}

.sso-provider-saml a::after {
    content: 'Sign in with Microsoft' !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #3c3c3c !important;
    font-family: 'Segoe UI', Arial, sans-serif !important;
}

/* ── Scrollbar ── */
::-webkit-scrollbar-thumb {
    background: #c3d30a !important;
}

/* ── Fix input field full width ── */
.login-ui .login-fields,
.login-ui .form-group,
.login-ui .form,
.login-ui .fields,
.login-ui .labeled-field,
.login-ui .form-field,
.login-ui .username-field,
.login-ui .password-field {
    width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
}

.login-ui .labeled-field {
    position: relative !important;
    margin-bottom: 12px !important;
    width: 100% !important;
}

/* ── Vertically center placeholder text ── */
.login-ui .field-header {
    top: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    transform: none !important;
}

/* ── Ensure equal height for both fields ── */
.login-ui input[type=text],
.login-ui input[type=password] {
    height: 44px !important;
    padding: 0 13px !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;

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

.login-ui .sso-providers {

    padding: 0.25em 0.5em;
    position: absolute;
    bottom: 0;
    left: 0;

}

.sso-providers ul {
    list-style: none;
}

.sso-providers ul, .sso-providers li {
    display: inline-block;
    margin: 0;
    padding: 0;
}

.sso-providers li::before {
    content: ' / ';
}

.sso-providers li:first-child::before {
    display: none;
}
.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}