.app-header .navbar-brand {
    width: 270px;
    font-size: 18px;
}

.brand-minimized .app-header .navbar-brand {
    width: 50px;
}

/* Prevent top-bar items from wrapping onto a second (unstyled) row */
.app-header.navbar {
    flex-wrap: nowrap;
}

.app-header .navbar-nav {
    flex-wrap: nowrap;
}

/* Mobile/tablet: center brand between hamburger and account menu */
@media (max-width: 991.98px) {
    .app-header {
        position: relative;
    }

    .app-header .navbar-brand {
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50%);
        width: auto;
        max-width: calc(100% - 160px);
        height: 55px;
        margin: 0;
        z-index: 1;
        pointer-events: auto;
    }

    .app-header .navbar-brand .navbar-brand-full {
        display: inline-block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .brand-minimized .app-header .navbar-brand {
        width: auto;
    }
}

.app-header .nav-item .nav-link {
    padding-left: .5em;
    padding-right: .5em;
    color: #fff;
    font-size: 14px;
}

/* Keep Account icon visible on mobile (label is hidden below md) */
.app-header .account-menu-toggle .fa {
    color: #fff;
    font-size: 1.15rem;
    vertical-align: middle;
}

/* Sivusto: keep label + domain on one centered line (CoreUI centers nav-items by default) */
#admin-site-selection-menu {
    text-align: left;
}

#admin-site-selection-menu .nav-link {
    display: inline-flex;
    align-items: center;
    height: 55px;
    max-width: 340px;
    line-height: 1.25;
}

#admin-site-selection-menu .admin-site-selection-label {
    display: inline-block;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/*
  Site / Content language need ~1500px in the top bar or they wrap with other items.
  Help links live in their own Support dropdown (always visible).
*/
.d-admin-wide-none {
    display: none !important;
}

.d-admin-wide-flex,
.d-admin-wide-block {
    display: none !important;
}

@media (min-width: 1500px) {
    .d-admin-wide-none {
        display: none !important;
    }

    .d-admin-wide-flex {
        display: flex !important;
    }

    .d-admin-wide-block {
        display: block !important;
    }
}

/*
 * CRUD create/edit/reorder (.col-admin-form): progressive width beside the sidebar.
 * - below 1500px: full main column (col-md-12)
 * - 1500–1919 (e.g. 1600x900): ~10/12
 * - 1920px+: previous ~8/12
 */
@media (min-width: 1500px) {
    .col-admin-form {
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }
}

@media (min-width: 1920px) {
    .col-admin-form {
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
}

@media (max-width: 1499.98px) {
    .d-admin-wide-none {
        display: block !important;
    }
}

.app-header .dropdown-menu {
    background-color: #fff;
}

/* Keep Account usable when Site / Content language have many options */
.app-header .account-menu-dropdown {
    max-height: calc(100vh - 56px);
    overflow-y: auto;
}

.app-header .account-menu-scroll {
    max-height: 40vh;
    overflow-y: auto;
}

.app-header .account-menu-collapse-toggle .fa-angle-down {
    transition: transform 0.15s ease-in-out;
}

.app-header .account-menu-collapse-toggle[aria-expanded="true"] .fa-angle-down {
    transform: rotate(180deg);
}

.app-header .dropdown-menu .dropdown-item {
    color: #23282c;
}

.app-header .dropdown-menu .dropdown-item:hover,
.app-header .dropdown-menu .dropdown-item:focus {
    color: #23282c;
    background-color: #f0f3f5;
}

.app-header .dropdown-menu .dropdown-item.active,
.app-header .dropdown-menu .dropdown-item.active:hover {
    color: #fff;
    background-color: #467FD0;
}

.app-body .main {
    font-size: 14px;
}

/* Keep sidebar + inner nav the same width (CoreUI defaults to 200px; mismatch overflows). */
.app-body .sidebar {
    flex: 0 0 260px;
    width: 260px;
    max-width: 100%;
    order: -1;
    overflow-x: hidden;
}

.app-body .sidebar {
    font-size: 14px;
}

.app-body .sidebar .sidebar-nav,
.app-body .sidebar .sidebar-scroll,
.app-body .sidebar .nav {
    width: 100% !important;
    max-width: 100%;
}

.app-body .sidebar .nav-item,
.app-body .sidebar .nav-link {
    max-width: 100%;
    box-sizing: border-box;
}

/*
 * CoreUI hides the sidebar with margin-left: -200px (default 200px width).
 * Our sidebar is 260px wide, so without this override ~60px peeks on mobile.
 */
html:not([dir="rtl"]) .sidebar {
    margin-left: -260px;
}

html[dir="rtl"] .sidebar {
    margin-right: -260px;
}

/* Keep custom sidebar width, but allow CoreUI icon-rail collapse + hover flyout submenus */
@media (min-width: 992px) {
    .sidebar-minimized .app-body {
        overflow-x: visible;
    }

    .sidebar-minimized .app-body .sidebar {
        flex: 0 0 50px;
        width: 50px;
        overflow: visible;
        z-index: 1021;
    }

    .sidebar-minimized .app-body .sidebar .sidebar-nav {
        width: 50px !important;
        overflow: visible !important;
    }

    .sidebar-minimized .app-body .sidebar .nav {
        width: 50px !important;
        overflow: visible;
    }

    /* max-width:100% (from mobile-safe rules) would block CoreUI's hover expand bridge */
    .sidebar-minimized .app-body .sidebar .nav-item,
    .sidebar-minimized .app-body .sidebar .nav-link,
    .sidebar-minimized .app-body .sidebar .nav-dropdown-items {
        max-width: none;
    }

    .sidebar-minimized .app-body .sidebar > .sidebar-nav > .nav > .nav-item {
        width: 50px;
        overflow: hidden;
    }

    /*
     * Expand the hovered item so it covers both the icon and the flyout.
     * Without this bridge, moving the mouse to submenu items leaves :hover and closes the menu.
     */
    .sidebar-minimized .app-body .sidebar > .sidebar-nav > .nav > .nav-item:hover {
        width: 340px;
        overflow: visible;
    }

    .sidebar-minimized .app-body .sidebar .nav-dropdown-items .nav-item {
        width: 290px;
        overflow: visible;
    }

    .sidebar-minimized .app-body .sidebar .nav-dropdown-items .nav-item .nav-link {
        width: 290px;
        max-width: 290px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Only show flyouts on hover in collapsed mode — ignore .open from the active page */
    .sidebar-minimized .app-body .sidebar .nav > .nav-dropdown > .nav-dropdown-items {
        display: none !important;
        max-height: none;
        overflow: visible;
    }

    .sidebar-minimized .app-body .sidebar .nav > .nav-dropdown:hover > .nav-dropdown-items {
        position: absolute;
        top: 0;
        left: 50px;
        display: block !important;
        z-index: 1022;
        width: 290px;
        min-width: 290px;
        margin: 0;
        padding: 0;
        background: #2f353a;
        overflow: visible;
    }

    html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed .main,
    html:not([dir="rtl"]) .sidebar-lg-show.sidebar-fixed .app-footer,
    html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .main,
    html:not([dir="rtl"]) .sidebar-show.sidebar-fixed .app-footer {
        margin-left: 260px;
    }
}

/* Mobile/tablet drawer: keep everything inside the sidebar panel */
@media (max-width: 991.98px) {
    .app-body .sidebar,
    body.sidebar-minimized .app-body .sidebar,
    body.brand-minimized .app-body .sidebar {
        flex: 0 0 min(260px, 85vw);
        width: min(260px, 85vw);
        max-width: 85vw;
        overflow-x: hidden;
    }

    .app-body .sidebar .sidebar-nav,
    .app-body .sidebar .sidebar-scroll,
    .app-body .sidebar .nav,
    body.sidebar-minimized .app-body .sidebar .sidebar-nav,
    body.sidebar-minimized .app-body .sidebar .nav {
        width: 100% !important;
        max-width: 100%;
        overflow-x: hidden;
    }

    .app-body .sidebar .nav-dropdown-items,
    .app-body .sidebar .nav-item,
    .app-body .sidebar .nav-link {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .app-body .sidebar .nav-dropdown-toggle::before {
        right: 0.75rem;
    }

    html:not([dir="rtl"]) .sidebar {
        margin-left: calc(-1 * min(260px, 85vw));
    }

    html:not([dir="rtl"]) .sidebar-show .sidebar {
        margin-left: 0;
    }
}

.app-footer {
    margin-top: -60px;
}

.btn {
    font-size: 14px;
}

/* Brighter success green so primary save actions don't look disabled (#4dbd74 is too muted). */
.btn-success {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}

.btn-success:hover {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
}

.btn-success:focus,
.btn-success.focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.35);
}

.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #1e7e34;
    border-color: #1c7430;
}

.btn-success:not(:disabled):not(.disabled):active:focus,
.btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.35);
}

.sidebar .nav-link {
    padding: .5em 1em;
    white-space: nowrap;
}

/* Make the current page stand out more than the default dim gray active state */
.sidebar .nav-link.active,
.sidebar .nav-link.active:hover,
.sidebar .nav-link.active:focus {
    color: #fff;
    background: #467FD0;
    font-weight: 600;
}

.sidebar .nav-link.active .nav-icon,
.sidebar .nav-link.active:hover .nav-icon,
.sidebar .nav-link.active:focus .nav-icon {
    color: #fff;
}

/* Inactive/disabled sidebar entries: no blue hover / no pointer cursor */
.sidebar .nav-item.disabled,
.sidebar li.disabled {
    cursor: default;
}

.sidebar .nav-item.disabled > .nav-link,
.sidebar .nav-item.disabled > .nav-link:hover,
.sidebar .nav-item.disabled > .nav-link:focus,
.sidebar li.disabled > a,
.sidebar li.disabled > a:hover,
.sidebar li.disabled > a:focus {
    color: #6c6c6c !important;
    background-color: transparent !important;
    cursor: default !important;
    text-decoration: none;
    pointer-events: none;
}

.sidebar .nav-item.disabled > .nav-link .nav-icon,
.sidebar .nav-item.disabled > .nav-link:hover .nav-icon,
.sidebar .nav-item.disabled > .nav-link:focus .nav-icon,
.sidebar li.disabled > a .nav-icon,
.sidebar li.disabled > a:hover .nav-icon,
.sidebar li.disabled > a:focus .nav-icon {
    color: #6c6c6c !important;
}

.sidebar .nav-dropdown .nav-link:not(.nav-dropdown-toggle) {
    padding-left: 1.5rem;
}

.sidebar .nav-dropdown.open .nav-link.nav-dropdown-toggle {
  font-weight: 600;
}

.sidebar .nav-title {
    background: #1a2226;
}

/* Release notice: make "here" readable on alert-info background */
#alert-latest-release-installed .alert a,
#alert-latest-release-installed .alert .alert-link {
    color: #063b4f;
    font-weight: 700;
    text-decoration: underline;
}

#alert-latest-release-installed .alert a:hover,
#alert-latest-release-installed .alert .alert-link:hover {
    color: #021820;
}

/*
 * Warning alerts: Backstrap uses near-white (#fffdf5) on #ffc107 — poor contrast.
 * Use dark text on a light amber panel (Bootstrap-style) for readability.
 */
.alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
}

.alert-warning hr {
    border-top-color: #ffe8a1;
}

.alert-warning .alert-link,
.alert-warning a {
    color: #533f03;
    font-weight: 700;
}

.alert-warning.alert-inverse {
    color: #856404 !important;
    background-color: #fff3cd !important;
    border-color: #ffeeba;
}


.user-panel {
    position: relative;
    width: 100%;
    padding: 10px;
    overflow: hidden;
    font-size: 14px;
}

.user-placeholder-circle {
    border-radius: 50%;
    background-color: #00a65a;
    color: #fff;
    max-width: 45px;
    height: auto;
    padding: 10px 15px 10px 15px;
}

.user-panel>.info {
    padding: 5px 5px 5px 15px;
    line-height: 1;
    position: absolute;
    left: 55px;
}

.user-panel>.info>p {
    font-weight: 600;
    margin-bottom: 9px;
}

.user-panel>.info>a {
    text-decoration: none;
    padding-right: 5px;
    margin-top: 3px;
    font-size: 11px;
}

.btn-group-xs>.btn, .btn-xs {
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
    margin-bottom: 3px;
}

#crudTable .btn-xs,
#crudTable .btn-group-xs > .btn {
    font-size: 12px;
}

/*
 * Line-action buttons (Toiminnot): when the Actions column is squeezed,
 * Bootstrap centers wrapped label text and stacks the icon above it.
 * Keep icon+label on one left-aligned line; column grows / table scrolls.
 *
 * Only target cells marked .crud-actions (or ajax tbody last-td when the
 * actions header exists). Blind :last-child shrink-wrap broke pages with
 * no line buttons (e.g. section-category: ID took the leftover width).
 *
 * Still skip configuration / translation / language-text / settings lists
 * where the last column holds editable value fields.
 */
#crudTable tbody td .btn,
#crudTable tbody td .btn-group > .btn {
    white-space: nowrap;
    text-align: left;
}

#crudTable tbody td .btn-group {
    white-space: nowrap;
}

body:not(.configuration-crud):not(.language-text-crud):not(.translation-crud):not(.settings-list) #crudTable thead th.crud-actions,
body:not(.configuration-crud):not(.language-text-crud):not(.translation-crud):not(.settings-list) #crudTable tbody td.crud-actions,
body:not(.configuration-crud):not(.language-text-crud):not(.translation-crud):not(.settings-list) #crudTable tfoot th.crud-actions,
body:not(.configuration-crud):not(.language-text-crud):not(.translation-crud):not(.settings-list) #crudTable:has(thead th.crud-actions) tbody td:last-child {
    white-space: nowrap;
    width: 1%;
    text-align: left;
    vertical-align: top;
}

/* DataTables page-length select: "Kaikki" overlaps the native caret without extra room */
div.dataTables_wrapper div.dataTables_length select {
    width: auto;
    min-width: 5.5rem;
    padding-right: 1.75rem;
}

/* Allow long FI/SV/NO "records per page" labels to wrap instead of painting over Export. */
div.dataTables_wrapper div.dataTables_length label {
    white-space: normal;
}

/*
 * Contain floated export buttons in #bottom_buttons without clipping dropups.
 * overflow:auto made "Sarakkeiden näkyvyys" / Export collections disappear under
 * the table (Buttons use dropup: true). flow-root contains floats; z-index keeps
 * the menu above .table-responsive's stacking context.
 */
#bottom_buttons {
    display: flow-root;
    position: relative;
    z-index: 5;
}

#crudTable_wrapper > .row.mt-2 {
    position: relative;
    z-index: 5;
}

div.dt-button-collection {
    z-index: 1060;
}

/* Line-action dropdowns inside the list (BS4 markup; match btn-xs size) */
#crudTable .btn-group .dropdown-menu {
    font-size: 13px;
    min-width: 14rem;
}

#crudTable .btn-group .dropdown-menu .dropdown-item {
    font-size: 13px;
    white-space: normal;
}

.hidden {
    display: none !important;
}

@media (min-width: 576px) {
    .d-sm-inline-block {
        display: inline-block !important;
    }
}

/*
 * CRUD list: table-responsive allows horizontal scroll when the table is
 * naturally wider than the viewport, without DataTables scrollX (which
 * splits header/body and misaligns columns). Do not force min-width /
 * nowrap — wide screens should still shrink columns to fit as before.
 *
 * .crud-table-scroll-top mirrors that overflow at the top of the table
 * (JS syncs scrollLeft + spacer width with .table-responsive).
 */
.crud-table-scroll-top {
    overflow-x: auto;
    overflow-y: hidden;
    height: 12px;
    margin-bottom: 2px;
}

.crud-table-scroll-top.is-inactive {
    display: none;
}

.crud-table-scroll-top-spacer {
    height: 1px;
    pointer-events: none;
}

/* Box */
.box.box-default {
    border-top: 1px solid rgb(210, 214, 222);
}

.box-header {
    color: #444;
    display: block;
    padding: 10px;
    position: relative;
}

.box-header > .box-tools {
    position: absolute;
    right: 10px;
    top: 5px;
}

.btn-box-tool {
    padding: 5px;
    font-size: 12px;
    background: transparent;
    color: #97a0b3;
}

/* Missing Icons */
.fa-address-card::before {
    content: "\f2bb";
}

/* Table fixes */

/* Keep column titles on one line so DataTables sort icons don't wrap onto a second row */
#crudTable > thead > tr > th,
#crudTable_wrapper table.dataTable > thead > tr > th {
    white-space: nowrap;
}

/* Menu item icons in list / reorder — CoreUI/table rules otherwise stretch them */
#crudTable .tree-node img,
#crudTable img.menu-item-reorder-image,
.menu-item-crud #crudTable img,
ol.sortable img.menu-item-reorder-image,
ol.sortable .menu-item-reorder-title img {
    max-height: 24px !important;
    max-width: 40px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    vertical-align: middle;
    display: inline-block;
}

#crudTable table.table > tbody > tr:not(:first-child) > td,
#crudTable table.table > thead > tr:not(:first-child) > th {
    border-top: 1px solid #dee2e6 !important;
}

#crudTable table.table > tbody > tr > td:not(:last-child),
#crudTable table.table > thead > tr > th:not(:last-child) {
    border-right: 1px solid #dee2e6 !important;
}

/* Footer */

.sticky-footer .text-muted {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left;
}

/* button color fixes */

.btn-default {
    background-color: #e9e9e9;
    border-color: #e1e1e1;
}

.btn-default:hover {
    background-color: #d1d1d1;
}

/* Select2: dropdown is appended to body (1rem/~16px); form content is 14px */
.select2-container--bootstrap .select2-dropdown,
.select2-container--bootstrap .select2-results__option,
.select2-container--bootstrap .select2-selection,
.select2-container--bootstrap .select2-search--dropdown .select2-search__field,
.select2-container--bootstrap .select2-selection__rendered,
.select2-container--default .select2-dropdown,
.select2-container--default .select2-results__option,
.select2-container--default .select2-selection {
    font-size: 14px;
}

/* Hide already-chosen / disabled options from Select2 menus (keep load-more + searching). */
.select2-container--bootstrap .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--bootstrap .select2-results__option[aria-disabled="true"]:not(.select2-results__option--load-more):not(.loading-results),
.select2-container--default .select2-results__option[aria-disabled="true"]:not(.select2-results__option--load-more):not(.loading-results) {
    display: none;
}

/* Native selects (e.g. configuration select_from_array): hide disabled options */
select option:disabled {
    display: none;
}

/* navbar filters */

.navbar-filters {
    padding: 0.25rem 0 0 0;
    justify-content: flex-start;
    align-items: center;
}

/* Desktop funnel icon: vertically center with filter labels, keep a small gap */
.navbar-filters .navbar-filters-icon {
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin: 0 0.35rem 0 0;
    padding: 0.35rem 0;
    color: #73818f;
    line-height: 1;
}

/* Mobile "Suodattimet" uses the same nav list/link markup as filters */
.navbar-filters .navbar-filters-toggle-list {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.navbar-filters .navbar-filters-toggle-list .nav-link {
    font-weight: 600;
}

@media (max-width: 991.98px) {
    .navbar-filters {
        padding: 0 !important;
        align-items: stretch;
    }

    .navbar-filters .navbar-collapse,
    .navbar-filters .navbar-nav {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* list.css sets .navbar-filters li { margin: 0 2px } — zero that on mobile */
    .navbar-filters li,
    .navbar-filters .navbar-nav > .nav-item {
        margin: 0 !important;
    }

    .navbar-filters .navbar-nav .nav-link {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Nudge filter links right to line up with Suodattimet */
    .navbar-filters .navbar-collapse > .navbar-nav {
        margin-left: 1rem !important;
    }
}

/* Filter menus are often long Finnish labels; Bootstrap's 10rem min-width is too tight. */
.navbar-filters .dropdown-menu {
    min-width: 20rem;
    max-width: min(28rem, calc(100vw - 2rem));
    font-size: 13px;
}

.navbar-filters .dropdown-menu .dropdown-item {
    font-size: 13px;
    white-space: normal;
}

.navbar-filters .backpack-filter,
.navbar-filters .backpack-filter .select2-container {
    width: 100% !important;
    min-width: 100%;
}

.navbar-filters .select2-container--bootstrap .select2-selection,
.navbar-filters .select2-container--bootstrap .select2-dropdown,
.navbar-filters .select2-container--bootstrap .select2-results__option,
.navbar-filters .select2-container--bootstrap .select2-search--dropdown .select2-search__field {
    font-size: 13px;
}

.navbar-filters .select2-container--bootstrap .select2-results__option {
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
}

.navbar-filters .select2-results {
    overflow-x: hidden;
}

/* Active filters should be obvious without a popover */
.navbar-filters .nav-item.active > .nav-link {
    background-color: #467FD0;
    color: #fff;
    border-radius: 3px;
    font-weight: 600;
}

.navbar-filters .nav-item.active > .nav-link:hover,
.navbar-filters .nav-item.active > .nav-link:focus {
    background-color: #3b6cb0;
    color: #fff;
}

.navbar-filters .navbar-filters-active-count {
    margin-left: 0.35rem;
    vertical-align: baseline;
}

.navbar-filters .nav-item.active .navbar-filters-active-count {
    background-color: #fff;
    color: #467FD0;
}

/* Configuration list: match Backpack edit form-control sizing */
.configuration-crud #crudTable .settingInput_cell .form-control {
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.5;
}

.configuration-crud #crudTable .settingInput_cell .input-group {
    flex-wrap: nowrap;
    align-items: stretch;
}

.configuration-crud #crudTable .settingInput_cell .input-group > .form-control {
    height: calc(1.5em + 0.75rem + 2px);
}

.configuration-crud #crudTable .settingInput_cell .input-group-text {
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.5;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.configuration-crud #crudTable .settingInput_cell select.form-control:not([multiple]) {
    width: auto;
    min-width: 10rem;
    max-width: 400px;
}

.configuration-crud #crudTable .settingInput_cell input.form-control,
.configuration-crud #crudTable .settingInput_cell textarea.form-control {
    width: 400px;
    max-width: 100%;
}

.configuration-crud #crudTable .settingInput_cell .input-group > input.form-control {
    width: auto;
    flex: 1 1 auto;
    max-width: 400px;
}

.configuration-crud #crudTable .settingInput_cell .select2-container {
    max-width: 400px;
}

.configuration-crud #crudTable .settingInput_cell .select2-container--bootstrap .select2-selection--single {
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.75rem;
}

/* software notes fixes */

.software-note-crud #crudTable {
    border: 0 !important;
}

.software-note-crud #crudTable > tbody > tr > td:first-child {
    padding: 0;
}

.software-note-crud #crudTable.table > tbody > tr > td:first-child {
    border-top: 0;
}

.software-note-header {
    margin-top: 15px;
    margin-bottom: 10px;
    font-size: 26px !important;
}

.software-note-contents h1 {
    font-size: 22px !important;
}

.software-note-contents h2 {
    font-size: 20px !important;
}

.software-note-contents h3 {
    font-size: 18px !important;
}

.software-note-contents hr {
    display: none;
}

.card .card-header .card-title {
    font-size: 18px;
    margin-bottom: 0;
}
.tooltip-inner .banner-mobile-tooltip {
    text-align: center;
}

.tooltip-inner .banner-mobile-tooltip-title {
    margin-bottom: 5px;
}

.tooltip-inner .banner-mobile-tooltip-image {
    display: block;
    max-width: 150px;
    max-height: 100px;
    width: auto;
    height: auto;
    margin: 0 auto;
}

/* Noty: backstrap uses off-white (#f8fcf9 etc.) + font-weight 300 — brighten text */
.noty_theme__backstrap.noty_bar .noty_body {
    font-weight: 400;
    color: #fff;
}

.noty_theme__backstrap.noty_type__danger,
.noty_theme__backstrap.noty_type__error,
.noty_theme__backstrap.noty_type__info,
.noty_theme__backstrap.noty_type__information,
.noty_theme__backstrap.noty_type__success,
.noty_theme__backstrap.noty_type__primary,
.noty_theme__backstrap.noty_type__dark {
    color: #fff;
}

.noty_theme__backstrap.noty_type__danger .noty_body,
.noty_theme__backstrap.noty_type__error .noty_body,
.noty_theme__backstrap.noty_type__info .noty_body,
.noty_theme__backstrap.noty_type__information .noty_body,
.noty_theme__backstrap.noty_type__success .noty_body,
.noty_theme__backstrap.noty_type__primary .noty_body,
.noty_theme__backstrap.noty_type__dark .noty_body {
    color: #fff;
}

/* Warning Noty: same contrast fix as .alert-warning (dark on light amber) */
.noty_theme__backstrap.noty_type__warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
}

.noty_theme__backstrap.noty_type__warning .noty_body {
    color: #856404;
}

/* Light/neutral Noty types keep dark text */
.noty_theme__backstrap.noty_type__note .noty_body,
.noty_theme__backstrap.noty_type__notice .noty_body,
.noty_theme__backstrap.noty_type__alert .noty_body,
.noty_theme__backstrap.noty_type__notification .noty_body,
.noty_theme__backstrap.noty_type__secondary .noty_body,
.noty_theme__backstrap.noty_type__light .noty_body {
    color: #2f353a;
}
