
/*#region ================== DEFAULT */
    body,
    body.dark {
        background: var(--mainBg) !important;
    }
    a:not(.cr-btn),
    .btn-link {
        color: var(--primary);
        text-decoration: none;
    }
    body.dark a:not(.cr-btn),
    body.dark .btn-link {
        color: var(--orange);
    }
    a:not(.cr-btn):hover,
    .btn-link:hover {
        color: var(--blue) !important;
    }

    .validation-message {
        color: var(--red);
        font-size: .65rem;
        font-weight: 400;
        margin-top: .5rem;
    }
    body.dark .validation-message {
        color: var(--orange);
    }
/*#endregion ================== DEFAULT END */

/*#region ================== ERROR UI */
    #blazor-error-ui {
        display: none;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 1.5rem;
        width: 100%;
        box-sizing: border-box;
        pointer-events: none;
        z-index: 1000;
    }
    #blazor-error-ui .wrap-error {
        position: relative;
        display: flex;
        align-items: center;
        gap: 1rem;
        max-width: 700px;
        padding: .75rem 1rem;
        margin: 0 auto;
        background: linear-gradient(to right, hsl(from var(--red) h s 55) 50%, hsl(from var(--red) h s 65));
        border-radius: 1rem;
        animation: errorShow .5s linear forwards;
        pointer-events: auto;
    }
    @keyframes errorShow {
        from {
            opacity: 0;
            transform: translateY(50%);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    #blazor-error-ui .img {
        min-width: 70px;
        width: 70px;
        height: 70px;
        padding: .25rem;
        background-color: var(--putih);
        border-radius: 50%;
        overflow: hidden;
    }
    #blazor-error-ui img {
        width: 100%;
        height: 100%;
    }
    #blazor-error-ui .txt {
        flex: 1;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 1.5rem;
        color: var(--putih);
        user-select: none;
    }
    #blazor-error-ui .txt p:nth-child(1) {
        font-size: 1.25rem;
        font-weight: 600;
        margin-bottom: .25rem;
    }
    #blazor-error-ui .txt p:nth-child(2) {
        font-size: .9rem;
        line-height: 1.3;
        margin-bottom: 0;
    }
    #blazor-error-ui .reload {
        color: var(--hitam);
        margin-right: 1rem;
        margin-bottom: .25rem;
        padding: .3rem .75rem;
        background-color: var(--putih);
        border-radius: .5rem;
    }
    #blazor-error-ui .dismiss {
        position: absolute;
        right: .25rem;
        top: .25rem;
        width: 30px;
        height: 30px;
        display: grid;
        place-items: center;
        color: var(--yellow);
        font-size: 1rem;
        border-radius: 50%;
        cursor: pointer;
    }
/*#endregion ================== ERROR UI END */

/*#region ================== MAIN LOADING */
    .wrap-main-loader {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100vh;
    }
    .main-loader {
        position: relative;
        width: fit-content;
        height: fit-content;
        margin-bottom: 1rem;
    }
    .main-loader .loader {
        width: 100px;
        aspect-ratio: 1;
        border-radius: 50%;
        background: 
            radial-gradient(farthest-side,var(--clr300) 94%,#0000) top/10px 10px no-repeat,
            conic-gradient(#0000 30%,var(--clr300));
        -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 10px),#000 0);
        animation: mainLoader 1s infinite linear;
    }
    @keyframes mainLoader {
        100% {
            transform: rotate(1turn)
        }
    }
    .main-loader svg {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 35px;
        height: 35px;
        margin-top: .15rem;
        opacity: .9;
    }
    .wrap-main-loader p {
        font-size: 1.4rem;
        font-weight: 800;
        text-align: center;
        margin-bottom: .1rem;
    }
    .loading-progress-text {
        color: var(--grey);
        text-align: center;
    }
    .loading-progress-text:after {
        content: var(--blazor-load-percentage-text, "0%");
    }
/*#endregion ================== MAIN LOADING END */

/*#region ================== AUTHORIZING */
    .authorizing-screen {
        min-height: 100vh;
        display: grid;
        place-items: center;
        background: var(--soft-grey);
    }
    .authorizing-card {
        display: flex;
        align-items: center;
        gap: .75rem;
        padding: 1rem 1.25rem;
        border-radius: 1rem;
        background: var(--white);
        font-weight: 600;
        box-shadow: 0 12px 24px var(--shadow);
    }
    .authorizing-spinner {
        position: relative;
        display: grid;
        place-items: center;
        color: var(--grey);
        width: 35px;
        height: 35px;

        &::before {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            border: 4px solid hsl(from var(--black) h s l / .25);
            border-top-color: var(--primary);
            animation: authorizing-spin .75s linear infinite;
        }
    }
    @keyframes authorizing-spin {
        to {
            transform: rotate(1turn);
        }
    }
/*#endregion ================== AUTHORIZING END */

/*#region ================== CUSTOM TOAST */
    .blazored-toast {
        padding: 1.25rem !important;
        border-radius: 1rem !important;
    }
    .blazored-toast-body .blazored-toast-header h5 {
        font-size: 1.25rem !important;
        line-height: 1 !important;
        margin-bottom: .25rem !important;
    }
    .blazored-toast-body .blazored-toast-header .blazored-toast-close {
        color: rgba(0,0,0,.5) !important;
        font-size: 1rem !important;
        line-height: 1;
        padding: 0 !important;
    }
/*#endregion ================== CUSTOM TOAST END */

/*#region ================== CUSTOM SCROLLBAR */
    *::-webkit-scrollbar {
        width: 10px;
    }
    *::-webkit-scrollbar-track {
        background: hsl(from var(--grey) h s l / .2);
    }
    *::-webkit-scrollbar-thumb {
        background-color: var(--primary);
        background: linear-gradient(to bottom, hsl(from var(--primary) h s 60) 30%, hsl(from var(--primary) h s 80) 100%);
        border: 2px solid transparent;
        border-radius: 1rem;
        background-clip: content-box;
    }
/*#endregion ================== CUSTOM SCROLLBAR END */

/*#region ================== HIDE ARROW INPUT NUMBER */
    input::-webkit-outer-spin-button,
    input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }
    /* Firefox */
    input[type=number] {
        -moz-appearance: textfield;
    }
/*#endregion ================== HIDE ARROW INPUT NUMBER END */

/*#region ================== SELECTION COLOR*/
    ::selection {
        color: var(--putih);
        background: var(--red);
    }
/*#endregion ================== SELECTION COLOR END */

/*#region ================== ANTMODAL */
    :is(#warningPopup, #logoutPopup, #lupaPassword, #loadingFullPage, #aturLeadExpiry, #aturAssignmentHours) .ant-modal-centered .ant-modal {
        margin: auto;
    }
    .ant-modal .ant-modal-body {
        min-height: 200px;
    }
    :is(#warningPopup, #logoutPopup, #lupaPassword, #loadingFullPage, #aturLeadExpiry, #aturAssignmentHours) .ant-modal .ant-modal-body {
        min-height: unset;
    }
    .ant-modal .ant-modal-body .isi {
        position: relative;
        flex: 1;
        color: var(--black);
        font-size: 1rem;
        font-weight: 400;
        padding: 1.25rem;
        overflow: hidden auto;
    }
    .ant-modal .ant-modal-body:has(.tombol) .isi {
        padding-bottom: 0 !important;
    }
    .ant-modal .ant-modal-body .tombol {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: .5rem;
        padding: 1rem;
    }
/*#endregion ================== ANTMODAL END */

/*#region ================== ALL INDEX */
    .idx-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        padding: 1.5rem;
    }
    .idx-title {
        display: flex;
        align-items: center;
        gap: .75rem;

        i {
            display: grid;
            place-items: center;
            width: 45px;
            aspect-ratio: 1;
            color: var(--putih);
            font-size: 1.5rem;
            background: var(--primary);
            border-radius: 1rem;
        }
        p:first-child {
            font-size: 1.3rem;
            font-weight: 700;
            line-height: 1;
            margin-bottom: 5px;
        }
        p:last-child {
            color: var(--grey);
            font-size: .85rem;
            line-height: 1.2;
            margin-bottom: 0;
        }
    }
    .idx-action {
        flex: 1;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: .75rem;

        .search {
            flex: 1;
            position: relative;
            max-width: 350px;

            i {
                position: absolute;
                top: 30%;
                left: .75rem;
                color: var(--grey);
                vertical-align: -2px;
            }
            .cr-input {
                padding-left: 2.25rem;
            }
            .cr-input:focus + i {
                color: var(--primary);
            }
        }
        .cr-square {
            padding: 0 .68rem !important;
            border-color: var(--soft-grey);
        }
    }

    .idx-content {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: hidden auto;
    }
    .idx-subtitle {
        padding: .5rem 2.5rem 0 2.5rem;
        margin-bottom: .5rem;
        pointer-events: none;

        > p {
            color: var(--grey);
            font-size: .8rem;
            font-weight: 600;        
        }
    }
    .idx-subtitle,
    .idx-item {
        display: grid;
        grid-template-columns: var(--idxGrid);
        align-items: center;
        gap: .5rem;

        > p {
            text-transform: capitalize;
            margin-bottom: 0;
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
        }
        > p.nocap {
            text-transform: unset;
            margin-bottom: 0;
        }
    }
    .idx-list {
        flex: 1;
        padding: 0 1.5rem 1rem 1.5rem;
        overflow: hidden auto;
    }
    .idx-item {
        position: relative;
        min-height: 55px;
        font-size: 1rem;
        font-weight: 400;
        padding: 0 1rem;
        margin-bottom: .75rem;
        background-color: var(--white);
        border: 1px solid transparent;
        border-radius: 1rem;
        box-shadow: 0 0 5px 0 var(--shadow);
        transition: var(--anim);
        isolation: isolate;
        cursor: pointer;
        overflow: hidden;

        &:not(:last-child) {
            margin-bottom: .5rem;
        }
        > p:first-child {
            font-weight: 600;
        }
        .stat {
            --statClr: var(--primary);

            position: relative;
            width: fit-content;
            color: var(--statClr);
            font-size: .75rem;
            font-weight: 600;
            padding: .25rem .75rem .25rem .6rem;
            background-color: hsl(from var(--statClr) h s l / .15);
            border-radius: 3rem;

            &::before {
                content: '';
                display: inline-block;
                width: 6px;
                height: 6px;
                vertical-align: 2px;
                margin-right: .35rem;
                background-color: var(--statClr);
                border-radius: 50%;
            }
        }
        .stat.orange {
            --statClr: var(--orange);
        }
        .stat.green {
            --statClr: var(--green);
        }
        .stat.red {
            --statClr: var(--red);
        }
        .stat.grey {
            --statClr: var(--grey);
        }
    }
    .idx-item:hover {
        border-color: hsl(from var(--primary) h s l / .5);
        box-shadow: 2px 6px 15px 6px hsl(from var(--primary) h s l / .15);
    }
/*#endregion ================== ALL INDEX END */

/*#region ================== OBSERVER TEXT */
    .observer-text {
        height: 1px;
        opacity: 0;
        pointer-events: none;
        overflow: hidden;
    }
/*#endregion ================== OBSERVER TEXT END */

/*#region ================== CUSTOM INPUT PHONE */
    .asterisk {
        display: inline-block;
        color: var(--red);
        font-size: 1.25rem;
        line-height: 1;
        margin-left: .2rem;
        vertical-align: middle;
    }

    .prefix-input {
        display: flex;
        align-items: center;
        gap: .75rem;
        min-height: 37.6px;
        padding: 0 .75rem 0 .5rem;
        background-color: var(--white);
        border: 1px solid var(--border);
        border-radius: .5rem;

        .nat-select {
            --containHeight: 34px;
            --selectedWidth: 60px;

            position: relative;
            display: grid;
            place-content: center;
            height: 35.6px;
            width: var(--selectedWidth);
            cursor: pointer;
            z-index: 5;
        }
    
        .nat-selected {
            position: relative;
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: var(--selectedWidth);
            height: var(--containHeight);
            user-select: none;

            img {
                width: var(--containHeight);
                height: var(--containHeight);
                object-fit: contain;
            }
            span {
                display: inline-block;
                font-size: .9rem;
            }
        }
        
        .nat-option {
            --optWidth: 175px;

            position: absolute;
            top: 0;
            width: var(--optWidth);
            height: 0;
            display: flex;
            flex-direction: column;
            gap: .25rem;
            opacity: 0;
            pointer-events: none;
            overflow: hidden;
            background: var(--white);
            border: 1px solid var(--border);

            input {
                display: none;
            }
            label {
                position: relative;
                display: block;
                width: 100%;
                height: var(--containHeight);
                font-size: .85rem;
                padding: 0 .25rem;
                border-radius: .25rem;
                cursor: pointer;

                &:has(input:checked),
                &:hover {
                    background: var(--soft-grey);
                }
                span {
                    display: flex;
                    align-items: center;
                }
                img {
                    width: calc(var(--containHeight) * .7);
                    height: calc(var(--containHeight) * .7);
                    object-fit: contain;
                    margin-right: .25rem;
                }
            }
        }
        .nat-select:focus .nat-option {
            top: calc(var(--containHeight) + .5rem);
            height: calc(var(--containHeight) *2);
            padding: .35rem;
            border-radius: .5rem;
            opacity: 1;
            pointer-events: all;
        }

        > input {
            padding: 0;
            padding-left: .75rem;
            background: transparent;
            border: none;
            border-left: 1px solid var(--border);
            outline: none;
            box-shadow: none;
        }
        &:has(input:focus) {
            border-color: var(--cr-primary-custom, var(--cr-primary));
            box-shadow: 0 0 0 .3rem hsl(from var(--cr-primary-custom, var(--cr-primary)) h s l / .3);
        }
    }
/*#endregion ================== CUSTOM INPUT PHONE  END */





.kanban-container {
    display: flex;
    gap: 20px;
}

.kanban-column {
    flex: 1;
    background: #f4f4f4;
    padding: 10px;
    border-radius: 10px;
}

.kanban-list {
    min-height: 300px;
    list-style: none;
    padding: 0;
}

.kanban-card {
    background: white;
    padding: 12px;
    margin-bottom: 10px;
    border-radius: 8px;
    cursor: grab;
}