.table {
    box-sizing: border-box;
    border: 1px solid var(--contrast-softest);
    border-radius: 6px;

    & > .heading {
        height: 40px;
        background-color: var(--contrast-softest);

        & label {
            color: var(--text-color);
            font-family: Inter;
            font-size: 12px;
            font-weight: 600;
        }
        
        & input {
            border: none;
            border-radius: 4px;
            background-color: transparent;
            color: var(--text-color);
            font-family: Inter;
            font-size: 12px;
            font-weight: 600;
            transition: 0.4s;
            cursor: text;

            &::placeholder {
                color: var(--text-color);
                font-family: Inter;
                font-size: 12px;
                font-weight: 600;
                opacity: 1;
            }

            &:not(:placeholder-shown) {
                border: 1px solid var(--theme);
            }
        }
    }

    & .table-row {
        height: 68px;
        box-sizing: border-box;
        border-bottom: 1px solid var(--contrast-softest);
        transition: 0.4s;
        cursor: pointer;

        &.active {
            height: auto;

            & .active-only {
                display: flex;
            }

            & .static-only {
                display: none;
            }

            & input {
                cursor: text;
            }

            & .action {
                display: flex;
                justify-content: flex-start;
                opacity: 1;
    
                &:hover {
                    width: 68px;
                }
    
                & .confirmation {
                    position: absolute;
                    top: 32px;
                    right: 0px;
                    box-sizing: border-box;
                    padding: 16px;
                    border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
                    background-color: var(--main);
                    transition: 0.6s;
                    opacity: 1;
                    overflow: hidden;
                    z-index: 10;
    
                    & > button {
                        padding: 8px 12px;
                        border: none;
                        border-radius: 6px;
                        color: var(--text-color);
                        font-family: Inter;
                        font-size: 12px;
                        font-weight: 600;
                        text-align: center;
                        cursor: pointer;
                        transition: 0.4s;
    
                        &.delete {
                            background-color: var(--alert-soft);
    
                            &:hover {
                                background-color: var(--alert);
                            }
                        }                    
                        
                        &.close {
                            background-color: var(--theme-soft);
    
                            &:hover {
                                background-color: var(--theme);
                            }
                        }
    
                        &.cancel {
                            background-color: var(--main);
                        
                            &:hover {
                                background-color: var(--main-hard);
                            }
                        }
                    }
                }
            }

            & textarea {
                width: 100%;
                color: var(--text-color)!important;
                font-size: 24px;
                cursor: text;
    
                &.invalid {
                    border-bottom: 1px solid var(--alert);
                }
            }
        }

        &.stable {
            & .action {
                &.save {
                    display: none!important;
                }
            }
        }
    
        &.new {
            & .action {
                &.close {
                    display: none!important;
                }
            }
        }

        & .active-only {
            display: none;
        }

        & .cell {
            box-sizing: border-box;

            & > input {
                max-width: 100%;
                box-sizing: border-box;
                padding: 4px 0;
                border: 1px solid transparent;
                background-color: transparent;
                color: var(--text-color);
                font-family: Inter;
                font-size: 11px;
                font-weight: 700;
                transition: 0.6s;
                cursor: pointer;
            }

            & > .badge {
                box-sizing: border-box;
                padding: 6px 12px;
                border-radius: 4px;
                background-color: var(--theme-soft);
                color: var(--text-color);
                font-family: Inter;
                font-size: 13.5px;
                font-weight: 600;
            }

            & .palette {
                height: 32px;
                width: 32px;
                box-sizing: border-box;
                border-radius: 50%;
                box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
            }
        }

        & .action {
            position: relative;
            display: none;
            height: 24px;
            width: 24px;
            box-sizing: border-box;
            border-radius: 12px;
            margin-left: 8px;
            color: var(--text-color-invert);
            font-family: Inter;
            font-size: 12px;
            font-weight: 600;
            opacity: 0;
            overflow: visible;
            transition: 0.4s;
            cursor: pointer;
    
            &:hover {
                & img {
                    margin-right: 8px;
                }
    
                & span {
                    width: fit-content;
                }
            }
    
            &.save {
                background-color: var(--focus);
            }
    
            &.delete {
                background-color: var(--alert);
            }
    
            &.close {
                background-color: var(--theme-hard);
            }

            & img {
                height: 50%;
                width: auto;
                margin: 0 6px 0 6px;
                transition: 0.6s;
                cursor: pointer;
            }
    
            & span {
                width: 0px;
                overflow: hidden;
                transition: 0.7s;
            }
        }

        & .text-xs {
            font-size: 10px!important;
        }
    
        & .text-sm {
            font-size: 11px!important;
        }
    
        & .text-base {
            font-size: 12px!important;
        }
    
        & .text-md {
            font-size: 14px!important;
        }
    
        & .text-lg {
            font-size: 18px!important;
        }
    
        & .text-xl {
            font-size: 24px!important;
        }
    
        & .text-xxl {
            font-size: 32px!important;
        }
    
        & .text-xxxl {
            font-size: 40px!important;
        }

        & textarea {
            display: block;
            max-width: 100%;
            height: 200px;
            box-sizing: border-box;
            padding: 4px 0;
            border: 1px solid transparent;
            background-color: transparent;
            color: var(--text-color);
            font-family: Inter;
            font-size: 11px;
            font-weight: 700;
            transition: 0.6s;
            resize: none;
            cursor: pointer;
        }
    }
}