
.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}

.lds-ellipsis div {
    position: absolute;
    top: 33px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
}

.note-editing-area{
    overflow: auto!important;
}

td> img{
    max-width:180px!important;
}


@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}

@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(24px, 0);
    }
}

/* ==== Admin Aside overrides ==== */
@media (min-width: 992px) {
    .aside.aside-left {
        width: 180px !important;
    }
    .aside-fixed .wrapper {
        padding-left: 220px !important;
    }
    .wrapper{
        margin-left: 180px !important;
    }
}

/* 讓側欄內容撐滿寬度，避免項目被置中 */
.aside .aside-nav {
    align-items: stretch !important;
    padding-left: 8px;
    padding-right: 8px;
}

/* 導覽連結：icon + 文字水平排列，填滿整列 */
.aside .aside-nav .nav .nav-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    border-radius: 0.475rem;
    padding-left: 12px;
    padding-right: 12px;
}

.aside .aside-nav .nav .nav-link .svg-icon {
    margin-right: 10px;
    flex: 0 0 auto;
}

.aside .aside-nav .nav .nav-link .nav-text {
    flex: 1 1 auto;
    white-space: nowrap;
    color: #7E8299;
    font-size: 0.95rem;
}

.aside .aside-nav .nav .nav-link.active .nav-text,
.aside .aside-nav .nav .nav-link:hover .nav-text {
    color: #3699FF;
}

/* PerfectScrollbar：垂直捲動條常駐顯示 */
.aside .aside-nav.ps .ps__rail-y,
.aside .aside-nav .ps__rail-y {
    opacity: 1 !important;
    right: 2px !important;
    width: 6px !important;
}

.aside .aside-nav.ps .ps__thumb-y,
.aside .aside-nav .ps__thumb-y {
    opacity: 1 !important;
    background-color: rgba(0,0,0,0.25) !important;
}

/* 在側欄中覆寫 btn-icon 的固定尺寸，避免只顯示圖示 */
.aside .aside-nav .nav .nav-link.btn-icon {
    width: 100% !important;
    height: auto !important;
    padding-top: 10px;
    padding-bottom: 10px;
}

/* ==== Admin Aside visual tuning ==== */
.aside.aside-left {
    background: #fff;
    border-right: 1px solid rgba(0,0,0,0.06);
}

.aside .aside-nav .nav {
    width: 100%;
}

/* 使按鈕內容靠左且高度一致 */
.aside .aside-nav .nav .nav-link.btn-icon {
    justify-content: flex-start;
    gap: 8px;
    text-align: left;
}

.nav-text{
    white-space: normal !important;
    word-wrap: break-word !important;
}

/* 文字顏色與行高微調 */
.aside .aside-nav .nav .nav-link .nav-text {
    color: #5E6278;
    line-height: 1.2;
}

/* active 與 hover 的背景與前景 */
.aside .aside-nav .nav .nav-link:hover,
.aside .aside-nav .nav .nav-link.active {
    background: #EFF2F5;
}

/* 修正捲軸位置不應覆蓋在內容中間 */
.aside .aside-nav.ps {
    position: relative;
}
.aside .aside-nav .ps__rail-y {
    right: 0 !important;
}
