@charset "UTF-8";

/* Inter font – shadcn/ui primary typeface */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* ─────────────────────────────────────────────────────────────────
   Platinum Colours (brand palette – unchanged hues, lifted contrast)

   Eventide Blue:   #1e396b   →  primary
   Anthelion blue:  #86a0c2   →  primary-light
   Alpenglow red:   #c02959   →  destructive accent
   Dawning pink:    #f59698
   Iron:            #3c3b3b
   Platinum:        #8a8a8c
   Steel:           #c2c1c0
───────────────────────────────────────────────────────────────── */

:root {
    /* ── Typography (shadcn uses Inter) ───────────────────────── */
    --font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue',
        Arial, sans-serif;
    --font-mono: 'JetBrains Mono', Monaco, Menlo, Consolas, 'Courier New', monospace;
    --font-family-mono: var(--font-mono);

    /* ── Font scale — Jira-style compact density (html = 14px) ───
       All rem values are relative to html { font-size: 14px }.
       1rem = 14px, 0.857rem ≈ 12px, 0.786rem ≈ 11px
    ─────────────────────────────────────────────────────────── */
    --font-size-xs: 0.786rem; /* ~11px – badge/caption */
    --font-size-sm: 0.857rem; /* ~12px – label/secondary/table-th */
    --font-size-base: 1rem; /*  14px – body/button/input */
    --font-size-md: 1.143rem; /*  16px – slight emphasis */
    --font-size-lg: 1.286rem; /*  18px – card title */
    --font-size-xl: 1.714rem; /*  24px – section heading */
    --font-size-2xl: 2.286rem; /*  32px – page heading */

    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --default-font-weight: var(--font-weight-normal);

    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.625;

    /* ── Radius (rounded: 8px base → 12px default → 16px large) ─ */
    --border-radius-none: 0;
    --border-radius-sm: 0.5rem; /*  8px */
    --border-radius: 0.75rem; /* 12px */
    --border-radius-md: 0.875rem; /* 14px */
    --border-radius-lg: 1rem; /* 16px */
    --border-radius-xl: 1.25rem; /* 20px */
    --border-radius-full: 9999px;

    /* ── Spacing ──────────────────────────────────────────────── */
    --space-px: 1px;
    --space-0: 0;
    --space-1: 0.25rem; /*  4px */
    --space-2: 0.5rem; /*  8px */
    --space-3: 0.75rem; /* 12px */
    --space-3-5: 0.8rem; /* 12px */
    --space-4: 1rem; /* 16px */
    --space-5: 1.25rem; /* 20px */
    --space-6: 1.5rem; /* 24px */
    --space-8: 2rem; /* 32px */
    --space-10: 2.5rem; /* 40px */
    --space-12: 3rem; /* 48px */
    --space-14: 3.5rem; /* 56px */
    --space-16: 4rem; /* 64px */

    /* ── Layout ───────────────────────────────────────────────── */
    --body-padding: 3.25rem 0 0 0;
    --navbar-height: 3.25rem;

    /* ── Brand palette ────────────────────────────────────────── */
    --base-color: #2d5299;   /* softer brand blue — periwinkle */
    --base-color-platinum: #1e396b;
    --base-color-hover: #162d56;
    --base-color-light: #86a0c2;
    --base-color-muted: #d4dce8;
    --base-font-color: var(--base-color);
    --alpenglow-red: #c02959;
    --anthelion-blue: #86a0c2;

    /* ── Neutral scale (shadcn-style, slightly lifted) ─────────── */
    --black: #0f0f10;
    --iron: #1c1c1e;
    --foreground: #1c1c1e;
    --muted-fg: #6b7280;
    --platinum: #71717a;
    --steel: #a1a1aa;
    --border-color: #e4e4e7;
    --border-color-light: #f4f4f5;
    --border-color-mid: #d4d4d8;
    --silver: #fafafa;
    --card-bg: #ffffff;
    --white: #ffffff;
    --input-bg: #ffffff;

    /* ── Semantic colours (slightly more vibrant/contrasted) ───── */
    --blue: #2563eb;
    --blue-hover: #1d4ed8;
    --blue-muted: #dbeafe;
    --cyan: #0891b2;
    --cyan-muted: #cffafe;
    --green: #16a34a;
    --green-hover: #15803d;
    --green-muted: #dcfce7;
    --yellow: #d97706;
    --yellow-muted: #fef3c7;
    --red: #dc2626;
    --red-hover: #b91c1c;
    --red-muted: #fee2e2;
    --violet: #7c3aed;

    /* ── Shadows (shadcn-style — subtle, layered) ─────────────── */
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 5%);
    --shadow: 0 1px 3px 0 rgb(0 0 0 / 10%), 0 1px 2px -1px rgb(0 0 0 / 10%);
    --shadow-md: 0 4px 12px -2px rgb(0 0 0 / 18%), 0 2px 6px -2px rgb(0 0 0 / 12%);
    --shadow-lg: 0 12px 24px -4px rgb(0 0 0 / 20%), 0 6px 12px -4px rgb(0 0 0 / 12%);
    --shadow-focus: 0 0 0 3px rgb(30 57 107 / 20%);
    --shadow-focus-white: 0 0 0 3px rgb(255 255 255 / 30%);
    --shadow-dropdown: var(--shadow-md);
    --shadow-hover: 0 6px 16px -2px rgb(0 0 0 / 18%), 0 2px 6px -1px rgb(0 0 0 / 10%);

    /* ── Borders ──────────────────────────────────────────────── */
    --border-width: 1px;
    --border-style: solid;
    --ring-width: 2px;
    --ring-color: rgb(30 57 107 / 25%);

    /* ── Transitions ──────────────────────────────────────────── */
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);

    /* ── Message severity ─────────────────────────────────────── */
    --message-group-message-message-information: var(--cyan);
    --message-group-message-message-warning: var(--yellow);
    --message-group-message-message-error: var(--red);
    --message-group-message-message-status: var(--cyan);
    --message-group-message-message-abend: var(--red);
    --message-group-message-message-exit: var(--red);

    /* ── Status accordion ─────────────────────────────────────── */
    --status-success-text: #15803d;
    --status-success-bg: #f0fdf4;
    --status-success-border: #bbf7d0;
    --status-error-text: #b91c1c;
    --status-error-bg: #fef2f2;
    --status-error-border: #fecaca;

    /* ── Code diff ────────────────────────────────────────────── */
    --diff-added-bg: #f0fdf4;
    --diff-removed-bg: #fef2f2;
    --diff-added-word-bg: #86efac;
    --diff-removed-word-bg: #fca5a5;

    /* ── Bootstrap 5 variable bridge ─────────────────────────────
       Maps our design tokens into Bootstrap's own CSS custom
       properties so every Bootstrap component inherits them
       automatically — no per-component overrides needed.
    ──────────────────────────────────────────────────────────── */
    --bs-font-sans-serif: var(--font-sans);
    --bs-font-monospace: var(--font-mono);
    --bs-body-font-family: var(--font-sans);
    --bs-body-font-size: var(--font-size-base);
    --bs-body-color: var(--foreground);
    --bs-body-bg: var(--card-bg);
    --bs-border-color: var(--border-color);
    --bs-border-radius: var(--border-radius);
    --bs-border-radius-sm: var(--border-radius-sm);
    --bs-border-radius-lg: var(--border-radius-lg);
    --bs-border-radius-xl: var(--border-radius-xl);
    --bs-border-radius-pill: var(--border-radius-full);
    --bs-link-color: var(--blue);
    --bs-link-hover-color: var(--blue-hover);
    --bs-link-color-rgb: 37, 99, 235;
    --bs-card-bg: var(--card-bg);
    --bs-card-border-color: var(--border-color);
    --bs-card-border-radius: var(--border-radius);
    --bs-card-cap-bg: var(--silver);
    --bs-card-cap-color: var(--foreground);
    --bs-modal-border-radius: var(--border-radius-lg);
    --bs-modal-header-border-color: var(--border-color);
    --bs-modal-footer-border-color: var(--border-color);
    --bs-modal-bg: var(--card-bg);
    --bs-input-bg: var(--input-bg);
    --bs-input-border-color: var(--border-color);
    --bs-input-focus-border-color: var(--base-color);
    --bs-input-focus-box-shadow: 0 0 0 3px var(--ring-color);
    --bs-table-border-color: var(--border-color);
    --bs-table-striped-bg: var(--silver);
    --bs-table-hover-bg: var(--silver);
    --bs-dropdown-border-color: var(--border-color);
    --bs-dropdown-border-radius: var(--border-radius);
    --bs-dropdown-bg: var(--card-bg);
    --bs-dropdown-link-hover-bg: var(--silver);
    --bs-dropdown-link-active-bg: var(--base-color);
    --bs-nav-link-color: var(--foreground);
    --bs-nav-tabs-border-color: var(--border-color);
    --bs-nav-tabs-link-active-bg: var(--card-bg);
    --bs-nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--card-bg);
    --bs-list-group-border-color: var(--border-color);
    --bs-list-group-bg: var(--card-bg);
    --bs-list-group-hover-bg: var(--silver);
    --bs-alert-border-radius: var(--border-radius);
    --bs-badge-border-radius: var(--border-radius-full);
    --bs-badge-font-size: var(--font-size-xs);
    --bs-badge-font-weight: var(--font-weight-medium);
    --bs-pagination-border-color: var(--border-color);
    --bs-pagination-border-radius: var(--border-radius-sm);
    --bs-pagination-hover-bg: var(--silver);
    --bs-tooltip-border-radius: var(--border-radius-sm);
    --bs-popover-border-color: var(--border-color);
    --bs-popover-border-radius: var(--border-radius);
    --bs-popover-box-shadow: var(--shadow-lg);
    --bs-accordion-border-color: var(--border-color);
    --bs-accordion-border-radius: var(--border-radius);
    --bs-accordion-bg: var(--card-bg);
    --bs-accordion-button-active-color: var(--base-color);
    --bs-accordion-button-active-bg: var(--silver);
    --bs-accordion-button-focus-box-shadow: 0 0 0 3px var(--ring-color);
}

/* ── Base styles ──────────────────────────────────────────────── */

/* Root font-size = 13px — ~93% zoom, comfortable compact density.
   All rem-based values scale proportionally from this root.
   Fine-tuning: 12.6px = 90%, 13px = 93%, 14px = 100%. */
html {
    font-size: 13px;
    scroll-behavior: smooth;
}

body {
    padding: var(--body-padding);
    font-family: var(--font-sans);
    font-size: var(--font-size-base); /* 14px — compact admin body */
    line-height: var(--line-height-normal);
    color: var(--foreground);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ── Navbar — clean white, flush to top, shadcn/ui style ────────
   Decorative rays image and coloured system/search bands replaced
   with a clean white surface + subtle bottom border.
─────────────────────────────────────────────────────────────── */

/* Bootstrap navbar base override */
.navbar {
    background-color: var(--card-bg) !important;
    border-bottom: var(--border-width) var(--border-style) var(--border-color);
    box-shadow: var(--shadow-sm);
    min-height: var(--navbar-height);
    padding-top: 0;
    padding-bottom: 0;
}

.navbar .container-fluid {
    width: 100%;
    max-width: 1400px;
    padding-left: var(--space-4);
    padding-right: var(--space-4);
}

/* Logo */
.navbar .navbar-brand {
    padding: 0;
    display: flex;
    align-items: center;
}

.navbar .navbar-brand img {
    height: 2rem;
    width: auto;
}

/* Toggler */
.navbar .navbar-toggler {
    border-color: var(--border-color);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--border-radius-sm);
}

.navbar .navbar-toggler:focus {
    box-shadow: 0 0 0 3px var(--ring-color);
    outline: none;
}

/* Nav links */
.navbar .navbar-nav .nav-link {
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--muted-fg);
    padding: var(--space-3-5) var(--space-3);
    border-radius: var(--border-radius-sm);
    transition: color var(--transition-fast), background-color var(--transition-fast);
}

.navbar .nav-link:hover {
    color: var(--foreground);
    background-color: var(--silver);
}

/* Force all navbar-nav link colours — overrides both Bootstrap 3
   (.navbar-default .navbar-nav > li > a: #777) and Bootstrap 5
   (--bs-link-color: var(--blue)) which can bleed through as blue */
.navbar .navbar-nav > li > a,
.navbar .navbar-nav .nav-link,
.navbar .navbar-nav .nav-link:link,
.navbar .navbar-nav .nav-link:visited,
.navbar-nav .nav-link,
.navbar-nav .nav-link:link,
.navbar-nav .nav-link:visited {
    color: var(--muted-fg) !important;
    background-color: transparent;
    text-decoration: none;
}

.navbar .navbar-nav > li > a:hover,
.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:focus,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: var(--foreground) !important;
    background-color: var(--silver);
}

.navbar .navbar-nav > li.active > a,
.navbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .nav-item.show > .nav-link {
    color: var(--base-color) !important;
}

.navbar .navbar-nav {
    background-color: var(--base-color-platinum);

}

.navbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .nav-item.active > .nav-link {
    color: var(--base-color);
    font-weight: var(--font-weight-semibold);
}

/* Override Bootstrap navbar-light's inherited blue/rgba colours.
   Bootstrap sets --bs-navbar-color as rgba(0,0,0,.55) which can
   appear blue-tinted depending on the background. Forcing explicit
   values here removes the tint entirely from all nav links. */
.navbar.navbar-light {
    --bs-navbar-color: var(--muted-fg);
    --bs-navbar-hover-color: var(--foreground);
    --bs-navbar-disabled-color: var(--steel);
    --bs-navbar-active-color: var(--base-color);
    --bs-navbar-brand-color: var(--foreground);
    --bs-navbar-brand-hover-color: var(--foreground);
    --bs-navbar-toggler-border-color: var(--border-color);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%2371717a' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar .navbar-system {
    background-color: var(--base-color-platinum);
    height: 3.125rem;
}

.navbar .navbar-system .navbar-badge {
    font-family: var(--font-sans);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    background-color: var(--base-color) !important;
    color: var(--white) !important;
    border-radius: var(--border-radius-full);
    padding: 2px var(--space-2);
    letter-spacing: 0.04em;
}

.navbar .navbar-system .navbar-badge.navbar-badge-without-search {
    margin-right: var(--space-3);
}

.navbar .navbar-search {
    background-color: var(--base-color-platinum);
    height: 3.125rem;
}

.navbar .navbar-search .form-control {
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    border-color: var(--border-color);
    border-radius: var(--border-radius-sm);
    background-color: var(--silver);
    color: var(--foreground);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.navbar .navbar-search .form-control:focus {
    border-color: var(--base-color);
    background-color: var(--card-bg);
    box-shadow: 0 0 0 3px var(--ring-color);
    outline: none;
    z-index: unset;
}

.navbar .navbar-search .navbar-search-form .form-control:focus {
    border-color: var(--base-color);
}

.navbar .navbar-search .btn {
    color: var(--muted-fg);
    background-color: transparent;
    border-color: var(--border-color);
    border-radius: 0 var(--border-radius-sm) var(--border-radius-sm) 0;
    padding: var(--space-2) var(--space-3);
    margin-left: 0;
    margin-top: 0;
    transition: color var(--transition-fast), background-color var(--transition-fast);
}

.navbar .navbar-search .btn:hover {
    color: var(--foreground);
    background-color: var(--silver);
}

.navbar .navbar-search .btn:active,
.navbar .navbar-search .btn:focus {
    outline: none;
    box-shadow: none;
    background-color: transparent;
    border-color: var(--border-color);
}

/* Navbar rays. */
.navbar .navbar-rays {
    width: 17.4375rem;
    height: 3.125rem;
    background-color: transparent;
    background-image: url('../img/navbar_bg.png');
    background-repeat: no-repeat;
    background-size: 100% 3.125rem;
}

@media (max-width: 991px) {
    .navbar .navbar-rays {
        width: 12.1875rem;
    }

    .navbar .navbar-search {
        background-color: #86a0c2;
    }

    .navbar .container-fluid {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .navbar .navbar-rays {
        width: 8.75rem;
    }

    .navbar .navbar-search {
        background-color: #86a0c2;
    }

    .navbar .container-fluid {
        width: 100%;
    }
}

@media (max-width: 413px) {
    .navbar .navbar-rays {
        width: 6.3125rem;
    }

    .navbar .navbar-search {
        background-color: #86a0c2;
    }

    .navbar .container-fluid {
        width: 100%;
    }
}

@media (max-width: 374px) {
    .navbar .navbar-rays {
        width: 2.875rem;
    }

    .navbar .navbar-search {
        background-color: #86a0c2;
    }

    .navbar .container-fluid {
        width: 100%;
    }

    .navbar .navbar-collapse {
        border-top: var(--border-width) var(--border-style) var(--border-color);
        padding: var(--space-2) 0;
        margin-top: var(--space-1);
    }
}

/* About box. */
.about-block {
    text-align: center;
}

.about-block.about-website {
    margin-top: 0.9375rem;
}

.about-block.about-version {
    margin: 1.875rem 0;
}

.about-block.about-version .about-version-label {
    text-align: right;
    padding-right: 0.3125rem;
}

.about-block.about-version .about-version-value {
    text-align: left;
    padding-left: 0.3125rem;
}

/* Sorting. */
.sorting {
    box-shadow: var(--shadow);
}

/* Selectize. */
#safetychecks-impactanalysis .selectize-control.multi.impactanalysis-transports .selectize-input.has-items,
#safetychecks-dependencies .selectize-control.multi.dependencies-transports .selectize-input.has-items,
.ctms-routes-multiselect.multi .selectize-input.has-items {
    padding: var(--space-1) var(--space-3) 0 !important;
}

/* Messages. */
.message-group label {
    margin-bottom: 10px;
}

.message-group.with-filters label {
    line-height: 22px;
}

.message-group .message {
    margin-bottom: 15px;
    border-left-width: 4px;
}

.message-group .message.message-INFORMATION,
.message-group .message.message-STATUS {
    border-left-color: var(--cyan);
}

.message-group .message.message-WARNING {
    border-left-color: var(--yellow);
}

.message-group .message.message-ERROR {
    border-left-color: var(--red);
}

.message-group .message.message-ABEND,
.message-group .message.message-EXIT {
    border-left-color: var(--red);
}

.message-group .message ul {
    margin-bottom: 0;
}

.message-group .message .message-detail {
    margin-top: 15px;
}

.message-group .message .message-detail:first-child {
    margin-top: 0;
}

.message-group .message .message-detail .oops-report-item,
.message-group .message .message-detail .inflight-report-item {
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 10px;
}

.message-group .message .message-detail .oops-report-item:last-child,
.message-group .message .message-detail .inflight-report-item:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.message-group .message .message-detail .oops-report-item > ul > li {
    margin-top: 10px;
}

.message-group .oops-report-filters .glyphicon {
    margin-right: 0;
}

.message-group .oops-report-filters .oops-report-filter-count {
    vertical-align: baseline;
    background-color: var(--steel);
    font-size: smaller;
}

.message-group .message .message-detail .oops-report-item .oops-matrix-result-matched {
    color: var(--status-success-text);
}

.message-group .message .message-detail .oops-report-item .oops-matrix-result-different {
    color: var(--status-error-text);
}

.inflight-report-item .inflight-report-type {
    padding-left: 2px;
}

.inflight-report-item .inflight-report-item-parent-object {
    padding-bottom: 10px;
}

/* Login. */
#login form,
#login-change-password form,
#admin-login form,
#admin-user-setup form,
#admin-change-password form,
#admin-reset-password form {
    max-width: 380px;
}

#sso-login {
    margin-top: 20px;
}

.login-page-links {
    margin-top: 50px;
}

.change-password,
.reset-password {
    margin-bottom: 5px;
}

#change-password-cancel,
#admin-login-form .admin-login-links,
#admin-user-cancel {
    margin-top: 50px;
}

#login-change-password .passwords-dont-match,
.change-password-error {
    display: none;
}

/* Dashboards sidebar. */
.dropdown-toggle.dropdown-side-toggle .caret {
    transform: rotate(-90deg);
    float: right;
    margin-top: 8px;
}

.dropdown-menu.dropdown-side-menu {
    top: 0;
    left: 100%;
    margin-left: 2px;
    margin-top: -1px;
}

.sidebar .sidebar-content .dropdown-toggle.insights-btn {
    padding: var(--space-1) var(--space-3);
}

.sidebar .sidebar-content .dropdown-toggle.insights-btn .caret {
    margin-top: 10px;
}

.sidebar .sidebar-content .dropdown-menu .insights-app {
    display: inline-block;
    width: 115px;
    text-align: center;
}

.sidebar .sidebar-content .dropdown-menu .insights-app + .dropdown-header {
    margin-top: 10px;
}

.sidebar .sidebar-content .dropdown-menu .insights-app a {
    padding-top: 5px;
}

.sidebar .sidebar-content .dropdown-menu .insights-app a .app-name {
    display: inline-block;
    margin-top: 5px;
    white-space: nowrap;
}

@media (max-width: 413px) {
    .sidebar .sidebar-content .dropdown-menu .insights-app + .insights-app + .insights-app {
        display: block;
    }
}

@media (max-width: 767px) {
    .dropdown-toggle.dropdown-side-toggle .caret {
        transform: rotate(0deg);
        float: none;
        margin-top: 0 !important;
    }

    .dropdown-menu.dropdown-side-menu {
        top: 100%;
        left: 0;
        margin: 1px 0 0;
        min-width: 100%;
    }
}

/* Dashboards. */
#dashboards .dashboards-options .toolkit-spinner {
    margin-bottom: 15px;
}

@media (min-width: 768px) {
    #dashboards .dashboards-list select {
        min-width: 300px;
    }
}

#dashboards .dashboards-list .dashboards-actions,
#dashboards .dashboards-list .dashboards-dashboard-add {
    margin-right: 5px;
}

#dashboards .dashboards-dashboard-filters .btn-group {
    white-space: normal;
}

#dashboards .dashboards-dashboard-filters .dashboards-dashboard-filters-custom-form {
    margin-bottom: 0;
}

#dashboards .dashboards-dashboard-chart .chart-options-menu .btn {
    padding: var(--space-1) var(--space-2);
    display: inline-flex;
    align-items: center;
    position: relative;
    line-height: 1;
    border-radius: var(--border-radius-sm);
    transition: background-color var(--transition-fast);
}

#dashboards .dashboards-dashboard-chart .chart-options-menu .btn:hover {
    background-color: var(--silver);
}

#dashboards .dashboards-segment.welcome-dashboards-segment .card {
    padding-bottom: 0;
}

#dashboards .dashboards-segment.tools-dashboards-segment h5 {
    margin-top: 15px;
}

#dashboards .dashboards-segment.tools-dashboards-segment h5:first-child {
    margin-top: 0;
}

#dashboards .dashboards-segment.tools-dashboards-segment .dashboards-segment-content .has-description {
    margin-right: 5px;
}

#dashboards .dashboards-segment.tools-dashboards-segment .dashboards-segment-content ul:last-child {
    margin-bottom: 5px;
}

#dashboards .dashboards-segment.insights-dashboards-segment legend img {
    margin-bottom: 5px;
}

#dashboards .dashboards-segment.insights-dashboards-segment h5 {
    margin-top: 15px;
    margin-bottom: 15px;
}

#dashboards .dashboards-segment.insights-dashboards-segment h5:first-child {
    margin-top: 0;
}

#dashboards .dashboards-segment.insights-dashboards-segment .dashboards-segment-content .app {
    margin-bottom: 10px;
    text-align: center;
}

#dashboards .dashboards-segment.insights-dashboards-segment .dashboards-segment-content .app .app-name {
    display: block;
    margin-top: 5px;
    white-space: nowrap;
}

@media (min-width: 992px) {
    #dashboards .dashboards-segment-content.dashboards-dashboard-chart-content.chart-content {
        min-height: 300px;
    }
}

@media (min-width: 992px) {
    #dashboards .dashboards-segment-content.dashboards-dashboard-chart-content.chart-content-height-2 {
        min-height: 678px;
    }
}

@media (max-width: 991px) {
    .chart-content.MATRIX,
    .chart-content.VALUE {
        height: auto;
    }

    .chart-content .chart-value-total {
        line-height: 128px;
    }
}

#dashboards .dashboards-segment-content.dashboards-dashboard-chart-content.chart-content .alert {
    margin: 0;
}

#dashboards .dashboards-dashboard-chart legend {
    margin-top: 0;
    margin-bottom: 15px;
}

#dashboards
    .dashboards-dashboard-chart-list
    .dashboards-segment-content.dashboards-dashboard-chart-content.chart-content
    .toolkit-spinner {
    margin: 0;
}

/* Search. */
.search-form-container {
    margin-bottom: 15px;
}

.search-results legend.search-results-title {
    display: inherit;
    margin-bottom: 15px;
}

.search-results .search-results-content {
    position: relative;
    min-height: 20px;
}

.search-results .alert {
    margin: 10px 0 5px 0;
}

/* Request details. */
.request > .sidebar-parent {
    z-index: 2;
}

.request > .sidebar-parent + .sidebar-parent {
    z-index: 1;
}

.request > .card {
    margin-bottom: 15px;
}

.request .request-heading .alert {
    margin-bottom: 15px;
}

.request .request-heading .basic-request-field-container {
    display: inline;
}

.request .request-heading .basic-request-field-container .basic-request-field-value,
.system-configuration-tabs-container .system-config-heading .system-config-heading-system-id,
.system-configuration-tabs-container .system-config-heading .system-config-heading-system-name,
.versionvault-object-heading .versionvault-object-value,
.versionvault-object-heading .versionvault-object-name {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    color: var(--foreground);
    letter-spacing: -0.025em;
    margin-right: var(--space-3);
}

.request .request-heading.request-favorite-indicator + .request-field-container.request-title {
    margin-top: 8px;
}

.request .request-heading .request-field-container.request-id .request-field-value {
    font-weight: bold;
}

.request .request-heading .request-field-container.request-title .control-label {
    display: none;
    text-align: left;
    padding-top: 0;
    margin-bottom: 5px;
}

.request .request-heading .request-field-container.request-title .editable-request-field .control-label {
    display: inline-block;
}

.request .request-heading .request-field-container.request-title .request-field-value-container {
    width: 100%;
}

.request .request-heading .request-field-container.request-title .form-control {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    color: var(--foreground);
    letter-spacing: -0.025em;
    height: 58px;
    padding: var(--space-3) var(--space-4);
}

.request .request-heading .request-favorite-indicator {
    font-size: var(--font-size-xl);
}

.request .request-custom-tab-pane .request-sections-block .request-field-text-container {
    margin-bottom: 15px;
}

.request .request-heading .request-approvals-bar-container {
    position: relative;
    height: 40px;
    margin-left: -15px;
    margin-right: -15px;
    overflow: hidden;
}

.request .request-heading .request-approvals-bar-container .request-approvals-bar-fade {
    position: absolute;
    top: 0;
    z-index: 3;
}

.request
    .request-heading
    .request-approvals-bar-container
    .request-approvals-bar-fade.request-approvals-bar-right-fade {
    right: 0;
}

.request .request-heading .request-approvals-bar-container .request-approvals-bar-scroll-container {
    overflow: auto;
}

.request .request-heading .request-approvals-bar {
    margin: var(--space-1) 0;
    white-space: nowrap;
}

.request .request-heading .request-approvals-bar li.next-approval a.disable-ctms-approval {
    pointer-events: none;
    color: var(--muted-fg);
}

.request .request-heading .request-approvals-bar li {
    padding: 0;
    margin: 0;
    margin-right: -2px;
}

.request .request-heading .request-approvals-bar li:first-child {
    margin-left: 15px;
}

.request .request-heading .request-approvals-bar li:last-child {
    margin-right: 15px;
}

.request .request-heading .request-approvals-bar li a {
    color: var(--white);
    background: var(--border-color-mid);
    position: relative;
    display: block;
    padding: 0.35rem 0.35rem 0.35rem 1.75rem;
}

.request .request-heading .request-approvals-bar li a .spinner {
    margin-left: 5px;
}

.request .request-heading .request-approvals-bar li.all-approvals a,
.request .request-heading .request-approvals-bar li.current-status a {
    background: var(--green);
    font-weight: var(--font-weight-medium);
}

.request .request-heading .request-approvals-bar li.current-status a:hover,
.request .request-heading .request-approvals-bar li.current-status a:focus {
    text-decoration: none;
    cursor: default;
}

.request .request-heading .request-approvals-bar li.next-approval a {
    background: var(--blue);
}

.request .request-heading .request-approvals-bar li.next-approval a.disabled:hover,
.request .request-heading .request-approvals-bar li.next-approval a.disabled:focus {
    text-decoration: none;
    cursor: default;
}

.request .request-heading .request-approvals-bar li.future-status a:hover,
.request .request-heading .request-approvals-bar li.future-status a:focus {
    text-decoration: none;
    cursor: default;
}

.request .request-heading .request-approvals-bar li:first-child a {
    padding-left: 9px;
    border-top-left-radius: var(--border-radius-sm);
    border-bottom-left-radius: var(--border-radius-sm);
}

.request .request-heading .request-approvals-bar li:last-child a {
    border-top-right-radius: var(--border-radius-sm);
    border-bottom-right-radius: var(--border-radius-sm);
    padding-right: 9px;
}

.request .request-heading .request-approvals-bar li a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 15px solid var(--border-color-mid);
    position: absolute;
    top: 50%;
    margin-top: -15px;
    left: 100%;
    z-index: 2;
}

.request .request-heading .request-approvals-bar li:first-child a::after {
    left: 98%;
}

.request .request-heading .request-approvals-bar li.all-approvals a::after,
.request .request-heading .request-approvals-bar li.current-status a::after {
    border-left-color: var(--green);
}

.request .request-heading .request-approvals-bar li.next-approval a::after {
    border-left-color: var(--blue);
}

.request .request-heading .request-approvals-bar li:last-child a::after {
    content: none;
}

.request .request-heading .request-approvals-bar li a::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 15px solid var(--white);
    position: absolute;
    top: 50%;
    margin-top: -15px;
    margin-left: -100%;
    left: 100%;
    z-index: 1;
}

.request .request-heading .request-approvals-bar li:first-child a::before {
    content: none;
}

.request .request-actions,
.request .request-extras,
.system-configuration-tabs-container .system-config-actions {
    padding: var(--space-3);
}

.request .request-actions .last-request-action-btn-group {
    margin-bottom: 0 !important;
}

.request .request-actions .btn-edit-request-action,
.request .request-actions .btn-save-request-action {
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}

@media (max-width: 767px) {
    .request .sidebar-parent > .row > * {
        padding-left: 0;
        padding-right: 0;
    }

    .request .request-heading,
    .request .request-actions,
    .request .tab-content > .card {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .request .request-actions {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        padding: var(--space-2) 0 0;
        margin: var(--space-2) 0 var(--space-1);
        border-top: 1px solid var(--border-color);
    }

    .request .request-actions > .btn-group {
        flex: 1 1 auto;
    }

    .request .request-actions > .btn-group .btn {
        width: 100%;
    }

    .request .request-tabs {
        margin: 0 0 -1px 0;
    }
}

.request .request-comments-col {
    padding-left: 0;
}

@media (min-width: 768px) {
    .request .tab-pane {
        min-height: 318px;
    }
}

.request .tab-pane .alert {
    margin-bottom: 15px;
}

#planning.tab-pane {
    overflow: visible;
}

#details.tab-pane {
    overflow: visible;
}

.request .log-entry blockquote,
.modal-body .log-entry blockquote {
    border-left-width: 4px;
}

.request .log-entry blockquote.blockquote-primary,
.modal-body .log-entry blockquote.blockquote-primary {
    border-left-color: var(--blue);
}

.request .log-entry blockquote p,
.modal-body .log-entry blockquote p {
    margin-bottom: 5px;
}

.request .log-entry blockquote footer,
.modal-body .log-entry blockquote footer {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
    color: var(--muted-fg);
}

.request div.actions .btn-group {
    margin-right: 10px;
    margin-bottom: 15px;
}

.request td.actions {
    white-space: nowrap;
}

.delete-attachment-modal-body p,
.attachment-form .attachment-filename {
    word-break: break-word;
}

.request-approvals-item {
    border-left-width: 4px;
    margin-bottom: 15px;
}

.request-approvals-item.request-approvals-item-default {
    color: var(--muted-fg);
}

.request-approvals-item.request-approvals-item-primary {
    border-left-color: var(--blue);
}

.request-approvals-item.request-approvals-item-success {
    border-left-color: var(--green);
}

.request-approvals-item.request-approvals-item-warning {
    border-left-color: var(--yellow);
}

.request-approvals-item.request-approvals-item-info,
.change-log.change-log-info {
    border-left-color: var(--cyan);
}

.request-approvals-item.request-approvals-item-danger {
    border-left-color: var(--red);
}

.request-approvals-item .request-reject-reason {
    white-space: pre;
}

.request-approvals-item label {
    margin-bottom: 0;
}

.request-approvals-item footer,
.change-log footer {
    display: block;
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
    color: var(--muted-fg);
}

.request-approvals-item footer:before,
.change-log footer:before {
    content: '\2014 \00A0';
}

.card.change-log.panel {
    border-left-width: 1px;
    margin-bottom: 15px;
}

.request-sprints .request-sprint-historical-value ul {
    padding-left: 15px;
}

.request-release .request-release-info .request-release-value-container .request-release-value {
    padding-top: 7px;
}

.request-release .request-release-info .request-release-value-container .request-release-owner {
    margin-right: 10px;
}

.request-release .request-release-info .request-release-value-container .glyphicon {
    margin-right: 5px;
}

.request-release-changes .btn-group.request-release-change-manage {
    padding-bottom: 10px;
}

.request-approvals-item > .request-approvals-item {
    margin-bottom: 0;
    margin-top: 5px;
}

.request-approvals-item > .request-approvals-item .actions > .btn-group {
    margin-top: 5px;
    margin-bottom: 5px;
}

.request-approvals-item > .request-approvals-item .actions > .btn-group .btn {
    border-radius: var(--border-radius) !important;
}

.attachment-upload-progress-modal .modal-body .upload-complete,
.softwareUpdates-upload-progress-modal .modal-body .upload-complete {
    display: none;
}

.request-field-value .selectize-control.form-control,
.request-field-value .selectize-dropdown.form-control,
.attachment-form .selectize-control.form-control,
.attachment-form .selectize-dropdown.form-control,
.reference-form .selectize-control.form-control,
.reference-form .selectize-dropdown.form-control,
.request-field-value .selectize-control.form-select,
.request-field-value .selectize-dropdown.form-select,
.attachment-form .selectize-control.form-select,
.attachment-form .selectize-dropdown.form-select,
.reference-form .selectize-control.form-select,
.reference-form .selectize-dropdown.form-select {
    padding-right: 0;
}

.request-approvals-item .request-approvals-item-report-view {
    margin-left: 5px;
}

.non-abap-objects-node .item .object-text,
.change-log.xdeploy-items .object-text,
.change-log.dependencies .object-text {
    padding-left: 10px;
}

.approval-migration-checks .toolkit-spinner {
    display: inline;
    margin-left: 15px;
}

.approval-migration-checks .approval-migration-checks-results table {
    font-size: smaller;
    width: 200px;
    margin-left: 15px;
}

.approval-migration-checks .approval-migration-checks-results table > tbody > tr > th,
.approval-migration-checks .approval-migration-checks-results table > tbody > tr > td {
    padding: 1px var(--space-1);
}

.approval-migration-checks .approval-migration-checks-results table > tbody > tr.sub-row > th:first-child,
.approval-migration-checks .approval-migration-checks-results table > tbody > tr.sub-row > td:first-child {
    padding-left: 17px;
}

.approval-migration-checks .approval-migration-checks-results table > tbody > tr.sub-sub-row > th:first-child,
.approval-migration-checks
    .approval-migration-checks-results
    table
    > tbody
    > tr.sub-sub-row
    > td:first-child {
    padding-left: 32px;
    font-weight: normal;
}

@media (min-width: 768px) {
    .approve-reject-status-form .signature-panel .row {
        margin-left: -30px;
        margin-right: -30px;
    }
}

.item {
    margin-left: 5px;
}

.transport-umodes fieldset {
    margin-bottom: 0;
}

.add-transport-umode-form .table > tbody > tr > td {
    border-top: 0;
}

.add-transport-umode-form .table {
    margin-bottom: 0;
}

.request-transports .request-transports-transports-table .fa-solid.fa-copyright {
    transform: rotate(-90deg);
}

.request-paralleldev-log-table ul.list-unstyled {
    list-style-type: none;
}

.request-fields-block > div.card:hover,
.request-field-container.custom-field-container.card:hover {
    box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 15%) !important;
    border: 1px solid transparent;
}

/* Impact analysis.*/
.impactanalysis-tree,
.impactanalysis-tree ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.impactanalysis-tree ul {
    margin-left: 12px;
    position: relative;
}

.impactanalysis-tree ul ul {
    margin-left: 0.5em;
}

.impactanalysis-tree ul:before {
    content: '';
    display: block;
    width: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;
    border-left: 1px solid var(--border-color);
}

.impactanalysis-tree li {
    margin: 0;
    padding: 0 1em;
    line-height: 2em;
    position: relative;
}

.impactanalysis-tree ul li:before {
    content: '';
    display: block;
    width: 14px;
    height: 0;
    border-top: 1px solid var(--border-color);
    margin-top: -1px;
    position: absolute;
    top: 15px;
    left: 3px;
}

.impactanalysis-tree ul li:last-child:before {
    background: var(--card-bg);
    height: auto;
    top: 1em;
    bottom: 0;
}

.indicator {
    margin-right: 5px;
}

.impactanalysis-tree li a {
    text-decoration: none;
}

.impactanalysis-tree ul li.leaf-node.clearfix::before {
    width: 25px;
}

.impactanalysis-node-group > li + li {
    margin-top: 0;
}

.impactanalysis-node .object-name {
    padding-left: 22px;
}

.impactanalysis-node .object-name.has-children {
    padding-left: 5px;
}

.impactanalysis-tree .leaf {
    margin-left: 40px;
}

.impactanalysis-tree .leaf-transport {
    margin: 0;
    line-height: 2em;
}

.impactanalysis-tree .fa-plus-circle:hover,
.impactanalysis-tree .fa-minus-circle:hover {
    cursor: pointer;
}

.impactanalysis-results-container .tree-pagination-container .pagination,
.impactanalysis-results-container .tx-pagination-container .pagination {
    margin: var(--space-2) var(--space-1) 0 var(--space-1);
}

.help-description {
    margin-bottom: 5px;
}

.impactanalysis-results-container .object-search-form .object-search-actions {
    padding-left: 5px;
    white-space: nowrap;
}

/* Release management. */
.sortable-container .sortable-item-list,
.sortable-changes-save-modal-body .sortable-item-list {
    margin-bottom: 5px;
    border-radius: 0;
    box-shadow: none;
}

.sortable-changes-save-modal-body .sortable-item-list {
    padding-top: 10px;
}

.sortable-container legend {
    display: block;
}

.sortable-container .sortable-collapse {
    line-height: 26px;
}

.sortable-container .sortable-collapse.sortable-close span.sortable-open-only,
.change-log .change-log-collapse.change-log-close span.change-log-open-only {
    display: none;
}

.sortable-container .sortable-collapse.sortable-close span.sortable-close-only,
.change-log .change-log-collapse.change-log-close span.change-log-close-only {
    display: inline-block;
}

.sortable-container .sortable-collapse.sortable-open span.sortable-close-only,
.change-log .change-log-collapse.change-log-open span.change-log-close-only {
    display: none;
}

.sortable-container .sortable-collapse.sortable-open span.sortable-open-only,
.change-log .change-log-collapse.change-log-open span.change-log-open-only {
    display: inline-block;
}

.sortable-container .sortable-collapse .glyphicon,
.sortable-changes-save-modal-body .sortable-collapse .glyphicon,
.change-log .change-log-collapse .glyphicon,
.change-log-changes-save-modal-body .change-log-collapse .glyphicon {
    margin-right: 5px;
}

.sortable-container .sortable-collapse .glyphicon.glyphicon-chevron-down,
.sortable-changes-save-modal-body .sortable-collapse .glyphicon.glyphicon-chevron-down,
.change-log .change-log-collapse .glyphicon.glyphicon-chevron-down {
    transition: 0.2s transform ease-in-out;
}

.sortable-container .sortable-collapse.sortable-close .glyphicon.glyphicon-chevron-down,
.sortable-changes-save-modal-body .sortable-collapse.sortable-close .glyphicon.glyphicon-chevron-down,
.change-log .change-log-collapse.change-log-close .glyphicon.glyphicon-chevron-down {
    transform: rotate(-90deg);
}

.sortable-container .sortable-item-list .sortable-item,
.sortable-changes-save-modal-body .sortable-item-list .sortable-item {
    padding: var(--space-1);
}

.planned-sprint-name {
    margin-left: 3px;
}

.planned-sprint-container .sprint-request-details {
    line-height: 26px;
}

.planned-sprint-container .sprint-request-details .glyphicon {
    margin-left: 5px;
}

.request-link {
    margin: 0 5px;
}

.release-request-details {
    line-height: 26px;
}

.release-request-details .request-title {
    word-wrap: break-word;
}

.empty .release-request-details .request-title {
    margin-left: 5px;
}

.sortable-changes-save-modal-body .sortable-card {
    margin-bottom: 10px;
}

.sortable-container .card.ui-sortable-handle:hover {
    background-color: var(--silver);
}

.sortable-container .card.ui-sortable-handle.empty:hover {
    background-color: var(--white);
}

.sortable-container .card.ui-sortable-handle.selected {
    background-color: var(--silver);
}

.sortable-container .sortable-item {
    cursor: move;
}

.sortable-container .sortable-item.locked {
    cursor: default;
}

.sortable-item-actions .sortable-actions-dropdown {
    border: none;
    background: none;
    position: relative;
    padding: var(--space-1) var(--space-2);
    display: inline-block;
    line-height: 1;
}

.sortable-item-actions .sortable-actions-dropdown:hover {
    position: relative;
    text-decoration: none;
    display: inline-block;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--border-radius-sm);
    border: var(--border-width) var(--border-style) var(--border-color);
    background-color: var(--silver) !important;
    transition: background-color var(--transition-fast);
}

.sortable-item-actions .glyphicon.glyphicon-option-horizontal {
    font-size: medium;
}

.sortable-container .sortable-item-actions a.disabled {
    cursor: not-allowed;
    color: var(--muted-fg);
    background: none;
}

.sortable-item-actions.scrollable .dropdown-menu {
    position: fixed;
}

.sortable-container .sortable-item-drag {
    margin-top: 3px;
}

.sortable-container .sortable-item.empty.locked {
    display: block;
}

.sortable-item-move-container {
    padding-top: 10px;
}

.sortable-container .sortable-select-row {
    padding: var(--space-2) 0;
}

.sortable-container .releases-grid {
    margin-top: 15px;
    margin-bottom: 5px;
}

.sortable-container .releases-grid .releases-column {
    padding-right: 0;
}

.sortable-container .releases-grid .releases-column:last-child {
    padding-right: 15px;
}

.sortable-container .releases-grid .releases-column .ui-sortable-placeholder {
    border-color: var(--white);
    box-shadow: var(--shadow-sm);
    outline: var(--ring-width) solid var(--ring-color);
    background-color: var(--white);
}

.sortable-item-list.sortable-drop-target .sortable-item.empty {
    display: none !important;
}

.sortable-item .drag-count-badge {
    display: inline-block;
    height: 22px;
    padding: 0 6px;
    color: var(--white);
    text-shadow: 0 1px rgb(0 0 0 / 25%);
    border-width: 1px;
    border-style: solid;
    border-radius: var(--border-radius-full);
    background-color: var(--red);
    margin-top: -45px;
}

.sortable-item {
    border-left-width: 4px;
    margin-bottom: 3px;
}

.sortable-item.sortable-item-primary,
.sortable-item.sortable-item-default,
.sortable-item.sortable-item-background {
    border-left-color: var(--blue);
}

.sortable-item.sortable-item-success,
.sortable-item.sortable-item-green {
    border-left-color: var(--green);
}

.sortable-item.sortable-item-warning,
.sortable-item.sortable-item-yellow {
    border-left-color: var(--yellow);
}

.sortable-item.sortable-item-info,
.sortable-item.sortable-item-blue-green {
    border-left-color: var(--cyan);
}

.sortable-item.sortable-item-danger,
.sortable-item.sortable-item-red {
    border-left-color: var(--red);
}

.sortable-item.sortable-item-light-gray {
    border-left-color: var(--steel);
}

.sortable-item.sortable-item-violet {
    border-left-color: var(--violet);
}

.sidebar-hidable {
    padding: 0;
    margin-bottom: 15px;
    border-left: none;
    border-top: none;
    border-bottom-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
}

.sidebar-parents .sortable-drop-group {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    border-radius: 0;
    border-bottom-right-radius: var(--border-radius);
}

.sidebar-parents .sortable-drop-parent {
    border: none;
    cursor: pointer;
    border-top: 1px solid var(--border-color);
}

.sidebar-parents .sortable-drop-parent:first-child {
    border-top-left-radius: var(--border-radius);
    border-top: none;
}

.sidebar-parents .sortable-drop-parent:last-child {
    border-bottom-right-radius: var(--border-radius);
}

.sidebar-parents .sortable-drop-parent .sortable-item-list {
    display: none;
}

.sidebar-parents .sortable-drop-parent:hover {
    background-color: var(--silver);
}

.sidebar-parents .sortable-drop-parent.selected {
    background-color: var(--silver);
    box-shadow: inset 0 0 5px rgb(0 0 0 / 12.5%);
}

.sidebar-parents .sortable-drop-parent.sortable-item-danger {
    background: linear-gradient(to right, var(--red) 4px, var(--card-bg) 0);
}

.sidebar-parents .sortable-drop-parent.sortable-item-danger:hover,
.sidebar-parents .sortable-drop-parent.sortable-item-danger.selected {
    background: linear-gradient(to right, var(--red) 4px, var(--silver) 0);
}

.sidebar-parents .sortable-drop-parent.sortable-item-ready-to-approve {
    background: linear-gradient(to right, var(--cyan) 4px, var(--card-bg) 0);
}

.sidebar-parents .sortable-drop-parent.sortable-item-ready-to-approve:hover,
.sidebar-parents .sortable-drop-parent.sortable-item-ready-to-approve.selected {
    background: linear-gradient(to right, var(--cyan) 4px, var(--silver) 0);
}

.sidebar-parents .sortable-drop-parent.sortable-item-in-progress {
    background: linear-gradient(to right, var(--yellow) 4px, var(--card-bg) 0);
}

.sidebar-parents .sortable-drop-parent.sortable-item-in-progress:hover,
.sidebar-parents .sortable-drop-parent.sortable-item-in-progress.selected {
    background: linear-gradient(to right, var(--yellow) 4px, var(--silver) 0);
}

.sidebar-parents .sortable-drop-parent.sortable-drop-target {
    background-color: var(--border-color);
}

.sidebar-parents .sortable-drop-parent .unassigned .release-name {
    margin-left: 3px;
    font-style: italic;
}

.sortable-select-row .sortable-parent-actions .sortable-item-actions {
    margin: 2px 0;
}

/* Agile board. */
.active-sprint-select-container {
    margin-top: 5px;
}

.active-sprint-select-container .row .active-sprint-select-term {
    margin-top: 10px;
    width: 350px;
    padding-right: 10px;
}

@media (max-width: 767px) {
    .active-sprint-select-container .row .active-sprint-select-term {
        width: 250px;
    }
}

.report-type-select-container .row .report-type-select-term {
    width: 250px;
}

.glyphicon-equalizer.agile-glyphicon {
    transform: rotate(180deg);
}

.btn-default .glyphicon-equalizer.agile-glyphicon {
    text-shadow: 0 -1px 0 var(--white);
}

.sprint-container .sprint-status-col {
    float: left;
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
}

.sprint-container .sprint-status-col:last-child {
    padding-right: 15px;
}

.sortable-item-list .sprint-info {
    padding: 0 0 10px 17px;
}

.active-sprint-container .sortable-item-list .sortable-item {
    padding: var(--space-2);
}

.active-sprint-container .status-name {
    border-bottom: 1px solid var(--border-color);
}

.active-sprint-container .sprint-status-col > .card {
    border: none;
    background-color: var(--silver);
    box-shadow: none;
    padding: 0;
    margin-top: 10px;
}

.active-sprint-container .sprint-status-col > .card > .card-block {
    min-height: 200px;
}

.active-sprint-container
    .sprint-status-col
    > .card
    > .card-block.sortable-drop-target
    .sortable-parent-info-container
    .sortable-item.ui-sortable-handle {
    display: none;
}

.active-sprint-container
    .sprint-status-col
    > .card
    > .card-block.sortable-drop-target
    .sortable-parent-info-container
    .sortable-item.ui-sortable-helper {
    display: block !important;
}

.active-sprint-container .sprint-info {
    padding: var(--space-2) 0;
}

.active-sprint-container .sortable-item.empty {
    display: none !important;
}

.active-sprint-container .sortable-item .sprint-request-details {
    margin-bottom: 10px;
}

.active-sprint-container {
    padding-bottom: 20px;
}

.active-sprint-container:last-child {
    padding-bottom: 0;
}

.active-sprint-container .card-block.sortable-drop-target {
    border-color: var(--white);
    box-shadow: var(--shadow-sm);
    outline: var(--ring-width) solid var(--ring-color);
    border-radius: var(--border-radius);
}

.active-sprint-container .sprint-request .request-status {
    display: inline-block;
}

.sprint-container > .card,
.change-log-accordion > .card {
    padding: 5px 10px;
}

.sprint-container .sprint-drag {
    margin-top: 3px;
    float: left;
    margin-right: 10px;
}

.sprint-container .sortable-select-row {
    padding: 0;
}

.sprint-container .ui-sortable-placeholder {
    border-color: var(--white);
    box-shadow: var(--shadow-sm);
    outline: var(--ring-width) solid var(--ring-color);
}

.sprint-container .sortable-item-list.sortable-drop-target .sortable-item.empty {
    display: none;
}

.sortable-item-move-container
    .selectize-control
    .selectize-dropdown
    .selectize-dropdown-content
    .optgroup[data-group='active']
    .optgroup-header {
    display: block;
}

.columns-table thead tr th {
    padding-top: 7px;
    padding-bottom: 10px;
}

.columns-table thead tr th:first-child {
    padding-left: 0;
}

.columns-table .column-row td {
    padding-top: 10px;
    padding-bottom: 10px;
    border-top: 1px solid var(--border-color-light);
}

.columns-table .column-row:first-child td {
    padding-top: 0;
    border-top: none;
}

.columns-table .column-row:last-child td {
    padding-bottom: 0;
}

.columns-table .column-row td:first-child {
    padding-left: 0;
}

.columns-table .column-row:first-child:last-child .column-actions .add-column-button {
    border-radius: var(--border-radius);
}

.planned-sprint-container:first-child {
    margin-top: 15px;
}

.planned-sprint-container .sortable-item.empty.locked {
    border: 1px solid var(--border-color);
    box-shadow: none;
    text-align: center;
    font-style: italic;
    color: var(--steel) !important;
}

.planned-sprint-container {
    padding-bottom: 10px;
}

.search-results-content .active-sprint-time-container {
    margin-top: 10px;
}

.save-board-form .edit-filter,
.save-board-form .view-filter,
.dashboards-dashboard-chart-form .edit-filter,
.dashboards-dashboard-chart-form .view-filter {
    margin-right: 10px;
}

#chart-tooltip p {
    margin: 0;
    white-space: nowrap;
}

.report-events-table-container {
    padding-top: 25px;
}

/* Parallel development. */
#paralleldev-inflight-report .search-results-content.message-group .message {
    margin-bottom: 5px;
}

#paralleldev-inflight-report .search-mode-options .selectize-input.is-invalid {
    border-color: var(--red);
}

.paralleldev-log-form .table .log-item-keys {
    display: inline-block;
    border: var(--border-width) var(--border-style) var(--border-color);
    padding: 1px var(--space-2);
    border-radius: var(--border-radius-sm);
    background-color: var(--silver);
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--muted-fg);
}

.paralleldev-log-form .table .log-item-keys:hover {
    background-color: var(--border-color);
}

.requests-redirect-form .parallel-dev-action-reason,
.requests-approve-reject-revoke-form .parallel-dev-action-reason {
    min-height: 150px;
}

.dashboards.dashboards-dashboard-charts.sorting {
    box-shadow: none;
}

/* Sprint completion dialog. */
.sprints-form .selectize-control {
    width: 250px;
    margin: 5px 0 5px 20px;
}

#releases-workbench .search-release-query-container {
    padding-top: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
}

/* Admin. */
.admin-tabs-container > .sidebar-parent,
.system-configuration-tabs-container > .sidebar-parent,
.request > sidebar-parent {
    z-index: 2;
}

.admin-tabs-container > .sidebar-parent + .sidebar-parent,
.system-configuration-tabs-container > .sidebar-parent + .sidebar-parent,
.request > .sidebar-parent + .sidebar-parent {
    z-index: 1;
}

.admin-tabs-container > .card,
.system-configuration-tabs-container > .card,
.request > .card {
    margin-bottom: 15px;
}

.sidebar-tabs .tabs-stacked > li {
    margin-top: 2px;
}

/* Active item — filled pill, brand colour */
.sidebar-tabs .tabs-stacked > li.active > a {
    color: var(--base-color);
    background-color: var(--base-color-muted);
    font-weight: var(--font-weight-semibold);
}

/* Base nav link — clean, no borders */
.sidebar-tabs .tabs-stacked > li > a {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--border-radius-sm);
    border: none;
    color: var(--muted-fg);
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    background-color: transparent;
    transition: color var(--transition-fast), background-color var(--transition-fast);
}

.sidebar-tabs .tabs-stacked > li > a:hover,
.sidebar-tabs .tabs-stacked > li > a:focus,
.sidebar-tabs .tabs-stacked > li > a:active {
    text-decoration: none;
    color: var(--foreground);
    background-color: var(--silver);
}

@media (min-width: 768px) {
    .sidebar-tabs .tabs-stacked {
        padding: 0;
        margin-right: 0;
        margin-bottom: var(--space-4);
    }

    /* Desktop: clean pill nav, no left-border accent */
    .sidebar-tabs .tabs-stacked > li > a {
        margin-right: var(--space-2);
        border: none;
        color: var(--muted-fg);
    }

    .sidebar-tabs .tabs-stacked > li.active > a {
        color: var(--base-color);
        font-weight: var(--font-weight-semibold);
        background-color: var(--base-color-muted);
    }
}

@media (max-width: 767px) {
    .admin-tabs-container,
    .system-configuration-tabs-container,
    .request {
        margin-left: -15px;
        margin-right: -15px;
    }

    .sidebar-tabs {
        margin: 0 15px -1px 15px;
    }

    .sidebar-tabs .tabs-stacked {
        display: table;
        width: 100%;
        table-layout: fixed;
        border-collapse: collapse;
        margin: 0;
    }

    .sidebar-tabs .tabs-stacked > li {
        display: table-cell;
        float: none;
        width: 100%;
        margin: 0;
        text-align: center;
    }

    .sidebar-tabs .tabs-stacked > li.nav-header {
        display: none;
    }

    .sidebar-tabs .tabs-stacked > li > a {
        margin-right: 0;
        padding: var(--space-1);
    }

    .sidebar-tabs .tabs-stacked > li > a .fa-solid {
        margin-right: 0;
    }
}

@media (min-width: 768px) {
    .admin-tabs-container .tab-pane,
    .system-configuration-tabs-container .tab-pane {
        min-height: 870px;
    }
}

/* ── Sidebar section headers — collapsible, shadcn label style ── */
.sidebar-tabs .tabs-stacked .nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-2) var(--space-3);
    margin-top: var(--space-4);
    margin-bottom: var(--space-1);
    font-family: var(--font-sans);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted-fg);
    cursor: pointer;
    border-radius: var(--border-radius-sm);
    user-select: none;
    transition: color var(--transition-fast);
}

.sidebar-tabs .tabs-stacked .nav-header:hover {
    color: var(--foreground);
}

/* Chevron icon — rotates when section is collapsed */
.sidebar-tabs .tabs-stacked .nav-header::after {
    content: '\203A';
    font-size: 1rem;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    opacity: 0.5;
    transition: transform var(--transition-fast);
    transform: rotate(90deg);
}

.sidebar-tabs .tabs-stacked .nav-header.collapsed::after {
    transform: rotate(0deg);
}

.sidebar-tabs .tabs-stacked .nav-header:first-child {
    margin-top: 0;
}

/* Collapsed section items — allow dropdowns to overflow visibly */
[data-section-item] {
    overflow: visible;
}

/* When a section contains the active tab, prevent collapsing (cursor hint) */
.sidebar-tabs .tabs-stacked .nav-header.has-active {
    cursor: default;
    opacity: 1;
}

.sidebar-tabs .tabs-stacked .nav-header.has-active::after {
    opacity: 0.2;
    pointer-events: none;
}

.apiclients-container .alert-info.empty-results {
    margin-bottom: 15px;
}

.sortable-select-row .unassigned-request-count {
    height: 30px;
    margin-top: 5px;
    padding-left: 0;
}

@media (min-width: 768px) {
    .admin-tabs-container .tab-pane,
    .system-configuration-tabs-container .tab-pane {
        min-height: 930px;
    }
}

.system-configuration-tabs-container .system-configuration-error {
    padding-top: 50px;
}

.system-configuration-tabs-container .system-config-heading {
    margin-bottom: 15px;
    padding: 10px 15px;
}

.system-configuration-tabs-container .system-config-heading .system-config-heading-system-id,
.versionvault-object-heading .versionvault-object-value {
    font-weight: bold;
}

.system-configuration-tabs-container .btn-group.system-config-action.activate-changes-system-config-action {
    margin-bottom: 0;
}

.migrationDestination-create-update-form .table > tbody > tr > td.umodes-item-text,
.migrationDestination-create-update-form .table > tbody > tr > td.umodes-item-value {
    border-top: none;
    vertical-align: top;
}

.migrationDestination-create-update-form .table > tbody > tr > td.umodes-item-value {
    padding-left: 0;
}

.migrationDestination-create-update-form .table {
    margin-bottom: 0;
}

.admin-tabs .float-end.glyphicon {
    visibility: hidden;
    top: 4px;
}

.glyphicon.glyphicon-alert.ERROR {
    color: var(--status-error-text);
    visibility: visible;
}

.glyphicon.glyphicon-alert.WARNING {
    color: #fef9c3;
    visibility: visible;
}

.glyphicon.glyphicon-info-sign.INFO {
    color: var(--base-color);
    visibility: visible;
}

/* Notifications */
.notification-row.read {
    filter: brightness(1.1);
}

/* Webhooks. */
.hooks-sort-form .hooks-sortable .list-group-item {
    cursor: move;
}

.hooks-test-result.SUCCESS .accordion-item .accordion-button,
.hooks-test-result.SUCCESS .accordion-item .accordion-button:not(.collapsed),
.hooks-test-result.SUCCESS .accordion-item .accordion-body {
    color: var(--status-success-text);
    background-color: var(--status-success-bg);
    font-weight: var(--font-weight-medium);
}

.hooks-test-result.SUCCESS .accordion-item {
    border-color: var(--status-success-border);
}

.hooks-test-result.ERROR .accordion-item .accordion-button,
.hooks-test-result.ERROR .accordion-item .accordion-button:not(.collapsed),
.hooks-test-result.ERROR .accordion-item .accordion-body {
    color: var(--status-error-text);
    background-color: var(--status-error-bg);
    font-weight: var(--font-weight-medium);
}

.hooks-test-result.ERROR .accordion-item {
    border-color: var(--status-error-border);
}

.hooks-test-result .accordion-button:not(.collapsed) {
    font-weight: bold;
}

.hooks-test-result .accordion-button.hide-after::after {
    display: none;
}

.hooks-test-result .accordion-button.hide-after {
    cursor: default;
}

.field-mappings-table .field-mappings-row:first-child:last-child .field-actions .add-predicate-button {
    border-radius: var(--border-radius);
}

.search-form
    .search-query.with-subqueries
    > .search-predicates-container
    > .search-predicates
    > .search-predicate:first-child:last-child
    .search-predicate-actions
    .add-predicate-button {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.process-response-block.disabled {
    cursor: not-allowed;
}

/* Event listeners. */
.show-url-form p.form-control-plaintext.url {
    word-wrap: break-word;
}

.transport-details-requests-list ul {
    margin-top: 5px;
    padding-left: 20px;
    list-style-type: square;
    color: var(--muted-fg);
}

.dependencies-results table .view-requests,
.dependencies-results table .view-requests-btn {
    padding: 0;
    margin: 0;
}

.tribute-container {
    box-shadow: var(--shadow-lg);
    border: var(--border-width) var(--border-style) var(--border-color);
    border-radius: var(--border-radius);
    overflow: hidden;
}

.tribute-container ul {
    background: var(--white) !important;
}

.tribute-container li {
    padding: var(--space-2) var(--space-3) !important;
    font-size: var(--font-size-base);
    cursor: pointer;
    transition: background-color var(--transition-fast);
}

.tribute-container li.highlight {
    background: #f5f5f5 !important;
}

.tribute-container li span.mention-item-text {
    padding-left: var(--space-2);
    color: var(--muted-fg);
    font-size: var(--font-size-sm);
}

.request-field-container.request-field-container-new-comment .new-comment-field-value:empty {
    display: block;
    margin-bottom: 10px;
}

.request-field-container.request-field-container-new-comment {
    white-space: nowrap;
}

.request-field-container.request-field-container-new-comment .new-comment-field-value,
.new-comment-field-value {
    display: inline-block;
    padding: var(--space-3) var(--space-3);
    overflow: auto;
    width: 100%;
    min-height: 120px;
    border-radius: var(--border-radius);
    border: var(--border-width) var(--border-style) var(--border-color);
    background-color: var(--input-bg);
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--space-2);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.features-container .checkbox > .toolkit-spinner {
    display: inline;
    margin: 0 10px;
}

.log-entry .request-user {
    border-radius: var(--border-radius-full);
    padding: 1px var(--space-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.025em;
}

.search-query-orderby-summary {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-relaxed);
    color: var(--muted-fg);
}

.search-query-summary .search-query-summary-query .search-query-summary-field {
    color: var(--base-color);
}

.search-query-summary .search-query-summary-query .search-query-summary-operator,
.search-query-orderby-summary .search-query-summary-operator {
    color: var(--alpenglow-red);
    font-weight: var(--font-weight-medium);
}

.search-query-summary .search-query-summary-query .search-query-summary-value,
.search-query-orderby-summary .search-query-summary-value {
    color: var(--blue);
    font-weight: var(--font-weight-medium);
}

.search-query-summary .search-query-summary-query .search-query-summary-punctuation,
.search-query-orderby-summary .search-query-summary-punctuation {
    color: var(--border-color-mid);
}

.messages-form .request-dependency-message {
    padding-left: 0;
}

.request-release-changes .release-progress > span,
.releases-grid .progress {
    height: 4px;
    border-radius: var(--border-radius-full);
}

.request-release-changes .release-progress {
    width: 140px;
    margin-left: 5px;
    display: inline-block;
}

a.transport-number,
a.view-migration-action {
    position: relative;
}

.migration-action-form pre {
    white-space: pre-wrap;
}

.migration-workbench-edit-umodes .fa-solid.fa-copyright {
    transform: rotate(-90deg);
}

.add-transport-form .add-transport-option {
    margin-right: 10px;
}

div.table-fixed {
    width: 100%;
    overflow: auto;
}

.statuses-form div.table-container {
    max-height: 500px;
}

.chronological-summary-form div.table-container {
    max-height: 320px;
}

.statuses-form span.view-approvals {
    cursor: pointer;
}

#approvaltimes-report .search-results .btn-group.tab-btn-group {
    margin: 10px 10px 10px 0;
}

/* Advanced */
.advanced-virtual-machine-form .btn-default {
    margin-right: 10px;
}

.advanced-patch-form-actions {
    margin-bottom: 0;
}

/* CodeFerret */
#revtrac-codeferret .codeferret-search-query-container {
    padding-top: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
}

.codeferret-search-form legend {
    margin-bottom: 0;
}

.search-form-actions .float-end .btn {
    margin-right: 0;
    margin-left: 5px;
}

.codeferret-search-results-content .table-container {
    overflow: auto;
}

.codeferret-search-results-content .table .snippets {
    overflow: hidden;
}

.snippet table {
    width: auto;
    background-color: var(--silver);
}

.codeferret-search-results-content a.no-decoration {
    text-decoration: none;
}

.codeferret-search-results-content .table .snippets {
    border: 1px solid var(--border-color);
    margin-bottom: 10px;
    border-radius: var(--border-radius);
}

.snippet table > tbody > tr > td > pre,
.object-differences table > tbody > tr > td > pre,
.object-view table > tbody > tr > td > pre {
    margin-bottom: 0;
    padding: 0;
    border: none;
    background-color: var(--silver);
}

.codeferret-search-form .form-check-label {
    font-weight: normal;
}

.codeferret-search-results-content .table .object-field-value.transport-number {
    padding-left: 5px;
}

.codeferret-search-results-error .error {
    margin-bottom: 5px;
}

.object-fields .object-field .object-field-value {
    background-color: var(--yellow-muted);
}

.object-fields .object-field .no-highlight {
    background-color: inherit;
}

/* Match Box */
.revtrac-object-type .selectize-dropdown .disable-option {
    pointer-events: none;
    color: var(--muted-fg);
}

.matchbox-object-versions-form .object-version .selectize-input,
.matchbox-object-versions-form .object-version-compared .selectize-input {
    padding-bottom: 0;
}

.matchbox-search-form .matchbox-compare-with-systems,
.matchbox-search-form .matchbox-compare-with-objects {
    display: none;
}

.matchbox-search-results-content .object-differences-container .object-differences,
.object-view.code-view {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    margin-bottom: 10px;
    width: 100%;
    overflow: hidden;
    overflow-x: auto;
}

.matchbox-object-versions-form .search-result-source-system-name {
    padding-left: 0;
}

.matchbox-object-versions-form .search-result-compare-system-name {
    padding: 0;
    margin-left: 7.7%;
}

.object-differences .attributes-table,
.object-view .attributes-table {
    margin-top: 10px;
}

.object-differences .attributes-table th,
.object-differences .attributes-table td,
.object-view .attributes-table th,
.object-view .attributes-table td {
    border-right: 1px solid var(--border-color);
    padding: var(--space-1);
    white-space: nowrap;
    text-align: left;
}

.object-differences .attributes-table td,
.object-view .attributes-table td {
    font-family: var(--font-family-mono);
    font-size: var(--font-size-sm);
}

.object-differences .attributes-table td.text-center,
.object-view .attributes-table td.text-center {
    text-align: center;
}

.object-differences .attributes-table th,
.object-view .attributes-table th {
    background-color: var(--silver);
}

.object-differences .attributes-table th:last-child,
.object-differences .attributes-table td:last-child,
.object-view .attributes-table th:last-child,
.object-view .attributes-table td:last-child {
    border-right: none;
}

.object-differences-container .object-differences.object-differences-generic {
    border: none;
    overflow: auto;
}

.object-differences-generic .code-view.block,
.object-view.generic-view .code-view.block {
    margin-top: 10px;
    border-radius: var(--border-radius);
    border-color: var(--border-color);
}

.object-differences-generic .object-difference.block,
.object-view.generic-view .code-view.block {
    margin-bottom: 20px;
}

.object-differences-container .object-differences.object-differences-table,
.object-differences-container .object-differences.object-differences-structure {
    border: none;
}

@media (max-width: 991px) {
    .matchbox-search-results-content .object-comparison .object-differences-toolbar {
        float: left !important;
    }

    .matchbox-search-results-content .object-comparison .object-versions .object-version,
    .matchbox-search-results-content .object-comparison .object-versions .object-version-compared {
        width: 100%;
        padding-right: 0;
    }

    .matchbox-search-results-content .object-comparison .object-versions .object-version-swap,
    .matchbox-search-results-content .object-comparison .object-versions .object-version-compared {
        padding-left: 0;
    }

    .matchbox-search-results-content .object-comparison .object-versions .object-version-swap,
    .matchbox-search-results-content .object-comparison .object-differences-toolbar {
        padding-top: 7px;
        padding-bottom: 12px;
    }

    .matchbox-search-results-content
        .object-comparison
        .object-versions
        .object-version-swap
        .glyphicon-transfer {
        transform: rotate(-90deg);
        margin-right: 0;
    }
}

/* Version Vault */
.versionvault-object-browser-container .versionvault-object-browser-content {
    overflow: auto;
}

.versionvault-object-browser-container .object-tree-container .data-tree.data-node {
    white-space: nowrap;
}

.versionvault-object-browser-container .object-tree-container .data-node > a > span.object-name {
    padding-left: 3px;
    padding-right: 3px;
}

.versionvault-object-browser-container
    .object-tree-container
    .data-node-selectable.selected
    > a
    > span.object-name:first-child {
    background-color: var(--base-color);
    padding-top: 1px;
    padding-bottom: 1px;
    border-radius: var(--border-radius);
    color: var(--white);
}

.versionvault-object-browser-container .object-tree-container .data-node-selectable a {
    text-decoration: none;
}

.versionvault-object-browser-container .object-tree-container .alert {
    margin-bottom: 5px;
}

.versionvault-container > .sidebar-parent,
.versionvault-object-details-container > .sidebar-parent {
    position: relative;
    padding-left: 500px;
}

@media (max-width: 991px) {
    .versionvault-container > .sidebar-parent,
    .versionvault-object-details-container > .sidebar-parent {
        padding-left: 0;
    }

    .versionvault-container .sidebar,
    .versionvault-object-browser-container .sidebar {
        width: 100%;
    }

    .versionvault-container,
    .versionvault-object-details-container {
        display: flex;
        flex-direction: column;
        padding-left: 0;
        margin-bottom: 0;
        border-radius: 0;
        border-bottom-right-radius: var(--border-radius);
    }

    .versionvault-container .sidebar-parent .sidebar {
        position: inherit;
        top: auto;
        left: auto;
        width: auto;
        order: 1;
    }

    .versionvault-container .sidebar-parent .row {
        padding-top: 15px;
        order: 2;
    }

    .versionvault-object-details-container .sidebar-parent .row {
        order: 3;
    }

    .versionvault-object-browser-container {
        height: 200px;
        overflow: auto;
    }
}

@media (max-width: 1199px) {
    .versionvault-object-version-details .object-version .object-view-version-actions {
        padding-top: 10px;
    }
}

@media (max-width: 1500px) {
    .versionvault-object-version-details .object-version .object-view-version-actions {
        float: left !important;
        display: flex;
    }
}

.versionvault-container > .sidebar-parent + .sidebar-parent,
.versionvault-object-browser-container > .sidebar-parent + .sidebar-parent {
    z-index: 1;
}

.versionvault-object-details-container > .sidebar-parent {
    z-index: 2;
}

.versionvault-container > .sidebar-parent {
    z-index: 3;
}

.versionvault-container .sidebar,
.versionvault-object-browser-container .sidebar {
    width: 485px;
}

.versionvault-search-form-container .search-title {
    padding-bottom: 5px;
}

.versionvault-object-details-container {
    padding-top: 15px;
}

.versionvault-object-browser-container {
    margin-top: 15px;
}

.versionvault-object-heading .alert {
    margin-bottom: 0;
}

.versionvault-object-heading .versionvault-object-value,
.versionvault-object-heading .versionvault-object-name {
    font-size: var(--font-size-lg);
}

.versionvault-object-version-details .tab-pane {
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
    padding: 20px 15px 5px 15px;
    background-color: var(--white);
    overflow: unset;
}

.versionvault-object-version-details .object-version .object-view-toolbar {
    display: inline;
    padding-right: 15px;
}

.versionvault-object-version-details .object-version .selectize-input {
    padding-bottom: 0;
}

.versionvault-object-version-details .object-version .object-view-version-actions {
    padding-right: 0;
}

.versionvault-object-version-details .object-version .object-view-version-actions .compare-versions {
    margin-right: 15px;
}

.object-view-container .object-view {
    overflow: auto;
}

.object-versions .object-version .selectize-control .object-sap-version,
.object-versions .object-version-compared .selectize-control .object-sap-version {
    margin-right: 6px;
}

.object-tree-container .tree-leaf-node a {
    padding-left: 15px;
}

/* WIP Window */
#revtrac-wipwindow {
    padding-bottom: 15px;
}

.wipwindow-search-form .wipwindow-logo {
    width: 25px;
    height: 25px;
}

.wipwindow-search-form .wipwindow-options.control-label {
    padding-top: 0;
}

.wipwindow-search-form .wipwindow-search-query-container .include-quarantined-transports-checkbox {
    margin-right: 5px;
}

.wipwindow-search-form .form-check-label {
    font-weight: normal;
}

.wipwindow-search-results-container .wipwindow-search-results-content.loading .toolkit-spinner {
    margin-bottom: 5px;
}

.wipwindow-results-table .results-summary {
    margin-left: 5px;
    color: var(--muted-fg);
    font-size: var(--font-size-base);
    font-weight: normal;
}

.wipwindow-search-results-content .alert-neutral {
    margin-top: 15px;
    margin-bottom: 5px;
}

.glyphicon.version-state {
    border-radius: var(--border-radius-full);
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-xs);
}

/* Matrix */
#revtrac-matrix {
    padding-bottom: 15px;
}

.matrix-search-form .matrix-options.control-label {
    padding-top: 0;
}

.matrix-search-form .matrix-search-query-container .form-check-input {
    margin-right: 5px;
}

.matrix-search-form .form-check-label {
    font-weight: normal;
}

.matrix-search-results-container .matrix-search-results-content.loading {
    margin-top: 10px;
}

.matrix-search-results-container .alert {
    margin-top: 20px;
    margin-bottom: 10px;
}

.matrix-results-table .data-node-group .fa-plus-circle,
.matrix-results-table .data-node-group .fa-minus-circle {
    cursor: pointer;
    margin-left: 0;
}

.matrix-results-table .data-node-group .data-node-selectable .data-node-object-name {
    margin-left: 10px;
}

.matrix-results-table .table th .glyphicon.glyphicon-time {
    font-weight: bold;
}

.matrix-search-results-footer .matrix-search-results-export .btn {
    margin-right: 5px;
    margin-top: 10px;
}

/* Code view */
.code-view {
    font-size: var(--font-size-sm);
    font-family: var(--font-mono);
    border-radius: var(--border-radius);
}

.code-view.block {
    overflow: hidden;
    overflow-x: auto;
    border: var(--border-width) var(--border-style) var(--border-color);
    background-color: var(--silver);
}

.code-view table {
    width: 100%;
}

.code-view table td,
.object-difference .code-view.block,
.object-view.code-view table td,
.snippet.code-view table td,
.object-view.generic-view .code-view.block {
    padding-top: 3px;
    padding-bottom: 3px;
    font-family: var(--font-family-mono);
    font-size: var(--font-size-sm);
    background-color: var(--silver);
}

.code-view tr.a td,
.object-differences table > tbody > tr.a > td > pre,
.object-differences.object-differences-table table > tbody > tr.a > td,
.object-differences.object-differences-generic table > tbody > tr.a > td,
.object-differences.object-differences-structure table > tbody > tr.a > td,
.object-view.code-view table > tbody > tr.a > td > pre {
    background-color: var(--diff-added-bg);
}

.code-view tr.r td,
.object-differences table > tbody > tr.r > td > pre,
.object-differences.object-differences-table table > tbody > tr.r > td,
.object-differences.object-differences-generic table > tbody > tr.r > td,
.object-differences.object-differences-structure table > tbody > tr.r > td,
.object-view.code-view table > tbody > tr.r > td > pre {
    background-color: var(--diff-removed-bg);
}

/* Line number */
.ln {
    border-right: 1px solid var(--border-color-mid);
    color: var(--foreground);
    text-align: right;
    padding-left: 1em;
    padding-right: 1em;
}

.a .ln {
    color: var(--green-hover);
    border-right-color: #7a7;
}

.r .ln {
    color: #600;
    border-right-color: #a77;
}

/* Blame */
.bl {
    border-right: 1px solid var(--border-color-mid);
    color: var(--foreground);
    text-align: left;
    padding-left: 1em;
    padding-right: 1em;
    white-space: nowrap;
    width: 5%;
}

.bl.bls {
    color: var(--muted-fg);
}

.a .bl {
    color: var(--green-hover);
    border-right-color: #7a7;
}

.a .bl.bls {
    color: #8b8;
}

.r .bl {
    color: #600;
    border-right-color: #a77;
}

.r .bl.bls {
    color: #b88;
}

/* Line content */
.lc {
    padding-left: 1em;
}

/* Keyword */
.ck {
    color: #00f;
}

/* Text literal */
.cl {
    color: #090;
}

/* Number */
.cn {
    color: #09f;
}

/* Comment */
.cc {
    color: var(--foreground);
    font-style: italic;
}

/* Bracket */
.cb {
    color: var(--muted-fg);
}

/* Operator */
.co {
    color: #609;
}

/* Highlight */
.ch {
    background-color: var(--yellow-muted);
}

/* Word diff */
.a .cd {
    background-color: var(--diff-added-word-bg);
}

.r .cd {
    background-color: var(--diff-removed-word-bg);
}

.approvaltimes-summary-form td.progress-row {
    width: 33%;
}

.approvaltimes-summary-form div.progress {
    height: 4px;
    border-radius: var(--border-radius-full);
}

#approvaltimes-report .chart-type {
    padding: 15px 0 15px 0;
}

#approvaltimes-report .chart-config {
    padding: 10px 10px 10px 0;
}

#approvaltimes-report .chart-config label {
    padding-right: 10px;
}

.multi-tab-container .tab-content {
    padding: 15px 15px 0 15px;
    border-left: 1px solid var(--border-color);
    border-right: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    border-radius: 0 0 4px 4px;
}

.general-tab-container.multi-tab-container .tab-content {
    padding: 15px 15px 15px 15px;
}

.multi-tab-container fieldset.tab-fieldset {
    margin: 0;
}

.multi-tab-container .nav-tabs .nav-link .title {
    font-weight: var(--font-weight-semibold) !important;
    font-size: var(--font-size-base);
    letter-spacing: 0.01em;
}

#retrofit-search .search-retrofit-query-container {
    padding-top: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
}

.transport-details-form .tab-pane {
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
    padding: 20px 15px 0 15px;
    overflow: unset;
}

.transport-details-form .total-transport-components-summary,
.transport-details-form .total-sources-summary,
.transport-details-form .total-requests-summary,
.transport-details-form .total-audit-summary {
    color: var(--muted-fg);
}

.system-configuration-tabs-container .tab-pane.card .table-container {
    padding-top: 10px;
}

.system-configuration-tabs-container .tab-pane.card .no-data.edit {
    margin-top: 15px;
}

.system-configuration-tabs-container .tab-pane.card .filter-container {
    margin-bottom: 10px;
}

.system-configuration-tabs-container .tab-pane.card .filter-container .filter-form .filter-actions {
    padding-left: 5px;
    white-space: nowrap;
}

.administrators-container button.btn-create {
    margin-bottom: 15px;
}

/* Watchbot */
#revtrac-insights-watchbot {
    padding-bottom: 15px;
}

.rules-config-modal .create-rule-container {
    margin-bottom: 15px;
}

.watchbot-search-form-container .configure-rules-container {
    margin: 15px 0 15px;
}

.watchbot-search-form-container legend {
    margin-bottom: 0;
}

.watchbot-search-form-container legend.title {
    padding-bottom: 5px;
}

.watchbot-search-form-container .search-form-content {
    padding: 15px 0 5px 0;
}

.rule-config-container .rule-operator {
    width: auto;
    display: inline;
}

.rule-config-container .search-predicate-actions {
    line-height: 2;
}

.rule-config-container .object-predicates-container .row button.add-predicate-button.last,
.rule-config-container .system-predicates-container .row button.add-predicate-button.last {
    border-bottom-left-radius: 3px;
    border-top-left-radius: 3px;
}

.rule-config-container .object-predicates-container .list-group {
    padding-left: 15px;
}

.rule-config-container .object-predicates-container .list-group.view-only .list-group-item span {
    display: inline-block;
    width: 30%;
}

.rule-config-container
    .object-predicates-container
    .list-group.view-only
    .list-group-item
    span:not(:last-child) {
    border-right: 1px solid var(--border-color);
}

.rule-config-container .system-predicates-container .list-group,
.rule-config-container .object-predicates-container .list-group {
    margin-bottom: 5px;
    box-shadow: none;
}

.rule-config-container .system-predicates-container .systems-list-item {
    padding-top: 7px;
}

.rule-config-container .rule-operator-label-suffix {
    text-align: left;
    padding-top: 7px;
    padding-left: 0;
    font-weight: unset;
}

.rule-config-container .system-predicates-container .selectize-control.multi.systems .selectize-input > div,
.matrix-search-query-container .selectize-control.multi.other-systems .selectize-input > div,
.ctms-routes-multiselect.multi .selectize-input > div {
    margin-bottom: 0;
}

.table-container .alert-events-pagination-container .pagination,
.rules-pagination-container .pagination {
    margin: 20px 0 0 0;
}

.rule-config-form .search-predicate-actions > .btn-group,
.rule-config-form .search-query-actions > .btn-group {
    margin: 4px 0 0 0;
}

.rule-config-form .search-predicate-actions > .btn-group.btn-group-sm > .btn,
.rule-config-form .search-query-actions > .btn-group.btn-group-sm > .btn {
    padding: 0.2rem 0.4rem;
}

@media (max-width: 767px) {
    .rule-config-form .search-predicate-actions > .sorter {
        margin: 0;
    }

    .rule-config-form .search-predicate-actions > .btn-group {
        margin: 0;
    }
}

.rule-config-form
    .list-group
    > .list-group-item:first-child:last-child
    .search-predicate-actions
    .add-predicate-button,
.rule-config-form
    .system-predicates-container
    > .row.mb-3:first-child:last-child
    .search-predicate-actions
    .add-predicate-button {
    border-radius: var(--border-radius);
}

/* Cold Case */
.coldcase-search-form .coldcase-logo {
    width: 25px;
    height: 25px;
}

.coldcase-search-form .coldcase-options.control-label {
    padding-top: 0;
}

.coldcase-search-form .coldcase-search-query-container .include-quarantined-transports-checkbox {
    margin-right: 5px;
}

.coldcase-search-form .form-check-label {
    font-weight: normal;
}

.coldcase-search-results .coldcase-search-results-table-container .view-object-versions-btn {
    padding-bottom: 0;
    padding-right: 0;
    padding-top: 0;
}

.coldcase-search-results-container .coldcase-search-results-content.loading .toolkit-spinner {
    margin-bottom: 5px;
}

/*Software updates. */
.softwareUpdate-status .progress {
    margin-bottom: 0;
}

.softwareUpdates-row .actions .btn-group > .btn.update-action-button {
    margin-left: 0;
    border-radius: var(--border-radius);
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.softwareUpdates-container .alert-success .glyphicon.glyphicon-ok {
    color: var(--status-success-text);
}

.softwareUpdates-container .alert-danger .glyphicon.glyphicon-remove {
    color: var(--status-error-text);
}

.softwareUpdates-abap-outOfDate.alert.alert-warning {
    margin-bottom: 0;
}

.softwareUpdates-install-status .card.message,
.restore-progress-container .card.message {
    font-family: var(--font-family-mono);
    min-height: 280px;
    font-size: var(--font-size-sm);
    overflow-y: scroll;
}

.softwareUpdates-container .softwareUpdates-manual-update-upload {
    margin-top: 50px;
}

#systemsconfiguration.tab-pane.card {
    overflow: visible;
}

.systems-container .system-row .fa-solid.revtrac-system-status {
    margin-left: 20px;
    margin-right: 0;
}

.systems-container .system-row .fa-solid.fa-bolt {
    margin-right: 0;
}

.systems-table .system-row .system-status .fa-solid,
.systems-table .system-row .system-built-status .fa-solid,
.statistics-container .statistics-table td .fa-solid {
    font-size: 0.875rem;
}

.systems-table .system-row .system-status-STOPPED .fa-solid,
.systems-table .system-row .system-status-LOCKED .fa-solid,
.statistics-container .statistics-table td.system-status-LOCKED .fa-solid,
.statistics-container .statistics-table td.system-status-STOPPED .fa-solid {
    color: var(--red);
}

.systems-table .system-row .system-status-STOPPING .fa-solid,
.systems-table .system-row .system-status-LOCKING .fa-solid,
.statistics-container .statistics-table td.system-status-LOCKING .fa-solid,
.statistics-container .statistics-table td.system-status-STOPPING .fa-solid {
    color: var(--yellow);
}

.systems-table .system-row .system-status-RUNNING .fa-solid,
.statistics-container .statistics-table td.system-status-RUNNING .fa-solid {
    color: var(--green);
}

.systems-table .system-row .system-status .system-status-message {
    vertical-align: top;
}

.systems-table .system-row .system-status .system-status-text {
    padding-left: 25px;
}

.systems-table .system-row .system-built-status .fa-solid.fa-times,
.statistics-container .statistics-table td.system-built .fa-solid.fa-times {
    color: var(--red);
}

.systems-table .system-row .system-built-status .fa-solid.fa-check,
.statistics-container .statistics-table td.system-built .fa-solid.fa-check {
    color: var(--green);
}

.systems-table .system-status .system-status-text .system-status-progress {
    position: relative;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background-color: var(--base-color);
    margin-top: 25px;
}

.systems-table .system-row .col-sm-3,
.systems-table .system-row .col-sm-5 {
    vertical-align: top;
}

.systems-table .system-row .col-sm-6 {
    padding-bottom: 0;
}

.systems-table .system-snapshot-row .col-sm-3 {
    padding-left: 30px;
}

.systems-table .system-snapshot-row .snapshot-name {
    font-style: italic;
}

.systems-table .system-snapshot-row .snapshot-time .fa-solid {
    margin-right: 0;
}

.systems-table .system-snapshot-row {
    display: none;
}

.systems-table tr:last-child .system-status .system-status-text .system-status-progress {
    margin-top: 10px;
}

.systems-container .systems-table {
    margin-bottom: 0 !important;
}

.system-action-buttons .btn-group > .btn:not(.dropdown-toggle) {
    border-radius: var(--border-radius) !important;
    border-bottom-right-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

tr.system-row.system-status-inactive,
tr:hover.system-row.system-status-inactive {
    color: var(--muted-fg);
}

.systems-table tr.system-row .system-action-buttons .btn.disabled {
    pointer-events: none;
}

tr.system-row.system-status-inactive .fa-solid,
.statistics-container .statistics-table td.INACTIVE .fa-solid {
    color: var(--muted-fg) !important;
}

.system-data-form fieldset:last-child {
    margin-bottom: 0;
}

.system-sncCertificates-form .system-clients-table td > ul {
    color: inherit;
}

.system-sncCertificates-form .btn.export-snc-certificate {
    margin-left: 20px;
}

.system-sncCertificates-form .system-clients-table {
    margin-top: 20px;
    margin-bottom: 0;
}

.system-sncCertificates-form .info.alert-neutral {
    margin-top: 20px;
    margin-bottom: 0;
}

.systemsConfiguration-tab-container .namespaces-container,
.systemsConfiguration-tab-container .systems-container,
.systemsConfiguration-tab-container .data-container,
.systemsConfiguration-tab-container .data-tab-container,
.systemsConfiguration-tab-container .statistics-container {
    margin-bottom: 15px;
}

.statistics-container .statistics-table > tbody > tr > td {
    white-space: nowrap;
}

.statistics-container .col-sm-12 {
    padding-left: 0;
    padding-right: 0;
}

.statistics-container .statistics-table td.sub-section,
.statistics-container .statistics-table td.sub-sub-section {
    padding-left: 20px;
    font-size: smaller;
}

.statistics-container .statistics-table td.sub-section-value {
    font-size: smaller;
}

.statistics-container .statistics-table td.sub-sub-section {
    padding-left: 40px;
}

.sapjco-container .sapjco-form .fa-solid.fa-check,
.snc-container .snc-form .fa-solid.fa-check {
    color: var(--green);
    margin-right: 10px;
    font-size: larger;
}

.snc-container .snc-form .btn.delete-snc {
    margin-left: 50px;
}

.snc-container .snc-form .form-control-plaintext {
    padding-top: 0;
}

.systemsConfiguration-tab-container .snc-tab-fieldset {
    margin-top: 50px !important;
}

.admin-tabs-container .tab-content {
    display: inline-block;
    min-width: 100%;
}

.custom-menu-form .external-link-display-as-icon,
.custom-menu-form .external-link-active {
    margin-top: 10px;
}

/*System information. */
.system-info-tab-container .progress-container {
    padding-top: calc(0.375rem + 2px);
    padding-bottom: calc(0.375rem + 1px);
    margin-bottom: 0;
}

.system-info-tab-container .progress {
    height: 8px;
    border-radius: var(--border-radius-full);
}

.system-info-tab-container .tab-content .tab-container.loading {
    margin-bottom: 15px;
}

/*General config. */
.general-tab-container .ssl-container .certs-upload-form .list-group,
.general-tab-container .ssl-container .certs-upload-form .list-group .form-text,
.general-tab-container .outbound-container .client-certs-card dl {
    margin-bottom: 0;
}

/*Landscapes. */
.landscape-container .lane-col {
    float: left;
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
}

.landscape-container fieldset {
    margin-top: 15px !important;
}

.landscape-container .unassigned-systems,
.landscape-container .no-landscapes {
    margin-top: 10px;
}

.landscape-container .lane-col.actions .btn-group {
    margin-top: 10px;
}

.landscape-container .lane-col:last-child {
    padding-right: 15px;
}

.landscape-container .lane-name {
    border-bottom: 1px solid var(--border-color);
}

.landscape-container .lane-col > .card {
    border: none;
    background-color: var(--silver);
    box-shadow: none;
    padding: 0;
    margin-top: 10px;
}

.landscape-container .lane-col .system.card .system-details .close {
    line-height: 0.7;
}

.landscape-container .lane-col .system.card .system-details .close:hover {
    cursor: pointer;
}

.landscape-container .lane-col .system.card {
    margin-bottom: 5px;
    border-left-width: 4px;
    border-left-color: var(--blue);
}

.landscape-container .lane-col .system.card.RUNNING {
    border-left-color: var(--green);
}

.landscape-container .lane-col .system.card.INACTIVE {
    border-left-color: var(--border-color);
}

.landscape-container .lane-col .system.card.STOPPING,
.landscape-container .lane-col .system.card.LOCKING {
    border-left-color: var(--yellow);
}

.landscape-container .lane-col .system.card.STOPPED,
.landscape-container .lane-col .system.card.LOCKED {
    border-left-color: var(--red);
}

.landscape-container .lane-col > .card > .card-block {
    min-height: 50px;
}

.landscape-container .sortable-item .system-details {
    margin-bottom: 10px;
}

.landscape-container {
    padding-bottom: 20px;
}

.landscape-container:last-child {
    padding-bottom: 0;
}

.landscape-container
    .lane-col
    .system.card
    .system-details
    .system-build-status
    .glyphicon-ok:not(.text-body-secondary) {
    color: var(--green);
}

.landscape-container
    .lane-col
    .system.card
    .system-details
    .system-build-status
    .glyphicon-remove:not(.text-body-secondary) {
    color: var(--red);
}

/*Backup & restore. */
.backups-container .progress-partial,
.upload-progress-modal .progress-container {
    padding-top: calc(0.375rem + 2px);
    padding-bottom: calc(0.375rem + 1px);
    margin-bottom: 0;
}

.backups-container .progress-partial .progress,
.upload-progress-modal .progress-container .progress {
    height: 8px;
    border-radius: var(--border-radius-full);
}

/*Dependency analysis. */
.dependencies-results .selectize-control.dependency-required-version,
.dependencies-results td.dependency-required-version {
    width: 420px;
}

.search-results-field-options .fa-exchange-alt {
    transform: rotate(-90deg);
}

/* Integration event logs. */
.integration-event-log-body.SUCCESS .accordion-item .accordion-button,
.integration-event-log-body.SUCCESS .accordion-item .accordion-button:not(.collapsed),
.integration-event-log-body.SUCCESS .accordion-item .accordion-body {
    color: var(--status-success-text);
    background-color: var(--status-success-bg);
    font-weight: var(--font-weight-medium);
}

.integration-event-log-body.SUCCESS .accordion-item {
    border-color: var(--status-success-border);
}

.integration-event-log-body.ERROR .accordion-item .accordion-button,
.integration-event-log-body.ERROR .accordion-item .accordion-button:not(.collapsed),
.integration-event-log-body.ERROR .accordion-item .accordion-body {
    color: var(--status-error-text);
    background-color: var(--status-error-bg);
    font-weight: var(--font-weight-medium);
}

.integration-event-log-body.ERROR .accordion-item {
    border-color: var(--status-error-border);
}

.integration-event-log-body .accordion-button:not(.collapsed) {
    font-weight: bold;
}

.integration-event-log-body .accordion-button.hide-after::after {
    display: none;
}

.integration-event-log-body .accordion-button.hide-after {
    cursor: default;
}

.integrationcontainer-table-container .integration-container-details.card {
    border: none;
    box-shadow: none;
}

.integrationcontainer-table-container .accordion-item {
    background-color: transparent;
}

.integrationcontainer-table-container .container-row .accordion-button {
    background-color: transparent;
    width: 40% !important;
    box-shadow: unset !important;
}

.integrationcontainer-table-container .container-row .accordion-button:not(.collapsed) {
    box-shadow: unset;
}

.integrationcontainer-table-container tr.accordion-collapse:hover td {
    box-shadow: unset !important;
}

/* CTMS landscape */
.ctms-landscape {
    min-height: auto;
}

.ctms-landscape ul {
    position: relative;
    padding-top: 20px;
}

.ctms-landscape ul.mx-auto > li:first-child {
    width: max-content;
}

.ctms-landscape li {
    position: relative;
    padding: 20px 3px 0 3px;
    float: left;
    text-align: center;
    list-style-type: none;
}

.ctms-landscape li::before,
.ctms-landscape li::after {
    content: '';
    position: absolute;
    top: 0;
    right: 50%;
    width: 50%;
    height: 20px;
    border-top: 1px solid var(--border-color);
}

.ctms-landscape li::after {
    left: 50%;
    right: auto;
    border-left: 1px solid var(--border-color);
}

.ctms-landscape li:last-child::after {
    border: none;
}

.ctms-landscape li:only-child::after,
.ctms-landscape li:only-child::before {
    content: '';
    display: none;
}

.ctms-landscape li:only-child {
    padding-top: 0;
}

.ctms-landscape li:first-child::before,
.ctms-landscape li:last-child::after {
    border: none;
}

.ctms-landscape li:last-child::before {
    border-right: 1px solid var(--border-color-mid);
    border-radius: 0 5px 0 0;
}

.ctms-landscape li:first-child::after {
    border-radius: 5px 0 0 0;
}

.ctms-landscape ul ul::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    border-left: 1px solid var(--border-color);
    width: 0;
    height: 20px;
}

.ctms-landscape li .block:hover,
.ctms-landscape li .block:hover + ul li .block {
    background: var(--base-color-muted);
    border: 1px solid transparent;
}

.ctms-landscape li .block:hover .card-footer,
.ctms-landscape li .block:hover + ul li .block .card-footer {
    background: #c8e4f8 !important;
}

.ctms-landscape li .block:hover + ul li::after,
.ctms-landscape li .block:hover + ul li::before,
.ctms-landscape li .block:hover + ul::before,
.ctms-landscape li .block:hover + ul ul::before {
    content: '';
    border-color: var(--base-color-light);
}

.ctms-landscape :before,
.ctms-landscape :after {
    box-sizing: border-box;
}

.ctms-landscape.row .card.virtual-node {
    border: dashed 4px #000;
}

.table.table-sticky th:first-child,
.table.table-sticky td:first-child {
    position: sticky;
    left: 0;
    background-color: var(--white);
    box-shadow: 1px 0 0 var(--border-color);
}

.target-groups-table-container table > tbody tr:hover button.del-target-group,
.target-groups-table-container table > tbody tr:hover .edit-target-group {
    visibility: visible !important;
}

/* Request comments toggle. */
.request .toggle-comments-ruler {
    height: 100%;
    width: 100%;
    position: absolute;
}

.request .toggle-comments-ruler::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 0;
    display: table;
    width: 2px;
    height: 100%;
}

.request .toggle-comments-container {
    width: 10px;
    background-color: unset;
}

.request .toggle-comments-container:hover,
.request .toggle-comments-container:focus {
    opacity: 1;
    z-index: 100;
}

.request .toggle-comments-container:hover > .toggle-comments-ruler::after,
.request .toggle-comments-container:focus > .toggle-comments-ruler::after {
    background-color: var(--blue);
}

.request .toggle-comments-container:hover > .btn.toggle-comments,
.request .toggle-comments-container:focus > .btn.toggle-comments {
    opacity: 1;
    border: 2px solid var(--blue);
}

.request .btn.toggle-comments {
    opacity: 0;
    top: 2%;
    left: -6px;
    padding: 2px 5px;
    cursor: pointer;
}

.ctms-transport-request-action-log {
    max-height: 500px;
}

/* Request reference attributes. */
.request-references-table .accordion-button {
    background-color: transparent;
    width: 40% !important;
    box-shadow: unset !important;
}

.request-references-table .accordion-button:not(.collapsed) {
    box-shadow: unset;
}

.request-references-table tr.accordion-collapse:hover td {
    box-shadow: unset !important;
}

.request-references-table tr.accordion-item {
    border: revert;
}

.accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='%23384047'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='%23384047'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.request-technical .list-group-item.collapsed .section-collapse-toggle-icon:before {
    content: '\f107';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    display: block;
}

.request-technical .list-group-item:not(.collapsed) .section-collapse-toggle-icon:before {
    content: '\f106';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    display: block;
}

/* What's new images. */
.zoom-effect-container {
    float: left;
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.image-card {
    position: relative;
    top: 0;
    left: 0;
}

.image-card img {
    transition: transform var(--transition-slow);
}

.zoom-effect-container:hover .image-card img {
    transform: scale(1.05);
}

.whats-new-tab-container .highlight-card {
    border-left: 3px solid var(--base-color);
    border-radius: var(--border-radius);
}

/* ═══════════════════════════════════════════════════════════════
   shadcn/ui-inspired Bootstrap component appearance overrides
   All values use design tokens — no magic numbers.
═══════════════════════════════════════════════════════════════ */

/* ── Buttons ───────────────────────────────────────────────── */
.btn {
    font-family: var(--font-sans);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-base); /* 14px — compact admin button */
    letter-spacing: 0.01em;
    border-radius: var(--border-radius-sm);
    min-height: 2.5rem; /* h-10 = 40px — shadcn default button height */
    padding: 0.5rem 1rem; /* py-2 px-4 */
    line-height: 1.25;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em; /* space between icon span and text — matches navbar icon gap */
    transition: background-color var(--transition-fast), border-color var(--transition-fast),
        color var(--transition-fast), box-shadow var(--transition-fast);
}

/* Ensure icon spans inside buttons don't add extra margin */
.btn > span.fa-solid,
.btn > span.fa-regular,
.btn > span.glyphicon,
.btn > span[class*='fa-'] {
    flex-shrink: 0;
    width: 1em;
    text-align: center;
}

.btn:focus-visible {
    box-shadow: 0 0 0 3px var(--ring-color);
    outline: none;
}

.btn-primary {
    background-color: var(--base-color);
    border-color: var(--base-color);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--base-color-hover);
    border-color: var(--base-color-hover);
}

.btn-primary:active {
    background-color: var(--base-color-hover);
    border-color: var(--base-color-hover);
}

.btn-danger {
    background-color: var(--red);
    border-color: var(--red);
}

.btn-danger:hover,
.btn-danger:focus {
    background-color: var(--red-hover);
    border-color: var(--red-hover);
}

.btn-success {
    background-color: var(--green);
    border-color: var(--green);
}

.btn-success:hover,
.btn-success:focus {
    background-color: var(--green-hover);
    border-color: var(--green-hover);
}

.btn-default,
.btn-secondary,
.btn-outline-secondary {
    border-color: var(--border-color);
    color: var(--foreground);
    background-color: var(--card-bg);
}

.btn-default:hover,
.btn-secondary:hover,
.btn-outline-secondary:hover {
    background-color: var(--silver);
    border-color: var(--border-color-mid);
    color: var(--foreground);
}

/* ── navbarSupportedContent — force white bg, dark text/icons ───
   Ensures all buttons, links and icons inside the collapsed navbar
   content area use white background and visible (dark) icon colour,
   regardless of any inherited navbar-dark / btn colour rules.
─────────────────────────────────────────────────────────────── */
#navbarSupportedContent {
    background-color: var(--card-bg);
}

#navbarSupportedContent .btn {
    background-color: var(--card-bg);
    color: var(--foreground);
    border-color: transparent;
}

#navbarSupportedContent .btn:hover {
    background-color: var(--silver);
    color: var(--foreground);
    border-color: var(--border-color);
}

/* Make icon spans inside navbar buttons visible (dark on white) */
#navbarSupportedContent .btn .fa-solid,
#navbarSupportedContent .btn .fa-regular,
#navbarSupportedContent .btn [class*='fa-'] {
    color: var(--muted-fg);
}

#navbarSupportedContent .btn:hover .fa-solid,
#navbarSupportedContent .btn:hover .fa-regular,
#navbarSupportedContent .btn:hover [class*='fa-'] {
    color: var(--foreground);
}

/* Nav links inside navbarSupportedContent — dark text */
#navbarSupportedContent .nav-link {
    color: var(--muted-fg);
}

#navbarSupportedContent .nav-link:hover {
    color: var(--foreground);
    background-color: var(--silver);
}

#navbarSupportedContent .nav-link .fa-solid,
#navbarSupportedContent .nav-link [class*='fa-'] {
    color: var(--muted-fg);
}

/* btn-outline-default inside navbar — borderless, icon visible */
#navbarSupportedContent .btn-outline-default {
    background-color: transparent;
    border-color: transparent;
    color: var(--muted-fg);
}

#navbarSupportedContent .btn-outline-default:hover {
    background-color: var(--silver);
    border-color: var(--border-color);
    color: var(--foreground);
}

.btn-sm {
    font-size: var(--font-size-xs); /* 12px — shadcn text-xs for sm buttons */
    border-radius: var(--border-radius-sm);
    min-height: 2.25rem; /* h-9 = 36px */
    padding: 0.375rem 0.75rem; /* py-1.5 px-3 */
}

.btn-lg {
    font-size: var(--font-size-base); /* 16px */
    border-radius: var(--border-radius);
    min-height: 2.75rem; /* h-11 = 44px */
    padding: 0.625rem 1.5rem;
}

/* ── Form controls ─────────────────────────────────────────── */
.form-control,
.form-select {
    font-family: var(--font-sans);
    font-size: var(--font-size-base); /* 14px */
    min-height: 2.5rem; /* h-10 = 40px — shadcn input height */
    color: var(--foreground);
    background-color: var(--input-bg);
    border-color: var(--border-color);
    border-radius: var(--border-radius-sm);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--base-color);
    box-shadow: 0 0 0 3px var(--ring-color);
    outline: none;
    background-color: var(--input-bg);
    color: var(--foreground);
}

.form-control::placeholder {
    color: var(--muted-fg);
    opacity: 1;
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled {
    background-color: var(--silver);
    color: var(--muted-fg);
    border-color: var(--border-color);
}

.form-label {
    font-family: var(--font-sans);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--foreground);
    margin-bottom: var(--space-1);
}

.form-text {
    font-size: var(--font-size-sm);
    color: var(--muted-fg);
}

.input-group-text {
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    background-color: var(--silver);
    border-color: var(--border-color);
    color: var(--muted-fg);
}

/* ── Cards ─────────────────────────────────────────────────── */
.card {
    border-color: var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-sm);
    background-color: var(--card-bg);
}

.card-header {
    background-color: var(--silver);
    border-bottom-color: var(--border-color);
    font-family: var(--font-sans);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-base);
    letter-spacing: 0.01em;
    color: var(--foreground);
}

.card-footer {
    background-color: var(--silver);
    border-top-color: var(--border-color);
    font-family: var(--font-sans);
}

.card-title {
    font-family: var(--font-sans);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-lg);
    letter-spacing: -0.01em;
    color: var(--foreground);
}

.card-subtitle {
    font-size: var(--font-size-sm);
    color: var(--muted-fg);
}

/* ── Modals ─────────────────────────────────────────────────── */
.modal-content {
    border-color: var(--border-color);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
    background-color: var(--card-bg);
    font-family: var(--font-sans);
}

.modal-header {
    border-bottom-color: var(--border-color);
    background-color: var(--card-bg);
    padding: var(--space-6) var(--space-6) var(--space-4);
}

.modal-title {
    font-family: var(--font-sans);
    font-size: 1.125rem; /* 18px — shadcn dialog title */
    font-weight: var(--font-weight-semibold);
    letter-spacing: -0.01em;
    color: var(--foreground);
}

.modal-body {
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    color: var(--foreground);
    padding: var(--space-4) var(--space-6);
}

.modal-footer {
    border-top-color: var(--border-color);
    background-color: var(--card-bg);
    padding: var(--space-4) var(--space-6);
    gap: var(--space-2);
}

/* ── Tables ─────────────────────────────────────────────────── */
.table {
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    color: var(--foreground);
    --bs-table-border-color: var(--border-color);
    --bs-table-striped-bg: var(--silver);
    --bs-table-hover-bg: var(--silver);
}

.table > thead > tr > th,
.table thead th {
    font-family: var(--font-sans);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs); /* 12px — shadcn text-xs for table headers */
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--muted-fg);
    border-bottom-width: var(--border-width);
    border-bottom-color: var(--border-color);
}

.table > tbody > tr > td {
    transition: background-color var(--transition-fast);
}

.table > tbody > tr:hover > td,
.table tbody tr:hover {
    background-color: var(--silver);
}

/* ── Alerts ─────────────────────────────────────────────────── */
.alert {
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    border-radius: var(--border-radius);
    border-width: var(--border-width);
}

.alert-info {
    background-color: var(--cyan-muted);
    border-color: var(--cyan);
    border-left-width: 3px;
    color: #164e63;
}

.alert-success {
    background-color: var(--green-muted);
    border-color: var(--green);
    border-left-width: 3px;
    color: var(--status-success-text);
}

.alert-warning {
    background-color: var(--yellow-muted);
    border-color: var(--yellow);
    border-left-width: 3px;
    color: #78350f;
}

.alert-danger {
    background-color: var(--red-muted);
    border-color: var(--red);
    border-left-width: 3px;
    color: var(--status-error-text);
}

.alert-neutral,
.alert-default {
    background-color: var(--silver);
    border-color: var(--border-color);
    border-left-width: 3px;
    color: var(--foreground);
}

/* ── Badges ─────────────────────────────────────────────────── */
.badge {
    font-family: var(--font-sans);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-xs);
    letter-spacing: 0.04em;
    border-radius: var(--border-radius-full);
    padding: 2px var(--space-2);
}

/* ── Dropdowns ──────────────────────────────────────────────── */
.dropdown-menu {
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    background-color: var(--card-bg);
    border-color: var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
    padding: var(--space-1);
}

.dropdown-item {
    font-family: var(--font-sans);
    font-size: var(--font-size-base); /* 14px */
    font-weight: var(--font-weight-normal);
    color: var(--foreground);
    border-radius: var(--border-radius-sm);
    padding: var(--space-2) var(--space-3);
    transition: background-color var(--transition-fast), color var(--transition-fast);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--silver);
    color: var(--foreground);
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--base-color);
    color: var(--white);
}

.dropdown-divider {
    border-top-color: var(--border-color);
    margin: var(--space-1) 0;
}

.dropdown-header {
    font-family: var(--font-sans);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--muted-fg);
    padding: var(--space-2) var(--space-3);
}

/* ── Navigation tabs ────────────────────────────────────────── */
.nav-tabs {
    border-bottom-color: var(--border-color);
}

.nav-tabs .nav-link {
    font-family: var(--font-sans);
    font-size: var(--font-size-base); /* 14px */
    font-weight: var(--font-weight-medium);
    color: var(--muted-fg);
    border-color: transparent;
    border-radius: var(--border-radius-sm) var(--border-radius-sm) 0 0;
    transition: color var(--transition-fast), background-color var(--transition-fast);
}

.nav-tabs .nav-link:hover {
    color: var(--foreground);
    border-color: var(--border-color) var(--border-color) transparent;
    background-color: var(--silver);
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: var(--foreground);
    font-weight: var(--font-weight-semibold);
    background-color: var(--card-bg);
    border-color: var(--border-color) var(--border-color) var(--card-bg);
}

/* ── List group ─────────────────────────────────────────────── */
.list-group-item {
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    background-color: var(--card-bg);
    border-color: var(--border-color);
    color: var(--foreground);
    transition: background-color var(--transition-fast);
}

.list-group-item:hover {
    background-color: var(--silver);
}

.list-group-item.active {
    background-color: var(--base-color);
    border-color: var(--base-color);
    color: var(--white);
}

/* ── Accordion ──────────────────────────────────────────────── */
.accordion-item {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

.accordion-button {
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--foreground);
    background-color: var(--card-bg);
}

.accordion-button:not(.collapsed) {
    color: var(--base-color);
    background-color: var(--silver);
    box-shadow: inset 0 -1px 0 var(--border-color);
}

.accordion-button:focus {
    box-shadow: 0 0 0 3px var(--ring-color);
    border-color: var(--base-color);
    outline: none;
}

/* ── Pagination ─────────────────────────────────────────────── */
.pagination .page-link {
    font-family: var(--font-sans);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--foreground);
    background-color: var(--card-bg);
    border-color: var(--border-color);
    border-radius: var(--border-radius-sm);
    transition: background-color var(--transition-fast), color var(--transition-fast);
}

.pagination .page-link:hover {
    background-color: var(--silver);
    border-color: var(--border-color-mid);
    color: var(--foreground);
}

.pagination .page-item.active .page-link {
    background-color: var(--base-color);
    border-color: var(--base-color);
    color: var(--white);
}

.pagination .page-item.disabled .page-link {
    color: var(--muted-fg);
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

/* ── Tooltips & Popovers ────────────────────────────────────── */
.tooltip-inner {
    font-family: var(--font-sans);
    font-size: var(--font-size-sm);
    background-color: var(--foreground);
    border-radius: var(--border-radius-sm);
}

.popover {
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    border-color: var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
}

.popover-header {
    font-weight: var(--font-weight-semibold);
    background-color: var(--silver);
    border-bottom-color: var(--border-color);
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.popover-body {
    color: var(--foreground);
}

/* Consistent focus-visible ring across all interactive elements */
:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 2px;
}
