:root {
    --bd-base-color: #344E41;
    --bd-btn-color: #3A5A40;
    --bd-nefrit-color: #588157;
    --bd-khaki-color: #A3B18A;
    --bd-gray-color: #DAD7CD;
    --bd-base-color-rgb: 52, 78, 65;
    --bd-btn-color-rgb: 58, 90, 64;
    --bd-nefrit-color-rgb: 88, 129, 87;
    --bd-khaki-color-rgb: 163, 177, 138;
    --bd-gray-color-rgb: 218, 215, 205;
}

html {
    font-size: 14px;
}

body {
    margin: 0;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif;
    /* font-size: 14px; */
}

a[target="_blank"]::after {
    content: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/77020/external-link-alt-solid.svg);
    display: inline-block;
    margin-left: 0.2em;
    width: 1em;
    height: 1em;
}


header {
    position: sticky;
    display: flex;
    flex-direction: column;
    margin: 0px;
    top: 0px;
    left: 0px;
    width: 100%;
    box-shadow: 0px 5px 10px rgba(var(--bd-base-color-rgb), 0.3);
    z-index: 999;
}

.head-title {
    display: flex;
    height: 5rem;
    color: var(--bd-gray-color);
    background-color: var(--bd-base-color);
}

.header1,
.header2,
.header3 {
    display: flex;
}

.header1,
.header3 {
    width: 100px;
}



.header2 {
    flex-grow: 1;
}

.header_title {
    margin: auto;
    padding: 0px;
}

.header_title h1 {
    font-size: 16px;
    font-weight: 300;
    text-transform: uppercase;
    margin: 0px;
}

.header_right {
    margin: auto;
    padding: 0.9rem;
    border-radius: 4px;
}

.header_right:hover {
    background: rgba(255, 255, 255, 0.1);
}

.header_right a,
.header_right a:visited {
    text-decoration: none;
    color: inherit;
}

.header_right a:hover {
    color: white;
    text-decoration: none;
}

.head-content-menu,
.sub-menu {
    display: flex;
    flex-direction: row;
    padding: 0.3rem;
    column-gap: 0.3rem;
    max-width: 100%;
    background-color: white;
}

.head-content-menu .menu-item,
.sub-menu .menu-item {
    padding: 0.5rem;
    border-radius: 4px;
}

.head-content-menu a[class*='menu-item'],
.sub-menu a[class*='menu-item'] {
    text-decoration: none;
    color: var(--bd-base-color);
}

.head-content-menu a[class*='menu-item']:visited,
.sub-menu a[class*='menu-item']:visited {
    color: var(--bd-base-color);
}

.head-content-menu a[class*='menu-item']:hover,
.sub-menu a[class*='menu-item']:hover {
    background-color: var(--bd-gray-color);
}

.head-content-menu a[class*='active'],
.sub-menu a[class*='active'] {
    pointer-events: none;
    cursor: default;
    color: var(--bd-khaki-color) !important;
}

.sub-menu button[class*='menu-item'] {
    border: none;
    background-color: white;
    color: var(--bd-base-color);
    cursor: pointer;
    font-size: inherit;
}

.sub-menu button[class*='menu-item']:hover {
    background-color: var(--bd-gray-color);
}

main {
    display: block;
    margin: 0px;
    overflow: auto;
}

img {
    display: block;
}

.container-flexcolumn {
    margin: auto;
    display: flex;
    flex-direction: column;
    row-gap: 10px;
}


.hide-box {
    display: none !important;
}

.show-box {
    display: flex;
}

.accounts-content,
.expenses-content,
.settings-content {
    display: flex;
    flex-direction: column;
    /* width: 100%; */
    height: 100%;
    margin: 0;
    padding: 1rem;
}

.accounts-content table {
    border-collapse: collapse;
    table-layout: auto;
    color: var(--bd-base-color);
}

.accounts-content caption {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
    text-align: left;

}

.accounts-content thead {
    position: sticky;
    /* Вот оно! Главное свойство */
    top: 0;
    background-color: white;
    color: var(--bd-base-color);
    /* Тень для эффекта "отделения" от контента при скролле */
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
}
.accounts-content tr[id^='row-account-']:hover {
    background-color: rgba(var(--bd-khaki-color-rgb), 0.3);
    cursor: pointer;
}
.accounts-content td,
.accounts-content th {
    padding: 0.5rem;
    border: 1px solid var(--bd-gray-color);
}

.accounts-content td.amount {
    width: 100px;
    text-align: right;
}

.accounts-content td.row-expand {
    width: 14px;
    text-align: right;
}


.settings-content-title,
.settings-content-box {
    display: flex;
    flex-direction: column;
    margin: 0px;
    padding: 1rem;
    border: 2px solid var(--bd-nefrit-color);
    border-radius: 8px;

}

.edit-menu {
    display: flex;
    flex-direction: row;
    padding: 0.3rem;
    column-gap: 0.3rem;
    max-width: 100%;
    background-color: white;
}

.edit-menu button {
    border: 1px solid var(--bd-nefrit-color);
    padding: 0.8rem;
    border-radius: 4px;
    background-color: white;
    color: var(--bd-base-color);
    cursor: pointer;
}

.edit-menu button:hover {
    background-color: var(--bd-nefrit-color);
    color: var(--bd-gray-color);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
}

/* Должники и кредиторы */
.debtors-and-creditors {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;    
    justify-content: space-evenly;
    width: 100%;
}
.debtors, .creditors {
    padding: 1rem;
}
.debtors table, .creditors table {
    border-collapse: collapse;
    table-layout: auto;
    color: var(--bd-base-color);
}
.debtors caption, .creditors caption {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
    text-align: left;

}

.debtors thead, .creditors thead {
    position: sticky;
    /* Вот оно! Главное свойство */
    top: 0;
    background-color: white;    
    /* Тень для эффекта "отделения" от контента при скролле */
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
}

.debtors td, .creditors td,
.debtors th, .creditors th {
    padding: 0.5rem;
    border: 1px solid var(--bd-gray-color);
}