
.mtn8 {
    margin-top: -8px;
}

.table > tbody > tr > td.participation {
    padding-bottom: 0;
    padding-top: 0;
}

.table.participation {
    margin-bottom: 0;
}

.table.participation tbody tr:nth-of-type(2n+1) {
    background: none;
}

.table.participation > tbody > tr > td {
    height: 40.5px;
    padding: 0;
    vertical-align: middle;
    width: 20px;
}

.table.participation > tbody > tr > td.participation-header {
    height: 65px;
    padding-top: 0;
    vertical-align: middle;
    width: 20px;
}

.table.participation > tbody > tr > td.participation-header > b {
    writing-mode: vertical-lr;
}

.table.participation > tbody > tr > td.will-participate {

}

/* https://stackoverflow.com/a/55001516/4362848 */
/*Select2 ReadOnly Start*/

select[readonly].select2-hidden-accessible + .select2-container {
    pointer-events: none;
    touch-action: none;
}

select[readonly].select2-hidden-accessible + .select2-container .select2-selection {
    background: #eee;
    box-shadow: none;
}

select[readonly].select2-hidden-accessible + .select2-container .select2-selection__arrow, select[readonly].select2-hidden-accessible + .select2-container .select2-selection__clear {
    display: none;
}

/*Select2 ReadOnly End*/

.ibox-tools .dropdown-toggle::after {
    display: inline-block;
}

.list-view > .empty {
    padding: 24px 0 24px 0;
    font-style: italic;
}

/* Tree Views - https://iamkate.com/code/tree-views/ */
.tree {
    --spacing: 1.5rem;
    --radius: 10px;
    padding-left: 0;
}

.tree li {
    display: block;
    position: relative;
    padding-left: calc(2 * var(--spacing) - var(--radius) - 2px);
    margin-bottom: 8px;
}

.tree ul {
    margin-left: calc(var(--radius) - var(--spacing));
    padding-left: 0;
    margin-bottom: 4px;
    margin-top: 4px;
}

.tree ul li {
    border-left: 2px solid #ddd;
}

.tree ul li:last-child {
    border-color: transparent;
}

.tree ul li::before {
    content: '';
    display: block;
    position: absolute;
    top: calc(var(--spacing) / -2);
    left: -2px;
    width: calc(var(--spacing) + 2px);
    height: calc(var(--spacing) + 1px);
    border: solid #ddd;
    border-width: 0 0 2px 2px;
}

.tree summary {
    display: block;
    cursor: pointer;
}

.tree summary::marker,
.tree summary::-webkit-details-marker {
    display: none;
}

.tree summary:focus {
    outline: none;
}

.tree summary:focus-visible {
    outline: 1px dotted #000;
}

.tree li::after,
.tree summary::before {
    content: '';
    display: block;
    position: absolute;
    top: calc(var(--spacing) / 2 - var(--radius));
    left: calc(var(--spacing) - var(--radius) - 1px);
    width: calc(2 * var(--radius));
    height: calc(2 * var(--radius));
    border-radius: 50%;
    background: #ddd;
}

.tree li.selected-program::after {
    background: #4f62c5 url('../img/circle.svg') 0 0;
}

.tree summary::before {
    z-index: 1;
    background: #4f62c5 url('../img/expand-collapse.svg') 0 0;
}

.tree details[open] > summary::before {
    background-position: calc(-2 * var(--radius)) 0;
}

.tree-container {
    border: 1px solid #D3D8F0;
    border-radius: 8px;
    overflow-x: auto;
    padding: 16px 0;
    width: 100%;
}
.tree li,
.tree summary {
    white-space: nowrap;
}

/* Sidebar brand logo */
.navbar-static-side {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
}

.sidebar-collapse {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 220px; /* reserva área para ações + bloco IBP + copyright */
}

#side-menu > li:first-child {
    position: relative;
    overflow: hidden;
    margin-bottom: 2px;
    min-height: 0;
}

#side-menu > li:first-child .sidebar-brand-link {
    display: block;
    float: left;
    width: calc(100% - 46px); /* aproxima a logo do botão sem sobrepor */
    max-width: 100%;
    box-sizing: border-box;
    padding: 8px 8px 2px 12px;
}

#side-menu > li:first-child .sidebar-brand-logo {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
}

#side-menu > li:nth-child(2) {
    margin-top: 12px;
}

.sidebar-bottom-brand {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 42px;
    z-index: 1;
    padding: 0 18px 0 18px;
}

.sidebar-bottom-actions {
    position: absolute;
    right: 14px;
    bottom: 175px;
    z-index: 2;
}

.sidebar-poweroff-btn {
    width: 36px;
    height: 36px;
    padding: 8px;
    line-height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sidebar-bottom-brand-inner {
    padding-top: 8px;
    margin-bottom: 10px;
}

.sidebar-bottom-separator {
    margin: 0 0 8px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.sidebar-bottom-ibp-logo {
    display: block;
    width: 78px;
    max-width: 100%;
    height: auto;
    margin-bottom: 4px;
}

.sidebar-bottom-brand p {
    margin: 0;
    font-size: 12px;
    line-height: 1.35;
    color: #c7ceda;
    text-align: left;
}

.sidebar-bottom-copyright {
    position: absolute;
    z-index: 1;
    bottom: 0;
    width: 100%;
    padding: 0 0 16px 18px;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 400;
    color: #c7ceda;
    text-align: left;
}
