/* =========================================================================
   Get Your Labs branding — v4
   Fixes:
   - Brighter gradient (top-left visible was too dark in v3)
   - Force .login-ui transparent (Guacamole has .login-ui { background:#fff })
   - Continue button hidden via CSS only (JS extensions aren't loaded in 1.6)
   ========================================================================= */

/* ---- ROOT BACKGROUND ---- */
html {
  background: linear-gradient(135deg, #1e40af 0%, #2563eb 25%, #3b82f6 50%, #06b6d4 80%, #67e8f9 100%) !important;
  background-attachment: fixed !important;
  min-height: 100vh !important;
}

body {
  background-color: transparent !important;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,0.18) 0%, transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(255,255,255,0.14) 0%, transparent 32%),
    radial-gradient(circle at 50% 110%, rgba(103, 232, 249, 0.30) 0%, transparent 45%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'><circle cx='2' cy='2' r='1' fill='%23ffffff' fill-opacity='0.10'/></svg>") !important;
  background-attachment: fixed !important;
  background-size: auto, auto, auto, 44px 44px !important;
  min-height: 100vh !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  font-size: 14px;
  color: #1f2937;
  margin: 0;
  padding: 0;
}

/* Post-login: light bg, no overlays */
body.guac-client, body.guac-display, body.client-page,
html.guac-client, html.guac-display, html.client-page {
  background: #f9fafb !important;
  background-image: none !important;
}

/* ---- KILL Guacamole's white .login-ui that was covering the gradient ---- */
.login-ui {
  background: transparent !important;
  background-image: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  z-index: 10 !important;
}

/* ---- LOGIN CARD ---- */
.login-ui .login-dialog {
  background: #ffffff !important;
  border-radius: 18px !important;
  box-shadow: 0 30px 70px rgba(15, 23, 42, 0.35), 0 12px 28px rgba(15, 23, 42, 0.20) !important;
  padding: 32px 36px 36px 36px !important;
  max-width: 420px !important;
  width: 100% !important;
  border: none !important;
  text-align: center;
  position: relative;
}

/* Cloud icon ABOVE title */
.login-ui .login-dialog::before {
  content: "";
  display: block;
  width: 64px;
  height: 64px;
  margin: 0 auto 18px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJnIiB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iMSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNiODJmNiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzA2YjZkNCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxwYXRoIGQ9Ik00NCA0M2M0LjQgMCA4LTMuNiA4LThzLTMuNi04LTgtOGMtLjcgMC0xLjQuMS0yIC4zQzQwLjUgMjEgMzUuNyAxOCAzMCAxOGMtNi42IDAtMTIgNS40LTEyIDEyIDAgLjcuMSAxLjQuMiAyQzE0LjggMzMgMTIgMzUuNyAxMiAzOWMwIDIuMiAxLjggNCA0IDRoMjh6IiBzdHJva2U9InVybCgjZykiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.login-ui .login-dialog::after { content: none !important; }

/* hide Guacamole's default monkey logo */
.login-ui img,
.login-ui .logo,
.login-ui .login-logo,
.login-ui [class*="logo"] img,
.login-ui .application-logo,
.login-ui .guac-logo,
.login-ui .header-logo,
.login-dialog > img,
.login-dialog .logo {
  display: none !important;
}

/* ---- TITLE ---- */
.login-ui .login-dialog h1,
.login-ui .login-dialog h2,
.login-ui .login-dialog h3 {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #111827 !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 22px 0 !important;
  text-align: center !important;
}

/* ---- LABELS (username / password headers) ---- */
.login-ui .field-header,
.login-ui .form-field .field-header,
.login-ui .login-fields .field-header,
.login-ui [class*="field-header"],
.login-ui label {
  display: block !important;
  position: static !important;
  height: auto !important;
  width: auto !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #374151 !important;
  margin: 10px 0 5px 2px !important;
  text-align: left !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* ---- INPUTS ---- */
.login-ui input[type="text"],
.login-ui input[type="password"],
.login-ui input[type="email"] {
  display: block !important;
  width: 100% !important;
  padding: 12px 14px !important;
  margin: 4px 0 8px 0 !important;
  border: 1px solid #d1d5db !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  background: #ffffff !important;
  color: #111827 !important;
  box-sizing: border-box !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.login-ui input::placeholder { color: #9ca3af; opacity: 1; }
.login-ui input:focus {
  outline: none !important;
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}

/* ---- SIGN IN BUTTON ---- */
.login-ui button,
.login-ui input[type="submit"] {
  display: block !important;
  width: 100% !important;
  padding: 13px 16px !important;
  margin-top: 18px !important;
  background: #2563eb !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  letter-spacing: 0.01em;
  transition: background 0.15s, transform 0.05s;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25);
}
.login-ui button:hover, .login-ui input[type="submit"]:hover { background: #1d4ed8 !important; }
.login-ui button:active, .login-ui input[type="submit"]:active { transform: translateY(1px); background: #1e40af !important; }

/* ---- HIDE CONTINUE — multiple selector attempts (CSS-only since JS extensions don't load) ---- */
/* Most likely: the form has two adjacent <button> elements; the second is Continue */
.login-ui form button + button,
.login-ui form button:nth-of-type(2),
.login-ui form button ~ button,
.login-ui .login-dialog button:nth-of-type(2),
/* If Continue is in its own div sibling of the form */
.login-ui .login-dialog form + button,
.login-ui .login-dialog form ~ button,
/* By common class names Guacamole might use */
.login-ui .login-continue,
.login-ui .continue-button,
.login-ui button.continue,
.login-ui [ng-click*="continue"],
.login-ui [ng-show*="needsRedirect"],
.login-ui [ng-show*="continueLogin"],
.login-ui [ng-if*="continueLogin"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---- ERROR ---- */
.login-ui .login-error, .login-ui .error, .login-ui .invalid, .login-ui .alert-danger {
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  color: #991b1b !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  margin-bottom: 14px !important;
  text-align: center !important;
}

/* =========================================================================
   POST-LOGIN home / connection list
   ========================================================================= */
body:not(.login) .menu, .application-menu, .toolbar {
  background: #ffffff !important;
  border-bottom: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.list-item, .recent-connections .connection, .connection-group .connection {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  padding: 14px 16px !important;
  margin: 8px !important;
  transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
  cursor: pointer;
}
.list-item:hover, .recent-connections .connection:hover, .connection-group .connection:hover {
  border-color: #2563eb !important;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.12) !important;
  transform: translateY(-1px);
}
/*
 * 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;

}
