
/*
 * Compatibility layer for the routes that still render the original markup.
 *
 * The pilot sheets were written for three purpose-built layouts, so the older
 * Bootstrap-era components (plain panels, form controls, tables, alerts,
 * code blocks) need the surfaces the /json/ workbench already uses. Loaded
 * after the ui-* sheets on every route.
 */

/* --------------------------------------------------------------------------
 * Buttons
 *
 * ui-system resets `font` on buttons, which lets Bootstrap's font-size: 0 on
 * .input-group-btn hide the label entirely, so buttons declare their own type.
 * -------------------------------------------------------------------------- */
.kiv-ui .btn {
    min-height: 38px;
    padding: 8px 13px;
    border-radius: 4px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.kiv-ui .btn-default,
.kiv-ui .btn-info {
    border-color: #d5e2db;
    background: #fff;
    color: #536560;
}

.kiv-ui .btn-default:hover,
.kiv-ui .btn-default:focus,
.kiv-ui .btn-info:hover,
.kiv-ui .btn-info:focus {
    border-color: #9fb4a8;
    background: #f4f8f6;
    color: #334b41;
}

.kiv-ui .btn-success,
.kiv-ui .btn-primary {
    border-color: #157d4e;
    background: #178b58;
    color: #fff;
}

.kiv-ui .btn-success:hover,
.kiv-ui .btn-success:focus,
.kiv-ui .btn-primary:hover,
.kiv-ui .btn-primary:focus {
    border-color: #0f6840;
    background: #126f45;
    color: #fff;
}

.kiv-ui .btn-sm,
.kiv-ui .btn-xs {
    min-height: 30px;
    padding: 5px 10px;
    font-size: 12px;
}

.kiv-ui .btn:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px rgba(24, 139, 87, .14);
}

/* --------------------------------------------------------------------------
 * Work surface — the panel that follows the tool's tab rail.
 * -------------------------------------------------------------------------- */
.kiv-ui .kiv-contextual-nav-root .accordion-group > .panel:first-of-type,
.kiv-ui .kiv-contextual-nav-root .panel.kiv-adaptive-primary-surface,
.kiv-ui .kiv-adaptive-primary-surface,
.kiv-ui .tool-card {
    border: 1px solid #e2ece6;
    border-top: 3px solid #178b58;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(34, 59, 47, .075);
}

.kiv-ui .kiv-contextual-nav-root .panel.panel-default {
    border-color: #e2ece6;
    border-radius: 10px;
    background: #fff;
}

/* --------------------------------------------------------------------------
 * Form controls
 * -------------------------------------------------------------------------- */
.kiv-ui .form-control {
    border-color: #dbe6e0;
    background: #fff;
    color: var(--ui-text);
}

.kiv-ui .form-control:focus {
    border-color: #178b58;
    box-shadow: 0 0 0 3px rgba(24, 139, 87, .14);
}

.kiv-ui textarea.form-control {
    height: auto;
    min-height: 130px;
    padding: 11px 13px;
    line-height: 1.62;
}

.kiv-ui .control-label,
.kiv-ui .form-group > label {
    color: #33473f;
    font-weight: 600;
}

.kiv-ui input[type="text"]:not(.form-control),
.kiv-ui input[type="search"]:not(.form-control),
.kiv-ui input[type="url"]:not(.form-control),
.kiv-ui input[type="email"]:not(.form-control),
.kiv-ui input[type="number"]:not(.form-control),
.kiv-ui input[type="password"]:not(.form-control),
.kiv-ui textarea:not(.form-control) {
    padding: 7px 10px;
    border: 1px solid #dbe6e0;
    border-radius: 6px;
    background: #fff;
    color: var(--ui-text);
    box-shadow: none;
}

.kiv-ui input[type="text"]:not(.form-control):focus,
.kiv-ui input[type="search"]:not(.form-control):focus,
.kiv-ui input[type="url"]:not(.form-control):focus,
.kiv-ui input[type="email"]:not(.form-control):focus,
.kiv-ui input[type="number"]:not(.form-control):focus,
.kiv-ui input[type="password"]:not(.form-control):focus,
.kiv-ui textarea:not(.form-control):focus {
    border-color: #178b58;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(24, 139, 87, .14);
}

/* --------------------------------------------------------------------------
 * Result tables
 * -------------------------------------------------------------------------- */
.kiv-ui .kiv-contextual-nav-root table {
    width: 100%;
    border-collapse: collapse;
}

.kiv-ui .kiv-contextual-nav-root table > thead > tr > th {
    padding: 11px 14px;
    border-bottom: 1px solid #e6efea;
    background: #f6faf8;
    color: #7a8d87;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.3;
    text-align: left;
    text-transform: uppercase;
}

.kiv-ui .kiv-contextual-nav-root table > tbody > tr > td {
    padding: 11px 14px;
    border-top: 1px solid #eef4f1;
    color: #46584f;
    font-size: 13.5px;
    line-height: 1.55;
    vertical-align: top;
}

.kiv-ui .kiv-contextual-nav-root table > tbody > tr:nth-child(even) > td {
    background: #fbfdfc;
}

/* --------------------------------------------------------------------------
 * Notices, code blocks and misc Bootstrap leftovers
 * -------------------------------------------------------------------------- */
.kiv-ui .alert {
    padding: 13px 16px;
    border-radius: 10px;
    font-size: 13.5px;
    line-height: 1.62;
}

.kiv-ui .alert-success {
    border-color: #cfe9da;
    background: #effaf3;
    color: #1c6b46;
}

.kiv-ui .alert-info {
    border-color: #cfe3e9;
    background: #f1f8fa;
    color: #275f6e;
}

.kiv-ui .alert-warning {
    border-color: #ecdcb8;
    background: #fdf8ec;
    color: #7a5a17;
}

.kiv-ui .alert-danger {
    border-color: #eccbcb;
    background: #fdf2f2;
    color: #93302f;
}

.kiv-ui .kiv-contextual-nav-root pre:not(.kiv-json-lines):not(.kiv-json-output) {
    padding: 14px 16px;
    border: 1px solid #e6efea;
    border-radius: 10px;
    background: #fbfdfc;
    color: #33473f;
    font-family: var(--ui-code);
    font-size: 13px;
    line-height: 1.6;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.kiv-ui .kiv-contextual-nav-root code {
    padding: 1px 5px;
    border-radius: 4px;
    background: #eef5f1;
    color: #1d5c40;
    font-family: var(--ui-code);
    font-size: 12.5px;
}

.kiv-ui .well {
    border: 1px solid #e2ece6;
    border-radius: 10px;
    background: #f8fbf9;
    box-shadow: none;
}

.kiv-ui .list-group-item {
    border-color: #e6efea;
    color: #46584f;
}

.kiv-ui .help-block {
    color: #7a8d87;
    font-size: 12.5px;
}

/* --------------------------------------------------------------------------
 * Dark mode
 * -------------------------------------------------------------------------- */
html.kiv-shell-dark .kiv-ui .btn-default,
html.kiv-shell-dark .kiv-ui .btn-info {
    border-color: #2f4438;
    background: #1d2620;
    color: #cfdcd5;
}

html.kiv-shell-dark .kiv-ui .btn-default:hover,
html.kiv-shell-dark .kiv-ui .btn-info:hover {
    border-color: #3f5c4c;
    background: #253229;
    color: #fff;
}

html.kiv-shell-dark .kiv-ui .btn-success,
html.kiv-shell-dark .kiv-ui .btn-primary {
    border-color: #1d7f55;
    background: #178b58;
    color: #fff;
}

html.kiv-shell-dark .kiv-ui .kiv-contextual-nav-root .accordion-group > .panel:first-of-type,
html.kiv-shell-dark .kiv-ui .kiv-contextual-nav-root .panel.kiv-adaptive-primary-surface,
html.kiv-shell-dark .kiv-ui .kiv-adaptive-primary-surface,
html.kiv-shell-dark .kiv-ui .tool-card,
html.kiv-shell-dark .kiv-ui .kiv-contextual-nav-root .panel.panel-default {
    border-color: #2b3f34;
    border-top-color: #46c184;
    background: var(--ui-surface);
    box-shadow: none;
}

html.kiv-shell-dark .kiv-ui .form-control,
html.kiv-shell-dark .kiv-ui input[type="text"]:not(.form-control),
html.kiv-shell-dark .kiv-ui textarea:not(.form-control) {
    border-color: #2f4438;
    background: #18211c;
    color: var(--ui-text);
}

html.kiv-shell-dark .kiv-ui .kiv-contextual-nav-root table > thead > tr > th {
    border-bottom-color: #2b3f34;
    background: #1b2620;
    color: #8da99b;
}

html.kiv-shell-dark .kiv-ui .kiv-contextual-nav-root table > tbody > tr > td {
    border-top-color: #253830;
    color: #c3d3ca;
}

html.kiv-shell-dark .kiv-ui .kiv-contextual-nav-root table > tbody > tr:nth-child(even) > td {
    background: #1a231e;
}

html.kiv-shell-dark .kiv-ui .kiv-contextual-nav-root pre:not(.kiv-json-lines):not(.kiv-json-output),
html.kiv-shell-dark .kiv-ui .well {
    border-color: #2b3f34;
    background: #18211c;
    color: #c3d3ca;
}

html.kiv-shell-dark .kiv-ui .kiv-contextual-nav-root code {
    background: #22302a;
    color: #8fd8b0;
}

html.kiv-shell-dark .kiv-ui .alert-success { border-color: #2c5a44; background: #16281f; color: #9fd9b9; }
html.kiv-shell-dark .kiv-ui .alert-info { border-color: #2b4f5c; background: #16252a; color: #9ecbd8; }
html.kiv-shell-dark .kiv-ui .alert-warning { border-color: #5c4c26; background: #251f14; color: #e2c58a; }
html.kiv-shell-dark .kiv-ui .alert-danger { border-color: #5c2f2f; background: #251717; color: #f0a3a3; }
