/*
 * 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;

}
:root { --opc-bar: 82px; --opc-vh: 100dvh; --opc-vtop: 0px; }
.opc-tools { position:fixed; z-index:12; left:0; right:0; top:var(--opc-vtop); background:#f8fafb; color:#17252b; border-bottom:1px solid #c5d1d6; font:14px system-ui,sans-serif; letter-spacing:0; padding-top:env(safe-area-inset-top,0px); box-sizing:border-box; }
.opc-status { height:30px; padding:0 12px; display:flex; align-items:center; gap:12px; white-space:nowrap; }
.opc-status strong { font-size:14px; }
.opc-status span { font-size:12px; color:#41555d; }
.opc-rtt { margin-left:auto; font-variant-numeric:tabular-nums; }
.opc-buttons { height:52px; display:grid; grid-template-columns:repeat(7,minmax(44px,1fr)); max-width:600px; margin:auto; }
.opc-tools button { box-sizing:border-box; min-height:44px; min-width:44px; border:1px solid #bac9d0; background:#fff; color:#142d38; border-radius:4px; font:inherit; margin:2px; padding:8px 10px; cursor:pointer; letter-spacing:0; text-shadow:none; box-shadow:none; }
.opc-buttons button,.opc-panel-head button { background:transparent; border:0; display:flex; align-items:center; justify-content:center; font-weight:600; }
.opc-tools button:focus-visible { outline:2px solid #137696; outline-offset:-2px; }
.opc-tools button:disabled { opacity:.4; cursor:default; }
.opc-tools img { width:22px; height:22px; display:block; }
.opc-tools .opc-primary { background:#086a83; color:#fff; border-color:#086a83; }
.opc-panel { max-height:calc(var(--opc-vh) - var(--opc-bar) - 12px); overflow:auto; padding:8px 12px 16px; box-sizing:border-box; background:#fff; box-shadow:0 8px 18px #152b3826; max-width:700px; margin:auto; border-top:1px solid #d3dde1; }
.opc-panel-head { display:flex; align-items:center; justify-content:space-between; height:44px; }
.opc-panel textarea { display:block; box-sizing:border-box; width:100%; height:110px; min-height:72px; max-height:200px; padding:10px; font:16px system-ui,sans-serif; border:1px solid #95aab4; border-radius:4px; resize:vertical; }
.opc-actions { display:flex; gap:4px; flex-wrap:wrap; margin-top:6px; }
.opc-actions button { flex:1; white-space:normal; }
.opc-path-label { display:block; margin:12px 0 6px; }
.opc-path-label input { box-sizing:border-box; width:100%; padding:10px; margin-top:6px; font:16px monospace; border:1px solid #bac9d0; }
.opc-check { display:flex; align-items:center; min-height:44px; gap:8px; }
.opc-check input { width:20px; height:20px; flex:none; }
.opc-note { display:block; color:#914219; padding:8px 0; }
.opc-version { display:block; font-size:12px; color:#526671; margin-top:10px; }
.opc-transfer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px; padding:10px 0; border-bottom:1px solid #d7e0e4; }
.opc-transfer span { overflow-wrap:anywhere; font-size:12px; }
.opc-transfer progress { grid-column:1/-1; width:100%; height:6px; }
.opc-folder-head { display:flex; align-items:center; gap:8px; border-bottom:1px solid #d7e0e4; }
.opc-folder-head span { flex:1; min-width:0; overflow-wrap:anywhere; }
.opc-folder-head button,.opc-file-row button { display:flex; align-items:center; justify-content:center; flex:none; }
.opc-file-row { display:flex; align-items:center; gap:8px; min-height:52px; border-bottom:1px solid #d7e0e4; }
.opc-file-row span { flex:1; min-width:0; overflow-wrap:anywhere; font-size:14px; line-height:1.5; }
.opc-file-input { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.opc-desktop-active .client-view { top:calc(var(--opc-vtop) + var(--opc-bar) + env(safe-area-inset-top,0px)) !important; height:calc(var(--opc-vh) - var(--opc-bar) - env(safe-area-inset-top,0px)) !important; bottom:auto !important; }
.opc-desktop-active #guac-menu,.opc-desktop-active #filesystem-menu { z-index:15; top:calc(var(--opc-vtop) + var(--opc-bar)); height:calc(var(--opc-vh) - var(--opc-bar)); max-width:100%; }
.opc-desktop-active #filesystem-menu .header { flex-wrap:wrap; }
.opc-desktop-active #file-transfer-dialog { max-width:calc(100% - 16px); }
.opc-desktop-active .client-notification input { font-size:16px; }
.opc-desktop-active .notification.parameters-required { box-sizing:border-box; max-width:460px; margin:auto; }
.opc-desktop-active .notification.parameters-required .labeled-field { display:block; }
.opc-desktop-active .notification.parameters-required .field-header { display:block; width:auto; padding-bottom:6px; white-space:nowrap; }
.opc-desktop-active .notification.parameters-required .form-field { display:block; width:100%; box-sizing:border-box; }
.opc-desktop-active .notification.parameters-required input { box-sizing:border-box; font-size:16px; min-height:44px; }
.opc-desktop-active .notification.parameters-required .opc-login-account { display:block; width:100%; margin-bottom:10px; padding:8px; }
.opc-desktop-active #filesystem-menu .file { overflow-wrap:anywhere; }
.opc-desktop-active #file-transfer-dialog .transfer { overflow-wrap:anywhere; white-space:normal; }
@media(max-width:360px) { .opc-status { gap:6px; padding:0 6px; } .opc-status strong { font-size:12px; } .opc-buttons { grid-template-columns:repeat(7,minmax(40px,1fr)); } .opc-buttons button { min-width:40px; padding:8px; } }
.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}