body {
    font-family: "Roboto", sans-serif;
    -ms-overflow-style: none; /* Internet Explorer 10+ */
    scrollbar-width: none; /* Firefox */
    overflow-y: scroll;
}

body::-webkit-scrollbar {

    display: none; /* Chrome、Safari 和 Opera */
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
    color: var(--bs-gray-dark);
}

ul, ol {
    list-style-type: none;
}

a {
    color: #000 !important;
    text-decoration: none !important;
    outline: none;
}

input, input:focus, select, select:focus {
    box-shadow: none !important;

}

.form-select {
    color: var(--bs-gray-dark) !important;
}

.custom-hr {
    margin: 1.3rem 0;
    border-bottom: 1px dotted rgb(204, 153, 51);
}

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: none !important;
}

header {
    height: 3.875rem;
    margin-left: 16.25rem;
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background: #fff;
    border-width: 0 0 .0625rem 0;
    border-style: solid;
    border-color: rgba(241, 241, 241, 0.7);
}

aside {
    width: 16.25rem;
    border-width: 0 .0625rem 0 0;
    border-style: solid;
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    border-color: rgba(241, 241, 241, 0.7);
    background: #fff;
    height: 100vh;
    transition: margin-left 0.4s ease;
}

.navbar-vertical-aside {
    margin-left: 0;
}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 99;
}

.cursor-p {
    cursor: pointer;
}

.aside-top {
    margin-top: 2rem;
    text-align: center; /* 让内部文本和图片水平居中 */
}

.aside-top img {
    display: block; /* 将图片转换为块级元素 */
    margin: 0 auto; /* 水平居中 */
    max-width: 100%; /* 确保图片不超出容器宽度 */
    height: 5rem; /* 保持图片的原始宽高比 */
}

.aside-top p {
    font-size: 1rem;
    color: #aeadad;
    margin: 0.85rem 0;
}

.nav-list {
    margin-top: 2rem;
    padding: 1rem;
}

.nav-icon {
    opacity: .7;
    -ms-flex: 0 0 1.9375rem;
    flex: 0 0 1.9375rem;
}

.nav-item a {
    padding: 0.5rem 0.8rem;
    border-radius: .5rem;
}

.nav-item a:hover, .nav-link.active {
    background-color: rgba(189, 197, 209, .2);
}

.navbar-wrap {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-align: center;
    align-items: center;
    justify-content: space-between;
}

.navbar-nav-content-end {
    display: flex;
    align-items: center;
}

.user-link {
    display: flex;
    align-items: center;
}

main {
    padding-top: 3.875rem;
}

.aside {
    display: block;
    width: 18rem;
    margin-top: 3.875rem;
    position: fixed;
    left: auto;
    right: 0;
    top: 0;
    bottom: 0;
    overflow: auto;
    border-left: 1px solid #f6f6f6;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.aside::-webkit-scrollbar {
    display: none; /* ChromeSafari */
}

.widget-title {
    font-size: 1.1rem;
}

.widget-body {
    padding: 1rem 0;
}

.widget-body ul {
    list-style-type: disc;
    padding-left: 0;
}

.widget-body ul li {
    max-width: 17rem; /* 必须设置固定宽度或最大宽度 */
    overflow: hidden; /* 隐藏溢出内容 */
    white-space: nowrap; /* 强制文本不换行 */
    text-overflow: ellipsis; /* 超出部分显示省略号 */
    margin-bottom: 0.15rem;
}

.widget-body ul li:before {
    color: #ccc;
    content: "▪";
    font-size: 0.7rem;
    margin-right: 6px;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
}

.form-control {
    color: #000 !important;
}

.avatar {
    width: 1.8rem;
    height: 1.8rem;
}

.userPopover {
    position: relative;
    background: #fff;
}


.userPopover-content {
    display: none;
    position: absolute;
    inset: 4rem 5.5rem auto auto;
    border: 1px solid rgba(0, 0, 0, 0.175);
    border-radius: 0.5rem;
    transition: opacity .2s ease-in-out;
    padding: 1rem 0;
    background: #fff;
}

.userPopover-content.active {
    opacity: 1;
    visibility: visible;
}

.userPopover-content .popovers-arrow {
    position: absolute;
    left: 0;
    transform: translate3d(29px, 0px, 0px);
    top: calc(-1 * 0.5rem - 1px);
}

.userPopover-content .popovers-arrow::before {
    position: absolute;
    display: block;
    top: 0;
    content: "";
    border-color: transparent;
    border-style: solid;
    border-bottom-color: rgba(0, 0, 0, 0.175);
    border-width: 0 1rem 0.5rem;
}

.userPopover-content .popovers-arrow::after {
    position: absolute;
    display: block;
    top: 1px;
    content: "";
    border-color: transparent;
    border-style: solid;
    border-width: 0 1rem 0.5rem;
    border-bottom-color: #fff;
}

.user-Popover-item {
    padding: 0.3rem 0.9rem;;
    color: #858484 !important;
    margin-bottom: 0.2rem;
    cursor: pointer;
}

.user-Popover-item a {
    color: #858484 !important;
}


.user-Popover-item:hover {
    background: #8ab6fa;
    color: #1a6def !important;
}

.logout-btn {
    all: unset;
    color: #858484 !important;
}

.footer {
    position: absolute;
    bottom: 0;
    right: 1.6rem;
    padding: 0 0.5rem;
    text-align: center;
    font-size: 0.8rem;
}

.footer span, .footer p, .footer p a {
    color: #6c757d !important;
}

.error-message {
    position: absolute;
    bottom: -1.5rem;
    text-align: start;
    font-size: 0.8rem;
    padding: 0.2rem;
    color: #f56c6c;
}

.toast-container.top-center {
    position: fixed;
    top: 0.3rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1100;
}

.toast {
    width: 100% !important;
    padding: 0 1rem;
    background: rgb(254, 240.3, 240.3);
    border: 0.01rem solid rgb(253, 225.6, 225.6)
}

.toast-body {
    color: #f56c6c;
}

.toast.bg-success {
    background-color: #d4edda !important;
}

.toast.bg-danger {
    background-color: #f8d7da !important;
}