body {
    background: #f5f7fb;
}

main.container-fluid {
    font-size: 0.79rem;
}

main.container-fluid .form-label,
main.container-fluid .form-text,
main.container-fluid .table,
main.container-fluid .table td,
main.container-fluid .table th,
main.container-fluid .form-control,
main.container-fluid .form-select,
main.container-fluid .btn,
main.container-fluid .alert,
main.container-fluid h1,
main.container-fluid h2,
main.container-fluid h3,
main.container-fluid h4,
main.container-fluid h5,
main.container-fluid h6 {
    font-size: 0.79rem;
}

main.container-fluid .table td,
main.container-fluid .table th {
    padding: 0.26rem 0.36rem;
}

main.container-fluid .form-control,
main.container-fluid .form-select {
    padding: 0.18rem 0.3rem;
    min-height: 1.65rem;
}

main.container-fluid .btn {
    --bs-btn-padding-y: 0.2rem;
    --bs-btn-padding-x: 0.42rem;
    --bs-btn-font-size: 0.76rem;
}

.card {
    border: 0;
    box-shadow: 0 0.125rem 0.75rem rgba(15, 23, 42, 0.08);
}

.line-badge {
    min-width: 1.8rem;
    text-align: center;
    font-weight: 600;
}

.line-badge-m {
    background-color: #f59e0b;
}

.line-badge-r {
    background-color: #0d6efd;
}

.line-badge-n {
    background-color: #6f42c1;
}

.invoice-detail-table .w-seq {
    min-width: 64px;
}

.invoice-detail-table .w-desc {
    min-width: 220px;
}

.invoice-detail-table .w-type {
    min-width: 118px;
}

.invoice-detail-table .w-code {
    min-width: 118px;
}

.invoice-detail-table .w-qty {
    min-width: 70px;
}

.invoice-detail-table .w-unit {
    min-width: 86px;
}

.invoice-detail-table .w-amt {
    min-width: 92px;
}

.invoice-detail-table td,
.invoice-detail-table th {
    vertical-align: middle;
    white-space: nowrap;
    font-size: 0.79rem;
    padding: 0.24rem 0.34rem;
}

.invoice-detail-table .form-control,
.invoice-detail-table .form-select {
    font-size: 0.79rem;
    padding: 0.18rem 0.3rem;
    min-height: 1.65rem;
}

.invoice-page {
    font-size: 0.84rem;
}

.invoice-page .form-label,
.invoice-page .form-text,
.invoice-page h5,
.invoice-page h6 {
    font-size: 0.82rem;
}

.invoice-page .card-body {
    padding: 0.65rem 0.8rem;
}

.invoice-header-card .form-label,
.invoice-header-card .form-text,
.invoice-header-card strong,
.invoice-header-card h5 {
    font-size: 0.76rem;
}

.invoice-header-card .form-control,
.invoice-header-card .form-select {
    font-size: 0.75rem;
    padding: 0.16rem 0.28rem;
    min-height: 1.58rem;
}

.invoice-header-form > [class*="col-"] {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.invoice-header-form .btn {
    margin-top: 0.05rem;
}

.invoice-page hr {
    margin: 0.5rem 0;
}

.invoice-page .btn,
.invoice-list-page .btn {
    --bs-btn-padding-y: 0.2rem;
    --bs-btn-padding-x: 0.42rem;
    --bs-btn-font-size: 0.76rem;
}

.invoice-table-wrap {
    max-height: 68vh;
    overflow: auto;
}

.invoice-detail-table .w-code .form-select {
    min-width: 11rem;
    max-width: 16rem;
    font-size: 0.72rem;
}

.invoice-detail-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8f9fa;
}

.add-detail-card .card-body {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.add-detail-summary {
    cursor: pointer;
    font-size: 0.86rem;
    font-weight: 600;
    margin-bottom: 0.2rem;
}

.add-detail-details[open] > .add-detail-summary {
    margin-bottom: 0.4rem;
}

.invoice-list-page {
    font-size: 0.83rem;
}

.invoice-list-page .form-label,
.invoice-list-page .form-text,
.invoice-list-page h5 {
    font-size: 0.81rem;
}

.invoice-list-table td,
.invoice-list-table th {
    font-size: 0.79rem;
    white-space: nowrap;
    vertical-align: middle;
    padding: 0.26rem 0.36rem;
}

.invoice-list-page .form-control,
.invoice-list-page .form-select {
    font-size: 0.79rem;
    padding: 0.18rem 0.3rem;
    min-height: 1.65rem;
}

.invoice-create-card .card-body {
    padding-top: 0.42rem;
    padding-bottom: 0.42rem;
}

.invoice-create-summary {
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 0.1rem;
}

.invoice-create-details[open] > .invoice-create-summary {
    margin-bottom: 0.3rem;
}
