/* ============================================================
   TIB Branding — Login Page (Guacamole 1.6.0)
   Override visual properties only — do NOT touch position/display
   so Guacamole's native centering (absolute + translate) stays intact.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

:root {
    --tib-red:      #e30613;
    --tib-red-dark: #b40510;
    --tib-red-glow: rgba(227, 6, 19, 0.18);
    --tib-bg:       #f2f3f5;
    --tib-surface:  #ffffff;
    --tib-border:   #c8c8d8;
    --tib-input-bg: #f4f4f8;
    --tib-text:     #1a1a2e;
    --tib-muted:    #7a7a95;
    --tib-dim:      #b0b0c3;
    --radius:       6px;
    --transition:   0.15s ease;
}

/* ── Page background — visual only, no layout change ── */
div.login-ui {
    background-color:  var(--tib-bg) !important;
    background-image:  none !important;
}

/* Top red accent bar */
div.login-ui::before {
    content:    '';
    position:   fixed;
    top:        0;
    left:       0;
    right:      0;
    height:     3px;
    background: var(--tib-red);
    z-index:    9999;
    pointer-events: none;
}

/* ── Login card — visual only, centering left to Guacamole ── */
div.login-ui div.login-dialog {
    background-color: var(--tib-surface) !important;
    border:           1px solid var(--tib-border) !important;
    border-radius:    10px !important;
    box-shadow:       0 4px 32px rgba(0,0,0,0.10), 0 1px 4px rgba(0,0,0,0.06) !important;
    padding:          2.5rem 2.25rem 2rem !important;
    min-width:        320px !important;
    font-family:      'Inter', system-ui, sans-serif !important;
}

/* ── Logo ── */
div.login-ui div.login-dialog .logo {
    background-image:    url('app/ext/tib-branding/images/logo_TIB.png') !important;
    background-size:     contain !important;
    background-repeat:   no-repeat !important;
    background-position: center !important;
    width:               160px !important;
    height:              60px !important;
    margin:              0 auto 1.5rem !important;
    filter:              none !important;
    display:             block !important;
}

/* ── Title ── */
div.login-ui div.login-dialog h1,
div.login-ui div.login-dialog h2 {
    font-family:    'Inter', system-ui, sans-serif !important;
    color:          var(--tib-text) !important;
    font-size:      0.95rem !important;
    font-weight:    600 !important;
    text-align:     center !important;
    margin:         0 0 0.3rem !important;
    text-shadow:    none !important;
}

/* ── Subtitle ── */
div.login-ui div.login-dialog .subtitle,
div.login-ui div.login-dialog .description {
    font-family:   'Inter', system-ui, sans-serif !important;
    color:         var(--tib-muted) !important;
    font-size:     0.75rem !important;
    text-align:    center !important;
    margin-bottom: 1.5rem !important;
}

/* ── Divider above form ── */
div.login-ui div.login-dialog .login-form,
div.login-ui div.login-dialog form {
    border-top:  1px solid var(--tib-border) !important;
    padding-top: 1.25rem !important;
    margin-top:  0.5rem !important;
}

/* ── Field header ("Connexion") ── */
div.login-ui div.login-dialog .field-header {
    font-family:    'Inter', system-ui, sans-serif !important;
    color:          var(--tib-muted) !important;
    font-size:      0.7rem !important;
    font-weight:    500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    text-align:     center !important;
    display:        block !important;
    margin-bottom:  1rem !important;
}

/* ── Labels ── */
div.login-ui div.login-dialog label {
    font-family:    'Inter', system-ui, sans-serif !important;
    color:          var(--tib-muted) !important;
    font-size:      0.7rem !important;
    font-weight:    500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    display:        block !important;
    margin-bottom:  0.3rem !important;
}

/* ── Inputs ── */
div.login-ui div.login-dialog input[type="text"],
div.login-ui div.login-dialog input[type="password"] {
    font-family:   'Inter', system-ui, sans-serif !important;
    background:    var(--tib-input-bg) !important;
    border:        1px solid var(--tib-border) !important;
    border-radius: var(--radius) !important;
    color:         var(--tib-text) !important;
    font-size:     0.875rem !important;
    padding:       0.6rem 0.85rem !important;
    width:         100% !important;
    box-sizing:    border-box !important;
    outline:       none !important;
    box-shadow:    none !important;
    margin-bottom: 0.75rem !important;
    transition:    border-color var(--transition), box-shadow var(--transition) !important;
}

div.login-ui div.login-dialog input[type="text"]:focus,
div.login-ui div.login-dialog input[type="password"]:focus {
    border-color: var(--tib-red) !important;
    box-shadow:   0 0 0 3px var(--tib-red-glow) !important;
    background:   #ffffff !important;
}

/* ── Submit button ── */
div.login-ui div.login-dialog input[type="submit"],
div.login-ui div.login-dialog button[type="submit"],
div.login-ui div.login-dialog button {
    font-family:     'Inter', system-ui, sans-serif !important;
    background:      var(--tib-red) !important;
    background-image: none !important;
    color:           #ffffff !important;
    border:          none !important;
    border-radius:   var(--radius) !important;
    font-size:       0.875rem !important;
    font-weight:     600 !important;
    letter-spacing:  0.025em !important;
    padding:         0.7rem 1.5rem !important;
    width:           100% !important;
    cursor:          pointer !important;
    box-shadow:      0 2px 8px rgba(227,6,19,0.3) !important;
    text-shadow:     none !important;
    transition:      background var(--transition), box-shadow var(--transition), transform 0.1s !important;
    margin-top:      0.25rem !important;
}

div.login-ui div.login-dialog input[type="submit"]:hover,
div.login-ui div.login-dialog button[type="submit"]:hover,
div.login-ui div.login-dialog button:hover {
    background:  var(--tib-red-dark) !important;
    box-shadow:  0 4px 16px rgba(227,6,19,0.4) !important;
    transform:   translateY(-1px) !important;
}

div.login-ui div.login-dialog input[type="submit"]:active,
div.login-ui div.login-dialog button[type="submit"]:active,
div.login-ui div.login-dialog button:active {
    transform:  translateY(0) !important;
    box-shadow: 0 1px 4px rgba(227,6,19,0.25) !important;
}

/* ── Error ── */
div.login-ui div.login-dialog .error,
div.login-ui div.login-dialog .login-error {
    font-family:   'Inter', system-ui, sans-serif !important;
    background:    rgba(227, 6, 19, 0.07) !important;
    border:        1px solid rgba(227, 6, 19, 0.25) !important;
    border-radius: var(--radius) !important;
    color:         var(--tib-red-dark) !important;
    font-size:     0.8rem !important;
    padding:       0.6rem 0.85rem !important;
    text-align:    center !important;
    margin-top:    0.5rem !important;
}

/* ── Footer (injecté par footer.js) ── */
div.login-ui .tib-footer {
    position:       fixed !important;
    bottom:         1.25rem !important;
    left:           0 !important;
    right:          0 !important;
    font-family:    'Inter', system-ui, sans-serif !important;
    color:          var(--tib-dim) !important;
    font-size:      0.68rem !important;
    letter-spacing: 0.03em !important;
    text-align:     center !important;
    z-index:        100 !important;
}

div.login-ui .tib-footer a {
    color:           var(--tib-red) !important;
    text-decoration: none !important;
    font-weight:     500 !important;
}

div.login-ui .tib-footer a:hover {
    text-decoration: underline !important;
}
/* ============================================================
   TIB Branding — Application-wide Theme (Guacamole 1.6.0)
   ============================================================ */

:root {
    --tib-red:        #e30613;
    --tib-red-dark:   #b40510;
    --tib-red-glow:   rgba(227, 6, 19, 0.3);
    --tib-bg:         #0f0f1a;
    --tib-surface:    #1a1a2e;
    --tib-surface-2:  #16213e;
    --tib-border:     rgba(255, 255, 255, 0.1);
    --tib-text:       #f0f0f5;
    --tib-text-muted: #8888aa;
    --tib-radius:     8px;
    --tib-transition: 0.18s ease;
}

/* ── Custom scrollbars ── */
* {
    scrollbar-width: thin;
    scrollbar-color: rgba(227,6,19,0.45) transparent;
}
*::-webkit-scrollbar        { width: 6px; height: 6px; }
*::-webkit-scrollbar-track  { background: transparent; }
*::-webkit-scrollbar-thumb  { background: rgba(227,6,19,0.4); border-radius: 3px; }
*::-webkit-scrollbar-thumb:hover { background: var(--tib-red); }

/* ── Selection ── */
::selection {
    background: rgba(227, 6, 19, 0.25) !important;
    color: inherit !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;

}
.restrictionList{border:0}button.restrictionListButton{font-size:.75em}img.restrictionListHeader{width:.75em;height:.75em}img.restrictionListItem{width:1em;height:1em}