body {
    font-family: system-ui, -apple-system, "Segoe UI", "Microsoft JhengHei", "PingFang TC", "Noto Sans TC", sans-serif;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1 0 auto;
}

.quick-search {
    min-width: min(100%, 26rem);
}

.kpi-value {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.table th.num,
.table td.num {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.num-text {
    min-width: 2.5rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.w-40 {
    width: 40%;
}

.stat-bar {
    height: .5rem;
    border-radius: 999px;
    background: var(--bs-secondary-bg);
    overflow: hidden;
}

.stat-bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--bs-primary);
}

.case-table .files-col {
    min-width: 16rem;
}

.file-list li + li {
    margin-top: .25rem;
}
