/*
 * 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}/* IBIGS Console theme: IBIGS umbrella mark + original soft-blue dark palette.
   Dark from first paint: Guacamole bundles this into app.css, a render-blocking <link> in <head>. */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("app/ext/ibigs-branding/fonts/inter-wght.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("app/ext/ibigs-branding/fonts/barlow-condensed-700.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("app/ext/ibigs-branding/fonts/jetbrains-mono-400.woff2") format("woff2"); }

:root {
  color-scheme: dark;
  /* pre-rebrand soft blue palette (restored 2026-10-09 per Kory) */
  --ib-bg: #0b0f17; --ib-bg-alt: #0f1420; --ib-surface: #121826; --ib-surface-2: #1a2236;
  --ib-line: #253049; --ib-line-strong: #2c3854; --ib-grid: transparent;
  --ib-text: #e6e8ee; --ib-text-strong: #f3f5f9; --ib-text-soft: #b4bccb; --ib-text-faint: #8b95a8;
  --ib-accent: #3b5bdb; --ib-accent-strong: #4c6ef5; --ib-accent-ink: #ffffff;
  --ib-accent-soft: #3b5bdb26; --ib-accent-line: #4c6ef566; --ib-link: #7aa2ff;
  --ib-danger: #e03131; --ib-danger-soft: #e031311a; --ib-danger-line: #e0313166; --ib-danger-text: #ffc9c9;
  --ib-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --ib-display: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  --ib-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
html, body { background: var(--ib-bg) !important; color: var(--ib-text) !important; font-family: var(--ib-sans) !important; }
.view, .home, .settings, .manage-user, .manage-connection, .client-panel, .menu {
  background: var(--ib-bg) !important; color: var(--ib-text) !important; }
a, a:visited { color: var(--ib-link); }
a:hover { color: #a5c0ff; }
::selection { background: var(--ib-accent-line); }

/* ---------- login ---------- */
.login-ui { background: radial-gradient(ellipse at top, #141b2b 0%, #0b0f17 70%) !important; }
.login-ui .login-dialog {
  max-width: 340px !important; padding: 2rem 1.75rem 1.5rem !important;
  background: var(--ib-surface) !important; color: var(--ib-text) !important;
  border: 1px solid var(--ib-line) !important; border-radius: 12px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.6) !important;
  font-family: var(--ib-sans) !important; font-size: 1rem !important;
}
.login-ui .login-dialog .logo {
  width: 64px !important; height: 64px !important; margin: 0 auto .75rem !important;
  background: url("app/ext/ibigs-branding/images/ibigs-mark.svg") center / contain no-repeat !important;
}
.login-ui .login-dialog .version { padding: 0 0 1.25rem !important; text-align: center; }
.login-ui .login-dialog .version .app-name {
  font-family: var(--ib-display) !important; font-weight: 700 !important; font-size: 1.9rem !important;
  line-height: 1 !important; letter-spacing: .02em; text-transform: uppercase; color: var(--ib-text-strong) !important;
}
.login-ui .login-dialog .version::after {
  content: "SSH \00B7  FILES \00B7  IN YOUR BROWSER"; display: block; margin-top: .5rem;
  font-family: var(--ib-mono); font-size: .7rem; letter-spacing: .14em; color: var(--ib-link);
}
.login-ui .login-dialog .version .version-number { display: none !important; }
.login-ui .login-dialog p { color: var(--ib-text-soft) !important; font-size: .9rem; }
/* field labels sit behind the input (z-index:-1): keep inputs transparent, paint the box on the wrapper */
.login-ui .login-fields .labeled-field {
  background: var(--ib-bg-alt) !important; border: 1px solid var(--ib-line-strong) !important;
  border-radius: 6px !important; margin: 0 0 .75rem !important;
}
.login-ui .login-fields .labeled-field:focus-within { border-color: var(--ib-accent-strong) !important; box-shadow: 0 0 0 3px var(--ib-accent-soft) !important; }
.login-ui .login-fields .labeled-field .field-header { color: var(--ib-text-faint) !important; opacity: 1 !important; margin: .7em .8em !important; font-size: .9rem !important; }
.login-ui .login-dialog .login-fields input,
.login-ui .login-fields .labeled-field input, .login-ui .login-fields .labeled-field input:focus,
.login-ui .login-fields .labeled-field.empty input {
  background: transparent !important; color: var(--ib-text-strong) !important; border: none !important;
  box-shadow: none !important; outline: none !important; padding: .7em .8em !important; margin: 0 !important;
  width: 100% !important; box-sizing: border-box; font-family: var(--ib-sans) !important; font-size: .95rem !important;
}
.login-ui .login-fields .labeled-field:not(.empty) .field-header { visibility: hidden; }
.login-ui .login-dialog .buttons { margin: 1rem 0 0 !important; }
.login-ui.error p.login-error {
  background: var(--ib-danger-soft) !important; border: 1px solid var(--ib-danger-line) !important;
  color: var(--ib-danger-text) !important; border-radius: 6px !important; backdrop-filter: blur(6px);
}
/* TOTP enrollment / code step */
.login-ui.continuation .login-dialog { max-width: 420px !important; }
.totp-enroll .totp-qr-code img, .totp-qr-code img { background: #fff; padding: 8px; border-radius: 6px; }
.totp-details, .totp-details th, .totp-details td { background: transparent !important; color: var(--ib-text) !important; }

/* ---------- buttons ---------- */
input[type=submit], button, a.button {
  background: var(--ib-accent) !important; color: var(--ib-accent-ink) !important; border: none !important;
  border-radius: 6px !important; font-family: var(--ib-sans) !important; font-weight: 600 !important; text-shadow: none !important; box-shadow: none !important;
}
input[type=submit]:hover, button:hover, a.button:hover { background: var(--ib-accent-strong) !important; }
input[type=submit]:disabled, button:disabled { background: var(--ib-line-strong) !important; color: var(--ib-text-faint) !important; }
button.danger, a.button.danger, input[type=submit].danger { background: var(--ib-danger) !important; color: #fff !important; }

/* ---------- app surfaces (home, settings, client menu, file browser) ---------- */
input[type=text], input[type=password], input[type=number], input[type=email], input[type=search], select, textarea {
  background: var(--ib-bg-alt) !important; color: var(--ib-text-strong) !important; border: 1px solid var(--ib-line-strong) !important; border-radius: 6px; }
.header, .header h2, .settings .header, .page-tabs, .section-tabs, .menu-dropdown, .menu-contents,
.dialog, .notification, .notification .title-bar, .list-item, table, th, td, .connection-group, .connection {
  background-color: var(--ib-surface) !important; color: var(--ib-text) !important; border-color: var(--ib-line) !important; }
.list-item:hover, tr:hover td { background-color: var(--ib-surface-2) !important; }
.notification .title-bar, th { background: var(--ib-surface-2) !important; color: var(--ib-text-strong) !important; }
.menu { border-right: 1px solid var(--ib-line) !important; }
.menu h2, .menu h3, .menu .header { background: var(--ib-surface) !important; color: var(--ib-text-strong) !important; }
.page-tabs .page-list li a.current, .section-tabs li a.current { color: var(--ib-link) !important; }
.transfer-manager, .file-browser, .file-browser .list-item { background: var(--ib-bg-alt) !important; color: var(--ib-text) !important; }
.transfer .progress { background: var(--ib-accent-soft) !important; }
.transfer .progress .bar { background: var(--ib-accent) !important; }

/* home: readable server names (stock styles are dark-on-dark here) */
.home-view a.home-connection, .home-view a.home-connection .name, .home-view a.home-connection-group,
.home-view a.home-connection-group .name, .home-view .caption, .home-view .caption .name,
.home-view .recent-connections .connection, .home-view .recent-connections .connection .name {
  color: var(--ib-text-strong) !important; opacity: 1 !important; text-decoration: none !important; }
.home-view a.home-connection:hover .name, .home-view .recent-connections .connection:hover .name { color: var(--ib-link) !important; }
.home-view .all-connections .list-item, .home-view .group-list .connection { padding: .35em .5em; border-radius: 6px; }

/* ---- v5: IBIGS nav, customer note (login, home, Ctrl+Alt+Shift menu) ---- */
.ibigs-nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  padding: .55rem 1.25rem; background: rgba(15,20,32,.92); border-bottom: 1px solid var(--ib-line);
  font-family: var(--ib-sans); font-size: .875rem; box-sizing: border-box; }
.ibigs-nav a { color: var(--ib-text-soft) !important; text-decoration: none !important; }
.ibigs-nav .ibigs-nav-brand { display: inline-flex; align-items: center; gap: .5rem; color: var(--ib-text-strong) !important;
  font-family: var(--ib-display); font-weight: 700; font-size: 1.15rem; letter-spacing: .04em; }
.ibigs-nav .ibigs-nav-brand img { width: 22px; height: 22px; }
.ibigs-nav-links { display: flex; flex-wrap: wrap; gap: .25rem; }
.ibigs-nav-links a { padding: .3rem .65rem; border-radius: 6px; }
.ibigs-nav-links a:hover, .ibigs-nav-links a:focus-visible { color: var(--ib-text-strong) !important; background: var(--ib-accent-soft); }
.ibigs-nav-login { position: fixed; top: 0; left: 0; right: 0; z-index: 5; }
.login-ui .login-dialog-middle { padding-top: 3.5rem !important; padding-bottom: 1rem !important; }
.ibigs-nav-home { margin: 0 0 .5rem; }
.ibigs-customer-note { margin: 1.25rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--ib-line); text-align: center; }
.login-ui .login-dialog .ibigs-customer-note p { margin: 0 0 .75rem !important; color: var(--ib-text) !important; font-size: .9rem; }
.ibigs-customer-note strong { color: var(--ib-text-strong); }
.ibigs-btn { display: inline-block; padding: .55rem 1.1rem; border-radius: 6px; border: 1px solid var(--ib-accent-line);
  background: var(--ib-accent-soft); color: var(--ib-link) !important; font-weight: 600; text-decoration: none !important; }
.ibigs-btn:hover, .ibigs-btn:focus-visible { background: var(--ib-accent); color: var(--ib-accent-ink) !important; border-color: var(--ib-accent); }
.menu .ibigs-nav-list { display: flex; flex-wrap: wrap; gap: .4rem; }
.menu .ibigs-nav-list a { padding: .35rem .7rem; border: 1px solid var(--ib-line-strong); border-radius: 6px;
  color: var(--ib-link) !important; text-decoration: none !important; font-size: .875rem; }
.menu .ibigs-nav-list a:hover, .menu .ibigs-nav-list a:focus-visible { background: var(--ib-accent-soft); border-color: var(--ib-accent-line); }
.menu .ibigs-menu-links .description { margin-top: .6rem; }
@media (max-width: 560px) { .ibigs-nav { padding: .45rem .75rem; } .ibigs-nav-links a { padding: .25rem .45rem; } }
