.ub-04 table {
    width: 100%;
    border-collapse: collapse;
    border: none;
}

.ub-04 td {
    border: 1px solid #000;
    text-align: center;
    padding: 0.25rem;
}

.ub-04 tr {
    height: 25px;
}

.ub-04 .tiny-text {
    font-size: 0.5rem !important;
}

.ub-04 .small-text {
    font-size: 0.75rem !important;
}

.ub-04 .margin-column {
    border: none !important;
}

.ub-04 .no-bottom-border {
    border-bottom: none; /* Remove bottom border */
}

.ub-04 .no-top-border {
    border-top: none; /* Remove bottom border */
}

.ub-04 .no-vertical-border {
    border-bottom: none;
    border-top: none;
}

.ub-04 .no-border {
    border: none;
}

.ub-04 .no-left-border {
    border-left: none;
}

.ub-04 .no-right-border {
    border-right: none;
}

.ub-04 .faint-top-border {
    border-top: 1px solid #e4e4e3;
}

.ub-04 .faint-bottom-border {
    border-bottom: 1px solid #e4e4e3;
}

.ub-04 .faint-border {
    border-bottom: 1px solid #e4e4e3;
    border-top: 1px solid #e4e4e3;
}

.ub-04 .cell-relative {
    position: relative;
}

.ub-04 .top-left-text {
    position: absolute;
    top: 1px;
    left: 1px;
    font-size: 0.5rem;
}

.ub-04 .bottom-left-text {
    position: absolute;
    bottom: 1px;
    left: 1px;
    font-size: 0.5rem;
}

.ub-04 .top-left-spanning-text {
    position: absolute;
    top: 1px;
    left: 1px;
    font-size: 0.5rem;
    white-space: nowrap;
    background-color: white;
    padding: 0 2px; /* Small padding to ensure background covers text */
}

.ub-04 .raise-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -270%);
    font-size: 0.4rem;
    text-align: center; /* Ensures text is centered within the span */
}

.ub-04 .high-center-text {
    position: absolute;
    transform: translate(-50%, -85%);
    font-size: 0.5rem;
    text-align: center;
}

.ub-04 .no-wrap {
    white-space: nowrap; /* Prevent text wrapping */
}

.ub-04 .black-cell {
    background-color: #000 !important;
    color: #fff !important;
}

.ub-04 .gray-cell {
    background-color: #e4e4e3 !important;
}

.ub-04 .white-cell {
    background-color: #fff !important;
}

.ub-04 .center-vertical {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    text-align: center;
    line-height: 1;
    flex-direction: column;
}

.ub-04 .bottom-text-row {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: 0.4rem !important;
    margin-top: auto;
}

/* Proportional widths for columns */
.ub-04 .colspan-1 {
    width: calc(100% * 1 / 64);
}

.ub-04 .colspan-2 {
    width: calc(100% * 2 / 64);
}

.ub-04 .colspan-3 {
    width: calc(100% * 3 / 64);
}

.ub-04 .colspan-4 {
    width: calc(100% * 4 / 64);
}

.ub-04 .colspan-5 {
    width: calc(100% * 5 / 64);
}

.ub-04 .colspan-6 {
    width: calc(100% * 6 / 64);
}

.ub-04 .colspan-7 {
    width: calc(100% * 7 / 64);
}

.ub-04 .colspan-8 {
    width: calc(100% * 8 / 64);
}

.ub-04 .colspan-9 {
    width: calc(100% * 9 / 64);
}

.ub-04 .colspan-10 {
    width: calc(100% * 10 / 64);
}

.ub-04 .colspan-11 {
    width: calc(100% * 11 / 64);
}

.ub-04 .colspan-12 {
    width: calc(100% * 12 / 64);
}

.ub-04 .ub-04 .colspan-13 {
    width: calc(100% * 13 / 64);
}

.ub-04 .colspan-14 {
    width: calc(100% * 14 / 64);
}

.ub-04 .colspan-15 {
    width: calc(100% * 15 / 64);
}

.ub-04 .colspan-16 {
    width: calc(100% * 16 / 64);
}

.ub-04 .colspan-17 {
    width: calc(100% * 17 / 64);
}

.ub-04 .colspan-18 {
    width: calc(100% * 18 / 64);
}

.ub-04 .colspan-19 {
    width: calc(100% * 19 / 64);
}

.ub-04 .colspan-20 {
    width: calc(100% * 20 / 64);
}

.ub-04 .colspan-21 {
    width: calc(100% * 21 / 64);
}

.ub-04 .colspan-22 {
    width: calc(100% * 22 / 64);
}

.ub-04 .colspan-23 {
    width: calc(100% * 23 / 64);
}

.ub-04 .colspan-24 {
    width: calc(100% * 24 / 64);
}

.ub-04 .colspan-25 {
    width: calc(100% * 25 / 64);
}

.ub-04 .colspan-26 {
    width: calc(100% * 26 / 64);
}

.ub-04 .colspan-27 {
    width: calc(100% * 27 / 64);
}

.ub-04 .colspan-28 {
    width: calc(100% * 28 / 64);
}

.ub-04 .colspan-29 {
    width: calc(100% * 29 / 64);
}

.ub-04 .colspan-30 {
    width: calc(100% * 30 / 64);
}

.ub-04 .colspan-31 {
    width: calc(100% * 31 / 64);
}

.ub-04 .colspan-32 {
    width: calc(100% * 32 / 64);
}

.ub-04 .colspan-33 {
    width: calc(100% * 33 / 64);
}

.ub-04 .colspan-34 {
    width: calc(100% * 34 / 64);
}

.ub-04 .colspan-35 {
    width: calc(100% * 35 / 64);
}

.ub-04 .colspan-36 {
    width: calc(100% * 36 / 64);
}

.ub-04 .colspan-37 {
    width: calc(100% * 37 / 64);
}

.ub-04 .colspan-38 {
    width: calc(100% * 38 / 64);
}

.ub-04 .colspan-39 {
    width: calc(100% * 39 / 64);
}

.ub-04 .colspan-40 {
    width: calc(100% * 40 / 64);
}

.ub-04 .colspan-41 {
    width: calc(100% * 41 / 64);
}

.ub-04 .colspan-42 {
    width: calc(100% * 42 / 64);
}

.ub-04 .colspan-43 {
    width: calc(100% * 43 / 64);
}

.ub-04 .colspan-44 {
    width: calc(100% * 44 / 64);
}

.ub-04 .colspan-45 {
    width: calc(100% * 45 / 64);
}

.ub-04 .colspan-46 {
    width: calc(100% * 46 / 64);
}

.ub-04 .colspan-47 {
    width: calc(100% * 47 / 64);
}

.ub-04 .colspan-48 {
    width: calc(100% * 48 / 64);
}

.ub-04 .colspan-49 {
    width: calc(100% * 49 / 64);
}

.ub-04 .colspan-50 {
    width: calc(100% * 50 / 64);
}

.ub-04 .colspan-51 {
    width: calc(100% * 51 / 64);
}

.ub-04 .colspan-52 {
    width: calc(100% * 52 / 64);
}

.ub-04 .colspan-53 {
    width: calc(100% * 53 / 64);
}

.ub-04 .colspan-54 {
    width: calc(100% * 54 / 64);
}

.ub-04 .colspan-55 {
    width: calc(100% * 55 / 64);
}

.ub-04 .colspan-56 {
    width: calc(100% * 56 / 64);
}

.ub-04 .colspan-57 {
    width: calc(100% * 57 / 64);
}

.ub-04 .colspan-58 {
    width: calc(100% * 58 / 64);
}

.ub-04 .colspan-59 {
    width: calc(100% * 59 / 64);
}

.ub-04 .colspan-60 {
    width: calc(100% * 60 / 64);
}

.ub-04 .colspan-61 {
    width: calc(100% * 61 / 64);
}

.ub-04 .colspan-62 {
    width: calc(100% * 62 / 64);
}

.ub-04 .colspan-63 {
    width: calc(100% * 63 / 64);
}

.ub-04 .colspan-64 {
    width: 100%;
}

.cms, .cms th, .cms td {
    border: 1px solid red;
    border-collapse: collapse;
    color: red;
}

.cms .pink-cell {
    background-color: #F6E4EA !important;
}
